diff --git a/Silent shouts perk.esp b/Silent shouts perk.esp new file mode 100644 index 00000000..ba9b2063 Binary files /dev/null and b/Silent shouts perk.esp differ diff --git a/scripts/_00e_game_talentcontrolsc.pex b/scripts/_00e_game_talentcontrolsc.pex index 59dab4d1..edbeb9f2 100644 Binary files a/scripts/_00e_game_talentcontrolsc.pex and b/scripts/_00e_game_talentcontrolsc.pex differ diff --git a/source/scripts/_00e_game_talentcontrolsc.psc b/source/scripts/_00e_game_talentcontrolsc.psc index c545c5b7..efc83f31 100644 --- a/source/scripts/_00e_game_talentcontrolsc.psc +++ b/source/scripts/_00e_game_talentcontrolsc.psc @@ -51,18 +51,6 @@ EndEvent Event OnPlayerLoadGame() If self == PlayerREF ; A check just in case. Most likely this condition is always True - If GetState() != "RealPlayer" ; Post-1.2.5.0 version update - GoToState("RealPlayer") - - ; In the previous version the player could end with a permament QuietCasting perk by mistake. - If HasPerk(QuietCasting) - RemovePerk(QuietCasting) - Debug.Trace(self + ": Removed QuietCasting perk on version update") - EndIf - - RefreshCooldownSpell() - EndIf - RegisterForActions() EndIf EndEvent @@ -101,21 +89,6 @@ State RealPlayer ; _00E_A1_Tutorial_Onslaught.ShowAsHelpMessage("Onslaught", 5, 1, 1) EndIf EndIf - - If actionType == 3 && _00E_Game_SilentShouts.HasForm(shoutUsed) - QuietCastCounter += 1 - Int curQuietCastCounter = QuietCastCounter - AddPerk(QuietCasting) - - ; The real RemovePerk(QuietCasting) should happen in OnSpellCast. - ; But in case it won't for any reason, we'll wait for fShoutTime2 setting + extra padding, and force it. - Float waitTime = Game.GetGameSettingFloat("fShoutTime2") + 1.5 - Utility.Wait(waitTime) - - If QuietCastCounter == curQuietCastCounter - RemovePerk(QuietCasting) - EndIf - EndIf EndEvent Event OnSpellCast(Form maybeSpell) @@ -128,7 +101,6 @@ State RealPlayer If (castSpell == LastShoutUsed.GetNthSpell(0) || castSpell == LastShoutUsed.GetNthSpell(1) || castSpell == LastShoutUsed.GetNthSpell(2)) LastShoutUsed = None CooldownMagicEffect.OnShoutCast() - RemovePerk(QuietCasting) EndIf EndIf @@ -136,21 +108,10 @@ State RealPlayer EndState - -Event OnActorAction(int actionType, Actor akActor, Form source, int slot) - ; If we get here, most likely it's not the real player, it's a copy. - ; So clear its pre-1.2.5.0 action registrations to not waste resources on this ever again. - If self != PlayerREF - UnregisterForActions() - EndIf -EndEvent - ;===================================================================================== ; PROPERTIES ;===================================================================================== -Formlist Property _00E_Game_SilentShouts Auto - Actor Property PlayerREF Auto ;Message Property _00E_A1_Tutorial_Onslaught Auto @@ -160,11 +121,7 @@ Spell Property _00E_Game_AbTalentCooldown Auto GlobalVariable Property _00E_Game_TalentControl_CooldownResetDesired Auto -Perk Property QuietCasting Auto - Shout Property _00E_A1_Onslaught Auto _00E_Game_TalentCooldownSC CooldownMagicEffect = None Shout LastShoutUsed = None - -Int QuietCastCounter = 0