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

stop monsters from dropping items?

Recommended Posts

How can you stop a monster from dropping an item? This is for a zdoom compatible map and I don't want the zombiemen and shotgunguys to drop items when they die.

Share this post


Link to post

You can use WhackEd or DECORATE or something similar to unflag item dropping for any enemies you want to. More helpful info, of course, can be found at the ZDoom Wiki.

Share this post


Link to post

The only way to do it in DeHackEd is to give the dropped item the NOSECTOR flag. Of course, this makes all placed versions of the item invisible and ungettable. Some weapon swapping can fix this (for the shotgun and chaingun), but you'll be at least one weapon short.

Why not take a decoration and make it a duplicate of the zombie in question? It shouldn't drop the item/weapon, and it leaves the item in question open for placing in the map.

ZDoom however, there should be a way of disabling it with DECORATE. So that's probably the easier solution.

Share this post


Link to post

For vanilla Doom, Dehacked comes with a dhefun12.txt which explains how to modify whatever the monsters drop.

Alternatively you can swap the monster slots with other, unused things in Dehacked, but I don't recommend it, because some slots are hard-coded.

Share this post


Link to post

The only downside with the decoration monsters seems to be that archviles can't revive them, but that's not a biggie.

Edit: This post is fiction.

Share this post


Link to post

You probably need to set a certain flag (or combination of) in DECORATE. I'm pretty sure reviving custom monsters with an Archvile is a hard thing to overlook, development-wise. Do they have a resurrect state defined?

Share this post


Link to post
TimeOfDeath said:

The only downside with the decoration monsters seems to be that archviles can't revive them, but that's not a biggie.

Really? Actually they can. I designed a Red Imp that replaced a Doom 2 thing and (with its own new ID #) I put it in Doom 1. Another similar monster, a Demilich, was truly able to resurrect him. Resurrection has something to do with "Sliding helpless" and -1 frame duration, not thing index. Monsters acquire that flag when killed.

Share this post


Link to post

Sorry, I meant when making a monster out of a decoration in dehacked. But I was still wrong because I didn't add a respawn frame, sorry. :/

Share this post


Link to post

For Decorate, you just have to do something like:

Actor Zombieman2 : Zombieman replaces Zombieman
{
DropItem "", 0
}

Share this post


Link to post

For "classic" doom engines the pickup gives the player ammo/health etc depending on the name of the sprite (it's a Switch statment in the code) but what the monsters drop is done on item ID.

To change these around with dehacked you'd have your own transparent sprite assigned to the original clip,shotgun,chaingun item ID's and create new pickups from spare decorations (e.g. stumpy tree) by changing it's flags and assigning it one of the sprites.

I did this in my Scimitar 20-level wad along with some wild sprite swapping to create a Former Human that dropped nothing (which used to be a Pain Elemental) and a Super-Shotgun Seargent that dropped the SSG instead (which used to be the Former Human and Clip, respectively).

Then you can create your own Doom Builder game config to switch the item id's back around so that when editing it all looks normal. A fair amount of work and with very limited options, but interesting possibilities too.

Share this post


Link to post

Interesting and useful information there, but sadly some ports don't get this right and it's screws up compatibility. I was surprised to learn that ZDoom actually got this right, and another more classic, yet unnamed port got this wrong. I felt sort of stupid reporting it as a bug, but at least I learned something.

Anyways, interesting things can be done with swapping items. You could for instance, create a powerup that cycles through all of the different spheres, by having each frame in the item iterate through different powerup frames. What is important in determining which object an item actually is, is the name of the sprite for a given frame, as mentioned.

DeHackEd is so much more powerful than people give credit. Not to mention the shit you can do with Boom extensions.

Share this post


Link to post

If "unnamed port" is Doomsday do please report the problem so that we can look into fixing it. I know Doomsday hasn't traditionally been all too accommodating with regard to "advanced" mods but that is one of the main reasons behind me joining the development team as I intend to rectify the situation.

Share this post


Link to post

It's not. I already reported the bug to said port, but I don't think the issue was even taken into consideration. Not my problem anymore.

Share this post


Link to post

You don't have to protect them by not mentioning them. Just bring them out loud, they deserve to be known if they can't achieve something.

Share this post


Link to post

try removing the +floorclip tag

go into zdoom.pk3 and then actors, doom, and whatever enemy you're trying to edit. copy the text, and create a decorate file within your wad using SLumpEd. paste. remove "+floorclip" and viola

...i think

i never tried it. i was just perusing these files to find out about adding a railgun to a random character

i'm liking earthquake's icon. reminds me of the id dogfish

Share this post


Link to post

Nothing you said will have any effect on weapon dropping. The only thing in DECORATE related to this is 'Dropitem'.

Share this post


Link to post
Dogfish said:

try removing the +floorclip tag ...i think.

Has no effect on item drops.

From the ZDoom wiki-

FLOORCLIP
Actor's lower part is clipped when standing in a sector with a liquid texture (defined in the TERRAIN lump).

Share this post


Link to post

This is an example for Zombieman.

It's been a while since I used DECORATE but I did once use it to make a monster in a wad called "Shitland" (this was back in 2005).

Make a monster called "NewZombieMan" like this:

actor NewZombieMan 3009 : ZombieMan {
DropItem None
}

Spawn NewZombieMan instead of the regular Zombieman. They should drop nothing now and act like Zombiemen. There's so much you can do with DECORATE (you can basically make a monster, weapon, or item do anything you want that's within the limits of ZDoom).

http://zdoom.org/wiki/ZombieMan
http://zdoom.org/wiki/DECORATE


EDIT: Monster's that are raisable have a raise state.
Raise:
BOSS ONMLKJI 8
goto See


This makes the actor look like frame BOSSO, BOSSN, BOSSM, BOSSL, BOSSK, BOSSJ, and BOSSI, and waits 8 tics before changing (resurrections happen quick, but don't happen instantly!)

Then the monster goes into the See state, just like it would if it finds you.

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
×