4
Fork 0

Moved SetActorScale from _00E_QuestFunctions to a dedicated script to workaround the issue, when users overwrite _00E_QuestFunctions installing outdated mods and break player rescaling

master
Eddoursul 3 months ago
parent 17eda9b80c
commit 4af0bac863
  1. 3
      Enderal SE v2.0.12 Changelog.txt
  2. BIN
      scripts/_00e_cqc05_functions.pex
  3. BIN
      scripts/_00e_cqj05_functions.pex
  4. BIN
      scripts/_00e_mq10a_functions.pex
  5. BIN
      scripts/_00e_mq12c_functions.pex
  6. BIN
      scripts/_00e_nq_g_07_functions.pex
  7. BIN
      scripts/_00e_setactorscale.pex
  8. 2
      source/scripts/_00e_cqc05_functions.psc
  9. 2
      source/scripts/_00e_cqj05_functions.psc
  10. 2
      source/scripts/_00e_mq10a_functions.psc
  11. 2
      source/scripts/_00e_mq12c_functions.psc
  12. 2
      source/scripts/_00e_nq_g_07_functions.psc
  13. 14
      source/scripts/_00e_setactorscale.psc

@ -22,7 +22,8 @@ Beware, spoilers ahead!
- Merged Armor Addon Fix for Qyranians and Arazealeans by SatansFetusLegs (thanks!).
- Fixed incorrect water type near a bandit camp near Ark (reported by Atmene).
- Added a bug report link to the main menu, opening the Enderal SE discord.
- To work around the engine bug, causing skills to level up after starting new game twice, Enderal now requires full game restart, if user wants to start a new game after quitting to the main menu.
- To work around the engine bug, causing skills to level up, Enderal now requires full game restart, if user wants to start a new game after quitting to the main menu.
- Moved SetActorScale from _00E_QuestFunctions to a dedicated script to workaround the issue, when users overwrite _00E_QuestFunctions installing outdated mods and break player rescaling.
- Fixed behavior of two dogs in the Noble Quarter, they no longer sit in one place through the whole game.
- You can now keep the second Rune Key from the Abandoned Temple.
- Added the VendorItemFoodRaw keyword to fruits and vegetables.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -130,7 +130,7 @@ Function PlayKiss()
_00E_MC_CaliaREF.UnEquipItem(Torch01, True)
_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
If Player.GetRace() == HighElfRace
fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.92)
fPlayerScale = _00E_SetActorScale.Change(PlayerREF, 0.92)
EndIf
Int iHand = 0

@ -49,7 +49,7 @@ Function PlayKissAnimation()
_00E_QuestFunctions.EndWerewolfModeWhenTransformed()
If Player.GetRace() == HighElfRace
fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.92)
fPlayerScale = _00E_SetActorScale.Change(PlayerREF, 0.92)
EndIf
If PlayerREF.GetEquippedShield() != None

@ -15,7 +15,7 @@ Function SetUpScene()
MQ10a_SC1_HeartParentREF.Enable()
Levelsystem.RemoveSilence()
PlayerREF.MoveTo(PlayerStartMarkerNew)
fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.85)
fPlayerScale = _00E_SetActorScale.Change(PlayerREF, 0.85)
Levelsystem.SkipTimeToHour(18.4)
Game.ForceFirstPerson()
_00E_QuestFunctions.PlayerAIWalkStop() ; workaround for the "uncompiled scripts bug" of patch 1.5.8.0

@ -254,7 +254,7 @@ Function StartSC03()
_00E_QuestFunctions.PlayerAIWalkStop()
Game.ShowFirstPersonGeometry(False)
Game.RequestAutoSave()
fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.85)
fPlayerScale = _00E_SetActorScale.Change(PlayerREF, 0.85)
TimeScale.SetValue(0.1)
Levelsystem.SkipTimeToHour(18.5)
ImageSpaceModifier.RemoveCrossFade(3)

@ -486,7 +486,7 @@ EndFunction
Function PlayKiss()
If PlayerREF.GetActorBase().GetRace() == HighElfRace
fPlayerScale = _00E_QuestFunctions.SetActorScale(PlayerREF, 0.92)
fPlayerScale = _00E_SetActorScale.Change(PlayerREF, 0.92)
EndIf
PlayerREF.UnequipItem(PlayerREF.GetEquippedShield(), false, true)

@ -0,0 +1,14 @@
Scriptname _00E_SetActorScale Hidden
Float Function Change(Actor akActor, Float fNewScale) Global
; Sets the scale of akActor to fNewScale and returns the old scale.
; This is a workaround for GetScale() returning the cumulative scale of Race.Height * Actor.Scale for actors.
; So it results in a messed up scale if the value returned by GetScale() is used to revert the scale change for an actor whose race has a non-1.00 height (for example, HighElfRace)
Float fOriginalScale = akActor.GetScale()
akActor.SetScale(fNewScale)
; Now use the known fNewScale and the return of GetScale() to get the race height coeff, and apply that coeff to fOriginalScale to calculate the true actor's reference scale.
Return fOriginalScale * fNewScale / akActor.GetScale()
EndFunction
Loading…
Cancel
Save