|Anonymous | Login||2020-06-01 07:01 CEST|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0008882||[DCSS] Bug Report||major||have not tried||2014-08-18 01:53||2014-09-03 00:30|
|Status||resolved||Product Branch||0.15 ancient branch|
|Summary||0008882: apply_berserk_penalty rules are inconsistent|
If you melee a monster via _move_player() path, you set apply_berserk_penalty to false AND set berserk_penalty to 0.
If you melee a monster via _untrap_monster() path, you set berserk_penalty to 0 but DON'T set apply_berserk_penalty to 0.
The thing is, if you ended a berserk doing attacks or butcherings, you should never pass out from exhaustion, but if you end it doing anything else, you have a chance to pass out (player-reacts.cc ctrl+f for "You pass out from exhaustion".)
Worse, it's very hard for a player to notice this bug - since you only see a message warning you that your berserk_penalty is incrementing if it reaches 2, but repeatedly attacking via _untrap_monster() will make it go to 1, 1, 1...
making you vulnerable to passing out AND making your berserk end faster. (_do_berserk_no_combat_penalty(void), mprf(MSGCH_DURATION, "You feel a strong urge to attack something.");, main.cc)
Attacking a monster via both code paths should be essentially the same - so both of them should set apply_berserk_penalty to 0 so it doesn't increment.
This will be a very easy one line fix.
|Tags||No tags attached.|
|2014-08-18 01:53||Patashu||New Issue|
|2014-09-03 00:30||wheals||Note Added: 0027142|
|2014-09-03 00:30||wheals||Status||new => resolved|
|2014-09-03 00:30||wheals||Fixed in Branch||=> 0.16 development branch|
|2014-09-03 00:30||wheals||Resolution||open => done|
|2014-09-03 00:30||wheals||Assigned To||=> wheals|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|