Mercurial > hg > early-roguelike
comparison arogue7/fight.c @ 132:66b0263af424
arogue7: prevent segfaults when backstabbing while empty-handed.
The calculation of the backstabbing multiplier checked the current
weapon's properties without making sure the current weapon pointer was
not NULL.
| author | John "Elwin" Edwards |
|---|---|
| date | Tue, 12 May 2015 18:57:30 -0400 |
| parents | b786053d2f37 |
| children | 1cd604c827a3 |
comparison
equal
deleted
inserted
replaced
| 131:796e2a10cd41 | 132:66b0263af424 |
|---|---|
| 636 (weap && att != &pstats && on(*att_er, CANBSTAB))) { | 636 (weap && att != &pstats && on(*att_er, CANBSTAB))) { |
| 637 int mult = 2 + (att->s_lvl-1)/4; /* Normal multiplier */ | 637 int mult = 2 + (att->s_lvl-1)/4; /* Normal multiplier */ |
| 638 | 638 |
| 639 if (mult > 5) | 639 if (mult > 5) |
| 640 mult = 5; | 640 mult = 5; |
| 641 if (weap->o_type == RELIC && weap->o_which == MUSTY_DAGGER) | 641 if (weap && weap->o_type == RELIC && |
| 642 weap->o_which == MUSTY_DAGGER) | |
| 642 mult++; | 643 mult++; |
| 643 damage *= mult; | 644 damage *= mult; |
| 644 } | 645 } |
| 645 if (att == &pstats) { | 646 if (att == &pstats) { |
| 646 if (cur_weapon && (cur_weapon->o_flags & ISPOISON)) { | 647 if (cur_weapon && (cur_weapon->o_flags & ISPOISON)) { |
