Hello, straight to the point. I want to create this "Meta Perk". When PC has Athletics, Endurance and strength at 100, and is running AND is in combat then he wil push enemies away with let's say strength of 20.
How to achieve that? I started with quest chcecking the variables byt I have no idea how to proceed with detecting that a hostile actor is in the vicinity.
Does anyone has any idea?
This is the script I came up with. It uses OBSE functions. Works fine in game. This is a meta perk, which activates when certain conditions are met. It's like being a juggernaut.
scn MetaPerksMainScript
short JuggernautCondition
ref Target
float fQuestDelayTime
Begin GameMode
set fQuestDelayTime to 0.5
if JuggernautCondition == 0
if ( player.GetActorValue Strength >= 100 ) && ( player.GetActorValue Endurance >= 100 ) && ( player.GetActorValue Athletics >= 100 )
set JuggernautCondition to 1
playsound UIStatsSkillUp
messagebox "Thanks to the combination of your immense strength, endurance and master athletics abilities, while charging at your opponent in combat, you are able to knock him down with your momentum."
endif
endif
End
Begin GameMode
If JuggernautCondition == 0
return
else
Set Target to GetCrosshairRef
if ( player.IsRunning == 1 ) && ( player.IsInCombat == 1 ) && ( Target.getdistance player <=150 ) && ( Player.IsMovingForward == 1 ) && ( Target.IsInCombat == 1 ) && ( player.IsSneaking != 1 ) && ( player.IsInAir == 0 ) && ( player.AnimPathIncludes "attack" == 0 )
message "Juggernaut's Crash"
playsound WPNHitBlunt
player.pushactoraway, target 5
endif
endif
End