Fix #H5056/bz1086: Bug in Achievement Recording
Bug report was: > "Completed sokoban" achievement was logged when picking up > a randomly generated bag of holding in the gnomish mines. The picking-up code was missing checks for the branches, so you could get the achievements outside the correct branches.
This commit is contained in:
@@ -513,12 +513,10 @@ struct obj *obj;
|
||||
}
|
||||
set_artifact_intrinsic(obj, 1, W_ART);
|
||||
}
|
||||
if (obj->otyp == LUCKSTONE && obj->record_achieve_special) {
|
||||
if (is_mines_prize(obj) && obj->record_achieve_special) {
|
||||
u.uachieve.mines_luckstone = 1;
|
||||
obj->record_achieve_special = 0;
|
||||
} else if ((obj->otyp == AMULET_OF_REFLECTION
|
||||
|| obj->otyp == BAG_OF_HOLDING)
|
||||
&& obj->record_achieve_special) {
|
||||
} else if (is_soko_prize(obj) && obj->record_achieve_special) {
|
||||
u.uachieve.finish_sokoban = 1;
|
||||
obj->record_achieve_special = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user