35 lines
1.0 KiB
Plaintext
35 lines
1.0 KiB
Plaintext
ScriptName defaultOnHitChangeAggression extends Actor
|
|
{Default script that lives on an actor. On hit, actor's aggression is changed}
|
|
|
|
import game
|
|
import debug
|
|
|
|
float property fAggression auto
|
|
{
|
|
By default this property is set to 2 (very aggressive).
|
|
0 - Unaggressive - will not initiate combat
|
|
1 - Aggressive - will attack enemies on sight
|
|
2 - Very Aggressive - Will attack enemies and neutrals on sight
|
|
3 - Frenzied - Will attack anyone else
|
|
}
|
|
bool doOnce = false
|
|
keyword property linkKeyword auto
|
|
{if this has a linkedRef with this keyword, we will activate it once when hit}
|
|
|
|
auto State waiting
|
|
Event onHit(objectReference akAggressor, Form akWeapon, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
|
|
self.SetActorValue("Aggression", fAggression)
|
|
gotoState ("allDone")
|
|
if DoOnce == false
|
|
if (GetLinkedRef(linkKeyword) as objectReference)
|
|
(getLinkedRef(linkKeyword) as objectReference).activate(self)
|
|
DoOnce = TRUE
|
|
endif
|
|
endif
|
|
endEvent
|
|
endState
|
|
|
|
State allDone
|
|
;do nothing
|
|
endState
|
|
|