From fa1f442ef7999d3e84dadd3e9c0823ceb937dab2 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Sun, 11 Oct 2009 18:11:30 -0500 Subject: Apply jpeg's patches in [2876380] (automate Xom testing) and [2876688] (new Xom effects), tweaked to fit into current trunk. --- crawl-ref/source/xom.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/xom.h') diff --git a/crawl-ref/source/xom.h b/crawl-ref/source/xom.h index ab0e13d66a..047f5196b5 100644 --- a/crawl-ref/source/xom.h +++ b/crawl-ref/source/xom.h @@ -18,6 +18,56 @@ enum xom_message_type NUM_XOM_MESSAGE_TYPES }; +enum xom_event_type +{ + XOM_DID_NOTHING = 0, + + // good acts + XOM_GOOD_POTION, + XOM_GOOD_SPELL_TENSION, + XOM_GOOD_SPELL_CALM, + XOM_GOOD_MAPPING, + XOM_GOOD_CONFUSION, // 5 + XOM_GOOD_SINGLE_ALLY, + XOM_GOOD_ANIMATE_MON_WPN, + XOM_GOOD_ANNOYANCE_GIFT, + XOM_GOOD_RANDOM_ITEM, + XOM_GOOD_ACQUIREMENT, // 10 + XOM_GOOD_ALLIES, + XOM_GOOD_POLYMORPH, + XOM_GOOD_SWAP_MONSTERS, + XOM_GOOD_TELEPORT, + XOM_GOOD_VITRIFY, // 15 + XOM_GOOD_MUTATION, + XOM_GOOD_MAJOR_ALLY, + XOM_GOOD_LIGHTNING, + XOM_GOOD_SCENERY, + XOM_LAST_GOOD_ACT = XOM_GOOD_SCENERY, // 19 + + // bad acts + XOM_BAD_MISCAST_PSEUDO, // 20 + XOM_BAD_MISCAST_MINOR, + XOM_BAD_MISCAST_MAJOR, + XOM_BAD_MISCAST_NASTY, + XOM_BAD_STATLOSS, + XOM_BAD_TELEPORT, // 25 + XOM_BAD_SWAP_WEAPONS, + XOM_BAD_CHAOS_UPGRADE, + XOM_BAD_MUTATION, + XOM_BAD_POLYMORPH, + XOM_BAD_STAIRS, // 30 + XOM_BAD_CONFUSION, + XOM_BAD_DRAINING, + XOM_BAD_TORMENT, + XOM_BAD_ANIMATE_WPN, + XOM_BAD_SUMMON_DEMONS, // 35 + XOM_BAD_BANISHMENT, + XOM_LAST_BAD_ACT = XOM_BAD_BANISHMENT, // 36 + + XOM_PLAYER_DEAD = 100, // player already dead (shouldn't happen) + NUM_XOM_EVENTS +}; + void xom_tick(); void xom_is_stimulated(int maxinterestingness, xom_message_type message_type = XM_NORMAL, @@ -25,7 +75,7 @@ void xom_is_stimulated(int maxinterestingness, void xom_is_stimulated(int maxinterestingness, const std::string& message, bool force_message = false); bool xom_is_nice(int tension = -1); -void xom_acts(bool niceness, int sever, int tension = -1); +int xom_acts(bool niceness, int sever, int tension = -1, bool debug = false); const char *describe_xom_favour(bool upper = false); inline void xom_acts(int sever, int tension = -1) @@ -36,4 +86,8 @@ inline void xom_acts(int sever, int tension = -1) void xom_check_lost_item(const item_def& item); void xom_check_destroyed_item(const item_def& item, int cause = -1); void xom_death_message(const kill_method_type killed_by); +#ifdef WIZARD +void debug_xom_effects(); +#endif + #endif -- cgit v1.2.3-54-g00ecf