From: <ave...@us...> - 2009-09-18 16:03:28
|
Revision: 7204 http://gemrb.svn.sourceforge.net/gemrb/?rev=7204&view=rev Author: avenger_teambg Date: 2009-09-18 16:03:19 +0000 (Fri, 18 Sep 2009) Log Message: ----------- added evasion to spell resistance checks Modified Paths: -------------- gemrb/trunk/gemrb/docs/en/Tables/damage.txt gemrb/trunk/gemrb/override/how/splprot.2da gemrb/trunk/gemrb/override/iwd/splprot.2da gemrb/trunk/gemrb/plugins/IWDOpcodes/IWDOpc.cpp Modified: gemrb/trunk/gemrb/docs/en/Tables/damage.txt =================================================================== --- gemrb/trunk/gemrb/docs/en/Tables/damage.txt 2009-09-18 15:21:24 UTC (rev 7203) +++ gemrb/trunk/gemrb/docs/en/Tables/damage.txt 2009-09-18 16:03:19 UTC (rev 7204) @@ -6,3 +6,5 @@ GRADIENT - fake coloured animations will be recoloured with this gradient Rows - damage types + +See also: dmgtype.txt Modified: gemrb/trunk/gemrb/override/how/splprot.2da =================================================================== --- gemrb/trunk/gemrb/override/how/splprot.2da 2009-09-18 15:21:24 UTC (rev 7203) +++ gemrb/trunk/gemrb/override/how/splprot.2da 2009-09-18 16:03:19 UTC (rev 7204) @@ -64,7 +64,7 @@ 60 ALIGNMENT 0x10 5 alignment/not_lawful 61 ALIGNMENT 0x30 1 alignment/chaotic 62 ALIGNMENT 0x30 5 alignment/not_chaotic -63 ? * * evasion_check +63 0x109 * * evasion_check 64 RACE 160 1 race/orc 65 RACE 160 5 race/not_orc 66 EXTSTATE ? 9 extstate/deaf Modified: gemrb/trunk/gemrb/override/iwd/splprot.2da =================================================================== --- gemrb/trunk/gemrb/override/iwd/splprot.2da 2009-09-18 15:21:24 UTC (rev 7203) +++ gemrb/trunk/gemrb/override/iwd/splprot.2da 2009-09-18 16:03:19 UTC (rev 7204) @@ -64,7 +64,7 @@ 60 ALIGNMENT 0x10 5 alignment/not_lawful 61 ALIGNMENT 0x30 1 alignment/chaotic 62 ALIGNMENT 0x30 5 alignment/not_chaotic -63 ? * * evasion_check +63 0x109 * * evasion_check 64 RACE 160 1 race/orc 65 RACE 160 5 race/not_orc 66 EXTSTATE ? 9 extstate/deaf Modified: gemrb/trunk/gemrb/plugins/IWDOpcodes/IWDOpc.cpp =================================================================== --- gemrb/trunk/gemrb/plugins/IWDOpcodes/IWDOpc.cpp 2009-09-18 15:21:24 UTC (rev 7203) +++ gemrb/trunk/gemrb/plugins/IWDOpcodes/IWDOpc.cpp 2009-09-18 16:03:19 UTC (rev 7204) @@ -432,6 +432,7 @@ #define STI_AREATYPE 0x106 #define STI_DAYTIME 0x107 #define STI_EA 0x108 +#define STI_EVASION 0x109 #define STI_INVALID 0xffff //returns true if iwd ids targeting resists the spell @@ -485,6 +486,15 @@ return 1; case STI_CIRCLESIZE: return DiffCore((ieDword) target->GetAnims()->GetCircleSize(), val, spellres[type].relation); + case STI_EVASION: + if (target->GetStat(IE_LEVELTHIEF) < 7 ) { + return 0; + } + val = target->GetSavingThrow(1,0); //breath + if (val) { + return 1; + } + return 0; default: return DiffCore(STAT_GET(idx), val, spellres[type].relation); } @@ -1114,7 +1124,7 @@ damage *= 2; } //check saving throw - bool st = target->GetSavingThrow(4,0); //spell + bool st = target->GetSavingThrow(0,0); //spell if (st) { target->Damage(damage/2, DAMAGE_FIRE, Owner); return FX_NOT_APPLIED; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |