Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
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
Reporter Patashu View Status public  
Assigned To wheals
Priority normal Resolution done  
Status resolved   Product Branch 0.15 ancient branch
Summary 0008882: apply_berserk_penalty rules are inconsistent
Description 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 ( 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.");,

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.
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
wheals (administrator)
2014-09-03 00:30

Should be fixed in trunk and 0.15.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker