FILES ----- celestial.config default_movement.config dungeon_worlds.config instance_worlds.config player.config worldstorage.config ai\upgradeship1.aicommand [NEW] animations\jumpsmokehalf\jumpsmokehalf.animation [NEW] animations\jumpsmokehalf\jumpsmokehalf.frames [NEW] animations\jumpsmokehalf\jumpsmokehalf.png [NEW] behaviors\monsters\boss\apeboss\apeboss.behavior behaviors\npc\combat.behavior behaviors\npc\hostileguard.behavior [NEW] behaviors\npc\protectoratejanitor.behavior [NEW] behaviors\sequences\apexmission\apexrebel.behavior cinematics\up.png cinematics\warpdown.png dungeons\hylotl\hylotlvillage\hylotlvillagehousesmall3.json dungeons\missions\apexmissions\apexmission1.json dungeons\missions\avianmissions\avianmission1.json dungeons\missions\floranmissions\floranmission1-objects.png dungeons\missions\floranmissions\floranmission1.dungeon dungeons\missions\floranmissions\floranmission1.png dungeons\missions\protectorate\protectorate.json dungeons\other\museum\museum.json dungeons\other\outpost\outpost.dungeon dungeons\other\outpost\outpoststatic-objects.png [NEW] effects\bubbletrail.effectsource [NEW] effects\goo.effectsource interface\ai\ai.config interface\games\fossilgame\fossilgame.lua interface\games\fossilgame\level.lua interface\games\fossilgame\sprite.lua interface\games\fossilgame\tools.lua interface\games\fossilgame\images\brushtool.png [NEW] interface\games\fossilgame\images\chiseltool.png interface\games\fossilgame\images\crossicon.png interface\games\fossilgame\images\doticon.png [NEW] interface\games\fossilgame\images\drilltooltleft.png [NEW] interface\games\fossilgame\images\drilltooltright.png [NEW] interface\games\fossilgame\images\dynamitetool.png interface\games\fossilgame\images\hammertool.png interface\games\fossilgame\images\hrecticon.png [NEW] interface\games\fossilgame\images\mattockhrect.png [NEW] interface\games\fossilgame\images\mattockvrect.png interface\games\fossilgame\images\squareicon.png interface\games\fossilgame\images\tlefticon.png interface\games\fossilgame\images\trighticon.png interface\games\fossilgame\images\vrecticon.png [NEW] interface\tooltips\bodyobjecttext.png [NEW] interface\tooltips\headertext.png [NEW] interface\tooltips\tech.tooltip [NEW] items\active\unsorted\broom\broom.activeitem [NEW] items\active\unsorted\broom\broom.animation [NEW] items\active\unsorted\broom\broom.png items\active\unsorted\translocator\translocator.lua items\active\weapons\melee\altabilities\broadsword\downstab\downstab.lua items\active\weapons\melee\altabilities\broadsword\risingslash\risingslash.lua items\active\weapons\melee\altabilities\broadsword\spinslash\superspinslash.lua items\active\weapons\melee\altabilities\broadsword\traildash\traildash.lua items\active\weapons\melee\altabilities\generic\blinkexplosion\blinkexplosion.lua items\active\weapons\melee\altabilities\generic\blinkslash\blinkslash.lua items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.lua items\armors\decorative\costumes\fairy\fairy.back [NEW] items\augments\back\damageaugment2.png [NEW] items\augments\back\damageaugment3.png items\guns\bows\aegisaltbow\aegisaltbow.gun items\guns\bows\bow\bow.gun items\guns\bows\compoundbow\compoundbow.gun items\guns\bows\cupidsbow\cupidsbow.gun items\guns\bows\feroziumbow\feroziumbow.gun items\guns\bows\ironbow\ironbow.gun items\guns\bows\tungstenbow\tungstenbow.gun items\materials\bars.matitem items\materials\cheapwallpaper.matitem items\materials\copperladder.matitem items\materials\copperplatform.matitem items\materials\copperroofing.matitem items\materials\copperwindow.matitem items\materials\corruptdirt.matitem items\materials\crosshatch.matitem items\materials\crystalblock.matitem items\materials\darksmoothstone.matitem items\materials\darkwood.matitem items\materials\direstone.matitem items\materials\dirt.matitem items\materials\drydirt.matitem items\materials\drysand.matitem items\materials\eyepiles.matitem items\materials\fadedblocks.matitem items\materials\fence.matitem items\materials\fleshblock.matitem items\materials\floweryblock.matitem items\materials\frozendirt.matitem items\materials\frozenwater.matitem items\materials\fullwood1.matitem items\materials\geodeblock.matitem items\materials\geodestone.matitem items\materials\girder.matitem items\materials\glass.matitem items\materials\goldblock.matitem items\materials\goldenplatform.matitem items\materials\grassy.matitem items\materials\grassyrock.matitem items\materials\gravel.matitem items\materials\hazard.matitem items\materials\heavyironbars.matitem items\materials\heavypipe.matitem items\materials\junk.matitem [NEW] monsters\boss\apeboss\apeboss.animation [NEW] monsters\boss\apeboss\apeboss.monstertype [NEW] monsters\boss\apeboss\apeboss.png [NEW] monsters\boss\apeboss\body.monsterpart [NEW] monsters\boss\apeboss\default.frames [NEW] monsters\boss\apebossprojector\apebossprojector.animation [NEW] monsters\boss\apebossprojector\apebossprojector.lua [NEW] monsters\boss\apebossprojector\apebossprojector.monstertype [NEW] monsters\boss\apebossprojector\booster.frames [NEW] monsters\boss\apebossprojector\booster.monsterpart [NEW] monsters\boss\apebossprojector\booster.png [NEW] monsters\boss\apebossprojector\lamp.frames [NEW] monsters\boss\apebossprojector\lamp.monsterpart [NEW] monsters\boss\apebossprojector\lamp.png [NEW] monsters\boss\apebossprojector\projector.frames [NEW] monsters\boss\apebossprojector\projector.monsterpart [NEW] monsters\boss\apebossprojector\projector.png monsters\boss\kluexboss\kluexboss.animation monsters\boss\penguinminiufo\penguinminiufo.monstertype monsters\dungeon\cleaningbot\cleaningbot.monstertype monsters\dungeon\floki\floki.monstertype monsters\dungeon\glitchknight\glitchknight.monstertype monsters\dungeon\glitchspider\glitchspider.monstertype monsters\dungeon\moontant\moontant.animation monsters\dungeon\moontant\moontant.monstertype monsters\dungeon\pinfriend\pinfriend.monstertype monsters\dungeon\po\megapo.monstertype monsters\dungeon\pogolem\pogolem.monstertype monsters\dungeon\repairbot\repairbot.monstertype monsters\dungeon\robotchicken\robotchicken.monstertype monsters\dungeon\serpentdroid\serpentdroid.monstertype monsters\dungeon\sewerfly\sewerfly.monstertype monsters\generated\flying\largeflying\largeflying.monstertype monsters\generated\flying\smallflying\smallflying.monstertype monsters\generated\ground\largebiped\largebiped.monstertype monsters\generated\ground\largequadruped\largequadruped.monstertype monsters\generated\ground\smallbiped\smallbiped.monstertype monsters\generated\ground\smallquadruped\smallquadruped.monstertype monsters\pets\bunny\petbunny.monstertype monsters\pets\cat\petcat.monstertype monsters\pets\crasberry\crasberry.monstertype monsters\pets\orbis\petorbis.monstertype monsters\pets\piglett\piglett.monstertype monsters\pets\snake\petsnake.monstertype monsters\pets\snugget\snugget.monstertype monsters\pets\weasel\petweasel.monstertype npcs\merchant.npctype [NEW] npcs\mission\apexabovegroundscout.npctype npcs\mission\apexrebel.npctype [NEW] npcs\mission\protectoratejanitor.npctype [NEW] npcs\museum\museumapexvisitor.npctype [NEW] npcs\museum\museumavianvisitor.npctype [NEW] npcs\museum\museumfloranvisitor.npctype [NEW] npcs\museum\museumglitchvisitor.npctype [NEW] npcs\museum\museumhumanvisitor.npctype [NEW] npcs\museum\museumhylotlcurator.npctype [NEW] npcs\outpost\outpostfloranexplorer.npctype [NEW] npcs\outpost\outposthylotlcurator.npctype npcs\story\lana.npctype objects\crafting\pethealingstation\pethealingstationicon.png objects\floran\huntingtrophy3\huntingtrophy3.frames objects\floran\huntingtrophy3\huntingtrophy3.png objects\fossils\dirtyfossils\dirtyfossil.lua objects\fossils\displaystands\fossildisplay.lua objects\generic\invisiblesparker\invisiblesparker.object objects\generic\woodenelevator\woodenelevatorlong.object objects\generic\woodenelevator\woodenelevatorshort.object objects\generic\woodenendtable\woodenendtable.object objects\generic\woodengate\woodengate.object objects\generic\woodenlamp1\woodenlamp1.object objects\generic\woodenlamp2\woodenlamp2.object objects\generic\woodenlamp3\woodenlamp3.object objects\generic\woodensink\woodensink.object objects\generic\woodenstand1\woodenstand1.object objects\generic\woodenstand2\woodenstand2.object objects\generic\woodentalllantern\woodentalllantern.object objects\generic\woodstool\woodstool.object objects\generic\woodsupport\woodsupport.object objects\generic\woodtable\woodtable.object objects\generic\woodtoilet\woodtoilet.object objects\generic\wormstatue\wormstatue.object objects\generic\wormstatue\wormstatue.png objects\glitch\ballandchain\ballandchain.object objects\glitch\medievalarmor\medievalarmor.object objects\glitch\medievalarmorarmed\medievalarmorarmed.object objects\glitch\medievalarmorswitch\medievalarmorswitch.object objects\glitch\royalbed\royalbed.object objects\glitch\royalbookcase\royalbookcase.object objects\glitch\royalcabinet\royalcabinet.object objects\glitch\royalcandles\royalcandles.object objects\glitch\royalchalice\royalchalice.object objects\glitch\royalchest\royalchest.object objects\glitch\royaldesk\royaldesk.object objects\glitch\royalthrone\royalthrone.object objects\glitch\royaltoilet\royaltoilet.object objects\human\alertlight\alertlight.object objects\human\bunkercabinet1\bunkercabinet1.object objects\human\bunkerceilinglight1\bunkerceilinglight1.object objects\human\bunkerceilinglight2\bunkerceilinglight2.object objects\human\bunkercomputer\bunkercomputer.object objects\human\bunkerconsole1\bunkerconsole1.object objects\human\bunkerconsole2\bunkerconsole2.object objects\human\bunkerconsole3\bunkerconsole3.object objects\human\bunkerconsole4\bunkerconsole4.object objects\human\bunkercorner\bunkercorner.object objects\human\bunkercrate\bunkercrate.object objects\human\bunkerdesk\bunkerdesk.object objects\human\bunkerdisplay1\bunkerdisplay1.object objects\human\bunkerdisplay2\bunkerdisplay2.object objects\human\bunkerdisplay3\bunkerdisplay3.object objects\human\bunkerdisplay4\bunkerdisplay4.object objects\human\bunkereyescanner\bunkereyescanner.object objects\human\bunkerhandscanner\bunkerhandscanner.object objects\human\bunkerheater1\bunkerheater1.object objects\human\bunkerlighth\bunkerlighth.object objects\human\bunkerlightv\bunkerlightv.object objects\human\jukebox\jukebox.object [NEW] objects\mission\apexfightlantern\apexfightlantern.animation [NEW] objects\mission\apexfightlantern\apexfightlantern.frames [NEW] objects\mission\apexfightlantern\apexfightlantern.object [NEW] objects\mission\apexfightlantern\apexfightlantern.png [NEW] objects\mission\apexfightlantern\apexfightlanternicon.png [NEW] objects\mission\apexfightlantern\apexfightlanternlit.frames [NEW] objects\mission\apexfightlantern\apexfightlanternlit.png [NEW] objects\protectorate\00\00back.object [NEW] objects\protectorate\00\00back.png [NEW] objects\protectorate\00\icon.png [NEW] objects\protectorate\00b\00bback.object [NEW] objects\protectorate\00b\00bback.png [NEW] objects\protectorate\00b\icon.png objects\protectorate\01\01back.png objects\protectorate\02\02back.png objects\protectorate\03\03back.png objects\protectorate\05\05back.png objects\protectorate\06\06back.png objects\protectorate\07\07back.png objects\protectorate\08\08back.png objects\protectorate\08b\08bback.png [NEW] objects\protectorate\09\09back.object [NEW] objects\protectorate\09\09back.png [NEW] objects\protectorate\09\icon.png [NEW] objects\protectorate\09b\09bback.object [NEW] objects\protectorate\09b\09bback.png [NEW] objects\protectorate\09b\icon.png [NEW] objects\protectorate\10\10back.object [NEW] objects\protectorate\10\10back.png [NEW] objects\protectorate\10\icon.png [NEW] objects\protectorate\10b\10bback.object [NEW] objects\protectorate\10b\10bback.png [NEW] objects\protectorate\10b\icon.png [NEW] objects\protectorate\11\11back.object [NEW] objects\protectorate\11\11back.png [NEW] objects\protectorate\11\icon.png [NEW] objects\protectorate\11b\11bback.object [NEW] objects\protectorate\11b\11bback.png [NEW] objects\protectorate\11b\icon.png [NEW] objects\protectorate\12\12back.object [NEW] objects\protectorate\12\12back.png [NEW] objects\protectorate\12\icon.png [NEW] objects\protectorate\12b\12bback.object [NEW] objects\protectorate\12b\12bback.png [NEW] objects\protectorate\12b\icon.png [NEW] objects\protectorate\13\13back.object [NEW] objects\protectorate\13\13back.png [NEW] objects\protectorate\13\icon.png [NEW] objects\protectorate\13b\13bback.object [NEW] objects\protectorate\13b\13bback.png [NEW] objects\protectorate\13b\icon.png [NEW] objects\protectorate\14\14back.object [NEW] objects\protectorate\14\14back.png [NEW] objects\protectorate\14\icon.png [NEW] objects\protectorate\14b\14bback.object [NEW] objects\protectorate\14b\14bback.png [NEW] objects\protectorate\14b\icon.png [NEW] objects\protectorate\15\15back.object [NEW] objects\protectorate\15\15back.png [NEW] objects\protectorate\15\icon.png [NEW] objects\protectorate\15b\15bback.object [NEW] objects\protectorate\15b\15bback.png [NEW] objects\protectorate\15b\icon.png [NEW] objects\protectorate\objects\protectoratesiren.png [NEW] objects\protectorate\objects\protectoratebrokenlight\protectoratebrokenlight.frames [NEW] objects\protectorate\objects\protectoratebrokenlight\protectoratebrokenlight.object [NEW] objects\protectorate\objects\protectoratebrokenlight\protectoratebrokenlight.png [NEW] objects\protectorate\objects\protectoratebrokenlight\protectoratebrokenlighticon.png [NEW] objects\protectorate\objects\protectoratefbannertorn1\protectoratefbannertorn1.frames [NEW] objects\protectorate\objects\protectoratefbannertorn1\protectoratefbannertorn1.object [NEW] objects\protectorate\objects\protectoratefbannertorn1\protectoratefbannertorn1.png [NEW] objects\protectorate\objects\protectoratefbannertorn1\protectoratefbannertorn1icon.png [NEW] objects\protectorate\objects\protectoratefbannertorn2\protectoratefbannertorn2.frames [NEW] objects\protectorate\objects\protectoratefbannertorn2\protectoratefbannertorn2.object [NEW] objects\protectorate\objects\protectoratefbannertorn2\protectoratefbannertorn2.png [NEW] objects\protectorate\objects\protectoratefbannertorn2\protectoratefbannertorn2icon.png [NEW] objects\protectorate\objects\protectoraterooftopprop1\protectoraterooftopprop1.frames [NEW] objects\protectorate\objects\protectoraterooftopprop1\protectoraterooftopprop1.object [NEW] objects\protectorate\objects\protectoraterooftopprop1\protectoraterooftopprop1.png [NEW] objects\protectorate\objects\protectoraterooftopprop1\protectoraterooftopprop1icon.png [NEW] objects\protectorate\objects\protectoraterooftopprop2\protectoraterooftopprop2.frames [NEW] objects\protectorate\objects\protectoraterooftopprop2\protectoraterooftopprop2.object [NEW] objects\protectorate\objects\protectoraterooftopprop2\protectoraterooftopprop2.png [NEW] objects\protectorate\objects\protectoraterooftopprop2\protectoraterooftopprop2icon.png [NEW] objects\protectorate\objects\protectoraterooftopprop3\protectoraterooftopprop3.frames [NEW] objects\protectorate\objects\protectoraterooftopprop3\protectoraterooftopprop3.object [NEW] objects\protectorate\objects\protectoraterooftopprop3\protectoraterooftopprop3.png [NEW] objects\protectorate\objects\protectoraterooftopprop3\protectoraterooftopprop3icon.png [NEW] objects\protectorate\objects\protectoraterooftopprop4\protectoraterooftopprop4.frames [NEW] objects\protectorate\objects\protectoraterooftopprop4\protectoraterooftopprop4.object [NEW] objects\protectorate\objects\protectoraterooftopprop4\protectoraterooftopprop4.png [NEW] objects\protectorate\objects\protectoraterooftopprop4\protectoraterooftopprop4icon.png [NEW] objects\protectorate\objects\protectoratesecuritystation\protectoratesecuritystation.frames [NEW] objects\protectorate\objects\protectoratesecuritystation\protectoratesecuritystation.object [NEW] objects\protectorate\objects\protectoratesecuritystation\protectoratesecuritystation.png [NEW] objects\protectorate\objects\protectoratesecuritystation\protectoratesecuritystationicon.png [NEW] objects\protectorate\objects\protectorateship\protectorateship.frames [NEW] objects\protectorate\objects\protectorateship\protectorateship.object [NEW] objects\protectorate\objects\protectorateship\protectorateship.png [NEW] objects\protectorate\objects\protectorateship\protectorateshipicon.png [NEW] objects\protectorate\objects\protectoratestorage1\protectoratestorage1.frames [NEW] objects\protectorate\objects\protectoratestorage1\protectoratestorage1.object [NEW] objects\protectorate\objects\protectoratestorage1\protectoratestorage1.png [NEW] objects\protectorate\objects\protectoratestorage1\protectoratestorage1icon.png [NEW] objects\protectorate\objects\protectoratestorage2\protectoratestorage2.frames [NEW] objects\protectorate\objects\protectoratestorage2\protectoratestorage2.object [NEW] objects\protectorate\objects\protectoratestorage2\protectoratestorage2.png [NEW] objects\protectorate\objects\protectoratestorage2\protectoratestorage2icon.png [NEW] objects\protectorate\objects\protectoratestorage3\protectoratestorage3.frames [NEW] objects\protectorate\objects\protectoratestorage3\protectoratestorage3.object [NEW] objects\protectorate\objects\protectoratestorage3\protectoratestorage3.png [NEW] objects\protectorate\objects\protectoratestorage3\protectoratestorage3icon.png [NEW] objects\protectorate\objects\protectoratestorageempty\protectoratestorageempty.frames [NEW] objects\protectorate\objects\protectoratestorageempty\protectoratestorageempty.object [NEW] objects\protectorate\objects\protectoratestorageempty\protectoratestorageempty.png [NEW] objects\protectorate\objects\protectoratestorageempty\protectoratestorageemptyicon.png [NEW] objects\protectorate\objects\protectoratewatertank\protectoratewatertank.frames [NEW] objects\protectorate\objects\protectoratewatertank\protectoratewatertank.object [NEW] objects\protectorate\objects\protectoratewatertank\protectoratewatertank.png [NEW] objects\protectorate\objects\protectoratewatertank\protectoratewatertankicon.png objects\spawner\colonydeed\colonydeed.lua [NEW] objects\spawner\pettether\old.png objects\themed\wave\wavebed\wavebed.object objects\wired\standingturret\standingturret.object parallax\images\cityscapescorched1\base\1.png [NEW] particles\goo.particle projectiles\physics.config [NEW] projectiles\boss\apeboss\apebossmissile\apebossmissile.frames [NEW] projectiles\boss\apeboss\apebossmissile\apebossmissile.lua [NEW] projectiles\boss\apeboss\apebossmissile\apebossmissile.png [NEW] projectiles\boss\apeboss\apebossmissile\apebossmissile.projectile [NEW] projectiles\boss\apeboss\apebossmissile\icon.png projectiles\guns\rockets\homingrocket\homingrocket.projectile projectiles\npcs\moontantgoop\moontantgoop.projectile [NEW] quests\outpost\museumcurator1.questtemplate [NEW] quests\outpost\museumcurator2.questtemplate [NEW] quests\outpost\museumcurator3.questtemplate [NEW] quests\outpost\museumcurator4.questtemplate [NEW] quests\outpost\museumcurator5.questtemplate [NEW] quests\outpost\museumcurator6.questtemplate radiomessages\missions.radiomessages radiomessages\tutorial.radiomessages scripts\actions\entities.lua scripts\actions\position.lua [NEW] scripts\actions\boss\apeboss.lua scripts\augments\dye.lua scripts\behavior\decorator.lua scripts\pets\player.lua scripts\pets\spawner.lua [NEW] sfx\tech\tech_dash_cooldown1.ogg stagehands\mission\apexmissionbattleeffect.lua stagehands\mission\apexmissionbattleeffect.stagehand stats\player_primary.lua stats\effects\breathprotectionvehicle\breathprotectionvehicle.lua stats\effects\translocate\translocate.lua [NEW] tech\doubletap.lua tech\blink\blink.lua tech\booster\booster.lua tech\bounce\bounce.lua tech\dash\airdash.tech tech\dash\airdash.techitem tech\dash\blinkdash.animation tech\dash\blinkdash.lua tech\dash\blinkdash.tech tech\dash\blinkdash.techitem tech\dash\dash.animation tech\dash\dash.lua tech\dash\dash.tech tech\dash\dash.techitem [NEW] tech\dash\recharge.frames [NEW] tech\dash\recharge.png [NEW] tech\dash\sprint.lua [NEW] tech\dash\sprint.tech [NEW] tech\dash\sprint.techitem [NEW] tech\distortionsphere\aquasphere.lua [NEW] tech\distortionsphere\aquasphere.tech [NEW] tech\distortionsphere\aquasphere.techitem tech\distortionsphere\ball.png tech\distortionsphere\distortionsphere.animation tech\distortionsphere\distortionsphere.lua tech\distortionsphere\distortionsphere.tech tech\distortionsphere\distortionsphere.techitem [NEW] tech\distortionsphere\sonicsphere.animation [NEW] tech\distortionsphere\sonicsphere.lua [NEW] tech\distortionsphere\sonicsphere.tech [NEW] tech\distortionsphere\sonicsphere.techitem tech\distortionsphere\spikesphere.lua tech\distortionsphere\spikesphere.tech tech\distortionsphere\spikesphere.techitem [NEW] tech\distortionsphere\waterball.frames [NEW] tech\distortionsphere\waterball.png tech\jetpack\jetpack.lua [NEW] tech\jump\doublejump.tech [NEW] tech\jump\doublejump.techitem [NEW] tech\jump\multijump.animation [NEW] tech\jump\multijump.lua [NEW] tech\jump\multijump.tech [NEW] tech\jump\multijump.techitem [NEW] tech\jump\rocketjump.animation [NEW] tech\jump\rocketjump.lua [NEW] tech\jump\rocketjump.tech [NEW] tech\jump\rocketjump.techitem [NEW] tech\jump\walljump.lua [NEW] tech\jump\walljump.tech [NEW] tech\jump\walljump.techitem tech\morphball\balldash.lua tech\morphball\morphball.lua [NEW] tech\superjump\superjump.animation tech\superjump\superjump.lua [NEW] tech\superjump\superjump.tech [NEW] tech\superjump\superjump.techitem tiles\materials\cheapwallpaper.material tiles\materials\copperroofing.material tiles\materials\copperwindow.material tiles\materials\corruptdirt.material tiles\materials\crosshatch.material tiles\materials\crystalblock.material tiles\materials\darksmoothstone.material tiles\materials\darkwood.material tiles\materials\direstone.material tiles\materials\dirt.material tiles\materials\drydirt.material tiles\materials\drysand.material tiles\materials\eyepiles.material tiles\materials\fadedblocks.material tiles\materials\fence.material tiles\materials\fleshblock.material tiles\materials\floweryblock.material tiles\materials\frozendirt.material tiles\materials\frozenwater.material tiles\materials\fullwood1.material tiles\materials\geodeblock.material tiles\materials\geodestone.material tiles\materials\girder.material tiles\materials\glass.material tiles\materials\goldblock.material tiles\materials\grassy.material tiles\materials\grassyrock.material tiles\materials\gravel.material tiles\materials\hazard.material tiles\materials\heavyironbars.material tiles\materials\heavypipe.material tiles\materials\junk.material tiles\platforms\copperladder.material tiles\platforms\copperplatform.material tiles\platforms\goldenplatform.material tilesets\packed\huge-objects.json tilesets\packed\materials.json tilesets\packed\supports.json tilesets\packed\objects-by-category\crafting.json tilesets\packed\objects-by-category\decorative.json tilesets\packed\objects-by-category\furniture.json tilesets\packed\objects-by-category\light.json tilesets\packed\objects-by-category\other.json tilesets\packed\objects-by-category\storage.json tilesets\packed\objects-by-category\wire.json [NEW] tilesets\packed\objects-by-colonytag\agaran.json [NEW] tilesets\packed\objects-by-colonytag\alien.json [NEW] tilesets\packed\objects-by-colonytag\alpaca.json [NEW] tilesets\packed\objects-by-colonytag\alpine.json [NEW] tilesets\packed\objects-by-colonytag\ancient.json [NEW] tilesets\packed\objects-by-colonytag\apex.json [NEW] tilesets\packed\objects-by-colonytag\apexmansion.json [NEW] tilesets\packed\objects-by-colonytag\apexmission1.json [NEW] tilesets\packed\objects-by-colonytag\apexresearchlab.json [NEW] tilesets\packed\objects-by-colonytag\apexvillage.json [NEW] tilesets\packed\objects-by-colonytag\astronaut.json [NEW] tilesets\packed\objects-by-colonytag\avian.json [NEW] tilesets\packed\objects-by-colonytag\avianairship.json [NEW] tilesets\packed\objects-by-colonytag\aviantemple.json [NEW] tilesets\packed\objects-by-colonytag\aviantomb.json [NEW] tilesets\packed\objects-by-colonytag\avianvillage.json [NEW] tilesets\packed\objects-by-colonytag\bench.json [NEW] tilesets\packed\objects-by-colonytag\bioluminescence.json [NEW] tilesets\packed\objects-by-colonytag\bone.json [NEW] tilesets\packed\objects-by-colonytag\cabin.json [NEW] tilesets\packed\objects-by-colonytag\cell.json [NEW] tilesets\packed\objects-by-colonytag\christmas.json [NEW] tilesets\packed\objects-by-colonytag\colourful.json [NEW] tilesets\packed\objects-by-colonytag\combat.json [NEW] tilesets\packed\objects-by-colonytag\commerce.json [NEW] tilesets\packed\objects-by-colonytag\cooking.json [NEW] tilesets\packed\objects-by-colonytag\copper.json [NEW] tilesets\packed\objects-by-colonytag\coral.json [NEW] tilesets\packed\objects-by-colonytag\crafting.json [NEW] tilesets\packed\objects-by-colonytag\crystalline.json [NEW] tilesets\packed\objects-by-colonytag\dark.json [NEW] tilesets\packed\objects-by-colonytag\doom.json [NEW] tilesets\packed\objects-by-colonytag\door.json [NEW] tilesets\packed\objects-by-colonytag\electronic.json [NEW] tilesets\packed\objects-by-colonytag\evil.json [NEW] tilesets\packed\objects-by-colonytag\executive.json [NEW] tilesets\packed\objects-by-colonytag\explorer.json [NEW] tilesets\packed\objects-by-colonytag\eyepatch.json [NEW] tilesets\packed\objects-by-colonytag\farm.json [NEW] tilesets\packed\objects-by-colonytag\farming.json [NEW] tilesets\packed\objects-by-colonytag\flesh.json [NEW] tilesets\packed\objects-by-colonytag\floran.json [NEW] tilesets\packed\objects-by-colonytag\floranhuntinggrounds.json [NEW] tilesets\packed\objects-by-colonytag\floranprison.json [NEW] tilesets\packed\objects-by-colonytag\floranvillage.json [NEW] tilesets\packed\objects-by-colonytag\fossil.json [NEW] tilesets\packed\objects-by-colonytag\foundry.json [NEW] tilesets\packed\objects-by-colonytag\frozenfire.json [NEW] tilesets\packed\objects-by-colonytag\geode.json [NEW] tilesets\packed\objects-by-colonytag\geometric.json [NEW] tilesets\packed\objects-by-colonytag\giantflower.json [NEW] tilesets\packed\objects-by-colonytag\glitch.json [NEW] tilesets\packed\objects-by-colonytag\glitchcastle.json [NEW] tilesets\packed\objects-by-colonytag\glitchsewer.json [NEW] tilesets\packed\objects-by-colonytag\glitchvillage.json [NEW] tilesets\packed\objects-by-colonytag\gnome.json [NEW] tilesets\packed\objects-by-colonytag\gothic.json [NEW] tilesets\packed\objects-by-colonytag\heck.json [NEW] tilesets\packed\objects-by-colonytag\hive.json [NEW] tilesets\packed\objects-by-colonytag\hoard.json [NEW] tilesets\packed\objects-by-colonytag\human.json [NEW] tilesets\packed\objects-by-colonytag\humanbunker.json [NEW] tilesets\packed\objects-by-colonytag\humanprison.json [NEW] tilesets\packed\objects-by-colonytag\humanvillage.json [NEW] tilesets\packed\objects-by-colonytag\hylotl.json [NEW] tilesets\packed\objects-by-colonytag\hylotloceancity.json [NEW] tilesets\packed\objects-by-colonytag\hylotlvillage.json [NEW] tilesets\packed\objects-by-colonytag\ice.json [NEW] tilesets\packed\objects-by-colonytag\island.json [NEW] tilesets\packed\objects-by-colonytag\jungle.json [NEW] tilesets\packed\objects-by-colonytag\knowledge.json [NEW] tilesets\packed\objects-by-colonytag\light.json [NEW] tilesets\packed\objects-by-colonytag\lunarbase.json [NEW] tilesets\packed\objects-by-colonytag\mechanical.json [NEW] tilesets\packed\objects-by-colonytag\mining.json [NEW] tilesets\packed\objects-by-colonytag\misc.json [NEW] tilesets\packed\objects-by-colonytag\mushroompatch.json [NEW] tilesets\packed\objects-by-colonytag\musical.json [NEW] tilesets\packed\objects-by-colonytag\naturalcave.json [NEW] tilesets\packed\objects-by-colonytag\nature.json [NEW] tilesets\packed\objects-by-colonytag\novakid.json [NEW] tilesets\packed\objects-by-colonytag\oasis.json [NEW] tilesets\packed\objects-by-colonytag\ocean.json [NEW] tilesets\packed\objects-by-colonytag\odd.json [NEW] tilesets\packed\objects-by-colonytag\opulent.json [NEW] tilesets\packed\objects-by-colonytag\outdoor.json [NEW] tilesets\packed\objects-by-colonytag\outpost.json [NEW] tilesets\packed\objects-by-colonytag\pretty.json [NEW] tilesets\packed\objects-by-colonytag\prism.json [NEW] tilesets\packed\objects-by-colonytag\retroscifi.json [NEW] tilesets\packed\objects-by-colonytag\rust.json [NEW] tilesets\packed\objects-by-colonytag\saloon.json [NEW] tilesets\packed\objects-by-colonytag\sandstone.json [NEW] tilesets\packed\objects-by-colonytag\science.json [NEW] tilesets\packed\objects-by-colonytag\scorched.json [NEW] tilesets\packed\objects-by-colonytag\sea.json [NEW] tilesets\packed\objects-by-colonytag\serene.json [NEW] tilesets\packed\objects-by-colonytag\sign.json [NEW] tilesets\packed\objects-by-colonytag\slime.json [NEW] tilesets\packed\objects-by-colonytag\spooky.json [NEW] tilesets\packed\objects-by-colonytag\spring.json [NEW] tilesets\packed\objects-by-colonytag\steampunk.json [NEW] tilesets\packed\objects-by-colonytag\steamspring.json [NEW] tilesets\packed\objects-by-colonytag\stonecave.json [NEW] tilesets\packed\objects-by-colonytag\storage.json [NEW] tilesets\packed\objects-by-colonytag\swamp.json [NEW] tilesets\packed\objects-by-colonytag\tar.json [NEW] tilesets\packed\objects-by-colonytag\tier1.json [NEW] tilesets\packed\objects-by-colonytag\tier2.json [NEW] tilesets\packed\objects-by-colonytag\tier3.json [NEW] tilesets\packed\objects-by-colonytag\tier4.json [NEW] tilesets\packed\objects-by-colonytag\toxic.json [NEW] tilesets\packed\objects-by-colonytag\traveller.json [NEW] tilesets\packed\objects-by-colonytag\valentines.json [NEW] tilesets\packed\objects-by-colonytag\valuable.json [NEW] tilesets\packed\objects-by-colonytag\volcanic.json [NEW] tilesets\packed\objects-by-colonytag\wave.json [NEW] tilesets\packed\objects-by-colonytag\wired.json [NEW] tilesets\packed\objects-by-colonytag\wreck.json [NEW] tilesets\packed\objects-by-colonytag\zen.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\glitch.json tilesets\packed\objects-by-race\human.json tilesets\packed\objects-by-race\protectorate.json tilesets\packed\objects-by-type\container.json tilesets\packed\objects-by-type\loungeable.json treasure\monster.treasurepools DIFFS ----- celestial.config 1002c1002 < "terrestrialType" : [ "arctic", "tundra" ] --- > "terrestrialType" : [ "arctic", "tundra", "midnight" ] 1022c1022 < "terrestrialType" : [ "volcanic", "scorchedcity", "magma", "midnight" ] --- > "terrestrialType" : [ "volcanic", "scorchedcity", "magma" ] default_movement.config 6a7 > "stopOnFirstBounce" : false, dungeon_worlds.config 100c100 < "dungeonSurfaceHeight" : 1000, --- > "dungeonSurfaceHeight" : 1050, instance_worlds.config 500,503c500,503 < "morningColors" : [[200, 200, 255], [200, 200, 255]], < "dayColors" : [[200, 200, 255], [200, 200, 255]], < "eveningColors" : [[200, 200, 255], [200, 200, 255]], < "nightColors" : [[200, 200, 255], [200, 200, 255]], --- > "morningColors" : [[24, 38, 53, 80], [58, 42, 70, 160]], > "dayColors" : [[24, 38, 53, 80], [58, 42, 70, 160]], > "eveningColors" : [[24, 38, 53, 80], [58, 42, 70, 160]], > "nightColors" : [[24, 38, 53, 80], [58, 42, 70, 160]], 505,508c505,508 < "morningLightColor" : [200, 200, 200], < "dayLightColor" : [200, 200, 200], < "eveningLightColor" : [200, 200, 200], < "nightLightColor" : [200, 200, 200] --- > "morningLightColor" : [40, 20, 60], > "dayLightColor" : [40, 20, 60], > "eveningLightColor" : [40, 20, 60], > "nightLightColor" : [40, 20, 60] player.config 539,541c539,541 < "hitInvulnerabilityThreshold" : 0.01, < "hitInvulnerabilityTime" : 2.0, < "hitInvulnerabilityFlash" : 0.1, --- > "hitInvulnerabilityThreshold" : 0.1, > "hitInvulnerabilityTime" : 1, > "hitInvulnerabilityFlash" : 0.15, 543,544c543,544 < "damageFlashTime" : 0.07, < "damageFlashDirectives" : "fade=ff0000=0.85" --- > "damageFlashOnDirectives" : "", > "damageFlashOffDirectives" : "multiply=ffffff00=0.85" 622a623,625 > }, > "knockbackThreshold" : { > "baseValue" : 15.0 worldstorage.config 4d3 < "maxStoreMillis" : 10, ai\upgradeship1.aicommand 5c5 < { --- > { 10c10 < { --- > { 20c20 < { --- > { 22c22 < "techName" : [ "distortionspheretech", "doublejumptech", "dashtech" ] --- > "techName" : [ "distortionspheretech", "doublejumptech", "dashtech" ] 24c24 < { --- > { 26c26 < "techName" : [ "airdashtech", "blinkdashtech", "spikespheretech" ] --- > "techName" : [ "airdashtech", "blinkdashtech", "sprinttech", "spikespheretech", "aquaspheretech", "sonicspheretech", "multijumptech", "rocketjumptech", "walljumptech" ] behaviors\npc\combat.behavior 3d2 < "description": "", 8c7,9 < "parameters": {}, --- > "parameters": { > "combatParameters": {} > }, 93a95 > "behavior": "combatcoordinator", 99c101 < "behavior": "combatcoordinator" --- > "parameters": "" behaviors\npc\hostileguard.behavior 10c10,11 < "play": false --- > "play": false, > "combatParameters": {} 219c220,222 < "parameters": {} --- > "parameters": { > "combatParameters": "" > } dungeons\hylotl\hylotlvillage\hylotlvillagehousesmall3.json [TMX file differences are left out for huge size.] dungeons\missions\apexmissions\apexmission1.json [TMX file differences are left out for huge size.] dungeons\missions\avianmissions\avianmission1.json [TMX file differences are left out for huge size.] dungeons\missions\floranmissions\floranmission1.dungeon 825a826,831 > "value" : [4, 124, 44, 255], > "comment" : "ruins stairs/platform", > "brush" : [ [ "clear" ], [ "object", "woodenelevatorlong", { "direction" : "left" } ] ] > }, > > { dungeons\missions\protectorate\protectorate.json [TMX file differences are left out for huge size.] dungeons\other\museum\museum.json [TMX file differences are left out for huge size.] dungeons\other\outpost\outpost.dungeon 2031c2031 < "comment" : "floran scholar 57", --- > "comment" : "hylotl curator 71", 2035,2037c2035,2037 < "species" : "floran", < "typeName" : "outpostfloranscholar", < "seed" : 57 --- > "species" : "hylotl", > "typeName" : "outposthylotlcurator", > "seed" : 71 2122c2122 < "comment" : "hylotl floran-hater 22", --- > "comment" : "floran explorer 65", 2126,2128c2126,2128 < "species" : "hylotl", < "typeName" : "outposthylotlfloranhater", < "seed" : 22 --- > "species" : "floran", > "typeName" : "outpostfloranexplorer", > "seed" : 65 interface\ai\ai.config 88c88 < "wrapWidth" : 120, --- > "wrapWidth" : 118, interface\games\fossilgame\fossilgame.lua 221c221 < return (self.treasureName and self.treasureComplete==false and self.level.treasureDamaged==false) --- > return (self.level.hasTreasure and self.treasureComplete==false and self.level.treasureDamaged==false) 225c225 < return (self.treasureName and self.level:isTreasureCoveredByDirt() and self.level.treasureDamaged==false) --- > return (self.level.hasTreasure and self.level:isTreasureCoveredByDirt() and self.level.treasureDamaged==false) 230c230 < if self.treasureName and self.level.treasureDamaged==false then --- > if self.level.hasTreasure and self.level.treasureDamaged==false then interface\games\fossilgame\level.lua 212,213c212,217 < return (tilePos[1]==self.treasurePos[1] or tilePos[1]==self.treasurePos[1]+1) < and (tilePos[2]==self.treasurePos[2] or tilePos[2]==self.treasurePos[2]+1) --- > if self.hasTreasure then > return (tilePos[1]==self.treasurePos[1] or tilePos[1]==self.treasurePos[1]+1) > and (tilePos[2]==self.treasurePos[2] or tilePos[2]==self.treasurePos[2]+1) > end > > return false 217d220 < 229a233 > 250,251d253 < Tx=self.treasurePos[1] < Ty=self.treasurePos[2] 253,261c255,268 < local checkPos={} < < for x = 0, 1 do < for y = 0, 1 do < checkPos[1]=Tx+x < checkPos[2]=Ty+y < if (self:dirtAt(checkPos) and self:treasureAt(checkPos) and not self:rockAt(checkPos)) then < return true < end --- > if (self.hasTreasure) then > Tx=self.treasurePos[1] > Ty=self.treasurePos[2] > > local checkPos={} > > for x = 0, 1 do > for y = 0, 1 do > checkPos[1]=Tx+x > checkPos[2]=Ty+y > if (self:dirtAt(checkPos) and self:treasureAt(checkPos) and not self:rockAt(checkPos)) then > return true > end > end interface\games\fossilgame\sprite.lua 15d14 < animationCycle = 1, 31d29 < 33,43d30 < if self.animating then < self.timer = self.timer + script.updateDt() < if self.timer > self.animationCycle then < self.timer = 0 < if not self.loop then < self.animating = false < end < end < self.cell = math.floor(self.timer / self.animationCycle * self.frames) < end < 50,57d36 < < function Sprite:start() < self.animating = true < end < < function Sprite:stop() < self.animating = false < end \ No newline at end of file interface\games\fossilgame\tools.lua 9d8 < Tool.sprite.animationCycle = 0.1 16c15,18 < triggerPosition = {0,0} --- > animationFrame=1, > drawFrame=1, > triggerPosition = {0,0}, > tileList={} 22,24d23 < function Tool:trigger() < end < 29,30c28,35 < if self.animationTimer > 0 then < self.animationTimer = self.animationTimer - dt --- > > self.tileList = self:hoverTiles() > > local hit,makeSound=self:updateAnimation(dt) > local volume = hit and 1.0 or 0.4 > > if makeSound >0 then > console.playSound(self.sound[makeSound], 0, volume) 32,34c37,39 < if self.sound and self.playSound then < console.playSound(self.sound, 0, 1.0) < self.playSound = false --- > > if hit then > self:strike(self.triggerPosition) 38,41c43,45 < function Tool:triggerAction() < self.animationTimer = self.animationCycle < self.triggerPosition = mousePosition() < self.playSound = true --- > function Tool:startAnimation() > self.animationTimer = 0.001 > self.animationFrame = 0 43a48,73 > function Tool:updateAnimation(dt) > > if self.animationTimer ~= 0 then > self.animationTimer = self.animationTimer - dt > > if self.animationTimer<=0 then > if self.animationFrame<#self.animationSequence then > self.animationTimer = self.animationTimer+self.animationSpeed > self.animationFrame = self.animationFrame+1 > self.drawFrame=self.animationSequence[self.animationFrame] > > return (self.animationFrame==self.strikeFrame),self.soundTriggerSequence[self.animationFrame] > else > self.drawFrame=self.cursorFrame > self.animationTimer = 0 > end > > end > else > self.drawFrame=self.cursorFrame > end > > return false,0 > end > > 50c80,82 < if tilePos == false then return {} end --- > if tilePos == false then > return {} > end 61,62c93,98 < if tile[1] < -offset[1] then offset[1] = -tile[1] end < if tile[2] < -offset[2] then offset[2] = -tile[2] end --- > if tile[1] < -offset[1] then > offset[1] = -tile[1] > end > if tile[2] < -offset[2] then > offset[2] = -tile[2] > end 84,85c120,121 < if self:canUse() then < for _,tile in ipairs(self:hoverTiles()) do --- > if self:canUse() and self.animationTimer==0 then > for _,tile in ipairs(self.tileList) do 93,97c129 < if self.animationTimer > 0 then < self.sprite:setCell(1) < else < self.sprite:setCell(0) < end --- > self.sprite:setCell(self.drawFrame-1) 102d133 < 104,122c135,152 < -- world.logInfo("triggering tool=%s",self.name) < if self:canUse() then < local tiles = self:hoverTiles() < if #tiles > 0 then < self.uses = self.uses - 1 < for _,tile in ipairs(tiles) do < if self.level:rockAt(tile) then < self.level:removeRock(tile) < elseif self.level:dirtAt(tile) then < self.level:removeDirt(tile) < elseif self.level:fossilAt(tile) then < self.level:damageFossil() < elseif self.level:treasureAt(tile) then < self.level:damageTreasure() < end < < if self.level:rockAt(tile) or self.level:dirtAt(tile) or self.level:fossilAt(tile) or self.level:treasureAt(tile) then < self:triggerAction() < end --- > if self:canUse() and #self.tileList>0 then > self.triggerPosition = mousePosition() > self:startAnimation() > end > end > > function Tool:strike() > if #self.tileList > 0 then > self.uses = self.uses - 1 > for _,tile in ipairs(self.tileList) do > if self.level:rockAt(tile) then > self.level:removeRock(tile) > elseif self.level:dirtAt(tile) then > self.level:removeDirt(tile) > elseif self.level:fossilAt(tile) then > self.level:damageFossil() > elseif self.level:treasureAt(tile) then > self.level:damageTreasure() 144,145c174,180 < BrushTool.animationCycle = 0.1 < BrushTool.sprite = Sprite:new("/interface/games/fossilgame/images/brushtool.png", {16,16}, {2,1}, 2) --- > BrushTool.cursorFrame=3 > BrushTool.animationSpeed = 0.1 > BrushTool.animationSequence={2,1,2,3,2,1,2} > BrushTool.soundTriggerSequence={0,1,0,1,0,1,0} > BrushTool.strikeFrame=6 > > BrushTool.sprite = Sprite:new("/interface/games/fossilgame/images/brushtool.png", {20,20}, {3,1}, 3) 150c185 < BrushTool.sound = "/sfx/blocks/footstep_sand2.ogg" --- > BrushTool.sound = {"/sfx/blocks/footstep_sand2.ogg"} 153c188,192 < self.firing = true --- > if self:canUse() and #self.tileList>0 then > self.firing = true > self.triggerPosition = mousePosition() > self:startAnimation() > end 155a195,197 > function BrushTool:release() > self.firing = false > end 158,159c200 < self.triggerPosition = mousePosition() < Tool.update(self, dt) --- > self.tileList = self:hoverTiles() 161,162c202,221 < if self.firing then < for _,tile in ipairs(self:hoverTiles()) do --- > local hit,makeSound=self:updateAnimation(dt) > > > if makeSound >0 then > self:strike() > self.triggerPosition = mousePosition() > > if makeSound >0 then > console.playSound(self.sound[makeSound], 0, 1.0) > end > end > > if hit and self.firing then > self:trigger() > end > end > > function BrushTool:strike() > if #self.tileList > 0 then > for _,tile in ipairs(self.tileList) do 164d222 < self:triggerAction() 171,173d228 < function BrushTool:release() < self.firing = false < end 185,186c240,247 < SquareTool.animationCycle = 0.25 < SquareTool.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > SquareTool.cursorFrame=1 > SquareTool.animationSpeed = 0.25 > SquareTool.animationSequence={2,1,2,1,2} > SquareTool.soundTriggerSequence={1,0,1,0,1} > SquareTool.strikeFrame=5 > > SquareTool.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {20,20}, {3,1}, 3) 191c252 < SquareTool.sound = "/sfx/tools/pickaxe_hit.ogg" --- > SquareTool.sound = {"/sfx/tools/pickaxe_hit.ogg"} 200,201c261,268 < CrossTool.animationCycle = 0.25 < CrossTool.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > CrossTool.cursorFrame=1 > CrossTool.animationSpeed = 0.25 > CrossTool.animationSequence={1,2,2,3,3} > CrossTool.soundTriggerSequence={1,0,0,0,2} > CrossTool.strikeFrame=5 > > CrossTool.sprite = Sprite:new("/interface/games/fossilgame/images/dynamitetool.png", {20,20}, {3,1}, 3) 206c273 < CrossTool.sound = "/sfx/tools/pickaxe_orebckup.ogg" --- > CrossTool.sound = {"/sfx/projectiles/acid_hit.ogg","/sfx/projectiles/blast_small1.ogg"} 214,215c281,288 < VRect.animationCycle = 0.25 < VRect.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > VRect.cursorFrame=1 > VRect.animationSpeed = 0.25 > VRect.animationSequence={2,1,2,1,2} > VRect.soundTriggerSequence={1,0,1,0,1} > VRect.strikeFrame=5 > > VRect.sprite = Sprite:new("/interface/games/fossilgame/images/mattockvrect.png", {20,20}, {3,1}, 3) 220c293 < VRect.sound = "/sfx/tools/pickaxe_hit.ogg" --- > VRect.sound = {"/sfx/tools/pickaxe_hit.ogg"} 236,237c309,316 < HRect.animationCycle = 0.25 < HRect.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > HRect.cursorFrame=1 > HRect.animationSpeed = 0.25 > HRect.animationSequence={2,1,2,1,2} > HRect.soundTriggerSequence={1,0,1,0,1} > HRect.strikeFrame=5 > > HRect.sprite = Sprite:new("/interface/games/fossilgame/images/mattockhrect.png", {20,20}, {3,1}, 3) 242c321 < HRect.sound = "/sfx/tools/pickaxe_hit.ogg" --- > HRect.sound = {"/sfx/tools/pickaxe_hit.ogg"} 258,259c337,344 < TLeft.animationCycle = 0.25 < TLeft.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > TLeft.cursorFrame=2 > TLeft.animationSpeed = 0.1 > TLeft.animationSequence={1,1,2,3,2,3,2,3} > TLeft.soundTriggerSequence={0,0,0,1,0,1,0,1} > TLeft.strikeFrame=8 > > TLeft.sprite = Sprite:new("/interface/games/fossilgame/images/drilltooltleft.png", {20,20}, {3,1}, 3) 264c349 < TLeft.sound = "/sfx/tools/pickaxe_orebckup.ogg" --- > TLeft.sound = {"/sfx/tools/pickaxe_orebckup.ogg"} 281,282c366,373 < TRight.animationCycle = 0.25 < TRight.sprite = Sprite:new("/interface/games/fossilgame/images/hammertool.png", {32,32}, {2,1}, 2) --- > > TRight.cursorFrame=2 > TRight.animationSpeed = 0.1 > TRight.animationSequence={1,1,2,3,2,3,2,3} > TRight.soundTriggerSequence={0,0,0,1,0,1,0,1} > TRight.strikeFrame=8 > > TRight.sprite = Sprite:new("/interface/games/fossilgame/images/drilltooltright.png", {20,20}, {3,1}, 3) 285c376 < TRight.sprite.origin = {0,0} --- > TRight.sprite.origin = {16,0} 287c378 < TRight.sound = "/sfx/tools/pickaxe_orebckup.ogg" --- > TRight.sound = {"/sfx/tools/pickaxe_orebckup.ogg"} 304,305c395,402 < Dot.animationCycle = 0.25 < Dot.sprite = Sprite:new("/interface/games/fossilgame/images/dottool.png", {32,32}, {2,1}, 2) --- > > Dot.cursorFrame=1 > Dot.animationSpeed = 0.1 > Dot.animationSequence={2,3,2,3,2} > Dot.soundTriggerSequence={1,0,1,0,1} > Dot.strikeFrame=5 > > Dot.sprite = Sprite:new("/interface/games/fossilgame/images/chiseltool.png", {20,20}, {3,1}, 3) 310c407 < Dot.sound = "/sfx/tools/pickaxe_orebckup.ogg" --- > Dot.sound = {"/sfx/tools/pickaxe_orebckup.ogg"} items\active\unsorted\translocator\translocator.lua 23a24 > and not status.statPositive("activeMovementAbilities") items\active\weapons\melee\altabilities\broadsword\downstab\downstab.lua 20a21 > and not status.statPositive("activeMovementAbilities") 33a35,36 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 66a70 > 67a72 > 72a78 > status.clearPersistentEffects("movementAbility") items\active\weapons\melee\altabilities\broadsword\risingslash\risingslash.lua 20a21 > and not status.statPositive("activeMovementAbilities") 30a32,33 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 68a72 > status.clearPersistentEffects("movementAbility") items\active\weapons\melee\altabilities\broadsword\spinslash\superspinslash.lua 17a18 > and self.fireMode == "alt" 20c21 < and self.fireMode == "alt" then --- > and not status.statPositive("activeMovementAbilities") then 26a28,29 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 76a80 > status.clearPersistentEffects("movementAbility") items\active\weapons\melee\altabilities\broadsword\traildash\traildash.lua 19c19,20 < and self.cooldownTimer == 0 --- > and self.cooldownTimer == 0 > and not status.statPositive("activeMovementAbilities") 28a30,31 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 75a79,80 > status.clearPersistentEffects("movementAbility") > items\active\weapons\melee\altabilities\generic\blinkexplosion\blinkexplosion.lua 18c18,24 < if self.weapon.currentAbility == nil and fireMode == "alt" and self.cooldownTimer == 0 and mcontroller.onGround() and not status.resourceLocked("energy") then --- > if self.weapon.currentAbility == nil > and fireMode == "alt" > and self.cooldownTimer == 0 > and mcontroller.onGround() > and not status.statPositive("activeMovementAbilities") > and not status.resourceLocked("energy") then > 27c33 < status.setPersistentEffects("blinkExplosion", { { stat = "invulnerable", amount = 1.0}, self.weapon.elementalType.."charge" }) --- > status.setPersistentEffects("blinkexplosionability", { { stat = "invulnerable", amount = 1.0}, {stat = "activeMovementAbilities", amount = 1}, self.weapon.elementalType.."charge" }) 43c49 < status.setPersistentEffects("blinkExplosion", { { stat = "invulnerable", amount = 1.0} }) --- > status.setPersistentEffects("blinkexplosionability", { { stat = "invulnerable", amount = 1.0}, {stat = "activeMovementAbilities", amount = 1} }) 66c72 < status.setPersistentEffects("blinkExplosion", {}) --- > status.setPersistentEffects("blinkexplosionability", {}) items\active\weapons\melee\altabilities\generic\blinkslash\blinkslash.lua 23a24 > and not status.statPositive("activeMovementAbilities") 33a35,36 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 90a94 > status.clearPersistentEffects("movementAbility") items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua 31a32,33 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 34c36,38 < self:setState(self.slam) --- > if not mcontroller.onGround() then > self:setState(self.slam) > end 44c48,52 < status.setPersistentEffects("groundSlam", { {stat = "fallDamageMultiplier", effectiveMultiplier = 0}, { stat = "invulnerable", amount = 1 } }) --- > > status.setPersistentEffects("groundSlam", { > {stat = "fallDamageMultiplier", effectiveMultiplier = 0}, > {stat = "invulnerable", amount = 1} > }) 75a84 > status.clearPersistentEffects("movementAbility") items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.lua 18c18,23 < if self.weapon.currentAbility == nil and self.fireMode == "alt" and self.cooldownTimer == 0 and not status.resourceLocked("energy") then --- > if self.weapon.currentAbility == nil > and self.fireMode == "alt" > and self.cooldownTimer == 0 > and not status.statPositive("activeMovementAbilities") > and not status.resourceLocked("energy") then > 26a32,33 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > 65a73 > 72a81 > status.clearPersistentEffects("movementAbility") items\armors\decorative\costumes\fairy\fairy.back 6d5 < /* "techModule": "/tech/multijump/doublejump.tech", */ items\guns\bows\aegisaltbow\aegisaltbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\bow\bow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\compoundbow\compoundbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\cupidsbow\cupidsbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\feroziumbow\feroziumbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\ironbow\ironbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\guns\bows\tungstenbow\tungstenbow.gun 36c36,38 < } --- > }, > > "radioMessagesOnPickup" : [ "pickupbow" ] items\materials\bars.matitem 6c6 < "description" : "Thick metal bars. Still strong, though decaying with rust.", --- > "description" : "Closely spaced thick metal bars.", items\materials\cheapwallpaper.matitem 8c8 < "glitchdescription" : "Unsettled. This wall paper is overwhelming gaudy.", --- > "glitchdescription" : "Unsettled. This wall paper is overwhelmingly gaudy.", items\materials\copperladder.matitem 9,10c9,11 < "glitchdescription" : "Statement. A copper ladder.", < "florandescription" : "Laddersss.", --- > "glitchdescription" : "Surprised. This ladder is made from copper.", > "florandescription" : "Ladder iss made from sshiny copper.", > "novakiddescription" : "A ladder made outta copper.", items\materials\copperplatform.matitem 7c7 < "description" : "A copper platform", --- > "description" : "A platform made from copper.", 9,10c9,11 < "glitchdescription" : "Statement. A copper platform.", < "florandescription" : "Platformsss.", --- > "glitchdescription" : "Interested. This platform appears to be made from copper.", > "florandescription" : "Platformss made from copper.", > "novakiddescription" : "I reckon it must've been tough makin' this platform with copper.", items\materials\copperroofing.matitem 6c6 < "description" : "Copper Roofing", --- > "description" : "Roofing tiles fashioned from copper.", 8,9c8,10 < "glitchDescription" : "Statement. This roofing is made entirely from copper.", < "floranDescription" : "Floran likesss thiss roof.", --- > "glitchdescription" : "Surprised. These roofing tiles are made entirely from copper.", > "florandescription" : "Floran likess sshiny copper roofing.", > "novakiddescription" : "Buncha copper roofin' tiles.", items\materials\copperwindow.matitem 6c6 < "description" : "A solid copper window frame.", --- > "description" : "A window with a frame made from solid copper.", 8,9c8,10 < "glitchDescription" : "Statement. A copper window frame.", < "floranDescription" : "Windowsss.", --- > "glitchdescription" : "Facinated. Copper has been used to construct the frame for this window.", > "florandescription" : "Windowsss made from copper.", > "novakiddescription" : "This is a nice lookin' copper window frame.", items\materials\corruptdirt.matitem 6,9c6,11 < "description" : "Ick. Corrupted dirt.", < "shortdescription" : "Corrupt Dirt Block", < "glitchdescription" : "Statement. Corrupted dirt.", < "florandescription" : "Sssick dirt.", --- > "description" : "A disgusting block of corrupted dirt.", > "shortdescription" : "Corrupt Dirt", > "glitchdescription" : "Disgusted. This dirt has been corrupted.", > "florandescription" : "Dissgusting corrupted dirt.", > "novakiddescription" : "This corrupted dirt ain't too pleasant.", > items\materials\crosshatch.matitem 7,9c7,10 < "description" : "A mouldy lattice made of wood.", < "glitchdescription" : "Statement. A window lattice.", < "florandescription" : "Window lettuce.", --- > "description" : "A simple lattice made of wood.", > "glitchdescription" : "Inspired. This lattice functions well as either a fence or window.", > "florandescription" : "Floran like crisss crosssy wood.", > "novakiddescription" : "Thin wood strips all criss crossin' together.", items\materials\crystalblock.matitem 6c6 < "description" : "A shining blue block of made of crystals.", --- > "description" : "A shimmering block of made from crystals.", 8,9c8,10 < "glitchdescription" : "Analysis. This block is made of crystal.", < "florandescription" : "Ssshiny block.", --- > "glitchdescription" : "Calm. This crystal block has a soothing appearance.", > "florandescription" : "Ssshiny block made from crysstalss.", > "novakiddescription" : "The crystals in this block are real purdy.", items\materials\darksmoothstone.matitem 7,9c7,10 < "description" : "A dark, smooth stone block. Mysterious.", < "glitchdescription" : "Analysis. A dark block of unknown origin.", < "florandescription" : "Sssmooth block.", --- > "description" : "A dark, smooth stone block.", > "glitchdescription" : "Curious. A dark brick made from an unknown stone.", > "florandescription" : "Sssmooth sstone block.", > "novakiddescription" : "A dark lookin' stone brick.", items\materials\darkwood.matitem 8,9c8,14 < "glitchdescription" : "Statement. Wood.", < "florandescription" : "Sssplintery wood.", --- > "apexdescription" : "Some crafted planks of wood.", > "aviandescription" : "Wood that's been crafted into planks.", > "glitchdescription" : "Satisfied. These are well crafted wood planks.", > "florandescription" : "Sssplintery wood plankss.", > "humandescription" : "Some simple planks made from wood.", > "hylotldescription" : "Basic wood planks.", > "novakiddescription" : "Just some basic lookin' wood planks.", items\materials\direstone.matitem 8c8 < "glitchdescription" : "Analysis. The worms in this block appear to be essentially immortal.", --- > "glitchdescription" : "Amazed. The worms in this stone appear to help maintain its rigidity.", 9a10 > "novakiddescription" : "There's little wigglin' worms inside this stone.", items\materials\dirt.matitem 7,8c7,8 < "shortdescription" : "Dirt Block", < "glitchdescription" : "Statement. Dirt. Clarification. Just dirt.", --- > "shortdescription" : "Dirt", > "glitchdescription" : "Indifferent. This is basic soil.", 9a10 > "novakiddescription" : "Dirty lookin' dirt.", items\materials\drydirt.matitem 8,9c8,10 < "glitchdescription" : "Statement. Dirt. Clarification. Just dirt.", < "florandescription" : "Filthy dirt!", --- > "glitchdescription" : "Perceptive. This dirt is very dry.", > "florandescription" : "Dirt that iss dry.", > "novakiddescription" : "Just some dry dusty dirt.", items\materials\drysand.matitem 8,9c8,10 < "glitchdescription" : "Statement. Sand.", < "florandescription" : "Sssandy sand.", --- > "glitchdescription" : "Observant. This sand is dry and hard.", > "florandescription" : "Hard dry ssandy sand.", > "novakiddescription" : "Dry lookin' packed sand.", items\materials\eyepiles.matitem 7,9c7,10 < "description" : "A pile of eyes. To say I feel watched is an understatement.", < "glitchdescription" : "Reflective. Other than those on top of the pile most of these eyes will only ever know darkness.", < "florandescription" : "Floran feassssssst!!", --- > "description" : "A tumbling heap of squishy eyeballs.", > "glitchdescription" : "Reflective. Other than those on top of the pile, most of these eyes will only ever know darkness.", > "florandescription" : "Ssquisshy eyess!", > "novakiddescription" : "Some of these eyes are lookin' right at me.", items\materials\fadedblocks.matitem 8,9c8,10 < "glitchdescription" : "Statement. Brick.", < "florandescription" : "Bricksss.", --- > "glitchdescription" : "Deductive. These faded bricks have been smoothed by the passage of time.", > "florandescription" : "Ssoft faded bricksss.", > "novakiddescription" : "Some smooth lookin' bricks.", items\materials\fence.matitem 8c8 < "glitchdescription" : "Statement. A sturdy fence.", --- > "glitchdescription" : "Pleased. This wooden fence is quite sturdy.", 9a10 > "novakiddescription" : "Nothin' like a sturdy wooden fence.", items\materials\fleshblock.matitem 6,9c6,10 < "description" : "A hideous, foul-smelling block made of some kind of flesh.", < "shortdescription" : "Flesh Block", < "glitchdescription" : "Disgust. A block made of flesh.", < "florandescription" : "Sssquishy meat block.", --- > "description" : "Some hideous, foul-smelling kind of flesh.", > "shortdescription" : "Flesh Chunk", > "glitchdescription" : "Disgusted. This is made of squishy flesh.", > "florandescription" : "Sssquishy meat.", > "novakiddescription" : "This is some sorta flesh.", items\materials\floweryblock.matitem 6c6 < "description" : "A fragrant block made of flowers and leaves.", --- > "description" : "A fragrant bundle made of flowers and leaves.", 9a10 > "novakiddescription" : "Some bright lookin' flowers.", items\materials\frozendirt.matitem 7,9c7,10 < "description" : "Frozen dirt, It's pretty solid.", < "glitchdescription" : "Statement. Frozen dirt.", < "florandescription" : "Frozen Dirt. Sssmooth to the touch.", --- > "description" : "This dirt is frozen solid.", > "glitchdescription" : "Observant. This dirt is solidly frozen.", > "florandescription" : "Frozen dirt iss cold to the touch.", > "novakiddescription" : "This frozen dirt is mighty cold.", items\materials\frozenwater.matitem 7,9c7,10 < "description" : "Solid and smooth ice, slippery!", < "glitchdescription" : "Statement. Cold, smooth and slippery ice.", < "florandescription" : "Ice. Sssmooth to the touch.", --- > "description" : "Some naturally smooth ice.", > "glitchdescription" : "Cautious. The way this ice froze has made it unusually smooth.", > "florandescription" : "Ssslippy frozen water.", > "novakiddescription" : "This ice is mighty slick.", items\materials\fullwood1.matitem 6c6 < "description" : "Carefully treated wood that maintains a freshly chopped appearance..", --- > "description" : "Carefully treated wood that maintains a freshly chopped appearance.", 8,9c8,10 < "glitchdescription" : "Statement. Treated wood.", < "florandescription" : "Rough wood.", --- > "glitchdescription" : "Surprised. Although this wood looks freshly chopped, it has been carefully treated.", > "florandescription" : "Jusst some bassic wood.", > "novakiddescription" : "It looks fresh cut, but this wood has been treated with somethin'.", items\materials\geodeblock.matitem 6,9c6,10 < "description" : "A shining block of made of geodes.", < "shortdescription" : "Geode Block", < "glitchdescription" : "Analysis. This block is made of geode.", < "florandescription" : "Ssshiny block.", --- > "description" : "Glimmering natural geode crystals.", > "shortdescription" : "Geode Crystals", > "glitchdescription" : "Amazed. These natural crystals appear to have grown from geodes.", > "florandescription" : "Ssshiny geode crysstalss.", > "novakiddescription" : "Some shiny lookin' rock crystals.", items\materials\geodestone.matitem 6c6 < "description" : "Solid geodestone. It reflects the light.", --- > "description" : "A solid stone filled with small geode crystals.", 8,9c8,10 < "glitchdescription" : "Statement. Rock-hard geodestone.", < "florandescription" : "Obsssidian. Black like Floran sssoul.", --- > "glitchdescription" : "Observant. There are tiny geode crystals inside this stone.", > "florandescription" : "Floran likess tiny crysstals in geode sstone.", > "novakiddescription" : "This stone is full'a tiny geode crystals.", items\materials\girder.matitem 8,9c8,10 < "glitchdescription" : "Statement. A metal girder.", < "florandescription" : "Metal thing.", --- > "glitchDescription" : "Impressed. This reinforced metal girder is very strong.", > "floranDescription" : "Cold metal girderss.", > "novakidDescription" : "A strong lookin' metal girder.", items\materials\glass.matitem 6c6 < "description" : "I can see my reflection... it's hideous!", --- > "description" : "I can see my reflection.", 8,9c8,10 < "glitchdescription" : "Statement. Glass.", < "florandescription" : "Floran look pretty in glasssss.", --- > "glitchdescription" : "Attentive. I can see clearly though this transparent glass.", > "florandescription" : "Floran lookss pretty in glasssss.", > "novakiddescription" : "I can see clear through t'the other side of this glass.", items\materials\goldblock.matitem 8,9c8,10 < "glitchdescription" : "Statement. A golden block.", < "florandescription" : "Ssshiny gold.", --- > "glitchDescription" : "Delighted. A block made entirely of solid gold.", > "floranDescription" : "Sshiny gold blockss.", > "novakidDescription" : "Yeehaw! Shiny blocks of solid gold!", items\materials\goldenplatform.matitem 7c7 < "description" : "A golden platform.", --- > "description" : "For the truly opulent, a platform made from gold.", 9,10c9,12 < "glitchdescription" : "Statement. A golden platform.", < "florandescription" : "Golden platformsss.", --- > "glitchdescription" : "Enchanted. This platform is made from solid gold.", > "florandescription" : "Gold platformsss. Sso fancy.", > "novakiddescription" : "Gold! It's a platform made of gold!.", > items\materials\grassy.matitem 6c6 < "description" : "A block of sod.", --- > "description" : "A block of sod roofing with growing grass.", 8,9c8,10 < "glitchdescription" : "Statement. Sod roofing.", < "florandescription" : "Sssod roof.", --- > "glitchdescription" : "Charmed. It seems this sod roofing has live grass.", > "florandescription" : "Floran likess grasssy ssod roofing.", > "novakiddescription" : "Grassy sod roofing, somethin' nice about the simplicity of it.", items\materials\grassyrock.matitem 6c6 < "description" : "there's grass growing around these rocks.", --- > "description" : "Rough, grassy stone.", 8,9c8,10 < "glitchdescription" : "Analysis. Damp, grassy stone.", < "florandescription" : "Floran like grasssy ssstone.", --- > "glitchdescription" : "Observant. Grass is growing in the crevices of this rock.", > "florandescription" : "Grassssy rocksss.", > "novakiddescription" : "Some rocks with growin' grass.", items\materials\gravel.matitem 6c6 < "description" : "A thin gravel.", --- > "description" : "Coarse gravel.", 8,9c8,10 < "glitchdescription" : "Statement. Gravel.", < "florandescription" : "Little ssstones.", --- > "glitchdescription" : "Irratated. Coarse, cascading gravel.", > "florandescription" : "Crusshed gravel.", > "novakiddescription" : "Crushed rocks an' gravel.", items\materials\hazard.matitem 6c6 < "description" : "A little bit of metal.", --- > "description" : "This pattern suggests caution.", 8,9c8,10 < "glitchdescription" : "Statement. A hazard block.", < "florandescription" : "Danger!", --- > "glitchdescription" : "Cautious. This pattern indicates I should watch my step.", > "florandescription" : "Thesse sstripes mean caution.", > "novakiddescription" : "These strips're somethin' I should pay attention to.", items\materials\heavyironbars.matitem 6c6 < "description" : "Thick metal bars. Still strong, though decaying with rust.", --- > "description" : "Thick iron bars. Still strong, though decaying with rust.", 8,9c8,10 < "glitchdescription" : "Analysis. These bars are strong.", < "florandescription" : "Barsss.", --- > "glitchdescription" : "Distressed. Seeing metal rusting in this manner is unsettling.", > "florandescription" : "Russsty old barss.", > "novakiddescription" : "These rusty ol' bars have seen better days.", items\materials\heavypipe.matitem 8,9c8,10 < "glitchdescription" : "Statement. A pipe.", < "florandescription" : "Sssssmelly pipe.", --- > "glitchdescription" : "Disgusted. I would hate to see the waste that has been passed through this pipe.", > "florandescription" : "Sssmelly ssewer pipe.", > "novakiddescription" : "Some dirty ol' pipes.", items\materials\junk.matitem 6,10c6,10 < "description" : "A pile of random junk.", < "shortdescription" : "Junk Block", < "glitchdescription" : "-todo-", < "florandescription" : "-todo-", < "novakidDescription" : "-todo-", --- > "description" : "An old pile of junk.", > "shortdescription" : "Junk Pile", > "glitchdescription" : "Observant. I can see many different types of twisted broken debris in this pile.", > "florandescription" : "Sso much junk.", > "novakiddescription" : "An ol' heap of garbage.", monsters\boss\kluexboss\kluexboss.animation 317c317 < "length" : 4.0, --- > "length" : 10.0, 341c341 < "length" : 4.0, --- > "length" : 10.0, monsters\boss\penguinminiufo\penguinminiufo.monstertype 10c10 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\cleaningbot\cleaningbot.monstertype 10c10 < "dropPools" : [ "robotTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\floki\floki.monstertype 10c10 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [], monsters\dungeon\glitchknight\glitchknight.monstertype 10c10 < "dropPools" : [ "robotTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\glitchspider\glitchspider.monstertype 9c9 < "dropPools" : [ "robotTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\moontant\moontant.animation 32a33,36 > "windup" : { > "frames" : 5, > "cycle" : 0.9 > }, 34c38 < "frames" : 6, --- > "frames" : 1, 112c116 < "fire" : { --- > "windup" : { 115a120,124 > }, > "fire" : { > "properties" : { > "image" : ":ranged.4" > } 166c175 < "fire" : { --- > "windup" : { 168a178,182 > } > }, > "fire" : { > "properties" : { > "image" : ":ranged.4" monsters\dungeon\moontant\moontant.monstertype 43,44c43,44 < "windupState" : "", < "windupTime" : 0.0, --- > "windupState" : "windup", > "windupTime" : 0.9, 47c47 < "power" : 10, --- > "power" : 7, 53c53 < "fireDelay" : 0.5, --- > "fireDelay" : 0.0, 60c60 < "winddownState" : "", --- > "winddownState" : "fire", monsters\dungeon\pinfriend\pinfriend.monstertype 10c10 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [], monsters\dungeon\po\megapo.monstertype 53,54d52 < "dropPools" : [ "potreasure" ], < monsters\dungeon\pogolem\pogolem.monstertype 10c10 < "dropPools" : [ "noMeatMonsterTreasure" ], --- > "dropPools" : [ "pogolemTreasure" ], 164,165d163 < < "dropPools" : [ "potreasure" ], monsters\dungeon\repairbot\repairbot.monstertype 9c9 < "dropPools" : [ "robotTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\robotchicken\robotchicken.monstertype 10c10 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [ "robotchickenTreasure" ], monsters\dungeon\serpentdroid\serpentdroid.monstertype 10c10 < "dropPools" : [ "robotTreasure" ], --- > "dropPools" : [ "serpentdroidTreasure" ], monsters\dungeon\sewerfly\sewerfly.monstertype 10c10 < "dropPools" : [ "noMeatMonsterTreasure" ], --- > "dropPools" : [ "pogolemTreasure" ], monsters\generated\flying\largeflying\largeflying.monstertype 13c13 < "default" : "flyingMonsterTreasure", --- > "default" : "generatedFlyingMonsterTreasure", monsters\generated\flying\smallflying\smallflying.monstertype 13c13 < "default" : "flyingMonsterTreasure", --- > "default" : "generatedFlyingMonsterTreasure", monsters\generated\ground\largebiped\largebiped.monstertype 13c13 < "default" : "groundMonsterTreasure", --- > "default" : "generatedGroundMonsterTreasure", monsters\generated\ground\largequadruped\largequadruped.monstertype 13c13 < "default" : "groundMonsterTreasure", --- > "default" : "generatedGroundMonsterTreasure", monsters\generated\ground\smallbiped\smallbiped.monstertype 13c13 < "default" : "groundMonsterTreasure", --- > "default" : "generatedGroundMonsterTreasure", monsters\generated\ground\smallquadruped\smallquadruped.monstertype 13c13 < "default" : "groundMonsterTreasure", --- > "default" : "generatedGroundMonsterTreasure", monsters\pets\bunny\petbunny.monstertype 140,141d139 < "dropPools" : [ "potreasure" ], < monsters\pets\cat\petcat.monstertype 140,141d139 < "dropPools" : [ "potreasure" ], < monsters\pets\crasberry\crasberry.monstertype 143,144d142 < "dropPools" : [ "potreasure" ], < monsters\pets\orbis\petorbis.monstertype 9c9 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [], 140,141d139 < < "dropPools" : [ "potreasure" ], monsters\pets\piglett\piglett.monstertype 147,148d146 < "dropPools" : [ "potreasure" ], < monsters\pets\snake\petsnake.monstertype 140,141d139 < "dropPools" : [ "potreasure" ], < monsters\pets\snugget\snugget.monstertype 143,144d142 < "dropPools" : [ "potreasure" ], < monsters\pets\weasel\petweasel.monstertype 143,144d142 < "dropPools" : [ "potreasure" ], < npcs\merchant.npctype 7c7 < "dropPools" : [ "basicMonsterTreasure" ], --- > "dropPools" : [ "basicTreasure" ], npcs\mission\apexrebel.npctype 7a8,23 > "behavior" : "apexrebel", > > "behaviorConfig" : { > "combatParameters" : { > "npcCombat" : { > "rangedWeaponRanges" : { > "commonassaultrifle" : { > "minRange" : 35, > "maxRange" : 50, > "forceMoveRange" : 60 > } > } > } > } > }, > 39a56,63 > }, > > "statusControllerSettings" : { > "stats" : { > "maxHealth" : { > "baseValue" : 30.0 > } > } 41c65 < } \ No newline at end of file --- > } npcs\story\lana.npctype 16a17,18 > "innateStatusEffects" : [ "invulnerable" ], > 77a80,82 > }, > "maxEnergy" : { > "baseValue" : 50.0 objects\floran\huntingtrophy3\huntingtrophy3.frames 4c4 < "size" : [16, 16], --- > "size" : [24, 16], objects\fossils\dirtyfossils\dirtyfossil.lua 16,17d15 < < world.logInfo("creating %s",self.itemName) objects\fossils\displaystands\fossildisplay.lua 122,124d121 < world.logInfo("fossilList4=%s",self.fossilList) < < objects\generic\invisiblesparker\invisiblesparker.object 54c54 < "anchors" : [ "background" ] --- > "anchors" : [] objects\generic\woodenelevator\woodenelevatorlong.object 14,22c14,21 < /* todo < "apexDescription" : "A moving platform.", < "avianDescription" : "A moving platform.", < "floranDescription" : "A moving platform.", < "glitchDescription" : "A moving platform.", < "humanDescription" : "A moving platform.", < "hylotlDescription" : "A moving platform.", < "novakidDescription" : "A moving platform.", < */ --- > "apexDescription" : "I don't feel so safe on this wooden elevator.", > "avianDescription" : "A wooden elevator, the smoothest elevator there is.", > "floranDescription" : "Floran feel ssssafe using wooden machine.", > "glitchDescription" : "Concerned. Does a wooden elevator meet safety standards?", > "humanDescription" : "A rickety, wooden elevator.", > "hylotlDescription" : "The smooth movement of wood and pulleys.", > "novakidDescription" : "A wobbly wooden elevator.", > objects\generic\woodenelevator\woodenelevatorshort.object 14,22c14,20 < /* todo < "apexDescription" : "A moving platform.", < "avianDescription" : "A moving platform.", < "floranDescription" : "A moving platform.", < "glitchDescription" : "A moving platform.", < "humanDescription" : "A moving platform.", < "hylotlDescription" : "A moving platform.", < "novakidDescription" : "A moving platform.", < */ --- > "apexDescription" : "I don't feel so safe on this wooden elevator.", > "avianDescription" : "A wooden elevator, the smoothest elevator there is.", > "floranDescription" : "Floran feel ssssafe using wooden machine.", > "glitchDescription" : "Concerned. Does a wooden elevator meet safety standards?", > "humanDescription" : "A rickety, wooden elevator.", > "hylotlDescription" : "The smooth movement of wood and pulleys.", > "novakidDescription" : "A wobbly wooden elevator.", objects\generic\woodenendtable\woodenendtable.object 7,8c7,8 < "description" : "A cute wooden endtable.", < "shortdescription" : "Wooden Endtable", --- > "description" : "A cute wooden end table.", > "shortdescription" : "Wooden End Table", 14c14 < "avianDescription" : "A small amount of storage.", --- > "avianDescription" : "A very small amount of storage.", 16c16 < "glitchDescription" : "Deduction. A piece of furniture that might sit next to a bed.", --- > "glitchDescription" : "Curious. A piece of furniture that might sit next to a bed.", 18a19 > "novakidDescription" : "A tiny cabinet.", objects\generic\woodengate\woodengate.object 15,16c15,16 < "floranDescription" : "Sssmall door.", < "glitchDescription" : "Statement. This is a gate.", --- > "floranDescription" : "Thin twigss make a door.", > "glitchDescription" : "Neutral. This is a gate.", 18a19 > "novakidDescription" : "A woven wooden gate.", objects\generic\woodenlamp1\woodenlamp1.object 10,12c10,12 < "avianDescription" : "Wood and electricity becomes light.", < "floranDescription" : "Sssweet lamp.", < "glitchDescription" : "Identify. A simple lamp.", --- > "avianDescription" : "A tiny wooden light powered by electricity.", > "floranDescription" : "Sssweet lamp glowss warmly.", > "glitchDescription" : "Pleased. A simple table lamp.", 14a15 > "novakidDescription" : "This lamp is cute.", objects\generic\woodenlamp2\woodenlamp2.object 5c5 < "description" : "A cute wooden lamp with a homely feel.", --- > "description" : "A tall wooden lamp with a homely feel.", 10,12c10,12 < "avianDescription" : "Wood and electricity becomes light.", < "floranDescription" : "Sssweet lamp.", < "glitchDescription" : "Identify. A simple lamp.", --- > "avianDescription" : "A tall wooden light powered by electricity.", > "floranDescription" : "Tall wood lamp hass warm glow.", > "glitchDescription" : "Pleased. A simple standing lamp.", 14c14,15 < "hylotlDescription" : "A charming lamp.", --- > "hylotlDescription" : "A charming standing lamp.", > "novakidDescription" : "A nice lamp.", objects\generic\woodenlamp3\woodenlamp3.object 5c5 < "description" : "A cute ceiling lamp.", --- > "description" : "A homely ceiling lamp.", 10c10 < "avianDescription" : "Wood and electricity becomes light.", --- > "avianDescription" : "A ceiling lamp that adds warmth to any room.", 12c12 < "glitchDescription" : "Identify. A simple ceiling lamp.", --- > "glitchDescription" : "Pleased. An adorable ceiling lamp.", 14a15 > "novakidDescription" : "A ceiling lamp with warm feel to it.", objects\generic\woodensink\woodensink.object 10c10 < "description" : "A wooden sink.. I haven't washed my hands in a long time.", --- > "description" : "A wooden cabinet with a sink installed.", 14c14 < "apexDescription" : "A kitchen sink.", --- > "apexDescription" : "A sink suitable for a kitchen or bathroom.", 16,19c16,20 < "floranDescription" : "Turn handle water come out!", < "glitchDescription" : "Identify. A sink.", < "humanDescription" : "A nice sink. I wonder if the water is fresh.", < "hylotlDescription" : "Water!", --- > "floranDescription" : "Turn handle, water comess out!", > "glitchDescription" : "Appreciative. Hot and cold water, at your convenience.", > "humanDescription" : "A homely sink.", > "hylotlDescription" : "I wonder if the water is fresh.", > "novakidDescription" : "A kitchen sink.", objects\generic\woodenstand1\woodenstand1.object 5,6c5,6 < "description" : "A solid wooden stand.", < "shortdescription" : "Wooden Stand", --- > "description" : "A thin solid wooden stand.", > "shortdescription" : "Thin Wooden Stand", 11c11 < "apexDescription" : "A wooden stand.", --- > "apexDescription" : "A narrow wooden stand.", 13,14c13,14 < "floranDescription" : "What iss it?", < "glitchDescription" : "Identify. A object used to display objects.", --- > "floranDescription" : "What iss wood ssstump for?", > "glitchDescription" : "Amused. An object used to display objects.", 16c16,17 < "hylotlDescription" : "For displaying art.", --- > "hylotlDescription" : "A plinth, for displaying art.", > "novakidDescription" : "A stand... For somethin'.", objects\generic\woodenstand2\woodenstand2.object 5,6c5,6 < "description" : "A large wooden stand.", < "shortdescription" : "Large Wooden Stand", --- > "description" : "A wide solid wooden stand.", > "shortdescription" : "Wide Wooden Stand", 11c11 < "apexDescription" : "A wooden stand.", --- > "apexDescription" : "A large wooden stand.", 13,16c13,17 < "floranDescription" : "What iss it?", < "glitchDescription" : "Identify. A object used to display objects.", < "humanDescription" : "A little display stand.", < "hylotlDescription" : "For displaying art.", --- > "floranDescription" : "What iss wood ssstump for?", > "glitchDescription" : "Amused. An object used to display objects.", > "humanDescription" : "A huge display stand.", > "hylotlDescription" : "A plinth, for displaying art.", > "novakidDescription" : "A stand... For somethin'.", objects\generic\woodentalllantern\woodentalllantern.object 13,18c13,19 < "apexDescription" : "A long wooden torch.", < "avianDescription" : "A long flickering torch.", < "floranDescription" : "Long torch holdss fire.", < "glitchDescription" : "Identify. A tall torch.", < "humanDescription" : "A long torch.", < "hylotlDescription" : "A crackling torch.", --- > "apexDescription" : "A raised wooden torch.", > "avianDescription" : "A tall flickering torch.", > "floranDescription" : "High torch holdss fire.", > "glitchDescription" : "Serene. A tall torch, the flame flickers.", > "humanDescription" : "A crackling torch.", > "hylotlDescription" : "A raised torch provides light for a large area.", > "novakidDescription" : "The flame is cracklin' away.", objects\generic\woodstool\woodstool.object 5c5 < "description" : "A cute wooden stool.", --- > "description" : "A small wooden stool.", 14c14 < "glitchDescription" : "Observation. A very small stool.", --- > "glitchDescription" : "Unimpressed. A very small stool.", 16a17 > "novakidDescription" : "A lil wooden stool, straight outta some fairytale.", objects\generic\woodsupport\woodsupport.object 8c8 < "description" : "A mouldy wooden support.", --- > "description" : "A worn wooden support.", 14,17c14,18 < "floranDescription" : "Sssmelly wood made into sssupport.", < "glitchDescription" : "Observation. I believe this wood has been half eaten by woodworm.", < "humanDescription" : "A wooden support. In poor condition.", < "hylotlDescription" : "A worn wooden support.", --- > "floranDescription" : "Wood made into sssupport.", > "glitchDescription" : "Disturbed. I believe this wood has been half eaten by woodworm.", > "humanDescription" : "A wooden support in poor condition.", > "hylotlDescription" : "This support does not look to be structurally sound.", > "novakidDescription" : "A rotten old wooden beam.", objects\generic\woodtable\woodtable.object 15c15 < "glitchDescription" : "Observation. A very simple table.", --- > "glitchDescription" : "Bored. A very simple table.", 17c17,18 < "hylotlDescription" : "Very simple.", --- > "hylotlDescription" : "A table, very simple in every way.", > "novakidDescription" : "Just a table.", objects\generic\woodtoilet\woodtoilet.object 5c5 < "description" : "A wooden toilet.. this must be hard to clean.", --- > "description" : "A wooden toilet. ", 11c11 < "apexDescription" : "A toilet made of wood... not very hygienic.", --- > "apexDescription" : "A toilet made of wood... Not very hygienic.", 13,15c13,15 < "floranDescription" : "Floran prefer to poop in the foresst.", < "glitchDescription" : "Analysis. Full of germs.", < "humanDescription" : "A wooden toilet... yuck.", --- > "floranDescription" : "Floran prefer to go in the foresst.", > "glitchDescription" : "Disgusted. Full of germs.", > "humanDescription" : "A wooden toilet... Yuck.", 16a17 > "novakidDescription" : "Wonder where it goes...", objects\generic\wormstatue\wormstatue.object 14c14 < "glitchDescription" : "Scientific. A statue of the lesser-spotted brain worm.", --- > "glitchDescription" : "Shocked. A statue of the lesser-spotted brain worm.", 16a17 > "novakidDescription" : "What the heck is that?", objects\glitch\ballandchain\ballandchain.object 11,14c11,14 < "apexDescription" : "A ball and chain, a good metaphor for the Apex situation.", < "avianDescription" : "It appears to be a device to keep prisoners disabled.", < "floranDescription" : "Floran usse ssimilar to keep food from running away.", < "glitchDescription" : "Educate. Many of the Glitch that became self-aware have experienced a ball and chain.", --- > "apexDescription" : "A ball and chain, a good metaphor for the Miniknog.", > "avianDescription" : "It appears to be a device to keep prisoners from escaping.", > "floranDescription" : "Floran usse ssimilar stone to keep food from running away.", > "glitchDescription" : "Sorrowful. Many of the Glitch that became self-aware have experienced a ball and chain.", 16a17 > "novakidDescription" : "That's the last thing I need.", objects\glitch\medievalarmor\medievalarmor.object 6c6 < "shortdescription" : "Glitch Display Armour", --- > "shortdescription" : "Display Armour", objects\glitch\medievalarmorarmed\medievalarmorarmed.object 5,6c5,6 < "description" : "Shiny armour stands resolute.", < "shortdescription" : "Glitch Display Armour", --- > "description" : "Shiny armour stands armed and resolute.", > "shortdescription" : "Armed Display Armour", objects\glitch\medievalarmorswitch\medievalarmorswitch.object 5,6c5,6 < "description" : "Shiny armour stands resolute. Hmm... the axe looks loose.", < "shortdescription" : "Glitch Display Armour", --- > "description" : "Shiny armour stands resolute. Hmm... the shield looks loose.", > "shortdescription" : "Suspicious Display Armour", 11,12c11,12 < "apexDescription" : "A beautiful set of armour. The axe looks loose.", < "avianDescription" : "It appears to be Glitch battle armour. The axe looks strange.", --- > "apexDescription" : "A beautiful set of armour. The shield looks loose.", > "avianDescription" : "It appears to be Glitch battle armour. The shield looks strange.", 15,16c15,16 < "humanDescription" : "An attractive set of armour. If this were a movie, the axe would be a secret switch.", < "hylotlDescription" : "This armour looks as if it's never been worn. The axe doesn't look like a weapon at all.", --- > "humanDescription" : "An attractive set of armour. If this were a movie, the shield would be a secret switch.", > "hylotlDescription" : "This armour looks as if it's never been worn. The shield looks particularly flimsy.", objects\glitch\royalbed\royalbed.object 16a17 > "novakidDescription" : "Sure is a fancy bed, fit for a king almost!", objects\glitch\royalbookcase\royalbookcase.object 14,16c14,16 < "avianDescription" : "A golden bookcase. The Avians believe only Kluex to be worthy of such splendor.", < "floranDescription" : "Ssshiny bookcasse. Floran would like to learn to read.", < "glitchDescription" : "Inspect. Unlike most Glitch, Glitch royalty are capable of reading and writing.", --- > "avianDescription" : "A golden bookcase. The Avians believe only Kluex to be worthy of such splendour.", > "floranDescription" : "Shiny bookcassse. Doess it hold more than bookss?", > "glitchDescription" : "Observant. Unlike most Glitch, Glitch royalty are capable of reading and writing.", 18a19 > "novakidDescription" : "Surely kings ain't got much time for readin'?", objects\glitch\royalcabinet\royalcabinet.object 16c16 < "glitchDescription" : "Observation. Though the value of the cabinet is high, it's unlikely to house anything particularly special.", --- > "glitchDescription" : "Thoughtful. Though the value of the cabinet is high, it's unlikely to house anything particularly special.", 18a19 > "novakidDescription" : "Somethin' this fancy must contain some good loot!", objects\glitch\royalcandles\royalcandles.object 17c17 < "glitchDescription" : "Observation. A solid gold candlestick. A servant would make sure these are lit before royalty arrives.", --- > "glitchDescription" : "Sympathetic. A solid gold candlestick. A servant would make sure these are all lit before royalty arrives.", 19a20 > "novakidDescription" : "I feel bad for the guy who has to keep all these candlesticks alight.", objects\glitch\royalchalice\royalchalice.object 14c14 < "glitchDescription" : "Inspect. A solid gold chalice. Glitch royalty dine in luxury.", --- > "glitchDescription" : "Envious. A solid gold chalice. Glitch royalty dine in luxury.", objects\glitch\royalchest\royalchest.object 17c17 < "glitchDescription" : "Observation. Though royal rooms are well guarded, it appears Glitch nobility take every precaution with their valuables.", --- > "glitchDescription" : "Observant. Though royal rooms are well guarded, it appears Glitch nobility take every precaution with their valuables.", 19a20 > "novakidDescription" : "Puttin' gold on the chest kinda defeats the purpose of security.", objects\glitch\royaldesk\royaldesk.object 18a19 > "novakidDescription" : "I'm not so sure this desk is actually used for a king's work.", objects\glitch\royalthrone\royalthrone.object 16a17 > "novakidDescription" : "Now this throne sure makes a fancy statement!", objects\glitch\royaltoilet\royaltoilet.object 16a17 > "novakidDescription" : "A gold toilet sure seems like a waste of loot to me.", objects\human\alertlight\alertlight.object 21a22,109 > // PREVIEW ORIENTATION > "image" : "alertlightceiling.png:.off", > "imagePosition" : [1, 0], > "animationParts" : { > "alarm" : "alertlightceiling.png" > }, > "animationPosition" : [1, 0], > > "direction" : "left", > "flipImages" : true, > > "spaceScan" : 0.1, > "fgAnchors" : [ [0,0] ] > }, > > { > // PREVIEW ORIENTATION > "image" : "alertlightceiling.png:.off", > "imagePosition" : [1, 0], > "animationParts" : { > "alarm" : "alertlightceiling.png" > }, > "animationPosition" : [1, 0], > > "direction" : "right", > > "spaceScan" : 0.1, > "fgAnchors" : [ [0,0] ] > }, > > { > "image" : "alertlightleft.png:.off", > "imagePosition" : [0, 0], > "animationParts" : { > "alarm" : "alertlightright.png" > }, > "animationPosition" : [0, 0], > > "direction" : "left", > > "spaceScan" : 0.1, > "anchors" : [ "top", "right" ] > }, > > { > "image" : "alertlightceiling.png:.off", > "imagePosition" : [0, 0], > "animationParts" : { > "alarm" : "alertlightceiling.png" > }, > "animationPosition" : [0, 0], > > "direction" : "right", > > "spaceScan" : 0.1, > "anchors" : [ "top", "right" ] > }, > > { > "image" : "alertlightright.png:.off", > "imagePosition" : [0, 0], > "animationParts" : { > "alarm" : "alertlightright.png" > }, > "animationPosition" : [0, 0], > > "direction" : "right", > > "spaceScan" : 0.1, > "anchors" : [ "top", "left" ] > }, > > { > "image" : "alertlightceiling.png:.off", > "imagePosition" : [0, 0], > "animationParts" : { > "alarm" : "alertlightceiling.png" > }, > "animationPosition" : [0, 0], > > "direction" : "left", > "flipImages" : true, > > "spaceScan" : 0.1, > "anchors" : [ "top", "left" ] > }, > > { objects\human\bunkercabinet1\bunkercabinet1.object 16c16 < "floranDescription" : "Dangerousss metal box. Tasssty?", --- > "floranDescription" : "Dangerousss metal box? Can't be more dangeroussss than Floran!", 19a20 > "novakidDescription" : "A container with warnin' stripes. I ain't openin' it.", objects\human\bunkerceilinglight1\bunkerceilinglight1.object 17,18c17,18 < "avianDescription" : "A colourful ceiling light.", < "floranDescription" : "Safe light, not fire. Floran like.", --- > "avianDescription" : "A ceiling light.", > "floranDescription" : "Hanging lamp.", 21a22 > "novakidDescription" : "A plain lookin' ceilin' light.", objects\human\bunkerceilinglight2\bunkerceilinglight2.object 17,18c17,18 < "avianDescription" : "A colourful ceiling light.", < "floranDescription" : "Safe light, not fire. Floran like.", --- > "avianDescription" : "A ceiling light.", > "floranDescription" : "Hanging lamp.", 21a22 > "novakidDescription" : "A plain lookin' ceilin' light.", objects\human\bunkercomputer\bunkercomputer.object 14c14 < "floranDescription" : "Floran press button, make accidental in-app purchasesss.", --- > "floranDescription" : "Computer for typing and ssstaring at.", 17a18 > "novakidDescription" : " This is a computer. I ain't sure it's relevant.", objects\human\bunkerconsole1\bunkerconsole1.object 14,15c14,15 < "floranDescription" : "Floran pull lever, hear dissstant explosssion. Unrelated.", < "glitchDescription" : "Observation. The more levers a console as, the more dangerous it is to fiddle with.", --- > "floranDescription" : "Machine with many buttonssss and levers! Tempting, but Floran better not fiddle with thissss...", > "glitchDescription" : "Observant. The more levers a console as, the more dangerous it is to fiddle with.", 17a18 > "novakidDescription" : "Who knows what these button's and levers do. I ain't findin' out the hard way, that's for sure.", objects\human\bunkerconsole2\bunkerconsole2.object 13,14c13,14 < "floranDescription" : "Floran sssmash keyboard, hear dissstant explosssion. Unrelated.", < "glitchDescription" : "Observation. The more keyboards a console has, the more... nope. Stumped.", --- > "floranDescription" : "Computer hasss unnecessary amount of buttonssss. Floran baffled.", > "glitchDescription" : "Observant. The more keyboards a console has, the more... nope. Stumped.", 16a17 > "novakidDescription" : "This computer has more than one keyboard. Seems excessive if you ask me.", objects\human\bunkerconsole3\bunkerconsole3.object 11,15c11,15 < "apexDescription" : "'Dear Marjory. Please remember to put the cat out. Love David.' Interesting.", < "avianDescription" : "'The results of yesterday's toxicity tests were inconclusive. Please schedule more. Doctor Kleiner.' Okay.", < "floranDescription" : "Humansss send funny picturesss of furballsss. Menu?", < "glitchDescription" : "Reading. 'Let me explain to you why you are wrong...' The rest of the post descends into unintelligible ranting.", < "humanDescription" : "Someone's fallen victim to the well-known 'reply-all' faux pas. Poor guy.", --- > "apexDescription" : "There's a message on the screen. \"Dear Marjory. Please remember to put the cat out. Love David\" Interesting.", > "avianDescription" : "There's a message on the screen. \"The results of yesterday's toxicity tests were inconclusive. Please schedule more. Doctor Kleiner\" Okay.", > "floranDescription" : "Hmm... A highlighted message on the ssscreen. \"Buy eggs after work\".", > "glitchDescription" : "Nosy. There's a message on the screen. \"Let me explain to you why you are wrong...\" The rest of the post descends into unintelligible ranting.", > "humanDescription" : "Judging from this email account, someone's fallen victim to the well-known 'reply-all' faux pas. Poor guy.", 16a17 > "novakidDescription" : "A personal computer station. I ain't the snoopin' kind.", objects\human\bunkerconsole4\bunkerconsole4.object 14c14 < "glitchDescription" : "Concern. It appears as if the previous user of this console went insane. There are a number of alarming messages.", --- > "glitchDescription" : "Concerned. It appears as if the previous user of this console went insane. There are a number of alarming messages.", 16a17 > "novakidDescription" : "There's some info here about a petition to ban moon walkin'. Followed by a recipe for onion soup.", objects\human\bunkercorner\bunkercorner.object 14c14 < "glitchDescription" : "Undisguised apathy. A support beam.", --- > "glitchDescription" : "Bored. A support beam.", 16a17 > "novakidDescription" : "A support beam.", objects\human\bunkercrate\bunkercrate.object 16,17c16,17 < "floranDescription" : "Metal boxxx.", < "glitchDescription" : "Statement. A metal box.", --- > "floranDescription" : "Metal box.", > "glitchDescription" : "Neutral. A metal box.", 19a20 > "novakidDescription" : "It's a plain metal crate.", objects\human\bunkerdesk\bunkerdesk.object 14,15c14,15 < "avianDescription" : "The monitor makes the desk appear as if it has an eye.", < "floranDescription" : "Desssk with ssscreen. Floran not need thisss.", --- > "avianDescription" : "A plain desk with a monitor stuck to it.", > "floranDescription" : "Desssk with ssscreen sstuck to it.", 17,18c17,19 < "humanDescription" : "Ooh, this monitor is showing an old Geocities page. It's burned into the screen.", < "hylotlDescription" : "An intelligent fusion of technology and comfort.", --- > "humanDescription" : "This monitor is built into the desk.", > "hylotlDescription" : "A built in monitor. An intelligent fusion of technology and comfort.", > "novakidDescription" : "A screen stuck to a desk.", objects\human\bunkerdisplay1\bunkerdisplay1.object 14c14 < "glitchDescription" : "Spacial. This appears to depict the layout of the area we're in.", --- > "glitchDescription" : "Observant. This appears to depict the layout of the area we're in.", 16a17 > "novakidDescription" : "Pretty sure this is a map.", objects\human\bunkerdisplay2\bunkerdisplay2.object 12,15c12,15 < "avianDescription" : "This chart sort of looks like a beak.", < "floranDescription" : "Floran know thisss creature. Creature eat fruit, become ssstrong. Floran kill.", < "glitchDescription" : "Sarcasm. A fascinating pie chart detailing stationary expenditure.", < "humanDescription" : "Ooh, an infographic. Sadly not one of those funny internet ones.", --- > "avianDescription" : "This chart sort of looks like a berry tart, with a piece missing.", > "floranDescription" : "Ssstrange, uninteresting data.", > "glitchDescription" : "Sarcastic. A fascinating pie chart detailing stationary expenditure.", > "humanDescription" : "Ooh, an info-graphic. Sadly not one of those funny internet ones.", 16a17 > "novakidDescription" : "Ain't sure what this big circle is supposed to illustrate. But it's got a chunk missin'.", objects\human\bunkerdisplay3\bunkerdisplay3.object 14c14 < "glitchDescription" : "Spacial. This appears to depict the layout of the area we're in.", --- > "glitchDescription" : "Observant. This appears to depict the layout of the area we're in.", 16a17 > "novakidDescription" : "Pretty sure this is a map.", objects\human\bunkerdisplay4\bunkerdisplay4.object 22c22 < "floranDescription" : "Floran punch ball. Ball not bounce.", --- > "floranDescription" : "Boring holographic ball.", 25a26 > "novakidDescription" : "Looks like the moon, starin' down at me a cold winter night.", objects\human\bunkereyescanner\bunkereyescanner.object 13c13 < "apexDescription" : "This machine doesn't seem to recognise Apex eyeballs.", --- > "apexDescription" : "An eye scanner. It doesn't seem to recognise Apex eyeballs.", 15,16c15,16 < "floranDescription" : "Floran ssstare at machine. Machine ssstare back. Floran win.", < "glitchDescription" : "Technical. With the correct calibration, this scanner could be tricked by a Glitch eye.", --- > "floranDescription" : "Machine wants to sssscan eyes. Floran refussse!", > "glitchDescription" : "Thoughtful. With the correct calibration, this scanner could be tricked by a Glitch eye.", 18c18,19 < "hylotlDescription" : "Such devices are awkward for Hylotl. Our heads are not the right shape.", --- > "hylotlDescription" : "An eye scanner. Such devices are awkward for Hylotl. Our heads are not the right shape.", > "novakidDescription" : "An eye scanner? Ain't sure what I'm supposed to do with it.", objects\human\bunkerhandscanner\bunkerhandscanner.object 15c15 < "floranDescription" : "Floran wonder if real human hand inssside.", --- > "floranDescription" : "Device for sssscanning hands. Doesn't react to Floran's hand...", 18a19 > "novakidDescription" : "A type of scannin' device for hands. Doubt it'll pick up mine.", objects\human\bunkerheater1\bunkerheater1.object 15,16c15,16 < "floranDescription" : "Nice heat, no fire. Good for Floran.", < "glitchDescription" : "Disinterest. A small heater.", --- > "floranDescription" : "Nice heat, no fire. Safe for Floran.", > "glitchDescription" : "Disinterested. A small heater.", 18a19 > "novakidDescription" : "A radiator. I never felt the need for one.", objects\human\bunkerlighth\bunkerlighth.object 14c14 < "glitchDescription" : "Calculating. The brightness levels are slightly too high for human eyes.", --- > "glitchDescription" : "Observant. The brightness levels are slightly too high for human eyes.", 16a17 > "novakidDescription" : "A brightly lit lamp.", objects\human\bunkerlightv\bunkerlightv.object 14c14 < "glitchDescription" : "Calculating. The brightness levels are slightly too high for human eyes.", --- > "glitchDescription" : "Observant. The brightness levels are slightly too high for human eyes.", 16a17 > "novakidDescription" : "A brightly lit lamp.", objects\human\jukebox\jukebox.object 10c10 < "description" : "This jukebox only seems to have songs from a band called the 'Jon Afro Band'.", --- > "description" : "This jukebox sounds great! Too bad there only seems to be one track.", objects\spawner\colonydeed\colonydeed.lua 460c460 < if house.poly and world.regionLoaded(polyBoundBox(house.poly)) then --- > if house.poly and world.regionActive(polyBoundBox(house.poly)) then 519c519 < if not world.regionLoaded(polyBoundBox(storage.house.boundary)) then --- > if not world.regionActive(polyBoundBox(storage.house.boundary)) then objects\themed\wave\wavebed\wavebed.object 3c3 < "colonyTags" : ["misc","Wave"], --- > "colonyTags" : ["misc","wave"], objects\wired\standingturret\standingturret.object 21c21 < [ [ "siliconboard", 1, { } ], [ "laserdiode", 1, { } ] ] --- > [ [ "siliconboard", 1, { } ], [ "wire", 1, { } ] ] projectiles\physics.config 32a33 > "stopOnFirstBounce" : true, 58a60 > "stopOnFirstBounce" : true, 72a75 > "stopOnFirstBounce" : true, 87a91 > "stopOnFirstBounce" : true, 101a106 > "stopOnFirstBounce" : true, 115a121 > "stopOnFirstBounce" : true, 129a136 > "stopOnFirstBounce" : true, 143a151 > "stopOnFirstBounce" : true, 157a166 > "stopOnFirstBounce" : true, 171a181 > "stopOnFirstBounce" : true, 185a196 > "stopOnFirstBounce" : true, 199a211 > "stopOnFirstBounce" : true, 247a260 > "stopOnFirstBounce" : true, 261a275 > "stopOnFirstBounce" : true, 289a304 > "stopOnFirstBounce" : true, 303a319 > "stopOnFirstBounce" : true, 317a334 > "stopOnFirstBounce" : true, 331a349 > "stopOnFirstBounce" : true, 345a364 > "stopOnFirstBounce" : true, 385a405 > "stopOnFirstBounce" : true, 399a420 > "stopOnFirstBounce" : true, 413a435 > "stopOnFirstBounce" : true, 455a478 > "stopOnFirstBounce" : true, 469a493 > "stopOnFirstBounce" : true, 554a579 > "stopOnFirstBounce" : true, 568a594 > "stopOnFirstBounce" : true, 621a648 > "stopOnFirstBounce" : true, 647a675 > "stopOnFirstBounce" : true, 661a690 > "stopOnFirstBounce" : true, 675a705 > "stopOnFirstBounce" : true, 781a812 > "stopOnFirstBounce" : true, 795a827 > "stopOnFirstBounce" : true, 809a842 > "stopOnFirstBounce" : true, 853a887 > "stopOnFirstBounce" : true, 867a902 > "stopOnFirstBounce" : true, 880a916 > "stopOnFirstBounce" : true, 913a950,961 > }, > > "torpedo" : { > "gravityMultiplier" : 1.0, > "bounceFactor" : 0.0, > "maxMovementPerStep" : 0.4, > "collisionPoly" : [ [-3.0, -0.5], [3.0, -0.5], [3.0, 0.5], [-3.0, 0.5] ], > "ignorePlatformCollision" : true, > "groundFriction" : 20, > "airFriction" : 0.2, > "liquidFriction" : 3, > "liquidBuoyancy" : 1.0 projectiles\guns\rockets\homingrocket\homingrocket.projectile 12c12 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosion2.config" projectiles\npcs\moontantgoop\moontantgoop.projectile 13a14 > "emitters" : [ "goo" ], radiomessages\missions.radiomessages 67a68,119 > }, > > // ------- INTRO PROTECTORATE MISSION ------- > > "intromission01" : { > "type" : "mission", > "text" : "The route is blocked, we have to find another way around! You can press spacebar to reach higher ledges." > }, > > "intromission02" : { > "type" : "mission", > "text" : "You can jump down from a ledge by holding down and tapping spacebar." > }, > > "intromission03" : { > "type" : "mission", > "text" : "The ceiling seems to have collapsed. This could be a good time to try out that Matter Manipulator. Click and hold on the mud tiles to break them." > }, > > "intromission04" : { > "type" : "mission", > "text" : "A weapons chest! I would check that out if I were you." > }, > > "intromission05" : { > "type" : "mission", > "text" : "It's not safe here. We have to find a way to leave the Academy post-haste." > }, > > "intromission06" : { > "type" : "mission", > "text" : "Be careful. Falling from high places can inflict damage." > }, > > "intromission07" : { > "type" : "mission", > "text" : "Hover over an object with the cursor and press E to interact with it." > }, > > "intromission08" : { > "type" : "mission", > "text" : "I hope you're not leaving without putting on your graduation uniform? You can find it in the chest by the window." > }, > > "intromission09" : { > "type" : "mission", > "text" : "Wake up! You wouldn't want to be late to your own graduation ceremony, would you? Move left or right to get out of bed." > }, > > "intromission10" : { > "type" : "mission", > "text" : "You can talk to people by hovering over them with the cursor and pressing E." radiomessages\tutorial.radiomessages 68a69,72 > }, > "pickupbow" : { > "type" : "tutorial", > "text" : "You've discovered a bow. Taking a monster down with one of these significantly increases your chance of getting meat and rare crafting components." scripts\actions\entities.lua 525a526,546 > > -- param uniqueId > -- output entity > function loadUniqueEntity(args, output) > args = parseArgs(args, { > uniqueId = nil > }) > > local uniqueId = args.uniqueId > if not uniqueId then return false end > > local entityId = world.loadUniqueEntity(uniqueId) > if not world.entityExists(entityId) then > return false > end > > if output.entity then > BData:setEntity(output.entity, entityId) > end > return true > end scripts\actions\position.lua 36a37 > local multiplier = BData:getNumber(args.multiplier) 39c40 < local offset = {direction * args.multiplier, 0} --- > local offset = {direction * multiplier, 0} scripts\augments\dye.lua 16c16 < options[#options+1] = color --- > table.insert(options, color) 18c18 < options[#options+1] = paletteSwapDirective(color) --- > table.insert(options, paletteSwapDirective(color)) 30c30 < directives = "?" .. util.tableWrap(colorOptions, colorIndex) --- > directives = "?" .. util.tableWrap(colorOptions, colorIndex + 1) 61c61 < local dyeDirectives = "?" .. util.tableWrap(colorOptions, dyeColorIndex) --- > local dyeDirectives = "?" .. util.tableWrap(colorOptions, dyeColorIndex + 1) scripts\behavior\decorator.lua 204c204 < group = { --- > group = util.mergeTable(copy(args.parameters or {}), { 210c210 < } --- > }) 414c414 < end \ No newline at end of file --- > end scripts\pets\player.lua 89c89 < if pet.status and pet.statusReady and not pet:dead() then --- > if pet:statusReady() and not pet:dead() then scripts\pets\spawner.lua 89,90c89,98 < self.statusReady = false < self.statusTimer = config.getParameter("initialStatusTimer", config.getParameter("statusTimer", 0.5)) --- > self.spawning = true > self:resetStatusTimer(true) > end > > function Pet:resetStatusTimer(initialRequest) > if initialRequest then > self.statusTimer = config.getParameter("initialStatusTimer", config.getParameter("statusTimer", 0.5)) > else > self.statusTimer = config.getParameter("statusTimer", 2) > end 118a127 > self.statusTimer = nil 122d130 < self.statusTimer = nil 162a171,174 > function Pet:statusReady() > return self.status and not self.spawning > end > 168c180,181 < self.statusReady = true --- > self.spawning = false > self:resetStatusTimer(false) 172,175c185,194 < -- Pet didn't die, because it sends us its status when it does that. < -- It's just stuck in an unloaded region. Respawn it. < self.uniqueId = nil < self:spawn() --- > if self.spawning then > -- The pet may simply not have spawned yet. Try requesting status again. > self:resetStatusTimer(true) > else > -- Pet entity doesn't exist. > -- It didn't die, because it sends us its status when it does that. > -- It just became unloaded. It's not persistent, so respawn it. > self.uniqueId = nil > self:spawn() > end stagehands\mission\apexmissionbattleeffect.lua 3,6d2 < function init() < self.entities = nil < end < 8c4 < if not self.entities then --- > if not storage.entities then 16c12 < self.entities = world.entityQuery(pos1, pos2, { --- > storage.entities = world.entityQuery(pos1, pos2, { 20,21c16,17 < if #self.entities == 0 then < self.entities = nil --- > if #storage.entities == 0 then > storage.entities = nil 27c23,29 < for _, entityId in pairs(self.entities) do --- > for i, entityId in pairs(storage.entities) do > local uniqueId = world.entityUniqueId(entityId) > if not uniqueId then > uniqueId = world.callScriptedEntity(entityId, "config.getParameter", "uniqueId") or sb.makeUuid() > assert(uniqueId ~= nil) > world.setUniqueId(entityId, uniqueId) > end 28a31 > storage.entities[i] = uniqueId 35c38,39 < for _, entityId in pairs(self.entities) do --- > for _, uniqueId in pairs(storage.entities) do > local entityId = world.loadUniqueEntity(uniqueId) stagehands\mission\apexmissionbattleeffect.stagehand 13,22c13 < "effects" : [ < { < "stat" : "maxHealth", < "amount" : 10000 < }, < { < "stat" : "healthRegen", < "amount" : 10000 < } < ] --- > "effects" : [ "invulnerable" ] stats\player_primary.lua 7d6 < self.damageFlashTime = 0 58d56 < self.damageFlashTime = 0.07 61c59 < self.hitInvulnerabilityTime = status.statusProperty("hitInvulnerabilityTime") * math.min(damageHealthPercentage, 1.0) --- > self.hitInvulnerabilityTime = status.statusProperty("hitInvulnerabilityTime") 71c69 < if knockback > 0 then --- > if knockback > status.stat("knockbackThreshold") then 73,78c71,72 < if mcontroller.baseParameters().gravityEnabled then < local dir = knockbackMomentum[1] > 0 and 1 or -1 < mcontroller.addMomentum({dir * knockback / 1.41, knockback / 1.41}) < else < mcontroller.addMomentum(knockbackMomentum) < end --- > local dir = knockbackMomentum[1] > 0 and 1 or -1 > mcontroller.addMomentum({dir * knockback / 1.41, knockback / 1.41}) 153d146 < self.damageFlashTime = math.max(0, self.damageFlashTime - dt) 155,158c148,153 < if self.hitInvulnerabilityTime > 0 and math.fmod(self.hitInvulnerabilityTime, flashTime) > flashTime / 2 then < status.setPrimaryDirectives("multiply=ffffff00") < elseif self.damageFlashTime > 0 then < status.setPrimaryDirectives("fade=ff0000=0.85") --- > if self.hitInvulnerabilityTime > 0 then > if math.fmod(self.hitInvulnerabilityTime, flashTime) > flashTime / 2 then > status.setPrimaryDirectives(status.statusProperty("damageFlashOffDirectives")) > else > status.setPrimaryDirectives(status.statusProperty("damageFlashOnDirectives")) > end stats\effects\breathprotectionvehicle\breathprotectionvehicle.lua 1a2,3 > protection = config.getParameter("protection", 1) > 3c5,10 < {stat = "breathProtection", amount = config.getParameter("protection", 1)} --- > > {stat = "lavaImmunity", amount = protection}, > {stat = "poisonImmunity", amount = protection}, > {stat = "breathProtection", amount = protection}, > {stat = "waterImmunity", amount = protection}, > {stat = "wetImmunity", amount = protection}, stats\effects\translocate\translocate.lua 4a5 > effect.addStatModifierGroup({{stat = "activeMovementAbilities", amount = 1}}) tech\blink\blink.lua 38c38 < if blinkPosition and tech.consumeTechEnergy(self.energyUsage) then --- > if blinkPosition and status.overConsumeResource("energy", self.energyUsage) then tech\booster\booster.lua 42c42 < if boostDirection and tech.consumeTechEnergy(self.energyUsagePerSecond * args.dt) then --- > if boostDirection and status.overConsumeResource("energy", self.energyUsagePerSecond * args.dt) then tech\bounce\bounce.lua 14c14 < and tech.consumeTechEnergy(self.energyUsageRate * args.dt) then --- > and status.overConsumeResource("energy", self.energyUsageRate * args.dt) then 17c17 < elseif self.active and (args.moves["special"] ~= 1 or not tech.consumeTechEnergy(self.energyUsageRate * args.dt)) then --- > elseif self.active and (args.moves["special"] ~= 1 or not status.overConsumeResource("energy", self.energyUsageRate * args.dt)) then tech\dash\airdash.tech 9,12c9,12 < "dashControlForce" : 3000, < "dashSpeed" : 60, < "dashDuration" : 0.2, < "dashCooldown" : 1.5, --- > "dashControlForce" : 2000, > "dashSpeed" : 50, > "dashDuration" : 0.15, > "dashCooldown" : 0.8, tech\dash\airdash.techitem 4a5 > "tooltipKind" : "tech", tech\dash\blinkdash.animation 20a21,33 > }, > > "recharge" : { > "default" : "ready", > "states" : { > "ready" : {}, > "recharge" : { > "frames" : 5, > "cycle" : 0.15, > "mode" : "transition", > "transition" : "ready" > } > } 44a58,74 > }, > > "rechargeeffect" : { > "properties" : { > "centered" : true, > "offset" : [0, -0.5] > }, > > "partStates" : { > "recharge" : { > "recharge" : { > "properties" : { > "image" : "recharge.png:" > } > } > } > } 50c80,81 < "activate" : [ "/sfx/tech/tech_blink1.ogg" ] --- > "activate" : [ "/sfx/tech/tech_blink1.ogg" ], > "recharge" : [ "/sfx/tech/tech_dash_cooldown1.ogg" ] tech\dash\blinkdash.lua 0a1,2 > require "/tech/doubletap.lua" > 4d5 < 6,9d6 < self.dashLastInput = 0 < self.dashTapLast = 0 < self.dashTapTimer = 0 < 12d8 < self.maximumDoubleTapTime = config.getParameter("maximumDoubleTapTime") 15a12,19 > self.dashMaxDistance = config.getParameter("dashDistance") > > self.doubleTap = DoubleTap:new({"left", "right"}, config.getParameter("maximumDoubleTapTime"), function(dashKey) > if self.mode == "none" and self.cooldownTimer == 0 and groundValid() and not status.statPositive("activeMovementAbilities") then > self.targetPosition = findTargetPosition(dashKey == "left" and -1 or 1, self.dashMaxDistance) > if self.targetPosition then self.mode = "start" end > end > end) 19a24 > status.clearPersistentEffects("movementAbility") 23,54c28,31 < self.dashTapTimer = math.max(0, self.dashTapTimer - args.dt) < self.cooldownTimer = math.max(0, self.cooldownTimer - args.dt) < < if self.mode == "none" and self.cooldownTimer == 0 then < local dashDirection < if args.moves["right"] then < if self.dashLastInput ~= 1 then < if self.dashTapLast == 1 and self.dashTapTimer > 0 then < self.dashTapLast = 0 < self.dashTapTimer = 0 < dashDirection = 1 < else < self.dashTapLast = 1 < self.dashTapTimer = self.maximumDoubleTapTime < end < end < self.dashLastInput = 1 < elseif args.moves["left"] then < if self.dashLastInput ~= -1 then < if self.dashTapLast == -1 and self.dashTapTimer > 0 then < self.dashTapLast = 0 < self.dashTapTimer = 0 < dashDirection = -1 < else < self.dashTapLast = -1 < self.dashTapTimer = self.maximumDoubleTapTime < end < end < self.dashLastInput = -1 < else < self.dashLastInput = 0 < end --- > if self.cooldownTimer > 0 and self.cooldownTimer - args.dt <= 0 then > animator.setAnimationState("recharge", "recharge") > animator.playSound("recharge") > end 56,58c33 < if dashDirection and groundValid() then < self.targetPosition = findTargetPosition(dashDirection, config.getParameter("dashDistance")) < end --- > self.cooldownTimer = math.max(0, self.cooldownTimer - args.dt) 60,63c35 < if self.targetPosition then < self.mode = "start" < end < end --- > self.doubleTap:update(args.dt, args.moves) 70a43 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) 92a66 > status.clearPersistentEffects("movementAbility") tech\dash\blinkdash.tech 9c9 < "dashDistance" : 12, --- > "dashDistance" : 13, 12c12 < "dashCooldown" : 1.5, --- > "dashCooldown" : 2.5, tech\dash\blinkdash.techitem 5c5,6 < "description" : "Upgrades your Dash to blink past traps and enemies. Cooldown: 0.8s", --- > "tooltipKind" : "tech", > "description" : "Upgrades your Dash to blink past traps and enemies. Cooldown: 2.5s", tech\dash\dash.animation 7,11c7,38 < "off" : { < }, < "on" : { < "properties" : { < "immediateSound" : "/sfx/tech/tech_dashshort.ogg" --- > "off" : {}, > "on" : {} > } > }, > > "recharge" : { > "default" : "ready", > "states" : { > "ready" : {}, > "recharge" : { > "frames" : 5, > "cycle" : 0.15, > "mode" : "transition", > "transition" : "ready" > } > } > } > }, > > "parts" : { > "rechargeeffect" : { > "properties" : { > "centered" : true, > "offset" : [0, -0.5] > }, > > "partStates" : { > "recharge" : { > "recharge" : { > "properties" : { > "image" : "recharge.png:" > } 28a56,60 > }, > > "sounds" : { > "startDash" : [ "/sfx/tech/tech_dashshort.ogg" ], > "recharge" : [ "/sfx/tech/tech_dash_cooldown1.ogg" ] tech\dash\dash.lua 0a1,2 > require "/tech/doubletap.lua" > 5,7d6 < self.dashLastInput = 0 < self.dashTapLast = 0 < self.dashTapTimer = 0 10d8 < self.maximumDoubleTapTime = config.getParameter("maximumDoubleTapTime") 15,16d12 < self.dashCooldown = config.getParameter("dashCooldown") < 17a14,24 > self.stopAfterDash = config.getParameter("stopAfterDash") > > self.doubleTap = DoubleTap:new({"left", "right"}, config.getParameter("maximumDoubleTapTime"), function(dashKey) > if self.dashTimer == 0 and self.dashCooldownTimer == 0 and groundValid() and not status.statPositive("activeMovementAbilities") then > startDash(dashKey == "left" and -1 or 1) > end > end) > end > > function uninit() > status.clearPersistentEffects("movementAbility") 21c28,32 < self.dashTapTimer = math.max(0, self.dashTapTimer - args.dt) --- > if self.dashCooldownTimer > 0 and self.dashCooldownTimer - args.dt <= 0 then > animator.setAnimationState("recharge", "recharge") > animator.playSound("recharge") > end > 24,57c35 < if self.dashTimer == 0 and self.dashCooldownTimer == 0 and groundValid() then < local dashDirection < if args.moves["right"] then < if self.dashLastInput ~= 1 then < if self.dashTapLast == 1 and self.dashTapTimer > 0 then < self.dashTapLast = 0 < self.dashTapTimer = 0 < dashDirection = 1 < else < self.dashTapLast = 1 < self.dashTapTimer = self.maximumDoubleTapTime < end < end < self.dashLastInput = 1 < elseif args.moves["left"] then < if self.dashLastInput ~= -1 then < if self.dashTapLast == -1 and self.dashTapTimer > 0 then < self.dashTapLast = 0 < self.dashTapTimer = 0 < dashDirection = -1 < else < self.dashTapLast = -1 < self.dashTapTimer = self.maximumDoubleTapTime < end < end < self.dashLastInput = -1 < else < self.dashLastInput = 0 < end < < if dashDirection and groundValid() then < startDash(dashDirection) < end < end --- > self.doubleTap:update(args.dt, args.moves) 64a43 > mcontroller.controlModifiers({jumpingSuppressed = true}) 66,69c45 < mcontroller.controlFace(self.dashDirection) < animator.setFlipped(mcontroller.facingDirection() == -1) < animator.setAnimationState("dashing", "on") < animator.setParticleEmitterActive("dashParticles", true) --- > animator.setFlipped(mcontroller.facingDirection() == -1) 74,83c50 < self.dashCooldownTimer = self.dashCooldown < < if config.getParameter("stopAfterDash") then < local movementParams = mcontroller.baseParameters() < local currentVelocity = mcontroller.velocity() < if math.abs(currentVelocity[1]) > movementParams.runSpeed then < mcontroller.setVelocity({movementParams.runSpeed * self.dashDirection, 0}) < end < mcontroller.controlApproachXVelocity(self.dashDirection * movementParams.runSpeed, self.dashControlForce) < end --- > endDash() 85,88d51 < < else < animator.setAnimationState("dashing", "off") < animator.setParticleEmitterActive("dashParticles", false) 99a63,84 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) > animator.playSound("startDash") > animator.setAnimationState("dashing", "on") > animator.setParticleEmitterActive("dashParticles", true) > end > > function endDash() > status.clearPersistentEffects("movementAbility") > > if self.stopAfterDash then > local movementParams = mcontroller.baseParameters() > local currentVelocity = mcontroller.velocity() > if math.abs(currentVelocity[1]) > movementParams.runSpeed then > mcontroller.setVelocity({movementParams.runSpeed * self.dashDirection, 0}) > end > mcontroller.controlApproachXVelocity(self.dashDirection * movementParams.runSpeed, self.dashControlForce) > end > > self.dashCooldownTimer = self.dashCooldown > > animator.setAnimationState("dashing", "off") > animator.setParticleEmitterActive("dashParticles", false) tech\dash\dash.tech 9,12c9,12 < "dashControlForce" : 3000, < "dashSpeed" : 60, < "dashDuration" : 0.2, < "dashCooldown" : 1.5, --- > "dashControlForce" : 2000, > "dashSpeed" : 50, > "dashDuration" : 0.15, > "dashCooldown" : 0.8, tech\dash\dash.techitem 5c5,6 < "description" : "Double tap Left or Right to use this Dash tech. Cooldown: 0.8s", --- > "tooltipKind" : "tech", > "description" : "Double tap Left or Right to quickly dash in a direction. Cooldown: 0.8s", tech\distortionsphere\distortionsphere.animation 23c23 < "image" : "ball.png:" --- > "image" : ":" tech\distortionsphere\distortionsphere.lua 3a4,9 > initCommonParameters() > > tech.setVisible(false) > end > > function initCommonParameters() 15,16d20 < < tech.setVisible(false) 20,30c24,25 < if self.active then < storage.lastActivePosition = mcontroller.position() < < -- try to restore position. if techs are being switched, this will work and the storage will < -- be cleared anyway. if the client's disconnecting, this won't work but the storage will remain to < -- restore the position later in update() < mcontroller.setPosition(vec2.add(storage.lastActivePosition, {0, positionOffset()})) < deactivate() < else < storage.lastActivePosition = nil < end --- > storePosition() > deactivate() 34,40c29 < if storage.lastActivePosition then < -- restore position if the player was logged out (in the same planet/universe) with the tech active < if vec2.mag(vec2.sub(mcontroller.position(), storage.lastActivePosition)) < 0.1 then < mcontroller.setPosition(vec2.add(storage.lastActivePosition, {0, positionOffset()})) < end < storage.lastActivePosition = nil < end --- > restoreStoredPosition() 49a39 > updateAngularVelocity(args.dt) 57c47,51 < if not self.active and not tech.parentLounging() and tech.consumeTechEnergy(self.energyCost) then --- > if not self.active > and not tech.parentLounging() > and not status.statPositive("activeMovementAbilities") > and status.overConsumeResource("energy", self.energyCost) then > 74c68,93 < function updateRotationFrame(dt) --- > function storePosition() > if self.active then > storage.restorePosition = restorePosition() > > -- try to restore position. if techs are being switched, this will work and the storage will > -- be cleared anyway. if the client's disconnecting, this won't work but the storage will remain to > -- restore the position later in update() > if storage.restorePosition then > storage.lastActivePosition = mcontroller.position() > mcontroller.setPosition(storage.restorePosition) > end > end > end > > function restoreStoredPosition() > if storage.restorePosition then > -- restore position if the player was logged out (in the same planet/universe) with the tech active > if vec2.mag(vec2.sub(mcontroller.position(), storage.lastActivePosition)) < 1 then > mcontroller.setPosition(storage.restorePosition) > end > storage.lastActivePosition = nil > storage.restorePosition = nil > end > end > > function updateAngularVelocity(dt) 84a104 > end 85a106 > function updateRotationFrame(dt) 126a148 > status.setPersistentEffects("movementAbility", {{stat = "activeMovementAbilities", amount = 1}}) 138a161 > status.clearPersistentEffects("movementAbility") tech\distortionsphere\distortionsphere.tech 6a7,9 > "animationParts" : { > "ball" : "ball.png" > }, 9c12 < "collisionPoly" : [ [-0.75, -0.4], [-0.4, -0.75], [0.4, -0.75], [0.75, -0.4], [0.75, 0.4], [0.4, 0.75], [-0.4, 0.75], [-0.75, 0.4] ], --- > "collisionPoly" : [ [-0.85, -0.45], [-0.45, -0.85], [0.45, -0.85], [0.85, -0.45], [0.85, 0.45], [0.45, 0.85], [-0.45, 0.85], [-0.85, 0.45] ], 17c20 < "jumpSpeed" : 10.0, --- > "jumpSpeed" : 8.0, 19c22 < "jumpInitialPercentage" : 0.75, --- > "jumpInitialPercentage" : 1.0, 24,27c27 < "jumpSpeed" : 6.0, < "jumpControlForce" : 800.0, < "jumpInitialPercentage" : 0.75, < "jumpHoldTime" : 0.1 --- > "jumpSpeed" : 0.0 tech\distortionsphere\distortionsphere.techitem 4a5 > "tooltipKind" : "tech", tech\distortionsphere\spikesphere.lua 3a4 > require "/scripts/status.lua" 5,9c6,18 < function update(args) < if storage.lastActivePosition then < -- restore position if the player was logged out (in the same planet/universe) with the tech active < if vec2.mag(vec2.sub(mcontroller.position(), storage.lastActivePosition)) < 0.1 then < mcontroller.setPosition(vec2.add(storage.lastActivePosition, {0, positionOffset()})) --- > function init() > initCommonParameters() > > self.ignorePlatforms = config.getParameter("ignorePlatforms") > self.damageDisableTime = config.getParameter("damageDisableTime") > self.damageDisableTimer = 0 > > self.damageListener = damageListener("damageTaken", function(notifications) > for _, notification in pairs(notifications) do > if notification.damage > 0 and notification.sourceEntityId ~= entity.id() then > damaged() > return > end 11,12c20,26 < storage.lastActivePosition = nil < end --- > end) > > tech.setVisible(false) > end > > function update(args) > restoreStoredPosition() 18a33,36 > self.damageDisableTimer = math.max(0, self.damageDisableTimer - args.dt) > > self.damageListener:update() > 20c38,42 < local groundDirection = findGroundDirection() --- > local groundDirection > if self.damageDisableTimer == 0 then > groundDirection = findGroundDirection() > end > 35,41d56 < if ground[1] < -0.1 then < if args.moves["up"] then moveInput = moveInput - 1 end < if args.moves["down"] then moveInput = moveInput + 1 end < elseif ground[1] > 0.1 then < if args.moves["up"] then moveInput = moveInput + 1 end < if args.moves["down"] then moveInput = moveInput - 1 end < end 43,49c58,65 < if ground[2] < -0.1 then < if args.moves["right"] then moveInput = moveInput + 1 end < if args.moves["left"] then moveInput = moveInput - 1 end < elseif ground[2] > 0.1 then < if args.moves["right"] then moveInput = moveInput - 1 end < if args.moves["left"] then moveInput = moveInput + 1 end < end --- > -- more complicated controls > -- if ground[1] < -0.1 then > -- if args.moves["up"] then moveInput = moveInput - 1 end > -- if args.moves["down"] then moveInput = moveInput + 1 end > -- elseif ground[1] > 0.1 then > -- if args.moves["up"] then moveInput = moveInput + 1 end > -- if args.moves["down"] then moveInput = moveInput - 1 end > -- end 51,54c67,72 < -- if args.moves["left"] then < -- moveInput = -1 < -- elseif args.moves["right"] then < -- moveInput = 1 --- > -- if ground[2] < -0.1 then > -- if args.moves["right"] then moveInput = moveInput + 1 end > -- if args.moves["left"] then moveInput = moveInput - 1 end > -- elseif ground[2] > 0.1 then > -- if args.moves["right"] then moveInput = moveInput - 1 end > -- if args.moves["left"] then moveInput = moveInput + 1 end 56a75,81 > -- simpler controls > if args.moves["left"] then > moveInput = -1 > elseif args.moves["right"] then > moveInput = 1 > end > 63c88 < self.angle = math.fmod(math.pi * 2 + self.angle + self.ballSpeed * -moveInput * args.dt, math.pi * 2) --- > self.angularVelocity = self.ballSpeed * -moveInput 65c90,94 < world.debugLine(mcontroller.position(), vec2.add(vec2.mul(moveDirection, 5), mcontroller.position()), "yellow") --- > if self.ignorePlatforms then > mcontroller.controlDown() > end > > -- world.debugLine(mcontroller.position(), vec2.add(vec2.mul(moveDirection, 5), mcontroller.position()), "yellow") 66a96 > self.angularVelocity = 0 70c100 < world.debugLine(mcontroller.position(), vec2.add(mcontroller.position(), vec2.mul(vec2.rotate(headingDirection, -math.pi / 2), 5)), "blue") --- > -- world.debugLine(mcontroller.position(), vec2.add(mcontroller.position(), vec2.mul(vec2.rotate(headingDirection, -math.pi / 2), 5)), "blue") 73a104 > updateAngularVelocity(args.dt) 85,89c116,119 < function updateRotationFrame(dt) < -- Rotation frames for the ball are given as one *half* rotation so two < -- full cycles of each of the ball frames completes a total rotation. < local rotationFrame = math.floor(self.angle / math.pi * self.ballFrames) % self.ballFrames < animator.setGlobalTag("rotationFrame", rotationFrame) --- > function damaged() > if self.active then > self.damageDisableTimer = self.damageDisableTime > end 98,99c128,129 < world.debugLine(leftLine[1], leftLine[2], "red") < world.debugLine(rightLine[1], rightLine[2], "red") --- > -- world.debugLine(leftLine[1], leftLine[2], "red") > -- world.debugLine(rightLine[1], rightLine[2], "red") 101c131,133 < local collisionSet = leftLine[2][2] < leftLine[1][2] and {"Null", "Block", "Dynamic", "Platform"} or {"Null", "Block", "Dynamic"} --- > if not self.ignorePlatforms then > local collisionSet = leftLine[2][2] < leftLine[1][2] and {"Null", "Block", "Dynamic", "Platform"} or {"Null", "Block", "Dynamic"} > end 121c153,155 < local collisionSet = i == 1 and {"Null", "Block", "Dynamic", "Platform"} or {"Null", "Block", "Dynamic"} --- > if not self.ignorePlatforms then > local collisionSet = i == 1 and {"Null", "Block", "Dynamic", "Platform"} or {"Null", "Block", "Dynamic"} > end tech\distortionsphere\spikesphere.tech 6a7,9 > "animationParts" : { > "ball" : "ball.png" > }, 9c12 < "collisionPoly" : [ [-0.8, -0.4], [-0.4, -0.8], [0.4, -0.8], [0.8, -0.4], [0.8, 0.4], [0.4, 0.8], [-0.4, 0.8], [-0.8, 0.4] ], --- > "collisionPoly" : [ [-0.85, -0.45], [-0.45, -0.85], [0.45, -0.85], [0.85, -0.45], [0.85, 0.45], [0.45, 0.85], [-0.45, 0.85], [-0.85, 0.45] ], 13,16d15 < "groundForce" : 0.0, < < "normalGroundFriction" : 8, < "ambulatingGroundFriction" : 8, 26a26,27 > "ignorePlatforms" : true, > 32c33,35 < "ballFrames" : 8 --- > "ballFrames" : 8, > > "damageDisableTime" : 0.2 tech\distortionsphere\spikesphere.techitem 4a5 > "tooltipKind" : "tech", tech\jetpack\jetpack.lua 20c20 < and tech.consumeTechEnergy(self.energyUsagePerSecond * args.dt) then --- > and status.overConsumeResource("energy", self.energyUsagePerSecond * args.dt) then tech\morphball\balldash.lua 61c61 < if dashStartDirection and mcontroller.onGround() and tech.consumeTechEnergy(self.energyPerSecond * args.dt) then --- > if dashStartDirection and mcontroller.onGround() and status.overConsumeResource("energy", self.energyPerSecond * args.dt) then 68c68 < elseif self.active and self.input[self.dashDirection] and tech.consumeTechEnergy(self.energyPerSecond * args.dt) then --- > elseif self.active and self.input[self.dashDirection] and status.overConsumeResource("energy", self.energyPerSecond * args.dt) then tech\morphball\morphball.lua 35c35 < if not self.active and not tech.parentLounging() and specialActivated and tech.consumeTechEnergy(energyCostPerSecond * args.dt) then --- > if not self.active and not tech.parentLounging() and specialActivated and status.overConsumeResource("energy", energyCostPerSecond * args.dt) then 41c41 < elseif self.active and (specialActivated or not tech.consumeTechEnergy(energyCostPerSecond * args.dt)) then --- > elseif self.active and (specialActivated or not status.overConsumeResource("energy", energyCostPerSecond * args.dt)) then tech\superjump\superjump.lua 18c18 < and tech.consumeTechEnergy(self.energyUsage) then --- > and status.overConsumeResource("energy", self.energyUsage) then tiles\materials\cheapwallpaper.material 8c8 < "glitchDescription" : "Unsettled. This wall paper is overwhelming gaudy.", --- > "glitchDescription" : "Unsettled. This wall paper is overwhelmingly gaudy.", tiles\materials\copperroofing.material 6c6 < "description" : "Copper Roofing", --- > "description" : "Roofing tiles fashioned from copper.", 8,9c8,10 < "glitchDescription" : "Statement. This roofing is made entirely from copper.", < "floranDescription" : "Floran likesss thiss roof.", --- > "glitchDescription" : "Surprised. These roofing tiles are made entirely from copper.", > "floranDescription" : "Floran likess sshiny copper roofing.", > "novakidDescription" : "Buncha copper roofin' tiles.", tiles\materials\copperwindow.material 6c6 < "description" : "A solid copper window frame.", --- > "description" : "A window with a frame made from solid copper.", 8,9c8,10 < "glitchDescription" : "Statement. A copper window frame.", < "floranDescription" : "Windowsss.", --- > "glitchDescription" : "Facinated. Copper has been used to construct the frame for this window.", > "floranDescription" : "Windowsss made from copper.", > "novakidDescription" : "This is a nice lookin' copper window frame.", tiles\materials\corruptdirt.material 6,9c6,10 < "description" : "Ick. Corrupted dirt.", < "shortdescription" : "Corrupt Dirt Block", < "glitchDescription" : "Statement. Corrupted dirt.", < "floranDescription" : "Sssick dirt.", --- > "description" : "A disgusting block of corrupted dirt.", > "shortdescription" : "Corrupt Dirt", > "glitchDescription" : "Disgusted. This dirt has been corrupted.", > "floranDescription" : "Dissgusting corrupted dirt.", > "novakidDescription" : "This corrupted dirt ain't too pleasant.", tiles\materials\crosshatch.material 7,9c7,10 < "description" : "A mouldy lattice made of wood.", < "glitchDescription" : "Statement. A window lattice.", < "floranDescription" : "Window lettuce.", --- > "description" : "A simple lattice made of wood.", > "glitchDescription" : "Inspired. This lattice functions well as either a fence or window.", > "floranDescription" : "Floran like crisss crosssy wood.", > "novakidDescription" : "Thin wood strips all criss crossin' together.", tiles\materials\crystalblock.material 6c6 < "description" : "A shining blue block of made of crystals.", --- > "description" : "A shimmering block of made from crystals.", 8,9c8,10 < "glitchDescription" : "Analysis. This block is made of crystal.", < "floranDescription" : "Ssshiny block.", --- > "glitchDescription" : "Calm. This crystal block has a soothing appearance.", > "floranDescription" : "Ssshiny block made from crysstalss.", > "novakidDescription" : "The crystals in this block are real purdy.", tiles\materials\darksmoothstone.material 6,8c6,9 < "description" : "A dark, smooth stone block. Mysterious.", < "glitchDescription" : "Analysis. A dark block of unknown origin.", < "floranDescription" : "Sssmooth block.", --- > "description" : "A dark, smooth stone block.", > "glitchDescription" : "Curious. A dark brick made from an unknown stone.", > "floranDescription" : "Sssmooth sstone block.", > "novakidDescription" : "A dark lookin' stone brick.", tiles\materials\darkwood.material 6c6 < "description" : "I think I see alien woodworm.", --- > "description" : "Wood that has been prepared for building and crafting.", 8,9c8,14 < "glitchDescription" : "Statement. Wood.", < "floranDescription" : "Sssplintery wood.", --- > "apexDescription" : "Some crafted planks of wood.", > "avianDescription" : "Wood that's been crafted into planks.", > "glitchDescription" : "Satisfied. These are well crafted wood planks.", > "floranDescription" : "Sssplintery wood plankss.", > "humanDescription" : "Some simple planks made from wood.", > "hylotlDescription" : "Basic wood planks.", > "novakidDescription" : "Just some basic lookin' wood planks.", tiles\materials\direstone.material 8c8 < "glitchDescription" : "Analysis. The worms in this block appear to be essentially immortal.", --- > "glitchDescription" : "Amazed. The worms in this stone appear to help maintain its rigidity.", 9a10 > "novakidDescription" : "There's little wigglin' worms inside this stone.", tiles\materials\dirt.material 7,8c7,8 < "shortdescription" : "Dirt Block", < "glitchDescription" : "Statement. Dirt. Clarification. Just dirt.", --- > "shortdescription" : "Dirt", > "glitchDescription" : "Indifferent. This is basic soil.", 9a10 > "novakidDescription" : "Dirty lookin' dirt.", tiles\materials\drydirt.material 8,9c8,10 < "glitchDescription" : "Statement. Dirt. Clarification. Just dirt.", < "floranDescription" : "Filthy dirt!", --- > "glitchDescription" : "Perceptive. This dirt is very dry.", > "floranDescription" : "Dirt that iss dry.", > "novakidDescription" : "Just some dry dusty dirt.", tiles\materials\drysand.material 8,9c8,10 < "glitchDescription" : "Statement. Sand.", < "floranDescription" : "Sssandy sand.", --- > "glitchDescription" : "Observant. This sand is dry and hard.", > "floranDescription" : "Hard dry ssandy sand.", > "novakidDescription" : "Dry lookin' packed sand.", tiles\materials\eyepiles.material 6c6 < "shortdescription" : "Clump of Eyes", --- > "shortdescription" : "Pile of Eyes", 7a8,10 > "glitchDescription" : "Reflective. Other than those on top of the pile, most of these eyes will only ever know darkness.", > "floranDescription" : "Ssquisshy eyess!", > "novakidDescription" : "Some of these eyes are lookin' right at me.", tiles\materials\fadedblocks.material 7,9c7,10 < "shortdescription" : "Soft Brick Block", < "glitchDescription" : "Statement. Brick.", < "floranDescription" : "Bricksss.", --- > "shortdescription" : "Soft Brick", > "glitchDescription" : "Deductive. These faded bricks have been smoothed by the passage of time.", > "floranDescription" : "Ssoft faded bricksss.", > "novakidDescription" : "Some smooth lookin' bricks.", tiles\materials\fence.material 8c8 < "glitchDescription" : "Statement. A sturdy fence.", --- > "glitchDescription" : "Pleased. This wooden fence is quite sturdy.", 9a10 > "novakidDescription" : "Nothin' like a sturdy wooden fence.", tiles\materials\fleshblock.material 6,9c6,10 < "description" : "A hideous, foul-smelling block made of some kind of flesh.", < "shortdescription" : "Flesh Block", < "glitchDescription" : "Disgust. A block made of flesh.", < "floranDescription" : "Sssquishy meat block.", --- > "description" : "Some hideous, foul-smelling kind of flesh.", > "shortdescription" : "Flesh Chunk", > "glitchDescription" : "Disgusted. This is made of squishy flesh.", > "floranDescription" : "Sssquishy meat.", > "novakidDescription" : "This is some sorta flesh.", tiles\materials\floweryblock.material 6,7c6,10 < "description" : "A block made of vibrantly flowering plant matter.", < "shortdescription" : "Flowery Matter Block", --- > "description" : "A fragrant bundle made of flowers and leaves.", > "shortdescription" : "Flower Block", > "glitchDescription" : "Delighted. This arrangement of flowers is pleasing.", > "floranDescription" : "Thesse flowerss look healthy.", > "novakidDescription" : "Some bright lookin' flowers.", tiles\materials\frozendirt.material 6,9c6,10 < "shortdescription" : "Frozen Dirt Block", < "description" : "A frozen dirt block.", < "glitchDescription" : "Statement. Frozen Dirt, cold as ice.", < "floranDescription" : "Frozen Dirt. Sssmooth to the touch.", --- > "shortdescription" : "Frozen Dirt", > "description" : "This dirt is frozen solid.", > "glitchDescription" : "Observant. This dirt is solidly frozen.", > "floranDescription" : "Frozen dirt iss cold to the touch.", > "novakidDescription" : "This frozen dirt is mighty cold.", tiles\materials\frozenwater.material 6,9c6,10 < "description" : "The water appears to have frozen.", < "shortdescription" : "Frozen Water", < "glitchDescription" : "Statement. Frozen water.", < "floranDescription" : "Ssslippy cold water.", --- > "description" : "Some naturally smooth ice.", > "shortdescription" : "Smooth Ice", > "glitchDescription" : "Cautious. The way this ice froze has made it unusually smooth.", > "floranDescription" : "Ssslippy frozen water.", > "novakidDescription" : "This ice is mighty slick.", tiles\materials\fullwood1.material 6,9c6,10 < "description" : "Rough and unrefined, this wood looks freshly chopped.", < "shortdescription" : "Unrefined Wood", < "glitchDescription" : "Statement. Unrefined wood.", < "floranDescription" : "Unssstabbed wood.", --- > "description" : "Carefully treated wood that maintains a freshly chopped appearance.", > "shortdescription" : "Treated Wood", > "glitchDescription" : "Surprised. Although this wood looks freshly chopped, it has been carefully treated.", > "floranDescription" : "Jusst some bassic wood.", > "novakidDescription" : "It looks fresh cut, but this wood has been treated with somethin'.", tiles\materials\geodeblock.material 6,9c6,10 < "description" : "A shining blue block of made of geode.-todo-", < "shortdescription" : "Geode Block", < "glitchDescription" : "Analysis. This block is made of geode.-todo-", < "floranDescription" : "Ssshiny block.-todo-", --- > "description" : "Glimmering natural geode crystals.", > "shortdescription" : "Geode Crystals", > "glitchDescription" : "Amazed. These natural crystals appear to have grown from geodes.", > "floranDescription" : "Ssshiny geode crysstalss.", > "novakidDescription" : "Some shiny lookin' rock crystals.", tiles\materials\geodestone.material 6c6 < "description" : "Solid geodestone. It reflects the light.-todo-", --- > "description" : "A solid stone filled with small geode crystals.", 8,9c8,10 < "glitchDescription" : "Statement. Rock-hard geodestone.-todo-", < "floranDescription" : "Obsssidian. Black like Floran sssoul.-todo-", --- > "glitchDescription" : "Observant. There are tiny geode crystals inside this stone.", > "floranDescription" : "Floran likess tiny crysstals in geode sstone.", > "novakidDescription" : "This stone is full'a tiny geode crystals.", tiles\materials\girder.material 9,11c9,12 < "shortdescription" : "Girder Block", < "glitchDescription" : "Statement. A metal girder.", < "floranDescription" : "Metal thing.", --- > "shortdescription" : "Girder", > "glitchDescription" : "Impressed. This reinforced metal girder is very strong.", > "floranDescription" : "Cold metal girderss.", > "novakidDescription" : "A strong lookin' metal girder.", tiles\materials\glass.material 6c6 < "description" : "I can see my reflection... it's hideous!", --- > "description" : "I can see my reflection.", 8,9c8,10 < "glitchDescription" : "Statement. Glass.", < "floranDescription" : "Floran look pretty in glasssss.", --- > "glitchDescription" : "Attentive. I can see clearly though this transparent glass.", > "floranDescription" : "Floran lookss pretty in glasssss.", > "novakidDescription" : "I can see clear through t'the other side of this glass.", tiles\materials\goldblock.material 8,9c8,10 < "glitchDescription" : "Statement. A golden block.", < "floranDescription" : "Ssshiny gold.", --- > "glitchDescription" : "Delighted. A block made entirely of solid gold.", > "floranDescription" : "Sshiny gold blockss.", > "novakidDescription" : "Yeehaw! Shiny blocks of solid gold!", tiles\materials\grassy.material 6c6 < "description" : "Sod block.", --- > "description" : "A block of sod roofing with growing grass.", 8,9c8,10 < "glitchDescription" : "Statement. Sod roofing.", < "floranDescription" : "Sssod roof.", --- > "glitchDescription" : "Charmed. It seems this sod roofing has live grass.", > "floranDescription" : "Floran likess grasssy ssod roofing.", > "novakidDescription" : "Grassy sod roofing, somethin' nice about the simplicity of it.", tiles\materials\grassyrock.material 8,9c8,10 < "glitchDescription" : "Statement. Grassy Rock.", < "floranDescription" : "Grassssy Rocksss.", --- > "glitchDescription" : "Observant. Grass is growing in the crevices of this rock.", > "floranDescription" : "Grassssy rocksss.", > "novakidDescription" : "Some rocks with growin' grass.", tiles\materials\gravel.material 6c6 < "description" : "A thin gravel.", --- > "description" : "Coarse gravel.", 8,9c8,10 < "glitchDescription" : "Statement. Gravel.", < "floranDescription" : "Little ssstones.", --- > "glitchDescription" : "Irratated. Coarse, cascading gravel.", > "floranDescription" : "Crusshed gravel.", > "novakidDescription" : "Crushed rocks an' gravel.", tiles\materials\hazard.material 6c6 < "description" : "A wall panel marking a potential hazard. Keep clear.", --- > "description" : "This pattern suggests caution.", 8,9c8,10 < "glitchDescription" : "Statement. A hazard.", < "floranDescription" : "Danger!", --- > "glitchDescription" : "Cautious. This pattern indicates I should watch my step.", > "floranDescription" : "Thesse sstripes mean caution.", > "novakidDescription" : "These strips're somethin' I should pay attention to.", tiles\materials\heavyironbars.material 5,6c5,6 < "itemDrop" : "bars", < "description" : "Thick metal bars. Still strong, though decaying with rust.", --- > "itemDrop" : "heavyironbars", > "description" : "Thick iron bars. Still strong, though decaying with rust.", 8,9c8,10 < "glitchDescription" : "Analysis. These bars are strong.", < "floranDescription" : "Barsss.", --- > "glitchDescription" : "Distressed. Seeing metal rusting in this manner is unsettling.", > "floranDescription" : "Russsty old barss.", > "novakidDescription" : "These rusty ol' bars have seen better days.", tiles\materials\heavypipe.material 8,9c8,10 < "glitchDescription" : "Statement. A pipe.", < "florandescription" : "Sssssmelly pipe.", --- > "glitchDescription" : "Disgusted. I would hate to see the waste that has been passed through this pipe.", > "floranDescription" : "Sssmelly ssewer pipe.", > "novakidDescription" : "Some dirty ol' pipes.", tiles\materials\junk.material 7,10c7,10 < "shortdescription" : "Junk Block", < "glitchdescription" : "-todo-", < "florandescription" : "-todo-", < "novakidDescription" : "-todo-", --- > "shortdescription" : "Junk Pile", > "glitchDescription" : "Observant. I can see many different types of twisted broken debris in this pile.", > "floranDescription" : "Sso much junk.", > "novakidDescription" : "An ol' heap of garbage.", tiles\platforms\copperladder.material 10a11,13 > "glitchDescription" : "Surprised. This ladder is made from copper.", > "floranDescription" : "Ladder iss made from sshiny copper.", > "novakidDescription" : "A ladder made outta copper.", tiles\platforms\copperplatform.material 7c7,10 < "description" : "A copper platform.", --- > "description" : "A platform made from copper.", > "glitchDescription" : "Interested. This platform appears to be made from copper.", > "floranDescription" : "Platformss made from copper.", > "novakidDescription" : "I reckon it must've been tough makin' this platform with copper.", tiles\platforms\goldenplatform.material 6,7c6,10 < "shortdescription" : "Golden Platform", < "description" : "A golden platform.", --- > "shortdescription" : "Gold Platform", > "description" : "For the truly opulent, a platform made from gold.", > "glitchDescription" : "Enchanted. This platform is made from solid gold.", > "floranDescription" : "Gold platformsss. Sso fancy.", > "novakidDescription" : "Gold! It's a platform made of gold!.", tilesets\packed\huge-objects.json 7c7 < "tilecount" : 38, --- > "tilecount" : 56, 274a275,292 > "38" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "13bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "13bback", > "tilesetDirection" : "right" > }, > "39" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "09bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "09bback", > "tilesetDirection" : "right" > }, 283a302,390 > "40" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "14bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "14bback", > "tilesetDirection" : "right" > }, > "41" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "15bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "15bback", > "tilesetDirection" : "right" > }, > "42" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "12back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "12back", > "tilesetDirection" : "right" > }, > "43" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "13back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "13back", > "tilesetDirection" : "right" > }, > "44" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "11bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "11bback", > "tilesetDirection" : "right" > }, > "45" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "12bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "12bback", > "tilesetDirection" : "right" > }, > "46" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "10bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "10bback", > "tilesetDirection" : "right" > }, > "47" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "09back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "09back", > "tilesetDirection" : "right" > }, > "48" : { > "//description" : "A ship from the Protectorate Academy.", > "//name" : "protectorateship", > "//shortdescription" : "Protectorate Ship", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectorateship" > }, > "49" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "10back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "10back", > "tilesetDirection" : "right" > }, 292a400,452 > "50" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "11back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "11back", > "tilesetDirection" : "right" > }, > "51" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "14back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "14back", > "tilesetDirection" : "right" > }, > "52" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "15back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "15back", > "tilesetDirection" : "right" > }, > "53" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "00back", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "00back", > "tilesetDirection" : "right" > }, > "54" : { > "//description" : "A set piece not designed to be used as an object.", > "//name" : "00bback", > "//shortdescription" : "Protectorate Background", > "imagePositionX" : "0", > "imagePositionY" : "40", > "object" : "00bback", > "tilesetDirection" : "right" > }, > "55" : { > "//description" : "This fluorescent light has seen better days.", > "//name" : "protectoratebrokenlight", > "//shortdescription" : "Damaged Fluorescent Light", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratebrokenlight" > }, 425a586,591 > "38" : { > "image" : "./../../../../tiled/packed/objects/13bback.png" > }, > "39" : { > "image" : "./../../../../tiled/packed/objects/09bback.png" > }, 428a595,624 > "40" : { > "image" : "./../../../../tiled/packed/objects/14bback.png" > }, > "41" : { > "image" : "./../../../../tiled/packed/objects/15bback.png" > }, > "42" : { > "image" : "./../../../../tiled/packed/objects/12back.png" > }, > "43" : { > "image" : "./../../../../tiled/packed/objects/13back.png" > }, > "44" : { > "image" : "./../../../../tiled/packed/objects/11bback.png" > }, > "45" : { > "image" : "./../../../../tiled/packed/objects/12bback.png" > }, > "46" : { > "image" : "./../../../../tiled/packed/objects/10bback.png" > }, > "47" : { > "image" : "./../../../../tiled/packed/objects/09back.png" > }, > "48" : { > "image" : "./../../../../tiled/packed/objects/protectorateship.png" > }, > "49" : { > "image" : "./../../../../tiled/packed/objects/10back.png" > }, 430a627,644 > }, > "50" : { > "image" : "./../../../../tiled/packed/objects/11back.png" > }, > "51" : { > "image" : "./../../../../tiled/packed/objects/14back.png" > }, > "52" : { > "image" : "./../../../../tiled/packed/objects/15back.png" > }, > "53" : { > "image" : "./../../../../tiled/packed/objects/00back.png" > }, > "54" : { > "image" : "./../../../../tiled/packed/objects/00bback.png" > }, > "55" : { > "image" : "./../../../../tiled/packed/objects/protectoratebrokenlight.png" tilesets\packed\materials.json 77c77 < "//description" : "A thin gravel.", --- > "//description" : "Coarse gravel.", 131c131 < "//description" : "Thick metal bars. Still strong, though decaying with rust.", --- > "//description" : "Thick iron bars. Still strong, though decaying with rust.", 249c249 < "//description" : "Rough and unrefined, this wood looks freshly chopped.", --- > "//description" : "Carefully treated wood that maintains a freshly chopped appearance.", 251c251 < "//shortdescription" : "Unrefined Wood", --- > "//shortdescription" : "Treated Wood", 255c255 < "//description" : "A mouldy lattice made of wood.", --- > "//description" : "A simple lattice made of wood.", 261c261 < "//description" : "A hideous, foul-smelling block made of some kind of flesh.", --- > "//description" : "Some hideous, foul-smelling kind of flesh.", 263c263 < "//shortdescription" : "Flesh Block", --- > "//shortdescription" : "Flesh Chunk", 267c267 < "//description" : "A shining blue block of made of crystals.", --- > "//description" : "A shimmering block of made from crystals.", 273c273 < "//description" : "Ick. Corrupted dirt.", --- > "//description" : "A disgusting block of corrupted dirt.", 275c275 < "//shortdescription" : "Corrupt Dirt Block", --- > "//shortdescription" : "Corrupt Dirt", 335c335 < "//shortdescription" : "Clump of Eyes", --- > "//shortdescription" : "Pile of Eyes", 339c339 < "//description" : "I think I see alien woodworm.", --- > "//description" : "Wood that has been prepared for building and crafting.", 387c387 < "//description" : "Sod block.", --- > "//description" : "A block of sod roofing with growing grass.", 399c399 < "//description" : "A frozen dirt block.", --- > "//description" : "This dirt is frozen solid.", 401c401 < "//shortdescription" : "Frozen Dirt Block", --- > "//shortdescription" : "Frozen Dirt", 441c441 < "//description" : "A solid copper window frame.", --- > "//description" : "A window with a frame made from solid copper.", 453c453 < "//description" : "Copper Roofing", --- > "//description" : "Roofing tiles fashioned from copper.", 479c479 < "//shortdescription" : "Girder Block", --- > "//shortdescription" : "Girder", 513c513 < "//description" : "A block made of vibrantly flowering plant matter.", --- > "//description" : "A fragrant bundle made of flowers and leaves.", 515c515 < "//shortdescription" : "Flowery Matter Block", --- > "//shortdescription" : "Flower Block", 543c543 < "//description" : "Solid geodestone. It reflects the light.-todo-", --- > "//description" : "A solid stone filled with small geode crystals.", 555c555 < "//description" : "A shining blue block of made of geode.-todo-", --- > "//description" : "Glimmering natural geode crystals.", 557c557 < "//shortdescription" : "Geode Block", --- > "//shortdescription" : "Geode Crystals", 563c563 < "//shortdescription" : "Junk Block", --- > "//shortdescription" : "Junk Pile", 767c767 < "//shortdescription" : "Soft Brick Block", --- > "//shortdescription" : "Soft Brick", 837c837 < "//description" : "A dark, smooth stone block. Mysterious.", --- > "//description" : "A dark, smooth stone block.", 941c941 < "//shortdescription" : "Dirt Block", --- > "//shortdescription" : "Dirt", 963c963 < "//description" : "A wall panel marking a potential hazard. Keep clear.", --- > "//description" : "This pattern suggests caution.", 1005c1005 < "//description" : "I can see my reflection... it's hideous!", --- > "//description" : "I can see my reflection.", 1053c1053 < "//description" : "The water appears to have frozen.", --- > "//description" : "Some naturally smooth ice.", 1055c1055 < "//shortdescription" : "Frozen Water", --- > "//shortdescription" : "Smooth Ice", tilesets\packed\supports.json 97c97 < "//description" : "A copper platform.", --- > "//description" : "A platform made from copper.", 151c151 < "//description" : "A golden platform.", --- > "//description" : "For the truly opulent, a platform made from gold.", 153c153 < "//shortdescription" : "Golden Platform", --- > "//shortdescription" : "Gold Platform", tilesets\packed\objects-by-category\crafting.json 308d307 < "//description" : "A device for spinning fabric from natural fibres.", 310,314c309 < "//shortdescription" : "^orange;Spinning Wheel^white;", < "imagePositionX" : "-16", < "imagePositionY" : "0", < "object" : "spinningwheel", < "tilesetDirection" : "right" --- > "invalid" : "true" 782c777 < "image" : "../../../../../tiled/packed/objects/spinningwheel.png" --- > "image" : "../../../../../tiled/packed/../packed/invalid.png" tilesets\packed\objects-by-category\decorative.json 7c7 < "tilecount" : 1147, --- > "tilecount" : 1159, 1225c1225 < "imagePositionY" : "16", --- > "imagePositionY" : "24", 1454a1455,1478 > "1147" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop1", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop1" > }, > "1148" : { > "//description" : "Security station from the Protectorate Academy.", > "//name" : "protectoratesecuritystation", > "//shortdescription" : "Protectorate Security Station", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratesecuritystation" > }, > "1149" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop3", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop3" > }, 1463a1488,1559 > "1150" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop4", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop4" > }, > "1151" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorageempty", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorageempty" > }, > "1152" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage1", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage1" > }, > "1153" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage2", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage2" > }, > "1154" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage3", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage3" > }, > "1155" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop2", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-32", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop2" > }, > "1156" : { > "//description" : "A torn Protectorate wallbanner from the Protectorate academy.", > "//name" : "protectoratefbannertorn2", > "//shortdescription" : "Torn Protectorate Wall Banner", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "protectoratefbannertorn2" > }, > "1157" : { > "//description" : "A torn Protectorate wallbanner from the Protectorate academy.", > "//name" : "protectoratefbannertorn1", > "//shortdescription" : "Torn Protectorate Wall Banner", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "protectoratefbannertorn1" > }, > "1158" : { > "//description" : "A water tank from the Protectorate Academy.", > "//name" : "protectoratewatertank", > "//shortdescription" : "Protectorate Water Tank", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoratewatertank" > }, 1527c1623 < "//description" : "Shiny armour stands resolute.", --- > "//description" : "Shiny armour stands armed and resolute.", 1529c1625 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Armed Display Armour", 2289c2385 < "//description" : "A stone pillar. Important to the community.", --- > "//description" : "A broken stone pillar.", 2291c2387 < "//shortdescription" : "Stone Pillar", --- > "//shortdescription" : "Broken Stone Pillar", 3057c3153 < "//description" : "A large wooden stand.", --- > "//description" : "A wide solid wooden stand.", 3059c3155 < "//shortdescription" : "Large Wooden Stand", --- > "//shortdescription" : "Wide Wooden Stand", 3161c3257 < "//description" : "The sign says 'DANGER'. Wait, how do these people know my middle name?", --- > "//description" : "The sign says \"DANGER\". Wait, how do these people know my middle name?", 3205d3300 < "//description" : "This guy looks handsome.", 3207,3210c3302 < "//shortdescription" : "Decorative Troll Mask", < "imagePositionX" : "-8", < "imagePositionY" : "-8", < "object" : "mask7" --- > "invalid" : "true" 3643c3735 < "//shortdescription" : "Tall Chainlink Fence", --- > "//shortdescription" : "Tall Chain-link Fence", 3700c3792 < "//description" : "This jukebox only seems to have songs from a band called the 'Jon Afro Band'.", --- > "//description" : "This jukebox sounds great! Too bad there only seems to be one track.", 3748c3840 < "//description" : "It's a chainlink fence.", --- > "//description" : "It's a chain-link fence.", 3750c3842 < "//shortdescription" : "Short Chainlink Fence", --- > "//shortdescription" : "Short Chain-link Fence", 3913c4005 < "//description" : "This brightly colored tape clearly indicates that the area is unsafe.", --- > "//description" : "This brightly coloured tape clearly indicates that the area is unsafe.", 4157c4249 < "//description" : "A wooden sink.. I haven't washed my hands in a long time.", --- > "//description" : "A wooden cabinet with a sink installed.", 4350c4442 < "//description" : "A solid wooden stand.", --- > "//description" : "A thin solid wooden stand.", 4352c4444 < "//shortdescription" : "Wooden Stand", --- > "//shortdescription" : "Thin Wooden Stand", 4476c4568 < "//description" : "The sign says, 'Cell Block'.", --- > "//description" : "The sign says, \"Cell Block\".", 4887c4979 < "//description" : "A stone pillar. Important to the community.", --- > "//description" : "A tall stone pillar.", 4934c5026 < "//shortdescription" : "'No Escape' Graffiti", --- > "//shortdescription" : "\"No Escape\" Graffiti", 4975c5067 < "//description" : "It says, \"REMINDER TO ALL INMATES: You're here for life.\"", --- > "//description" : "It says, \"Reminder to all inmates: You're here for life.\"", 5241c5333 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 5250c5342 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 5259c5351 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 5268c5360 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 5665c5757 < "//description" : "", --- > "//description" : "Hollow bamboo strung together to make a wind chime.", 5667c5759 < "//shortdescription" : "Big Ape Ceiling TV", --- > "//shortdescription" : "Bamboo Wind Chime", 6251c6343 < "//description" : "The sign says 'DANGER'. Wait, how do these people know my middle name?", --- > "//description" : "The sign says \"DANGER\". Wait, how do these people know my middle name?", 6259c6351 < "//description" : "This brightly colored tape clearly indicates that the area is unsafe.", --- > "//description" : "This brightly coloured tape clearly indicates that the area is unsafe.", 6372c6464 < "//description" : "Graffiti reading 'turn back'. Chances of it being adhered to: zero.", --- > "//description" : "Graffiti reading \"turn back\". Chances of it being adhered to: zero.", 6467c6559 < "//description" : "Ooh, snack time.", --- > "//description" : "Ooh, what should I get?", 6862c6954 < "//description" : "The sign says, 'Mess Hall'.", --- > "//description" : "The sign says, \"Mess Hall\".", 7391c7483 < "//description" : "The words 'get out' have been written in blood. You can tell the writer was serious.", --- > "//description" : "The words \"get out\" have been written in blood. You can tell the writer was serious.", 7815c7907 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Display Armour", 8190c8282 < "//description" : "The classiest curtain.", --- > "//description" : "This used to be the classiest curtain. Now it's a bit tattered.", 8192c8284 < "//shortdescription" : "Classic Banner Tattered", --- > "//shortdescription" : "Tattered Classic Banner", 10060a10153,10161 > "1147" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop1.png" > }, > "1148" : { > "image" : "../../../../../tiled/packed/objects/protectoratesecuritystation.png" > }, > "1149" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop3.png" > }, 10063a10165,10191 > "1150" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop4.png" > }, > "1151" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorageempty.png" > }, > "1152" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage1.png" > }, > "1153" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage2.png" > }, > "1154" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage3.png" > }, > "1155" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop2.png" > }, > "1156" : { > "image" : "../../../../../tiled/packed/objects/protectoratefbannertorn2.png" > }, > "1157" : { > "image" : "../../../../../tiled/packed/objects/protectoratefbannertorn1.png" > }, > "1158" : { > "image" : "../../../../../tiled/packed/objects/protectoratewatertank.png" > }, 10671c10799 < "image" : "../../../../../tiled/packed/objects/mask7.png" --- > "image" : "../../../../../tiled/packed/../packed/invalid.png" tilesets\packed\objects-by-category\furniture.json 662c662 < "//description" : "A luxurious wooden armchair.", --- > "//description" : "A luxurious armchair.", 664c664 < "//shortdescription" : "Soft Wooden Armchair", --- > "//shortdescription" : "Soft Armchair", 1138c1138 < "//description" : "A wooden toilet.. this must be hard to clean.", --- > "//description" : "A wooden toilet. ", 2135c2135 < "//shortdescription" : "Large Fluffy Couch", --- > "//shortdescription" : "Soft Couch", 2401c2401 < "//description" : "A cute wooden stool.", --- > "//description" : "A small wooden stool.", tilesets\packed\objects-by-category\light.json 7c7 < "tilecount" : 383, --- > "tilecount" : 386, 580c580 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 598c598 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 607c607 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 616c616 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 625c625 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 634c634 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 643c643 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 652c652 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 1757c1757 < "//description" : "It's an oil lantern on a stick.", --- > "//description" : "An oil lantern on a stand.", 2354c2354 < "//description" : "A red flashing light... that's usually not good.", --- > "//description" : "A red flashing light... That's usually not good.", 2452c2452 < "//description" : "A cute ceiling lamp.", --- > "//description" : "A homely ceiling lamp.", 2779a2780,2803 > "383" : { > "//description" : "This fluorescent light has seen better days.", > "//name" : "protectoratebrokenlight", > "//shortdescription" : "Damaged Fluorescent Light", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratebrokenlight" > }, > "384" : { > "//description" : "These electric lanterns generate a pleasantly warm light", > "//name" : "apexfightlantern", > "//shortdescription" : "Apex Lantern", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "apexfightlantern" > }, > "385" : { > "//description" : "These electric lanterns generate a pleasantly warm light", > "//name" : "apexfightlantern_orientation2", > "//shortdescription" : "Apex Lantern", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "apexfightlantern" > }, 2802c2826 < "//description" : "A cute wooden lamp with a homely feel.", --- > "//description" : "A tall wooden lamp with a homely feel.", 4301a4326,4334 > }, > "383" : { > "image" : "../../../../../tiled/packed/objects/protectoratebrokenlight.png" > }, > "384" : { > "image" : "../../../../../tiled/packed/objects/apexfightlantern.png" > }, > "385" : { > "image" : "../../../../../tiled/packed/objects/apexfightlantern_orientation2.png" tilesets\packed\objects-by-category\other.json 1516c1516 < "//description" : "Flowers!", --- > "//description" : "A pretty white flower in a pot.", tilesets\packed\objects-by-category\storage.json 207c207 < "//shortdescription" : "Long Wooden Cabinet", --- > "//shortdescription" : "Wide Wooden Cabinet", 216c216 < "//shortdescription" : "Suspended Bookshelf", --- > "//shortdescription" : "Wall Bookshelf", 432c432 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Double Wall Cabinet", 441c441 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Single Wall Cabinet", 615c615 < "//shortdescription" : "Large Wooden Cabinet", --- > "//shortdescription" : "Double Wooden Cabinet", 676c676 < "//description" : "A pod chest.", --- > "//description" : "A useful storage chest.", 1083c1083 < "//description" : "A cute wooden endtable.", --- > "//description" : "A cute wooden end table.", 1085c1085 < "//shortdescription" : "Wooden Endtable", --- > "//shortdescription" : "Wooden End Table", 1366c1366 < "//description" : "Hey look at this book, 50 Shades of Green. It's about aliens.", --- > "//description" : "A tall wooden bookcase full of books.", tilesets\packed\objects-by-category\wire.json 787c787 < "//description" : "Shiny armour stands resolute. Hmm... the axe looks loose.", --- > "//description" : "Shiny armour stands resolute. Hmm... the shield looks loose.", 789c789 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Suspicious Display Armour", tilesets\packed\objects-by-race\apex.json 1605c1605 < "//description" : "", --- > "//description" : "Hollow bamboo strung together to make a wind chime.", 1607c1607 < "//shortdescription" : "Big Ape Ceiling TV", --- > "//shortdescription" : "Bamboo Wind Chime", 2117c2117 < "//description" : "The classiest curtain.", --- > "//description" : "This used to be the classiest curtain. Now it's a bit tattered.", 2119c2119 < "//shortdescription" : "Classic Banner Tattered", --- > "//shortdescription" : "Tattered Classic Banner", tilesets\packed\objects-by-race\avian.json 1264c1264 < "//description" : "A stone pillar. Important to the community.", --- > "//description" : "A tall stone pillar.", 1651c1651 < "//description" : "A red flashing light... that's usually not good.", --- > "//description" : "A red flashing light... That's usually not good.", 1880c1880 < "//description" : "A stone pillar. Important to the community.", --- > "//description" : "A broken stone pillar.", 1882c1882 < "//shortdescription" : "Stone Pillar", --- > "//shortdescription" : "Broken Stone Pillar", 2053d2052 < "//description" : "This guy looks handsome.", 2055,2058c2054 < "//shortdescription" : "Decorative Troll Mask", < "imagePositionX" : "-8", < "imagePositionY" : "-8", < "object" : "mask7" --- > "invalid" : "true" 3063c3059 < "image" : "../../../../../tiled/packed/objects/mask7.png" --- > "image" : "../../../../../tiled/packed/../packed/invalid.png" tilesets\packed\objects-by-race\generic.json 7c7 < "tilecount" : 1562, --- > "tilecount" : 1565, 1911c1911 < "//description" : "It's an oil lantern on a stick.", --- > "//description" : "An oil lantern on a stand.", 2889c2889 < "//shortdescription" : "Large Fluffy Couch", --- > "//shortdescription" : "Soft Couch", 2981c2981 < "//description" : "A cute wooden endtable.", --- > "//description" : "A cute wooden end table.", 2983c2983 < "//shortdescription" : "Wooden Endtable", --- > "//shortdescription" : "Wooden End Table", 4720c4720 < "imagePositionY" : "16", --- > "imagePositionY" : "24", 5297a5298,5322 > "1562" : { > "//description" : "A broken table.", > "//name" : "scorchedcitybrokentable", > "//shortdescription" : "Broken Table", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "scorchedcitybrokentable", > "tilesetDirection" : "right" > }, > "1563" : { > "//description" : "These electric lanterns generate a pleasantly warm light", > "//name" : "apexfightlantern", > "//shortdescription" : "Apex Lantern", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "apexfightlantern" > }, > "1564" : { > "//description" : "These electric lanterns generate a pleasantly warm light", > "//name" : "apexfightlantern_orientation2", > "//shortdescription" : "Apex Lantern", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "apexfightlantern" > }, 5308c5333 < "//description" : "A cute ceiling lamp.", --- > "//description" : "A homely ceiling lamp.", 5713c5738 < "//description" : "A cute wooden lamp with a homely feel.", --- > "//description" : "A tall wooden lamp with a homely feel.", 6096c6121 < "//description" : "A cute wooden stool.", --- > "//description" : "A small wooden stool.", 6339c6364 < "//description" : "Flowers!", --- > "//description" : "A pretty white flower in a pot.", 6871c6896 < "//description" : "Hey look at this book, 50 Shades of Green. It's about aliens.", --- > "//description" : "A tall wooden bookcase full of books.", 6973c6998 < "//description" : "A large wooden stand.", --- > "//description" : "A wide solid wooden stand.", 6975c7000 < "//shortdescription" : "Large Wooden Stand", --- > "//shortdescription" : "Wide Wooden Stand", 7745c7770 < "//shortdescription" : "Tall Chainlink Fence", --- > "//shortdescription" : "Tall Chain-link Fence", 8344c8369 < "//description" : "A wooden sink.. I haven't washed my hands in a long time.", --- > "//description" : "A wooden cabinet with a sink installed.", 8561c8586 < "//description" : "A solid wooden stand.", --- > "//description" : "A thin solid wooden stand.", 8563c8588 < "//shortdescription" : "Wooden Stand", --- > "//shortdescription" : "Thin Wooden Stand", 9108d9132 < "//description" : "A device for spinning fabric from natural fibres.", 9110,9114c9134 < "//shortdescription" : "^orange;Spinning Wheel^white;", < "imagePositionX" : "-16", < "imagePositionY" : "0", < "object" : "spinningwheel", < "tilesetDirection" : "right" --- > "invalid" : "true" 9766c9786 < "//description" : "A luxurious wooden armchair.", --- > "//description" : "A luxurious armchair.", 9768c9788 < "//shortdescription" : "Soft Wooden Armchair", --- > "//shortdescription" : "Soft Armchair", 9784c9804 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 9793c9813 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 9811c9831 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 9820c9840 < "//description" : "A mouldy wooden support.", --- > "//description" : "A worn wooden support.", 10416c10436 < "//shortdescription" : "Long Wooden Cabinet", --- > "//shortdescription" : "Wide Wooden Cabinet", 10434c10454 < "//shortdescription" : "Suspended Bookshelf", --- > "//shortdescription" : "Wall Bookshelf", 11275c11295 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Double Wall Cabinet", 11293c11313 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Single Wall Cabinet", 11786c11806 < "//description" : "A wooden toilet.. this must be hard to clean.", --- > "//description" : "A wooden toilet. ", 12116c12136 < "//shortdescription" : "Large Wooden Cabinet", --- > "//shortdescription" : "Double Wooden Cabinet", 13202c13222 < "//description" : "A pod chest.", --- > "//description" : "A useful storage chest.", 15128a15149,15157 > "1562" : { > "image" : "../../../../../tiled/packed/objects/scorchedcitybrokentable.png" > }, > "1563" : { > "image" : "../../../../../tiled/packed/objects/apexfightlantern.png" > }, > "1564" : { > "image" : "../../../../../tiled/packed/objects/apexfightlantern_orientation2.png" > }, 16495c16524 < "image" : "../../../../../tiled/packed/objects/spinningwheel.png" --- > "image" : "../../../../../tiled/packed/../packed/invalid.png" tilesets\packed\objects-by-race\glitch.json 647c647 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Display Armour", 738c738 < "//description" : "Shiny armour stands resolute. Hmm... the axe looks loose.", --- > "//description" : "Shiny armour stands resolute. Hmm... the shield looks loose.", 740c740 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Suspicious Display Armour", 995c995 < "//description" : "Shiny armour stands resolute.", --- > "//description" : "Shiny armour stands armed and resolute.", 997c997 < "//shortdescription" : "Glitch Display Armour", --- > "//shortdescription" : "Armed Display Armour", tilesets\packed\objects-by-race\human.json 46c46 < "//description" : "This jukebox only seems to have songs from a band called the 'Jon Afro Band'.", --- > "//description" : "This jukebox sounds great! Too bad there only seems to be one track.", 64c64 < "//description" : "It's a chainlink fence.", --- > "//description" : "It's a chain-link fence.", 66c66 < "//shortdescription" : "Short Chainlink Fence", --- > "//shortdescription" : "Short Chain-link Fence", 142c142 < "//description" : "This brightly colored tape clearly indicates that the area is unsafe.", --- > "//description" : "This brightly coloured tape clearly indicates that the area is unsafe.", 248c248 < "//description" : "The sign says, 'Cell Block'.", --- > "//description" : "The sign says, \"Cell Block\".", 345c345 < "//shortdescription" : "'No Escape' Graffiti", --- > "//shortdescription" : "\"No Escape\" Graffiti", 360c360 < "//description" : "It says, \"REMINDER TO ALL INMATES: You're here for life.\"", --- > "//description" : "It says, \"Reminder to all inmates: You're here for life.\"", 458c458 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 467c467 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 476c476 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 485c485 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 494c494 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 503c503 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 521c521 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 530c530 < "//description" : "It feels like I'm on stage!", --- > "//description" : "A flickering light to set that creepy mood.", 958c958 < "//description" : "The sign says 'DANGER'. Wait, how do these people know my middle name?", --- > "//description" : "The sign says \"DANGER\". Wait, how do these people know my middle name?", 966c966 < "//description" : "This brightly colored tape clearly indicates that the area is unsafe.", --- > "//description" : "This brightly coloured tape clearly indicates that the area is unsafe.", 1091c1091 < "//description" : "Graffiti reading 'turn back'. Chances of it being adhered to: zero.", --- > "//description" : "Graffiti reading \"turn back\". Chances of it being adhered to: zero.", 1188c1188 < "//description" : "Ooh, snack time.", --- > "//description" : "Ooh, what should I get?", 1268c1268 < "//description" : "The sign says, 'Mess Hall'.", --- > "//description" : "The sign says, \"Mess Hall\".", 1372c1372 < "//description" : "The words 'get out' have been written in blood. You can tell the writer was serious.", --- > "//description" : "The words \"get out\" have been written in blood. You can tell the writer was serious.", 2181c2181 < "//description" : "The sign says 'DANGER'. Wait, how do these people know my middle name?", --- > "//description" : "The sign says \"DANGER\". Wait, how do these people know my middle name?", tilesets\packed\objects-by-race\protectorate.json 7c7 < "tilecount" : 22, --- > "tilecount" : 35, 134a135,198 > "22" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop1", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop1" > }, > "23" : { > "//description" : "Security station from the Protectorate Academy.", > "//name" : "protectoratesecuritystation", > "//shortdescription" : "Protectorate Security Station", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratesecuritystation" > }, > "24" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop3", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop3" > }, > "25" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop4", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop4" > }, > "26" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorageempty", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorageempty" > }, > "27" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage1", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage1" > }, > "28" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage2", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage2" > }, > "29" : { > "//description" : "Storage unit from the Protectorate Academy.", > "//name" : "protectoratestorage3", > "//shortdescription" : "Protectorate Storage Unit", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratestorage3" > }, 142a207,246 > "30" : { > "//description" : "A roof top vent from the Protectorate Academy.", > "//name" : "protectoraterooftopprop2", > "//shortdescription" : "Protectorate Roof Top Vent", > "imagePositionX" : "-32", > "imagePositionY" : "0", > "object" : "protectoraterooftopprop2" > }, > "31" : { > "//description" : "A torn Protectorate wallbanner from the Protectorate academy.", > "//name" : "protectoratefbannertorn2", > "//shortdescription" : "Torn Protectorate Wall Banner", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "protectoratefbannertorn2" > }, > "32" : { > "//description" : "A torn Protectorate wallbanner from the Protectorate academy.", > "//name" : "protectoratefbannertorn1", > "//shortdescription" : "Torn Protectorate Wall Banner", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "protectoratefbannertorn1" > }, > "33" : { > "//description" : "A water tank from the Protectorate Academy.", > "//name" : "protectoratewatertank", > "//shortdescription" : "Protectorate Water Tank", > "imagePositionX" : "-48", > "imagePositionY" : "0", > "object" : "protectoratewatertank" > }, > "34" : { > "//description" : "This fluorescent light has seen better days.", > "//name" : "protectoratebrokenlight", > "//shortdescription" : "Damaged Fluorescent Light", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "protectoratebrokenlight" > }, 240a345,368 > "22" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop1.png" > }, > "23" : { > "image" : "../../../../../tiled/packed/objects/protectoratesecuritystation.png" > }, > "24" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop3.png" > }, > "25" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop4.png" > }, > "26" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorageempty.png" > }, > "27" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage1.png" > }, > "28" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage2.png" > }, > "29" : { > "image" : "../../../../../tiled/packed/objects/protectoratestorage3.png" > }, 242a371,385 > }, > "30" : { > "image" : "../../../../../tiled/packed/objects/protectoraterooftopprop2.png" > }, > "31" : { > "image" : "../../../../../tiled/packed/objects/protectoratefbannertorn2.png" > }, > "32" : { > "image" : "../../../../../tiled/packed/objects/protectoratefbannertorn1.png" > }, > "33" : { > "image" : "../../../../../tiled/packed/objects/protectoratewatertank.png" > }, > "34" : { > "image" : "../../../../../tiled/packed/objects/protectoratebrokenlight.png" tilesets\packed\objects-by-type\container.json 143c143 < "//description" : "A wooden sink.. I haven't washed my hands in a long time.", --- > "//description" : "A wooden cabinet with a sink installed.", 508c508 < "//shortdescription" : "Long Wooden Cabinet", --- > "//shortdescription" : "Wide Wooden Cabinet", 526c526 < "//shortdescription" : "Suspended Bookshelf", --- > "//shortdescription" : "Wall Bookshelf", 777c777 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Double Wall Cabinet", 786c786 < "//shortdescription" : "Suspended Cabinet", --- > "//shortdescription" : "Single Wall Cabinet", 1079c1079 < "//description" : "A pod chest.", --- > "//description" : "A useful storage chest.", 1291c1291 < "//shortdescription" : "Large Wooden Cabinet", --- > "//shortdescription" : "Double Wooden Cabinet", 1441c1441 < "imagePositionY" : "16", --- > "imagePositionY" : "24", 1597c1597 < "//description" : "A cute wooden endtable.", --- > "//description" : "A cute wooden end table.", 1599c1599 < "//shortdescription" : "Wooden Endtable", --- > "//shortdescription" : "Wooden End Table", 1969c1969 < "//description" : "Hey look at this book, 50 Shades of Green. It's about aliens.", --- > "//description" : "A tall wooden bookcase full of books.", tilesets\packed\objects-by-type\loungeable.json 172c172 < "//description" : "A luxurious wooden armchair.", --- > "//description" : "A luxurious armchair.", 174c174 < "//shortdescription" : "Soft Wooden Armchair", --- > "//shortdescription" : "Soft Armchair", 580c580 < "//description" : "A wooden toilet.. this must be hard to clean.", --- > "//description" : "A wooden toilet. ", 1394c1394 < "//shortdescription" : "Large Fluffy Couch", --- > "//shortdescription" : "Soft Couch", 1580c1580 < "//description" : "A cute wooden stool.", --- > "//description" : "A small wooden stool.", treasure\monster.treasurepools 2c2 < // STANDARD MONSTERS --- > // STANDARD MONSTER DROPS 11,46c11 < ], < "poolRounds" : [ < [0.20, 0], < [0.80, 1] < ], < "allowDuplication" : false < }] < ], < < "noMeatMonsterTreasure" : [ < [1, { < "pool" : [ < {"weight" : 0.93, "pool" : "money"}, < {"weight" : 0.06, "item" : "mattermodulecomponent"}, < {"weight" : 0.01, "pool" : "basicTreasure"} < ], < "poolRounds" : [ < [0.20, 0], < [0.80, 1] < ], < "allowDuplication" : false < }] < ], < < "weaklingMonsterTreasure" : [ < [1, { < "pool" : [ < {"weight" : 0.96, "pool" : "money"}, < {"weight" : 0.03, "item" : "mattermodulecomponent"}, < {"weight" : 0.01, "pool" : "basicTreasure"} < ], < "poolRounds" : [ < [0.75, 0], < [0.25, 1] < ], < "allowDuplication" : false --- > ] 57,62c22 < ], < "poolRounds" : [ < [0.20, 0], < [0.80, 1] < ], < "allowDuplication" : false --- > ] 69,71c29,31 < {"weight" : 0.55, "pool" : "money"}, < {"weight" : 0.04, "item" : "mattermodulecomponent"}, < {"weight" : 0.10, "item" : "laserdiode"}, --- > {"weight" : 0.63, "pool" : "money"}, > {"weight" : 0.10, "item" : "siliconboard"}, > {"weight" : 0.10, "item" : "smallbattery"}, 73,74c33 < {"weight" : 0.10, "item" : "staticcell"}, < {"weight" : 0.10, "item" : "stickofram"}, --- > {"weight" : 0.06, "item" : "mattermodulecomponent"}, 76,80d34 < ], < "poolRounds" : [ < [0.4, 0], < [0.5, 1], < [0.1, 2] 82,83c36,40 < }], < [1.9, { --- > }] > ], > > "noMeatMonsterTreasure" : [ > [1, { 85c42 < {"weight" : 0.53, "pool" : "money"}, --- > {"weight" : 0.93, "pool" : "money"}, 87,90d43 < {"weight" : 0.10, "item" : "laserdiode"}, < {"weight" : 0.10, "item" : "wire"}, < {"weight" : 0.10, "item" : "staticcell"}, < {"weight" : 0.10, "item" : "stickofram"}, 92,96d44 < ], < "poolRounds" : [ < [0.2, 0], < [0.6, 1], < [0.2, 2] 98,99c46,50 < }], < [3.9, { --- > }] > ], > > "weaklingMonsterTreasure" : [ > [1, { 101,106c52,53 < {"weight" : 0.38, "pool" : "money"}, < {"weight" : 0.06, "item" : "mattermodulecomponent"}, < {"weight" : 0.15, "item" : "laserdiode"}, < {"weight" : 0.15, "item" : "wire"}, < {"weight" : 0.10, "item" : "staticcell"}, < {"weight" : 0.10, "item" : "stickofram"}, --- > {"weight" : 0.96, "pool" : "money"}, > {"weight" : 0.03, "item" : "mattermodulecomponent"}, 110,113c57,60 < [0.1, 0], < [0.6, 1], < [0.3, 2] < ] --- > [0.75, 0], > [0.25, 1] > ], > "allowDuplication" : false 146c93 < // MINBOSSES AND BOSSES --- > // GENERATED MONSTER POOLS 148,164c95 < "dreadWreckage" : [ < [0, { < "pool" : [ < {"weight" : 1, "item" : [ "bossdreadwingCodex", 1]} < ] < }] < ], < < "bosscrystalCodex" : [ < [0, { < "pool" : [ < {"weight" : 1, "item" : [ "bosscrystalCodex", 1]} < ] < }] < ], < < "boss2Treasure" : [ --- > "generatedGroundMonsterTreasure" : [ 166c97,105 < "fill" : [ {"item" : "bossshockhopperCodex"}] --- > "pool" : [ > {"weight" : 0.90, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.10, "item" : "leather"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false 170,172c109 < // GENERATED MONSTER DROPS < < "groundMonsterTreasure" : [ --- > "generatedFlyingMonsterTreasure" : [ 175,176c112 < {"weight" : 0.90, "pool" : "basicMonsterTreasure"}, < {"weight" : 0.10, "item" : "leather"} --- > {"weight" : 1.0, "pool" : "flyingMonsterTreasure"} 560,563d495 < "poolRounds" : [ < [0.20, 0], < [0.80, 1] < ], 1037a970,993 > // MINBOSSES AND BOSSES > > "dreadWreckage" : [ > [0, { > "pool" : [ > {"weight" : 1, "item" : [ "bossdreadwingCodex", 1]} > ] > }] > ], > > "bosscrystalCodex" : [ > [0, { > "pool" : [ > {"weight" : 1, "item" : [ "bosscrystalCodex", 1]} > ] > }] > ], > > "boss2Treasure" : [ > [1, { > "fill" : [ {"item" : "bossshockhopperCodex"}] > }] > ], > 1053c1009 < "potreasure" : [ --- > "chickentreasure" : [ 1056,1057c1012 < {"weight" : 0.5, "pool" : "money"}, < {"weight" : 0.5, "item" : "poop"} --- > {"weight" : 1.0, "item" : [ "rawpoultry", 1]} 1060,1061c1015,1029 < [0.35, 0], < [0.65, 1] --- > [0.5, 0], > [0.5, 1] > ], > "allowDuplication" : true > }] > ], > > "moontantTreasure" : [ > [1, { > "pool" : [ > {"weight" : 1.0, "pool" : "noMeatMonsterTreasure"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] 1067c1035 < "chickentreasure" : [ --- > "pogolemTreasure" : [ 1070c1038 < {"weight" : 1.0, "item" : [ "rawpoultry", 2]} --- > {"weight" : 1.0, "pool" : "noMeatMonsterTreasure"} 1073,1074c1041,1042 < [0.5, 0], < [0.5, 1] --- > [0.20, 0], > [0.80, 1] 1076c1044 < "allowDuplication" : true --- > "allowDuplication" : false 1080c1048 < "moontantTreasure" : [ --- > "robotchickenTreasure" : [ 1083,1085c1051,1064 < {"weight" : 0.96, "pool" : "money"}, < {"weight" : 0.03, "item" : "mattermodulecomponent"}, < {"weight" : 0.01, "pool" : "basicTreasure"} --- > {"weight" : 1.0, "pool" : "robotTreasure"} > ], > "poolRounds" : [ > [0.25, 0], > [0.75, 1] > ], > "allowDuplication" : false > }] > ], > > "serpentdroidTreasure" : [ > [1, { > "pool" : [ > {"weight" : 1.0, "pool" : "robotTreasure"}