summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-11-28 16:47:26 +1000
committerJude Brown <bookofjude@users.sourceforge.net>2009-11-28 16:48:23 +1000
commit1ae80c393d7062179b3478d8294655bf2c6fe6c5 (patch)
tree3a5fa38deb8a7ab8858313499354ea676a9dacde /crawl-ref/source
parentf7d19cfa767ea3114d9f9f39253510a20cb8a8ba (diff)
downloadcrawl-ref-1ae80c393d7062179b3478d8294655bf2c6fe6c5.tar.gz
crawl-ref-1ae80c393d7062179b3478d8294655bf2c6fe6c5.zip
New unrand: +3 robe of Clouds (rElec, +Lev)
It creates clouds of rain and thin mist around the player (very occasionally). Provides insulation and evocable levitation. Also has a tile!
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/art-data.h19
-rw-r--r--crawl-ref/source/art-data.txt11
-rw-r--r--crawl-ref/source/art-func.h27
-rw-r--r--crawl-ref/source/artefact.h3
-rw-r--r--crawl-ref/source/rltiles/dc-player.txt1
-rw-r--r--crawl-ref/source/rltiles/dc-unrand.txt1
-rw-r--r--crawl-ref/source/rltiles/player/body/robe_clouds.pngbin0 -> 961 bytes
-rw-r--r--crawl-ref/source/rltiles/tiledef-unrand.cc2
8 files changed, 63 insertions, 1 deletions
diff --git a/crawl-ref/source/art-data.h b/crawl-ref/source/art-data.h
index a618ceb3f4..18e7f5c132 100644
--- a/crawl-ref/source/art-data.h
+++ b/crawl-ref/source/art-data.h
@@ -1524,6 +1524,25 @@
NULL, NULL, NULL, { NULL }, NULL,
},
+/* UNRAND_RCLOUDS */
+{
+ "robe of Clouds", "flimsy blue robe",
+ OBJ_ARMOUR, ARM_ROBE, +3, 0, ETC_MIST, 0,
+ UNRAND_FLAG_NONE,
+ {
+ SPARM_NORMAL, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+ 0,
+ },
+ "A robe of a material so flimsy it could almost be clouds.",
+ "",
+ "",
+ NULL, NULL, _RCLOUDS_world_reacts, { NULL }, NULL,
+},
+
/* UNRAND_DUMMY2 */
{
"DUMMY UNRANDART 2", "DUMMY UNRANDART 2",
diff --git a/crawl-ref/source/art-data.txt b/crawl-ref/source/art-data.txt
index 2b8e377d4b..3827b0e41c 100644
--- a/crawl-ref/source/art-data.txt
+++ b/crawl-ref/source/art-data.txt
@@ -1110,6 +1110,17 @@ DESC: A shield-shaped amulet.
DESC_END: Back in the good old days, every adventurer had one of these
handy devices. That, and a pony.
+ENUM: RCLOUDS
+NAME: robe of Clouds
+APPEAR: flimsy blue robe
+OBJ: OBJ_ARMOUR/ARM_ROBE
+PLUS: +3
+COLOUR: ETC_MIST
+TILE: urand_clouds
+TILE_EQ: robe_clouds
+BOOL: elec, lev
+DESC: A robe of a material so flimsy it could almost be clouds.
+
# This entry must always be last.
ENUM: DUMMY2
NAME: DUMMY UNRANDART 2
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index 9c75324e20..0ab242d932 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -508,3 +508,30 @@ static void _GONG_melee_effect(item_def* item, actor* wearer,
noisy(40, wearer->pos());
}
+
+///////////////////////////////////////////////////
+
+static void _RCLOUDS_world_reacts(item_def *item)
+{
+ if (one_chance_in(100))
+ return;
+
+ cloud_type cloud;
+ if (one_chance_in(4))
+ cloud = CLOUD_RAIN;
+ else
+ cloud = CLOUD_MIST;
+
+ for (radius_iterator ri(you.pos(), 2); ri; ++ri)
+ if (!cell_is_solid(*ri) && env.cgrid(*ri) == EMPTY_CLOUD
+ && one_chance_in(20))
+ {
+ place_cloud( cloud, *ri, random2(10), KC_OTHER, 1);
+ }
+}
+
+static void _RCLOUDS_equip(item_def *item, bool *show_msgs, bool unmeld)
+{
+ _equip_mpr(show_msgs, "A thin mist springs up around you!");
+}
+
diff --git a/crawl-ref/source/artefact.h b/crawl-ref/source/artefact.h
index ba7ed1c183..80c44e14cc 100644
--- a/crawl-ref/source/artefact.h
+++ b/crawl-ref/source/artefact.h
@@ -13,7 +13,7 @@
class bolt;
// NOTE: NO_UNRANDARTS is automatically set by util/art-data.pl
-#define NO_UNRANDARTS 80
+#define NO_UNRANDARTS 81
#define ART_PROPERTIES ARTP_NUM_PROPERTIES
@@ -116,6 +116,7 @@ enum unrand_type
UNRAND_ROBUSTNESS, // ring of Robustness
UNRAND_MAGE, // ring of the Mage
UNRAND_SHIELDING, // brooch of Shielding
+ UNRAND_RCLOUDS, // robe of Clouds
UNRAND_DUMMY2, // DUMMY UNRANDART 2
UNRAND_LAST = UNRAND_DUMMY2
};
diff --git a/crawl-ref/source/rltiles/dc-player.txt b/crawl-ref/source/rltiles/dc-player.txt
index 1e2c1ef450..2cfc521901 100644
--- a/crawl-ref/source/rltiles/dc-player.txt
+++ b/crawl-ref/source/rltiles/dc-player.txt
@@ -257,6 +257,7 @@ robe_brown3 ROBE_BROWN3
robe_gray2 ROBE_GRAY2
# dresses
robe_misfortune ROBE_MISFORTUNE
+robe_clouds ROBE_CLOUDS
dress_white DRESS_WHITE
arwen ARWEN
skirt_onep_grey SKIRT_ONEP_GREY
diff --git a/crawl-ref/source/rltiles/dc-unrand.txt b/crawl-ref/source/rltiles/dc-unrand.txt
index 0a8e24afb3..82f5f3bafc 100644
--- a/crawl-ref/source/rltiles/dc-unrand.txt
+++ b/crawl-ref/source/rltiles/dc-unrand.txt
@@ -27,6 +27,7 @@ urand_fencer UNRAND_FENCERS_GLOVES
urand_starlight UNRAND_STARLIGHT
urand_ratskin_cloak UNRAND_RATSKIN_CLOAK
urand_gong UNRAND_GONG
+urand_clouds UNRAND_RCLOUDS
%sdir item/weapon/artefact
spwpn_singing_sword UNRAND_SINGING_SWORD
diff --git a/crawl-ref/source/rltiles/player/body/robe_clouds.png b/crawl-ref/source/rltiles/player/body/robe_clouds.png
new file mode 100644
index 0000000000..be8e5f81c3
--- /dev/null
+++ b/crawl-ref/source/rltiles/player/body/robe_clouds.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/tiledef-unrand.cc b/crawl-ref/source/rltiles/tiledef-unrand.cc
index 00d737efc2..d94fb597a4 100644
--- a/crawl-ref/source/rltiles/tiledef-unrand.cc
+++ b/crawl-ref/source/rltiles/tiledef-unrand.cc
@@ -93,6 +93,7 @@ int unrandart_to_tile(int unrand)
case UNRAND_ROBUSTNESS: return TILE_UNRAND_ROBUSTNESS;
case UNRAND_MAGE: return TILE_UNRAND_MAGE;
case UNRAND_SHIELDING: return TILE_UNRAND_SHIELDING;
+ case UNRAND_RCLOUDS: return TILE_UNRAND_RCLOUDS;
default: return -1;
}
}
@@ -114,6 +115,7 @@ int unrandart_to_doll_tile(int unrand)
case UNRAND_MAXWELL: return TILEP_BODY_MAXWELL;
case UNRAND_NIGHT: return TILEP_BODY_ROBE_OF_NIGHT;
case UNRAND_DRAGON_KING: return TILEP_BODY_DRAGONARM_GOLD;
+ case UNRAND_RCLOUDS: return TILEP_BODY_ROBE_CLOUDS;
// BOOTS
case UNRAND_BOOTS_ASSASSIN: return TILEP_BOOTS_MIDDLE_GRAY;
// CLOAK