Navy Seal
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10
|
Quote:
Originally Posted by vdr1981
Could you upload edited files so I could test them?
|
Sure
Overwrite the content of Crew_Idle_Actions_QR1.aix and Crew_Idle_Actions_QR2.aix with the following code.
QR1:
Code:
# Crew_Idle_Actions_QR1.aix
# Stock script modified by MightyFine Crew Mod 1.2.1 03/22/2010
# Edited by gap for The Wolves of Steel Mega Mod on 03/01/2016
strategy QRF_WATCH_IDLE01(wp)
{
strategies
{
QRF_WATCH_TUTORIAL,
QRF_WATCH_SUBMERGED,
QRF_WATCH_TORPEDO_HIT,
QRF_WATCH_DAMAGE_TAKEN,
QRF_WATCH_SURFACED
}
}
strategy QRF_WATCH_TUTORIAL(wp)
{
precond
{
Wp:IsTutorial() and !Wp:IsBunkerState()
}
action
{
if Wp:GetGlobalVariable(TUT_VAR_QRF_WATCH_STATE) == 0 then
{
Wp:BindAvatarCameraToObject("Cam01_wake_up_box", 65);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M1", 10.767);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M2", 16.367);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M3", 17.733);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M4", 25.5);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M5", 29.9);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M6", 37.9);
Wp:PlaySoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D01_M7", 44.567);
Wp:PlayAnimationAndWait("SAILOR01_Wake_up");
Wp:UnbindAvatarCamera(1);
Wp:Teleport("CR_NAV");
Wp:PlayAnimationAndWait("SAILOR01_Go_through_hatch");
Wp:SetGlobalVariable(TUT_VAR_QRF_WATCH_STATE, 1);
}
endif;
if Wp:GetGlobalVariable(TUT_VAR_QRF_WATCH_STATE) == 1 then
{
Wp:Teleport("CR_NAV");
if Wp:GetDistanceToAvatar() < 3 then
Wp:SetGlobalVariable(TUT_VAR_QRF_WATCH_STATE, 2)
else
Wp:PlayAnimationAndWait("SAILOR01_Wait_near_ladder")
endif;
}
endif;
if Wp:GetGlobalVariable(TUT_VAR_QRF_WATCH_STATE) == 2 then
{
Wp:Teleport("CR_NAV");
Wp:PlayAttenuatedSoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D03_M1", 0.3);
Wp:PlayAttenuatedSoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D03_M2", 6.0);
Wp:PlayAttenuatedSoundWithLipsync("WatchOfficer\Normal\TTM_QRF_WATCH_D03_M3", 15.733);
Wp:PlayAnimationAndWait("SAILOR01_Scare_Navigator");
Wp:SetGlobalVariable(TUT_VAR_QRF_WATCH_STATE, 3);
}
endif;
if Wp:GetGlobalVariable(TUT_VAR_CAPTAIN_STATE) > 0 then
Wp:SetGlobalVariable(TUT_VAR_QRF_WATCH_STATE, 4)
endif;
if Wp:GetGlobalVariable(TUT_VAR_QRF_WATCH_STATE) == 3 then
Wp:PlayAnimationAndWait("SAILOR01_Wait_at_NAV_Table")
endif;
if Wp:GetGlobalVariable(TUT_VAR_QRF_WATCH_STATE) == 4 then
{
Wp:Teleport("QRF_Watch");
Wp:PlayAnimationAndWait( "QRF_Watch_idle01" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle06" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle07" );
Wp:PlayAnimationAndWait( "QRF_Watch_change_pose" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle02" );
Wp:PlayAnimationAndWait( "QRF_Watch_inspect" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle09" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle10" );
Wp:PlayAnimationAndWait( "QRF_Watch_silence" );
Wp:Goto( "QRF_Watch_C" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle03" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle04" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle05" );
Wp:Goto( "QRF_Watch" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle08" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle09" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle10" );
Wp:PlayAnimationAndWait( "QRF_Watch_return" );
}
endif;
Wp:ScriptCompleted();
}
}
strategy QRF_WATCH_SUBMERGED(wp)
{
precond
{
# (!Wp:IsCrewState(T_HIT) or !Wp:IsCharacterPosture(C)) and
# (!Wp:IsCrewState(DMG_TKN) or !Wp:IsCharacterPosture(A)) and
(Wp:IsSubmerged() or Wp:GetGlobalVariable(VAR_DIVE_ORDER) > 0 ) and
!(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
############## Uncomment for alternate head #######################
# Wp:SetBodyPartVisibility("D_Head12", 0);
# Wp:SetBodyPartVisibility("D_EyeL12", 0);
# Wp:SetBodyPartVisibility("D_EyeR12", 0);
# Wp:SetBodyPartVisibility("D_Head16", 1);
# Wp:SetBodyPartVisibility("D_EyeL16", 1);
# Wp:SetBodyPartVisibility("D_EyeR16", 1);
# Wp:SetBodyPartVisibility("D_Torso03", 0);
# Wp:SetBodyPartVisibility("D_Torso01", 1);
##################################################################
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Barba_CAP13", 1);
##################################################################
if !Wp:IsCurrentWaypoint("QRF_Watch_C") and !Wp:IsCurrentWaypoint("QRF_Watch") then
{
if Wp:IsCurrentWaypoint("WT_CR02") then
{
Wp:PlayAnimationAndWait( "DER_DE_CPO_explosion_event04" );
if Wp:GetGlobalVariable(VAR_CR_HF_LOC) < 5 and Wp:GetGlobalVariable(VAR_CR_HA_LOC) < 5 then
{
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 4);
Wp:SetBodyPartVisibility("object1_Binocular", 0);
Wp:Teleport("CT_STAIRS");
Wp:PlayAnimationAndWait( "SQ_COOK_A2C_Part01" );
}
endif;
}
else
{
if Wp:IsCurrentWaypoint("CT_STAIRS") then # wait for HF and HA to clear the stairs
{
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 4);
if Wp:GetGlobalVariable(VAR_CR_HF_LOC) < 3 and Wp:GetGlobalVariable(VAR_CR_HA_LOC) < 3 then
{
Wp:Teleport("CR_LADDER");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 3);
Wp:PlayAnimationAndWait( "QRF_RTeam_01_screw" );
}
else
{
Wp:PlayAnimationAndWait( "SQ_COOK_A2C_Part01" );
}
endif;
}
else
{
if Wp:IsCurrentWaypoint("CR_LADDER") then
{
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 3);
if Wp:GetGlobalVariable(VAR_CR_HF_LOC) < 2 and Wp:GetGlobalVariable(VAR_CR_HA_LOC) < 2 then
{
Wp:PlayAttenuatedSoundWithLipsync("MFCM\fall02", 0);
Wp:Teleport("CR_STAIRS");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 2);
if Wp:GetGlobalVariable(VAR_DIVE_ORDER) == 2 then # jar landing on crash dive
{
Wp:PlayAttenuatedSoundWithLipsync("MFCM\fall02", 0.5);
Wp:PlayAnimationAndWait("DER_DE_CPO_explosion_event01");
}
endif;
}
else
{
Wp:Teleport("CT_STAIRS"); # in case he's blocking HA and HA
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 4);
Wp:PlayAnimationAndWait( "QRF_RTeam_01_screw" );
}
endif;
}
else
{
if Wp:IsCurrentWaypoint("CR_STAIRS") then
{
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 2);
Wp:PlayAttenuatedSoundWithLipsync("MFCM\footsteps02", 0.5);
Wp:Goto("CR_WP08_DOOR");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 1);
Wp:Teleport("RR_WP01_DOOR");
Wp:Goto( "QRF_Watch" );
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 0);
}
else
{
Wp:Teleport( "QRF_Watch" );
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 0);
}
endif;
}
endif;
}
endif;
}
endif;
}
else
{
if Wp:GetGlobalVariable(VAR_DIVE_ORDER) > 0 and Wp:IsSubmerged() and Wp:GetGlobalVariable(VAR_CR_HF_LOC) == 0 and Wp:GetGlobalVariable(VAR_CR_HA_LOC) == 0 then
{
Wp:SetGlobalVariable(VAR_DIVE_ORDER, 0);
}
endif;
Wp:SetBodyPartVisibility("object1_Binocular", 0);
Wp:SetBodyPartVisibility("D_Hat02", 0);
Wp:PlayAnimationAndWait( "QRF_Watch_idle01" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle06" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle07" );
Wp:PlayAnimationAndWait( "QRF_Watch_change_pose" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle02" );
Wp:PlayAnimationAndWait( "QRF_Watch_inspect" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle09" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle10" );
Wp:PlayAnimationAndWait( "QRF_Watch_silence" );
Wp:Goto( "QRF_Watch_C" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle03" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle04" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle05" );
Wp:Goto( "QRF_Watch" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle08" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle09" );
Wp:PlayAnimationAndWait( "QRF_Watch_idle10" );
Wp:PlayAnimationAndWait( "QRF_Watch_return" );
}
endif;
Wp:ScriptCompleted();
}
}
strategy QRF_WATCH_TORPEDO_HIT(wp)
{
precond
{
Wp:IsCrewState(T_HIT) and
Wp:IsCharacterPosture(C) and
!Wp:IsCrewState(DMG_TKN) and
Wp:IsSubmerged() and
!(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
Wp:PlayAnimationAndWait( "QRF_Watch_JOY01" );
Wp:PlayAnimationAndWait( "QRF_Watch_JOY02" );
Wp:Goto( "QRF_Watch" );
Wp:PlayAnimationAndWait( "QRF_Watch_return" );
Wp:DeactivateCrewState(T_HIT);
Wp:ScriptCompleted();
}
}
strategy QRF_WATCH_DAMAGE_TAKEN(wp)
{
precond
{
Wp:IsCrewState(DMG_TKN) and
Wp:IsCharacterPosture(A) and
Wp:IsSubmerged() and
!(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
Wp:PlayAnimationAndWait( "QRF_Watch_explosion_event01" );
Wp:DeactivateCrewState(DMG_TKN);
Wp:ScriptCompleted();
}
}
strategy QRF_WATCH_SURFACED(wp)
{
precond
{
Wp:GetGlobalVariable(VAR_DIVE_ORDER) == 0 and
Wp:IsSurfaced() and
!(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
############## Uncomment for alternate head #######################
# Wp:SetBodyPartVisibility("D_Head12", 0);
# Wp:SetBodyPartVisibility("D_EyeL12", 0);
# Wp:SetBodyPartVisibility("D_EyeR12", 0);
# Wp:SetBodyPartVisibility("D_Head16", 1);
# Wp:SetBodyPartVisibility("D_EyeL16", 1);
# Wp:SetBodyPartVisibility("D_EyeR16", 1);
# Wp:SetBodyPartVisibility("D_Torso03", 0);
# Wp:SetBodyPartVisibility("D_Torso01", 1);
###################################################################
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Barba_CAP13", 1);
###################################################################
if !Wp:IsCurrentWaypoint("WT_CR02") then
{
if Wp:IsCurrentWaypoint("QRF_Watch_C") or Wp:IsCurrentWaypoint("QRF_Watch") then
{
Wp:Teleport("QRF_Watch");
# Wp:SetBodyPartVisibility("D_Hat02", 1);
Wp:PlayAnimationAndWait("QRF_Warch_leave_rush");
Wp:Teleport("CR_NAV");
Wp:PlayAttenuatedSoundWithLipsync("MFCM\footsteps02", 0.25);
Wp:PlayAnimationAndWait("SAILOR01_Go_through_hatch");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 1);
}
else
{
if Wp:IsCurrentWaypoint("CR_NAV") then # wait for HA anf HF to go up ladder
{
if Wp:GetGlobalVariable(VAR_CR_HA_LOC) > 2 and Wp:GetGlobalVariable(VAR_CR_HF_LOC) > 2 then
{
Wp:Teleport("CR_STAIRS");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 2);
Wp:PlayAnimationAndWait( "SQ_COOK_A2C_Part01" );
}
else
{
Wp:PlayAnimationAndWait("SAILOR01_Wait_near_ladder");
}
endif;
}
else
{
if Wp:IsCurrentWaypoint("CR_STAIRS") then
{
if Wp:GetGlobalVariable(VAR_CR_HA_LOC) != 3 and Wp:GetGlobalVariable(VAR_CR_HF_LOC) != 3 then
{
Wp:PlayAttenuatedSoundWithLipsync("MFCM\ladder_up", 0);
Wp:Teleport("CR_LADDER");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 3);
Wp:PlayAnimationAndWait( "QRF_RTeam_01_screw" );
Wp:Teleport("WT_CR02");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 5);
}
else
{
Wp:PlayAnimationAndWait("SQ_COOK_A2C_Part01");
}
endif;
}
else
{
if !Wp:IsCurrentWaypoint("WT_CR02") then
{
Wp:Teleport("WT_CR02");
Wp:SetGlobalVariable(VAR_QRF_WATCH_LOC, 5);
}
endif;
}
endif;
}
endif;
}
endif;
}
else
{
Wp:SetBodyPartVisibility("object1_Binocular", 1);
Wp:SetBodyPartVisibility("D_Torso03", 0);
Wp:SetBodyPartVisibility("D_Torso01", 1);
# Wp:SetBodyPartVisibility("D_Hat02", 1);
Wp:PlayAnimationAndWait( "WATCH03_Idle01" );
Wp:PlayAnimationAndWait( "SECONDARY_IdleA09" );
Wp:PlayAnimationAndWait( "SECONDARY_Scan_with_Binoculars" );
}
endif;
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY01_IDLE01(wp)
{
strategies
{
QRF_PETTY01_Sleeping,
QRF_PETTY01_Manning_A01gun
}
}
strategy QRF_PETTY01_Sleeping(wp)
{
precond
{
!Wp:IsGunManned(SLOT_A01)
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Barba_Cap06", 1);
##################################################################
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:SetBodyPartVisibility("A_Pants01", 1);
Wp:SetBodyPartVisibility("A_Pants02", 0);
if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
Wp:UnmanTheGun(SLOT_A01, ROLE_TRAV)
else
Wp:UnmanTheGun(SLOT_A01, ROLE_GUNNER)
endif;
Wp:Teleport("QRF_Petty_01");
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_talk_01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_1to2" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_2to1" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_01_talk_01" );
Wp:PlayAnimationAndWait( "QRF_Petty01_AtoC" );
Wp:PlayAnimationAndWait( "QRF_Petty01_idle01" );
Wp:PlayAnimationAndWait( "QRF_Petty01_idle04" );
Wp:PlayAnimationAndWait( "QRF_Petty01_idle05" );
Wp:PlayAnimationAndWait( "QRF_Petty01_idle02_part01" );
Wp:SetBodyPartVisibility("object2_book01", 1);
Wp:PlayAnimationAndWait( "QRF_Petty01_idle02_part02" );
Wp:PlayAnimationAndWait( "QRF_Petty01_idle03_part01" );
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "QRF_Petty01_idle03_part02" );
Wp:PlayAnimationAndWait( "QRF_Petty01_CtoA" );
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY01_Manning_A01gun(wp)
{
precond
{
Wp:IsGunManned(SLOT_A01)
}
action
{
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Pants01", 1);
Wp:SetBodyPartVisibility("A_Pants02", 0);
Wp:PlayAnimationAndWait( "QRF_Petty01_leave_rush" );
Wp:Teleport("WP_A01_GUN");
if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
Wp:ManTheGun(SLOT_A01, "Vierling_L_R", ROLE_TRAV)
endif;
if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C30) then
Wp:ManTheGun(SLOT_A01, "20mm_C30_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C30_2) then
Wp:ManTheGun(SLOT_A01, "20mm_C30_2_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C38_Twin) then
Wp:ManTheGun(SLOT_A01, "20mm_C38_twin_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C38_Twin_Shield) then
Wp:ManTheGun(SLOT_A01, "20mm_C38_shield_twin_UP_DW", ROLE_GUNNER)
endif;
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY02_IDLE01(wp)
{
strategies
{
QRF_PETTY02_Tutorial,
QRF_PETTY02_Sleeping,
QRF_PETTY02_Manning_A01gun,
QRF_PETTY02_Manning_A02gun
}
}
strategy QRF_PETTY02_Tutorial(wp)
{
precond
{
Wp:IsTutorial() and !Wp:IsBunkerState()
}
action
{
Wp:Teleport( "QRF_Watch" );
if Wp:GetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE) == 0 then
{
Wp:PlayAnimationAndWait("SAILOR02_Walk_near_player");
Wp:SetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE, 1);
}
endif;
if Wp:GetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE) == 1 then
Wp:PlayAnimationAndWait("SAILOR02_Wait_near_door")
endif;
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY02_Sleeping(wp)
{
precond
{
!((Wp:GetGunType(SLOT_A01) == CANNON_Vierling and Wp:IsGunManned(SLOT_A01)) or (Wp:GetGunType(SLOT_A01) != CANNON_Vierling and Wp:IsGunManned(SLOT_A02))) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
############## Uncomment for optional beard #####################
# Wp:SetBodyPartVisibility("object1_Barba_Cap18", 1);
#################################################################
if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
Wp:UnmanTheGun(SLOT_A01, ROLE_ELEV)
else
Wp:UnmanTheGun(SLOT_A02, ROLE_GUNNER)
endif;
Wp:Teleport("QRF_Petty_02");
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:SetBodyPartVisibility("A_Torso06", 0);
Wp:SetBodyPartVisibility("A_Torso07", 1);
Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_1to2" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep02" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep02" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_2to1" );
Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
Wp:PlayAnimationAndWait( "QRF_Petty02_AtoC" );
Wp:PlayAnimationAndWait( "QRF_Petty02_idle01" );
Wp:PlayAnimationAndWait( "QRF_Petty02_idle04" );
Wp:PlayAnimationAndWait( "QRF_Petty02_idle05" );
Wp:PlayAnimationAndWait( "QRF_Petty02_idle02_part01" );
Wp:SetBodyPartVisibility("object2_book01", 1);
Wp:PlayAnimationAndWait( "QRF_Petty02_idle02_part02" );
Wp:PlayAnimationAndWait( "QRF_Petty02_idle03_part01" );
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "QRF_Petty02_idle03_part02" );
Wp:PlayAnimationAndWait( "QRF_Petty02_CtoA" );
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY02_Manning_A01gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A01) == CANNON_Vierling and Wp:IsGunManned(SLOT_A01) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "QRF_Petty02_leave_rush" );
Wp:Teleport("WP_A01_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso06", 1);
Wp:SetBodyPartVisibility("A_Torso07", 0);
ManTheGun(SLOT_A01, "Vierling_UP_DW", ROLE_ELEV)
Wp:ScriptCompleted();
}
}
strategy QRF_PETTY02_Manning_A02gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A01) != CANNON_Vierling and Wp:IsGunManned(SLOT_A02) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "QRF_Petty02_leave_rush" );
Wp:Teleport("WP_A02_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso06", 1);
Wp:SetBodyPartVisibility("A_Torso07", 0);
if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C30) then
Wp:ManTheGun(SLOT_A02, "20mm_C30_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C30_2) then
Wp:ManTheGun(SLOT_A02, "20mm_C30_2_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C38_Twin) then
Wp:ManTheGun(SLOT_A02, "20mm_C38_twin_UP_DW", ROLE_GUNNER)
endif;
if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C38_Twin_Shield) then
Wp:ManTheGun(SLOT_A02, "20mm_C38_shield_twin_UP_DW", ROLE_GUNNER)
endif;
Wp:ScriptCompleted();
}
}
strategy RR_RADIO_IDLE01(wp)
{
strategies
{
RR_RADIO_TUTORIAL,
# old idle action
RR_RADIO_Nothing_to_do,
# these 3 strategies do exatcly the same thing,
# but with a different condition.
#
# they probabily need to be like this so they can
# be customized in the near future.
RR_RADIO_Entering,
RR_RADIO_In_use,
RR_RADIO_Exiting
}
}
strategy RR_RADIO_TUTORIAL(wp)
{
precond
{
Wp:GetRadarState() == 0 and Wp:IsTutorial() and !Wp:IsBunkerState()
}
action
{
if Wp:GetGlobalVariable(TUT_VAR_RR_RADIO_STATE) == 0 then
{
Wp:PlaySoundWithLipsync("RadioMan\Normal\TTM_RR_RADIO_D01_M8", 28.733);
Wp:PlaySoundWithLipsync("RadioMan\Normal\TTM_RR_RADIO_D01_M9", 32.267);
Wp:SetGlobalVariable(TUT_VAR_RR_RADIO_STATE, 1);
}
endif;
Wp:PlayAnimationAndWait( "RR_RADIO_A_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_Idle02" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_GRAMOPHONE" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_RADIO" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part03" );
Wp:Goto( "RR_RADIO_B" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnob_Listen" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnobLeft" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part03" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnobRight" );
Wp:Goto( "RR_RADIO_C" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_LookAround01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle02" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle03" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle04" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle05" );
Wp:Goto( "RR_RADIO_A" );
Wp:ScriptCompleted();
}
}
# idle strategy
strategy RR_RADIO_Nothing_to_do(wp)
{
precond
{
# if hydrophone is not used
Wp:GetRadarState() == 0 and !(Wp:IsTutorial() and !Wp:IsBunkerState())
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Beard_CAP04", 1);
##################################################################
Wp:PlayAnimationAndWait( "RR_RADIO_A_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_Idle02" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_GRAMOPHONE" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_RADIO" );
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_A_Write01_Part03" );
Wp:Goto( "RR_RADIO_B" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnob_Listen" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnobLeft" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part03" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnobRight" );
Wp:Goto( "RR_RADIO_C" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle02" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle03" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle04" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle05" );
Wp:Goto( "RR_RADIO_A" );
Wp:ScriptCompleted();
}
}
# captain is entering radar
strategy RR_RADIO_Entering(wp)
{
precond
{
# if radar will be used by captain
# "entering radar" - state
Wp:GetRadarState() == 1
}
strategies
{
RR_RADIO_MoveToB,
RR_RADIO_DoIdle
}
}
# captain is at the hydrophone
strategy RR_RADIO_In_use(wp)
{
precond
{
# if captain is at the radar, and leaving
# "exiting radar" - state
Wp:GetRadarState() == 2
}
strategies
{
RR_RADIO_MoveToB,
RR_RADIO_DoIdle
}
}
# captain is at the hydrophone
strategy RR_RADIO_Exiting(wp)
{
precond
{
# if captain is at the hydrophone, and leaving
# "exiting hydrophone" - state
Wp:GetRadarState() == 3
}
strategies
{
RR_RADIO_MoveToB,
RR_RADIO_DoIdle
}
}
strategy RR_RADIO_MoveToB(wp)
{
precond
{
Wp:IsCurrentWaypoint( "RR_RADIO_A" ) == 1
}
action
{
Wp:Goto( "RR_RADIO_B" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnob_Listen" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part03" );
Wp:Goto( "RR_RADIO_C" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_LookAround01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle01" );
Wp:ScriptCompleted();
}
}
strategy RR_RADIO_DoIdle(wp)
{
precond
{
Wp:IsCurrentWaypoint( "RR_RADIO_A" ) == 0
}
strategies
{
RR_RADIO_DoIdle_B,
RR_RADIO_DoIdle_C
}
}
strategy RR_RADIO_DoIdle_B(wp)
{
precond
{
Wp:IsCurrentWaypoint( "RR_RADIO_B" ) == 1
}
action
{
Wp:PlayAnimationAndWait( "RR_RADIO_B_Idle01" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_TurnKnob_Listen" );
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part01" );
Wp:SetBodyPartVisibility("object2_Pencil_radio", 1);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part02" );
Wp:SetBodyPartVisibility("object2_Pencil_radio_radio", 0);
Wp:PlayAnimationAndWait( "RR_RADIO_B_Write01_Part03" );
Wp:Goto( "RR_RADIO_C" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_LookAround01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle01" );
Wp:ScriptCompleted();
}
}
strategy RR_RADIO_DoIdle_C(wp)
{
precond
{
Wp:IsCurrentWaypoint( "RR_RADIO_C" ) == 1
}
action
{
Wp:PlayAnimationAndWait( "RR_RADIO_C_LookAround01" );
Wp:PlayAnimationAndWait( "RR_RADIO_C_Idle01" );
Wp:ScriptCompleted();
}
}
strategy RR_HIDRO_IDLE01(wp)
{
strategies
{
# old idle action
RR_HIDRO_Nothing_to_do_surfaced,
RR_HIDRO_Nothing_to_do_submerged,
# these 3 strategies do exatcly the same thing,
# but with a different condition.
#
# they probabily need to be like this so they can
# be customized in the near future.
RR_HIDRO_Entering,
RR_HIDRO_In_use,
RR_HIDRO_Exiting
}
}
# idle strategy
strategy RR_HIDRO_Nothing_to_do_surfaced(wp)
{
precond
{
# if hydrophone is not used
Wp:GetHydrophoneState() == 0 and !Wp:IsSubmerged()
}
action
{
Wp:Goto( "RR_HIDRO02" );
Wp:PlayAnimationAndWait( "RR_HIDRO_C_Idle11" );
Wp:PlayAnimationAndWait( "RR_HIDRO_C_Idle12" );
Wp:PlayAnimationAndWait( "RR_HIDRO_C_Idle13" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle08" );
Wp:PlayAnimationAndWait( "RR_HIDRO_D_Idle14" );
Wp:PlayAnimationAndWait( "RR_HIDRO_D_Idle15" );
Wp:PlayAnimationAndWait( "RR_HIDRO_D_Idle16" );
Wp:ScriptCompleted();
}
}
strategy RR_HIDRO_Nothing_to_do_submerged(wp)
{
precond
{
# if hydrophone is not used
Wp:GetHydrophoneState() == 0 and Wp:IsSubmerged()
}
action
{
Wp:Goto( "RR_HIDRO" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle10" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle02" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle03" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle04" );
# Wp:PlayAnimationAndWait( "RR_HIDRO_Drop_headphones_part01" );
# Wp:SetBodyPartVisibility("object1_headphone01", 1);
# Wp:SetBodyPartVisibility("object2_headphone02", 0);
# Wp:PlayAnimationAndWait( "RR_HIDRO_Drop_headphones_part02" );
# Wp:SetBodyPartVisibility("object1_headphone01", 0);
# Wp:PlayAnimationAndWait( "RR_HIDRO_Drop_headphones_part03" );
# Wp:SetBodyPartVisibility("object1_headphone01", 1);
# Wp:PlayAnimationAndWait( "RR_HIDRO_Drop_headphones_part04" );
# Wp:SetBodyPartVisibility("object1_headphone01", 0);
# Wp:SetBodyPartVisibility("object2_headphone02", 1);
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle05" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle06" );
Wp:ScriptCompleted();
}
}
# captain is entering hydrophone
strategy RR_HIDRO_Entering(wp)
{
precond
{
# if hydrophone will be used by captain
# "entering hydrophone" - state
Wp:GetHydrophoneState() == 1
}
action
{
# if on "RR_HIDRO", go to "RR_HIDRO02" to
# make room for the captain
Wp:Goto( "RR_HIDRO02" );
# do idle stuff
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle02" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle03" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle04" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle05" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle06" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle10" );
Wp:ScriptCompleted();
}
}
# captain is at the hydrophone
strategy RR_HIDRO_In_use(wp)
{
precond
{
# if captain is at the hydrophone, and leaving
# "exiting hydrophone" - state
Wp:GetHydrophoneState() == 2
}
action
{
# if on "RR_HIDRO", go to "RR_HIDRO02" to
# make room for the captain
Wp:Goto( "RR_HIDRO02" );
# do idle stuff
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle02" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle03" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle04" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle05" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle06" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle10" );
Wp:ScriptCompleted();
}
}
# captain is at the hydrophone
strategy RR_HIDRO_Exiting(wp)
{
precond
{
# if captain is at the hydrophone, and leaving
# "exiting hydrophone" - state
Wp:GetHydrophoneState() == 3
}
action
{
# if on "RR_HIDRO", go to "RR_HIDRO02" to
# make room for the captain
Wp:Goto( "RR_HIDRO02" );
# do idle stuff
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle02" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle03" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle04" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle05" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle06" );
Wp:PlayAnimationAndWait( "RR_HIDRO_Idle10" );
Wp:ScriptCompleted();
}
}
QR2:
Code:
# Crew_Idle_Actions_QR2.aix
# Stock script modified by MightyFine Crew Mod 1.2 03/21/2010
# Edited by gap for The Wolves of Steel Mega Mod on 03/01/2016
strategy SQ_COOK_IDLE01(wp)
{
strategies
{
SQ_COOK_STEALING_FOOD_SCENE,
SQ_COOK_NORMAL,
SQ_COOK_DAMAGE_TAKEN,
SQ_COOK_SILENT_RUNNING
}
}
strategy SQ_COOK_STEALING_FOOD_SCENE(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) > 0 and Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) > 0) or (Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) == 2)
}
action
{
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 2 );
if Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) == 1 then
Wp:DoNothing()
else
{
Wp:PlayAnimationAndWait( "SQ_COOK_B_TALK_BOSUN" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_CHOPPING01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_THREATEN_BOSUN" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_HIT_BOSUN" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_LAUGH_AT_BOSUN" );
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part02" );
Wp:SetBodyPartVisibility("object2_spoon", 1);
Wp:Goto( "SQ_COOK_A" );
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 0 );
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_COOK_NORMAL(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) != 2) and (!Wp:IsCrewState(DMG_TKN) or !Wp:IsCurrentWaypoint( "SQ_COOK_A" ) or !Wp:IsCurrentWaypoint( "SQ_COOK_B" )) and (!Wp:IsCrewState(SIL_RUN) or !Wp:IsCurrentWaypoint( "SQ_COOK_B" ))
}
action
{
if Wp:IsCharacterPosture(D) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_D2B_Part01" );
Wp:PlayAnimationAndWait( "SQ_COOK_D2B_Part02" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Dance01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part02" );
Wp:SetBodyPartVisibility("object2_spoon", 1);
Wp:Goto( "SQ_COOK_A" );
}
endif;
if !Wp:IsCharacterPosture(D) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_A_StirPot01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_StirPotDancing01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A2B_Part01" );
Wp:SetBodyPartVisibility("object2_spoon", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_A2B_Part02" );
Wp:SetBodyPartVisibility("object2_knife", 1);
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 1 );
Wp:Goto( "SQ_COOK_B" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_CHOPPING01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Dance01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_CHOPPING01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Dance01" );
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 0 );
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part02" );
Wp:SetBodyPartVisibility("object2_spoon", 1);
Wp:Goto( "SQ_COOK_A" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_StirPotDancing01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_Taste01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_StirPot01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_DANCE02" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_TASTE_BURN01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_ADJUST_HEAT" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_TASTE_ADD_SALT" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_TASTE_DELICIOUS" );
Wp:PlayAnimationAndWait( "SQ_COOK_A_DANCE01" );
Wp:PlayAnimationAndWait( "SQ_COOK_A2C_Part01" );
Wp:SetBodyPartVisibility("object2_spoon", 0);
Wp:Goto( "SQ_COOK_C" );
Wp:PlayAnimationAndWait( "SQ_COOK_C_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_COOK_C_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_C2B_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 1);
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 1 );
Wp:Goto( "SQ_COOK_B" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Dance01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Dance01" );
Wp:SetGlobalVariable( VAR_SQ_COOK_STATE, 0 );
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_B2A_Part02" );
Wp:SetBodyPartVisibility("object2_spoon", 1);
Wp:Goto( "SQ_COOK_A" );
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_COOK_SILENT_RUNNING(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) != 2) and Wp:IsCrewState(SIL_RUN) and Wp:IsCurrentWaypoint( "SQ_COOK_B" )
}
action
{
if Wp:IsCharacterPosture(B) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_B2D_Part01" );
Wp:SetBodyPartVisibility("object2_knife", 0);
Wp:PlayAnimationAndWait( "SQ_COOK_B2D_Part02" );
}
endif;
if Wp:IsCharacterPosture(D) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_D_Idle01" );
Wp:PlayAnimationAndWait( "SQ_COOK_D_Idle02" );
Wp:PlayAnimationAndWait( "SQ_COOK_D_Idle03" );
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_COOK_DAMAGE_TAKEN(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) != 2) and Wp:IsCrewState(DMG_TKN) and !Wp:IsCrewState(SIL_RUN) and (Wp:IsCurrentWaypoint( "SQ_COOK_A" ) or Wp:IsCurrentWaypoint( "SQ_COOK_B" ) or Wp:IsCurrentWaypoint( "SQ_COOK_D" ))
}
action
{
if Wp:IsCurrentWaypoint( "SQ_COOK_A" ) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_A_Explosion_Event01" );
Wp:DeactivateCrewState(DMG_TKN);
}
endif;
if Wp:IsCurrentWaypoint( "SQ_COOK_B" ) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_B_explosion_event02" );
Wp:PlayAnimationAndWait( "SQ_COOK_B_Idle01" );
Wp:Goto( "SQ_COOK_A" );
Wp:DeactivateCrewState(DMG_TKN);
}
endif;
if Wp:IsCurrentWaypoint( "SQ_COOK_D" ) then
{
Wp:PlayAnimationAndWait( "SQ_COOK_D_explosion_event03" );
Wp:DeactivateCrewState(DMG_TKN);
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_BED01_IDLE01(wp)
{
strategies
{
SQ_BED01_Sleeping,
SQ_BED01_Manning_A02gun,
SQ_BED01_Manning_deck_gun
}
}
strategy SQ_BED01_Sleeping(wp)
{
precond
{
!((Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)) or (Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)))
}
action
{
############## Uncomment for optional beard #####################
# Wp:SetBodyPartVisibility("object1_Barba_Cap18", 1);
#################################################################
if (Wp:GetGunType(SLOT_A02) == CANNON_Vierling) then
Wp:UnmanTheGun(SLOT_A02, ROLE_TRAV)
else
Wp:UnmanTheGun(SLOT_M01, ROLE_TRAV)
endif;
Wp:Teleport("SQ_BED01");
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:SetBodyPartVisibility("A_Torso05", 0);
Wp:SetBodyPartVisibility("A_Torso07", 1);
Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_A_Scratch01" );
Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_A2B_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED01_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_B_Dream01" );
Wp:PlayAnimationAndWait( "SQ_BED01_B2A_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_AtoC" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle04" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle01" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle05" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle02_part01" );
Wp:SetBodyPartVisibility("object2_book01", 1);
Wp:PlayAnimationAndWait( "SQ_BED01_idlle02_part02" );
Wp:PlayAnimationAndWait( "SQ_BED01_idlle03_part01" );
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED01_idlle03_part02" );
Wp:PlayAnimationAndWait( "SQ_BED01_CtoA" );
Wp:ScriptCompleted();
}
}
strategy SQ_BED01_Manning_A02gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)
}
action
{
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED01_leave_rush" );
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso05", 1);
Wp:SetBodyPartVisibility("A_Torso07", 0);
Wp:Teleport("WP_A02_GUN");
Wp:ManTheGun(SLOT_A02, "Vierling_L_R", ROLE_TRAV);
Wp:ScriptCompleted();
}
}
strategy SQ_BED01_Manning_deck_gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)
}
action
{
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED01_leave_rush" );
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso05", 1);
Wp:SetBodyPartVisibility("A_Torso07", 0);
Wp:Teleport("WP_DECK_GUN");
Wp:ManTheGun(SLOT_M01, "88mm_L_R", ROLE_TRAV);
Wp:ScriptCompleted();
}
}
strategy SQ_BED02_IDLE01(wp)
{
strategies
{
SQ_BED02_Sleeping,
SQ_BED02_Manning_A02gun,
SQ_BED02_Manning_deck_gun
}
}
strategy SQ_BED02_Sleeping(wp)
{
precond
{
!((Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)) or (Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)))
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Barba_Cap06", 1);
##################################################################
if (Wp:GetGunType(SLOT_A02) == CANNON_Vierling) then
Wp:UnmanTheGun(SLOT_A02, ROLE_ELEV)
else
Wp:UnmanTheGun(SLOT_M01, ROLE_ELEV)
endif;
Wp:Teleport("SQ_BED02");
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:SetBodyPartVisibility("A_Torso03", 1);
Wp:SetBodyPartVisibility("A_Torso07", 0);
Wp:SetBodyPartVisibility("A_Pants02", 1);
Wp:SetBodyPartVisibility("A_Pants01", 0);
Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_A2B_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED02_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_B2A_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_AtoC" );
Wp:PlayAnimationAndWait( "SQ_BED02_idlle01" );
Wp:PlayAnimationAndWait( "SQ_BED02_idlle02_01" );
Wp:SetBodyPartVisibility("object2_book01", 1);
Wp:PlayAnimationAndWait( "SQ_BED02_idlle02_02" );
Wp:PlayAnimationAndWait( "SQ_BED02_idlle03_01" );
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED02_idlle03_02" );
Wp:PlayAnimationAndWait( "SQ_BED02_idlle04" );
Wp:PlayAnimationAndWait( "SQ_BED02_idlle05" );
Wp:PlayAnimationAndWait( "SQ_BED02_CtoA" );
Wp:ScriptCompleted();
}
}
strategy SQ_BED02_Manning_A02gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)
}
action
{
Wp:PlayAnimationAndWait( "SQ_BED02_leave_rush" );
Wp:Teleport("WP_A02_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso03", 0);
Wp:SetBodyPartVisibility("A_Torso07", 1);
Wp:SetBodyPartVisibility("A_Pants02", 0);
Wp:SetBodyPartVisibility("A_Pants01", 1);
Wp:ManTheGun(SLOT_A02, "Vierling_UP_DW", ROLE_ELEV);
Wp:ScriptCompleted();
}
}
strategy SQ_BED02_Manning_deck_gun(wp)
{
precond
{
Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)
}
action
{
Wp:PlayAnimationAndWait( "SQ_BED02_leave_rush" );
Wp:Teleport("WP_DECK_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Torso03", 0);
Wp:SetBodyPartVisibility("A_Torso07", 1);
Wp:SetBodyPartVisibility("A_Pants02", 0);
Wp:SetBodyPartVisibility("A_Pants01", 1);
Wp:ManTheGun(SLOT_M01, "88mm_UP_DW", ROLE_ELEV);
Wp:ScriptCompleted();
}
}
strategy SQ_BED03_IDLE01(wp)
{
strategies
{
SQ_BED03_Sleeping,
SQ_BED03_Manning_Flakgun
}
}
strategy SQ_BED03_Sleeping(wp)
{
precond
{
!Wp:IsGunManned(SLOT_S01)
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Barba_Cap18", 1);
##################################################################
Wp:UnmanTheGun(SLOT_S01, ROLE_ELEV);
Wp:Teleport("SQ_BED03");
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:PlayAnimationAndWait( "SQ_BED03_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_A2B_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED03_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_B_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_B2A_Turn" );
Wp:PlayAnimationAndWait( "SQ_BED03_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_AtoC" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle01" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle02_part01" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle02_part02" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle03_part01" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle03_part02" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle04" );
Wp:PlayAnimationAndWait( "SQ_BED03_idle05" );
Wp:PlayAnimationAndWait( "SQ_BED03_CtoA" );
Wp:ScriptCompleted();
}
}
strategy SQ_BED03_Manning_Flakgun(wp)
{
precond
{
Wp:IsGunManned(SLOT_S01)
}
action
{
Wp:PlayAnimationAndWait( "SQ_BED03_leave_rush" );
Wp:Teleport("WP_FLAK_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmM) then
Wp:ManTheGun(SLOT_S01, "37mmM_UP_DW", ROLE_ELEV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmSA) then
Wp:ManTheGun(SLOT_S01, "37mmSA_UP_DW", ROLE_ELEV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmTSA) then
Wp:ManTheGun(SLOT_S01, "37mmTSA_UP_DW", ROLE_ELEV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_Vierling) then
Wp:ManTheGun(SLOT_S01, "Vierling_UP_DW", ROLE_ELEV)
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_BED04_IDLE01(wp)
{
strategies
{
SQ_BED04_Sleeping,
SQ_BED04_Manning_Flakgun
}
}
strategy SQ_BED04_Sleeping(wp)
{
precond
{
!Wp:IsGunManned(SLOT_S01)
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Beard_CAP04", 1);
##################################################################
Wp:UnmanTheGun(SLOT_S01, ROLE_TRAV);
Wp:Teleport("SQ_BED04");
Wp:SetBodyPartVisibility("A_Hat01", 0);
Wp:SetBodyPartVisibility("A_Pants02", 1);
Wp:SetBodyPartVisibility("A_Pants01", 0);
Wp:PlayAnimationAndWait( "SQ_BED04_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED04_Scratch01" );
Wp:PlayAnimationAndWait( "SQ_BED04_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BED04_FallAsleep" );
Wp:PlayAnimationAndWait( "SQ_BED04_Sleep01" );
Wp:PlayAnimationAndWait( "SQ_BED04_Sleep01" );
Wp:PlayAnimationAndWait( "SQ_BED04_WakeUp01" );
Wp:PlayAnimationAndWait( "SQ_BED04_AtoC" );
Wp:PlayAnimationAndWait( "SQ_BED04_idlle01" );
Wp:PlayAnimationAndWait( "SQ_BED04_idle04" );
Wp:PlayAnimationAndWait( "SQ_BED04_Pik_Up_Book_PART01" );
Wp:SetBodyPartVisibility("object2_book01", 1);
Wp:PlayAnimationAndWait( "SQ_BED04_Pik_Up_Book_PART02" );
Wp:PlayAnimationAndWait( "SQ_BED04_Put_Down_Book_PART01" );
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED04_Put_Down_Book_PART02" );
Wp:PlayAnimationAndWait( "SQ_BED04_idlle05" );
Wp:PlayAnimationAndWait( "SQ_BED04_CtoA" );
Wp:ScriptCompleted();
}
}
strategy SQ_BED04_Manning_Flakgun(wp)
{
precond
{
Wp:IsGunManned(SLOT_S01)
}
action
{
Wp:SetBodyPartVisibility("object2_book01", 0);
Wp:PlayAnimationAndWait( "SQ_BED04_leave_rush" );
Wp:Teleport("WP_FLAK_GUN");
Wp:SetBodyPartVisibility("A_Hat01", 1);
Wp:SetBodyPartVisibility("A_Pants02", 0);
Wp:SetBodyPartVisibility("A_Pants01", 1);
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmM) then
Wp:ManTheGun(SLOT_S01, "37mmM_L_R", ROLE_TRAV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmSA) then
Wp:ManTheGun(SLOT_S01, "37mmSA_L_R", ROLE_TRAV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_37mmTSA) then
Wp:ManTheGun(SLOT_S01, "37mmTSA_L_R", ROLE_TRAV)
endif;
if (Wp:GetGunType(SLOT_S01) == CANNON_Vierling) then
Wp:ManTheGun(SLOT_S01, "Vierling_L_R", ROLE_TRAV)
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_BOSUN_IDLE01(wp)
{
strategies
{
SQ_BOSUN_STEALING_FOOD_SCENE,
SQ_BOSUN_NORMAL,
SQ_BOSUN_DAMAGE_TAKEN,
SQ_BOSUN_PROXIMITY_EXPLOSIONS,
SQ_BOSUN_HUNT
}
}
strategy SQ_BOSUN_STEALING_FOOD_SCENE(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) > 0 and Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) > 0) or (Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) == 2)
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Beard_CAP04", 1);
##################################################################
Wp:SetGlobalVariable( VAR_SQ_BOSUN_STATE, 2 );
if Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) == 1 then
Wp:DoNothing()
else
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_Talk02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_taking_food01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_eating" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_taking_food02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_pull_hand" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_taking_food01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_eating" );
Wp:Goto( "SQ_BOSUN_B" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:SetGlobalVariable( VAR_SQ_BOSUN_STATE, 0 );
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_BOSUN_NORMAL(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) != 2) and (!Wp:IsCrewState(DMG_TKN|PROX_EXPL) or !Wp:IsCurrentWaypoint( "SQ_BOSUN_B" ) or !Wp:IsCurrentWaypoint( "SQ_BOSUN_C" )) and (!Wp:IsCrewState(HUNTER|HUNTED) or !Wp:IsCurrentWaypoint( "SQ_BOSUN_A" ))
}
action
{
############## Uncomment for optional beard ######################
# Wp:SetBodyPartVisibility("object1_Beard_CAP04", 1);
##################################################################
Wp:PlayAnimationAndWait( "SQ_BOSUN_A_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_A_LookLeft01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_A_LookRight01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_AtoD_part01" );
Wp:SetBodyPartVisibility("object2_Pencil02", 1);
Wp:SetBodyPartVisibility("object1_letter02", 1);
Wp:PlayAnimationAndWait( "SQ_BOSUN_AtoD_part02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_Poetry01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_Poetry02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_Poetry03" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_Poetry01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_Poetry04" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_DtoA_part01" );
Wp:SetBodyPartVisibility("object1_letter02", 0);
Wp:SetBodyPartVisibility("object2_Pencil02", 0);
Wp:PlayAnimationAndWait( "SQ_BOSUN_DtoA_part02" );
Wp:Goto( "SQ_BOSUN_B" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
if Wp:GetGlobalVariable( VAR_SQ_COOK_STATE ) == 0 then
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_idle01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_idle02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_idle03" );
}
endif;
Wp:SetGlobalVariable( VAR_SQ_BOSUN_STATE, 1);
Wp:Goto( "SQ_BOSUN_C" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_Idle01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_Talk01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_Idle01" );
Wp:SetGlobalVariable( VAR_SQ_BOSUN_STATE, 0 );
Wp:Goto( "SQ_BOSUN_B" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:ScriptCompleted();
}
}
strategy SQ_BOSUN_DAMAGE_TAKEN(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) != 2) and Wp:IsCrewState(DMG_TKN) and (Wp:IsCurrentWaypoint( "SQ_BOSUN_B" ) or Wp:IsCurrentWaypoint( "SQ_BOSUN_C" )) and !Wp:IsCrewState(PROX_EXPL)
}
action
{
Wp:SetBodyPartVisibility("object1_letter02", 0);
Wp:SetBodyPartVisibility("object2_Pencil02", 0);
if Wp:IsCurrentWaypoint( "SQ_BOSUN_B" ) then
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_explosion_event01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:DeactivateCrewState(DMG_TKN);
}
endif;
if Wp:IsCurrentWaypoint( "SQ_BOSUN_C" ) then
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_explosion_event04" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_C_Idle01" );
Wp:Goto( "SQ_BOSUN_B" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:DeactivateCrewState(DMG_TKN);
}
endif;
Wp:ScriptCompleted();
}
}
strategy SQ_BOSUN_HUNT(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) != 2) and !Wp:IsCrewState(DMG_TKN|PROX_EXPL) and Wp:IsCurrentWaypoint( "SQ_BOSUN_A" ) and Wp:IsCrewState(HUNTER|HUNTED)
}
action
{
Wp:SetBodyPartVisibility("object1_letter02", 0);
Wp:SetBodyPartVisibility("object2_Pencil02", 0);
Wp:PlayAnimationAndWait( "SQ_BOSUN_worry01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_worry02" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_worry01" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_worry02" );
Wp:ScriptCompleted();
}
}
strategy SQ_BOSUN_PROXIMITY_EXPLOSIONS(wp)
{
precond
{
(Wp:GetGlobalVariable( VAR_SQ_BOSUN_STATE ) != 2) and Wp:IsCrewState(PROX_EXPL) and (Wp:IsCurrentWaypoint( "SQ_BOSUN_B" ) or Wp:IsCurrentWaypoint( "SQ_BOSUN_C" ))
}
action
{
Wp:SetBodyPartVisibility("object1_letter02", 0);
Wp:SetBodyPartVisibility("object2_Pencil02", 0);
if Wp:IsCurrentWaypoint( "SQ_BOSUN_B" ) then
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_explosion_event02" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:DeactivateCrewState(PROX_EXPL);
}
endif;
if Wp:IsCurrentWaypoint( "SQ_BOSUN_C" ) then
{
Wp:PlayAnimationAndWait( "SQ_BOSUN_explosion_event04" );
Wp:Goto( "SQ_BOSUN_B" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookLeft" );
Wp:PlayAnimationAndWait( "SQ_BOSUN_B_LookAround01" );
Wp:Goto( "SQ_BOSUN_A" );
Wp:DeactivateCrewState(PROX_EXPL);
}
endif;
Wp:ScriptCompleted();
}
}
Quote:
Originally Posted by vdr1981
Squid launcher? You're planning a new mod ?
|
Yep:
http://www.subsim.com/radioroom/show...89#post2383289
Not exactly my mod: that's a project of LGN1 for SHIII. I offered to create 3d models for it, but once it is ready I don't think LGN1 will have problems if we ask to port the mod to SH5
|