From: KiloByte <cas...@us...> - 2009-12-31 13:54:07
|
via 9939a9514e001f19dc384d8ae8b27940327afbe8 (commit) via d9455c8463eda0347a0fa230190454c56b193ebc (commit) from 8d8a727b80167a76d8282614fff1610fd9625a61 (commit) ----------------------------------------------------------------------- commit 9939a9514e001f19dc384d8ae8b27940327afbe8 Author: Adam Borowski <kil...@an...> Date: Thu Dec 31 14:45:31 2009 +0100 Apply a stepdown on power to make damage more constant. commit d9455c8463eda0347a0fa230190454c56b193ebc Author: Adam Borowski <kil...@an...> Date: Thu Dec 31 14:19:44 2009 +0100 Don't give exp for kills by neutrals. ----------------------------------------------------------------------- Summary of changes: crawl-ref/source/mon-project.cc | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crawl-ref/source/mon-project.cc b/crawl-ref/source/mon-project.cc index 86ebc0a..b5806b7 100644 --- a/crawl-ref/source/mon-project.cc +++ b/crawl-ref/source/mon-project.cc @@ -36,7 +36,7 @@ bool cast_iood(actor *caster, int pow, bolt *beam) int mind = mons_place(mgen_data(MONS_ORB_OF_DESTRUCTION, (caster->atype() == ACT_PLAYER) ? BEH_FRIENDLY : - ((monsters*)caster)->wont_attack() ? BEH_FRIENDLY : BEH_HOSTILE, + ((monsters*)caster)->friendly() ? BEH_FRIENDLY : BEH_HOSTILE, caster, 0, SPELL_IOOD, @@ -57,7 +57,7 @@ bool cast_iood(actor *caster, int pow, bolt *beam) mon.props["iood_vx"] = (float)(beam->target.x - pos.x); mon.props["iood_vy"] = (float)(beam->target.y - pos.y); mon.props["iood_kc"].get_byte() = (caster->atype() == ACT_PLAYER) ? KC_YOU : - ((monsters*)caster)->wont_attack() ? KC_FRIENDLY : KC_OTHER; + ((monsters*)caster)->friendly() ? KC_FRIENDLY : KC_OTHER; mon.props["iood_pow"].get_short() = pow; mon.flags &= ~MF_JUST_SUMMONED; @@ -116,7 +116,8 @@ bool _iood_hit(monsters &mon, const coord_def &pos, bool big_boom = false) beam.source = pos; beam.target = pos; beam.hit = AUTOMATIC_HIT; - beam.damage = dice_def(6, mon.props["iood_pow"].get_short()/4); + const int pow = mon.props["iood_pow"].get_short(); + beam.damage = dice_def(8, stepdown_value(pow, 30, 30, 200, -1) / 4); beam.ex_size = 1; monster_die(&mon, KILL_DISMISSED, NON_MONSTER); -- Dungeon Crawl Stone Soup |