Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, 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
View
3  gemrb/GUIScripts/GUICommonWindows.py
@@ -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
View
3  gemrb/GUIScripts/LUSkillsSelection.py
@@ -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
View
21 gemrb/core/CharAnimations.cpp
@@ -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;
View
4 gemrb/core/GameScript/GameScript.cpp
@@ -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.