A way to prevent blood stains?

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).
AuthorTopic: A way to prevent blood stains?
Apprentice
Member # 4258
Profile #0
Hi,

I need a way to make it so a monster does not leave behind a blood stain when it dies (or any other type of stain). The only way around this that I can think of is to have the creature's death state use the erase_creature call, but then the death animation wouldn't play. I've tried using "put_stain_on_space(my_loc_x, my_loc_y, -1);" in its death state to erase the stain, but that doesn't work because the engine calls it immediately before killing the creature rather than after.

Any suggestions on how to get around this?
Thanks.
Posts: 28 | Registered: Wednesday, April 14 2004 07:00
Off With Their Heads
Member # 4045
Profile Homepage #1
While we're waiting for a better answer...

You could have the monster set an SDF, and then put in the town's START_STATE that if the monster is dead, use the call to erase the blood. You can save its death coordinates in SDFs too, if necessary.

--------------------
Arancaytar: Every time you ask people to compare TM and Kel, you endanger the poor, fluffy kittens.
Smoo: Get ready to face the walls!
Ephesos: In conclusion, yarr.

Kelandon's Pink and Pretty Page!!: the authorized location for all things by me
The Archive of all released BoE scenarios ever
Posts: 7968 | Registered: Saturday, February 28 2004 08:00
Shock Trooper
Member # 4180
Profile #2
If there's a better answer than that one, I don't know what it would be. Either that or have the DEAD_STATE send a message to a terrain script that breaks out a mop and cleans up any nearby stains.

I don't think you'll find a way to prevent the stain. The best I think you can hope for is to remove it as quickly as possible once it's there.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Infiltrator
Member # 3040
Profile #3
Hmm... maybe you could try playing around with the species? (listed on page 58 of the appendices) Maybe some will give you different remains. "Other," perhaps?

--------------------
5.0.1.0.0.0.0.1.0...
Posts: 508 | Registered: Thursday, May 29 2003 07:00
Apprentice
Member # 4258
Profile #4
quote:
Originally written by wz. arsics:

Hmm... maybe you could try playing around with the species? (listed on page 58 of the appendices) Maybe some will give you different remains. "Other," perhaps?
I've tried testing it with all the different species types, and they all leave behind some kind of "stain", usually blood.

quote:
Originally written by Kelandon:


You could have the monster set an SDF, and then put in the town's START_STATE that if the monster is dead, use the call to erase the blood.

I'll probably use this if I can't figure out a better way. The problem with this is that the blood would stay around until the end of the turn. If possible, I would like to have it removed as soon as it is placed, or stop it from appearing at all, so that the player never sees it.

What I'm trying to do is create a sea monster type enemy that travels through water terrain. I've got it working rather well, except that when it dies the blood spots appearing on top of the water look really out of place.
Posts: 28 | Registered: Wednesday, April 14 2004 07:00
Warrior
Member # 4278
Profile Homepage #5
maybe the blood is "dissolving" into the water at the end of the turn...

--------------------
Pathological Jerk
Jerking at Spiderweb since 1999
Posts: 143 | Registered: Sunday, April 18 2004 07:00
Shock Trooper
Member # 4180
Profile #6
The method of sending a message to a terrain script should erase the stains at the end of the current turn, rather than at the beginning of the next turn (I'm fairly certain I remember reading that messages are handled at the very end of the current turn). I think that'll get you closer to what you're wanting.

The terrain script can just sit somewhere out of the way... doesn't need to be "on" the terrain where it's needed. When it gets the message to go into action, it can either just cycle through the water squares removing stains, or use the trick of the dying monster recording it's x and y in SDFs so the terrain script knows just where to act.

A bit of a hack, but I think it'd be pretty close to what you're after. The blood will at least dissipate into the water more quickly than waiting for the player's next action.

--------------------
-spyderbytes
Posts: 200 | Registered: Wednesday, March 31 2004 08:00
Apprentice
Member # 4258
Profile #7
quote:
Originally written by spyderbytes:

The method of sending a message to a terrain script should erase the stains at the end of the current turn, rather than at the beginning of the next turn (I'm fairly certain I remember reading that messages are handled at the very end of the current turn). I think that'll get you closer to what you're wanting.

Ah ha, it worked! The player now only sees the stain for a brief moment after it dies. It's not perfect, but it's close enough. Thanks for the tip.
Posts: 28 | Registered: Wednesday, April 14 2004 07:00