This is a sub-page of LEGO Star Wars: The Video Game (PlayStation 2, Xbox, GameCube, Windows).
|
|
To do:
|
Episode I
gungan_c has a script called battledroids.scp that is technically unused, but is identical to the used script battledroid.scp.
party.scp for retake_f:
//RetakeF
ReferenceScript {
Script=GenericDefend
Source=Global
ReturnState=Base
Conditions {
}
}
state Base {
Conditions {
if CategoryIs "Jedi" == 1 goto JediUpdate
if PreviousResult == 0 goto NormalUpdate
}
Actions {
}
}
state NormalUpdate {
Conditions {
}
Actions {
FollowPlayer "1.5"
}
}
state JediUpdate {
Conditions {
}
Actions {
FollowPlayer "0.75"
}
}
bonusattack.scp is listed in the script file of maul_b, but is commented out:
state InActive {
Conditions {
if PlayerInTriggerArea "Bonus_Room" == 1 goto Activate
}
Actions {
}
}
state Activate {
Conditions {
}
Actions {
Activate
}
}
state Base {
Conditions {
}
Actions {
BreakFormation
CanOpenDoors TRUE
GoToLocator
CanOpenDoors FALSE
SetState "Chase"
}
}
state Chase {
Conditions {
if GotOpponent == 1 goto Engage
}
Actions {
FollowPlayer
}
}
state Engage {
Conditions {
if GotOpponent == 0 goto Chase
}
Actions {
EngageOpponent "goalrange 1.5" "firerange 3"
}
}
Episode II
kamino_f has an unused script called level1.scp:
state Base {
Conditions {
if EitherPlayerInTriggerArea "MINEAREA1" == 1 goto TurnStuffOff
}
Actions {
;SetVisibility "name=pad1" "TRUE"
ActivateGadget "mine01trigger"
}
}
state TurnStuffOff {
Conditions {
if EitherPlayerInTriggerArea "Debbies" == 0 goto Base
}
Actions {
;SetVisibility "name=pad1" "FALSE"
}
}
In factory_d, freeplay.scp is unused:
//FactoryD
ReferenceScript {
Script=FreePlayDefend
Source=Global
ReturnState=Base
Conditions {
}
}
state Base {
Conditions {
if InTriggerArea "InPot" == 1 goto DoNothing
}
Actions {
FollowPlayer "0.75"
}
}
state DoNothing {
Conditions {
if InTriggerArea "InPot" == 0 goto Base
}
Actions {
Idle
}
}
Episode III
In cruiser_b, storm.scp is unused.
PARAM 0 visibility 4
PARAM 1 shootrange 3
PARAM 2 engagedist 1.5
state Base {
Conditions {
if GotTriggerArea == 0 goto StartApproach
if EitherPlayerInTriggerArea == 1.0 goto StartApproach
}
Actions {
KeepWeaponOut
BreakFormation
Idle
}
}
state StartApproach {
Conditions {
if GotLocator == 0 goto Approach
; if GotOpponent == 1 goto Fight
}
Actions {
GoToLocator
SetState "Aproach"
}
}
state Approach {
Conditions {
if GotOpponent == 1 goto Fight
}
Actions {
FollowPlayer
}
}
state Fight {
Conditions {
if GotOpponent == 0 goto Approach
}
Actions {
EngageOpponent "goalrange engagedist" "firerange shootrange"
}
}
In cruiser_d, droideka, battledroid, and jedi.scp are commented out of the script file.
state Base {
Conditions {
if EitherPlayerInTriggerArea == 1 goto Approach
if BeenAlerted == 1 goto StartFight
}
Actions {
DontPush
GoToLocator
KeepWeaponOut
EngageOpponent "static" "firerange 3"
}
}
state Approach {
Conditions {
if GotOpponent == 1 goto Fight
}
Actions {
DontPush "FALSE"
FollowPlayer
}
}
state Fight {
Conditions {
if GotOpponent == 0 goto Approach
if OpponentRange < 2 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
EngageOpponent "goalrange 1.5" "firerange 3"
}
}
state GetBackOnScreen {
Conditions {
if OpponentRange > 2.5 goto Fight
if Timer > 1.5 and
if IsOnScreen == 1 goto Fight
if Timer > 1.5 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
ResetTimer
GoToLocator "name" "top"
}
}
PARAM 0 visibility 4
PARAM 1 shootrange 3
PARAM 2 engagedist 1.5
state Base {
Conditions {
if GotTriggerArea == 0 goto Approach
if EitherPlayerInTriggerArea == 1.0 goto Approach
if BeenAlerted == 1 goto StartFight
}
Actions {
NoLosCheck
SetViewDistance "50"
CanSeeBehind
KeepWeaponOut
BreakFormation
Idle
}
}
state Approach {
Conditions {
if GotOpponent == 1 goto Fight
}
Actions {
FollowPlayer
}
}
state Fight {
Conditions {
if GotOpponent == 0 goto Approach
if OpponentRange < 2 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
EngageOpponent "goalrange engagedist" "firerange shootrange"
}
}
state GetBackOnScreen {
Conditions {
if OpponentRange > 2.5 goto Fight
if Timer > 1.5 and
if IsOnScreen == 1 goto Fight
if Timer > 1.5 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
ResetTimer
GoToLocator "name" "top"
}
}
ReferenceScript {
Script=Jedi
Source=Global
ReturnState=Base
Conditions {
if IsOnScreen == 1
}
}
state Base {
Conditions {
if PlayerRange < 1 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
FollowPlayer "0.75"
}
}
state GetBackOnScreen {
Conditions {
if PlayerRange > 1.5 goto Base
if Timer > 1.5 and
if IsOnScreen == 1 goto Base
if Timer > 1.5 and
if IsOnScreen == 0 goto GetBackOnScreen
}
Actions {
ResetTimer
GoToLocator "name" "top"
}
}
Defense of Kashyyyk#
In kashyyk_b, there are two unused scripts for the beach attacks, beachattack.scp and beachattack2.scp:
ReferenceScript {
Script=Jedi
Source=Global
ReturnState=Base
Conditions {
if GotLocator == 0
}
}
state Base {
Conditions {
}
Actions {
SetState "Engage"
}
}
state Approach {
Conditions {
if GotOpponent == 1 goto Engage
}
Actions {
FollowPlayer
}
}
state Engage {
Conditions {
if GotOpponent == 0 goto Approach
}
Actions {
EngageOpponent "goalrange 1" "firerange 2"
}
}
ReferenceScript {
Script=Jedi
Source=Global
ReturnState=Base
Conditions {
if GotLocator == 0
}
}
state Base {
Conditions {
if NearestPlayerToLocator < 4 goto GoToLocator
}
Actions {
KeepWeaponOut
CanDefend
Respawnable "origin"
}
}
state GoToLocator {
Conditions {
}
Actions {
GoToLocator "xz_rangecheck" "0.5"
SetState "Engage"
}
}
state Engage {
Conditions {
}
Actions {
SetMaxMovementRange "Locator" "1.5"
EngageOpponent "goalrange 1.5" "firerange 3"
}
}
In kashyyyk_c, the levels script is unused:
state Base {
Conditions {
}
Actions {
CnxController "from=centre_to_pad1" "to=pad1_to_centre" "off_flag=BLOCK" "obj=button_plat_2" "checkvisible" "on_frames=1to1"
CnxController "from=centre_to_pad2" "to=pad2_to_centre" "off_flag=BLOCK" "obj=button_plat_2" "checkvisible" "on_frames=1to1"
CnxController "from=pad1_to_path" "to=path_to_pad1" "off_flag=BLOCK" "obj=path_1b" "checkvisible" "on_frames=128to128"
CnxController "from=pad2_to_path" "to=path_to_pad2" "off_flag=BLOCK" "obj=path_1b" "checkvisible" "on_frames=128to128"
SetVisibility "name=pad_gate1" "FALSE"
SetVisibility "name=pad_gate_1b" "FALSE"
SetVisibility "name=pad_gate2" "FALSE"
SetVisibility "name=pad_gate_2b" "FALSE"
SetVisibility "name=button_plat_1" "FALSE"
SetState "Update"
}
}
state Update {
Conditions {
// if Message "Ambush" == 1 and
// if GoodyInTriggerArea "Start" == 0 goto StartAmbush
if Message "Ambush" == 1 goto StartAmbush
if Message "Ambush" == 2 and
if NumBaddies == 1 goto StartDroidekas //The one baddy is Darth Maul
}
Actions {
}
}
state ShoutCommander {
Conditions {
}
Actions {
}
}
state StartAmbush {
Conditions {
if Message "CommanderInCharge" == 1 goto DropStartPlatforms
}
Actions {
SetVisibility "name=button_plat_1" "TRUE"
SetMessage "name=Ambush" "value=2"
CreateCreatures "locator=COMMANDER_LEFT" "type=battledroid_commander" "script=commander_left"
Idle
}
}
state DropStartPlatforms {
Conditions {
}
Actions {
SnapToLocator "character=Player0" "name=Player_0"
SnapToLocator "character=Player1" "name=Player_1"
CameraCut "Reset"
Idle "0.5"
UnlockDoor "path_enter"
OpenDoor "path_enter" "stayopen"
SetState "Update"
}
}
state StartDroidekas {
Conditions {
}
Actions {
SetMessage "name=Ambush" "value=3"
Idle "2"
CameraCut "tgt_locator=Droideka_Cam" "range=2.5" "roty=0" "rotx=15" "end_time=5" "blend_out_time=0.5"
CreateCreatures "locator=DROIDEKA_LEFT" "type=destroyer" "script=droideka"
CreateCreatures "locator=DROIDEKA_RIGHT" "type=destroyer" "script=droideka"
UnLockDoor "pad1"
OpenDoor "pad1" "stayopen"
UnLockDoor "pad2"
OpenDoor "pad2" "stayopen"
SetState "Update"
}
}
Luminara#
AI scripts for the Defense of Kashyyyk indicate that Luminara was originally planned to be on Kashyyyk with Yoda and the wookies.
The following is the luminara.scp script in the AI directories for kashyyyk_a, kashyyyk_b, and kashyyyk_c:
ReferenceScript {
Script=GenericDefend
Source=Global
ReturnState=Base
Conditions {
}
}
state InActive {
Conditions {
if Message "MetLuminara" != 0 goto Activate
}
Actions {
}
}
state Activate {
Conditions {
}
Actions {
Activate
}
}
state Base {
Conditions {
}
Actions {
FollowPlayer "0.75"
}
}
The only section of the level with a different script is kashyyk_d:
state Base {
Conditions {
if Message "MetLuminara" == 0 goto WaitToBeMet
if PreviousResult == 1 goto Update
}
Actions {
}
}
state WaitToBeMet {
Conditions {
if DoorOpened "pad_gate" == 1 goto BeenMet
}
Actions {
SnapToLocator "name=Luminara"
}
}
state BeenMet {
Conditions {
}
Actions {
SetMessage "name=MetLuminara" "value=1"
SetState "Update"
}
}
state Update {
ReferenceScript {
Script=GenericDefend
Source=Global
ReturnState=Update
Conditions {
}
}
Conditions {
}
Actions {
FollowPlayer "0.75"
}
}