summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorevktalo <evktalo@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-09 15:11:18 +0000
committerevktalo <evktalo@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-09 15:11:18 +0000
commit0b4d91ee71f81001e100cffccea5da19d3beb63e (patch)
tree21d1940b907877d6c99b1b2efd1ed5ccdc9987c1 /crawl-ref
parent67d64d5da2659b21c3b4067915bb9e3a6ff7a1b5 (diff)
downloadcrawl-ref-0b4d91ee71f81001e100cffccea5da19d3beb63e.tar.gz
crawl-ref-0b4d91ee71f81001e100cffccea5da19d3beb63e.zip
Add a new low-level unique: Purgy, the meek troll. Used in a Sewer vault.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10127 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/dat/database/monspeak.txt30
-rw-r--r--crawl-ref/source/dat/descript/monsters.txt4
-rw-r--r--crawl-ref/source/dat/sewer.des16
-rw-r--r--crawl-ref/source/dungeon.cc2
-rw-r--r--crawl-ref/source/enum.h1
-rw-r--r--crawl-ref/source/mon-data.h12
-rw-r--r--crawl-ref/source/monstuff.cc1
-rw-r--r--crawl-ref/source/rltiles/dc-mon.txt1
-rw-r--r--crawl-ref/source/rltiles/dc-mon/unique/purgy.pngbin0 -> 1449 bytes
-rw-r--r--crawl-ref/source/tilepick.cc2
10 files changed, 61 insertions, 8 deletions
diff --git a/crawl-ref/source/dat/database/monspeak.txt b/crawl-ref/source/dat/database/monspeak.txt
index 5d39bd7ee7..9c97a2d10f 100644
--- a/crawl-ref/source/dat/database/monspeak.txt
+++ b/crawl-ref/source/dat/database/monspeak.txt
@@ -2367,6 +2367,36 @@ VISUAL:@The_monster@ sucks her thumb.
@The_monster@ whispers @to_foe@, "Hold me, thrill me, kiss me, kill me."
## END Psyche ##
%%%%
+# A teased troll
+Purgy
+
+@_Purgy_common_@
+
+w:5
+@_Purgy_rare_@
+%%%%
+_Purgy_common_
+
+@The_monster@ snarls @at_foe@, "Go! Away!"
+
+VISUAL:@The_monster@ looks around nervously.
+
+@The_monster@ hisses menacingly.
+
+@The_monster@ snarls @at_foe@, "My home! Leave!"
+%%%%
+_Purgy_rare_
+
+VISUAL:@The_monster@ grits it's teeth.
+
+VISUAL:@The_monster@ clenches it's claws.
+
+@The_monster@ hisses @at_foe@, "I bites!"
+
+@The_monster@ pleads @to_foe@, "Don't hit me!"
+
+VISUAL:@The_monster@ looks very sad for a moment.
+%%%%
# A crazy adventurer
Rupert
diff --git a/crawl-ref/source/dat/descript/monsters.txt b/crawl-ref/source/dat/descript/monsters.txt
index 987b029e7b..eb758896c5 100644
--- a/crawl-ref/source/dat/descript/monsters.txt
+++ b/crawl-ref/source/dat/descript/monsters.txt
@@ -256,6 +256,10 @@ Psyche
A fair-haired mage, wandering and seemingly half-mad with grief and guilt.
%%%%
+Purgy
+
+An unusually thin troll.
+%%%%
Roxanne
A beautiful sapphire statue of a famous earth mage who disappeared after a catastrophic spell failure. It is clutching a book.
diff --git a/crawl-ref/source/dat/sewer.des b/crawl-ref/source/dat/sewer.des
index ac357f4903..6cec4b3a9e 100644
--- a/crawl-ref/source/dat/sewer.des
+++ b/crawl-ref/source/dat/sewer.des
@@ -285,12 +285,14 @@ ENDMAP
############################################################################
# The hardest one, and most rare (1 out of 10). Loot is good items.
#
-NAME: sewer_lizard
+NAME: sewer_big_baddie
TAGS: sewer no_item_gen no_monster_gen
ORIENT: encompass
: sewer_colours(_G)
: sewer_random_monster_list(_G)
-MONS: giant lizard
+SUBST: 2 = 23
+KMONS: 2 = giant lizard
+KMONS: 3 = Purgy, giant lizard
ITEM: potion of berserk rage / potion of speed w:5
MONS: giant bat / giant mosquito w:2
MAP
@@ -299,18 +301,18 @@ xxcccccccxxxxxxxxxxxxxxxx
xcc$*|*$ccxxxxxxxxxxxxxxx
xc..$*$..cxxxxxxxxxxxxxxx
xc.......cxxxxxxxxxxxxxxx
-xc...1...cxxxxxxxxxxxxxxx
+xc...2...cxxxxxxxxxxxxxxx
xc.......cxxxxxxxxxxxxxxx
xc.......cxxxxxxxxxxxxxxx
xcc.....ccxxxxxxxxxxxxxxx
xxccc.cccxxxxxcccccccxxxx
-xxxxc.cxxxxxxcc2.2..ccxxx
-xxxxc.cxxxxxcc2..w...ccxx
+xxxxc.cxxxxxxcc1.1..ccxxx
+xxxxc.cxxxxxcc1..w...ccxx
xxxxc.ccccccc...www...ccx
xxxxc..........wwwww.A.cx
-xxxxc.ccccccc2..www...ccx
+xxxxc.ccccccc1..www...ccx
xxxxc.cxxxxxcc...w...ccxx
-xxxxc.cxxxxxxcc2....ccxxx
+xxxxc.cxxxxxxcc1....ccxxx
xxxxc.cxxxxxxxcccccccxxxx
xxxxc.cxxxxxxxxxxxxxxxxxx
xxxxc.cxxxxxxxxxxxxxxxxxx
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 47cca427ea..1c4a49e9a4 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -3252,7 +3252,7 @@ static monster_type _choose_unique_by_depth(int step)
break;
case 1: // depth <= 7
ret = random_choose(MONS_IJYB, MONS_SIGMUND, MONS_BLORK_THE_ORC,
- MONS_EDMUND, MONS_PRINCE_RIBBIT, -1);
+ MONS_EDMUND, MONS_PRINCE_RIBBIT, MONS_PURGY, -1);
break;
case 2: // depth <= 9
ret = random_choose(MONS_BLORK_THE_ORC, MONS_EDMUND, MONS_PSYCHE,
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index 930c1718ac..b31f0bd73e 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -2023,6 +2023,7 @@ enum monster_type // (int) menv[].type
MONS_DISSOLUTION, // 460
MONS_KIRKE,
MONS_GRUM,
+ MONS_PURGY,
// Testing monsters
MONS_TEST_SPAWNER,
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index 4ec5fb9739..430cc44a44 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -4130,6 +4130,18 @@ static monsterentry mondata[] = {
},
{
+ MONS_PURGY, 'T', LIGHTGREEN, "Purgy",
+ M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
+ MR_NO_FLAGS,
+ 900, 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, -2,
+ { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 4},
+ {AT_CLAW, AF_PLAIN, 4}, AT_NO_ATK },
+ { 5, 0, 0, 35 },
+ 1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT, I_NORMAL,
+ HT_LAND, 10, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_LARGE
+},
+
+{
MONS_MURRAY, 'z', LIGHTRED, "Murray",
M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_EVIL | M_NOISY_SPELLS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | mrd(MR_RES_COLD, 2),
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index f2ee6dadc1..73d2240fd3 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -8890,6 +8890,7 @@ bool monster_descriptor(int which_class, mon_desc_type which_descriptor)
case MONS_ROCK_TROLL:
case MONS_SLIME_CREATURE:
case MONS_SNORG:
+ case MONS_PURGY:
case MONS_TROLL:
case MONS_HYDRA:
case MONS_KILLER_KLOWN:
diff --git a/crawl-ref/source/rltiles/dc-mon.txt b/crawl-ref/source/rltiles/dc-mon.txt
index 1a2f9e8d7c..f71122592b 100644
--- a/crawl-ref/source/rltiles/dc-mon.txt
+++ b/crawl-ref/source/rltiles/dc-mon.txt
@@ -429,6 +429,7 @@ oklob_plant MONS_OKLOB_PLANT
## Trolls ('T')
%sdir dc-mon/unique
+purgy MONS_PURGY
snorg MONS_SNORG
%sdir dc-mon
troll MONS_TROLL
diff --git a/crawl-ref/source/rltiles/dc-mon/unique/purgy.png b/crawl-ref/source/rltiles/dc-mon/unique/purgy.png
new file mode 100644
index 0000000000..7352f251b8
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-mon/unique/purgy.png
Binary files differ
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index 5b151d5403..61909dc33e 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -909,6 +909,8 @@ int tileidx_monster_base(const monsters *mon, bool detected)
return TILEP_MONS_EROLCHA;
case MONS_SNORG:
return TILEP_MONS_SNORG;
+ case MONS_PURGY:
+ return TILEP_MONS_PURGY;
case MONS_POLYPHEMUS:
return TILEP_MONS_POLYPHEMUS;
case MONS_ANTAEUS: