attacks, so as to avoid overlap with the first monster on the level.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6985 c06c8d41-db1a-0410-9941-cceddc491573
RWCCZ64BG3HSOTM54ANIGENC3F3AIR42LJFRYSAKMCPCIUSOZY5QC
XZOOYCZBYHE5LWDFLOLNCOGD4QFBFBE5DQQINYW6LDKSE3DVIHRQC
ZKBPM2G7BTRIXQMFPWFIQY5U7CV2GEXSOBCGFN6UBE27IBIJAMRAC
ODQ7LIJ2UROGGENIORRXZFWII3ZM2N45YD53FKWDQB7LLRXR4PHAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC
RRNEVUYOK5S4M4QH77N34IXSSNUXVQAIZQLXAQKQCRITMPUKGP6AC
CLIEHAE2PP7ZIGLLIMYCWM4FC54KBOAN5AILOLAZJ5S26GTJM4RQC
XIXBLWIVUPWM3P6XQIB7CS45JOOIYE6OBYYYERCFAYYO4VOWOYUQC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
UURAYLSSITZLQR56MCWFPIWMECU7F3USMA2UPJAO4IPIY5WVKP5QC
K6S3LX4GPSVHOVIZVVGJDOMT6GXENOTXD6FM3ZHBN5GO4JA5E6YAC
UHQOJDGGYP6MUXC2PMAGZJYJIUSHIVYIX6D4WGOTTSZKWASRAFNQC
6F2N65KCUDLW5BUBJ4WXDKSLAPK4OWPKRGUKYZYEI3CC26EYBPJQC
HAM54HXIO2245W6REO4RZDY2QMIH476AWWJSMYAMSYYNEBBJSHWAC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
6CWMT6I76TMTHT7BVOVZJ7ATDMZ3VBKKICIRRZBOSGLHJMDS2DWQC
PKR7JPAXDEL6NSRX5OO45BXOMJL7IQ3L4JV4O5CF2DQJFBEC2NJAC
UCM6RM43UZHOSRI75MQQZPBTLQIV63N4KQ4V7N54ZZGQ7LCR6YGQC
VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC
JW2KRJHES33W7UTWZ6NDO4TLMK4EFU4HKZXBWR2UJOMPCCOTR4CQC
TO43FWKHNIA5MVDOFXYHQODTLBQYEZKX5UIUGID57436UF7G2EXQC
TAVHZJPVNJBZR7CUURAOYNDZPNVQ3AGHTXDEP5K4JGYETBLQJDRQC
RISMOCQM6BKK4XSIRKYLOBB2UPDYJNDAL6OGIIR5GGNZQAK5YSZAC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
NQWVMSEMW2C53LLZXIYOVPDHOVEAD2JSQFSX4FSJJ63YCPXSVQBAC
GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
6TYCKF4JX27PXCMWXDWKMZPQNF7EF5RF6MAPS573TW6VDTPBK3CAC
RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC
WRPGGZRVGWWYCBWL5W5HMAM7CWLYICKZ6A36ZGQ3UEDW5O25FMOQC
247OW5JFN34ZV3GRVHRE25AXLLISUBPOX5YRGUE64BCM2V7QNEHAC
MBBPLL4SZUB3JUUYQYLZW7S5OXRCEGJX3WWADOQXGHWQ7BIKCY5QC
TLTANJP2MIQGO5I6HSL6R3J2NIWURGQMZZSZJSSGC72ESTF3F66AC
S3RNWZ2RPHNTLEPNYRJPQ3PIAP5PW5S3YAQAYQQ5INWLKDKS7XNAC
ATDAT2AONG2BDLZFBJZB4WVNRUFQAU7RDIVUBAZ6STAV62NX5R4AC
5DMO2DEV7IK3MJG274EUNZBGQ7EBZWC2WTSKAEGPDMILX7BXYG3AC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
IMC2HA2YWCU7SLGGVQQVUEUIST4ILSOEAUYXNZAW2PJZ475GXLDAC
POETVWRYRKRTPDOAM6YLJRBAWF7QDCOUCK3JPQURB2Y4PJN7EE2QC
LKLHWERPXMDTRNYPEXVDVB6PE7CT5PZ6WMNJJDTBBE5FBHOCEK5AC
AVSWNOP23Z2QCLQGXFDZV7TI4RC3XSXHIX2HDXFHXGKDEZSSIGJQC
BFIEDGHSMI5CKOOFWYYB3XHPCZOWPERTBIA5U2HMRSCNWHE57VDQC
// death_source should be set to zero for non-monsters. {dlb}
void ouch( int dam, int death_source, kill_method_type death_type,
const char *aux, bool see_source )
// death_source should be set to NON_MONSTER for non-monsters. {dlb}
void ouch(int dam, int death_source, kill_method_type death_type,
const char *aux, bool see_source)
ouch( roll_dice( 6 + you.burden_state, 10 ), 0,
KILLED_BY_FALLING_DOWN_STAIRS );
ouch(roll_dice(6 + you.burden_state, 10), NON_MONSTER,
KILLED_BY_FALLING_DOWN_STAIRS);
if (monster->type >= 0 && monster->type < NUM_MONSTERS)
{
death_source = monster->type;
mon_num = monster->base_monster;
death_source = monster->type;
mon_num = monster->base_monster;
// Previously the weapon was only used for dancing weapons,
// but now we pass it in as a string through the scorefile
// entry to be appended in hiscores_format_single in long or
// medium scorefile formats.
if (death_type == KILLED_BY_MONSTER
&& monster->inv[MSLOT_WEAPON] != NON_ITEM)
// Previously the weapon was only used for dancing weapons,
// but now we pass it in as a string through the scorefile
// entry to be appended in hiscores_format_single in long or
// medium scorefile formats.
if (death_type == KILLED_BY_MONSTER
&& monster->inv[MSLOT_WEAPON] != NON_ITEM)
{
// [ds] The highscore entry may be constructed while the player
// is alive (for notes), so make sure we don't reveal info we
// shouldn't.
if (you.hp <= 0)
// changing this to ignore the pluses to keep it short
unset_ident_flags( mitm[monster->inv[MSLOT_WEAPON]],
ISFLAG_IDENT_MASK );
// changing this to ignore the pluses to keep it short
unset_ident_flags( mitm[monster->inv[MSLOT_WEAPON]],
ISFLAG_IDENT_MASK );
}
// Setting this is redundant for dancing weapons, however
// we do care about the above indentification. -- bwr
if (monster->type != MONS_DANCING_WEAPON)
auxkilldata = mitm[monster->inv[MSLOT_WEAPON]].name(DESC_NOCAP_A);
const bool death = you.hp <= 0;
// Setting this is redundant for dancing weapons, however
// we do care about the above indentification. -- bwr
if (monster->type != MONS_DANCING_WEAPON)
auxkilldata = mitm[monster->inv[MSLOT_WEAPON]].name(DESC_NOCAP_A);
}
if (monster->has_ench(ENCH_SHAPESHIFTER))
{
death_source_name += " (shapeshifter)";
}
else if (monster->has_ench(ENCH_GLOWING_SHAPESHIFTER))
{
death_source_name += " (glowing shapeshifter)";
}
}
death_source_name = monster->name(DESC_NOCAP_A, death);
if (monster->has_base_name())
death_source_name +=
", " + monster->base_name(DESC_NOCAP_A, death);
if (monster->has_ench(ENCH_SHAPESHIFTER))
death_source_name += " (shapeshifter)";
else if (monster->has_ench(ENCH_GLOWING_SHAPESHIFTER))
death_source_name += " (glowing shapeshifter)";