Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Tormentor667

ZDoom - New Monsters without overwriting existing one?

Recommended Posts

There are two ways:

1) As you probably already know, you can now spawn Hexen or Heretic creature in Doom. You can use your own custom sprites for them, but not alter their behaviour.

2) Add all the existing Doom decorations you want to use to the new DECORATE lump, and then use their thing ids and frames for your new monsters.

Share this post


Link to post

Hehe :D Thx alot for information number one :D This is amazing :)

Now another question: How can I add them with my level editor? Which version of ZDoom 2.0 does support this nice feature? Is there anywhere a list of thing ids for Heretic/Hexen things?

Share this post


Link to post

PS: What about Heretic Weapons in ZDoom?! Let's say, I insert the crossbow of Heretic in my Doom map and if I take it, it is number 3 of my "3" weapones (shotgun, supershotgun & crossbow :))

Share this post


Link to post

The way you get non game enemies (and other items) into your doom games is by using the spawnspot script command. It has the format

Spawnspot ("ActorName", tid, tid2, angle)

(case sensitive)

eg

Spawnspot ("Chicken", 2, 3, 64);

Will spawn a Heretic chicken at tid 2, give it a tid of 4 and it will be facing North. This needs a recent Zdoom 2.0 pre release.

You have to be careful to amke sure there is enough room around your map spots. Items too close to a wall or other items will not spawn.

If you want to pop along to my tripod site and scrol down to the bottom, you can download a little file that shows something you may be interested in. It was actually done to show how to make the Doom Plasma gun into a freeze weapon, but required the spawning of Hexen ettins (changed to look like Doom demons) into a doom game. I don't think I put any explanation in the file, but if there is something you are not clear about, just e-mail me or ask here.

If you need a list of all actor names in Zdoom, type

dumpclasses actor

at the console. You are best to type

logfile log.txt

before hand to capture the console output to a text file.

For items created using the decorate lump, you assign your own edit numbers to these items. You will need an editor that either allows you to define new entries for your thing menus, or will let you put in thing numbers directly, regardless oth whether the editor "knows" what the number refers to. DeePSea allows either method, dunno about others.

As well as being placeable in a map using an editor, items created by the decorate lump can also be spawned in game using spawnspot with the actor names you give them in your decorate lump.

Share this post


Link to post

Just one more question:

1.) Why does this "spawnspot" command have two thing ids?

2.) Do Heretic Weapons replace doom weapons or were they just put in the number slot, you can scroll through!?

Oh.. sorry, were two questions :D

Share this post


Link to post

One more thing: I found the following sheet:

// Heretic's spawnable things (used for thingcount() and thing spawners)
#define T_NONE 0
#define T_SABERCLAW 1
#define T_CLINK 1
#define T_MUMMYLEADER 2
#define T_BEAST 3
#define T_MUMMY 4
#define T_IMP 5
#define T_KNIGHT 6
#define T_IMPLEADER 7
#define T_FIREIMP 7
#define T_MUMMYGHOST 8
#define T_MUMMYLEADERGHOST 9
#define T_IMPFIREBALL 10
#define T_WANDCRYSTAL 11
#define T_GOLDWANDAMMO 11
#define T_CRYSTALGEODE 12
#define T_GOLDWANDHEFTY 12
#define T_MORPHOVUM 14
#define T_EGG 14
#define T_WINGSOFWRATH 15
#define T_FLY 15
#define T_CHAOSDEVICE 18
#define T_TELEPORT 18
#define T_WIZARD 19
#define T_IRONLICH 20
#define T_BRIGE 21
#define T_CRYSTALVIAL 23
#define T_QUARTZFLASK 24
#define T_HEALTH 24
#define T_MYSTICURN 25
#define T_SUPERHEALTH 25
#define T_CROSSBOW 27
#define T_DRAGONCLAW 28
#define T_BLASTER 28
#define T_PHOENIXROD 29
#define T_HELLSTAFF 30
#define T_SKULLROD 30
#define T_GAUNTLETS 32
#define T_ARROWS 33
#define T_CROSSBOWAMMO 33
#define T_QUIVER 34
#define T_CROSSBOWHEFTY 34
#define T_MACESPHERES 35
#define T_MACEAMMO 35
#define T_BIGMACESPHERES 36
#define T_MACEHEFTY 36
#define T_CLAWORB 37
#define T_BLASTERAMMO 37
#define T_ENERGYORB 38
#define T_BLASTERHEFTY 38
#define T_MORPHBLAST 40
#define T_ROCK1 41
#define T_ROCK2 42
#define T_ROCK3 43
#define T_DIRT1 44
#define T_DIRT2 45
#define T_DIRT3 46
#define T_DIRT4 47
#define T_DIRT5 48
#define T_DIRT6 49
#define T_SILVERSHIELD 68
#define T_ENCHANTEDSHIELD 69
#define T_TIMEBOMB 72
#define T_TORCH 73
#define T_BLUEKEY 85
#define T_GREENKEY 86
#define T_YELLOWKEY 87
#define T_SOUNDWIND 110
#define T_SOUNDWATERFALL 111
#define T_BEASTFIREBALL 120
#define T_FEATHER 121
#define T_CHICKEN 122
#define T_VOLCANOBLAST 123
#define T_VOLCANOTBLAST 124
#define T_POD 125
#define T_PODGENERATOR 124
#define T_GREENAXE 127
#define T_REDAXE 128
#define T_KNIGHTGHOST 129
#define T_BLOOD 130
#define T_MUMMYSHOT 131
#define T_OPHIDIAN 132
#define T_SNAKE 132
#define T_INVINCIBILITY 133
#define T_INVULNERABILITY 133
#define T_TOMEOFPOWER 134
#define T_SHADOWSPHERE 135
#define T_INVISIBILITY 135
#define T_BAGOFHOLDING 136
#define T_MAPSCROLL 137
#define T_SNAKEPROJA 138
#define T_SNAKEPROJB 139
#define T_WIZARDSHOT 140
#define T_BOSSSHOT 141
#define T_SORCERER1 142
#define T_SORCERER2 143
#define T_CHAOSFIREBALL 144
#define T_SORCERERSHOT1 145
#define T_SORCERERSHOT2 146
#define T_CROSSBOWSHOT1 147
#define T_CROSSBOWSHOT2 148
#define T_CROSSBOWSHOT3 149
#define T_VOLCANO 150
#define T_WANDSHOT1 151
#define T_WANDSHOT2 152
#define T_MACESHOT4 153
#define T_MACESHOT1 154
#define T_MACESHOT3 155
#define T_MACESHOT2 156
#define T_RIPPER 157
#define T_LESSERRUNES 158
#define T_SKULLRODAMMO 158
#define T_GREATERRUNES 159
#define T_SKULLRODHEFTY 159
#define T_SKULLRODSHOT 160
#define T_FLAMEORB 161
#define T_PHOENIXRODAMMO 161
#define T_INFERNOORB 162
#define T_PHOENIXRODHEFTY 162
#define T_PHOENIXRODSHOT 163
#define T_ICEBALL 164
#define T_WHIRLWIND 165
#define T_REDGLITTERGEN 166
#define T_BLUEGLITTERGEN 167

If I now change the thing numbers behind the things and put this text in my acs script, can I add the monsters with the thingspawn command?

Share this post


Link to post

1.) Why does this "spawnspot" command have two thing ids?


The first one is the tid of the mapspot where the item will spawn, the second will be given to the spawned item in case you need it to have a tid. You can use that for all the usual things you use a tid for, including giving the item itself a special via a script.

2.) Do Heretic Weapons replace doom weapons or were they just put in the number slot, you can scroll through!?

They are in addition to the doom ones. You can use a config file to allocate them to keys. I forget the syntax ATM. LilWhiteMouse is very familiar with this, and knows the best way to do it (IIRC there are 2 main options).

I think that list of spawnable items will only work if you are running a Heretic game in Zdoom. In Doom, most of those numbers will already have corresponding things, and so my guess is that the doom item corresponding to the number should spawn in a doom game.

Share this post


Link to post
Tormentor667 said:

Thx, but if I give other numbers to the things, numbers which aren't already in use... will this work?


If I understand you right, I think the answer is no.

The way I understand how defines work is that the numbers are fixed, but the descriptions are added to make life easier for the person writing the script. At least that's what I think is going on. The following is simply based on my understanding, and could be wrong.


You can use the numbers directly in thing_spawn, or the defined names.

So

Thing_Spawn (tid, T_AMMOBOX, angle);

Will do exactly the same as

Thing_Spawn (tid, 139, angle);

(In zdefs.acs there is this line #define T_AMMOBOX 139)

But if you wanted to make up your own name and add it, eg

#define T_BOOGIEBOX 139

Then you could also use

Thing_Spawn (tid, T_BOOGIEBOX, angle);

To spawn a box of bullets.

I'm pretty sure it's the number that is important, not the name. The name is there for convenience, and really could be defined as anything you want (although sticking to the existing ones makes sense purely from a standardisation point of view).

Numbers cannot be added via zdefs.acs because the thing name would only be a scripting convention, and the number would be passed to Zdoom. Without Randy adding the number to the Zdoom code, it would not be recognised.

Anyone able to confirm or correct any of that?

Share this post


Link to post

Anyone able to confirm or correct any of that?



Yes, this is absolutely correct. The names are merely constants that represent the numbers.
Which means that you cannot spawn Heretic or Hexen items with this command in Doom and vice versa.
When you use an old Hexen ACS-decompiler on a ZDoom script you even get the Hexen names back, not the Doom names.

The spawnspot command seems to be the only option to do this.

Share this post


Link to post

Ok, fine, I got my monsters/weapons into my game. Now another question: If I collect a Heretic weapon browse through all my weapons (next weapon, previous weapon) I can't get it anymore. Can I bind it with a key in some way?

Another question is: How can I add some flags to my heretic monsters? For example translucentness, floating, flying, self-lightning, etc.?

Share this post


Link to post

Thanks Graf Zahl.

A new name (to me anyway). New around here, or just a name change?

Share this post


Link to post

Unfortunately, ZDoom doesn't support HerHackEd files, so there's no way of doing those things AFAIK. You have to suit your new monsters to the behaviour of the monster they're replacing.

Share this post


Link to post

If I collect a Heretic weapon browse through all my weapons (next weapon, previous weapon) I can't get it anymore. Can I bind it with a key in some way?


Yes, I think the best way is to use addslot in a config file, or at the console. I just copied this from a file LilWhiteMouse posted yesterday

addslot 1 FWeapFist
addslot 1 FWeapAxe

I think if you use addslot 8, it will put the weapon on key 8 etc.

How can I add some flags to my heretic monsters? For example translucentness, floating, flying, self-lightning, etc.?

You can't. You have to accept the Heretic and Hexen monsters as they are. There is no dehacked/hhe/hex style support for Heretic or Hexen in Zdoom. All you can do is remember that many enemies have variants.

eg Heretic mummies come in 4 flavours: Standard, Shooting, Translucent and Translucent shooting, Hexen Centaurs have a shooting and non shooting variety etc.

Or you could also change the colour of enemies by using the translation options via a script and recolouring special enemies on an enemy by enemy basis. See the following file as an example:

http://zdoom.notgod.com/ftp/examples/translation.zip

Cybs recent Zort08 made extensive and effective use of this feature.

Edit: This was being typed whilst NiGHTMARE was posting :-P

Share this post


Link to post
Enjay said:

[B]Or you could also change the colour of enemies by using the translation options via a script and recolouring special enemies on an enemy by enemy basis. See the following file as an example:

http://zdoom.notgod.com/ftp/examples/translation.zip

Cybs recent Zort08 made extensive and effective use of this feature.


And so did my Licence to Spell DooM, with that enhanced green demon.
(replacing the spectre)

Share this post


Link to post

I know, I played both of your maps :D Now I'm looking for alternate new monsters because Heretic in ZDoom isnt the real thing :( From where can I get modified origininal doom monster sprites? (plz not epidermis emporium)

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
×