alright, I've just been working on a script to tie werewolf transformations to the phases of the moon instead of the beast form power. For the past three hours, and its finally compiling. Now I've run into a problem namely that it doesn't seem to work in game, and I'm not sure why. There are no compile errors, its attached to a startgame enabled quest, and its printed below. If anyone can be of help to figuring out how to make this work, I'd be very gracious for their help.
scriptname cohTransformTiming extends Quest{Controls the Timing for transformation.};calling properties, spells, globals, and importing the maths. import Math float property cohGetMoonPhase auto float property cohPhaseDay auto bool property cohCanTransform auto bool property cohbmvar auto bool property NotFirstChange auto Spell property WerewolfChangeEffect auto GlobalVariable Property TimeOfDayGlobalProperty auto GlobalVariable Property GameDaysPassed auto GlobalVariable Property PlayerIsWerewolf auto GlobalVariable Property PlayerWerewolfShiftbacktime auto MagicEffect Property Werewolf auto ; The script should run once every in game minute in this state, otherwise the flavor texts could be desychronized.Event OnUpdateGameTime()RegisterForUpdateGameTime(1.0); Determining Moon Phase Below...Not yet implimented. float timeOfDay = TimeOfDayGlobalProperty.GetValue() float DaysPassed = GameDaysPassed.GetValue() cohGetMoonPhase = 0; Ignore PhaseDay, not functioning in this iteration of the script.;/List of moon phases returned by cohGetMoonPhase.0 = full moon1 = 3/4 waning2 = half waning3 = 1/4 waning4 = new moon5 = 1/4 waxing6 = half waxing7 = 3/4 waxing/;;Not sure what cohPhaseDay should return, though one is an adequete placeholder. If TimeOfDay >= 20 || TimeOfDay < 6 cohCanTransform == true elseif TimeOfDay < 20 || TimeOfDay >= 6 cohCanTransform == falseendif; Hell, it's morphing time! if PlayerIsWerewolf.GetValue() == 1 && cohCanTransform == true && NotFirstChange == true && game.getplayer().HasMagicEffect(Werewolf) == 0 PlayerWerewolfShiftbacktime.SetValue(10000) WerewolfChangeEffect.Cast(Game.GetPlayer(), Game.GetPlayer()) Utility.WaitGameTime ( 0.05 ) Debug.Notification ("Generic Flavor Text") elseif PlayerIsWerewolf.GetValue() == 1 && cohCanTransform == true && NotFirstChange == false && game.getplayer().HasMagicEffect(Werewolf) == 0 PlayerWerewolfShiftbacktime.SetValue(10000) WerewolfChangeEffect.Cast(Game.GetPlayer(), Game.GetPlayer()) Utility.WaitGameTime ( 0.05 ) Debug.MessageBox ("First Post Transform Flavor Text") elseif PlayerIsWerewolf.GetValue() == 1 && game.getplayer().HasMagicEffect(Werewolf) == 1 && cohCanTransform == false PlayerWerewolfShiftbacktime.SetValue(1) game.getplayer().DispelSpell(WerewolfChangeEffect)endifEndEvent