Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
doomygecko

Extremely noobish DECORATE question.

Recommended Posts

Hey, ok so i've never used decorate before and I need to know a couple of things.

First off, do you need an entire code or just for what you're editing (making a monster attack melee only and have a more powerful attack)

And second, how wxactly do you get the decorate lump into the wad, I know you use XWE but do you do it before or after the mapp is done, if you do it after, how am I going to test it with the modified monsters and weapons while in ddom builder?

Thanks in advance.

Share this post


Link to post

(skip the first four steps if you've already got a map made)

open Doom Builder
create New Map
save the map and remember what you named it
Close Doom Builder (a wad can't be open in DB and XWE at the same time)
go to XWE
open the wad you just created
Go to Entry->New, create a lump called DECORATE, and write your code in it
The DECORATE lump can be above or below your map, just make sure it's not in between the map lump parts (use Ctrl+U or Ctrl+D to move).
Now close XWE and open this wad in Doom Builder
In your Things menu there should be a section called DECORATE. Your DECORATE objects should be in there (there won't be a picture for them but don't worry, put it in your map anyway)

The topics on this page should help with writing the code itself.

Share this post


Link to post
doomygecko said:

First off, do you need an entire code or just for what you're editing (making a monster attack melee only and have a more powerful attack)

Just what you're editing, if you're simply modifying an existing actor (be it a monster, a weapon, a decoration, or whatever else).

There's a good example of that on Torm's "Beastiary": it's the "super imp".

Here's the full imp code (from zdoom.pk3):

ACTOR DoomImp 3001
{
	Game Doom
	SpawnID 5
	Health 60
	Radius 20
	Height 56
	Mass 100
	Speed 8
	PainChance 200
	Monster
	+FLOORCLIP
	SeeSound "imp/sight"
	PainSound "imp/pain"
	DeathSound "imp/death"
	ActiveSound "imp/active"
	HitObituary "$OB_IMPHIT"
	Obituary "$OB_IMP"
	States
	{
	Spawn:
		TROO AB 10 A_Look
		Loop
	See:
		TROO AABBCCDD 3 A_Chase
		Loop
	Melee:
	Missile:
		TROO EF 8 A_FaceTarget
		TROO G 6 A_TroopAttack 
		Goto See
	Pain:
		TROO H 2
		TROO H 2 A_Pain
		Goto See
	Death:
		TROO I 8
		TROO J 8 A_Scream
		TROO K 6
		TROO L 6 A_NoBlocking
		TROO M -1
		Stop
	XDeath:
		TROO N 5
		TROO O 5 A_XScream
		TROO P 5
		TROO Q 5 A_NoBlocking
		TROO RST 5
		TROO U -1
		Stop
	Raise:
		TROO MLKJI 8
		Goto See
	}
}
It's quite lengthy and it defines a lot of stuff that you might not want to change. So, here's the definition of the super imp:
ACTOR SuperImp : DoomImp 3133
{
	PainChance 50  
	Obituary "%o was shocked by the imp's superior firepower."
	States
	{
	Melee:
	Missile:
		IMP3 A 8 A_FaceTarget
		IMP3 B 8 A_FaceTarget
		TROO G 8 A_BruisAttack
		Goto See
	}
}
As you can see, it's considerably smaller. All the stuff that isn't declared in the SuperImp's code is simply inherited from the DoomImp. (And what's not declared in the DoomImp's code is in turn inherited from Actor.)

In this way, DECORATE is an object-oriented language: it features inheritance heavily, classes and instances, methods if you consider states to be akin to functions... Of course that comparison won't go very much farther than that; but keep it in mind anyway. Too often newbies think they have to copy everything and neglect to use inheritance.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×