found_artifact() groundwork
Lay groundwork for generating a log event when finding an artifact on the floor or carried by a monster. This part should not produce any change in behavior. Move g.artidisco[] and g.artiexist[] out of the instance_globals struct back to local within artifact.c. They are both initialized at the start of a game (and only used in that file) so don't need to be part of any bulk reinitialization if restart-instead-of-exit ever gets implemented. Convert artiexist[] from an array of booleans to an array of structs containing a pair of bitfields. artiexist[].exists is a direct replacement for the boolean; artiexist[].found is new but not put to any significant use yet. If will be used to suppress the future found-an-artifact event for cases where a more specific event (like crowning or divine gift as #offer reward) is already produced. Remove g.via_naming altogether and add an extra argument to oname() calls to replace it. Add an extra argument to artifact_exists() calls.
This commit is contained in:
@@ -2311,6 +2311,9 @@ record_achievement(schar achidx)
|
||||
? g.context.achieveo.soko_prize_otyp
|
||||
: g.context.achieveo.mines_prize_otyp);
|
||||
|
||||
/* note: OBJ_NAME() works here because both "bag of holding" and
|
||||
"amulet of reflection" are fully named in their objects[] entry
|
||||
but that's not true in the general case */
|
||||
livelog_printf(achieve_msg[achidx].llflag, "%s %s",
|
||||
achieve_msg[achidx].msg, OBJ_NAME(objects[otyp]));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user