From 5b618acbca35621d699dc4ba3064f2a3228a5131 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Mon, 20 Aug 2007 12:23:38 +0000 Subject: Added throwing nets. These still need work, and thus are not for 0.3. Obviously. Summary: New item type MI_THROWING_NET. The enchantment of a net describes its state, i.e. whether it's brand-new or almost falling apart (happens at -8). New attribute ATTR_CAUGHT (for monsters ENCH_CAUGHT) that means the victim cannot move and instead struggles against the net until it manages to wriggle out of it (takes a while depending on size) or it is destroyed. Monsters can still use items and spells when trapped. New trap type TRAP_NET that currently is the only source of throwing nets, though Gladiators (and some types of hunters maybe?) should start with a few, and David suggested also allowing the creation of nets for shops. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2020 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/describe.cc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/describe.cc') diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index b383f6cb99..704ec52e2e 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -334,7 +334,7 @@ static const char *trap_names[] = { "dart", "arrow", "spear", "axe", "teleport", "amnesia", "blade", - "bolt", "zot", "needle", + "bolt", "net", "zot", "needle", }; const char *trap_name(trap_type trap) @@ -1374,6 +1374,29 @@ static std::string describe_ammo( const item_def &item ) description += "Unfortunately, it is too long and awkward " "for you to use."; break; + case MI_THROWING_NET: + description += "A throwing net as used by gladiators. "; + if (!is_throwable(item, you.body_size())) + description += "Unfortunately, it is too large for you to throw. "; + if (item.plus < 0) + { + std::string how; + if (item.plus > -3) + how = "a little"; + else if (item.plus > -5) + how = "somewhat"; + else if (item.plus > -7) + how = "very"; + else + how = "extremely"; + + description += "It looks "; + description += how; + description += " worn."; + } + else if (item.plus > 1) + description += "The net looks brand-new!"; + break; case MI_NONE: // was eggplant description += "A purple vegetable. " "The presence of this object in the game indicates a bug. "; -- cgit v1.2.3-54-g00ecf