diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-28 16:47:26 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-28 16:48:23 +1000 |
commit | 1ae80c393d7062179b3478d8294655bf2c6fe6c5 (patch) | |
tree | 3a5fa38deb8a7ab8858313499354ea676a9dacde /crawl-ref/source | |
parent | f7d19cfa767ea3114d9f9f39253510a20cb8a8ba (diff) | |
download | crawl-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.h | 19 | ||||
-rw-r--r-- | crawl-ref/source/art-data.txt | 11 | ||||
-rw-r--r-- | crawl-ref/source/art-func.h | 27 | ||||
-rw-r--r-- | crawl-ref/source/artefact.h | 3 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-player.txt | 1 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-unrand.txt | 1 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/player/body/robe_clouds.png | bin | 0 -> 961 bytes | |||
-rw-r--r-- | crawl-ref/source/rltiles/tiledef-unrand.cc | 2 |
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 Binary files differnew file mode 100644 index 0000000000..be8e5f81c3 --- /dev/null +++ b/crawl-ref/source/rltiles/player/body/robe_clouds.png 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 |