|
|
|
@ -1,10 +1,11 @@ |
|
|
|
|
Scriptname _00E_NQ_Bounty01_TargetScript extends ReferenceAlias |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; SCRIPT AUTHOR DENNIS MAY 2014 |
|
|
|
|
; Script handles Bandit appearance and checks if bounty job is done |
|
|
|
|
; SCRIPT CHANGE TILL MAY 2018 |
|
|
|
|
; Added-in Body Clean-up suggested by gavrant for performance reasons, check out WIDeadBodyCleanupScript for original code |
|
|
|
|
; Eddoursul, January 2024: Made bounty targets protected instead of essential |
|
|
|
|
|
|
|
|
|
; ==================================================================================== |
|
|
|
|
; EVENTS |
|
|
|
|
; ==================================================================================== |
|
|
|
@ -12,12 +13,11 @@ Scriptname _00E_NQ_Bounty01_TargetScript extends ReferenceAlias |
|
|
|
|
Event OnCellAttach() ;FIRE WHEN PLAYER ENTERS THE CELL THE NEEDED ACTOR IS IN |
|
|
|
|
If NQ_Bounty01.GetCurrentStageID() == __Config_iEnableAtStage && GetReference().IsDisabled() |
|
|
|
|
GetReference().Enable() ; Enable the bandit when he is needed in the quest |
|
|
|
|
(GetReference() as Actor).GetActorBase().SetEssential(false) |
|
|
|
|
Endif |
|
|
|
|
EndEvent |
|
|
|
|
|
|
|
|
|
Event OnDeath(Actor akKiller) |
|
|
|
|
finished = True |
|
|
|
|
|
|
|
|
|
Int iStage = __Config_iEnableAtStage |
|
|
|
|
|
|
|
|
|
NQ_Bounty01.SetObjectiveCompleted(iStage) ;MissionObjective: Kill the bandit - Done |
|
|
|
@ -28,34 +28,21 @@ Event OnDeath(Actor akKiller) |
|
|
|
|
BountyScript._00E_NQ_Bounty01_Status = 2 ;Unlock bounty board to receive your gold |
|
|
|
|
EndEvent |
|
|
|
|
|
|
|
|
|
Event OnCombatStateChanged(Actor akTarget, int aeCombatState) |
|
|
|
|
If finished == False && aeCombatState != 0 && akTarget |
|
|
|
|
If _00E_PlayerSummonedCreature == None |
|
|
|
|
_00E_PlayerSummonedCreature = Game.GetFormFromFile(0x000482FC, "Skyrim.esm") as Keyword |
|
|
|
|
EndIf |
|
|
|
|
|
|
|
|
|
If BlameSpellKeyword == None |
|
|
|
|
BlameSpellKeyword = Game.GetFormFromFile(0x0005BD16, "Skyrim.esm") as Keyword |
|
|
|
|
EndIf |
|
|
|
|
|
|
|
|
|
If akTarget == PlayerRef || akTarget.IsPlayerTeammate() || akTarget.HasKeyword(_00E_PlayerSummonedCreature) || akTarget.GetFactionReaction(PlayerRef) == 2 || akTarget.HasEffectKeyword(BlameSpellKeyword) |
|
|
|
|
finished = True |
|
|
|
|
GetActorReference().GetActorBase().SetEssential(False) |
|
|
|
|
EndIf |
|
|
|
|
EndIf |
|
|
|
|
EndEvent |
|
|
|
|
Event OnEnterBleedout() |
|
|
|
|
Actor aTarget = GetReference() as Actor |
|
|
|
|
if aTarget.IsInCombat() |
|
|
|
|
; Allow minions to deal the final blow |
|
|
|
|
aTarget.GetActorBase().SetProtected(false) |
|
|
|
|
; Technically, not required since 2.1, adding this in case of overwrite by an outdated mod |
|
|
|
|
aTarget.GetActorBase().SetEssential(false) |
|
|
|
|
endif |
|
|
|
|
endEvent |
|
|
|
|
|
|
|
|
|
; ==================================================================================== |
|
|
|
|
; PROPERTIES |
|
|
|
|
; ==================================================================================== |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Actor Property PlayerRef Auto |
|
|
|
|
Quest Property NQ_Bounty01 Auto |
|
|
|
|
_00E_NQ_Bounty01_Functions Property BountyScript Auto ;ACCESS TO QUEST SCRIPT |
|
|
|
|
Int Property __Config_iEnableAtStage Auto |
|
|
|
|
{Type the quest stage number to enable the bandit 10, 30, 50. Enable new enemy every 20th stage } |
|
|
|
|
Keyword Property _00E_PlayerSummonedCreature Auto |
|
|
|
|
Keyword Property BlameSpellKeyword Auto |
|
|
|
|
Bool finished = False |
|
|
|
|
|
|
|
|
|