From 2f0027fc198f14dd2ed745df59427f0580ffd9ca Mon Sep 17 00:00:00 2001 From: dshaligram Date: Mon, 21 Apr 2008 00:01:25 +0000 Subject: Make lajatangs more common to compensate for the weaker quarterstaff. Also strengthened Agnes slightly, speeded her up a bit further, and gave her a lajatang. Lajatangs can now be generated with a brand. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4426 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/dat/descript/monsters.txt | 2 +- crawl-ref/source/itemprop.cc | 2 +- crawl-ref/source/makeitem.cc | 32 +++++++++++++++++++++++++----- crawl-ref/source/mon-data.h | 4 ++-- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/crawl-ref/source/dat/descript/monsters.txt b/crawl-ref/source/dat/descript/monsters.txt index 59327d9ea2..f03291b7f6 100644 --- a/crawl-ref/source/dat/descript/monsters.txt +++ b/crawl-ref/source/dat/descript/monsters.txt @@ -114,7 +114,7 @@ You feel a lump in the pit of your stomach. %%%% Agnes -A lanky warrior. +A lanky warrior, she moves at a great pace and carries an exotic weapon. %%%% Antaeus diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc index e1b2388b4c..0412d78b7b 100644 --- a/crawl-ref/source/itemprop.cc +++ b/crawl-ref/source/itemprop.cc @@ -1428,6 +1428,7 @@ int weapon_rarity( int w_type ) case WPN_DIRE_FLAIL: case WPN_SCYTHE: case WPN_LONGBOW: + case WPN_LAJATANG: return (2); case WPN_GIANT_CLUB: @@ -1439,7 +1440,6 @@ int weapon_rarity( int w_type ) case WPN_EVENINGSTAR: case WPN_EXECUTIONERS_AXE: case WPN_KATANA: - case WPN_LAJATANG: case WPN_KNIFE: case WPN_QUICK_BLADE: case WPN_TRIPLE_SWORD: diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index 88820c61d2..5fda33f461 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -865,11 +865,11 @@ static weapon_type determine_weapon_subtype(int item_level) WPN_TRIPLE_SWORD }; - if (random2(20) < 20 - item_level) - rc = RANDOM_ELEMENT(common_subtypes); - else if (item_level > 6 && random2(100) < (10 + item_level) - && one_chance_in(30)) + if (item_level > 6 && random2(100) < (10 + item_level) + && one_chance_in(30)) rc = RANDOM_ELEMENT(rare_subtypes); + else if (random2(20) < 20 - item_level) + rc = RANDOM_ELEMENT(common_subtypes); else { // pick a weapon based on rarity @@ -1452,6 +1452,22 @@ static brand_type determine_weapon_brand(const item_def& item, int item_level) rc = SPWPN_PROTECTION; break; + case WPN_LAJATANG: + if (one_chance_in(8)) + rc = SPWPN_SPEED; + else if (one_chance_in(12)) + rc = SPWPN_PAIN; + else if (got_distortion_roll(item_level)) + rc = SPWPN_DISTORTION; + else if (one_chance_in(9)) + rc = SPWPN_PROTECTION; + else if (one_chance_in(6)) + rc = SPWPN_ELECTROCUTION; + else if (one_chance_in(5)) + rc = SPWPN_VAMPIRICISM; + else if (one_chance_in(6)) + rc = SPWPN_VENOM; + break; case WPN_DEMON_TRIDENT: case WPN_DEMON_WHIP: @@ -3506,11 +3522,17 @@ static item_make_species_type give_weapon(monsters *mon, int level, case MONS_PSYCHE: case MONS_DONALD: case MONS_JOSEPHINE: - case MONS_AGNES: item.base_type = OBJ_WEAPONS; item.sub_type = WPN_DAGGER; break; + case MONS_AGNES: + item.base_type = OBJ_WEAPONS; + item.sub_type = WPN_LAJATANG; + if (!one_chance_in(3)) + level = MAKE_GOOD_ITEM; + break; + case MONS_CEREBOV: force_item = true; make_item_fixed_artefact( item, false, SPWPN_SWORD_OF_CEREBOV ); diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h index cd3a4c71e3..68e98dadb6 100644 --- a/crawl-ref/source/mon-data.h +++ b/crawl-ref/source/mon-data.h @@ -4003,10 +4003,10 @@ M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE, MR_NO_FLAGS, 0, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5, - { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, + { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 11, 0, 0, 140 }, 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_NORMAL, - HT_LAND, 15, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM + HT_LAND, 18, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM }, { -- cgit v1.2.3-54-g00ecf