choose your projectiles and are no longer prompted when "firing through" friendlies. (FR 1816789)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5615 c06c8d41-db1a-0410-9941-cceddc491573
RDZUMV3A5TREQHLPPJWDWVXBNIOWC3CQJJ35TYFBQQVQNTU7SPXQC 3EUPIYJNWOMOQBP2Z5SGSMWK453BXJD6KL2WFTR3NM565MEBYASAC NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC WG6O475IOLZFMUQSLVR2KHM7XTBF5HH276L2KDGF7UOSESDOAILQC HPE7PVDIOJDELSCDLCMFYFSDKOEJN35IZPWT57U3AIAPU45QOP6QC EAAACIJUVSBDOB6S73O4NFSMRDLFLQTFO7SXWWALGMVDZTQTHQBQC ENI6P5WUO7DS4Y7EUDCYB4PSNT7CXH2L5JIB5BLZHNMWN4QDXMWQC 4NBPZKMZBKB3QYX4FFUAKDXQS43NJCBDLMHKDJFVXHQLX4MQDINAC GT7BSR54BVJKHUCLEBTELGBMNBFFDQW52EVC4XKVEMUVG2UGZMDAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC AUXVWXWIFSTWFA6VZXN2FMG7FQEKRZVV6MD32VQQ7J2RKCXHAVGAC RPGERJQMO2J4ZDYTRHJCLZMXDVSTUOOJURSZ7FPWOUFHTXIV5VIAC CE6FLTWU5PYFBSGVTIJXQXRMHOIHQ3VJCKHQVIMUUAIFHQ73X7NAC HSRRNAU5UAYC6B6IQWGJPFROMZBTJICPCH6DJVZDHDTAGOQ6IOYAC SXLHOSCHX4BPRYRR35DI5GWISPIDKRFUSRVCYYHUUAYLAYFHSPBQC AUCFV2PP6IAG2Z5KSQ5TASSEWYR5BJOZ2BGWUXDK343SNGWLGGCAC TM35IHKZZNBCMR3ERBS4EYHGUK5IVCPUT2JUITMT74AYAIUZSYFQC ECUYJLVGW6ADRLLF2WOMRG464VHOVDPP5OK5SAX2PHBUUC5FD4TQC TPPJRQ2NTCV3GI2VRHEXQJREDERPJODCJWUG5WCOQGN4REPPPAMAC 7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC 7V6TZHBSKK7AKY3SCYSP27QR2HP5N7HI3FI7V2QL7Y44OKKNI6IAC JYCMD6WMNHXA53K4LLKVTNX6PLRLU25F6J2TYMPQXM2ENAE66NIAC ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC E3X5HVN5UN75OMTJA6JFQBNZ54P37NDZLZZF7EFBZZC45KR73YGAC 7GJR755MBM55KIOP3DGSZIIAEQ5E2PRBHLEXZOU2ZMXHHZ5JI3GQC SJP5BHX6MFWF3OSQPEF4WUWZWPUGMOVURTT2CUVT6H3A66LETXUAC 5V47S4NNTHWTSAHV3YLO2VGH7JTUIYJ3GBPDN5ZM4UQALT2ZEXDQC FLAGBNUNSIQNFDN53CDWABJRTTFWDL4PG34AI474ZKPXDEPYHOAQC ZJIGDAAKOHJWPD7TMNTNKP7ZT4K4GHD7UGSAWERTIJA3BGL5BETQC W74555HMPXUQ72AGKBXC5P3STMMX5DZAW6ZESUDLNVJBCAG43PLAC if (spell == SPELL_PORTAL_PROJECTILE){const item_def* item;int idx;you.m_quiver->get_desired_item(&item, &idx);if ( item == NULL ){mpr("No suitable missiles.");return (SPRET_ABORT);}else if ( idx == -1 ){mpr("No missiles left.");return SPRET_ABORT;}mprf(MSGCH_PROMPT, "Where do you want to aim %s?",you.inv[idx].name(DESC_NOCAP_YOUR).c_str());}else if (spell == SPELL_EVAPORATE)
if (spell == SPELL_EVAPORATE)
int idx;const item_def* item;you.m_quiver->get_desired_item(&item, &idx);if (item == NULL){mpr("No suitable missiles.");return false;}else if (idx == -1){mpr("No missiles left.");return false;}
if (!check_warning_inscriptions(you.inv[item], OPER_FIRE))return (false);
message_current_target(); // XXX: this stuff should be done by direction()direction( target, DIR_NONE, TARG_ENEMY, -1, false, true, NULL, &beh );
message_current_target(); // XXX: This stuff should be done by direction()!direction( target, DIR_NONE, TARG_ENEMY, -1, false, !teleport, NULL, &beh );
// if item == -1, prompt the user.// if item passed, it will be put into the quiver.void fire_thing(int item)
int get_ammo_to_shoot(int item, dist &target, bool teleport)
return (item);}// If item == -1, prompt the user.// If item passed, it will be put into the quiver.void fire_thing(int item){mpr("in fire_thing()");dist target;item = get_ammo_to_shoot(item, target);mpr("back in fire_thing()");if (item == -1)return;if (Options.tutorial_left)Options.tut_throw_counter++;
message_current_target();direction( thr, DIR_NONE, TARG_ENEMY );if (!thr.isValid){if (thr.isCancel)canned_msg(MSG_OK);
if (thr.isCancel)canned_msg(MSG_OK);
// init tracer variablespbolt.foe_count = pbolt.fr_count = 0;pbolt.foe_power = pbolt.fr_power = 0;pbolt.fr_helped = pbolt.fr_hurt = 0;pbolt.foe_helped = pbolt.foe_hurt = 0;pbolt.foe_ratio = 100;
// Don't do the tracing when using Portaled Projectile, or when confused.if (!teleport && !you.duration[DUR_CONF]){// Init tracer variables.pbolt.foe_count = pbolt.fr_count = 0;pbolt.foe_power = pbolt.fr_power = 0;pbolt.fr_helped = pbolt.fr_hurt = 0;pbolt.foe_helped = pbolt.foe_hurt = 0;pbolt.foe_ratio = 100;
// Should only happen if the player answered 'n' to one of those// "Fire through friendly?" prompts.if (pbolt.fr_count > 0){canned_msg(MSG_OK);you.turn_is_over = false;return (false);
// Should only happen if the player answered 'n' to one of those// "Fire through friendly?" prompts.if (pbolt.fr_count > 0){canned_msg(MSG_OK);you.turn_is_over = false;return (false);}
case MI_STONE: chance = 4; break;case MI_DART: chance = 3; break;case MI_ARROW: chance = 4; break;case MI_BOLT: chance = 4; break;
case MI_STONE: chance = 4; break;case MI_DART: chance = 3; break;case MI_ARROW: chance = 4; break;case MI_BOLT: chance = 4; break;