diff --git a/attack.cpp b/attack.cpp index f8d613bf..b2731910 100644 --- a/attack.cpp +++ b/attack.cpp @@ -503,6 +503,7 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) { } if(items[itSavedPrincess] == 0 && !inv::on) { items[itOrbLove] = 0; + changes.value_keep(princess::reviveAt); princess::reviveAt = gold(NO_LOVE) + 20; } } diff --git a/items.cpp b/items.cpp index e33bb7e4..59e3509f 100644 --- a/items.cpp +++ b/items.cpp @@ -270,7 +270,7 @@ EX bool collectItem(cell *c2, bool telekinesis IS(false)) { if(numOrb) achievement_count("ORB", numOrb, 0); if(princess::reviveAt && gold(NO_LOVE) >= princess::reviveAt && !inv::on) { - princess::reviveAt = 0, + changes.value_set(princess::reviveAt, 0); items[itSavedPrincess] = 1; addMessage("You have enough treasure now to revive the Princess!"); }