[Fixed] Killing yourself in E1M8's death chamber [.96]

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
Bashe
Posts: 1680
Joined: Mon Nov 10, 2003 11:32 am
Location: Ohio
Contact:

[Lock up] Killing yourself in E1M8's death chamber [.96]

Post by Bashe »

This is probably one of those "don't do it" scenarios, but it caused my computer to lock.

Go to E1M8. Go to the last room (where you have to die) and then type kill. The game should completely lock up, leaving you to ctrl-alt-delete to escape.

You probably aren't supposed to die in there, so maybe that's why it locks.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Confirmed.
User avatar
Kirby
Posts: 2697
Joined: Thu Aug 26, 2004 1:23 pm

Post by Kirby »

Same here (except in .93)
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

Fixed.

Trivia: That sector type actually prevents you from receiving damage that takes your health below 1, so you cannot truely die on it.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

A classic endless loop. The sector doesn't allow the player to die and the function cht_Suicide tries to kill the player until he is dead (which he never will be in this special sector!)


EDIT: (too late again! :()
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

You could say that this sector lets the player have a near-death experience. :-)
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

So how'd you fix it? I assume by changing cht_Suicide so that if the player is in such a sector it takes him to 1 point of health instead of killing him?

BTW, a sector type of "Player Can't Die" might be a nice addition to the game. It would be exactly like this sector type but wouldn't do damage to the player and wouldn't trigger a special event (unless you wanted it to?) when the player hit 1% health.
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

Perhaps a thing that, when placed in a sector, would execute its special when the player's health would reach 0 within that sector?
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

If the "Player Can't Die" sector was added, you could then just have a looping script that watches the player's health and does something special when it's equal to 1%. Trigger the script when the player enters the sector in question, and kill it when he leaves, and you've got a completely customizable version of the E1M8 death sector special. :)
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

If the "Player Can't Die" sector was added, you could then just have a looping script that watches the player's health and does something special when it's equal to 1%. Trigger the script when the player enters the sector in question, and kill it when he leaves, and you've got a completely customizable version of the E1M8 death sector special.
You can do the same with an actor thing, as well. Give the sector a normal damage special, put one of those things in that calls a script (or the endlevel special directly), and voila. If you still want the player to die, make the script remove the thing, kill the player, and optionally respawn it.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

I don't think you understand. The sector type would PREVENT the player from dying, it wouldn't attempt to MAKE them die. In other words, you could stand in the sector and get your ass kicked by a cyberdemon, 4 spiderdemons, and 17 cacos, and so long as you remain in the sector your health would never drop below 1%. This could be used for some interesting gameplay effects.

Examples:

1) Think of every console game you've played in which you have some epic battle early on and are meant to get your ass handed to you. When your health hits 1%, you could trigger a script to run the appropriate (friend comes to save you/enemy taunts you and leaves/whatever) cutscene and continue you on your merry way. The sector special would prevent the player from dying accidentally.

2) Custom death. Don't like the way the player dies? Script your own! Death sequences could be different depending on where (and possibly how) the player "dies".
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

The sector type would PREVENT the player from dying, it wouldn't attempt to MAKE them die. In other words, you could stand in the sector and get your ass kicked by a cyberdemon, 4 spiderdemons, and 17 cacos, and so long as you remain in the sector your health would never drop below 1%. This could be used for some interesting gameplay effects.
Yeah, the same with the thing. The sector the thing is in wouldn't actively try to kill the player, but it would prevent the player's health from going below 1%. Plus, when your health *tries* to go below 1% (but it wouldn't succeed in doing so), it activates its special.

But, you could use that thing with an end-level special in conjunction with a normal damaging sector type to emulate the end of E1M8.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Hmmm, I see what you mean. OK, we'll go with that suggestion. :P
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Chris wrote:
The sector type would PREVENT the player from dying, it wouldn't attempt to MAKE them die. In other words, you could stand in the sector and get your ass kicked by a cyberdemon, 4 spiderdemons, and 17 cacos, and so long as you remain in the sector your health would never drop below 1%. This could be used for some interesting gameplay effects.
Yeah, the same with the thing. The sector the thing is in wouldn't actively try to kill the player, but it would prevent the player's health from going below 1%. Plus, when your health *tries* to go below 1% (but it wouldn't succeed in doing so), it activates its special.

But, you could use that thing with an end-level special in conjunction with a normal damaging sector type to emulate the end of E1M8.

No, it would not. One rocket blast and the player is toast, no matter how much scripting you use to prevent it. The special E1M8 sector actively prevents the player from dying at all while he is in it.
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

No, it would not. One rocket blast and the player is toast, no matter how much scripting you use to prevent it.
The new thing would cause the sector to behave, partially, as that E1M8 special sector.. except it doesn't actively hurt the player and it calls the thing's special instead of implicitly ending the level. If a player has 2% health and takes a rocket right in the face, the thing's special would be called, and if the thing still existed after the special, his health would not go below 1% (this so if the script the thing calls removes the "Protect Player In Sector" object as one of the first things, he could still be killed if the modder wants that). This isn't a scripting trick, this would be a new object ZDoom would explicitly have coded in.
The special E1M8 sector actively prevents the player from dying at all while he is in it.
Putting in one of these special things into a sector would do the same.
Post Reply

Return to “Closed Bugs [GZDoom]”