predefined doll settings in dolls.txt, so players can actually use this. TODO: Save choice back into file.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9999 c06c8d41-db1a-0410-9941-cceddc491573
DK76MINM4TMQKZ6HKMJZMZM7QPGQUO3YY3I226G7JDUYJJLWKWAQC AOGZQPY3H64AMVAOMTOR22AFS3ZMVNDJ7Y7QLT6CYRIZY4YDOALQC EGCEFY2RR5K3DMJR7WP4KQRBXX2ENCO6YML32TWXXQO5HXJELMOQC HICDAROOX7333JJXSSXOVZPALK5C7XCVMTGKT5DSS2SZKWXRT4NQC V2XKNBSMA7QYPRZ4IXI2MBD6D63WJY5VQSMSISF7G4XYBITNN7IQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC 3SQQ4MM6YO4I37CQ6GIBIX6BXAEVHNVNHPVMR3PPBBNO454D6XWQC HBPUTW5HDHUEPB62DMJ6GGP2D2GLZB53O5VRTWDLQ4Z53NWB3MKQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC PUQVSISR5TQFRV6UKOFREN45ZM4YSCST5QSJ2J5CHIHOSYK62MOQC HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC O746OUDNQBNZJ5YAHONNORFKWHV2EGDJWNAWGBALCYL3FGDZOOHQC MV5USMLTBKVRWBAD67UFJ2BS4Y5HEOMYASRSB44DS24BBMRP75RQC 3XRTONH32W5DNI2V2SGAHXN3EHOZQ26ZXMVYL5TRP6HLQN7P4HNAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC PHZTAI6CW7JHKFW77MKDK75UCNWBXFK7VDD3D5ORVXUFWV3C3EVQC LP5EK64IEM7AHNYQID4GGKOQJQNZLKY4DCCZN47SIUZ6IXAXH5UAC RQ24Y25QDO2GY65XESEVBCP6VXCB7BDTWXO42IPPI6UPRJQ5XYDAC NS3KXJXQSN33UQSOBDK3WXXKA3KY5YOUJL67NBZKGQAJYDYZ2COQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC CO3GKDYMG4P7SH6QLQSBQTAXPWLKSPNMHTUT46USTBL4YBLT4L5QC Y3HZ5Q3MH5YLRMGJNGGTJDKB32WCV5XKP5HNNYPGXL5QV55K5IQAC TZ643KHSE5CUPXFSQ7VYVOCM5MTQ7F4SENEYQX2RNFHGHLQVS3RQC QXJZCH66QBMFHOBQAFP2C5XNTMCUYGLUSOKXQUS5O7TODSVQ6GHAC JN4GPMQCXOY5ICTLPLWP6DXBFULN4GMAEK7T4GXTZVIJAUUKBBYAC VD4KDTGHVKCN35AWREYB4TEOUMCTW7SAUPAMTMF5ABC7VBHVKP4AC TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC DMG73XDQHY2X2PHKWIY56XKD3O4NPGZKKIO6GX3IV2LLRVXPGKYQC XCL4GC6RUWUK57HONM5CRUEOCCECR4NYAI5KLPJKCYM5OURU3AYQC SKWBAGSAB625IIN4UP3NCPRX2H3KCPC2LULHS2A7JVRLO3EUBJDAC SUWIERONPDATHPDMZRYO6GYIXSW6XIS5V5MK5IV23DWQH2LL7VIAC NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC PTJJ6D52LDVJN7WA7NMYV2WHH3WJMWWLRGF3D7ZSBUNLAACFRJHAC PI5BATR2SER3RFE76IUGHM2AGXVFOUM3PLU7WC2K2Q2BA5K2E73QC HSRRNAU5UAYC6B6IQWGJPFROMZBTJICPCH6DJVZDHDTAGOQ6IOYAC 3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC 6TAQWWURX3QF4XXV7YGJEL5VKFLFEB2HV2PGJ5ARYNNRRRNVTFUAC ROROKJTHG3XEOBFC6UDPC24ZEWR2WHSROQIVTRJ6DEX4GVC7OPAAC IIN7AVA6JYRBXH6ZYRR7BY7TV6PW7ANAQ2A3PD55FKBKKQFEEF2AC L2BH25YQXSIQ7B66SXO7Q3IWUFVX7HTERRJZ5ZJJZS54ZETVFP6AC const unsigned int ticks_per_redraw = 100;
// When moving the mouse via cursor when targeting update more often.// For beams, the beam drawing already handles this, and when not targeting// the normal drawing routines handle it.const unsigned int ticks_per_redraw= (mouse_control::current_mode() == MOUSE_MODE_TARGET ? 50 : 100);
// Don't take gender too seriously. -- Ennetilep_race_default(you.species, coinflip(),you.experience_level, doll->parts);
// Sanity, in case this hasn't been done before.for (unsigned int i = 0; i < TILEP_PART_MAX; ++i)dolls[0].parts[i] = TILEP_SHOW_EQUIP;
#if 0// For some reason I can't reset this although it's used identically// elsewhere. (jpeg)for (unsigned int j = 0; j < TILEP_PART_MAX; ++j)doll->parts[j] = TILEP_SHOW_EQUIP;#endif
// Don't take gender too seriously. -- Ennetilep_race_default(you.species, gender,you.experience_level, dolls[0].parts);
default_doll.parts[i] = TILEP_SHOW_EQUIP;mpr("loaded equipment");_load_doll_data("dolls.txt", &default_doll);
default_doll[0].parts[i] = TILEP_SHOW_EQUIP;
default_doll.parts);
default_doll[0].parts);player_doll = default_doll[0];}static int _get_random_doll_part(int p){ASSERT(p >= 0 && p <= TILEP_PART_MAX);return (tile_player_part_start[p]+ random2(tile_player_part_count[p]));}static void _fill_doll_part(dolls_data &doll, int p){ASSERT(p >= 0 && p <= TILEP_PART_MAX);doll.parts[p] = _get_random_doll_part(p);}static void _create_random_doll(dolls_data &rdoll){// All dolls roll for these._fill_doll_part(rdoll, TILEP_PART_BODY);_fill_doll_part(rdoll, TILEP_PART_HAND1);_fill_doll_part(rdoll, TILEP_PART_LEG);_fill_doll_part(rdoll, TILEP_PART_BOOTS);_fill_doll_part(rdoll, TILEP_PART_HAIR);// The following only are rolled with 50% chance.if (coinflip())_fill_doll_part(rdoll, TILEP_PART_CLOAK);if (coinflip())_fill_doll_part(rdoll, TILEP_PART_ARM);if (coinflip())_fill_doll_part(rdoll, TILEP_PART_HAND2);if (coinflip())_fill_doll_part(rdoll, TILEP_PART_HELM);
tilep_job_default(you.char_class, gender, default_doll.parts);}else if (ch == 'e'){// nothing to be done}else if (ch == 'l'){_load_doll_data("dolls.txt", &default_doll);}elsereturn;
mpr("Pick (d)efault doll for job, use (e)quipment settings, roll a ""(r)andom doll, or load doll (0-9) from file?", MSGCH_PROMPT);char ch = (char) getchm(KMC_DEFAULT);ch = tolower(ch);bool finish = false;if (ch == 'd'){if (!done_default){default_doll = equip_doll;tilep_job_default(you.char_class, gender, default_doll.parts);done_default = true;}player_doll = default_doll;}else if (ch == 'e'){player_doll = equip_doll;// nothing else to be done}else if (ch == 'r'){dolls_data random_doll = equip_doll;_create_random_doll(random_doll);player_doll = random_doll;}else if (ch == 's'){mpr("I'm sorry, you can't save your settings yet.");continue;}else if (ch >= '0' && ch <= '9'){// HACK until I can find the proper function.int num = ch - '0';ASSERT(num >= 0 && num <= 9);if (num < 0 || num >= NUM_MAX_DOLLS)finish = true;else{if (!loaded){for (unsigned int i = 0; i < NUM_MAX_DOLLS; ++i)dolls[i] = equip_doll;// This'll have to be replaced by "load doll 0..9"._load_doll_data("dolls.txt", dolls, NUM_MAX_DOLLS);loaded = true;}player_doll = dolls[num];}}elsefinish = true;mesclr();
dolls_data result = player_doll;const bool halo = inside_halo(you.pos());result.parts[TILEP_PART_HALO] = halo ? TILEP_HALO_TSO : 0;result.parts[TILEP_PART_ENCH] =(you.duration[DUR_LIQUID_FLAMES] ? TILEP_ENCH_STICKY_FLAME : 0);
// Main hand.
void DungeonRegion::pack_player(int x, int y){dolls_data result = player_doll;const bool halo = inside_halo(you.pos());result.parts[TILEP_PART_HALO] = halo ? TILEP_HALO_TSO : 0;result.parts[TILEP_PART_ENCH] =(you.duration[DUR_LIQUID_FLAMES] ? TILEP_ENCH_STICKY_FLAME : 0);_fill_doll_equipment(result);
if (parts[TILEP_PART_BASE] == TILEP_BASE_MERFOLK_WATER|| parts[TILEP_PART_BASE] == TILEP_BASE_MERFOLK_WATER + 1)
else if (parts[TILEP_PART_BASE] == TILEP_BASE_MERFOLK_WATER|| parts[TILEP_PART_BASE] == TILEP_BASE_MERFOLK_WATER + 1)
#if 0#ifdef USE_TILEif (cmd >= CMD_MIN_TILE && cmd <= CMD_MAX_TILE)return KMC_TILE;#endif#endif
const bool in_range = (range < 0)|| grid_distance(raycopy.pos(), you.pos()) <= range;draw_ray_glyph(moves.target, MAGENTA, '*',MAGENTA | COLFLAG_REVERSE, in_range);
const bool in_range= (range < 0|| grid_distance(raycopy.pos(), you.pos()) <= range);tile_place_ray(moves.target, in_range);#endif
MODE=LOADINGNUM=0001:001:***:011:034:092:***:023:034:017:000:063001:001:***:009:002:040:016:077:***:023:009:040001:000:***:014:017:046:020:048:***:010:000:041001:001:001:018:000:017:***:190:066:000:009:043001:001:005:003:016:137:***:117:005:000:000:***001:000:001:021:000:033:***:136:058:007:000:012001:001:003:014:000:005:***:194:041:017:000:028001:000:***:017:027:068:***:197:050:011:000:068001:000:008:011:033:091:007:055:027:008:000:054001:001:007:***:026:015:020:170:057:011:000:032