Compare commits
3 Commits
50ba0fe8a9
...
e14eb0c96e
Author | SHA1 | Date | |
---|---|---|---|
e14eb0c96e | |||
d4cd1b4f0e | |||
ccd3c0c262 |
Binary file not shown.
BIN
Skyrim.esm
BIN
Skyrim.esm
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -122,24 +122,24 @@ void HeroMenuPatch::FillMenuValues()
|
|||
args2[10].SetNumber(Lernpunkte->value);
|
||||
args2[11].SetNumber(Handwerkspunkte->value);
|
||||
args2[12].SetNumber(TalentPoints->value);
|
||||
args2[13].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kIllusion));
|
||||
args2[14].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kDestruction));
|
||||
args2[15].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kAlteration));
|
||||
args2[16].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kOneHanded));
|
||||
args2[17].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kBlock));
|
||||
args2[18].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kArchery));
|
||||
args2[19].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kConjuration));
|
||||
args2[20].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kRestoration));
|
||||
args2[21].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kTwoHanded));
|
||||
args2[22].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kLightArmor));
|
||||
args2[23].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kHeavyArmor));
|
||||
args2[24].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kSneak));
|
||||
args2[25].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kAlchemy));
|
||||
args2[26].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kPickpocket));
|
||||
args2[27].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kLockpicking));
|
||||
args2[28].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kEnchanting));
|
||||
args2[29].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kSmithing));
|
||||
args2[30].SetNumber(playerAV->GetBaseActorValue(RE::ActorValue::kSpeech));
|
||||
args2[13].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kIllusion));
|
||||
args2[14].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kDestruction));
|
||||
args2[15].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kAlteration));
|
||||
args2[16].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kOneHanded));
|
||||
args2[17].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kBlock));
|
||||
args2[18].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kArchery));
|
||||
args2[19].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kConjuration));
|
||||
args2[20].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kRestoration));
|
||||
args2[21].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kTwoHanded));
|
||||
args2[22].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kLightArmor));
|
||||
args2[23].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kHeavyArmor));
|
||||
args2[24].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kSneak));
|
||||
args2[25].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kAlchemy));
|
||||
args2[26].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kPickpocket));
|
||||
args2[27].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kLockpicking));
|
||||
args2[28].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kEnchanting));
|
||||
args2[29].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kSmithing));
|
||||
args2[30].SetNumber(playerAV->GetPermanentActorValue(RE::ActorValue::kSpeech));
|
||||
|
||||
args2[31].SetNumber(playerExp->value - fEXPNeededForCurrentLevel);
|
||||
args2[32].SetNumber(fEXPNeededForNextLevel - fEXPNeededForCurrentLevel);
|
||||
|
@ -149,23 +149,23 @@ void HeroMenuPatch::FillMenuValues()
|
|||
args3[0].SetNumber(0);
|
||||
args3[1].SetNumber(0);
|
||||
args3[2].SetNumber(0);
|
||||
args3[3].SetNumber(playerAV->GetActorValue(RE::ActorValue::kIllusion) - playerAV->GetBaseActorValue(RE::ActorValue::kIllusion));
|
||||
args3[4].SetNumber(playerAV->GetActorValue(RE::ActorValue::kDestruction) - playerAV->GetBaseActorValue(RE::ActorValue::kDestruction));
|
||||
args3[5].SetNumber(playerAV->GetActorValue(RE::ActorValue::kAlteration) - playerAV->GetBaseActorValue(RE::ActorValue::kAlteration));
|
||||
args3[6].SetNumber(playerAV->GetActorValue(RE::ActorValue::kOneHanded) - playerAV->GetBaseActorValue(RE::ActorValue::kOneHanded));
|
||||
args3[7].SetNumber(playerAV->GetActorValue(RE::ActorValue::kBlock) - playerAV->GetBaseActorValue(RE::ActorValue::kBlock));
|
||||
args3[8].SetNumber(playerAV->GetActorValue(RE::ActorValue::kArchery) - playerAV->GetBaseActorValue(RE::ActorValue::kArchery));
|
||||
args3[9].SetNumber(playerAV->GetActorValue(RE::ActorValue::kConjuration) - playerAV->GetBaseActorValue(RE::ActorValue::kConjuration));
|
||||
args3[10].SetNumber(playerAV->GetActorValue(RE::ActorValue::kRestoration) - playerAV->GetBaseActorValue(RE::ActorValue::kRestoration));
|
||||
args3[11].SetNumber(playerAV->GetActorValue(RE::ActorValue::kTwoHanded) - playerAV->GetBaseActorValue(RE::ActorValue::kTwoHanded));
|
||||
args3[12].SetNumber(playerAV->GetActorValue(RE::ActorValue::kLightArmor) - playerAV->GetBaseActorValue(RE::ActorValue::kLightArmor));
|
||||
args3[13].SetNumber(playerAV->GetActorValue(RE::ActorValue::kHeavyArmor) - playerAV->GetBaseActorValue(RE::ActorValue::kHeavyArmor));
|
||||
args3[14].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSneak) - playerAV->GetBaseActorValue(RE::ActorValue::kSneak));
|
||||
args3[15].SetNumber(playerAV->GetActorValue(RE::ActorValue::kAlchemy) - playerAV->GetBaseActorValue(RE::ActorValue::kAlchemy));
|
||||
args3[16].SetNumber(playerAV->GetActorValue(RE::ActorValue::kPickpocket) - playerAV->GetBaseActorValue(RE::ActorValue::kPickpocket));
|
||||
args3[17].SetNumber(playerAV->GetActorValue(RE::ActorValue::kLockpicking) - playerAV->GetBaseActorValue(RE::ActorValue::kLockpicking));
|
||||
args3[18].SetNumber(playerAV->GetActorValue(RE::ActorValue::kEnchanting) - playerAV->GetBaseActorValue(RE::ActorValue::kEnchanting));
|
||||
args3[19].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSmithing) - playerAV->GetBaseActorValue(RE::ActorValue::kSmithing));
|
||||
args3[20].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSpeech) - playerAV->GetBaseActorValue(RE::ActorValue::kSpeech));
|
||||
args3[3].SetNumber(playerAV->GetActorValue(RE::ActorValue::kIllusion) - playerAV->GetPermanentActorValue(RE::ActorValue::kIllusion));
|
||||
args3[4].SetNumber(playerAV->GetActorValue(RE::ActorValue::kDestruction) - playerAV->GetPermanentActorValue(RE::ActorValue::kDestruction));
|
||||
args3[5].SetNumber(playerAV->GetActorValue(RE::ActorValue::kAlteration) - playerAV->GetPermanentActorValue(RE::ActorValue::kAlteration));
|
||||
args3[6].SetNumber(playerAV->GetActorValue(RE::ActorValue::kOneHanded) - playerAV->GetPermanentActorValue(RE::ActorValue::kOneHanded));
|
||||
args3[7].SetNumber(playerAV->GetActorValue(RE::ActorValue::kBlock) - playerAV->GetPermanentActorValue(RE::ActorValue::kBlock));
|
||||
args3[8].SetNumber(playerAV->GetActorValue(RE::ActorValue::kArchery) - playerAV->GetPermanentActorValue(RE::ActorValue::kArchery));
|
||||
args3[9].SetNumber(playerAV->GetActorValue(RE::ActorValue::kConjuration) - playerAV->GetPermanentActorValue(RE::ActorValue::kConjuration));
|
||||
args3[10].SetNumber(playerAV->GetActorValue(RE::ActorValue::kRestoration) - playerAV->GetPermanentActorValue(RE::ActorValue::kRestoration));
|
||||
args3[11].SetNumber(playerAV->GetActorValue(RE::ActorValue::kTwoHanded) - playerAV->GetPermanentActorValue(RE::ActorValue::kTwoHanded));
|
||||
args3[12].SetNumber(playerAV->GetActorValue(RE::ActorValue::kLightArmor) - playerAV->GetPermanentActorValue(RE::ActorValue::kLightArmor));
|
||||
args3[13].SetNumber(playerAV->GetActorValue(RE::ActorValue::kHeavyArmor) - playerAV->GetPermanentActorValue(RE::ActorValue::kHeavyArmor));
|
||||
args3[14].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSneak) - playerAV->GetPermanentActorValue(RE::ActorValue::kSneak));
|
||||
args3[15].SetNumber(playerAV->GetActorValue(RE::ActorValue::kAlchemy) - playerAV->GetPermanentActorValue(RE::ActorValue::kAlchemy));
|
||||
args3[16].SetNumber(playerAV->GetActorValue(RE::ActorValue::kPickpocket) - playerAV->GetPermanentActorValue(RE::ActorValue::kPickpocket));
|
||||
args3[17].SetNumber(playerAV->GetActorValue(RE::ActorValue::kLockpicking) - playerAV->GetPermanentActorValue(RE::ActorValue::kLockpicking));
|
||||
args3[18].SetNumber(playerAV->GetActorValue(RE::ActorValue::kEnchanting) - playerAV->GetPermanentActorValue(RE::ActorValue::kEnchanting));
|
||||
args3[19].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSmithing) - playerAV->GetPermanentActorValue(RE::ActorValue::kSmithing));
|
||||
args3[20].SetNumber(playerAV->GetActorValue(RE::ActorValue::kSpeech) - playerAV->GetPermanentActorValue(RE::ActorValue::kSpeech));
|
||||
uiMovie->Invoke("heromenu_mc.SetModifier", nullptr, args3, 21);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,19 @@ Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
|||
fBonusDamage = fMagnitude
|
||||
EndIf
|
||||
|
||||
; Sneak bonus
|
||||
If IsExtraDamageApplicable(akTarget, akCaster)
|
||||
Float fStealthModifier = Game.GetGameSettingFloat("fCombatSneakBowMult")
|
||||
If akCaster.HasPerk(_00E_Class_Infiltrator_P03_B_HeartShot)
|
||||
fStealthModifier = fStealthModifier * _00E_Class_Infiltrator_P03_B_HeartShot.GetNthEntryValue(0, 0)
|
||||
EndIf
|
||||
If akCaster == PlayerREF
|
||||
_00E_FS_FakeStealthMsg.Show(fStealthModifier)
|
||||
UISneakAttackM.Play(akCaster)
|
||||
EndIf
|
||||
fBonusDamage = fBonusDamage * fStealthModifier
|
||||
EndIf
|
||||
|
||||
; Target's magic resistance
|
||||
Float fMagicResist = akTarget.GetActorValue("MagicResist")
|
||||
If fMagicResist > 0
|
||||
|
@ -41,6 +54,21 @@ Event OnEffectFinish(Actor akTarget, Actor akCaster)
|
|||
EndIf
|
||||
EndEvent
|
||||
|
||||
Bool Function IsExtraDamageApplicable(Actor akTarget, Actor akCaster)
|
||||
If akTarget.HasMagicEffect(_00E_FS_PsychosisWeaknessVisualME)
|
||||
Return True
|
||||
EndIf
|
||||
|
||||
If akCaster.IsDetectedBy(akTarget) == False
|
||||
akTarget.GetCombatState()
|
||||
If akTarget.GetCombatState() != 1
|
||||
Return True
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
Return False
|
||||
EndFunction
|
||||
|
||||
;=====================================================================================
|
||||
; PROPERTIES
|
||||
;=====================================================================================
|
||||
|
@ -54,3 +82,9 @@ MagicEffect Property _00E_FS_PsychosisWeaknessVisualME Auto
|
|||
|
||||
Spell Property _00E_FS_PsychosisWeaknessSP Auto
|
||||
Spell Property _00E_FS_PsychosisWeaknessSP_NoSlow Auto
|
||||
|
||||
Perk Property _00E_Class_Infiltrator_P03_B_HeartShot Auto ; 2.5
|
||||
|
||||
Message Property _00E_FS_FakeStealthMsg Auto
|
||||
|
||||
Sound Property UISneakAttackM Auto
|
||||
|
|
|
@ -2,11 +2,14 @@ Scriptname _00E_MQ06_ConsecrationFailsaveSC extends ObjectReference
|
|||
|
||||
Event OnTriggerEnter(ObjectReference akActionRef)
|
||||
|
||||
If akActionRef == Game.GetPlayer() && MQ06.GetCurrentStageID() >= 40 && MQ06.GetCurrentStageID() < 55 && MQ06_SC5_RitualScene.IsPlaying() == false
|
||||
If akActionRef == Game.GetForm(0x14) && MQ06.GetCurrentStageID() >= 40 && MQ06_SC5_RitualScene.IsPlaying() == false
|
||||
|
||||
(MQ06 as _00E_MQ06_Functions).AddSilence()
|
||||
|
||||
(MQ06 as _00E_MQ06_Functions).StartCer()
|
||||
if MQ06.GetCurrentStageID() < 55
|
||||
(MQ06 as _00E_MQ06_Functions).AddSilence()
|
||||
(MQ06 as _00E_MQ06_Functions).StartCer()
|
||||
else
|
||||
Disable()
|
||||
endif
|
||||
|
||||
EndIf
|
||||
|
||||
|
@ -14,4 +17,4 @@ EndEvent
|
|||
|
||||
Quest Property MQ06 Auto
|
||||
|
||||
Scene Property MQ06_SC5_RitualScene Auto
|
||||
Scene Property MQ06_SC5_RitualScene Auto
|
||||
|
|
Loading…
Reference in New Issue
Block a user