diff options
Diffstat (limited to 'crawl-ref/source/makeitem.cc')
-rw-r--r-- | crawl-ref/source/makeitem.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index 3239939309..a4a01cef01 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -3697,7 +3697,8 @@ static item_make_species_type _give_weapon(monsters *mon, int level, // Hands out ammunition fitting the monster's launcher (if any), or else any // throwable weapon depending on the monster type. static void _give_ammo(monsters *mon, int level, - item_make_species_type item_race) + item_make_species_type item_race, + bool mons_summoned) { // Note that item_race is not reset for this section. if (const item_def *launcher = mon->launcher()) @@ -3798,7 +3799,7 @@ static void _give_ammo(monsters *mon, int level, qty = 3 + random2(6); } } - if (one_chance_in(6)) + if (one_chance_in(6) && !mons_summoned) { weap_class = OBJ_MISSILES; weap_type = MI_THROWING_NET; @@ -3816,6 +3817,9 @@ static void _give_ammo(monsters *mon, int level, // fall through case MONS_HAROLD: // bounty hunters case MONS_JOZEF: // up to 5 nets + if (mons_summoned) + break; + weap_class = OBJ_MISSILES; weap_type = MI_THROWING_NET; qty = 1; @@ -4180,7 +4184,8 @@ void give_armour(monsters *mon, int level) mitm[thing_created].colour = force_colour; } -void give_item(int mid, int level_number) //mv: cleanup+minor changes +void give_item(int mid, int level_number, + bool mons_summoned) //mv: cleanup+minor changes { monsters *mons = &menv[mid]; @@ -4190,7 +4195,7 @@ void give_item(int mid, int level_number) //mv: cleanup+minor changes const item_make_species_type item_race = _give_weapon(mons, level_number); - _give_ammo(mons, level_number, item_race); + _give_ammo(mons, level_number, item_race, mons_summoned); give_armour(mons, 1 + level_number / 2); give_shield(mons, 1 + level_number / 2); } |