summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-11-10 14:22:04 +1000
committerJude Brown <bookofjude@users.sourceforge.net>2009-11-10 14:24:07 +1000
commit43e85458c7c6205645f844153f2569cb200ee206 (patch)
tree0f4796f985ce5166b02d6202b7a01c62b9db9d9f /crawl-ref/source
parent81177ef944594f12f3493189b70e6ea34debf4a3 (diff)
downloadcrawl-ref-43e85458c7c6205645f844153f2569cb200ee206.tar.gz
crawl-ref-43e85458c7c6205645f844153f2569cb200ee206.zip
Make Crazy Yiuf an actual unique, combining aspects of the Mad Roy FR.
Yiuf still only appears in his cottage (generated from D:2-7), still generates with a quarterstaff of chaos and a cloak, but is now randomly coloured at the start of the game, and has randomised speech. You leg down broken song!
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/dat/database/monspeak.txt325
-rw-r--r--crawl-ref/source/dat/descript/monsters.txt4
-rw-r--r--crawl-ref/source/dat/mini.des21
-rw-r--r--crawl-ref/source/dat/shrine.des2
-rw-r--r--crawl-ref/source/dat/uniques.des22
-rw-r--r--crawl-ref/source/enum.h1
-rw-r--r--crawl-ref/source/mon-data.h12
-rw-r--r--crawl-ref/source/mon-gear.cc16
-rw-r--r--crawl-ref/source/monster.cc5
9 files changed, 385 insertions, 23 deletions
diff --git a/crawl-ref/source/dat/database/monspeak.txt b/crawl-ref/source/dat/database/monspeak.txt
index 5644c1b994..f7d312a378 100644
--- a/crawl-ref/source/dat/database/monspeak.txt
+++ b/crawl-ref/source/dat/database/monspeak.txt
@@ -1319,6 +1319,331 @@ Boris unsummoned
@The_monster@ says, "You can't fire me, I quit!"
## END Boris ##
%%%%
+############ CRAZY YIUF ### A mad old gnoll!
+Crazy Yiuf
+
+@_crazy_yiuf_speech_@
+%%%%
+_crazy_yiuf_speech_
+
+w:30
+@The_monster@ @_crazy_yiuf_speech_verbs_@, "@_crazy_yiuf_sentence_@"
+
+VISUAL:@The_monster@ waves his quarterstaff at you. @player_only@
+
+@The_monster@ cries, "You leg down broken song, no?"
+
+VISUAL:@The_monster@ glowers.
+
+VISUAL:@The_monster@ twirls on the spot.
+
+VISUAL:@The_monster@ flaps his cloak.
+
+@The_monster@ says, "Crazy? Crazy!? PORCUPINE!"
+
+@The_monster@ sings, "Trees, trees, trees, circus!"
+
+w:2
+@The_monster@ says, "I'm not crazy!"
+%%%%
+_crazy_yiuf_speech_verbs_
+
+w:20
+says
+
+whimpers
+
+cries
+
+laughs
+
+screams
+
+yells
+
+burps
+%%%%
+_crazy_yiuf_sentence_
+
+w:2
+@_crazy_yiuf_wordlist1_@! @_crazy_yiuf_wordlist1_@ @_crazy_yiuf_wordlist2_@ @_crazy_yiuf_wordlist2_@.
+
+w:6
+@_crazy_yiuf_wordlist1_@ @_crazy_yiuf_wordlist2_@ @_crazy_yiuf_wordlist2_@!
+
+w:2
+@_crazy_yiuf_wordlist1_@!
+%%%%
+# Uppercase words
+_crazy_yiuf_wordlist1_
+
+You
+
+Peeping
+
+Fire
+
+Action
+
+Aardvark
+
+Announcement
+
+Paint
+
+Snoogle
+
+Hah
+
+Powder
+
+Hack
+
+Scoff
+
+Two
+
+Candle
+
+Gum
+
+Rot
+
+Castle
+
+Cholesterol
+
+Buddy
+
+Snower
+
+Leather
+
+Rifle
+
+Trifle
+
+Fluff
+
+Gnoll
+
+Orb
+
+Adder
+
+Dawk
+
+Goldfish
+
+Shower
+
+Line
+
+Mountain
+
+Tosser
+
+Tonal
+
+East
+
+Blight
+
+Lay
+
+Whiteboard
+
+Flower
+
+Papa
+
+Mama
+
+Whippet
+
+Pitchfork
+
+Cod
+
+Ghoul
+
+Snurf
+
+Goober
+
+Prologue
+
+Proton
+
+Key
+
+Island
+
+Ten
+
+Cards
+
+Sif Muna
+
+Lugonu
+
+Nubble
+
+Race
+
+Seed
+
+Cake
+
+Citrus
+
+Spliff
+
+Defame
+
+Liver
+
+Mugger
+
+Walk
+%%%%
+# Lowercase words
+_crazy_yiuf_wordlist2_
+
+sing-song
+
+sing
+
+song
+
+broken
+
+leg
+
+down
+
+bush
+
+tired
+
+snail
+
+Xom
+
+cower
+
+chair
+
+blue
+
+green
+
+sallow
+
+sow
+
+horse
+
+stair
+
+wrapper
+
+King
+
+infinity
+
+cloud
+
+bag
+
+tea
+
+light
+
+dark
+
+water
+
+foot
+
+shoe
+
+hand
+
+arm
+
+head
+
+eyeball
+
+snockshim
+
+koolooloo
+
+toodlewoodle
+
+childish
+
+ragdoll
+
+seventy
+
+poople
+
+ladder
+
+illywillydillykilly
+
+Orb Guardian
+
+Hive
+
+tortoise
+
+turtle
+
+testudinal
+
+return to song
+
+mobile
+
+senile
+
+canine
+
+disdain
+
+pontify
+
+verde
+
+hog
+
+ena
+
+spinner
+
+agre
+
+arga
+
+meccalolo
+
+fast
+
+aubergine
+
+sanguine
+
+forty-two
+
+unthinkable
+
+high
+
+action
+%%%%
############ DISSOLUTION ### a sentient jelly who used to be human a long time ago
Dissolution
diff --git a/crawl-ref/source/dat/descript/monsters.txt b/crawl-ref/source/dat/descript/monsters.txt
index ac6c0ed235..787757f28d 100644
--- a/crawl-ref/source/dat/descript/monsters.txt
+++ b/crawl-ref/source/dat/descript/monsters.txt
@@ -60,6 +60,10 @@ Chaos spawn
A being of pure chaos, its form is constantly shifting, growing and then losing eyes, mouths, claws and tentacles.
%%%%
+Crazy Yiuf
+
+A withered old goblin with a long silver beard, wielding a quarterstaff and wearing a cloak. He looks like a figure from mythology! Wait, is his beard held on to his ears with hooks?
+%%%%
Daeva
A divine agent of the Shining One, it is a towering winged figure with an aura of brilliant golden light.
diff --git a/crawl-ref/source/dat/mini.des b/crawl-ref/source/dat/mini.des
index f59b182286..e08d81b994 100644
--- a/crawl-ref/source/dat/mini.des
+++ b/crawl-ref/source/dat/mini.des
@@ -2540,27 +2540,6 @@ MAP
ENDMAP
##############################################################################
-# 'cuz we need more chaos weapons (1KB)
-#
-NAME: crazy_cottage
-DEPTH: D:2-7
-MONS: gnoll name:Crazy_Yiuf ; quarterstaff good_item ego:chaos . cloak
-ITEM: hammer
-MAP
-xxxxxxxxxxxxxxxx
-xxtttttttxxtttxx
-xxtttttttttttttx
-....t.tttccccctx
-.....t..tc...ctx
-....tttt....1ctx
-...ttttttc..dctx
-xxtttttttccccctx
-xxtttttttttttttx
-xxxxxttttttttxxx
-xxxxxxxxxxxxxxxx
-ENDMAP
-
-##############################################################################
# Minislime (by Mu.)
#
NAME: minislime_mu
diff --git a/crawl-ref/source/dat/shrine.des b/crawl-ref/source/dat/shrine.des
index e0fdafac77..9b1010ebed 100644
--- a/crawl-ref/source/dat/shrine.des
+++ b/crawl-ref/source/dat/shrine.des
@@ -327,7 +327,7 @@ NAME: shrine_sif
TAGS: shrine no_item_gen no_monster_gen no_pool_fixup
ORIENT: encompass
KFEAT: X = altar_sif_muna
-MONS: orc wizard w:15 / Jessica / Blork the orc
+MONS: orc wizard w:15 / Jessica / Blork the Orc
NSUBST: M = 2:1 / *:.
SUBST: . = ..Z
COLOUR: Z = blue
diff --git a/crawl-ref/source/dat/uniques.des b/crawl-ref/source/dat/uniques.des
index 0dad22d7ef..42e680646e 100644
--- a/crawl-ref/source/dat/uniques.des
+++ b/crawl-ref/source/dat/uniques.des
@@ -480,3 +480,25 @@ MONS: Tiamat band
MAP
1
ENDMAP
+
+###############################################################################
+# Crazy Yiuf! Only in his cottage.
+NAME: uniq_crazy_yiuf_cottage
+DEPTH: D:2-7
+TAGS: place_unique no_monster_gen no_item_gen
+MONS: Crazy Yiuf
+ITEM: hammer
+MAP
+xxxxxxxxxxxxxxxx
+xxtttttttxxtttxx
+xxtttttttttttttx
+....t.tttccccctx
+.....t..tc...ctx
+....tttt....1ctx
+...ttttttc..dctx
+xxtttttttccccctx
+xxtttttttttttttx
+xxxxxttttttttxxx
+xxxxxxxxxxxxxxxx
+ENDMAP
+
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index e6b41bec7d..03250688ab 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -2048,6 +2048,7 @@ enum monster_type // (int) menv[].type
MONS_GOLDEN_EYE,
MONS_AIZUL,
MONS_PIKEL,
+ MONS_CRAZY_YIUF,
// Testing monsters
MONS_TEST_SPAWNER,
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h
index e3294a843d..bf09742926 100644
--- a/crawl-ref/source/mon-data.h
+++ b/crawl-ref/source/mon-data.h
@@ -4402,6 +4402,18 @@ static monsterentry mondata[] = {
},
{
+ MONS_CRAZY_YIUF, 'g', BLACK, "Crazy Yiuf",
+ M_WARM_BLOOD | M_SPEAKS | M_UNIQUE,
+ MR_NO_FLAGS,
+ 750, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
+ { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
+ { 3, 0, 0, 20 },
+ 2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
+ I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
+ MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
+},
+
+{
MONS_ROYAL_JELLY, 'J', YELLOW, "the royal jelly",
M_NO_SKELETON | M_SENSE_INVIS | M_SPECIAL_ABILITY | M_ACID_SPLASH
| M_NO_REGEN | M_UNIQUE,
diff --git a/crawl-ref/source/mon-gear.cc b/crawl-ref/source/mon-gear.cc
index 7fa6b55a39..7cb2860ea9 100644
--- a/crawl-ref/source/mon-gear.cc
+++ b/crawl-ref/source/mon-gear.cc
@@ -318,6 +318,16 @@ static item_make_species_type _give_weapon(monsters *mon, int level,
item.plus2 += -1 + random2(2);
break;
+ case MONS_CRAZY_YIUF:
+ force_item = true; // guaranteed chaos
+ item_race = MAKE_ITEM_NO_RACE;
+ item.base_type = OBJ_WEAPONS;
+ item.sub_type = WPN_QUARTERSTAFF;
+ set_item_ego_type(item, OBJ_WEAPONS, SPWPN_CHAOS);
+ item.plus += random2(5);
+ item.plus2 += random2(4);
+ break;
+
case MONS_ORC:
case MONS_ORC_PRIEST:
item_race = MAKE_ITEM_ORCISH;
@@ -1388,6 +1398,12 @@ void give_armour(monsters *mon, int level)
force_colour = DARKGREY;
break;
+ case MONS_CRAZY_YIUF:
+ item_race = MAKE_ITEM_NO_RACE;
+ item.base_type = OBJ_ARMOUR;
+ item.sub_type = ARM_CLOAK;
+ break;
+
case MONS_DOWAN:
item_race = MAKE_ITEM_ELVEN;
// intentional fall-through
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index 00e41f2bac..d566a40275 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -1509,8 +1509,11 @@ bool monsters::pickup_armour(item_def &item, int near, bool force)
eq = EQ_BODY_ARMOUR;
break;
case ARM_CLOAK:
- if (this->type == MONS_MAURICE || this->type == MONS_NIKOLA)
+ if (this->type == MONS_MAURICE || this->type == MONS_NIKOLA ||
+ this->type == MONS_CRAZY_YIUF)
+ {
eq = EQ_BODY_ARMOUR;
+ }
break;
case ARM_GLOVES:
if (this->type == MONS_NIKOLA)