mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-02 05:20:32 +00:00
fixed a crash when jumping on an Orb of Safety
This commit is contained in:
parent
ef7a8b6f76
commit
c117b0e2d0
12
orbs.cpp
12
orbs.cpp
@ -597,10 +597,16 @@ void jumpTo(cell *dest, eItem byWhat, int bonuskill, eMonster dashmon) {
|
|||||||
flipplayer = true;
|
flipplayer = true;
|
||||||
}
|
}
|
||||||
countLocalTreasure();
|
countLocalTreasure();
|
||||||
|
|
||||||
sword::reset();
|
sword::reset();
|
||||||
stabbingAttack(c1, dest, moPlayer, bonuskill);
|
stabbingAttack(c1, dest, moPlayer, bonuskill);
|
||||||
playerMoveEffects(c1, dest);
|
playerMoveEffects(c1, dest);
|
||||||
|
|
||||||
|
// do not apply movecost later, when from no longer exists
|
||||||
|
if(cwt.at->item == itOrbSafety) {
|
||||||
|
movecost(from, dest, 2);
|
||||||
|
from = NULL;
|
||||||
|
}
|
||||||
if(cwt.at->item != itOrbYendor && cwt.at->item != itHolyGrail)
|
if(cwt.at->item != itOrbYendor && cwt.at->item != itHolyGrail)
|
||||||
collectItem(cwt.at, true);
|
collectItem(cwt.at, true);
|
||||||
|
|
||||||
@ -609,8 +615,8 @@ void jumpTo(cell *dest, eItem byWhat, int bonuskill, eMonster dashmon) {
|
|||||||
for(int i=9; i>=0; i--)
|
for(int i=9; i>=0; i--)
|
||||||
setdist(cwt.at, i, NULL);
|
setdist(cwt.at, i, NULL);
|
||||||
|
|
||||||
movecost(from, dest, 2);
|
if(from) movecost(from, dest, 2);
|
||||||
|
|
||||||
createNoise(1);
|
createNoise(1);
|
||||||
|
|
||||||
if(shmup::on)
|
if(shmup::on)
|
||||||
|
Loading…
Reference in New Issue
Block a user