FILES ----- default_actor_movement.config [NEW] animations\doublejump\doublejump.animation [NEW] animations\doublejump\doublejump.frames [NEW] animations\doublejump\doublejump.png behaviors\monsters\boss\cultistboss\cultistboss.behavior behaviors\monsters\boss\cultistboss\dashattack.behavior [NEW] behaviors\monsters\boss\cultistboss\exhaust.behavior [NEW] behaviors\monsters\boss\cultistboss\facecenter.behavior behaviors\monsters\boss\cultistboss\flyingslashattack.behavior behaviors\monsters\boss\cultistboss\sphereattack.behavior behaviors\monsters\boss\cultistboss\teleport.behavior behaviors\sequences\avianmission\tonauacdoor.behavior cinematics\intro\humanintrostage.cinematic cinematics\story\grand.png [NEW] cinematics\story\protectorgrabbed.png [NEW] cinematics\story\protectorshocked.png [NEW] cinematics\story\tentaclehole.png dungeons\missions\hylotlmissions\hylotlmission1.json dungeons\missions\protectorate\protectorate.json humanoid\dances\tonauacdoorlifting.dance [NEW] interface\chatbubbles\grandprotector.png [NEW] interface\confirmation\body.png [NEW] interface\confirmation\footer.png [NEW] interface\confirmation\header.png [NEW] interface\confirmation\teleportconfirmation.config interface\title\firstlogo.png interface\title\logo.png [NEW] interface\windowconfig\confirmation.config items\active\vehiclecontroller\vehiclecontroller.animation monsters\boss\cultistboss\cultistboss.animation monsters\boss\cultistboss\cultistboss.monstertype monsters\boss\cultistboss\cultistboss.png monsters\boss\cultistboss\default.frames npcs\base.npctype npcs\bmain.lua npcs\outpost\outposthumanscientist.npctype objects\biome\scorchedcity\metallictrapdoor\metallictrapdoor.object objects\farmables\boltbulb\boltbulbseed.object objects\human\bunkercorner\bunkercorner.object objects\human\jukebox\jukebox.object objects\mission\lunarbasebunk\lunarbasebunk.object objects\mission\lunarbasechair\lunarbasechair.object objects\mission\lunarbaselaser\lunarbaselaser.object objects\mission\lunarquestturnin\drillmachine.object objects\mission\lunarquestturnin\drillconsole\drillconsole.object objects\protectorate\06b\06bback.png objects\protectorate\07b\07bback.png objects\protectorate\08b\08bback.png objects\protectorate\09b\09bback.png [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxe.animation [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxe.frames [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxe.lua [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxe.object [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxe.png [NEW] objects\protectorate\objects\protectoratebeamaxe\protectoratebeamaxeicon.png objects\protectorate\objects\protectoratedormbed\protectoratedormbed.object objects\protectorate\objects\protectoratelobbylockers\protectoratelobbylockers.object objects\protectorate\objects\protectoratelobbyracebanners\protectoratelobbyracebanners.object particles\doublejump.particle quests\outpost\techscientist2.questtemplate quests\scripts\main.lua [NEW] quests\scripts\messages.lua quests\scripts\tutorial\protectorate.lua quests\tutorial\protectorate.questtemplate radiomessages\intro.radiomessages scripts\api\npchooks.lua scripts\api\objecthooks.lua [NEW] sfx\humanoid\apex_chatter_female1.ogg [NEW] sfx\humanoid\apex_chatter_female2.ogg [NEW] sfx\humanoid\apex_chatter_female3.ogg [NEW] sfx\humanoid\apex_chatter_male1.ogg [NEW] sfx\humanoid\apex_chatter_male2.ogg [NEW] sfx\humanoid\apex_chatter_male3.ogg [NEW] sfx\humanoid\floran_chatter_female1.ogg [NEW] sfx\humanoid\floran_chatter_female2.ogg [NEW] sfx\humanoid\floran_chatter_female3.ogg [NEW] sfx\humanoid\floran_chatter_female4.ogg [NEW] sfx\humanoid\floran_chatter_female5.ogg [NEW] sfx\humanoid\floran_chatter_female6.ogg [NEW] sfx\humanoid\glitch_chatter_female1.ogg [NEW] sfx\humanoid\glitch_chatter_female2.ogg [NEW] sfx\humanoid\glitch_chatter_female3.ogg [NEW] sfx\humanoid\glitch_chatter_male1.ogg [NEW] sfx\humanoid\glitch_chatter_male2.ogg [NEW] sfx\humanoid\glitch_chatter_male3.ogg sfx\humanoid\human_chatter_male1.ogg sfx\interface\aichatter1.ogg sfx\tech\tech_blink1.ogg [NEW] sfx\tech\tech_multijump.ogg [NEW] sfx\tech\tech_sonicsphere_charge1.ogg [NEW] sfx\tech\tech_sonicsphere_charge2.ogg [NEW] sfx\tech\tech_sonicsphere_launch.ogg [NEW] sfx\tech\tech_sphere_transform.ogg [NEW] sfx\tech\tech_sprintloop1.ogg [NEW] sfx\tech\tech_sprintloop2.ogg sfx\tech\tech_wallslide.ogg stagehands\boss\bossmusic.lua [NEW] stagehands\boss\cultistboss\cultistlowerdashposition.stagehand [NEW] stagehands\boss\cultistboss\cultistupperdashposition.stagehand stagehands\mission\protectoratemanager.lua tech\dash\sprint.animation tech\dash\sprint.lua tech\distortionsphere\distortionsphere.animation tech\distortionsphere\sonicsphere.animation [NEW] tech\jump\doublejump.animation tech\jump\doublejump.tech tech\jump\multijump.animation tilesets\packed\huge-objects.json tilesets\packed\objects-by-category\decorative.json tilesets\packed\objects-by-category\door.json tilesets\packed\objects-by-category\light.json tilesets\packed\objects-by-category\wire.json tilesets\packed\objects-by-colonytag\apex.json tilesets\packed\objects-by-colonytag\apexmission1.json tilesets\packed\objects-by-colonytag\avian.json tilesets\packed\objects-by-colonytag\aviantemple.json tilesets\packed\objects-by-colonytag\door.json tilesets\packed\objects-by-colonytag\floran.json tilesets\packed\objects-by-colonytag\floranhuntinggrounds.json tilesets\packed\objects-by-colonytag\human.json tilesets\packed\objects-by-colonytag\humanbunker.json tilesets\packed\objects-by-colonytag\light.json tilesets\packed\objects-by-colonytag\lunarbase.json tilesets\packed\objects-by-colonytag\mechanical.json tilesets\packed\objects-by-colonytag\mining.json tilesets\packed\objects-by-colonytag\pretty.json tilesets\packed\objects-by-colonytag\scorched.json tilesets\packed\objects-by-colonytag\wired.json tilesets\packed\objects-by-race\apex.json tilesets\packed\objects-by-race\avian.json tilesets\packed\objects-by-race\generic.json tilesets\packed\objects-by-race\human.json tilesets\packed\objects-by-race\hylotl.json tilesets\packed\objects-by-race\protectorate.json vehicles\hoverbike\hoverbike.animation vehicles\hoverbike\hoverbike.lua DIFFS ----- default_actor_movement.config 4a5 > "stopOnFirstBounce" : false, behaviors\monsters\boss\cultistboss\cultistboss.behavior 103,106c103,126 < "title": "cultistboss-dashattack", < "type": "module", < "name": "cultistboss-dashattack", < "parameters": {} --- > "title": "randomize", > "type": "composite", > "name": "randomize", > "parameters": {}, > "children": [ > { > "title": "cultistboss-dashattack", > "type": "module", > "name": "cultistboss-dashattack", > "parameters": { > "dashTime": 1.2, > "teleportPosition": "cultistlowerdashposition" > } > }, > { > "title": "cultistboss-dashattack", > "type": "module", > "name": "cultistboss-dashattack", > "parameters": { > "dashTime": 0.65, > "teleportPosition": "cultistupperdashposition" > } > } > ] 118c138 < "title": "cultistboss-sphereattack", --- > "title": "cultistboss-flyingslash", 120c140 < "name": "cultistboss-sphereattack", --- > "name": "cultistboss-flyingslash", 135c155 < "title": "cultistboss-flyingslash", --- > "title": "cultistboss-sphereattack", 137c157 < "name": "cultistboss-flyingslash", --- > "name": "cultistboss-sphereattack", behaviors\monsters\boss\cultistboss\dashattack.behavior 3d2 < "description": "", 8d6 < "/monsters/monster.lua", 9a8 > "/monsters/monster.lua", 13c12,18 < "parameters": {}, --- > "parameters": { > "dashSpeed": 50, > "dashTime": 0.65, > "beaminTime": 0.5, > "teleportPosition": "cultistdashposition", > "dashControlForce": 5000 > }, 25c30 < "positionType": "cultistdashposition", --- > "positionType": "", 73a79,86 > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > }, > { 96c109 < "factor": 50 --- > "factor": "" 129c142 < "force": 5000 --- > "force": "" 159c172 < "time": 0.6 --- > "time": "" 181a195,217 > } > }, > { > "title": "controlApproachVelocity", > "type": "action", > "name": "controlApproachVelocity", > "parameters": { > "velocity": [ > 0, > 0 > ], > "force": "" > } > }, > { > "title": "setVelocity", > "type": "action", > "name": "setVelocity", > "parameters": { > "velocity": [ > 0, > 0 > ] behaviors\monsters\boss\cultistboss\flyingslashattack.behavior 3d2 < "description": "", 4a4 > "/scripts/actions/time.lua", 8d7 < "/scripts/actions/time.lua", 13c12,20 < "parameters": {}, --- > "parameters": { > "beaminTime": 0.5, > "jumpVelocity": 40, > "stopForce": 30, > "stopTime": 2, > "projectileAngleStep": 0.2, > "projectileCount": 5, > "projectileInterval": 0.05 > }, 31a39,52 > "title": "cultistboss-facecenter", > "type": "module", > "name": "cultistboss-facecenter", > "parameters": {} > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > }, > { 36,39c57,58 < "velocity": [ < 0, < 40 < ] --- > "x": 0, > "y": "" 75,82d93 < "title": "faceDirection", < "type": "action", < "name": "faceDirection", < "parameters": { < "direction": "toSpawn" < } < }, < { 87c98 < "fail": -1, --- > "fail": 1, 100c111 < "force": 30 --- > "force": "" 129c140,157 < "time": 2 --- > "time": "" > } > }, > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "flyingslash", > "type": "body" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.1 161c189 < "factor": 0.2 --- > "factor": "" 186c214 < "maxLoops": 7, --- > "maxLoops": "", 200a229,236 > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > }, > { 266c302 < "time": 1 --- > "time": 0.2 301,309d336 < }, < { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "idle", < "type": "body" < } behaviors\monsters\boss\cultistboss\sphereattack.behavior 3d2 < "description": "", 5d3 < "/monsters/monster.lua", 6a5 > "/monsters/monster.lua", 11c10,15 < "sphereDashSpeed": 100 --- > "sphereDashSpeed": 120, > "beaminTime": 0.5, > "stopForce": 240, > "sphereDashForce": 1000, > "sphereCentripetalForce": 1000, > "teleportPosition": "cultistsphereposition" 24c28 < "positionType": "cultistsphereposition", --- > "positionType": "", 30a35,48 > "title": "cultistboss-facecenter", > "type": "module", > "name": "cultistboss-facecenter", > "parameters": {} > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > }, > { 59,61c77,79 < "title": "repeater", < "type": "decorator", < "name": "repeater", --- > "title": "parallel", > "type": "composite", > "name": "parallel", 63,64c81,82 < "maxLoops": 5, < "untilSuccess": false --- > "fail": -1, > "success": -1 66,96c84,89 < "child": { < "title": "parallel", < "type": "composite", < "name": "parallel", < "parameters": { < "fail": -1, < "success": -1 < }, < "children": [ < { < "title": "controlParameters", < "type": "action", < "name": "controlParameters", < "parameters": { < "parameters": { < "gravityEnabled": false, < "airFriction": 0, < "bounceFactor": 1 < } < } < }, < { < "title": "controlDown", < "type": "action", < "name": "controlDown", < "parameters": {} < }, < { < "title": "setDamageSourceActive", < "type": "action", < "name": "setDamageSourceActive", --- > "children": [ > { > "title": "controlParameters", > "type": "action", > "name": "controlParameters", > "parameters": { 98c91,94 < "name": "sphere" --- > "gravityEnabled": false, > "airFriction": 0, > "bounceFactor": 1, > "stopOnFirstBounce": true 99a96,120 > } > }, > { > "title": "controlDown", > "type": "action", > "name": "controlDown", > "parameters": {} > }, > { > "title": "setDamageSourceActive", > "type": "action", > "name": "setDamageSourceActive", > "parameters": { > "name": "sphere" > } > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" 101,113c122,132 < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "parallel", --- > "children": [ > { > "title": "repeater", > "type": "decorator", > "name": "repeater", > "parameters": { > "maxLoops": 5, > "untilSuccess": false > }, > "child": { > "title": "sequence", 115c134 < "name": "parallel", --- > "name": "sequence", 117,118c136,139 < "fail": -1, < "success": -1 --- > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" 122,124c143,145 < "title": "controlApproachVelocity", < "type": "action", < "name": "controlApproachVelocity", --- > "title": "parallel", > "type": "composite", > "name": "parallel", 126,131c147,171 < "velocity": [ < 0, < 0 < ], < "force": 240 < } --- > "fail": -1, > "success": -1 > }, > "children": [ > { > "title": "controlApproachVelocity", > "type": "action", > "name": "controlApproachVelocity", > "parameters": { > "velocity": [ > 0, > 0 > ], > "force": "" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > } > } > ] 134c174 < "title": "timer", --- > "title": "cultistSphereDash", 136c176 < "name": "timer", --- > "name": "cultistSphereDash", 138c178,185 < "time": 0.5 --- > "centripetalForce": "", > "controlForce": "", > "initialOffset": [ > 0, > 10 > ], > "speed": "", > "target": "target" 141a189,197 > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": -1 143,155c199,221 < { < "title": "cultistSphereDash", < "type": "action", < "name": "cultistSphereDash", < "parameters": { < "centripetalForce": 10000, < "controlForce": 1000, < "initialOffset": [ < 0, < 10 < ], < "speed": 120, < "target": "target" --- > "children": [ > { > "title": "controlApproachVelocity", > "type": "action", > "name": "controlApproachVelocity", > "parameters": { > "velocity": [ > 0, > 0 > ], > "force": "" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > }, > "output": { > "ratio": "" > } 157,179c223,225 < } < ] < } < ] < } < }, < { < "title": "dynamic", < "type": "composite", < "name": "dynamic", < "parameters": {}, < "children": [ < { < "title": "onGround", < "type": "action", < "name": "onGround", < "parameters": {} < }, < { < "title": "runner", < "type": "action", < "name": "runner", < "parameters": {} --- > ] > } > ] behaviors\monsters\boss\cultistboss\teleport.behavior 204,211d203 < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.5 < } behaviors\sequences\avianmission\tonauacdoor.behavior 9c9,10 < "/scripts/actions/time.lua" --- > "/scripts/actions/time.lua", > "/npcs/bmain.lua" 209,216d209 < "title": "faceEntity", < "type": "action", < "name": "faceEntity", < "parameters": { < "entity": "player" < } < }, < { 227a221,228 > "title": "faceEntity", > "type": "action", > "name": "faceEntity", > "parameters": { > "entity": "player" > } > }, > { 241c242 < "dialogEndWait": 2, --- > "dialogEndWait": 4, 261a263,300 > "title": "faceDirection", > "type": "action", > "name": "faceDirection", > "parameters": { > "direction": -1 > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > }, > "output": { > "ratio": "" > } > }, > { > "title": "dance", > "type": "action", > "name": "dance", > "parameters": { > "dance": "tonauacdoorlifting" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > }, > "output": { > "ratio": "" > } > }, > { 286a326,341 > "title": "faceDirection", > "type": "action", > "name": "faceDirection", > "parameters": { > "direction": -1 > } > }, > { > "title": "dance", > "type": "action", > "name": "dance", > "parameters": { > "dance": "tonauacdoorlifting" > } > }, > { 303a359,388 > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > }, > "output": { > "ratio": "" > } > }, > { > "title": "faceEntity", > "type": "action", > "name": "faceEntity", > "parameters": { > "entity": "player" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.5 > }, > "output": { > "ratio": "" > } > }, > { 309c394 < "dialogEndWait": 2, --- > "dialogEndWait": 4, cinematics\intro\humanintrostage.cinematic 25c25 < "timecode" : 175, --- > "timecode" : 61, 31c31 < "timecode" : 176, --- > "timecode" : 61.3, 413c413 < "timecode" : 175, --- > "timecode" : 61, 419c419 < "timecode" : 176, --- > "timecode" : 61.3, 446a447,458 > }, > { > "timecode" : 61, > "zoom" : 1.5, > "alpha" : 1, > "position" : [480, 310] > }, > { > "timecode" : 61.3, > "zoom" : 1.5, > "alpha" : 0, > "position" : [480, 310] 503c515 < "timecode" : 54.4, --- > "timecode" : 60.4, 506a519,530 > }, > { > "timecode" : 61, > "zoom" : 1.5, > "alpha" : 1, > "position" : [80, 370] > }, > { > "timecode" : 61.3, > "zoom" : 1.5, > "alpha" : 0, > "position" : [80, 370] 563c587 < "timecode" : 54.4, --- > "timecode" : 60.4, 566a591,602 > }, > { > "timecode" : 61, > "zoom" : 1.5, > "alpha" : 1, > "position" : [880, 370] > }, > { > "timecode" : 61.3, > "zoom" : 1.5, > "alpha" : 0, > "position" : [880, 370] 593c629 < "timecode" : 80, --- > "timecode" : 49.999, 599c635 < "timecode" : 80.5, --- > "timecode" : 50, 606a643,749 > // ------------------ grand protector shocked > > { > "drawables" : [ > { > "image" : "/cinematics/story/protectorshocked.png" > } > ], > "keyframes" : [ > { > "timecode" : 49.999, > "zoom" : 1.5, > "alpha" : 0, > "position" : [480, 152] > }, > { > "timecode" : 50, > "zoom" : 1.5, > "alpha" : 1, > "position" : [480, 152] > }, > { > "timecode" : 53.4, > "zoom" : 1.5, > "alpha" : 1, > "position" : [480, 152] > }, > { > "timecode" : 53.45, > "zoom" : 1.5, > "alpha" : 0, > "position" : [480, 152] > } > ] > }, > // ------------------ tentacle hole > > { > "drawables" : [ > { > "image" : "/cinematics/story/tentaclehole.png" > } > ], > "keyframes" : [ > { > "timecode" : 53.4, > "zoom" : 1.5, > "alpha" : 0, > "position" : [430, 235] > }, > { > "timecode" : 53.45, > "zoom" : 1.5, > "alpha" : 1, > "position" : [430, 235] > }, > { > "timecode" : 61, > "zoom" : 1.5, > "alpha" : 1, > "position" : [430, 235] > }, > { > "timecode" : 61.3, > "zoom" : 1.5, > "alpha" : 0, > "position" : [430, 235] > } > ] > }, > > // ------------------ grand protector grabbed > > { > "drawables" : [ > { > "image" : "/cinematics/story/protectorgrabbed.png" > } > ], > "keyframes" : [ > { > "timecode" : 53.4, > "zoom" : 1.5, > "alpha" : 0, > "position" : [430, 235] > }, > { > "timecode" : 53.45, > "zoom" : 1.5, > "alpha" : 1, > "position" : [430, 235] > }, > { > "timecode" : 60, > "zoom" : 1.5, > "alpha" : 1, > "position" : [430, 245] > }, > { > "timecode" : 60.25, > "zoom" : 1.5, > "alpha" : 0, > "position" : [430, 50] > } > ] > }, > 629c772 < "timecode" : 80, --- > "timecode" : 53.4, 635c778 < "timecode" : 85.3, --- > "timecode" : 53.45, 699c842 < "timecode" : 90, --- > "timecode" : 61, 705c848 < "timecode" : 90.3, --- > "timecode" : 61.3, 732c875 < "timecode" : 90, --- > "timecode" : 61, 738c881 < "timecode" : 90.3, --- > "timecode" : 61.3, 957a1101,1102 > > // ---------------- sixth radio message 989a1135,1340 > } > ] > }, > > // radio message popup background 2 > { > "startTime" : 49.5, > "endTime" : 53.5, > "drawables" : [ > { > "image" : "/cinematics/radiomessagebg.png:{frame}" > } > ], > "keyframes" : [ > { > "timecode" : 0.0, > "alpha" : 1.0, > "zoom" : 1.0, > "position" : [480, 50], > "frame" : 0 > }, > { > "timecode" : 0.5, > "frame" : 6 > }, > { > "timecode" : 3.5, > "frame" : 6 > }, > { > "timecode" : 4, > "frame" : 12 > } > ] > }, > > // ------------ seventh radio message > { > "startTime" : 50, > "endTime" : 53, > "drawables" : [ > { > "image" : "/ai/portraits/humanportrait.png:talk.{frame}" > } > ], > "animationFrames" : 2, > "text" : "Wha- What the ruppapumpum?", > "textPosition" : { > "position" : [64, 40], > "vAnchor" : "top", > "desiredWidth" : 395 > }, > "keyframes" : [ > { > "timecode" : 0.0, > "alpha" : 1.0, > "zoom" : 1.0, > "position" : [366.5, 50], > "frame" : 0, > "textPercentage" : 0 > }, > { > "timecode" : 0.3, > "textPercentage" : 0 > }, > { > "timecode" : 2, > "frame" : 10, > "textPercentage" : 1 > } > ] > }, > // --------- flash white 2 > { > "drawables" : [ > { > "image" : "/cinematics/story/white.png" > } > ], > "keyframes" : [ > { > "timecode" : 53, > "zoom" : 500, > "alpha" : 0, > "position" : [480, 270] > }, > { > "timecode" : 53.3, > "zoom" : 500, > "alpha" : 1, > "position" : [480, 270] > }, > { > "timecode" : 53.5, > "zoom" : 500, > "alpha" : 1, > "position" : [480, 270] > }, > { > "timecode" : 53.8, > "zoom" : 500, > "alpha" : 0.0, > "position" : [480, 270] > } > ] > }, > > // radio message popup background 3 > { > "startTime" : 57, > "endTime" : 60.5, > "drawables" : [ > { > "image" : "/cinematics/radiomessagebg.png:{frame}" > } > ], > "keyframes" : [ > { > "timecode" : 0.0, > "alpha" : 1.0, > "zoom" : 1.0, > "position" : [480, 50], > "frame" : 0 > }, > { > "timecode" : 0.5, > "frame" : 6 > }, > { > "timecode" : 3, > "frame" : 6 > }, > { > "timecode" : 3.5, > "frame" : 12 > } > ] > }, > > // ------------ eight radio message > { > "startTime" : 57.5, > "endTime" : 60, > "drawables" : [ > { > "image" : "/ai/portraits/humanportrait.png:talk.{frame}" > } > ], > "animationFrames" : 2, > "text" : "Take the manipulator!! Run!...", > "textPosition" : { > "position" : [64, 40], > "vAnchor" : "top", > "desiredWidth" : 395 > }, > "keyframes" : [ > { > "timecode" : 0.0, > "alpha" : 1.0, > "zoom" : 1.0, > "position" : [366.5, 50], > "frame" : 0, > "textPercentage" : 0 > }, > { > "timecode" : 0.3, > "textPercentage" : 0 > }, > { > "timecode" : 1, > "frame" : 10, > "textPercentage" : 1 > } > ] > }, > // ------------------ background black > { > "drawables" : [ > { > "image" : "/cinematics/respawn/black.png" > } > ], > "keyframes" : [ > { > "timecode" : 60.01, > "zoom" : 500, > "alpha" : 0, > "position" : [480, 270] > }, > { > "timecode" : 60.3, > "zoom" : 500, > "alpha" : 1, > "position" : [480, 270] > }, > { > "timecode" : 62, > "zoom" : 500, > "alpha" : 1, > "position" : [480, 270] > }, > { > "timecode" : 62.3, > "zoom" : 500, > "alpha" : 0.0, > "position" : [480, 270] dungeons\missions\hylotlmissions\hylotlmission1.json [TMX file differences are left out for huge size.] dungeons\missions\protectorate\protectorate.json [TMX file differences are left out for huge size.] humanoid\dances\tonauacdoorlifting.dance 14d13 < [ "climb.6", null, null, null, null, null ], 15a15 > [ null, null, null, null, null, null ], items\active\vehiclecontroller\vehiclecontroller.animation 39,40c39,40 < "placeOk" : ["/sfx/objects/floodlights_on.ogg"], < "placeBad" : ["/sfx/objects/floodlights_off.ogg"] --- > "placeOk" : ["/sfx/tech/vehicle_appear1.ogg"], > "placeBad" : ["/sfx/interface/clickon_error.ogg"] monsters\boss\cultistboss\cultistboss.animation 14c14,16 < "frames" : 1 --- > "frames" : 4, > "cycle" : 0.4, > "mode" : "loop" 17c19,20 < "frames" : 1 --- > "frames" : 2, > "cycle" : 0.2 60a64,67 > }, > "flyingslash" : { > "frames" : 6, > "cycle" : 0.3 141a149,153 > }, > "flyingslash" : { > "properties" : { > "image" : ":flyingslash." > } 159a172,219 > }, > "outOfEnergy" : { > "particles" : [ > { > "count" : 10, > "particle" : { > "type" : "ember", > "size" : 0.5, > "color" : [49, 166, 255, 255], > "fade" : 0.9, > "destructionAction" : "shrink", > "destructionTime" : 7, > "initialVelocity" : [0, 0.0], > "finalVelocity" : [0, -5.0], > "approach" : [0, 20], > "timeToLive" : 0.8, > "light" : [14, 47, 72], > "layer" : "back", > "variance" : { > "initialVelocity" : [6, 0.0], > "finalVelocity" : [0, 2.0], > "size" : 1 > } > } > }, > { > "count" : 10, > "particle" : { > "type" : "ember", > "size" : 0.5, > "color" : [255, 255, 255, 255], > "fade" : 0.9, > "destructionAction" : "shrink", > "destructionTime" : 7, > "initialVelocity" : [0, 0.0], > "finalVelocity" : [0, -5.0], > "approach" : [0, 20], > "timeToLive" : 0.8, > "light" : [72, 72, 72], > "layer" : "back", > "variance" : { > "initialVelocity" : [6, 0.0], > "finalVelocity" : [0, 2.0], > "size" : 1 > } > } > } > ] 164c224,225 < "deathPuff" : [ ] --- > "deathPuff" : [ ], > "outOfEnergy" : [ "/sfx/interface/energy_out1.ogg" ] monsters\boss\cultistboss\cultistboss.monstertype 27c27 < "poly" : [ [1.025, 2.5], [2.5, 1.025], [2.5, -1.025], [1.025, -2.5], [-1.025, -2.5], [-2.5, -1.025], [-2.5, 1.025], [-1.025, 2.5] ], --- > "poly" : [ [-0.75, -2.0], [-0.35, -2.5], [0.35, -2.5], [0.75, -2.0], [0.75, 1.93], [0.35, 2.5], [-0.35, 2.5], [-0.75, 1.93] ], monsters\boss\cultistboss\default.frames 11,12c11,12 < [ null, "spherein.1", "spherein.2", "spherein.3", "spherein.4", "spherein.5", "spherein.6", "spherein.7" ], < [ null, "sphere.1", "sphere.2", "sphere.3", "sphere.4", "sphere.5", "sphere.6", "sphere.7", "sphere.8" ], --- > [ null, "spherein.1", "spherein.2", "spherein.3", "spherein.4", "spherein.5", "spherein.6", "spherein.7", "spherein.8", "spherein.9", "spherein.10", "spherein.11" ], > [ null, "sphere.1", "sphere.2", "sphere.3", "sphere.4", "sphere.5", "sphere.6", "sphere.7", "sphere.8", null, "fall.1", "fall.2" ], 14c14 < [ null, "jump.1", null, "fall.1"] --- > [ null, "jump.1", "jump.2", "jump.3", "jump.4", null, "flyingslash.1", "flyingslash.2", "flyingslash.3", "flyingslash.4", "flyingslash.5", "flyingslash.6"] 18,24c18,28 < "sphereout.1" : "spherein.7", < "sphereout.2" : "spherein.6", < "sphereout.3" : "spherein.5", < "sphereout.4" : "spherein.4", < "sphereout.5" : "spherein.3", < "sphereout.6" : "spherein.2", < "sphereout.7" : "spherein.1" --- > "sphereout.1" : "spherein.11", > "sphereout.2" : "spherein.10", > "sphereout.3" : "spherein.9", > "sphereout.4" : "spherein.8", > "sphereout.5" : "spherein.7", > "sphereout.6" : "spherein.6", > "sphereout.7" : "spherein.5", > "sphereout.8" : "spherein.4", > "sphereout.9" : "spherein.3", > "sphereout.10" : "spherein.2", > "sphereout.11" : "spherein.1" npcs\base.npctype 32a33,44 > "apex" : { > "male" : [ > "/sfx/humanoid/apex_chatter_male1.ogg", > "/sfx/humanoid/apex_chatter_male2.ogg", > "/sfx/humanoid/apex_chatter_male3.ogg" > ], > "female" : [ > "/sfx/humanoid/apex_chatter_female1.ogg", > "/sfx/humanoid/apex_chatter_female2.ogg", > "/sfx/humanoid/apex_chatter_female3.ogg" > ] > }, 34,42c46,60 < "default" : [ < "/sfx/humanoid/florangrunt1.ogg", < "/sfx/humanoid/florangrunt2.ogg", < "/sfx/humanoid/floranhurt_female1.ogg", < "/sfx/humanoid/floranhurt_female2.ogg", < "/sfx/humanoid/floranhurt_female3.ogg", < "/sfx/humanoid/floranhurt_male1.ogg", < "/sfx/humanoid/floranhurt_male2.ogg", < "/sfx/humanoid/floranhurt_male3.ogg" --- > "male" : [ > "/sfx/humanoid/floran_chatter_female1.ogg", > "/sfx/humanoid/floran_chatter_female2.ogg", > "/sfx/humanoid/floran_chatter_female3.ogg", > "/sfx/humanoid/floran_chatter_female4.ogg", > "/sfx/humanoid/floran_chatter_female5.ogg", > "/sfx/humanoid/floran_chatter_female6.ogg" > ], > "female" : [ > "/sfx/humanoid/floran_chatter_female1.ogg", > "/sfx/humanoid/floran_chatter_female2.ogg", > "/sfx/humanoid/floran_chatter_female3.ogg", > "/sfx/humanoid/floran_chatter_female4.ogg", > "/sfx/humanoid/floran_chatter_female5.ogg", > "/sfx/humanoid/floran_chatter_female6.ogg" 47,49c65,67 < "/sfx/humanoid/human_chatter_male1.ogg", < "/sfx/humanoid/human_chatter_male2.ogg", < "/sfx/humanoid/human_chatter_male3.ogg" --- > "/sfx/humanoid/glitch_chatter_male1.ogg", > "/sfx/humanoid/glitch_chatter_male2.ogg", > "/sfx/humanoid/glitch_chatter_male3.ogg" 52,54c70,72 < "/sfx/humanoid/human_chatter_male1.ogg", < "/sfx/humanoid/human_chatter_male2.ogg", < "/sfx/humanoid/human_chatter_male3.ogg" --- > "/sfx/humanoid/glitch_chatter_female1.ogg", > "/sfx/humanoid/glitch_chatter_female2.ogg", > "/sfx/humanoid/glitch_chatter_female3.ogg" npcs\bmain.lua 104a105,113 > > local interactAction = config.getParameter("interactAction") > if interactAction then > local data = config.getParameter("interactData", {}) > if type(data) == "string" then > data = root.assetJson(data) > end > return { interactAction, data } > end npcs\outpost\outposthumanscientist.npctype 12a13,18 > > "interactAction" : "Message", > "interactData" : { > "messageType" : "techscientist.offerWarp", > "messageArgs" : [] > }, objects\biome\scorchedcity\metallictrapdoor\metallictrapdoor.object 9,10c9,10 < "description" : "-todo-", < "shortdescription" : "Metallic Trap Door", --- > "description" : "A trap door disguised as a metal platform.", > "shortdescription" : "Metal Trap Door", 12,20c12,22 < /* todo < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > > "apexDescription" : "Stepping on this platform causes it to retract into the wall.", > "avianDescription" : "I do not trust this metal platform to take my weight.", > "floranDescription" : "Floran doesn't trussst metal platform.", > "glitchDescription" : "Alarmed. This platform is unsafe to stand upon.", > "humanDescription" : "As soon as I step it it'll disappear.", > "hylotlDescription" : "A trick platform! Very sneaky indeed.", > "novakidDescription" : "Better watch my step on this here platform.", > > objects\farmables\boltbulb\boltbulbseed.object 18c18 < "novakidDescription" : "A metallic vegetable? I'll try anything once.", --- > "novakidDescription" : "A metallic vegetable? I'll try anythin' once.", objects\human\bunkercorner\bunkercorner.object 7,8c7,8 < "description" : "It's just a support beam.", < "shortdescription" : "Metallic Support Beam", --- > "description" : "A support beam painted with cautionary stripes. Mind your head!", > "shortdescription" : "Metal Support Beam", 16c16 < "hylotlDescription" : "Metal support beam.", --- > "hylotlDescription" : "Metallic support beam.", objects\human\jukebox\jukebox.object 78a79,80 > "defaultLightState" : false, > objects\mission\lunarbasebunk\lunarbasebunk.object 16c16 < "glitchDescription" : "Sentimental. A bunk bed, not dissimilar from those at the Protectorate Academy.", --- > "glitchDescription" : "Sentimental. A bunk bed, not dissimilar from those at the Protectorate academy.", 18c18 < "hylotlDescription" : "I have fond memories of sleeping in such a bed at the Protectorate Academy.", --- > "hylotlDescription" : "I have fond memories of sleeping in such a bed at the Protectorate academy.", objects\mission\lunarbasechair\lunarbasechair.object 17,18c17,18 < "glitchDescription" : "Statement. A comfortable chair.", < "humanDescription" : "A nice comfy chair.", --- > "glitchDescription" : "Content. A comfortable chair.", > "humanDescription" : "A nice, comfy chair.", 20c20 < "novakidDescription" : "This is relaxin'.", --- > "novakidDescription" : "This is a relaxin' spot.", objects\mission\lunarbaselaser\lunarbaselaser.object 6c6 < "shortdescription" : "Lunar Laser", --- > "shortdescription" : "Mining Laser", 19,23c19,23 < "apexDescription" : "I wonder if I can activate this laser cannon nearby...", < "avianDescription" : "This appears to be a large metal cannon of sorts.", < "floranDescription" : "Giant weapon is usssseful!", < "glitchDescription" : "Observant. This large laser cannon can be activated here.", < "humanDescription" : "I wonder if we can use this giant laser cannon...", --- > "apexDescription" : "I wonder if I can activate this laser cannon.", > "avianDescription" : "This appears to be a large laser cannon of sorts.", > "floranDescription" : "Giant laser is usssseful!", > "glitchDescription" : "Satisfied. This large laser cannon can be activated through this interface.", > "humanDescription" : "I wonder if I can use this giant laser cannon...", 24a25 > "novakidDescription" : "A gaint laser cannon. I wonder if I could fire her up...", objects\mission\lunarquestturnin\drillmachine.object 8,9c8,9 < "description" : "A console to activate this mining drill's harvesting functions.", < "shortdescription" : "Mining Drill Console", --- > "description" : "A large, industrial mining drill.", > "shortdescription" : "Mining Drill", 14,17c14,17 < "apexDescription" : "That's the second bigge-no wait, that IS the biggest mining drill i've ever seen!", < "avianDescription" : "That's the second biggest mining drill I've ever seen!", < "floranDescription" : "That's the second biggest mining drill I've ever seen!", < "glitchDescription" : "That's the second biggest mining drill I've ever seen!", --- > "apexDescription" : "This is a wonderful sight.", > "avianDescription" : "Definitely the biggest drill I have ever seen.", > "floranDescription" : "Drill looksss fun to play with.", > "glitchDescription" : "Excited. What an impressive piece of machinery.", 19c19,20 < "hylotlDescription" : "That's the second biggest mining drill I've ever seen!", --- > "hylotlDescription" : "Similar pieces of machinery are used by the Hylotl to drill the ocean floor.", > "novakidDescription" : "What a beaut!", objects\mission\lunarquestturnin\drillconsole\drillconsole.object 8c8 < "description" : "A console to activate this mining base's harvesting functions.", --- > "description" : "A drill-mounted console.", 16a17,24 > > "apexDescription" : "A console with a drill attached.", > "avianDescription" : "A console with it's own drill built in.", > "floranDescription" : "Consssole with drill.", > "glitchDescription" : "Intrigued. A console connected directly to a mining drill.", > "humanDescription" : "A drill, likely operated by the console attached.", > "hylotlDescription" : "A mining console with harvesting functions.", > "novakidDescription" : "Minin' console.", objects\protectorate\objects\protectoratedormbed\protectoratedormbed.object 23,25d22 < "sitStatusEffects" : [ < "bed1" < ], objects\protectorate\objects\protectoratelobbylockers\protectoratelobbylockers.object 16c16 < "hylotlDescription" : "These are students lockers. Mine is somewhere else.", --- > "hylotlDescription" : "These are students' lockers. Mine is somewhere else.", objects\protectorate\objects\protectoratelobbyracebanners\protectoratelobbyracebanners.object 11,12c11,12 < "apexDescription" : "These banners represent each race.", < "avianDescription" : "Colourful banners representing the races. The avian banner is on the right.", --- > "apexDescription" : "These banners represent different races.", > "avianDescription" : "Colourful banners representing six races. The Avian banner is on the right.", 15,16c15,16 < "humanDescription" : "Six banners. One for each race.", < "hylotlDescription" : "Each race represented with a banner. I personally prefer the simplicity of the Hylotl one.", --- > "humanDescription" : "Six banners. Each represents a different race.", > "hylotlDescription" : "Each banner represents a race. I personally prefer the simplicity of the Hylotl one.", particles\doublejump.particle 5c5 < "animation" : "/animations/statuseffects/doublejump/doublejump.animation", --- > "animation" : "/animations/doublejump/doublejump.animation", quests\outpost\techscientist2.questtemplate 14c14,25 < "requireTurnIn" : true --- > "requireTurnIn" : true, > > "messageHandlers" : [ > { > "messageType" : "techscientist.offerWarp", > "handler" : "fixedWarpOffer", > "handlerArgs" : [ > "instanceworld:techchallenge_dash", > "/interface/confirmation/teleportconfirmation.config:techscientist" > ] > } > ] quests\scripts\main.lua 3a4 > require('/quests/scripts/messages.lua') 6a8 > buildMessageHandlers() 107a110,111 > promises:update() > quests\scripts\tutorial\protectorate.lua 23a24,29 > message.setHandler("giveBeamaxe", function(...) > if self.missionStage == 5 then > setStage(6) > end > end) > 24a31 > quest.setParameter("beamaxe", {type = "item", item = "protectoratebeamaxe"}) 29a37,38 > self.pesterTimer = 0 > 49a59,60 > > updatePester(dt) 59a71,72 > player.removeEssentialItem("beamaxe") > 68,71c81,84 < -- 2 - exit bed -> equip uniform < -- 3 - equip uniform -> start midpoint cinematic < -- 4 - start midpoint cinematic -> finish midpoint cinematic < -- 5 - finish midpoint cinematic -> get MM --- > -- 2 - exit bed -> get uniform > -- 3 - get uniform -> equip uniform > -- 4 - equip uniform -> enter auditorium > -- 5 - enter auditorium -> get MM 80a94 > setPester(nil, 0) 83a98 > setPester("protectorateStage1Pester", 25) 86c101 < player.radioMessage("protectorateStage2") --- > setPester("protectorateStage2Pester", 15) 88a104,105 > setPester("protectorateStage3", 15) > elseif newStage == 4 then 90c107 < player.radioMessage("protectorateStage3") --- > player.radioMessage("protectorateStage4") 92c109 < player.radioMessage("protectorateStage5") --- > self.midpointTransitionTimer = 1.0 94c111,115 < world.sendEntityMessage(self.managerId, "switchTime") --- > world.sendEntityMessage(entity.id(), "playCinematic", config.getParameter("midpointCinematic")) > elseif newStage == 6 then > quest.setIndicators({}) > player.giveEssentialItem("beamaxe", "beamaxe") > world.sendEntityMessage(entity.id(), "playCinematic", "/cinematics/beamaxe.cinematic") 103,105c124,125 < -- world.sendEntityMessage(entity.id(), "playCinematic", config.getParameter("endpointCinematic")) < -- quest.complete() < -- quest.exit() --- > world.sendEntityMessage(entity.id(), "playCinematic", config.getParameter("endpointCinematic")) > self.missionCompleteTimer = 2.0 128,131c148,154 < -- needs to equip uniform < -- TODO: actually put it on, don't just pick it up < if player.hasItem("protectoratechest") and player.hasItem("protectoratepants") then < setStage(3) --- > -- needs to pick up uniform > if hasUniform() then > if hasEquippedUniform() then > setStage(4) > else > setStage(3) > end 134c157,160 < -- needs to reach auditorium --- > -- needs to equip uniform > if hasEquippedUniform() then > setStage(4) > end 136,137c162,163 < -- in midpoint cinematic < setStage(5) -- TODO --- > -- needs to reach auditorium > 139,140c165,174 < -- needs to get MM < setStage(6) -- TODO --- > -- transition during cinematic, then need to get MM > if self.midpointTransitionTimer > 0 then > self.midpointTransitionTimer = self.midpointTransitionTimer - dt > if self.midpointTransitionTimer <= 0 then > player.radioMessage("protectorateStage5") > world.sendEntityMessage(self.managerId, "switchTime") > world.sendEntityMessage(self.managerId, "showBeamaxe") > quest.setIndicators({"beamaxe"}) > end > end 154c188,195 < -- done --- > if self.missionCompleteTimer > 0 then > self.missionCompleteTimer = self.missionCompleteTimer - dt > if self.missionCompleteTimer <= 0 then > player.warp("ownship") > -- quest.complete() > -- quest.exit() > end > end 169a211 > -- collapsedHallwayComplete 175c217,221 < player.radioMessage("protectorateFirstDoor") --- > if self.missionStage == 2 then > player.radioMessage("protectorateFirstDoor") > elseif self.missionStage == 3 then > player.radioMessage("protectorateStage3Pester") > end 185a232,234 > setPester("protectorateCollapsedHallwayPester", 15) > elseif areaName == "collapsedHallwayComplete" then > setPester(nil, 0) 190,191c239,240 < elseif self.missionStage == 3 and areaName == "auditorium" then < setStage(4) --- > elseif self.missionStage == 4 and areaName == "auditorium" then > setStage(5) 198a248,276 > end > end > > function hasUniform() > return player.hasItem("protectoratechest") and player.hasItem("protectoratepants") > end > > function hasEquippedUniform() > local chestItem = player.equippedItem("chest") > local chestSocItem = player.equippedItem("chestSoc") > local legsItem = player.equippedItem("legs") > local legsSocItem = player.equippedItem("legsSoc") > return ((chestItem and chestItem.name == "protectoratechest") or > (chestSocItem and chestSocItem.name == "protectoratechest")) and > ((legsItem and legsItem.name == "protectoratepants") or > (legsSocItem and legsSocItem.name == "protectoratepants")) > end > > function setPester(messageId, timeout) > self.pesterMessage = messageId > self.pesterTimer = timeout > end > > function updatePester(dt) > if self.pesterTimer > 0 then > self.pesterTimer = self.pesterTimer - dt > if self.pesterTimer <= 0 then > player.radioMessage(self.pesterMessage) > end quests\tutorial\protectorate.questtemplate 17c17 < // "midpointCinematic" : "", --- > "midpointCinematic" : "/cinematics/intro/humanintrostage.cinematic", radiomessages\intro.radiomessages 7c7 < "protectorateStage2" : { --- > "protectorateStage1Pester" : { 10c10,16 < "text" : "Now that you're up, you should change into your graduation uniform. You'll find it in the chest by the window." --- > "text" : "If you sleep too long, you'll miss the ceremony! Move left or right to get out of bed." > }, > > "protectorateStage2Pester" : { > "important" : true, > "type" : "mission", > "text" : "Your uniform is waiting for you in that chest. Open the chest by hovering your cursor over it and pressing E." 13a20,26 > "important" : true, > "type" : "mission", > "text" : "You should take your uniform from the chest by the window. To interact with something, hover your cursor over it and press E." > }, > > "protectorateInventory" : { > "important" : true, 15c28 < "text" : "Don't leave without your uniform! Graduation is a big deal; you should dress nicely." --- > "text" : "To equip your uniform, click on the protectorate shirt and trousers and place them into the slots where your normal clothes are." 18c31 < "protectorateStage3" : { --- > "protectorateStage3Pester" : { 21c34,40 < "text" : "Looking sharp! Time to go out and graduate." --- > "text" : "You still need to put your uniform on! You can open your inventory by pressing I or using the button in the upper right." > }, > > "protectorateStage4" : { > "important" : true, > "type" : "mission", > "text" : "Looking sharp! I've unlocked the dorm door to your right." 26c45 < "text" : "You can converse with people by hovering over them with the cursor and pressing E." --- > "text" : "Try interacting with people to see what they have to say." 34a54 > "important" : true, 36c56 < "text" : "The room beyond this door seems to be flooded; you'll need to find a way over it. Press spacebar to jump up to higher platforms!" --- > "text" : "The room beyond this door appears to be flooded. You'll need to find a way over it. Press spacebar to jump up to higher platforms!" 44c64,65 < "protectorateGroundBelowDuct" : { --- > "protectorateCollapsedHallway" : { > "important" : true, 46c67 < "text" : "Be careful. Falling from high places can inflict damage." --- > "text" : "The ceiling seems to have collapsed. This is a good time for you to try out that Matter Manipulator. Press the R key to equip it, then click and hold on the pile of dirt to dig through it." 49c70,71 < "protectorateCollapsedHallway" : { --- > "protectorateCollapsedHallwayPester" : { > "important" : true, 51c73 < "text" : "The ceiling seems to have collapsed. This is a good time for you to try out that Matter Manipulator. Click and hold on the mud tiles to break them." --- > "text" : "You'll need to use your Matter Manipulator to get past that pile of dirt. You can press the R key to equip it." 59a82 > "important" : true, 63a87,92 > "protectorateActionBar" : { > "important" : true, > "type" : "mission", > "text" : "Try placing items into your action bar (at the top of the screen) for easy access." > }, > 67c96 < "text" : "Great! The shuttle pad is just beyond that door; keep moving!" --- > "text" : "Good. The shuttle pad is just beyond that door! Keep moving!" scripts\api\npchooks.lua 38a39 > -- "Message" scripts\api\objecthooks.lua 25a26 > -- "Message" stagehands\boss\bossmusic.lua 30c30 < world.sendEntityMessage(playerId, "stopAltMusic", config.getParameter("startFadeOutTime")) --- > world.sendEntityMessage(playerId, "playAltMusic", jarray(), config.getParameter("startFadeOutTime")) 42c42 < world.sendEntityMessage(playerId, "stopAltMusic", config.getParameter("endFadeOutTime")) --- > world.sendEntityMessage(playerId, "playAltMusic", jarray(), config.getParameter("endFadeOutTime")) stagehands\mission\protectoratemanager.lua 12a13,17 > message.setHandler("showBeamaxe", function(...) > local beamaxeSearchArea = rect.translate({360, -10, 400, 10}, entity.position()) > world.objectQuery(rect.ll(beamaxeSearchArea), rect.ur(beamaxeSearchArea), {callScript = "showBeamaxe"}) > end) > tech\dash\sprint.animation 8c8,13 < "on" : {} --- > "on" : { > "properties" : { > "persistentSound" : "/sfx/tech/tech_sprintloop2.ogg", > "immediateSound" : "/sfx/tech/tech_dashshort.ogg" > } > } 33a39 > "sprintLoop" : [ "/sfx/tech/tech_sprintloop2.ogg" ], tech\dash\sprint.lua 38a39 > 66d66 < animator.playSound("startDash") tech\distortionsphere\distortionsphere.animation 86,87c86,87 < "activate" : [ ], < "deactivate" : [ ] --- > "activate" : [ "/sfx/tech/tech_sphere_transform.ogg" ], > "deactivate" : [ "/sfx/tech/tech_sphere_transform.ogg" ] tech\distortionsphere\sonicsphere.animation 129,132c129,132 < "chargeLoop" : [ "/sfx/tech/sonicsphere_charge1.ogg" ], < "launch" : [ "/sfx/tech/sonicsphere_launch.ogg" ], < "activate" : [ ], < "deactivate" : [ ] --- > "chargeLoop" : [ "/sfx/tech/tech_sonicsphere_charge1.ogg" ], > "launch" : [ "/sfx/tech/tech_sonicsphere_launch.ogg" ], > "activate" : [ "/sfx/tech/tech_sphere_transform.ogg" ], > "deactivate" : [ "/sfx/tech/tech_sphere_transform.ogg" ] tech\jump\doublejump.tech 6c6 < "animator" : "multijump.animation", --- > "animator" : "doublejump.animation", tech\jump\multijump.animation 15c15 < "multiJumpSound" : ["/sfx/tech/tech_doublejump.ogg"] --- > "multiJumpSound" : ["/sfx/tech/tech_multijump.ogg"] tilesets\packed\huge-objects.json 495c495 < "//description" : "Creepy gross Web.", --- > "//description" : "The web of the Ixodoom.", tilesets\packed\objects-by-category\decorative.json 7c7 < "tilecount" : 1169, --- > "tilecount" : 1170, 1648a1649,1657 > "1169" : { > "//description" : "This Matter Manipulator was meant for me... and I may need it to get out of here alive.", > "//name" : "protectoratebeamaxe", > "//shortdescription" : "Matter Manipulator", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "protectoratebeamaxe", > "tilesetDirection" : "right" > }, 2273c2282 < "//description" : "An old sign warning for death.", --- > "//description" : "An old sign to warn of deathly danger.", 4083c4092 < "//description" : "Old Falling Rocks", --- > "//description" : "An old battered sign warning of falling rocks.", 5280c5289 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 5282c5291 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 5289c5298 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 5291c5300 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 5532c5541 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 5534c5543 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 5601c5610 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 5603c5612 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 5694c5703 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 5696c5705 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 5739c5748 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 5741c5750 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 5748c5757 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 5750c5759 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 5792c5801 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 5794c5803 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 6569c6578 < "//description" : "Falling Rocks", --- > "//description" : "A warning sign showing falling rocks.", 7365c7374 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", 7850c7859 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", 7859c7868 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", 7868c7877 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", 10293a10303,10305 > }, > "1169" : { > "image" : "../../../../../tiled/packed/objects/protectoratebeamaxe.png" tilesets\packed\objects-by-category\door.json 80c80 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 82c82 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-category\light.json 2567c2567 < "//description" : "A sleek red wall lamp.", --- > "//description" : "A sleek red wall light.", 2569c2569 < "//shortdescription" : "Laboratory Lamp", --- > "//shortdescription" : "Laboratory Light", tilesets\packed\objects-by-category\wire.json 1308c1308 < "//shortdescription" : "Lunar Laser", --- > "//shortdescription" : "Mining Laser", tilesets\packed\objects-by-colonytag\apex.json 1109c1109 < "//description" : "A sleek red wall lamp.", --- > "//description" : "A sleek red wall light.", 1111c1111 < "//shortdescription" : "Laboratory Lamp", --- > "//shortdescription" : "Laboratory Light", tilesets\packed\objects-by-colonytag\apexmission1.json 11c11 < "//description" : "A sleek red wall lamp.", --- > "//description" : "A sleek red wall light.", 13c13 < "//shortdescription" : "Laboratory Lamp", --- > "//shortdescription" : "Laboratory Light", tilesets\packed\objects-by-colonytag\avian.json 1617c1617 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 1619c1619 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-colonytag\aviantemple.json 224c224 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 226c226 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-colonytag\door.json 565c565 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 567c567 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-colonytag\floran.json 661c661 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 663c663 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 670c670 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 672c672 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 1015c1015 < "//description" : "An old sign warning for death.", --- > "//description" : "An old sign to warn of deathly danger.", 1419c1419 < "//description" : "Old Falling Rocks", --- > "//description" : "An old battered sign warning of falling rocks.", tilesets\packed\objects-by-colonytag\floranhuntinggrounds.json 65c65 < "//description" : "An old sign warning for death.", --- > "//description" : "An old sign to warn of deathly danger.", 314c314 < "//description" : "Old Falling Rocks", --- > "//description" : "An old battered sign warning of falling rocks.", 322c322 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 324c324 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 331c331 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 333c333 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", tilesets\packed\objects-by-colonytag\human.json 30c30 < "//shortdescription" : "Lunar Laser", --- > "//shortdescription" : "Mining Laser", 908c908 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", 1644c1644 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 1646c1646 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 1741c1741 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 1743c1743 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 1819c1819 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1821c1821 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1828c1828 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1830c1830 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1846c1846 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1848c1848 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1855c1855 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1857c1857 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 2026c2026 < "//description" : "Falling Rocks", --- > "//description" : "A warning sign showing falling rocks.", tilesets\packed\objects-by-colonytag\humanbunker.json 136c136 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 138c138 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 145c145 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 147c147 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 154c154 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 156c156 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 163c163 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 165c165 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", tilesets\packed\objects-by-colonytag\light.json 514c514 < "//description" : "A sleek red wall lamp.", --- > "//description" : "A sleek red wall light.", 516c516 < "//shortdescription" : "Laboratory Lamp", --- > "//shortdescription" : "Laboratory Light", tilesets\packed\objects-by-colonytag\lunarbase.json 20c20 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 22c22 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 117c117 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 119c119 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 143c143 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", 170c170 < "//description" : "Falling Rocks", --- > "//description" : "A warning sign showing falling rocks.", 180c180 < "//shortdescription" : "Lunar Laser", --- > "//shortdescription" : "Mining Laser", tilesets\packed\objects-by-colonytag\mechanical.json 216c216 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 218c218 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 314c314 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 316c316 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 431c431 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", tilesets\packed\objects-by-colonytag\mining.json 11c11 < "//description" : "Falling Rocks", --- > "//description" : "A warning sign showing falling rocks.", tilesets\packed\objects-by-colonytag\pretty.json 608c608 < "//description" : "Old Falling Rocks", --- > "//description" : "An old battered sign warning of falling rocks.", 2828c2828 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 2830c2830 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 2845c2845 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 2847c2847 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", tilesets\packed\objects-by-colonytag\scorched.json 272c272 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 274c274 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-colonytag\wired.json 143c143 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", tilesets\packed\objects-by-race\apex.json 2241c2241 < "//description" : "A sleek red wall lamp.", --- > "//description" : "A sleek red wall light.", 2243c2243 < "//shortdescription" : "Laboratory Lamp", --- > "//shortdescription" : "Laboratory Light", tilesets\packed\objects-by-race\avian.json 1564c1564 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 1566c1566 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", tilesets\packed\objects-by-race\generic.json 5405c5405 < "//description" : "-todo-", --- > "//description" : "A trap door disguised as a metal platform.", 5407c5407 < "//shortdescription" : "Metallic Trap Door", --- > "//shortdescription" : "Metal Trap Door", 6231c6231 < "//description" : "An old sign warning for death.", --- > "//description" : "An old sign to warn of deathly danger.", 8227c8227 < "//description" : "Old Falling Rocks", --- > "//description" : "An old battered sign warning of falling rocks.", 9849c9849 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 9851c9851 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 9867c9867 < "//description" : "A console to activate this mining drill's harvesting functions.", --- > "//description" : "A large, industrial mining drill.", 9869c9869 < "//shortdescription" : "Mining Drill Console", --- > "//shortdescription" : "Mining Drill", 10399c10399 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 10401c10401 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 10408c10408 < "//description" : "Cave art perhaps depicting a sun?", --- > "//description" : "Cave art depicting an unidentified subject.", 10410c10410 < "//shortdescription" : "Sun Cave Art", --- > "//shortdescription" : "Ambiguous Cave Art", 11088c11088 < "//description" : "Falling Rocks", --- > "//description" : "A warning sign showing falling rocks.", 11635c11635 < "//shortdescription" : "Lunar Laser", --- > "//shortdescription" : "Mining Laser", 12041c12041 < "//description" : "A console to activate this mining base's harvesting functions.", --- > "//description" : "A drill-mounted console.", tilesets\packed\objects-by-race\human.json 1098c1098 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1100c1100 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1195c1195 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1197c1197 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1291c1291 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1293c1293 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", 1386c1386 < "//description" : "It's just a support beam.", --- > "//description" : "A support beam painted with cautionary stripes. Mind your head!", 1388c1388 < "//shortdescription" : "Metallic Support Beam", --- > "//shortdescription" : "Metal Support Beam", tilesets\packed\objects-by-race\hylotl.json 506c506 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", 515c515 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", 524c524 < "//description" : "-todo-", --- > "//description" : "A bush from an ocean planet.", tilesets\packed\objects-by-race\protectorate.json 7c7 < "tilecount" : 43, --- > "tilecount" : 44, 318a319,327 > "43" : { > "//description" : "This Matter Manipulator was meant for me... and I may need it to get out of here alive.", > "//name" : "protectoratebeamaxe", > "//shortdescription" : "Matter Manipulator", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "protectoratebeamaxe", > "tilesetDirection" : "right" > }, 476a486,488 > }, > "43" : { > "image" : "../../../../../tiled/packed/objects/protectoratebeamaxe.png" vehicles\hoverbike\hoverbike.animation 460c460 < "headlightSwitchOff" : ["/sfx/objects/floodlights_off.ogg"] --- > "headlightSwitchOff" : ["/sfx/objects/floodlights_off.ogg"], 461a462 > "returnvehicle" : ["/sfx/tech/vehicle_disappear1.ogg"] vehicles\hoverbike\hoverbike.lua 115a116 > animator.playSound("returnvehicle")