Custom pain chances and suppress pain state

Moderator: GZDoom Developers

User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Custom pain chances and suppress pain state

Post by Anakin S. »

With custom damage types there will be custom pain and death states. So why not have custom pain chances? For example, there could be a tazer gun that is used to disorient enemies. It doesn't do very much damage but always makes an archvile or other monster go to the pain state, whereas a normal gun would almost never make an archvile go into the pain state.

Also, could there be a code pointer to suppress pain so that whenever an actor is attacked while in this frame, it doesn't enter the pain state? This could be used for enemies like the berserker in quake 2 which get knocked over when hit by something powerful and take some time to get up. If they continue getting attacked while getting up and enter the pain state each time, they'll never be able to fight back. It's also implicitly used for lost soul charging because if hit in midcharge, the lost soul won't enter the pain state even though it has a 256 pain chance.
Last edited by Anakin S. on Tue Dec 26, 2006 1:41 am, edited 1 time in total.
ant1991331
Posts: 598
Joined: Fri Jun 24, 2005 3:19 am
Location: Makin tracks with jetboots

Re: Custom pain chances

Post by ant1991331 »

Anakin S. wrote:With custom damage types there will be custom pain and death states. So why not have custom pain chances? For example, there could be a tazer gun that is used to disorient enemies. It doesn't do very much damage but always makes an archvile or other monster go to the pain state, whereas a normal gun would almost never make an archvile go into the pain state.
I approve to this idea.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

PainChance.Zap?
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Yeah, that's what I was thinking.
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

I updated the first post with another suggestion: suppress pain state.
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

BUMP

Any news? I think it is useful to have. Any chance it may be implemented?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Anakin S. wrote:BUMP

Any news?

Do you see 2.1.8 anywhere?
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Do you mean you're waiting until 2.1.8 is released?
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia
Contact:

Post by Matt »

Until then, you can have a Pain.Zap state with a zero-length A_Jump that serves as the "real" pain chance for that damage type...
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

The problem with that is that the monster's current sequence is still interrupted, even if it doesn't enter the true pain state. If it's walking, it will stop and restart walking. If it's attacking, it will stop and have to attack again.

I guess it's a good sign that it hasn't been [No]ed...
User avatar
Tormentor667
Posts: 13554
Joined: Wed Jul 16, 2003 3:52 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia (Modern GZDoom)
Location: Germany
Contact:

Post by Tormentor667 »

I like this idea quite alot!
User avatar
Nash
 
 
Posts: 17496
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Post by Nash »

I need this for my RPG.

For example, if this is implemented, I can create a monster that's weak against fire to always enter its pain state when you throw a fire attack to it (and maybe print a message telling the player "it's super effective!").
User avatar
Anakin S.
Posts: 1067
Joined: Fri Nov 28, 2003 9:39 pm
Location: A long time ago in a galaxy far, far away...

Post by Anakin S. »

Or you could make a centaur killer that is a rapid fire weapon that causes monsters to never enter their pain states so you can kill centaurs in Hexen with ease. If they don't go into their pain states, they won't raise their shields.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Done. Pain chances can be specified per damage type now. If a specific pain chance is set this will override the default. The default painchance will be used for all damage types that don't have a custom pain chance.

For the other request I added a new flag 'NOPAIN'. If this is set the actor won't ever enter the pain state. Use A_ChangeFlag to set/clear it.
User avatar
Nash
 
 
Posts: 17496
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Post by Nash »

No pain no gain. ;)

This is awesome. Thanks Graf.
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”