git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5242 c06c8d41-db1a-0410-9941-cceddc491573
X3CWUWK437W32BTAAQY7DQ3P4KI5CM3KQW5AW4E2VCHGEOP5WKCAC 2NABXVORE3G444CLNMZRHFIDMOIXU5ZV5R6Y7QFJS7IY6WAGHWDQC W3F2XPGTHDOSFFKZOHB3555C2ZTIG2KYSXEHSNODVUKGHOLYKGRQC EJEHTLHZ5DL4SJQJBMQL5K3IV2ZMCZQBVCRRERER7SPOMNKFJTVQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC YATODO2EN3AW7IXW5PL25HHK34YHF6Y32QBMOUZXEATZZ4YQQWZQC 6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC GCDBSJXJCPEK4NCX5CVGDBK3432PFCU5OCO2F3DA32332ALI2ZYQC NLQNXH3SVJ52CWXEV35FSSZP32VHC4QFGN3HINF4KO5GZHZMOBKQC IIUK3DT26O7F4IBKB6QFTPLO4EVKBH55SAEXLNQEQRLDGJ37NDGAC WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC 2Q3P7FHAAZRJ337GTR2ZLD72ECBUDJ42MROKVCNKNDV6CGMQOSYAC VBG2GGMVC66LQM4OSI67VKXGAQK4GVOEHX3OL6V3IFOO52MQL72QC };// Calls did_god_conduct() when the object goes out of scope.struct god_conduct_trigger{conduct_type conduct;int pgain;bool known;bool enabled;std::auto_ptr<monsters> victim;god_conduct_trigger(conduct_type c = NUM_CONDUCTS,int pg = 0,bool kn = true,const monsters *vict = NULL);void set(conduct_type c = NUM_CONDUCTS,int pg = 0,bool kn = true,const monsters *vict = NULL);~god_conduct_trigger();
bool is_evil_god(god_type god);bool is_good_god(god_type god);bool is_chaotic_god(god_type god);// Calls did_god_conduct when the object goes out of scope.struct god_conduct_trigger{conduct_type conduct;int pgain;bool known;bool enabled;std::auto_ptr<monsters> victim;god_conduct_trigger(conduct_type c = NUM_CONDUCTS,int pg = 0,bool kn = true,const monsters *vict = NULL);void set(conduct_type c = NUM_CONDUCTS,int pg = 0,bool kn = true,const monsters *vict = NULL);~god_conduct_trigger();};
/////////////////////////////////////////////////////////////////////// god_conduct_triggergod_conduct_trigger::god_conduct_trigger(conduct_type c, int pg, bool kn, const monsters *vict): conduct(c), pgain(pg), known(kn), enabled(true), victim(NULL){if (vict){victim.reset(new monsters);*(victim.get()) = *vict;}}void god_conduct_trigger::set(conduct_type c, int pg, bool kn,const monsters *vict){conduct = c;pgain = pg;known = kn;victim.reset(NULL);if (vict){victim.reset(new monsters);*victim.get() = *vict;}}
/////////////////////////////////////////////////////////////////////// god_conduct_triggergod_conduct_trigger::god_conduct_trigger(conduct_type c, int pg, bool kn, const monsters *vict): conduct(c), pgain(pg), known(kn), enabled(true), victim(NULL){if (vict){victim.reset(new monsters);*(victim.get()) = *vict;}}void god_conduct_trigger::set(conduct_type c, int pg, bool kn,const monsters *vict){conduct = c;pgain = pg;known = kn;victim.reset(NULL);if (vict){victim.reset(new monsters);*victim.get() = *vict;}}god_conduct_trigger::~god_conduct_trigger(){if (enabled && conduct != NUM_CONDUCTS)did_god_conduct(conduct, pgain, known, victim.get());}