From: Jaka K. <lyn...@us...> - 2012-02-26 10:09:34
|
gemrb: Infinity Engine emulator The branch master has been updated via a3c2509000b925a7e188f7b47c680e5e26beaf8e (commit) via 79ab0438826f56b0f82b182ae77ae170c99e7f86 (commit) Summary of changes: gemrb/core/Scriptable/Actor.cpp | 42 ++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 13 deletions(-) from f40a83a6a7d595e0541a5a5090cdfb578ab321b9 (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=a3c2509000b925a7e188f7b47c680e5e26beaf8e commit a3c2509000b925a7e188f7b47c680e5e26beaf8e Author: Jaka Kranjc <lyn...@us...> Date: Sun Feb 26 11:04:08 2012 +0100 added iwd2 proficiency bonus/malus diff --git a/gemrb/core/Scriptable/Actor.cpp b/gemrb/core/Scriptable/Actor.cpp index 00c7aa4..69afde4 100644 --- a/gemrb/core/Scriptable/Actor.cpp +++ b/gemrb/core/Scriptable/Actor.cpp @@ -5160,7 +5160,7 @@ bool Actor::GetCombatDetails(int &tohit, bool leftorright, WeaponInfo& wi, ITMEx DamageBonus += wspecial[stars][1]; speed += wspecial[stars][2]; // add non-proficiency penalty, which is missing from the table - if (stars == 0) { + if (stars == 0 && !third) { ieDword clss = BaseStats[IE_CLASS]; //Is it a PC class? if (clss < (ieDword) classcount) { @@ -5213,17 +5213,33 @@ bool Actor::GetCombatDetails(int &tohit, bool leftorright, WeaponInfo& wi, ITMEx //second parameter is left or right hand flag tohit = GetToHit(THAC0Bonus, wi.wflags, target); - // iwd2 gives a dualwielding bonus when using a simple weapon in the offhand - if (third && IsDualWielding()) { - switch (wi.prof) { - case 1: // xbow - case 2: // sling - case 4: // mace - case 5: // dart - case 7: // dagger - case 8: // staff - case 11: // short sword - tohit += 2; + if (third) { + // "star" system: 1 - no penalty, 2 - +1 tohit, 3 - +2dmg + switch (stars) { + case 0: + tohit -= 4; + break; + case 1: + break; + case 2: + tohit += 1; + break; + case 3: + DamageBonus += 2; + } + + // iwd2 gives a dualwielding bonus when using a simple weapon in the offhand + if (IsDualWielding()) { + switch (wi.prof) { + case 1: // xbow + case 2: // sling + case 4: // mace + case 5: // dart + case 7: // dagger + case 8: // staff + case 11: // short sword + tohit += 2; + } } } http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=79ab0438826f56b0f82b182ae77ae170c99e7f86 commit 79ab0438826f56b0f82b182ae77ae170c99e7f86 Author: Jaka Kranjc <lyn...@us...> Date: Sun Feb 26 11:01:28 2012 +0100 fixed the nonproficient tohit penalty for nonpc classes (add/sub) diff --git a/gemrb/core/Scriptable/Actor.cpp b/gemrb/core/Scriptable/Actor.cpp index 2679087..00c7aa4 100644 --- a/gemrb/core/Scriptable/Actor.cpp +++ b/gemrb/core/Scriptable/Actor.cpp @@ -5167,7 +5167,7 @@ bool Actor::GetCombatDetails(int &tohit, bool leftorright, WeaponInfo& wi, ITMEx THAC0Bonus -= defaultprof[clss]; } else { //it is not clear what is the penalty for non player classes - THAC0Bonus -= 4; + THAC0Bonus += 4; } } ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |