the cutting room mirror

Unused Text

This is a sub-page of LEGO Worlds.

ENTITLEMENTS.XML#

A file containing filenames for released and unreleased DLC.
The "Zoo" DLC was never released or announced, but graphics for it are leftover in The LEGO Movie 2 Videogame.
Strangely, the Monsters DLC pack is numbered after Survivor, and DLC_NAME01, 02, 04, and 05 are missing.

<Root>
<Entitlement Name="BLUE_Pug-Z" Type="Call">
    <Function Name="BLUE_Pug-Z"/>
    </Entitlement>
<Entitlement Name="Classic Space" CornwallTag="DLC_NAME03" Type="DLC">
    <ProductID>A17F8E33-D52F-430C-879A-0875C8592E98</ProductID>
    </Entitlement>
<Entitlement Name="Monster" CornwallTag="DLC_NAME07" Type="DLC">
    <ProductID>B942A340-EC03-4C69-AE35-7ACB5E902682</ProductID>
    </Entitlement>
<Entitlement Name="Survivor" CornwallTag="DLC_NAME06" Type="DLC">
    <ProductID>E79DC72F-DDB2-4453-BB30-845B84DB6D21</ProductID>
    </Entitlement>
<Entitlement Name="Seasonal" CornwallTag="DLC_NAME08" Type="Free">
    <ProductID>E1C0D84C4-4E78-4127-9BAB-5AE6A0D5BDA1</ProductID>
    </Entitlement>
<Entitlement Name="Zoo" CornwallTag="DLC_NAME09" Type="DLC">
    <ProductID>519911E1-A002-482A-BCBA-C357DD4880CA</ProductID>
    </Entitlement>
<Entitlement Name="2017_Showcase" CornwallTag="DLC_NAME10" Type="DLC">
    <ProductID>7430D539-A7C9-4236-B3EA-0D7E387CCB29</ProductID>
    </Entitlement>
<Entitlement Name="2018_Showcase" CornwallTag="DLC_NAME11" Type="DLC">
    <ProductID>6708C039-521A-45D3-9F5C-3DF67488E189</ProductID>
    </Entitlement>
<!--  Nexo Knights related entitlement  -->
<Entitlement Name="ENT_Lance_Limo" Type="Box">
    <Key>Key_Lance</Key>
    </Entitlement>
<Entitlement Name="ENT_Banshee_Prison_Carrriage" Type="Box">
    <Key>Key_Banshee</Key>
    </Entitlement>
</Root>

Removed Quests#

Marked off quests exist in multiple scripts.
ABILITIES.TXT
The police and fire quests ended up being used for the showcase builds.

//txt_file "abilities/Gadgets/Savanna.txt"  // <- PConnor - commented out until abilities get added to this file
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/Fireman_60107.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/Firewoman_60107.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/PoliceATVDriver.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/PoliceGirl_60136.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/Robber_60135.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Minifigs/RomanEmperor.txt"
//txt_file "abilities/Quests/CharacterUnlockQuests/Creatures/FireDog_60110.txt"

FETCHQUESTS.TXT

//ability_start "TradeShield_SwampPolice_F"
    //addon_start "MechQuestFetchAbility"
        //FetchGroup_start = "Shield_SwampPolice_F"
            //Weight = 1.0
            //RequireItem = "Rifle"
            //AwardItem = "Shield"
        //FetchGroup_end

    //addon_end
//ability_end

//ability_start "TradePickaxe_Girl"
//addon_start "MechQuestFetchAbility"
        //FetchGroup_start = "Pickaxe_Girl"
            //Weight = 1.0
            //RequireItem = "Bagpipes"
            //AwardItem = "Pickaxe"
        //FetchGroup_end

    //addon_end
//ability_end

//ability_start "PirareF_CutlassFetch"
//  addon_start "MechQuestFetchAbility" 
//      FetchGroup_start = "PirateFFetchCutlass"
//      Weight = 1.0
//      Require Item = "Cutlass"
//      FetchGroup_end
//  addon_end
//ability_end

HERDCREATUREQUESTS.TXT

//ability_start "HerdCreature_1_Cowboy"
//  addon_start "MechQuestHerdCreature"
//      AddCreature = "BULL_BROWN", SpawnQuantity = 2, RequestedQuantity = 3
//      AddCreature = "COW_BROWN", SpawnQuantity = 1, RequestedQuantity = 3
//      MinSpawnRange=4
//      MaxSpawnRange=6
//      CompletionRange=2
//      FailRange=10
//      MaxCreatureWanderRange=10
//  addon_end
//ability_end

LXFMLPLACEMENTQUESTS.TXT
"LXFML" is the internal name for the brick builds.

\\ability_start "LXFMLPlacement_PirateGirl_KrowsNest"
    \\subability_start "LXFMLPlacementQuest_SuppressAbilities"
    \\subability_end    
    \\addon_start "MechQuestPlaceLXFMLImplementationAbility"
\\AddLXFML_start = "PirateIsles/PLKROWSNEST.LXFML"
        \\OffsetX = 22
        \\OffsetZ = -10
        \\Orientation = W
\\AddLXFML_end
    \\addon_end
\\ability_end

PHOTOSNAPQUESTS.TXT

//ability_start "PhotoSnap_1_Octopus"
//  addon_start "MechQuestPhotoSnap"
//      LensItemName="Camera"
//      AddVehicleTarget="Octopus_DarkRed"
//  addon_end
//ability_end

BUILDQUESTS.TXT

//ability_start "Build_StarterWorld_Builder60076_B_1"
//  addon_start "MechQuestBuildAbility"
//      //PerformCameraIntro
//      MinimumBricksRequired = 50
//      BonusBricksRequired = 100
//      BonusPropTypesRequired = 1
//      RequiresWalls
//      AddRequiredPropType = "Functional/Campfire", RequestedCount = 1, RequestType = AtLeast
//      AddRequiredPropType = "Generic/GenDoubleSofa", RequestedCount = 3, RequestType = AtLeast
//      AddBonusPropType = "PirateIsles/SandCastle1", RequestedCount = 1, RequestType = AtLeast
//  addon_end
//ability_end

// Test for an ad-hoc build quest
//ability_start "Build_Sheriff"
//  addon_start "MechQuestBuildAbility"
//      MinimumBricksRequired = 25
//      BonusBricksRequired = 50                                         
//      PositionOffset = <-4.15f, 0.2f, -0.1f>
//       SizeOffset = <1.7f, 1.0f, 2.0f>
//        SizeIsAbsolute
//      //AddRequiredPropType = "Western/WesternSaloonStool", RequestedCount = 3, RequestType = AtLeast
//      //AddRequiredPropType = "Western/WesternSaloonTableRound", RequestedCount = 2, RequestType = AtLeast
//      //AddRequiredPropType = "Western/WesternStoreMilkCanister", RequestedCount = 5, RequestType = AtLeast
//      //AddRequiredPropType = "Western/WesternStoreBarrels", RequestedCount = 4, RequestType = AtLeast
//  addon_end
//ability_end

Android Build Strings#

Text strings leftover in TEXT.CSV relating to an Android port of the game.

Test Levels#

Test level filenames are listed in AREAS.TXT.

//-------------------------------------
// TEST
//-------------------------------------


////MechTEST
area_start
    dir "Test\MECHTEST"
    file "MechTest"
    level "MechTestSys1"
    level "MechTestWorld"
    level "MechTestLoad"
    level "MechTestGUIBoot"
    level "MechTestKonstructs"
    hub_area
    test_area
    no_completion_points
area_end

////TechTEST
area_start
    dir "Test\TechTest"
    file "TechTest"
    level "DebCTest"
    level "LEGOShaderTest"
    test_area
    no_completion_points
area_end

////SimulationTEST
area_start
    dir "Test\SimulationTest"
    file "SimulationTest"
    level "ApiRope"
    level "DynoTest"
    test_area
    no_completion_points
area_end
////ApprovalTest
area_start
    dir "Test\PropApprovalTest"
    file "PropApprovalTest"
    level "CreatorApproval"
    level "Ninjago"
    test_area
    no_completion_points
area_end
////ArtTest
area_start
    dir "Test\ArtTest"
    file "ArtTest"
    test_area
    no_completion_points
area_end

////ModelTEST
area_start
    dir "Test\ModelTEST"
    file "ModelTest"
    level "VehicleTest"
        level "VehcileTest_CityNexo"
    test_area
    no_completion_points
area_end
////ConstructionTEST

area_start
    dir "Test\ConstructionTest"
    file "ConstructionTest"
    level "JLTest"
    test_area
    no_completion_points
area_end

Guides & Dev Comments#

Some programmers were nice enough to add guides and comprehensive comments for the other programmers within scripts.

ESCORTQUESTS.TXT

//====================================================================================================
//
//      FILE:       Escort Quests
//      AUTHOR:     James Sillett
//      EDITORS:    
//      DATE:       2017/07/06
//      DESC:       Types of lead to point of interest quest    
//
//====================================================================================================
//====================================================================================================
//      USER GUIDE
//
//      PoiType = "Cell" , "Kolony", "Character", or "Prop"
//      PoiSubType (for Cell) = "SafeWater" or "SafeGround"
//      PoiSubType (for Kolony) = Kolony name e.g "LandingSiteRegular" 
//      PoiSubType (for Character) = Character name e.g. "Police_F"
//      PoiSubType (for Prop) = Prop classification + Prop name e.g. "Basic/TreeMedium"
//      PoiSubType (for Vehicle) = Vehical Name e.g. "MotorCycle"
//
//      PoiSearchRadius is the disance you have to be to the target for the quest to trigger complete
//      Better to keep this small for cell quest because of the detection method, no restraints with the others
//      Will calculate the distance to the centre of the target kolony, character, or prop so take into account it's size when allocating this value
//
//      CombatReactionOverrideByAnim does what it says on the tin. If true the default combat behaviour for the character will be overriden with the anim listed. 
//      If none is listed I think i used idle_scared.
//      CombatReactionOverrideAnimName should be the string name for the animation e.g. "wave".
//
//      AmbushCountMax is the maximum number of times you can be ambushed during the quest (set to zero to disable ambushes).
//
//      AmbusherCountScaling. Okay this is a little confusing but basicly; 
//      the value you assign here will linearly interpolate between the initial ambush counts (in AddAmbushers) and the scaled value as the waves progress.
//      So if your inital spawn count is 2, your scaling is 10.0, wave one will spawn 2, the final wave will spawn 10, the other waves will spawn somewhere in between
//
//      AmbusherSimultaneosCountMax is the maximum number of enemies that can be spawned at once. 
//      Active ambushers die more will continue to spawn till this number of ambushers exist; asuming there are spawn counts remaining.
//
//      AmbushIntervalMin / AmbushIntervalMax define the min/max periods of time (seconds) between ambushes.
//
//      SpawnDelayMin / SpawnDelayMax is the interval between ambusher spawns during an ambush
//      This can be used to stop you overwhelming the player with too many ambushers
//
//      SpawnRangeMin / SpawnRangeMax is just the range at which ambushers can spawn.
//
//      AmbusherEscapeRange is the distance from an ambusher you must get for them to despawn
//
//
//====================================================================================================

FETCHQUESTS.TXT

// =================================================================================
//                                                                                  
//     .=============.    Description:  Various fetch quest instances
//    / (_) (_) (_) /|    Author:       Phil de Groot                                   
//   /-===========-/ |    Date:         2016/11/01
//   |             |/     
//   '-===========-'                    
//
// =================================================================================
// So, about these fetch quests. These implementation should replace the old Objective_HaveItem
// entries in the quest just to make it more consistent. Fetch quests abilities should be added
// as a custom data ability. 
// 
// The fetch quests are setup so you can specify multiple trades in a single ability to reduce 
// boilerplate ability data. 
// The basic setup is as follows: Each fetch quest can have multiple groups denoted by the
// FetchGroup_start and FetchGroup_end keywords. Each FetchGroup needs to have a unique name 
// which is due to how the ability system works. 
// Within these fetch groups you can specify the following data: 
// Weight       - The weighting of this group i.e. the relative chance it will be chosen. 
// RequireItem  - Name of the item required for the fetch quest. This will be handed over and 
//                consumed. You can specify any number of required items for a group (up to 5 due 
//                to thought bubble limitations)
// AwardItem    - Name of the item you want to give to the player to facilitate trade quests. Again 
//                you can specify any number of award items to give to the player. 

SKATEBOARDMOVEMENT.TXT

///< an ability to try and make a skateboard behave nicely :) 
ability_start "SkateboardCharacterMovement"
    
    subability_start "InertialMovement"
        
        AllowRunStop = false    ///< though might be cool to get a skid stop anim made
        MinTimeForSlowInitialMovement = 0.0
        
    subability_end
    
    addon_start "SimpleEventReactions"
        
        reaction_start=#GRAVITY_ALIGN
            listen_for_event=#OBJECTALIVE, object_has_ability="InertialMovementAtTopSpeed"
            add_ability="SkateboardTopSpeedGravityAlign", timeout = 0.5             
        reaction_end
            
    addon_end
    
    suppress_ability "SuppressAlignWithGravity" ///< AlignGravityToGroundNormalAbility needs this enabled
    
ability_end

TERRAFORMING.TXT

ability_start MoleMachineVehicleControls
    
    // TEMPORARY ability? Should get removed when input is set up correctly.
    subability_start "BadgerVehicleControls"
    
        ROTATIONAL_CONTROLS
            ALTITUDE_FROM_LEFTSTICK
        
        DIRECTIONAL_CONTROLS
            ALTITUDE_FROM_BUTTONS
            ALLOW_THROTTLE_BUTTON_WHEN_ALTITUDE_FROM_BUTTON
    
    subability_end

ability_end

VEHICLEANIMOVERRIDES.TXT

ability_start "StageCoachAnimController"

    // We're using the flying vehicle anim controller because it does exactly what we need on ground.
    subability_start "FlyingVehicleAnimControllerAbility"
        
        anim_idle = "deactivated"
        anim_move = "ride"
        anim_move_reverse = "Reverse"
        use_ground_param = true
        
    subability_end

    // Needed for the on-ground check
    subability "VehicleOnGroundInfoAbility"

ability_end

COLLECTONLANDING.TXT

//===========================================================================================
// I'm so sorry, can't put this in the Agents DLC content unfortunately because we need to 
// attach this to the GENERIC_PLAYER ability which we can't extend in DLC data... :( 

ability_start "CollectAgentsUponLanding"
    subability_start "BadgerCollectCollectablesOnLandingAbility"
        Checkpoint = "LegoAgentsPack"
        ValueToSet = "Unlocked"
        DisplayMessage = "CONTENT_UNLOCKED_AGENTS"
        
        SetCollectable = AgentChase, CollectableType = "Character", State = "Collected"
        SetCollectable = AgentTrace, CollectableType = "Character", State = "Collected"
        SetCollectable = DrInferno, CollectableType = "Character", State = "Collected"
        SetCollectable = DynaMite, CollectableType = "Character", State = "Collected"
        SetCollectable = Octopus_Glow, CollectableType = "Character", State = "Collected" 
        SetCollectable = AgentsCar_8635, CollectableType = "Character", State = "Collected"
        SetCollectable = HeliPack_8631, CollectableType = "Character", State = "Collected"
        SetCollectable = HoverJet_8635, CollectableType = "Character", State = "Collected"
        SetCollectable = PropBoat_8632, CollectableType = "Character", State = "Collected"
        SetCollectable = AgentsPistol, CollectableType = "Item", State = "Collected"
    subability_end
ability_end

SUBTHEMES.TXT

//-----------------------------------------------------------------------
// Ability to go onto all player characters. Activates a subtheme when in caves, tunnels or dungeons.
//-----------------------------------------------------------------------
ability_start "DefaultUndergroundSubTheme"

    canuseon_edclass "MechCharacter"

    subability_start "UndergroundSubThemeAbility"

        subtheme_name = "DefaultUnderground"
        occlusion_threshold = 0.1

    subability_end

ability_end


//-----------------------------------------------------------------------
// Ability to go onto props. Activates a subtheme when a player gets in range.
// This is an example of how to set up an AreaSubThemeAbility.
//-----------------------------------------------------------------------
ability_start "DemonPropAreaSubTheme"

    canuseon_edclass "GadgetBase"

    subability_start "AreaSubThemeAbility"

        subtheme_name = "DemonArea"
        range = 2.0

    subability_end

ability_end

_ABOUT.TXT

// ======================================================================|pdeGroot|==
//                                                                                  
//     .=============.    File:         _About.txt
//    / (_) (_) (_) /|    Author:       Phil de Groot
//   /-===========-/ |    Date:         2017/07/07
//   |             |/     Description:  Specific abilities dependent on in what theme
//   '-===========-'                    a character has spawned in.
//                                      Does not update the ability when crossing
//                                      over into a different theme.
//
//  Theme specific customisation usage: 
//  ability_start "MechTerraformThemeSpecificAbility"
//      Theme_start = "ThemeA"
//          Ability = "Ability1", Weight = 0.2 
//          Ability = "Ability2", Weight = 0.1
//          Ability = "EmptyAbility", Weight = 0.7
//      Theme_end
//  ability_end
//  
//  If a character is spawned in ThemeA there is a 20% chance of Ability1, 10% chance
//  of Ability2 and a 70% chance of an EmptyAbility being added. Weights do not have to be 
//  normalised and can be any value.
//
// =================================================================================

CHEATS.TXT

// Defines the cheats for the game
//
// Commands:
//      Cheat "Cheat Name" - Starts a new cheat
//      Cost <Value> - Defines the amount of coins needed to buy the cheat
//      CheatCode "123456" - 6 byte code that can be typed in to the game to unlock the cheat
//      UnlockOnRedBrick "Red brick name" - Unlocks the cheat when the specified red brick is collected
//      CollectOnRedBrick "Red brick name" - Collects the cheat when the specified red brick is collected
//      r <Value 0 - 255> - The red part of the display colour
//      g <Value 0 - 255> - The green part of the display colour
//      b <Value 0 - 255> - The blue part of the display colour 

RULES.TXT

// Defines the collectable rules for the game
//
// Commands:
//      Rule InstanceName == StateName - Starts a new rule & specifies the conditions. Also supports '!=', 'and', 'or'
//      EndRule - Ends the current rule
//      Rule NewContent - This is a predefined rule that gets called on a new game (or when a DLC is installed)
//      Unlock InstanceName - Unlocks a collectable instance
//      Unlock type.InstanceName - Unlocks a collectable instance & specifies the type if 2 collectables have the same name
//      Collect InstanceName - Collects a collectable instance
//      Collect type.InstanceName - Collects a collectable instance & specifies the type if 2 collectables have the same name
//      SetState InstanceName StateName - Sets the state on the specified collectable instance
//      SetState type.InstanceName StateName - Sets the state on the specified collectable instance & specifies the type if 2 collectables have the same name
//
//  Example:
//      Rule Ghostbusters == Complete
//          Collect PeterVenkman
//          Unlock GoldBricks.Hub_DC_DC_Quest01
//      EndRule
///< -------------------- vehicle unlock rules --------------------

VOCOLLECTABLES.TXT

//Collectables for various VOs that we need to track. 
//Basically we have one collectable for each VO that some system might play (like the incidental Quest accepted VOs) 
//The collectables are for tracking the last time each of these things has been played.

AddEntry "DX_Narrator_TheObjectsThat"
AddEntry "DX_Narrator_SomeoneElseMight"

CHECKPOINTS_AUTO.TXT#

An extremely simple script in the COLLECTABLES folder. It's like they gave up after they created the script. Here it is in it's entirety.

meh

BANKS.CFG#

A configuration file with seems to reuse strings from LEGO Batman 2.

; ============================================================================
; ==                                                                        ==
; ==  LEGO - Badger  -  Streaming track bank config file                    ==
; ==                                                                        ==
; ==                            Sam Brown                                   ==
; ==                                                                        ==
; ==  Documentation: http://tt-intranet/wiki/index.php/Audio#Banks.cfg      ==
; ==                                                                        ==
; ============================================================================


; ===================================================
; ================ Global settings ==================
; ===================================================

ReportErrors


; ===============================================
; ==============  Start of banks  ===============
; ===============================================

; === Misc banks ===

; === Hub banks ===

;Bank "Hub_Gotham"
    ;Track  "GothamCity_Qui"  Class Quiet     Volume 0.26
    ;Track  "Action1"         Class Action    ;Volume 0.36
    ;Track  "Amb_City"        Class Ambience  ;Volume 0.30


; === Levels ===