From: Laszlo T. <ave...@us...> - 2011-07-31 22:04:09
|
gemrb: Infinity Engine emulator The branch master has been updated via 2ead2dee711828309d093dac66f7143c71328e74 (commit) Summary of changes: gemrb/core/Scriptable/Actor.cpp | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) from 8594fe5b70b6d2eaedd9c33260514cc54ae34528 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=2ead2dee711828309d093dac66f7143c71328e74 commit 2ead2dee711828309d093dac66f7143c71328e74 Author: Avenger <ave...@so...> Date: Mon Aug 1 00:02:31 2011 +0200 Damage now actually honours the guardian mantle bit diff --git a/gemrb/core/Scriptable/Actor.cpp b/gemrb/core/Scriptable/Actor.cpp index 2905501..bdf8059 100644 --- a/gemrb/core/Scriptable/Actor.cpp +++ b/gemrb/core/Scriptable/Actor.cpp @@ -5046,6 +5046,16 @@ void Actor::ModifyDamage(Actor *target, Scriptable *hitter, int &damage, int &re } } + //guardian mantle for PST + if ((hitter->Type==ST_ACTOR) && (target->Modified[IE_IMMUNITY]&IMM_GUARDIAN) ) { + Actor *attacker = (Actor *) hitter; + //if the hitter doesn't make the spell save, the mantle works and the damage is 0 + if (!attacker->GetSavingThrow(0,-4) ) { + damage = 0; + return; + } + } + // only check stone skins if damage type is physical or magical // DAMAGE_CRUSHING is 0, so we can't AND with it to check for its presence if (!(damagetype & ~(DAMAGE_PIERCING|DAMAGE_SLASHING|DAMAGE_MISSILE|DAMAGE_MAGIC))) { ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |