From 85e11d2d3c892c2ffcd53b0bf55c0e83ce13fb9d Mon Sep 17 00:00:00 2001 From: zelgadis Date: Wed, 14 Jan 2009 12:00:48 +0000 Subject: Implented some ranged brands from FR #2006917 and #1891231: shadow and penetration (not phasing) for launchers and shadow, penetration, dispersal, exploding, steel and silver for ammo. Never randomly generated. If a launcher of venom is used to launch flame or ice ammo then the resulting bolt will be poisoned, just like poisoned ammo launched from a launcer of flame or frost. Put missile beam setup code that's common to monsters and the player in setup_missile_beam(). Removed mons_thrown_object_destroyed(), thrown_object_destroyed() is now used for both monsters and the player. The bolt struct has several new callback fields that can be set to alter the beam's behaviour; currently only used by the brands implemented in this commit, but they should be general enough to be used by anything. The bolt struct has the new field "special_explosion" which can be used to cause an explosion with flavour and/or damage dice different than the rest of the beam. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8449 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/itemprop.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'crawl-ref/source/itemprop.cc') diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc index ac3411bc0f..f441b8e089 100644 --- a/crawl-ref/source/itemprop.cc +++ b/crawl-ref/source/itemprop.cc @@ -2566,8 +2566,16 @@ int item_mass( const item_def &item ) break; case OBJ_MISSILES: + { unit_mass = Missile_prop[ Missile_index[item.sub_type] ].mass; + int brand = get_ammo_brand(item); + + if (brand == SPMSL_SILVER) + unit_mass *= 2; + else if(brand == SPMSL_STEEL) + unit_mass *= 3; break; + } case OBJ_FOOD: unit_mass = Food_prop[ Food_index[item.sub_type] ].mass; -- cgit v1.2.3-54-g00ecf