Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

...
  • 4 commits
  • 4 files changed
  • 0 commit comments
  • 1 contributor
Commits on Apr 28, 2013
fizzet fizzet make trigger evaluation more robust against scripting errors
When an unfinished OR block was encountered in a condition the
trigger would always evaluate to true. Instead, use the subresult
we got until that point.

This fixes a bug with Viconia in AR1000 in BG2. The vicg1 script
used by the fanatics has a buggy OR block that claims to have 4
conditions but actually only contains 2. Since it would always
evaluate to true, the fanatics escaped the area immediately which
meant that Viconia was never burnt, and if you cut her down from
the stake you'd enter an endlessly repeating dialog
09155cc
fizzet fizzet don't break on cutscenes when resting outside, either 66418f1
fizzet fizzet fix some animation cycles for IE_ANI_CODE_MIRROR_3
Fixes phases of invisibility for MIGO, MKUL, and MSPS.
cca834d
fizzet fizzet LevelUp: also reset the skills top index global var
Otherwise we may break if the scrollbar's been moved and the next
character can select from more more skills than the previous.
bd1600b
3  gemrb/GUIScripts/GUICommonWindows.py
View
@@ -1814,5 +1814,6 @@ def ToggleAlwaysRun():
GemRB.GameControlToggleAlwaysRun()
def RestPress ():
- GemRB.RestParty(0, 0, 1)
+ if GemRB.RestParty(0, 0, 1):
+ GUICommon.CloseOtherWindow(None)
return
3  gemrb/GUIScripts/LUSkillsSelection.py
View
@@ -237,7 +237,8 @@ def SetupSkillsWindow (pc, type, window, callback, level1=[0,0,0], level2=[1,1,1
return
#skills scrollbar
- GemRB.SetVar ("SkillsTopIndex", 0)
+ SkillsTopIndex = 0
+ GemRB.SetVar ("SkillsTopIndex", SkillsTopIndex)
if len(SkillsIndices) > SkillsNumButtons:
ScrollBar.SetEvent (IE_GUI_SCROLLBAR_ON_CHANGE, SkillScrollBarPress)
#decrease it with the number of controls on screen (list size) and two unrelated rows
21 gemrb/core/CharAnimations.cpp
View
@@ -1485,6 +1485,7 @@ void CharAnimations::AddVHR3Suffix(char* ResRef, unsigned char StanceID,
case IE_ANI_ATTACK: //temporarily
case IE_ANI_ATTACK_BACKSLASH:
strcat( ResRef, "g21" );
+ Cycle+=9;
break;
case IE_ANI_ATTACK_SLASH:
@@ -1492,22 +1493,18 @@ void CharAnimations::AddVHR3Suffix(char* ResRef, unsigned char StanceID,
break;
case IE_ANI_ATTACK_JAB:
- strcat( ResRef, "g26" );
+ case IE_ANI_CONJURE://ending
+ strcat( ResRef, "g22" );
Cycle+=18;
break;
case IE_ANI_CAST: //looping
- strcat( ResRef, "g25" );
- Cycle+=45;
- break;
-
- case IE_ANI_CONJURE://ending
- strcat( ResRef, "g26" );
- Cycle+=36;
+ strcat( ResRef, "g22" );
+ Cycle+=27;
break;
case IE_ANI_SHOOT:
- strcat( ResRef, "g24" );
+ strcat( ResRef, "g23" );
Cycle+=27;
break;
@@ -1518,12 +1515,8 @@ void CharAnimations::AddVHR3Suffix(char* ResRef, unsigned char StanceID,
break;
case IE_ANI_SLEEP:
- strcat( ResRef, "g15" );
- Cycle+=45;
- break;
-
case IE_ANI_TWITCH:
- strcat( ResRef, "g14" );
+ strcat( ResRef, "g15" );
Cycle+=45;
break;
4 gemrb/core/GameScript/GameScript.cpp
View
@@ -2177,6 +2177,9 @@ bool Condition::Evaluate(Scriptable* Sender)
//we started an Or() block
if (ORcount) {
Log(WARNING, "GameScript", "Unfinished OR block encountered!");
+ if (!subresult) {
+ return 0;
+ }
}
ORcount = result;
subresult = false;
@@ -2195,6 +2198,7 @@ bool Condition::Evaluate(Scriptable* Sender)
}
if (ORcount) {
Log(WARNING, "GameScript", "Unfinished OR block encountered!");
+ return subresult;
}
return 1;
}

No commit comments for this range

Something went wrong with that request. Please try again.