Constant NUMARTIFACTS 7; Array ArtifGotList --> NUMARTIFACTS; Class Artifact with acquired 0; Object symbolartifproxy "unearthly world" with acquired 0, invoke [; if (~~self.acquired) { AcquireArtifact(self); } ]; [ AcquireArtifact obj; if (obj.acquired) "[BUG] Artifact got acquired twice."; obj.acquired = true; if (ArtifNumGotten >= NUMARTIFACTS) "[BUG] Too many artifacts in game."; ArtifGotList-->ArtifNumGotten = obj; if (ArtifNumGotten == 0) GuideArtifScoreMessage.invoke(obj); else if (notify_mode) GuideEnqueue("An extra discovery has been added to your score."); ArtifNumGotten++; ]; Object GuideArtifScoreMessage with invoke [ obj; self.number = obj; GuideEnqueue(self); ], number 0, description [; print "Your score has gone up.^^ Note that your score (in the top right corner) is now ~"; print MaskNumGotten, " of 7"; if (ArtifNumGotten) print ", +", ArtifNumGotten; print "~"; if (MaskNumGotten == 0) print ". The ~0 of 7~ measures your progress towards the seven main goals of the game -- you haven't yet started on those"; print ". The ~+", ArtifNumGotten, "~ indicates ", (EnglishNumber) ArtifNumGotten, " ", (emph) "optional", " goal"; if (ArtifNumGotten ~= 1) print "s"; print " achieved. ", (string) Story, " has various ~side quests~ -- extra discoveries you can make. You don't need to find these to win the game. They're there for extra fun, and to add to the texture of the game world. (How many optional discoveries are there? Explore and find out!)^^ You can get a full account of your score by typing ", (helpcmd) "score", "."; ]; [ Regalia; if (cloak in player && belt in player && glove in player && shield in player && bracelet in player && dagger in player && knottedstring in player) { if (cloak has worn && belt has worn && glove has worn && bracelet has worn) { return 2; } return 1; } return 0; ];