MF_HARD_RESET should now be used only for dancing weapons - other summons are generated with items marked appropriately.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3148 c06c8d41-db1a-0410-9941-cceddc491573
X4OCLD5YEXCYVQNMOQORLIO72AKUEMT3BT6FB3TW2HARKN5X7MEQC
C7EEMEI6FU6L2VWZBTDCZO5ZTB2N5TCNGSMIBZTN6NZRE7BUBFPQC
5UC5TI7B6NWGIGN74QRBZKDBYUMHLM2ZO5ATXEZ6TZOGOLF3JX5QC
MWA35QHODXDNH2OYJ3URQQOXSEONHFXY4OG4VMGHYBBTAC777NLQC
YA24HFHVUI2LDWFOZR5QSHRIVTAWGSGPAH5E2FPP6ANCL2MTUSTAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
DODCHP2S4I6VZKQAVXX6D76OPNFI2YWZ4XH3HZTMAJZXA2RJ3XRQC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
B62ICMDTN5V7R7RBL4JALFVKEMVOOVLRSJASRNYS6CGFWBEEF5JQC
7KWDC7XFNMBLSUO2HISIROBINZBX5T67LJEEXTAORXW2YZ7VWFGAC
C5VA63WAQRWPENIMXRPUPZLZJMC77PL2B3A77HYFWDCZU5QDG7VQC
TS7X6ZTTQRB2I53VV4LXZPXZWM3DIKYI3T5PPHZANSEW4Q7QZBOAC
6LYLJJDKKIPIXKJITRAC7LAZSNBO7O4IJIVBKUC7FD57AV53LHHAC
VEOWM6UDFNWRAXP5YUO7XBH4ZALAJXCWRA4IRDITXJ3QWH42CTWAC
JIMH7VEMQ7QF6VV2D65UISCRG5W55UX5YSQLLUW6SZNSTZMFWQ5AC
const int which_mons =
create_monster( RANDOM_MONSTER, 2, BEH_FRIENDLY,
you.x_pos, you.y_pos, you.pet_target, 250 );
if (which_mons != -1 && which_mons != NON_MONSTER)
menv[which_mons].flags |= MF_HARD_RESET;
create_monster( RANDOM_MONSTER, 2, BEH_FRIENDLY,
you.x_pos, you.y_pos, you.pet_target, 250 );
if ( grid_destroys_items(grd[monster->x][monster->y]) ) {
hostile_grid = true;
}
int midx = (int) monster_index(monster);
for (i = MSLOT_GOLD; i >= MSLOT_WEAPON; i--)
/* drop weapons & missiles last (ie on top) so others pick up */
for (int i = NUM_MONSTER_SLOTS - 1; i >= 0; i--)
grid_item_destruction_message(grd[monster->x][monster->y]));
}
} // end monster_drop_ething()
grid_item_destruction_message(grd(monster->pos())));
}
if (monster->needs_transit())
{
monster->flags |= MF_BANISHED;
monster->set_transit( level_id(LEVEL_ABYSS) );
in_transit = true;
}
// KILL_RESET monsters no longer lose their whole inventory, only
// items they were generated with.
if (!monster->needs_transit())
break;
const int mon = create_monster(skeltypes[power_level], std::min(power/50,6),
friendly ? BEH_FRIENDLY : BEH_HOSTILE,
you.x_pos, you.y_pos, MHITYOU, 250 );
if ( mon != -1 ) // don't want skeletal warriors dropping stuff
menv[mon].flags |= MF_HARD_RESET;
create_monster(skeltypes[power_level], std::min(power/50,6),
friendly ? BEH_FRIENDLY : BEH_HOSTILE,
you.x_pos, you.y_pos, MHITYOU, 250 );