penalty from 4 to 5 for consistency with similar attacks frowned upon by the good gods.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5100 c06c8d41-db1a-0410-9941-cceddc491573
5HGMULU7IWTFJJH35S6XTCW3YZEMCORXHQL6NVY2TO4DUMVITNJAC X2FMJXEWN2NI4PJZLE2POIBGVLK5DSXU4IVFI7KCONRQO2UH4MJAC VTBHN2ILYU3IILWYXUTGFQFGN6NVMGKIWXQLH4ZLHJ5AXLP4RZZAC FTNBDAKTX4IV4YCONGEBGRDIWAEYQKQCJEUPKEUHDQB4PZMDG5LQC QCSLMPAVJIRPFKQRPQH2KGKHEWMVD3PD3EFEC3P5QM4Y5TMTDYMQC KX6HOBTF5OBZLH2VNEFHH6YAX66FSE6JGBY5I2WIAW5IEJUGNL6AC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC R5HVRGDKUX6A2H4DRHGWFBC2P625VAJHDZTERDMLFVXWSZLMHKRAC S7Y7P3MDUUYVAMPT3AEPDS6ACEQSLBYTYZGEPEWZCT4VJ2GINATQC WSUGPG4GWKAV3DINPD5LYP6W3GNFKIFWR3UXQGOQFSLIG5PLOEMAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC 33ZMPQC6OXTESW7SRW765GRNJUEJRSYONRVZVIEUDAUEJ2PPMB4AC 52FEQPZJXSIC2RBEQDRP4CW56AQTFKQ434GI6PBMEOUGM6KUMHMAC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC D4KP4ZQPOESRZJJHAEWFVZFQEUJU4VYNDADKDG252MKDUM5WYI4QC O3VTFHATCIAAJ4HQF2VJIEXHDZ6RJYJKXJ4ST65WWV26BSGW4YWQC YT23TCUEE6A3I7EX6WIZYHCPRYJDE74IZKR5YKPHKOFSYJCKFUCQC PWY5MJCCVT2CG3GP6J7V745QNATG7XYOBZFUM5VJDQ66F6U2BN7QC 6ZCVQRDZKSACHHTXSPDULWE5TVBSRSSGNNRJXYYCJ3B2EKSXMA4AC U24V52ZGVQ2XGYA4RNKT26VIIEKUYC6AUEWZSDYJFXB5ZWMMXTPAC RYK4OAO72K3TDOSKJ2GTQHD3LSMDSB6TQXFZWHPB6FYETNVFNVIAC IT3NSSLR756K7TZ7S7DOMS7DZUVGIFS5EAR22PEERAF5ZRBICV4AC 6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC unchivalric_attack_type is_unchivalric_attack(const actor *attacker,const actor *defender,const monsters *def){unchivalric_attack_type unchivalric = UCAT_NO_ATTACK;// distracted (but not batty)if (def->foe != MHITYOU && !testbits(def->flags, MF_BATTY))unchivalric = UCAT_DISTRACTED;// confused (but not perma-confused)if (def->has_ench(ENCH_CONFUSION)&& !mons_class_flag(def->type, M_CONFUSED)){unchivalric = UCAT_CONFUSED;}// fleeingif (def->behaviour == BEH_FLEE)unchivalric = UCAT_FLEEING;
// invisibleif (attacker->invisible() && !defender->can_see_invisible())unchivalric = UCAT_INVISIBLE;// held in a netif (def->has_ench(ENCH_HELD))unchivalric = UCAT_NET_HELD;// paralysedif (def->has_ench(ENCH_PARALYSIS))unchivalric = UCAT_PARALYSED;// sleepingif (def->behaviour == BEH_SLEEP)unchivalric = UCAT_SLEEPING;// no unchivalric attacks on monsters that cannot fight// (plants, etc.)if (defender->cannot_fight())unchivalric = UCAT_NO_ATTACK;// no unchivalric attacks on invisible monstersif (!player_monster_visible(def))unchivalric = UCAT_NO_ATTACK;return unchivalric;}
// confused (but not perma-confused)if (def->has_ench(ENCH_CONFUSION)&& !mons_class_flag(def->type, M_CONFUSED)){
case UCAT_CONFUSED:case UCAT_FLEEING:
// fleeingif (def->behaviour == BEH_FLEE){stab_attempt = true;stab_bonus = 2;}if (attacker->invisible() && !defender->can_see_invisible()){
case UCAT_INVISIBLE:
// helpless (plants, etc.)if (defender->cannot_fight())stab_attempt = false;
// see if we need to roll against dexterity / stabbingif (stab_attempt && roll_needed)stab_attempt = (random2(roll) <= you.skills[SK_STABBING] + you.dex);
// check for invisibility - no stabs on invisible monsters.if (!player_monster_visible( def )){stab_attempt = false;stab_bonus = 0;}if (stab_attempt && you.religion == GOD_SHINING_ONE)
if (unchivalric && you.religion == GOD_SHINING_ONE)