summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2009-11-13 19:43:31 +0100
committerAdam Borowski <kilobyte@angband.pl>2009-11-13 19:51:51 +0100
commit40ce8c0ee030a84d9736747f12df738ffea8c40a (patch)
tree1048c62cd63686f02368450af7f09f511c7ffb7a /crawl-ref
parent14be7c5cfe60d0d9f1a00cd543c32482bdd544d4 (diff)
downloadcrawl-ref-40ce8c0ee030a84d9736747f12df738ffea8c40a.tar.gz
crawl-ref-40ce8c0ee030a84d9736747f12df738ffea8c40a.zip
Fixedart: shield of the gong. Wakes up everyone in a large radius on being struck.
The exact resists are not yet filled in, we'd need to interrogate zelgadis who provided the idea.
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/art-data.h19
-rw-r--r--crawl-ref/source/art-data.txt10
-rw-r--r--crawl-ref/source/art-func.h14
-rw-r--r--crawl-ref/source/artefact.h3
-rw-r--r--crawl-ref/source/dat/database/wpnnoise.txt19
-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/item/armour/artefact/urand_gong.pngbin0 -> 537 bytes
-rw-r--r--crawl-ref/source/rltiles/player/hand2/gong.pngbin0 -> 213 bytes
-rw-r--r--crawl-ref/source/rltiles/tiledef-unrand.cc2
10 files changed, 68 insertions, 1 deletions
diff --git a/crawl-ref/source/art-data.h b/crawl-ref/source/art-data.h
index 0fa2709a17..f158058876 100644
--- a/crawl-ref/source/art-data.h
+++ b/crawl-ref/source/art-data.h
@@ -1334,6 +1334,25 @@
NULL, NULL, NULL, { NULL }, NULL,
},
+/* UNRAND_GONG */
+{
+ "shield of the gong", "bronze gong",
+ OBJ_ARMOUR, ARM_SHIELD, +6, 0, ETC_GOLD, 0,
+ UNRAND_FLAG_NONE,
+ {
+ SPARM_NORMAL, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+ 0,
+ },
+ "This is a large gong; you wonder if it could be worn as a shield.",
+ "This shield surely will be heard!",
+ "",
+ NULL, NULL, NULL, { _GONG_melee_effect }, NULL,
+},
+
/* UNRAND_AIR */
{
"amulet of the Air", "sky-blue amulet",
diff --git a/crawl-ref/source/art-data.txt b/crawl-ref/source/art-data.txt
index 9b3b1a889a..6dd008d445 100644
--- a/crawl-ref/source/art-data.txt
+++ b/crawl-ref/source/art-data.txt
@@ -1014,6 +1014,16 @@ DESC_END: An enchantress with a magic loom and way too much time on
and looks rather foolish, but it provides excellent protection
from rats of all kinds.
+NAME: shield of the gong
+APPEAR: bronze gong
+OBJ: OBJ_ARMOUR/ARM_SHIELD
+PLUS: +6
+COLOUR: ETC_GOLD
+TILE: urand_gong
+TILE_EQ: gong
+DESC: This is a large gong; you wonder if it could be worn as a shield.
+DESC_ID: This shield surely will be heard!
+
NAME: amulet of the Air
APPEAR: sky-blue amulet
OBJ: OBJ_JEWELLERY/AMU_CONTROLLED_FLIGHT
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index b460304502..83ba5264ad 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -491,3 +491,17 @@ static void _STORM_BOW_world_reacts(item_def *item)
}
///////////////////////////////////////////////////
+
+static void _GONG_melee_effect(item_def* item, actor* wearer,
+ actor* attacker, bool dummy)
+{
+ if (silenced(wearer->pos()))
+ return;
+
+ std::string msg = getSpeakString("shield of the gong");
+ if (msg.empty())
+ msg = "You hear a strange loud sound.";
+ mpr(msg.c_str(), MSGCH_SOUND);
+
+ noisy(40, wearer->pos());
+}
diff --git a/crawl-ref/source/artefact.h b/crawl-ref/source/artefact.h
index 5375c2f03e..0ea8a971d6 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 79
+#define NO_UNRANDARTS 80
#define ART_PROPERTIES ARTP_NUM_PROPERTIES
@@ -106,6 +106,7 @@ enum unrand_type
UNRAND_FENCERS_GLOVES, // Fencer's gloves
UNRAND_STARLIGHT, // cloak of Starlight
UNRAND_RATSKIN_CLOAK, // ratskin cloak
+ UNRAND_GONG, // shield of the gong
UNRAND_AIR, // amulet of the Air
UNRAND_SHADOWS, // ring of Shadows
UNRAND_CEKUGOB, // amulet of Cekugob
diff --git a/crawl-ref/source/dat/database/wpnnoise.txt b/crawl-ref/source/dat/database/wpnnoise.txt
index d26029f086..de309abafb 100644
--- a/crawl-ref/source/dat/database/wpnnoise.txt
+++ b/crawl-ref/source/dat/database/wpnnoise.txt
@@ -894,3 +894,22 @@ silent
boring
%%%%
+############################################################
+# The SHIELD OF THE GONG can be struck in different ways.
+############################################################
+shield of the gong
+
+w:40
+GONNNNG!
+
+BOUMMMMG!
+
+PTOANNNG!
+
+PANG!
+
+BONNNG!
+
+# scraping hit
+SHROANNG!
+%%%%
diff --git a/crawl-ref/source/rltiles/dc-player.txt b/crawl-ref/source/rltiles/dc-player.txt
index 98c4e62156..1e2c1ef450 100644
--- a/crawl-ref/source/rltiles/dc-player.txt
+++ b/crawl-ref/source/rltiles/dc-player.txt
@@ -654,6 +654,7 @@ bladehands BLADEHAND
shield_round_small SHIELD_ROUND_SMALL
shield_round_small2 SHIELD_ROUND_SMALL2
bullseye BULLSEYE
+gong GONG
shield_middle_round SHIELD_MIDDLE_ROUND
shield_skull SHIELD_SKULL
diff --git a/crawl-ref/source/rltiles/dc-unrand.txt b/crawl-ref/source/rltiles/dc-unrand.txt
index 356a53ad39..0a8e24afb3 100644
--- a/crawl-ref/source/rltiles/dc-unrand.txt
+++ b/crawl-ref/source/rltiles/dc-unrand.txt
@@ -26,6 +26,7 @@ urand_alchemist UNRAND_ALCHEMIST
urand_fencer UNRAND_FENCERS_GLOVES
urand_starlight UNRAND_STARLIGHT
urand_ratskin_cloak UNRAND_RATSKIN_CLOAK
+urand_gong UNRAND_GONG
%sdir item/weapon/artefact
spwpn_singing_sword UNRAND_SINGING_SWORD
diff --git a/crawl-ref/source/rltiles/item/armour/artefact/urand_gong.png b/crawl-ref/source/rltiles/item/armour/artefact/urand_gong.png
new file mode 100644
index 0000000000..6e4e2caf72
--- /dev/null
+++ b/crawl-ref/source/rltiles/item/armour/artefact/urand_gong.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/player/hand2/gong.png b/crawl-ref/source/rltiles/player/hand2/gong.png
new file mode 100644
index 0000000000..ae3cf61a1a
--- /dev/null
+++ b/crawl-ref/source/rltiles/player/hand2/gong.png
Binary files differ
diff --git a/crawl-ref/source/rltiles/tiledef-unrand.cc b/crawl-ref/source/rltiles/tiledef-unrand.cc
index 558e0fa69f..00d737efc2 100644
--- a/crawl-ref/source/rltiles/tiledef-unrand.cc
+++ b/crawl-ref/source/rltiles/tiledef-unrand.cc
@@ -83,6 +83,7 @@ int unrandart_to_tile(int unrand)
case UNRAND_FENCERS_GLOVES: return TILE_UNRAND_FENCERS_GLOVES;
case UNRAND_STARLIGHT: return TILE_UNRAND_STARLIGHT;
case UNRAND_RATSKIN_CLOAK: return TILE_UNRAND_RATSKIN_CLOAK;
+ case UNRAND_GONG: return TILE_UNRAND_GONG;
case UNRAND_AIR: return TILE_UNRAND_AIR;
case UNRAND_SHADOWS: return TILE_UNRAND_SHADOWS;
case UNRAND_CEKUGOB: return TILE_UNRAND_CEKUGOB;
@@ -170,6 +171,7 @@ int unrandart_to_doll_tile(int unrand)
case UNRAND_IGNORANCE: return TILEP_HAND2_SHIELD_OF_IGNORANCE;
case UNRAND_BULLSEYE: return TILEP_HAND2_BULLSEYE;
case UNRAND_RESISTANCE: return TILEP_HAND2_SHIELD_OF_RESISTANCE;
+ case UNRAND_GONG: return TILEP_HAND2_GONG;
// HELM
case UNRAND_DYROVEPREVA: return TILEP_HELM_DYROVEPREVA;
case UNRAND_BEAR_SPIRIT: return TILEP_HELM_BEAR;