to meld into your body than rather than being removed, so that when untransforming you don't have to put everything on again.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7300 c06c8d41-db1a-0410-9941-cceddc491573
IP4A3VRYFYIVLRUAU4DF4KDNP6E4UISWJX3LI2F4EGSSMIJYRJXAC AHMSJ3PDQ7XBTTWVI3QBBTN3FA3DEPWMXNRHCLYZPISPAE7CPO3QC 7F5A7R3P2V3SPUNNJMOEG5ISKKANHC5C5G34YV77QCLQP2T3BV2QC QDGSYNKEBLC3VBPXJVE4MJWVI3QZZLX7QUHULGGW7CC7TIF7HTJQC FE4NKR5J4P53PSRDZPEW6MNHUJNCFSWCE6RWBMXIMQBV3EGCDOWQC OMSSJON5IE4LBXJ7CZE52IZRZS7ZICS23SKP4AGLHH3QNCRMEFVAC JHG2LHZ2YTRRYYD2QAQ5JIAK3AALUEHXPMJQO5KB72Q5NIF6F2ZAC EYYPQHFWHZDTHI6FJYCVGWLOXOI3J4LIQXFFYOBI74WYYIE2IL5QC NSHZVI2TCGOCTEKV72C5K4CNZW3I6MCHG372NYXYZI7U2U5BQ66AC XCPNY2Q3F3ELK3L2FRCXHVLANQ7JLB47VBIFIUME5I2PCXNRA3ZAC SHFSQYLN7WPQC35V3XYYEIZ4CQMREASUNR474CIKFG3C2FYI4SHQC MK7MCWBPFRJSUWVXZ43LPFJ5Y2AYZZCREDYBT7AWJUMTQ2ET5AZQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 6CZYPP67SB2M3SQS3QIPJWHZY7PJIRTTBH5CLORV3AALVTJIL5MQC CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC 4EZVKDQA5GM3QDTNTCKEKGH4F6LGAYNLBT756PXODKZ2B7C4ZVHAC JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC TKZWK7DWRWXIN7IJNWF3IKWGZOUSCGYXEJWWYGRKD7TAWJVEXGEAC PBTLQZHBQK5TAIO7SNSCKSHOQQ65CFFI55OTTETV7FG2FCJOXKHQC X6ULJWV7HNNP7XTRF4LT5OVBE4RARGQZARKJUSU6DR3PTQTR4JOQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC NDE6CROMCVOJRMRMEID7QISFPZKUK2VCV6ISP5OEQRBH7EIXUIEQC MADTICUXDKQB7EKTXG7J2OIJGUM7A437FRWIBRA3BIVEKXEXHO6AC RZTIYZABUF6FQZEBZOPVWTIMYI3ZI637PTR4MZTBPLOCDRAXPPOQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 7CMQLE4XIFMWDEUZAOKIKDW7BHAJCK5S26APMEZ6TEFEH63TEZ6AC UVJBHQ5KGUIEFRHKTYQPKSXYDUDKTRAXINUXGJJJ6QGNCR6JO7ZAC BZMLXBTB63CXPZZPFXM4VLE7IBXPBEZ6YLM4MSNQGJR4L5IBM3OAC ADIVVYTV2MJ3XVRYDNBLPTAEACCNF27XZDCRVZFQEHRHPMZGNITQC 3BYA46OYLVN6ZPGAZD5OGIMMH5PRWGNSU3ITJRCVBE6P5HYYYAYQC MNYDF64QY6NHYKOAFOGBQJFYU7TZDILXRV23EXJPN4IZOCLSJ2AQC TUKBRR44ONNRAUYHTQTQIYIQPFK752EGWEZ5A5PULTTQDEDD7DRAC AMSENYIGRJWHHGHLKIZQGZZQTWCZBTS2Y3WKPVTZZRI7ZMTATBCAC XCEZ7OA2INNPSYNAB5U6JB7XNDAD5BKU26YLFPPZ3SEESFZKADQAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC VNHFP63ZLLZU3A3PLXP4BITX57DUIYDHFOHQYK3BOBHV3S64G26QC 6T6E2JGOAQCQU56ZR6D6BTCQ6PKWLHQUPYVQZI6GRGX2FDDLILFQC LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC SRQJVKQVUY7QGCEBA2VQTWEJ7ADIUSY7L46HJQSQNM5DXYRRH5KAC SN3VSV7G6NF6NLX5E47QJQQFDIPC2LQUUYGZMH6AWBF3FOUHXCBQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC L53UJK6PPEZ2IG7TJGHN3Y3A6JYIO6PHBWG4MDAENOXPVFDKK6FQC MJRXH3WGYWQK3PONPCZSAVOKSAGVJZCLXYA476KTEBAJZ744JJXAC E3X5HVN5UN75OMTJA6JFQBNZ54P37NDZLZZF7EFBZZC45KR73YGAC SHSIZVHSB4RPTLGMFJXUDVHF3FTEZZYCRIH4CBZP4MXOBR3HC4QAC OFH2B2UZBK43QLFQBZ54FOCFLFNE54BZVDNCEUGDTBCUGNVZULIQC XS4OT3JJKMXJIOMIGSSHIE4IOV2EXKFFELHEU7J2C2B7PKAP4V4QC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC MBBPLL4SZUB3JUUYQYLZW7S5OXRCEGJX3WWADOQXGHWQ7BIKCY5QC XXPLTLK26AM2J2QBEJS7UVZV2C6T4J2D7VCIO4L5S4NBNR57X4FAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC 3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC P2YNOE2TUTZFAOBTHJOIVD6TCV7J7D2UKUX67LHZUL6QY44ZMENQC XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC DLVXY6DBP65B3RGWW4PNBEBPBNHNM3LSRYD36F3XDARFY7SPSJYAC NQ5MZTGKHPSXGP6F7BIEFPGDN2CVBYOREAWOKRQOCXK2PCQYJWGQC WFIA2XFIWZF3XVLH52GC57XK7A6ECI3K6P7GRZSHPIUBX66OF3OQC TDAVD56MGLFSMJLPLSYLEVW7MBRMT7V5BNII4TRWVDIHH47CD2OAC you.equip[e] = -1;
}}return (true);}static bool _unmeld_equipment(std::set<equipment_type> melded){// Unmeld items in order.std::set<equipment_type>::const_iterator iter;for (iter = melded.begin(); iter != melded.end(); ++iter){const equipment_type e = *iter;if (e == EQ_WEAPON || you.equip[e] == -1)continue;if (e == EQ_LEFT_RING || e == EQ_RIGHT_RING || e == EQ_AMULET){item_def &ring = you.inv[you.equip[e]];jewellery_wear_effects(ring);}else // armour{armour_wear_effects( you.equip[e] );
// We may have to unmeld a couple of equipment types.const equipment_type default_rem[] = {EQ_CLOAK, EQ_HELMET, EQ_GLOVES, EQ_BOOTS, EQ_SHIELD, EQ_BODY_ARMOUR};std::set<equipment_type> melded(default_rem,default_rem + ARRAYSZ(default_rem));_init_equipment_removal(melded, old_form);
** Changelog(most recent first): *** <3> 04oct2001 bwr absorbed spells0.cc* <2> 24jun2000 jmf changed to use new data structure* <1> 12jun2000 dlb created after much thought
bool you_tran_can_wear(const item_def &item){switch (item.base_type){case OBJ_WEAPONS:return you_tran_can_wear(EQ_WEAPON);case OBJ_JEWELLERY:return you_tran_can_wear(jewellery_is_amulet(item) ? EQ_AMULET: EQ_LEFT_RING);case OBJ_ARMOUR:if (item.sub_type == ARM_CAP){const int transform = you.attribute[ATTR_TRANSFORMATION];return (transform != TRAN_BAT && transform != TRAN_AIR);}return you_tran_can_wear(get_armour_slot(item), true);default:return (true);}}
if (you.equip[ e_order[i] ] != -1)
if (!you_can_wear(e_order[i], true)){snprintf(buf, sizeof buf,"%s<darkgrey>(%s unavailable)</darkgrey>",slot, slot_name_lwr);}else if (!you_tran_can_wear(e_order[i], true)){snprintf(buf, sizeof buf,"%s<darkgrey>(%s currently unavailable)</darkgrey>",slot, slot_name_lwr);}else if (you.equip[ e_order[i] ] != -1)
else if (!you_tran_can_wear(e_order[i], true)){snprintf(buf, sizeof buf,"%s<darkgrey>(%s currently unavailable)</darkgrey>",slot, slot_name_lwr);}else if (!you_can_wear(e_order[i])){snprintf(buf, sizeof buf,"%s<lightgrey>(%s restricted)</lightgrey>",slot, slot_name_lwr);}
File 'spl-util.cc':* Changelog(most recent first): *** <3> 04oct2001 bwr absorbed spells0.cc* <2> 24jun2000 jmf changed to use new data structure* <1> 12jun2000 dlb created after much thought--------------------------------------------------File 'spl-util.h':* Changelog(most recent first):** 24jun2000 jmf simplified structures* <00> 12jun2000 dlb created after much thought--------------------------------------------------