FILES ----- terrestrial_worlds.config behaviors\monsters\boss\dragonboss\dragonboss.behavior behaviors\monsters\boss\dragonboss\dragonbreath.behavior behaviors\monsters\mission\cultistballista.behavior behaviors\npc\unique\cultistinvader.behavior biomes\surface\alien.biome biomes\surface\arctic.biome biomes\surface\desert.biome biomes\surface\forest.biome biomes\surface\garden.biome biomes\surface\jungle.biome biomes\surface\magma.biome biomes\surface\midnight.biome biomes\surface\savannah.biome biomes\surface\scorchedcity.biome biomes\surface\snow.biome biomes\surface\tentacles.biome biomes\surface\toxic.biome biomes\surface\toxicoceanfloor.biome biomes\surface\tundra.biome biomes\surface\volcanic.biome biomes\surface_detached\swamp.biome biomes\underground\underground5d.biome biomes\underground_detached\cellcave.biome biomes\underground_detached\luminouscaves.biome dialog\combat.config dungeons\apex\apexcity\apexcity.dungeon [NEW] dungeons\apex\apexcity\apexcitybuilding1.json [NEW] dungeons\apex\apexcity\apexcitybuilding2.json [NEW] dungeons\apex\apexcity\apexcitybuilding3.json dungeons\apex\apexcity\apexcityhouse1.json dungeons\apex\apexcity\apexcityhouse2.json dungeons\apex\apexcity\apexcityhouse3.json dungeons\apex\apexcity\apexcityhouse4.json dungeons\apex\apexcity\apexcityhouse5.json dungeons\apex\apexcity\apexcitymansion2.json [NEW] dungeons\apex\apexcity\apexcityoffice1.json [NEW] dungeons\apex\apexcity\apexcitystore1.json [NEW] dungeons\apex\apextestfacility\basictemplate.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean10.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean11.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean13.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean14.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean15.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean4.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean5.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean6.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean7.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean8.json dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean9.json [NEW] dungeons\other\naturalcave\bossroom-objects.png [NEW] dungeons\other\naturalcave\bossroom.png dungeons\other\naturalcave\entrance1-objects.png dungeons\other\naturalcave\entrance2a-objects.png dungeons\other\naturalcave\entrance2b-objects.png dungeons\other\naturalcave\entrance2c-objects.png dungeons\other\naturalcave\entrance3-objects.png dungeons\other\naturalcave\entrance5-objects.png dungeons\other\naturalcave\entrance6-objects.png dungeons\other\naturalcave\naturalcave.dungeon [NEW] effects\defaultred.effectsource [NEW] effects\defaultyellow.effectsource [NEW] effects\energyplasma.effectsource interface\fuel\fuel.config interface\fuel\fuel2down.png interface\fuel\fuel2up.png interface\fuel\fueluibody.png interface\fuel\fueluifooter.png interface\fuel\fueluiheader.png interface\quests\questcomplete2\details.png interface\quests\questfailed\body.png interface\quests\questfailed\details.png interface\quests\questfailed\questfailed.png interface\windowconfig\newquest.config interface\windowconfig\questcomplete.config interface\windowconfig\questfailed.config items\active\vehiclecontroller\vehiclecursor.lua items\active\weapons\melee\meleeslash.lua items\active\weapons\melee\altabilities\broadsword\traildash\traildash.altability items\active\weapons\melee\broadsword\astrosabredeluxe.animation items\active\weapons\melee\broadsword\timepierce.activeitem items\active\weapons\melee\broadsword\timepierce.animation [NEW] items\active\weapons\other\adaptablecrossbow\adaptableammo.altability [NEW] items\active\weapons\other\adaptablecrossbow\adaptableammo.lua [NEW] items\active\weapons\other\adaptablecrossbow\adaptablecrossbow.activeitem [NEW] items\active\weapons\other\adaptablecrossbow\adaptablecrossbow.frames [NEW] items\active\weapons\other\adaptablecrossbow\adaptablecrossbow.png [NEW] items\active\weapons\other\electricrailgun\default.frames [NEW] items\active\weapons\other\electricrailgun\electricrailgun.activeitem [NEW] items\active\weapons\other\electricrailgun\electricrailgun.animation [NEW] items\active\weapons\other\electricrailgun\electricrailgun.png [NEW] items\active\weapons\other\electricrailgun\electricrailgunfullbright.png items\active\weapons\other\exmachina\exmachina.activeitem items\active\weapons\other\fireworkgun\fireworkgun.activeitem items\active\weapons\other\fireworkgun\fireworkgun.png items\active\weapons\other\flamingdemonsword\flamingdemonsword.activeitem items\active\weapons\other\flamingdemonsword\flamingdemonsword.animation items\active\weapons\other\flamingdemonsword\flamingdemonsword.png items\active\weapons\other\flamingdemonsword\flamingdemonswordfullbright.png [NEW] items\active\weapons\other\gristlegun\gristlegun.activeitem [NEW] items\active\weapons\other\gristlegun\gristlegun.png items\active\weapons\other\magnorbs\magnorbs.activeitem items\active\weapons\other\magnorbs\magnorbs.lua [NEW] items\active\weapons\other\soulseeker\soulseeker.activeitem [NEW] items\active\weapons\other\soulseeker\soulseeker.animation [NEW] items\active\weapons\other\soulseeker\soulseeker.png [NEW] items\active\weapons\other\soulseeker\soulseekerfullbright.png [NEW] items\active\weapons\other\soulseeker\soulseekerswoosh.frames [NEW] items\active\weapons\other\soulseeker\soulseekerswoosh.png items\active\weapons\ranged\gunfire.lua items\active\weapons\ranged\altabilities\guidedrocket\exmachinarocket.altability items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.altability items\active\weapons\ranged\altabilities\homingrocket\homingrocket.lua items\active\weapons\ranged\altabilities\homingrocket\homingrocketanimation.lua items\active\weapons\ranged\altabilities\sparkles\sparkles.altability items\active\weapons\whip\ropewhip.activeitem items\active\weapons\whip\vinewhip.activeitem items\active\weapons\whip\whipcrack.lua [NEW] items\armors\backerhats\multicamboonie\head.png [NEW] items\armors\backerhats\multicamboonie\icons.png [NEW] items\armors\backerhats\multicamboonie\mask.png [NEW] items\armors\backerhats\multicamboonie\multicamboonie.head items\armors\backerhats\valkyriehelm\head.png [NEW] items\armors\backerhats\valkyriehelm\icons.png [NEW] items\armors\backerhats\valkyriehelm\mask.png [NEW] items\armors\backerhats\valkyriehelm\valkyriehelm.head items\armors\biome\scorchedcity\deadbeatbruisernerd\deadbeatbruisernerd.head items\armors\biome\scorchedcity\deadbeatscroungerhornmask\deadbeatscroungerhornmask.head items\armors\biome\scorchedcity\deadbeatscroungerstraps\deadbeatscroungerstraps.legs items\armors\biome\scorchedcity\deadbeatthugspandex\deadbeatthugspandex.chest items\armors\decorative\hats\eye\cameraman.head items\armors\protectorate\raggedprotectoratecape\raggedprotectoratecape.back items\augments\pet\ghostlycollar.augment items\buildscripts\buildwhip.lua items\buildscripts\weaponabilities.config monsters\boss\apeboss\apeboss.monstertype monsters\boss\apebossprojector\apebossprojector.monstertype monsters\boss\crystalboss\crystalboss.monstertype monsters\boss\cultistboss\cultistboss.monstertype monsters\boss\dragonboss\dragonboss.monstertype monsters\boss\kluexboss\kluexboss.monstertype monsters\boss\kluexbossstatue\kluexbossstatue.monstertype monsters\boss\penguinufo\penguinufo.monstertype monsters\boss\robotboss\robotboss.monstertype monsters\boss\spiderboss\spiderboss.monstertype monsters\bugs\glowbug\body.monsterpart [NEW] monsters\bugs\glowbug\body.png [NEW] monsters\bugs\glowbug\glow.monsterpart [NEW] monsters\bugs\glowbug\glow.png monsters\bugs\glowbug\glowbug.animation monsters\bugs\glowbug\glowbug.monstertype monsters\crawlers\oculob\oculob.monstertype monsters\crawlers\pulpin\pulpin.monstertype monsters\crawlers\triplod\triplod.monstertype monsters\dungeon\cleaningbot\cleaningbot.monstertype monsters\dungeon\giftmonster\giftmonster.monstertype monsters\dungeon\giftmonster\giftmonstersmall.monstertype monsters\dungeon\glitchspider\glitchspider.monstertype monsters\dungeon\po\megapo.monstertype monsters\dungeon\po\micropo.monstertype monsters\dungeon\po\po.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\dungeon\swarpion\swarpion.monstertype monsters\flyers\pteropod\pteropod.monstertype monsters\flyers\scandroid\scandroid.monstertype monsters\ghosts\ignome\ignome.monstertype monsters\ghosts\lumoth\lumoth.monstertype monsters\ghosts\nautileech\nautileech.monstertype monsters\ghosts\pyromantle\pyromantle.monstertype monsters\ghosts\skimbus\skimbus.monstertype monsters\ghosts\spookit\spookit.monstertype monsters\ghosts\tentacleghost\tentacleghost.monstertype monsters\ghosts\wisper\wisper.monstertype monsters\mission\helicultist\helicultist.monstertype monsters\mission\ixoling\ixoling.monstertype monsters\mission\kluexsentry\kluexsentry.monstertype monsters\mission\kluextotem\kluextotem.monstertype monsters\walkers\bobot\bobot.monstertype monsters\walkers\capricoat\capricoat.monstertype monsters\walkers\crabcano\crabcano.monstertype monsters\walkers\crutter\crutter.monstertype monsters\walkers\fennix\fennix.monstertype monsters\walkers\miasmop\miasmop.monstertype monsters\walkers\narfin\narfin.monstertype monsters\walkers\pipkin\pipkin.monstertype monsters\walkers\smoglin\smoglin.monstertype monsters\walkers\snaunt\snaunt.monstertype monsters\walkers\sporgus\sporgus.monstertype monsters\walkers\voltip\voltip.monstertype [NEW] npcs\apexrebelvillager.npctype npcs\tutorial.npctype npcs\arena\arenapyro.npctype npcs\mission\castlearcher.npctype npcs\mission\cultistarcher.npctype npcs\mission\cultistknight.npctype npcs\story\nuru.npctype npcs\story\nurufight.npctype [NEW] objects\apex\apexstoreshelf\apexstoreshelf.frames [NEW] objects\apex\apexstoreshelf\apexstoreshelf.object [NEW] objects\apex\apexstoreshelf\apexstoreshelf.png [NEW] objects\apex\apexstoreshelf\apexstoreshelficon.png [NEW] objects\apex\apexstoresign\apexstoresign.frames [NEW] objects\apex\apexstoresign\apexstoresign.object [NEW] objects\apex\apexstoresign\apexstoresign.png [NEW] objects\apex\apexstoresign\apexstoresignicon.png [NEW] objects\apex\apexstoresign\apexstoresignlit.frames [NEW] objects\apex\apexstoresign\apexstoresignlit.png objects\biome\bone\bonedoor\bonedoor.object objects\bugs\glowbug\glowbug.object objects\bugs\glowbug\glowbug.png objects\bugs\glowbug\glowbugicon.png [NEW] objects\bugs\glowbug\glowbuglit.frames [NEW] objects\bugs\glowbug\glowbuglit.png objects\generic\sleepingbag\sleepingbag.object objects\generic\sleepingbaggreen\sleepingbaggreen.object objects\generic\sleepingbagred\sleepingbagred.object objects\generic\tent1\tent1.object objects\generic\tent1blue\tent1blue.object objects\generic\tent1red\tent1red.object objects\generic\tent2\tent2.object objects\generic\tent2yellow\tent2yellow.object objects\outpost\2stopteleshop\2stopshop.object objects\outpost\frogfurnishing\frogfurnishing.object objects\outpost\infinityexpress\infinityexpress.object objects\outpost\penguinbay\penguinbay.object objects\outpost\repairo\repairo.object objects\outpost\shipyardcaptain\shipyardcaptain.object objects\outpost\terramart\terramart.object objects\spawner\colonydeed\colonydeed.lua [NEW] particles\defaultred.particle [NEW] particles\defaultyellow.particle [NEW] particles\electricenergy.particle [NEW] particles\firestormflame.particle [NEW] particles\firestormflame2.particle [NEW] particles\firestormflame3.particle projectiles\physics.config projectiles\activeitems\guidedrocket\exmachinarocket.projectile [NEW] projectiles\activeitems\whip\default.frames projectiles\activeitems\whip\whipcrackelectric.projectile [NEW] projectiles\activeitems\whip\whipcrackenergy.png projectiles\activeitems\whip\whipcrackphysical.projectile [NEW] projectiles\activeitems\whip\whipcrackpoison.png [NEW] projectiles\activeitems\whip\whipcrackpoison.projectile projectiles\guns\bullets\bonethorn\bonethorn.projectile projectiles\guns\rockets\homingrocket\homingrocket.lua [NEW] projectiles\guns\unsorted\railgunlightning\icon.png [NEW] projectiles\guns\unsorted\railgunlightning\railgunlightning.frames [NEW] projectiles\guns\unsorted\railgunlightning\railgunlightning.png [NEW] projectiles\guns\unsorted\railgunlightning\railgunlightning.projectile projectiles\throwable\fireworkblue3\fireworkblue3.projectile projectiles\throwable\fireworkgreen2\fireworkgreen2.projectile projectiles\throwable\fireworkgreen3\fireworkgreen3.projectile [NEW] projectiles\throwable\fireworkgun\default.frames projectiles\throwable\fireworkgun\fireworkgun.png projectiles\throwable\fireworkgun\fireworkgun.projectile [NEW] projectiles\throwable\fireworkgun\fireworkgunblue.png [NEW] projectiles\throwable\fireworkgun\fireworkgunblue.projectile [NEW] projectiles\throwable\fireworkgun\fireworkgungreen.png [NEW] projectiles\throwable\fireworkgun\fireworkgungreen.projectile [NEW] projectiles\throwable\fireworkgun\fireworkgunred.png [NEW] projectiles\throwable\fireworkgun\fireworkgunred.projectile [NEW] projectiles\throwable\fireworkgun\fireworkgunyellow.png [NEW] projectiles\throwable\fireworkgun\fireworkgunyellow.projectile projectiles\throwable\fireworkgun2\fireworkgun2.projectile projectiles\throwable\fireworkgun3\fireworkgun3.projectile [NEW] projectiles\throwable\fireworkgunyellow2\fireworkgunyellow2.frames [NEW] projectiles\throwable\fireworkgunyellow2\fireworkgunyellow2.png [NEW] projectiles\throwable\fireworkgunyellow2\fireworkgunyellow2.projectile [NEW] projectiles\throwable\fireworkgunyellow3\fireworkgunyellow3.frames [NEW] projectiles\throwable\fireworkgunyellow3\fireworkgunyellow3.png [NEW] projectiles\throwable\fireworkgunyellow3\fireworkgunyellow3.projectile [NEW] projectiles\throwable\fireworkred2\fireworkred2.frames [NEW] projectiles\throwable\fireworkred2\fireworkred2.png [NEW] projectiles\throwable\fireworkred2\fireworkred2.projectile [NEW] projectiles\throwable\fireworkred3\fireworkred3.frames [NEW] projectiles\throwable\fireworkred3\fireworkred3.png [NEW] projectiles\throwable\fireworkred3\fireworkred3.projectile radiomessages\missions.radiomessages radiomessages\tutorial.radiomessages scripts\actions\entities.lua [NEW] sfx\gun\electricrailgun1.ogg sfx\gun\fireworkgun_small1.ogg sfx\gun\fireworkgun_small2.ogg [NEW] sfx\gun\fireworkgun_small3.ogg [NEW] sfx\melee\timepierce_swing1.ogg [NEW] sfx\melee\timepierce_swing2.ogg [NEW] sfx\melee\timepierce_windup.ogg [NEW] sfx\projectiles\guidedrocket_loop1.ogg [NEW] sfx\projectiles\guidedrocket_loop2.ogg [NEW] sfx\statuseffects\timeslow_loop.ogg [NEW] sfx\statuseffects\timeslow_start.ogg spawntypes\critter.spawntypes spawntypes\uniques.spawntypes stagehands\radiomessage.lua stagehands\mission\glitchmissionmanager.lua stagehands\mission\glitchmissionmanager.stagehand [NEW] stats\effects\ballistapusher\ballistapusher.lua [NEW] stats\effects\ballistapusher\ballistapusher.statuseffect stats\effects\breathprotectionvehicle\breathprotectionvehicle.lua stats\effects\burning\burning.statuseffect stats\effects\castelectric\castelectric.statuseffect stats\effects\castfire\castfire.statuseffect stats\effects\castice\castice.statuseffect stats\effects\castphysical\castphysical.statuseffect stats\effects\castpoison\castpoison.statuseffect stats\effects\electricblock\electricblock.lua stats\effects\electrified\electrified.statuseffect stats\effects\fireblock\fireblock.lua stats\effects\frostslow\frostslow.statuseffect stats\effects\frostslow\frostsnare.statuseffect stats\effects\iceblock\iceblock.lua stats\effects\liquidimmunity\liquidimmunity.lua stats\effects\maxenergyboost\maxenergyboost.lua stats\effects\maxenergyscalingboost\maxenergyscalingboost.lua stats\effects\maxhealthboost\maxhealthboost.lua stats\effects\maxhealthscalingboost\maxhealthscalingboost.lua stats\effects\maxprotection\protection.lua stats\effects\poisonblock\poisonblock.lua stats\effects\timeslow\timeslow.animation stats\effects\timeslow\timeslow.lua stats\effects\timeslow\timeslow.statuseffect stats\effects\weakpoison\weakpoison.statuseffect tilesets\packed\materials.json tilesets\packed\objects-by-category\decorative.json tilesets\packed\objects-by-category\farmable.json tilesets\packed\objects-by-category\storage.json tilesets\packed\objects-by-category\wire.json tilesets\packed\objects-by-colonytag\apex.json tilesets\packed\objects-by-colonytag\commerce.json tilesets\packed\objects-by-colonytag\cooking.json tilesets\packed\objects-by-colonytag\door.json tilesets\packed\objects-by-colonytag\human.json tilesets\packed\objects-by-colonytag\humanvillage.json tilesets\packed\objects-by-colonytag\nature.json tilesets\packed\objects-by-colonytag\storage.json tilesets\packed\objects-by-colonytag\wired.json tilesets\packed\objects-by-race\apex.json tilesets\packed\objects-by-race\generic.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\farmable.json DIFFS ----- terrestrial_worlds.config 1a2,4 > // TODO: delete this stupid setting once we make a final design decision > "useSecondaryEnvironmentBiomeIndex" : false, > 40c43 < --- > 53c56,62 < //"primaryRegion" : [ ], --- > //"primaryRegion" : [], > > // empty list means that no secondary regions will be selected > "secondaryRegions" : [], > > // range for how many secondary regions should be spawned in addition to the primary region > "secondaryRegionCount" : [2, 3], 55,56c64,65 < // empty list means that no secondary region will be selected < "secondaryRegion" : [ ], --- > // range for the size of each secondary region relative to the size of the primary region > "secondaryRegionSize" : [0.3, 0.8], 58,59c67,69 < "secondaryRegionPeriod" : [1, 1], < "secondaryRegionSize" : [400, 600], --- > // range for the size of a subregion relative to the total size of its containing region > // (including the subregion, so size 0.5 would be equal parts region and subregion) > "subRegionSize" : [0.3, 0.5], 61c71 < "dungeons" : [ ], --- > "dungeons" : [], 72c82 < "primaryRegion" : [ "asteroids" ] --- > "primaryRegion" : ["asteroids"] 75c85 < "primaryRegion" : [ "atmosphere" ] --- > "primaryRegion" : ["atmosphere"] 78c88 < "primaryRegion" : [ "barren" ] --- > "primaryRegion" : ["barren"] 81c91 < "primaryRegion" : [ "shallowunderground" ] --- > "primaryRegion" : ["subsurface"] 84c94 < "primaryRegion" : [ "shallowunderground" ] --- > "primaryRegion" : ["shallowunderground"] 87c97 < "primaryRegion" : [ "midunderground" ] --- > "primaryRegion" : ["midunderground"] 90,105c100 < "primaryRegion" : [ "midunderground" ] < }, < "underground4" : { < "primaryRegion" : [ "deepunderground" ] < }, < "underground5" : { < "primaryRegion" : [ "deepunderground" ] < }, < "underground6" : { < "primaryRegion" : [ "deepunderground" ] < }, < "underground7" : { < "primaryRegion" : [ "deepunderground" ] < }, < "underground8" : { < "primaryRegion" : [ "deepunderground" ] --- > "primaryRegion" : ["deepunderground"] 108c103 < "primaryRegion" : [ "core" ] --- > "primaryRegion" : ["core"] 112c107 < --- > 117c112 < --- > 119,122c114,115 < < "layerDefaults" : { < "secondaryRegionPeriod" : [2000, 2000], < "secondaryRegionSize" : [1000, 1000], --- > > "layerDefaults" : { 125c118 < --- > 137c130 < "layerLevel" : 800 --- > "layerLevel" : 550 140,144c133 < "baseHeight" : 625, < "layerLevel" : 600 < }, < "underground1" : { < "baseHeight" : 550, --- > "baseHeight" : 525, 147c136 < "underground2" : { --- > "underground1" : { 151c140 < "underground3" : { --- > "underground2" : { 155c144 < "underground4" : { --- > "underground3" : { 159,170d147 < "underground5" : { < "enabled" : false < }, < "underground6" : { < "enabled" : false < }, < "underground7" : { < "enabled" : false < }, < "underground8" : { < "enabled" : false < }, 179c156 < --- > 181c158 < --- > 183,184d159 < "secondaryRegionPeriod" : [2500, 2500], < "secondaryRegionSize" : [1000, 1500], 187c162 < --- > 198,199c173,174 < "baseHeight" : 1075, < "layerLevel" : 1000 --- > "baseHeight" : 1000, > "layerLevel" : 900 202c177 < "baseHeight" : 825, --- > "baseHeight" : 850, 206,210c181 < "baseHeight" : 750, < "layerLevel" : 700 < }, < "underground2" : { < "baseHeight" : 650, --- > "baseHeight" : 700, 213,218c184,185 < "underground3" : { < "baseHeight" : 550, < "layerLevel" : 500 < }, < "underground4" : { < "baseHeight" : 450, --- > "underground2" : { > "baseHeight" : 500, 221,226c188,189 < "underground5" : { < "baseHeight" : 350, < "layerLevel" : 300 < }, < "underground6" : { < "baseHeight" : 250, --- > "underground3" : { > "baseHeight" : 300, 229,234d191 < "underground7" : { < "enabled" : false < }, < "underground8" : { < "enabled" : false < }, 242,243c199,200 < "size" : [6000, 4000], < --- > "size" : [6000, 3000], > 245c202 < --- > 247,248d203 < "secondaryRegionPeriod" : [4000, 4000], < "secondaryRegionSize" : [1500, 2000], 251c206 < --- > 254,257d208 < "baseHeight" : 3500, < "layerLevel" : 3000 < }, < "atmosphere" : { 261c212 < "surface" : { --- > "atmosphere" : { 263c214,218 < "layerLevel" : 1600 --- > "layerLevel" : 1400 > }, > "surface" : { > "baseHeight" : 1000, > "layerLevel" : 900 266,267c221,222 < "baseHeight" : 1425, < "layerLevel" : 1400 --- > "baseHeight" : 850, > "layerLevel" : 800 270,271c225,226 < "baseHeight" : 1325, < "layerLevel" : 1250 --- > "baseHeight" : 700, > "layerLevel" : 600 274,275c229,230 < "baseHeight" : 1175, < "layerLevel" : 1100 --- > "baseHeight" : 500, > "layerLevel" : 400 278,298c233 < "baseHeight" : 1025, < "layerLevel" : 950 < }, < "underground4" : { < "baseHeight" : 875, < "layerLevel" : 800 < }, < "underground5" : { < "baseHeight" : 725, < "layerLevel" : 650 < }, < "underground6" : { < "baseHeight" : 575, < "layerLevel" : 500 < }, < "underground7" : { < "baseHeight" : 425, < "layerLevel" : 350 < }, < "underground8" : { < "baseHeight" : 275, --- > "baseHeight" : 300, 308c243 < --- > 315,316c250,251 < "primaryRegion" : [ "garden" ], < "secondaryRegion" : [ ], --- > "primaryRegion" : ["garden"], > "secondaryRegions" : ["forest"], 318,346c253 < "dungeons" : [ "naturalcave" ] < } < } < }, < < "tentacles" : { < "threatRange" : [2, 2], < "layers" : { < "surface" : { < "primaryRegion" : [ "tentacles" ], < "dungeons" : [ "hylotlcity", "glitchsewer", "glitchvillage", "apexresearchlab", "apextestchamber", "apextowerblock", "aviantomb", "aviantower", "avianvillage", "humanbunker", "floranhuntinggrounds", "floranvillagetower" ] < }, < "underground1" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground2" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground3" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground4" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground5" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground6" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] --- > "dungeons" : ["naturalcave"] 355,375c262,264 < "primaryRegion" : [ "forest" ], < "secondaryRegion" : [ "spring", "mushroom" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "glitchvillage", "apexresearchlab", "apextestchamber", "apextowerblock", "aviantomb", "aviantower", "avianvillage", "humanbunker", "floranhuntinggrounds", "floranvillagetower" ] < }, < "underground1" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground2" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground3" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground4" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground5" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground6" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] --- > "primaryRegion" : ["forest"], > "secondaryRegions" : ["alien", "barren", "garden", "jungle", "moon", "scorchedcity", "volcanic"], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 383,385c272,274 < "primaryRegion" : [ "desert" ], < "secondaryRegion" : [ "oasis", "tar" ], < "dungeons" : [ "humancamp", "hylotlcity", "glitchsewer", "glitchvillage", "apexresearchlab", "apextestchamber", "apextowerblock", "aviantomb", "aviantower", "avianvillage", "humanbunker", "floranhuntinggrounds", "floranvillagetower" ] --- > "primaryRegion" : ["desert"], > "secondaryRegions" : [ "alien", "barren", "forest", "garden", "midnight", "moon", "savannah", "scorchedcity" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 388,406c277 < "primaryRegion" : [ "desertsubsurface" ] < }, < "underground1" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground2" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground3" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground4" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground5" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] < }, < "underground6" : { < "secondaryRegion" : [ "tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground" ] --- > "primaryRegion" : ["desertsubsurface"] 416c287 < "primaryRegion" : [ "ocean" ] --- > "primaryRegion" : ["ocean"] 419,438c290,291 < "primaryRegion" : [ "oceanfloor" ], < "dungeons" : [ "hylotloceancity" ] < }, < "underground1" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] --- > "primaryRegion" : ["oceanfloor"], > "dungeons" : ["hylotloceancity"] 446,466c299,301 < "primaryRegion" : [ "savannah" ], < "secondaryRegion" : [ "colourful", "bones" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "glitchvillage", "apexresearchlab", "apextestchamber", "apextowerblock", "aviantomb", "aviantower", "avianvillage", "humanbunker", "floranhuntinggrounds", "floranvillagetower" ] < }, < "underground1" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] --- > "primaryRegion" : ["savannah"], > "secondaryRegions" : [ "alien", "barren", "desert", "forest", "garden", "midnight" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 474,494c309,311 < "primaryRegion" : [ "snow" ], < "secondaryRegion" : [ "bioluminescence", "alpine" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "glitchvillage", "apexresearchlab", "apextestchamber", "apextowerblock", "aviantomb", "aviantower", "avianvillage", "humanbunker", "floranhuntinggrounds", "floranvillagetower" ] < }, < "underground1" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "luminouscaves", "stonecaves", "bonecaves", "icecaves" ] --- > "primaryRegion" : ["snow"], > "secondaryRegions" : [ "barren", "forest", "garden", "midnight", "scorchedcity", "tundra" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 503,523c320,322 < "primaryRegion" : [ "jungle" ], < "secondaryRegion" : [ "giantflowers", "swamp" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] < }, < "underground1" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] --- > "primaryRegion" : ["jungle"], > "secondaryRegions" : [ "alien", "barren", "garden", "forest", "moon", "scorchedcity", "volcanic" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 532c331 < "primaryRegion" : [ "toxic" ] --- > "primaryRegion" : ["toxic"] 535,553c334 < "primaryRegion" : [ "toxicoceanfloor" ] < }, < "underground1" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] --- > "primaryRegion" : ["toxicoceanfloor"] 561,581c342,343 < "primaryRegion" : [ "alien" ], < "secondaryRegion" : [ "eyepatch", "flesh" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] < }, < "underground1" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground2" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground3" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground4" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground5" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] < }, < "underground6" : { < "secondaryRegion" : [ "cellcaves", "fleshcaves", "slimecaves" ] --- > "primaryRegion" : ["barren", "desert", "forest", "garden", "jungle", "midnight", "moon", "savannah", "scorchedcity", "snow", "tundra", "volcanic"], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 591c353 < "primaryRegion" : [ "arctic" ] --- > "primaryRegion" : ["arctic"] 594c356 < "primaryRegion" : [ "arcticoceanfloor" ] --- > "primaryRegion" : ["arcticoceanfloor"] 602,604c364,366 < "primaryRegion" : [ "tundra" ], < "secondaryRegion" : [ "steamspring", "prism" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] --- > "primaryRegion" : ["tundra"], > "secondaryRegions" : [ "barren", "snow", "midnight", "scorchedcity", "moon" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 612,614c374,376 < "primaryRegion" : [ "midnight" ], < "secondaryRegion" : [ "hive" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] --- > "primaryRegion" : ["midnight"], > "secondaryRegions" : [ "alien", "barren", "desert", "forest", "garden", "jungle", "midnight", "moon", "savannah", "scorchedcity", "snow", "tundra", "volcanic" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 618c380 < --- > 623,625c385,387 < "primaryRegion" : [ "volcanic" ], < "secondaryRegion" : [ "geode" ], < "dungeons" : [ "floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] --- > "primaryRegion" : ["volcanic"], > "secondaryRegions" : [ "alien", "barren", "desert", "forest", "midnight", "scorchedcity", "moon" ], > "dungeons" : ["floranhutvillage", "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 634c396 < "primaryRegion" : [ "magma" ] --- > "primaryRegion" : ["magma"] 637c399 < "primaryRegion" : [ "magmaoceanfloor" ] --- > "primaryRegion" : ["magmaoceanfloor"] 645,646c407,409 < "primaryRegion" : [ "scorchedcity" ], < "dungeons" : [ "humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell" ] --- > "primaryRegion" : ["scorchedcity"], > "secondaryRegions" : [ "alien", "barren", "desert", "forest", "garden", "jungle", "midnight", "moon", "savannah", "scorchedcity", "snow", "tundra", "volcanic" ], > "dungeons" : ["humancamp", "hylotlcity", "glitchsewer", "apexresearchlab", "apextestchamber", "aviantomb", "aviantower", "humanbunker", "floranhuntinggrounds", "glitchcastle", "humanprison", "aviantemple", "avianairship", "floranhell"] 656c419 < "primaryRegion" : [ "moon" ] --- > "primaryRegion" : ["moon"] 659c422 < "primaryRegion" : [ "moonunderground" ] --- > "primaryRegion" : ["moonunderground"] 662c425,426 < "primaryRegion" : [ "moonunderground" ] --- > "primaryRegion" : ["moonunderground"], > "secondaryRegions" : [] 665c429,430 < "primaryRegion" : [ "moonunderground" ] --- > "primaryRegion" : ["moonunderground"], > "secondaryRegions" : [] 668,677c433,434 < "primaryRegion" : [ "moonunderground" ] < }, < "underground4" : { < "primaryRegion" : [ "moonunderground" ] < }, < "underground5" : { < "primaryRegion" : [ "moonunderground" ] < }, < "underground6" : { < "primaryRegion" : [ "moonunderground" ] --- > "primaryRegion" : ["moonunderground"], > "secondaryRegions" : [] 680c437 < "primaryRegion" : [ "mooncore" ], --- > "primaryRegion" : ["mooncore"], 690c447 < "primaryRegion" : [ "barren" ] --- > "primaryRegion" : ["barren"] 693c450 < "primaryRegion" : [ "barrenunderground" ] --- > "primaryRegion" : ["barrenunderground"] 696c453,454 < "primaryRegion" : [ "barrenunderground" ] --- > "primaryRegion" : ["barrenunderground"], > "secondaryRegions" : [] 699c457,458 < "primaryRegion" : [ "barrenunderground" ] --- > "primaryRegion" : ["barrenunderground"], > "secondaryRegions" : [] 702c461,462 < "primaryRegion" : [ "barrenunderground" ] --- > "primaryRegion" : ["barrenunderground"], > "secondaryRegions" : [] 704,705c464,475 < "underground4" : { < "primaryRegion" : [ "barrenunderground" ] --- > "core" : { > "primaryRegion" : ["barrenunderground"] > } > } > }, > > "tentacles" : { > "threatRange" : [2, 2], > "layers" : { > "surface" : { > "primaryRegion" : ["tentacles"], > "dungeons" : [] 707,708c477,478 < "underground5" : { < "primaryRegion" : [ "barrenunderground" ] --- > "underground1" : { > "secondaryRegions" : [] 710,711c480,481 < "underground6" : { < "primaryRegion" : [ "barrenunderground" ] --- > "underground2" : { > "secondaryRegions" : [] 713,714c483,484 < "core" : { < "primaryRegion" : [ "barrenunderground" ] --- > "underground3" : { > "secondaryRegions" : [] 722c492 < "blockSelector" : [ "solid" ], --- > "blockSelector" : ["solid"], 725,726c495,496 < "fgCaveSelector" : [ "normalCaves" ], < "bgCaveSelector" : [ "backgroundCaves" ], --- > "fgCaveSelector" : ["normalCaves"], > "bgCaveSelector" : ["backgroundCaves"], 728,729c498,499 < "fgOreSelector" : [ "normalVeins" ], < "bgOreSelector" : [ "normalBackgroundVeins" ], --- > "fgOreSelector" : ["normalVeins"], > "bgOreSelector" : ["normalBackgroundVeins"], 731c501 < "subBlockSelector" : [ "largeClumps" ], --- > "subBlockSelector" : ["largeClumps"], 733c503 < "oceanLiquid" : [ ], // empty for no ocean --- > "oceanLiquid" : [], // empty for no ocean 738,739c508,511 < "caveLiquid" : [ ], // can be empty for no liquid < "caveLiquidSeedDensityRange" : [1.0, 1.5] --- > "caveLiquid" : [], // can be empty for no liquid > "caveLiquidSeedDensityRange" : [1.0, 1.5], > > "subRegion" : [] 781,793c553,554 < ] < }, < < "tentacles" : { < "caveLiquid" : [ "poison" ], < "caveLiquidSeedDensityRange" : [20, 20], < "encloseLiquids" : true, < "blockSelector" : [ "remixedMildSurface" ], < "fgCaveSelector" : [ "surfaceCaves" ], < "bgCaveSelector" : [ "empty" ], < "biome" : [ < [0, [ "tentacles" ]] < ] --- > ], > "subRegion" : ["spring", "mushroom"] 797c558 < "blockSelector" : [ "remixedMildCanyonsSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 802c563,564 < ] --- > ], > "subRegion" : ["oasis", "tar"] 807c569 < "blockSelector" : [ "remixedStepsSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 812c574,575 < ] --- > ], > "subRegion" : ["colourful", "bones"] 816c579 < "blockSelector" : [ "remixedMildSurface", "remixedMildCanyonsSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 821c584,585 < ] --- > ], > "subRegion" : ["bioluminescence", "alpine"] 852c616,617 < ] --- > ], > "subRegion" : ["swamp", "giantflowers"] 857c622 < "blockSelector" : [ "remixedSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 862c627,628 < ] --- > ], > "subRegion" : ["eyepatch", "flesh"] 888c654 < "blockSelector" : [ "remixedSurface", "remixedCanyonsSurface", "remixedMountainsSurface", "remixedSpikesSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 893c659,660 < ] --- > ], > "subRegion" : ["steamspring", "prism"] 903c670,671 < ] --- > ], > "subRegion" : ["swamp", "giantflowers"] 917,918c685,686 < "volcanic" : { < "caveLiquid" : [ "lava" ], --- > "midnight" : { > "caveLiquid" : [ "water" ], 921c689 < "blockSelector" : [ "remixedSurface", "remixedCanyonsSurface", "remixedMountainsSurface", "remixedSpikesSurface2" ], --- > "blockSelector" : [ "remixedMildSurface" ], 925,926c693,695 < [0, [ "volcanic" ]] < ] --- > [0, [ "midnight" ]] > ], > "subRegion" : ["hive"] 929,930c698,699 < "midnight" : { < "caveLiquid" : [ "water" ], --- > "volcanic" : { > "caveLiquid" : [ "lava" ], 933c702 < "blockSelector" : [ "remixedSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 937,938c706,708 < [0, [ "midnight" ]] < ] --- > [0, [ "volcanic" ]] > ], > "subRegion" : ["geode"] 943c713 < "blockSelector" : [ "remixedFlatsSurface" ], --- > "blockSelector" : [ "remixedMildSurface" ], 948c718,719 < ] --- > ], > "subRegion" : [] 990c761,773 < // secondary surface --- > "tentacles" : { > "caveLiquid" : [ "poison" ], > "caveLiquidSeedDensityRange" : [20, 20], > "encloseLiquids" : true, > "blockSelector" : [ "remixedMildSurface" ], > "fgCaveSelector" : [ "surfaceCaves" ], > "bgCaveSelector" : [ "empty" ], > "biome" : [ > [0, [ "tentacles" ]] > ] > }, > > // surface subregions 1165c948 < "shallowunderground" : { --- > "subsurface" : { 1172a956,964 > "shallowunderground" : { > "caveLiquid" : [ "water" ], > "biome" : [ > [1, [ "underground0a", "underground0b" ] ], > [2, [ "underground0a", "underground0b", "underground1a", "underground1b" ] ] > ], > "subRegion" : ["tarunderground", "mushroomunderground", "wildernessunderground", "minivillageunderground"] > }, > 1178c970,971 < ] --- > ], > "subRegion" : ["luminouscaves", "stonecaves", "bonecaves", "icecaves"] 1187c980,981 < ] --- > ], > "subRegion" : ["cellcaves", "fleshcaves", "slimecaves"] 1246c1040 < }, --- > }, behaviors\monsters\boss\dragonboss\dragonboss.behavior 11,12c11 < "/scripts/actions/status.lua", < "/scripts/actions/sensor.lua" --- > "/scripts/actions/status.lua" 32,39d30 < "title": "setDamageOnTouch", < "type": "action", < "name": "setDamageOnTouch", < "parameters": { < "touchDamage": true < } < }, < { 233c224 < "position": "targetPosition" --- > "x": "targetX" 237,253c228,235 < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "groundPosition", < "type": "action", < "name": "groundPosition", < "parameters": { < "avoidLiquid": true, < "maxHeight": 10, < "minHeight": -10, < "position": "targetPosition" < }, < "output": { < "position": "targetPosition" < } --- > "title": "entityPosition", > "type": "action", > "name": "entityPosition", > "parameters": { > "entity": "hoverStagehand" > }, > "output": { > "y": "hoverY" 261,263c243,250 < "position": "targetPosition", < "x": 0, < "y": "" --- > "offset": [ > "targetX", > "hoverY" > ], > "position": [ > 0, > 0 > ] 288c275 < "percentage": 0.75, --- > "percentage": 0.66, 314c301 < "percentage": 0.5, --- > "percentage": 0.33, 459,603d445 < }, < { < "title": "cooldown", < "type": "decorator", < "name": "cooldown", < "parameters": { < "cooldown": 10, < "onFail": false, < "onSuccess": true < }, < "child": { < "title": "Reset", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "title": "entityInRange", < "type": "action", < "name": "entityInRange", < "parameters": { < "entity": "target", < "xRange": 2, < "position": "self" < } < }, < { < "title": "offsetPosition", < "type": "action", < "name": "offsetPosition", < "parameters": { < "offset": [ < 0, < 5 < ], < "position": "self" < }, < "output": { < "position": "slamPosition" < } < }, < { < "title": "flyToPosition", < "type": "action", < "name": "flyToPosition", < "parameters": { < "position": "slamPosition", < "tolerance": 1, < "speed": 10 < } < }, < { < "title": "parallel", < "type": "composite", < "name": "parallel", < "parameters": { < "fail": -1, < "success": -1 < }, < "children": [ < { < "title": "controlApproachVelocity", < "type": "action", < "name": "controlApproachVelocity", < "parameters": { < "velocity": [ < 0, < 0 < ], < "force": 20 < } < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.5 < } < } < ] < }, < { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "slam", < "type": "movement" < } < }, < { < "title": "parallel", < "type": "composite", < "name": "parallel", < "parameters": { < "fail": -1, < "success": -1 < }, < "children": [ < { < "title": "controlApproachVelocity", < "type": "action", < "name": "controlApproachVelocity", < "parameters": { < "velocity": [ < 0, < -100 < ], < "force": 500 < } < }, < { < "title": "groundCollision", < "type": "action", < "name": "groundCollision", < "parameters": {} < }, < { < "title": "controlDown", < "type": "action", < "name": "controlDown", < "parameters": {} < } < ] < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.5 < } < }, < { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "fly", < "type": "movement" < } < } < ] < } behaviors\monsters\boss\dragonboss\dragonbreath.behavior 2a3 > "description": "", 6d6 < "/scripts/actions/entities.lua", 7a8 > "/scripts/actions/entities.lua", 66a68,82 > "title": "vecMultiply", > "type": "action", > "name": "vecMultiply", > "parameters": { > "first": "", > "second": [ > "facingDirection", > 1 > ] > }, > "output": { > "vector": "headRotationCenter" > } > }, > { 72c88,89 < "target": "target" --- > "target": "target", > "offset": "headRotationCenter" 183,197d199 < } < }, < { < "title": "vecMultiply", < "type": "action", < "name": "vecMultiply", < "parameters": { < "first": "", < "second": [ < "facingDirection", < 1 < ] < }, < "output": { < "vector": "headRotationCenter" behaviors\monsters\mission\cultistballista.behavior 107,116c107,136 < "title": "findNpc", < "type": "action", < "name": "findNpc", < "parameters": { < "orderBy": "nearest", < "position": "self", < "range": 8, < "type": "cultistknight", < "orderby": "nearest" < } --- > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "findNpc", > "type": "action", > "name": "findNpc", > "parameters": { > "orderBy": "nearest", > "position": "self", > "range": 8, > "type": "cultistknight", > "orderby": "nearest" > } > }, > { > "title": "findNpc", > "type": "action", > "name": "findNpc", > "parameters": { > "orderBy": "nearest", > "position": "self", > "range": 8, > "type": "cultistarcher", > "orderby": "nearest" > } > } > ] behaviors\npc\unique\cultistinvader.behavior 10c10,11 < "/scripts/actions/movement.lua" --- > "/scripts/actions/movement.lua", > "/scripts/behavior.lua" 61,68d61 < "title": "logInfo", < "type": "action", < "name": "logInfo", < "parameters": { < "text": "missionEnded triggered" < } < }, < { 316,318c309,311 < "title": "move", < "type": "action", < "name": "move", --- > "title": "parallel", > "type": "composite", > "name": "parallel", 320,322c313,334 < "direction": -1, < "run": false < } --- > "fail": -1, > "success": -1 > }, > "children": [ > { > "title": "addEphemeralEffect", > "type": "action", > "name": "addEphemeralEffect", > "parameters": { > "name": "ballistapusher" > } > }, > { > "title": "move", > "type": "action", > "name": "move", > "parameters": { > "direction": -1, > "run": false > } > } > ] 351a364,405 > } > } > ] > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "entityConfigParameter", > "type": "action", > "name": "entityConfigParameter", > "parameters": { > "default": false, > "path": "moveLeft" > }, > "output": { > "bool": "moveLeft" > } > }, > { > "title": "hasFlag", > "type": "action", > "name": "hasFlag", > "parameters": { > "name": "moveLeft" > } > }, > { > "title": "move", > "type": "action", > "name": "move", > "parameters": { > "direction": -1, > "run": false biomes\surface\alien.biome 8c8 < "select" : 2, --- > "select" : 1, 51c51 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\surface\arctic.biome 8c8 < "select" : 3, --- > "select" : 1, biomes\surface\desert.biome 8c8 < "select" : 3, --- > "select" : 1, biomes\surface\forest.biome 8c8 < "select" : 3, --- > "select" : 1, biomes\surface\garden.biome 19c19,20 < [ 0.4, "butterbee" ], --- > [ 0.2, "butterbee" ], > [ 0.2, "glowbug" ], biomes\surface\jungle.biome 10c10 < "select" : 3, --- > "select" : 1, 53c53 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\surface\magma.biome 10c10 < "select" : 2, --- > "select" : 1, 46c46 < "fireImmunity" : { --- > "fireStatusImmunity" : { biomes\surface\midnight.biome 10c10 < "select" : 2, --- > "select" : 1, biomes\surface\savannah.biome 8c8 < "select" : 3, --- > "select" : 1, biomes\surface\scorchedcity.biome 10c10 < "select" : 2, --- > "select" : 1, biomes\surface\snow.biome 8c8 < "select" : 3, --- > "select" : 1, biomes\surface\tentacles.biome 4a5,48 > "spawnProfile" : { > "groups" : [ > { > "select" : 6, > "pool" : [ > [ 1, "tentaclecrawler" ], > [ 1, "tentaclegnat" ], > [ 1, "tentaclespawner" ], > [ 1, "tentaclebomb" ], > [ 1, "tentacleghost" ], > [ 1, "tentacleclam" ] > ] > }, > { > "select" : 1, > "pool" : [ > [ 0.4, "blueback" ], > [ 0.3, "greentip" ], > [ 0.3, "redwing" ] > ] > }, > { > "select" : 5, > "pool" : [ > [ 1, "bigwormcritter" ], > [ 1, "fisheyecritter" ], > [ 1, "cellcritter" ], > [ 1, "cell2critter" ], > [ 1, "eggcellcritter" ] > ] > } > ], > "monsterParameters" : { > "colors" : "volcanic", > "statusSettings" : { > "stats" : { > "poisonImmunity" : { > "baseValue" : 1.0 > } > } > } > } > }, > biomes\surface\toxic.biome 10c10 < "select" : 2, --- > "select" : 1, 52c52 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\surface\toxicoceanfloor.biome 25c25 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\surface\tundra.biome 10c10 < "select" : 3, --- > "select" : 1, biomes\surface\volcanic.biome 10c10 < "select" : 3, --- > "select" : 1, 59c59 < "fireImmunity" : { --- > "fireStatusImmunity" : { biomes\surface_detached\swamp.biome 29c29 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\underground\underground5d.biome 30c30 < "fireImmunity" : { --- > "fireStatusImmunity" : { biomes\underground_detached\cellcave.biome 20c20 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { biomes\underground_detached\luminouscaves.biome 20c20 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { dialog\combat.config 36c36 < "Spies! Get them!", --- > "Hostiles! Get them!", 37a38,41 > "Hostiles attacking!", > "Alert!", > "I'm engaging the enemy!", > "I won't back down!", 40a45 > "Hostile activity!", 103a109 > "I won't back down!", 104a111,112 > "Let's get this over with!", > "You have no chance!", 106,107d113 < "My trigger finger is itching!", < "I'm feeling trigger happy!", 125a132 > "Never mess with me!", 128a136,139 > "I didn't even break a sweat!", > "Target down!", > "Heh.", > "Area secured!", 140a152,155 > "I'm a natural born warrior!", > "I was born to win this battle!", > "I was born to win!", > "I didn't even lose a feather!", 151c166,172 < "This is why you don't mess with the Apex!", --- > "This is why you don't mess with me!", > "The threat has been neutralised!", > "Enemy down!", > "I got them!", > "Target down!", > "Boom!", > "Threat minimised!", 180a202,203 > "Floran isss best!", > "This isss fun!", dungeons\apex\apexcity\apexcity.dungeon 7c7 < "anchor" : [ "apexcitymansion1" ], --- > "anchor" : [ "apexcitybuilding2" ], 61c61,88 < "name" : "apexcitymansion1", --- > "name" : "apexcitystore1", > "rules" : [ > [ "maxSpawnCount", [4] ], > [ "doNotConnectToPart", [ "apexcitystore1" ] ] > > ], > "def" : [ "tmx", "apexcitystore1.json" ] > }, > { > "name" : "apexcityoffice1", > "rules" : [ > [ "maxSpawnCount", [4] ], > [ "doNotConnectToPart", [ "apexcityoffice1" ] ] > > ], > "def" : [ "tmx", "apexcityoffice1.json" ] > }, > { > "name" : "apexcitybuilding1", > "rules" : [ > [ "maxSpawnCount", [2] ], > [ "doNotConnectToPart", [ "apexcitybuilding1" ] ] > > ], > "def" : [ "tmx", "apexcitybuilding1.json" ] > }, > { > "name" : "apexcitybuilding2", 64c91,100 < [ "doNotConnectToPart", [ "apexcitymansion1" ] ] --- > [ "doNotConnectToPart", [ "apexcitybuilding2" ] ] > > ], > "def" : [ "tmx", "apexcitybuilding2.json" ] > }, > { > "name" : "apexcitybuilding3", > "rules" : [ > [ "maxSpawnCount", [2] ], > [ "doNotConnectToPart", [ "apexcitybuilding3" ] ] 67c103 < "def" : [ "tmx", "apexcitymansion1.json" ] --- > "def" : [ "tmx", "apexcitybuilding3.json" ] dungeons\apex\apexcity\apexcityhouse1.json [TMX file differences are left out for huge size.] dungeons\apex\apexcity\apexcityhouse2.json [TMX file differences are left out for huge size.] dungeons\apex\apexcity\apexcityhouse3.json [TMX file differences are left out for huge size.] dungeons\apex\apexcity\apexcityhouse4.json [TMX file differences are left out for huge size.] dungeons\apex\apexcity\apexcityhouse5.json [TMX file differences are left out for huge size.] dungeons\apex\apexcity\apexcitymansion2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean10.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean11.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean13.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean14.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean15.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean4.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean5.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean6.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean7.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean8.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\toxicoceanfloor\toxicocean9.json [TMX file differences are left out for huge size.] dungeons\other\naturalcave\naturalcave.dungeon 7c7 < "anchor" : [ "entrance1", "entrance2a", "entrance2b", "entrance2c", "entrance3", "entrance5", "entrance6" ], --- > "anchor" : [ "entrance1", "entrance2b", "entrance2c", "entrance3", "entrance5", "entrance6" ], 251a252,257 > "value" : [186, 170, 124, 255], > "comment" : "foreground bones", > "brush" : [ [ "clear" ], [ "back", "bonematerial" ], [ "front", "bonematerial" ] ] > }, > > { 503a510,515 > "value" : [130, 110, 60, 255], > "comment" : "woodentalllantern", > "brush" : [ [ "clear" ], [ "object", "woodentalllantern" ] ] > }, > > { 713a726,741 > "value" : [255, 205, 0, 255], > "comment" : "motherpoptop npc", > "brush" : [ [ "npc", > { > "kind" : "monster", > "typeName" : "motherpoptop", > "seed" : "stable", > "parameters" : { > "aggressive" : true, > "persistent" : true > } > } > ] ] > }, > > { 799a828,843 > }, > > // STAGEHANDS > > { > "value" : [0, 240, 240, 255], > "comment" : "radio message trigger stagehand", > "brush" : [ [ "stagehand", > { > "type" : "radiomessage", > "parameters" : { > "broadcastArea" : [-18, -18, 18, 18], > "radioMessages" : ["naturalcave1", "naturalcave2"] > } > } > ] ] 816c860 < [ "maxSpawnCount", [1] ], --- > [ "maxSpawnCount", [0] ], 1153a1198,1207 > }, > > { > "name" : "bossroom", > "rules" : [ > [ "maxSpawnCount", [1] ], > [ "doNotConnectToPart", [ "entrance1", "entrance2a", "entrance2b", "entrance2c", "entrance3", "entrance4a", "entrance4b", "entrance5", "entrance6", "6a", "6b", "6c", "6d", "6e" ] ] > ], > "def" : [ "image", [ "bossroom.png", "bossroom-objects.png" ] ], > "chance" : 100 interface\fuel\fuel.config 5c5 < "position" : [20, 54] --- > "position" : [25, 65] 12a13,24 > "windowtitle" : { > "type" : "title", > "title" : "Fuel Hatch", > "subtitle" : "Fill up before you fly", > "position" : [0, 254], > "icon" : { > "type" : "image", > "file" : "/interface/ai/AIicon.png", > "position" : [0, -20], > "zlevel" : -1 > } > }, 15c27 < "position" : [34, 21], --- > "position" : [42, 28], 21c33 < "position" : [101, 21], --- > "position" : [96, 28], 27c39 < "position" : [28, 37], --- > "position" : [28, 46], 39c51 < "position" : [155, 59], --- > "position" : [155, 100], interface\windowconfig\newquest.config 47,48c47,48 < "offset" : [48, 30], < "position" : [9, 153], --- > "offset" : [48, 35], > "position" : [9, 163], 53c53 < "position" : [32, 143], --- > "position" : [32, 153], interface\windowconfig\questcomplete.config 30c30 < "position" : [12, 96], --- > "position" : [12, 91], 35c35 < "position" : [35, 84], --- > "position" : [35, 81], 46c46 < "position" : [104, 21], --- > "position" : [104, 24], 93c93 < "position" : [140, 144], --- > "position" : [140, 141], interface\windowconfig\questfailed.config 30c30 < "position" : [9, 73], --- > "position" : [9, 86], 35c35 < "position" : [32, 62], --- > "position" : [32, 75], 44,46c44,46 < "base" : "/interface/quests/questcomplete/acceptRewardOver.png", < "hover" : "/interface/quests/questcomplete/acceptRewardUp.png", < "position" : [104, 32], --- > "base" : "/interface/quests/questcomplete/acceptRewardUp.png", > "hover" : "/interface/quests/questcomplete/acceptRewardOver.png", > "position" : [104, 37], 52c52,64 < "position" : [52, 125] --- > "position" : [30, 148] > }, > "windowtitle" : { > "type" : "title", > "title" : "", > "subtitle" : "", > "position" : [0, 254], > "icon" : { > "type" : "image", > "file" : "/interface/quests/quest.png", > "position" : [0, 0], > "zlevel" : -1 > } 56c68 < "position" : [140, 119], --- > "position" : [140, 134], 66c78 < "position" : [65, 100], --- > "position" : [65, 118], items\active\vehiclecontroller\vehiclecursor.lua 10c10 < return {{ }} --- > return {} 20c20 < return {{ --- > return {{{ 25c25 < }} --- > }}} 27c27 < end \ No newline at end of file --- > end items\active\weapons\melee\meleeslash.lua 67c67 < animator.playSound("fire") --- > animator.playSound(self.fireSound or "fire") items\active\weapons\melee\altabilities\broadsword\traildash\traildash.altability 69c69 < "cooldownTime" : 0.4, --- > "cooldownTime" : 0.0, 107c107 < "duration" : 0.5, --- > "duration" : 0.2, items\active\weapons\melee\broadsword\astrosabredeluxe.animation 104c104 < "fade" : 0.5, --- > "fade" : 0.3, 107c107 < "size" : 1.0, --- > "size" : 0.5, 128a129 > "layer" : "back", 135c136 < "size" : 1.0, --- > "size" : 0.5, 160c161 < "fade" : 0.5, --- > "fade" : 0.3, 162,164c163,165 < "destructionTime" : 1, < "size" : 1.0, < "timeToLive" : 1, --- > "destructionTime" : 0.8, > "size" : 0.6, > "timeToLive" : 0.8, 184a186 > "layer" : "back", 191c193 < "size" : 1.0, --- > "size" : 0.5, 212a215 > "layer" : "back", 219,247c222 < "size" : 1.0, < "timeToLive" : 1, < "fullbright" : true, < "variance" : { < "initialVelocity" : [1, 0] < } < } < } < ] < }, < "idleparticles6" : { < "active" : true, < "transformationGroups" : ["weapon"], < "emissionRate" : 10, < "emissionRateVariance" : 5, < "offsetRegion" : [0.0, 0.75, 0.0, 0.0], < "particles" : [ < { < "particle" : { < "type" : "animated", < "animation" : "/animations/sparkles/sparkleloop3.animation", < "position" : [0, 0], < "initialVelocity" : [0, 0], < "finalVelocity" : [0, -2.0], < "approach" : [0, 50], < "fade" : 0.5, < "destructionAction" : "shrink", < "destructionTime" : 1, < "size" : 1.0, --- > "size" : 0.4, items\active\weapons\melee\broadsword\timepierce.activeitem 23c23 < "fire" : [ "/sfx/melee/swing_broadsword_water1.ogg" ] --- > "fire" : [ "/sfx/melee/swing_broadsword.ogg" ] 36c36 < "baseDps" : 11.5, --- > "baseDps" : 11, 40c40 < "knockback" : 20, --- > "knockback" : 25, 89,90c89,90 < "baseDps" : 12, < "energyUsage" : 20.0, --- > "baseDps" : 7.6, > "energyUsage" : 80.0, 94c94 < "knockback" : 20, --- > "knockback" : 40, 98a99,100 > "fireSound" : "altFire", > 111,112d112 < //"armRotation" : 90, < //"weaponRotation" : -10, 114a115,118 > "animationStates" : { > "alt" : "windup" > }, > 122a127,130 > > "animationStates" : { > "alt" : "fire" > }, items\active\weapons\melee\broadsword\timepierce.animation 19a20,36 > }, > "alt" : { > "default" : "idle", > "states" : { > "idle" : { > }, > "windup" : { > "properties" : { > "immediateSound" : "/sfx/melee/timepierce_windup.ogg" > } > }, > "fire" : { > "cycle" : 0, > "mode" : "transition", > "transition" : "idle" > } > } 110c127,128 < "fire" : [ ] --- > "fire" : [ ], > "altFire" : [ "/sfx/melee/timepierce_swing2.ogg" ] items\active\weapons\other\exmachina\exmachina.activeitem 55c55 < "fire" : [ "/sfx/gun/rocket1.ogg" ] --- > "fire" : [ "/sfx/gun/rocket2.ogg" ] 82c82 < "energyUsage" : 19.5, --- > "energyUsage" : 54, items\active\weapons\other\fireworkgun\fireworkgun.activeitem 40,41c40,41 < "projectileType" : "fireworkgun", < "projectileParameters" : { --- > "projectileType" : ["fireworkgun","fireworkgunblue", "fireworkgunyellow", "fireworkgungreen", "fireworkgunred"], > "projectileParameters" : { items\active\weapons\other\flamingdemonsword\flamingdemonsword.activeitem 7c7 < "description" : "A flaming blade forged from fallen angels.", --- > "description" : "According to Legend, this flaming blade was forged by fallen angels.", 23a24,33 > "lights" : { "glow" : { > "active" : true, > "position" : [0.75, 0.5], > "color" : [117, 44, 22], > "flickerPeriod" : 0.1, > "flickerMinIntensity" : 0.95, > "flickerMaxIntensity" : 1.0, > "flickerPeriodVariance" : 0.075, > "flickerIntensityVariance" : 0.025 > }}, items\active\weapons\other\flamingdemonsword\flamingdemonsword.animation 38c38 < "cycle" : 1.0, --- > "cycle" : 0.7, 163,164c163,164 < "emissionRate" : 3, < "offsetRegion" : [1.75, 0.0, 1.75, 0], --- > "emissionRate" : 1.5, > "offsetRegion" : [1.75, 0.0, 3.75, 0], 166,171c166,171 < { "particle" : "soulseeker"}, < { "particle" : "soulseeker"}, < { "particle" : "soulseeker"}, < { "particle" : "soulseeker2"}, < { "particle" : "soulseeker2"}, < { "particle" : "soulseeker2"} --- > { "particle" : "firestormflame"}, > { "particle" : "firestormflame3"}, > { "particle" : "firestormflame2"}, > { "particle" : "firestormflame"}, > { "particle" : "firestormflame3"}, > { "particle" : "firestormflame2"} items\active\weapons\other\magnorbs\magnorbs.activeitem 7a8 > // "level" : 3, 30c31 < "knockback" : 10, --- > "knockback" : 5, 38,39d38 < < // "level" : 3, items\active\weapons\other\magnorbs\magnorbs.lua 60,61c60,61 < if self.shieldTransformTimer == 0 then < animator.resetTransformationGroup("orbs") --- > if not self.shieldActive then > activateShield() 89,91c89 < if not self.shieldActive then < activateShield() < end --- > items\active\weapons\ranged\gunfire.lua 28c28 < and self.cooldownTimer == 0 --- > and self.cooldownTimer == 0 97a98,104 > if not projectileType then > projectileType = self.projectileType > end > if type(projectileType) == "table" then > projectileType = projectileType[math.random(#projectileType)] > end > 105c112 < projectileType or self.projectileType, --- > projectileType, items\active\weapons\ranged\altabilities\guidedrocket\exmachinarocket.altability 30,31c30,31 < "baseDps" : 5.35, < "energyUsage" : 55, --- > "baseDps" : 6.5, > "energyUsage" : 54, items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.altability 38c38 < "baseDps" : 5.35, --- > "baseDps" : 5.4, items\active\weapons\ranged\altabilities\homingrocket\homingrocket.lua 26c26 < and self.cooldownTimer == 0 --- > and self.cooldownTimer == 0 56,58c56,58 < for _,rocketPair in pairs(self.activeRockets) do < if world.entityExists(rocketPair[2]) then < world.callScriptedEntity(rocketPair[2], "setTarget", nil) --- > for _, rocketPair in pairs(self.activeRockets) do > if world.entityExists(rocketPair[1]) then > world.callScriptedEntity(rocketPair[1], "setTarget", nil) 83c83 < self.activeRockets = util.filter(self.activeRockets, function(rocketPair) --- > self.activeRockets = util.filter(self.activeRockets, function(rocketPair) 91c91 < local nearEntities = world.entityQuery(world.entityPosition(rocketId), self.queryRange, { --- > local nearEntities = world.entityQuery(world.entityPosition(rocketId), self.queryRange, { 103a104,107 > if world.entityDamageTeam(entityId).type == "passive" then > return false > end > 107,108c111,112 < if targetId then < world.callScriptedEntity(rocketId, "setTarget", targetId) --- > if targetId then > world.callScriptedEntity(rocketId, "setTarget", targetId) items\active\weapons\ranged\altabilities\homingrocket\homingrocketanimation.lua 10c10 < table.insert(drawables, { --- > table.insert(drawables, {{ 13c13 < }) --- > }}) 17c17 < end \ No newline at end of file --- > end items\active\weapons\ranged\altabilities\sparkles\sparkles.altability 5c5 < "altFire" : [ "/sfx/gun/fireworkgun_small1.ogg" ] --- > "altFire" : [ "/sfx/gun/fireworkgun_small1.ogg", "/sfx/gun/fireworkgun_small2.ogg", "/sfx/gun/fireworkgun_small3.ogg" ] 21c21 < "projectileType" : "fireworkgun3", --- > "projectileType" : [ "fireworkgun3", "fireworkblue4", "fireworkgreen4", "fireworkred3", "fireworkgunyellow3" ], items\active\weapons\whip\ropewhip.activeitem 10c10 < "twoHanded" : true, --- > "twoHanded" : false, 32,33d31 < // "altAbilitySource" : "", < 38c36 < "fireTime" : 1.0, --- > "fireTime" : 0.8, 96c94 < "length" : [3, 12], --- > "length" : [3, 15], items\active\weapons\whip\vinewhip.activeitem 7c7 < "shortdescription" : "vine whip", --- > "shortdescription" : "Vine Whip", 10c10 < "twoHanded" : true, --- > "twoHanded" : false, 20c20,23 < "particleEmitters" : { "crack" : { "particles" : [ ]}}, --- > "particleEmitters" : { "crack" : { > "burstCount" : 3, > "particles" : [{"particle" : "poisonswoosh1"}] > }}, 32c35 < // "altAbilitySource" : "", --- > "elementalType" : "poison", 38c41 < "fireTime" : 1.0, --- > "fireTime" : 1.4, 44c47 < "damageSourceKind" : "lash", --- > "damageSourceKind" : "poison", 49c52 < "projectileType" : "whipcrackphysical", --- > "projectileType" : "whipcrackpoison", 96c99 < "length" : [3, 12], --- > "length" : [4, 10], items\active\weapons\whip\whipcrack.lua 95a96,98 > local projectileAngle = vec2.withAngle(self.weapon.aimAngle) > if self.weapon.aimDirection < 0 then projectileAngle[1] = -projectileAngle[1] end > 100c103 < vec2.withAngle(self.weapon.aimAngle), --- > projectileAngle, 106c109 < self.weapon:setDamage(self.damageConfig, {self.chain.startOffset, self.chain.endOffset}, self.fireTime) --- > self.weapon:setDamage(self.damageConfig, {self.chain.startOffset, {self.chain.endOffset[1] + 0.75, self.chain.endOffset[2]}}, self.fireTime) 116c119 < return self.fireTime - self.stances.windup.duration - self.stances.fire.duration --- > return self.fireTime - (self.stances.windup.duration + self.stances.extend.duration + self.stances.fire.duration) items\armors\biome\scorchedcity\deadbeatbruisernerd\deadbeatbruisernerd.head 8c8 < "shortdescription" : "Deadbeat Nerd Mask", --- > "shortdescription" : "Deadbeat Bruiser Nerd Mask", items\armors\biome\scorchedcity\deadbeatscroungerhornmask\deadbeatscroungerhornmask.head 8c8 < "shortdescription" : "Deadbeat Scrounger Horn Mask", --- > "shortdescription" : "Deadbeat Scrounger Horns", items\armors\biome\scorchedcity\deadbeatscroungerstraps\deadbeatscroungerstraps.legs 8c8 < "shortdescription" : "Deadbeat Scrounger Straps Pants", --- > "shortdescription" : "Deadbeat Scrounger Pants", items\armors\biome\scorchedcity\deadbeatthugspandex\deadbeatthugspandex.chest 8c8 < "shortdescription" : "Deadbeat Spandex Jacket", --- > "shortdescription" : "Deadbeat Thug Jacket", items\armors\decorative\hats\eye\cameraman.head 45c45 < "stat" : "poisonImmunity", --- > "stat" : "poisonStatusImmunity", 49c49 < "stat" : "fireImmunity", --- > "stat" : "fireStatusImmunity", items\armors\protectorate\raggedprotectoratecape\raggedprotectoratecape.back 7c7 < "shortdescription" : "Ragged Cape", --- > "shortdescription" : "Torn Protectorate Cape", items\augments\pet\ghostlycollar.augment 13c13 < "effects" : [ "camouflage35", "ghostlyglow", {"stat" : "wetImmunity", "amount" : 1.0 }, {"stat" : "fireImmunity", "amount" : 1.0 }, {"stat" : "iceImmunity", "amount" : 1.0 }, {"stat" : "electricImmunity", "amount" : 1.0 }, {"stat" : "poisonImmunity", "amount" : 1.0 } ] --- > "effects" : [ "camouflage35", "ghostlyglow", {"stat" : "wetImmunity", "amount" : 1.0 }, {"stat" : "fireStatusImmunity", "amount" : 1.0 }, {"stat" : "iceStatusImmunity", "amount" : 1.0 }, {"stat" : "electricStatusImmunity", "amount" : 1.0 }, {"stat" : "poisonStatusImmunity", "amount" : 1.0 } ] items\buildscripts\buildwhip.lua 14c14,15 < config.tooltipFields.damagePerShotLabel = util.round(config.primaryAbility.crackDps * config.primaryAbility.fireTime * config.damageLevelMultiplier, 1) --- > config.tooltipFields.damagePerShotLabel = util.round( > (config.primaryAbility.crackDps + config.primaryAbility.chainDps) * config.primaryAbility.fireTime * config.damageLevelMultiplier, 1) items\buildscripts\weaponabilities.config 47c47,48 < "astraltear" : "/items/active/weapons/melee/altabilities/broadsword/astraltear/astraltear.altability" --- > "astraltear" : "/items/active/weapons/melee/altabilities/broadsword/astraltear/astraltear.altability", > "adaptableammo" : "/items/active/weapons/other/adaptablecrossbow/adaptableammo.altability" monsters\boss\apeboss\apeboss.monstertype 95c95 < "fireImmunity" : { --- > "fireStatusImmunity" : { 98c98 < "iceImmunity" : { --- > "iceStatusImmunity" : { 101c101 < "electricImmunity" : { --- > "electricStatusImmunity" : { 104c104 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\boss\apebossprojector\apebossprojector.monstertype 109c109 < "fireImmunity" : { --- > "fireStatusImmunity" : { 112c112 < "iceImmunity" : { --- > "iceStatusImmunity" : { 115c115 < "electricImmunity" : { --- > "electricStatusImmunity" : { 118c118 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\boss\crystalboss\crystalboss.monstertype 125c125 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 128c128 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\boss\cultistboss\cultistboss.monstertype 149c149 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 152c152 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\boss\dragonboss\dragonboss.monstertype 29c29 < "collisionPoly" : [ [-5, -13.5], [5, -13.5], [5, 5], [-5, 5] ], --- > "collisionPoly" : [ [-4, -13.5], [4, -13.5], [9, 5], [-9, 5] ], 78c78 < "fireImmunity" : { --- > "fireStatusImmunity" : { 81c81 < "iceImmunity" : { --- > "iceStatusImmunity" : { 84c84 < "electricImmunity" : { --- > "electricStatusImmunity" : { 87c87 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\boss\kluexboss\kluexboss.monstertype 142c142 < "fireImmunity" : { --- > "fireStatusImmunity" : { 145c145 < "iceImmunity" : { --- > "iceStatusImmunity" : { 148c148 < "electricImmunity" : { --- > "electricStatusImmunity" : { 151c151 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\boss\kluexbossstatue\kluexbossstatue.monstertype 101c101 < "fireImmunity" : { --- > "fireStatusImmunity" : { 104c104 < "iceImmunity" : { --- > "iceStatusImmunity" : { 107c107 < "electricImmunity" : { --- > "electricStatusImmunity" : { 110c110 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\boss\penguinufo\penguinufo.monstertype 105c105 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 108c108 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\boss\robotboss\robotboss.monstertype 121c121 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 124c124 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\boss\spiderboss\spiderboss.monstertype 100c100 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 103c103 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\bugs\glowbug\body.monsterpart 2c2 < "name" : "glowbug", --- > "name" : "body", 7c7 < "body" : "glowbug.png" --- > "body" : "body.png" monsters\bugs\glowbug\glowbug.animation 4a5 > "zLevel" : 0, 7a9,16 > } > }, > "head" : { > "zLevel" : 1, > "properties" : { > "rotationGroup" : "body", > "image" : "", > "fullbright" : true monsters\bugs\glowbug\glowbug.monstertype 5c5 < "parts" : [ "body" ], --- > "parts" : [ "body", "head" ], monsters\crawlers\oculob\oculob.monstertype 150c150 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\crawlers\pulpin\pulpin.monstertype 171c171 < "iceImmunity" : { --- > "iceStatusImmunity" : { monsters\crawlers\triplod\triplod.monstertype 171c171 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\cleaningbot\cleaningbot.monstertype 152c152 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\giftmonster\giftmonster.monstertype 79c79 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\giftmonster\giftmonstersmall.monstertype 79c79 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\glitchspider\glitchspider.monstertype 180c180 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\po\megapo.monstertype 83c83 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\po\micropo.monstertype 83c83 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\po\po.monstertype 84c84 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\pogolem\pogolem.monstertype 195c195 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\repairbot\repairbot.monstertype 80c80 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\robotchicken\robotchicken.monstertype 83c83 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\serpentdroid\serpentdroid.monstertype 203c203 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\sewerfly\sewerfly.monstertype 154c154 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\dungeon\swarpion\swarpion.monstertype 82c82 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\flyers\pteropod\pteropod.monstertype 167c167 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\flyers\scandroid\scandroid.monstertype 191c191 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\ghosts\ignome\ignome.monstertype 171c171 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\ghosts\lumoth\lumoth.monstertype 147c147 < "electricImmunity" : { --- > "electricStatusImmunity" : { monsters\ghosts\nautileech\nautileech.monstertype 137c137 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\ghosts\pyromantle\pyromantle.monstertype 177c177 < "fireImmunity" : { --- > "fireStatusImmunity" : { 180c180 < "iceImmunity" : { --- > "iceStatusImmunity" : { 183c183 < "electricImmunity" : { --- > "electricStatusImmunity" : { 186c186 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\ghosts\skimbus\skimbus.monstertype 173c173 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\ghosts\spookit\spookit.monstertype 168c168 < "fireImmunity" : { --- > "fireStatusImmunity" : { 171c171 < "iceImmunity" : { --- > "iceStatusImmunity" : { 174c174 < "electricImmunity" : { --- > "electricStatusImmunity" : { 177c177 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\ghosts\tentacleghost\tentacleghost.monstertype 173c173 < "iceImmunity" : { --- > "iceStatusImmunity" : { monsters\ghosts\wisper\wisper.monstertype 173c173 < "iceImmunity" : { --- > "iceStatusImmunity" : { monsters\mission\helicultist\helicultist.monstertype 66c66 < "baseValue" : 20 --- > "baseValue" : 50 monsters\mission\ixoling\ixoling.monstertype 150c150 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { 153c153 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\mission\kluexsentry\kluexsentry.monstertype 165c165 < "fireImmunity" : { --- > "fireStatusImmunity" : { 168c168 < "iceImmunity" : { --- > "iceStatusImmunity" : { 171c171 < "electricImmunity" : { --- > "electricStatusImmunity" : { 174c174 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\mission\kluextotem\kluextotem.monstertype 88c88 < "fireImmunity" : { --- > "fireStatusImmunity" : { 91c91 < "iceImmunity" : { --- > "iceStatusImmunity" : { 94c94 < "electricImmunity" : { --- > "electricStatusImmunity" : { 97c97 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\bobot\bobot.monstertype 187c187 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\capricoat\capricoat.monstertype 164c164 < "iceImmunity" : { --- > "iceStatusImmunity" : { monsters\walkers\crabcano\crabcano.monstertype 164c164 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\walkers\crutter\crutter.monstertype 160c160 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\fennix\fennix.monstertype 174c174 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\walkers\miasmop\miasmop.monstertype 169c169 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\narfin\narfin.monstertype 166c166 < "iceImmunity" : { --- > "iceStatusImmunity" : { monsters\walkers\pipkin\pipkin.monstertype 173c173 < "fireImmunity" : { --- > "fireStatusImmunity" : { 176c176 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\smoglin\smoglin.monstertype 177c177 < "fireImmunity" : { --- > "fireStatusImmunity" : { monsters\walkers\snaunt\snaunt.monstertype 174c174 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\sporgus\sporgus.monstertype 167c167 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { monsters\walkers\voltip\voltip.monstertype 174c174 < "electricImmunity" : { --- > "electricStatusImmunity" : { 177c177 < "poisonImmunity" : { --- > "poisonStatusImmunity" : { npcs\tutorial.npctype 6a7,9 > "damageTeamType" : "assistant", > "damageTeam" : 1, > 8a12 > 111c115,118 < "Hey, a fellow traveller! If you need any tips on getting by, feel free to ask me.", --- > "Hey, stranger! You're looking for core fragments? You might find a bunch down in this old mine - you should check it out!", > "Core fragments are good for chemical reactions, so miners back in the day would use them to make bombs.", > "I guess the miners left long ago though, because the mine is now overrun with creatures.", > "I haven't seen a new face in some time! Do you want tips on surviving? Because I have plenty!", 122c129 < "The length of a day changes with every planet. Pretty cool, huh?", --- > "The length of a day changes depending on the planet. Pretty cool, huh?", npcs\arena\arenapyro.npctype 107c107 < "fireImmunity" : { --- > "fireStatusImmunity" : { npcs\mission\castlearcher.npctype 25c25 < "primary" : [ { "name" : "bow", "parameters" : { "projectileParameters" : { "speed" : 48 }, "powerProjectileType" : "woodenarrow" } } ] --- > "primary" : [ "npcbow" ] npcs\mission\cultistarcher.npctype 19,22d18 < "movementParameters" : { < "walkSpeed" : 2.0 < }, < 40c36 < "primary" : [ "npcsniperrifle" ] --- > "primary" : [ "npcbow" ] npcs\mission\cultistknight.npctype 19,20c19,37 < "movementParameters" : { < "walkSpeed" : 2.0 --- > "combat" : { > "meleeWeaponWindups" : { > "default" : 0.2, > "broadsword" : 0.2, > "dagger" : 0.3, > "axe" : 0.45, > "hammer" : 0.45, > "shortsword" : 0.35, > "spear" : 0.55 > }, > "meleeWeaponCooldowns" : { > "default" : 0.8, > "broadsword" : 0.8, > "dagger" : 0.7, > "axe" : 1.4, > "hammer" : 2.0, > "shortsword" : 1.0, > "spear" : 1.4 > } 40c57 < "primary" : [ "npcbow", "npccultistbroadsword" ] --- > "primary" : [ "npccultistbroadsword" ] npcs\story\nuru.npctype 30c30 < "Other hunters will try to stop you winning the hunt.", --- > "Jusst a warning - other hunters will try to stop you winning the hunt.", 43c43 < "The Floran are not inherently evil. My father taught me to respect life. A lesson many never learn." --- > "The Floran are not evil. Our tribe's Greenfinger taught me to respect life. A lesson many never learn." 51,55c51,55 < "Woah, look at you! It's been a long time since we've seen an outsider around here.", < "Me? I'm ^orange;Nuru^white;. You're talking to the youngest ever champion of the hunt. Pretty tasty eh?", < "It's cute that you're here and all. But I hope you know what you're doing.", < "Many Floran sspend their whole lives learning to hunt in these tunnels. Many lose them here.", < "Well... It'll be fun to see how far you get. It's nice to see some new blood. Let's see if you keep it." --- > "Woah! An outssider! Are you seriously here for The Hunt? Got to respect that ssort of misguided bravery.", > "Oh me? I'm ^orange;Nuru^white; - youngest champion in the hisstory of The Hunt.", > "I've gotta ssay, this is pretty impressive! Or at least it will be if you don't get ripped to shreds.", > "Here, the Floran spend years honing their prowess, like sskilled craftsman grinding a spearhead...", > "Then they mostly die... Anyhow, good luck!" 71c71 < "Hey, you! Over here." --- > "Hey! Over Here! I can't believe you made it this far. Nice work." 78c78 < "Ssstuck again are we? And ssstill alive too. Let me help you out, I think we're getting close." --- > "Buuut now you're stuck. The phrase 'slow clap' ssprings to mind. Here..." 85c85 < "I hope you've worked up an apetite!" --- > "I think we're close now - I hope you've worked up an appetite!" 117c117 < "We did it! Come on!" --- > "Now that was ssatisfying! Come on." 124c124 < "Ssso how did you like your first hunt?" --- > "You know, that really was pretty impresssive." 131,132c131,132 < "I've ssspent my whole life hunting and have never met a hunter that could match me before.", < "Imagine what we might kill if we work together. It's your lucky day, I'm coming with you!" --- > "That was the most fun I've had in a long time. It felt good to have ssomeone around who can hold their own.", > "In fact... Congratulations! I've just decided your trophy comess with one free Nuru!" 141c141 < "Savage! This one is much bigger than the one they got last year! Sssomething to ssink my teeth into..." --- > "This iss much bigger than last year's prey. Finally! A proper challenge!" 148c148 < "Here we go!" --- > "This is going to be fun." npcs\story\nurufight.npctype 67c67 < "levelVariance" : [-3, -3], --- > "levelVariance" : [0, 0], objects\biome\bone\bonedoor\bonedoor.object 3c3 < "colonyTags" : ["bone","evil"], --- > "colonyTags" : ["bone","evil","door"], objects\bugs\glowbug\glowbug.object 12a13,17 > "lightColor" : [59, 77, 50], > "flickerDistance" : 0.1, > "flickerStrength" : 0.05, > "flickerTiming" : 4, > 17c22 < "dualImage" : "glowbug.png:.", --- > "imageLayers" : [ { "image" : "glowbug.png:.", "fullbright" : true }, { "image" : "glowbuglit.png:." } ], objects\generic\sleepingbag\sleepingbag.object 6c6 < "shortdescription" : "Sleeping Bag", --- > "shortdescription" : "Blue Sleeping Bag", objects\generic\sleepingbaggreen\sleepingbaggreen.object 6c6 < "shortdescription" : "Sleeping Bag", --- > "shortdescription" : "Green Sleeping Bag", objects\generic\sleepingbagred\sleepingbagred.object 6c6 < "shortdescription" : "Sleeping Bag", --- > "shortdescription" : "Red Sleeping Bag", objects\generic\tent1\tent1.object 6c6 < "shortdescription" : "Basic Tent", --- > "shortdescription" : "Green Dome Tent", objects\generic\tent1blue\tent1blue.object 6c6 < "shortdescription" : "Basic Tent", --- > "shortdescription" : "Blue Dome Tent", objects\generic\tent1red\tent1red.object 6c6 < "shortdescription" : "Basic Tent", --- > "shortdescription" : "Red Dome Tent", objects\generic\tent2\tent2.object 6c6 < "shortdescription" : "Basic Tent", --- > "shortdescription" : "Green Basic Tent", objects\generic\tent2yellow\tent2yellow.object 6c6 < "shortdescription" : "Basic Tent", --- > "shortdescription" : "Yellow Basic Tent", objects\outpost\2stopteleshop\2stopshop.object 24,25c24,25 < "title" : " 2 Stop Teleshop", < "subtitle" : " Getting you from A to B without all that pesky intermediate space", --- > "title" : "2 Stop Teleshop", > "subtitle" : "Getting you from A to B without all that pesky intermediate space", objects\outpost\frogfurnishing\frogfurnishing.object 58,59c58,59 < "title" : " FRӦGG FURNISHING", < "subtitle" : " Themed furniture", --- > "title" : "Frögg furnishing", > "subtitle" : "Themed furniture", objects\outpost\infinityexpress\infinityexpress.object 23,24c23,24 < "title" : " Infinity Express", < "subtitle" : " Fuel, snacks and sundries" --- > "title" : "Infinity Express", > "subtitle" : "Fuel, snacks and sundries" objects\outpost\penguinbay\penguinbay.object 114,115c114,115 < "title" : " The Penguin Bay", < "subtitle" : " 100% legit ship licenses for sale." --- > "title" : "The Penguin Bay", > "subtitle" : "100% legit ship licenses" objects\outpost\repairo\repairo.object 6c6 < "subtitle" : "Vehicle Repair", --- > "subtitle" : "Vehicle repairs", objects\outpost\shipyardcaptain\shipyardcaptain.object 54,55c54,55 < "title" : " Penguin Pete's vehicle lot", < "subtitle" : " Totally legit. Honest Pirate!" --- > "title" : "Penguin Pete's Vehicle Lot", > "subtitle" : "Totally legit pirate business" objects\outpost\terramart\terramart.object 15,16c15,16 < "title" : " Terramart", < "subtitle" : " Food, farming and pet supplies" --- > "title" : "Terramart", > "subtitle" : "Food, farming and pet supplies" objects\spawner\colonydeed\colonydeed.lua 106c106 < util.debugPoly(storage.house.boundary) --- > util.debugPoly(storage.house.boundary, "red") projectiles\physics.config 400a401,412 > "bonethorn" : { > "mass" : 1.0, > "gravityMultiplier" : 0.5, > "bounceFactor" : 0.6, > "maxMovementPerStep" : 0.4, > "collisionPoly" : [ [-0.25, -0.25], [0.25, -0.25], [0.25, 0.25], [-0.25, 0.25] ], > "ignorePlatformCollision" : true, > "airFriction" : 0.0, > "liquidFriction" : 8.0, > "groundFriction" : 15.0 > }, > projectiles\activeitems\guidedrocket\exmachinarocket.projectile 18,19c18,20 < "power" : 14.0, < "speed" : 14, --- > "power" : 15.0, > "speed" : 15, > "knockback" : 40, 27c28,30 < "maxTrackingAngle" : 20.0 --- > "maxTrackingAngle" : 20.0, > > "persistentAudio" : "/sfx/projectiles/guidedrocket_loop2.ogg" projectiles\activeitems\whip\whipcrackelectric.projectile 4c4 < "frames" : "whipcrackphysical.png", --- > "frames" : "whipcrackenergy.png", 13a14 > "emitters" : [ "energyplasma" ], 16c17,18 < "knockback" : 15 --- > "knockback" : 15, > "knockbackDirectional" : true projectiles\activeitems\whip\whipcrackphysical.projectile 14c14,15 < "knockback" : 15 --- > "knockback" : 15, > "knockbackDirectional" : true projectiles\guns\bullets\bonethorn\bonethorn.projectile 3c3 < "physics" : "arrownosticky", --- > "physics" : "bonethorn", projectiles\guns\rockets\homingrocket\homingrocket.lua 9c9,13 < mcontroller.setRotation(math.atan(mcontroller.velocity()[2], mcontroller.velocity()[1])) --- > if self.target and world.entityExists(self.target) then > self.targetPosition = world.entityPosition(self.target) > else > setTarget(nil) > end 11,13d14 < if self.target and world.entityExists(self.target) then < self.targetPosition = world.entityPosition(self.target) < end 15c16 < gravityEnabled = false --- > gravityEnabled = false 20a22 > mcontroller.setRotation(math.atan(mcontroller.velocity()[2], mcontroller.velocity()[1])) 30c32 < end \ No newline at end of file --- > end projectiles\throwable\fireworkblue3\fireworkblue3.projectile 14a15,18 > "action" : "sound", > "options" : [ "/sfx/gun/fireworkgun_blast2.ogg" ] > }, > { projectiles\throwable\fireworkgreen2\fireworkgreen2.projectile 130c130 < "emitters" : [ "defaultorange" ] --- > "emitters" : [ "defaultgreen" ] projectiles\throwable\fireworkgreen3\fireworkgreen3.projectile 14a15,18 > "action" : "sound", > "options" : [ "/sfx/gun/fireworkgun_blast2.ogg" ] > }, > { projectiles\throwable\fireworkgun\fireworkgun.projectile 7c7 < "lightColor" : [179, 149, 107], --- > "lightColor" : [234, 153, 49], projectiles\throwable\fireworkgun2\fireworkgun2.projectile 8c8 < "lightColor" : [179, 149, 107], --- > "lightColor" : [234, 153, 149], projectiles\throwable\fireworkgun3\fireworkgun3.projectile 8c8 < "lightColor" : [179, 149, 107], --- > "lightColor" : [234, 153, 49], radiomessages\missions.radiomessages 47c47 < "text" : "These ruins appear to date back thousands of years. It is probable that you are in sacred grounds." --- > "text" : "My database describes these ruins as the most ancient and sacred to the Floran race. Danger. Danger." 52c52 < "text" : "I am reading a lot of different life signs in these tunnels. I would advise caution here." --- > "text" : "Bio readings show many lifesigns in these tunnels. 97% hostile. I commend your valor." 57c57,59 < "text" : "My personality analysis has determined that the Floran hunter you just met is both unusually young and confident." --- > "senderName" : "Esther Bright", > "portraitImage" : "/interface/chatbubbles/esthertalk.png:", > "text" : "What a feisty Floran! Reminds me of myself when I was younger, though I had fewer leaves." 62c64,66 < "text" : "The hunters in these tunnels seem determined to take out any competition. What is it that they are hunting?" --- > "senderName" : "Esther Bright", > "portraitImage" : "/interface/chatbubbles/esthertalk.png:", > "text" : "Whatever these Floran are persuing is obviously of grave importance to them. They're worse than me on a bug hunt! Be careful, dear." 67c71 < "text" : "This residue is organic in origin. Something large must have produced it. I will analyse the data." --- > "text" : "This substance is organic. Analysis is inconclusive, but it would take a fairly large creature to produce this much matter." 72c76 < "text" : "These creatures look young. Tread carefully, their mother might still be around." --- > "text" : "Evidence indicates these entities are not yet fully mature, with an estimated 76% likelihood that they are only freshly hatched. You appear to have stumbled into a nest." radiomessages\tutorial.radiomessages 72a73,84 > }, > > // on entering the naturalcave > > "naturalcave1" : { > "type" : "tutorial", > "text" : "I'm detecting a variety of life signs in this mine. If you are intending to search it for core fragments, I may advise adequately arming yourself first." > }, > > "naturalcave2" : { > "type" : "tutorial", > "text" : "If you are not sufficiently confident in your personal combat capabilities, an alternative solution would be to instead dig closer to the planet's center to find the core fragments." scripts\actions\entities.lua 100a101 > offset = {0,0} 104a106 > local offset = BData:getVec2(args.offset) 107c109 < local toTarget = world.distance(world.entityPosition(targetId), world.entityPosition(entityId)) --- > local toTarget = world.distance(world.entityPosition(targetId), vec2.add(world.entityPosition(entityId), offset)) spawntypes\critter.spawntypes 2020a2021,2084 > }, > > { > "name" : "fisheyecritter", > > "spawnParameters" : { > "area" : "liquid", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.1, > "monsterType" : "fisheyecritter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { > "name" : "cellcritter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.1, > "monsterType" : "cellcritter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { > "name" : "cell2critter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.1, > "monsterType" : "cell2critter", > "monsterParameters" : { > "aggressive" : false > } > }, > > { > "name" : "eggcellcritter", > > "spawnParameters" : { > "area" : "surface", > "region" : "exposed", > "time" : "all" > }, > > "targetDensity" : 0.1, > "monsterType" : "eggcellcritter", > "monsterParameters" : { > "aggressive" : false > } spawntypes\uniques.spawntypes 3a4,95 > // TENTACLES BIOME > > { > "name" : "tentaclecrawler", > > "spawnParameters" : { > "area" : "ceiling", > "region" : "enclosed", > "time" : "all" > }, > "targetDensity" : 0.1, > "monsterType" : "tentaclecrawler", > "monsterParameters" : { > "aggressive" : true > } > }, > > { > "name" : "tentaclegnat", > > "spawnParameters" : { > "area" : "air", > "region" : "all", > "time" : "all" > }, > "groupSize" : [1, 3], > "targetDensity" : 0.075, > "monsterType" : "tentaclegnat", > "monsterParameters" : { > "aggressive" : true > } > }, > > { > "name" : "tentaclebomb", > > "spawnParameters" : { > "area" : "air", > "region" : "all", > "time" : "all" > }, > "targetDensity" : 0.0125, > "monsterType" : "tentaclebomb", > "monsterParameters" : { > "aggressive" : true > } > }, > > { > "name" : "tentaclespawner", > > "spawnParameters" : { > "area" : "surface", > "region" : "all", > "time" : "all" > }, > "targetDensity" : 0.005, > "monsterType" : "tentaclespawner", > "monsterParameters" : { > "aggressive" : true > } > }, > > { > "name" : "tentacleghost", > > "spawnParameters" : { > "area" : "air", > "region" : "all", > "time" : "all" > }, > "targetDensity" : 0.005, > "monsterType" : "tentacleghost", > "monsterParameters" : { > "aggressive" : true > } > }, > > { > "name" : "tentacleclam", > > "spawnParameters" : { > "area" : "surface", > "region" : "all", > "time" : "all" > }, > "targetDensity" : 0.015, > "monsterType" : "tentacleclam", > "monsterParameters" : { > "aggressive" : true > } > }, stagehands\radiomessage.lua 5c5 < self.radioMessage = config.getParameter("radioMessage") --- > self.radioMessages = config.getParameter("radioMessages") or {config.getParameter("radioMessage")} 13c13,15 < world.sendEntityMessage(id, "queueRadioMessage", self.radioMessage) --- > for _, message in ipairs(self.radioMessages) do > world.sendEntityMessage(id, "queueRadioMessage", message) > end stagehands\mission\glitchmissionmanager.lua 71c71,75 < local enemies = spawnWave("campspawn", { { entityType = "cultist", count = 3} }) --- > self.enemies = {} > local wave = spawnWave("campspawn", { > { entityType = "cultistknight", count = 3, parameters = { moveLeft = true } }, > { entityType = "cultistarcher", count = 2, parameters = { moveLeft = true } } > }) 73,74c77,78 < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 78,81c82,88 < util.appendLists(enemies, spawnWave("campspawn", { { entityType = "cultist", count = 2} })) < util.appendLists(enemies, spawnWave("midfieldspawn", { { entityType = "cultist", count = 2} })) < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > util.appendLists(wave, spawnWave("campspawn", { > { entityType = "cultistknight", count = 2, parameters = { moveLeft = true } }, > { entityType = "cultistarcher", count = 1, parameters = { moveLeft = true } } > })) > util.appendLists(wave, spawnWave("midfieldspawn", { { entityType = "cultistknight", count = 2 }, { entityType = "cultistarcher", count = 1 } })) > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 85,88c92,95 < util.appendLists(enemies, spawnWave("gatespawn", { { entityType = "cultist", count = 2} })) < util.appendLists(enemies, spawnWave("midfieldspawn", { { entityType = "cultist", count = 2} })) < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > util.appendLists(wave, spawnWave("gatespawn", { { entityType = "cultistknight", count = 2 }, { entityType = "cultistarcher", count = 1 } })) > util.appendLists(wave, spawnWave("midfieldspawn", { { entityType = "cultistknight", count = 2 }, { entityType = "cultistarcher", count = 1 } })) > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 99,102c106,112 < enemies = spawnWave("ballistaspawn", { { entityType = "cultist", count = 2 } }) < util.appendLists(enemies, spawnWave("campspawn", { { entityType = "cultist", count = 2} })) < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > wave = spawnWave("ballistaspawn", { { entityType = "cultistknight", count = 2 }, { entityType = "cultistarcher", count = 1 } }) > util.appendLists(wave, spawnWave("campspawn", { > { entityType = "cultistknight", count = 2, parameters = { moveLeft = true } }, > { entityType = "cultistarcher", count = 1, parameters = { moveLeft = true } } > })) > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 106,108c116,118 < util.appendLists(enemies, spawnWave("midfieldspawn", { { entityType = "cultist", count = 2} })) < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > util.appendLists(wave, spawnWave("midfieldspawn", { { entityType = "cultistknight", count = 2 }, { entityType = "cultistarcher", count = 1 } })) > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 118c128 < enemies = spawnWave("gatespawn", { { entityType = "cultist", count = 3} }) --- > wave = spawnWave("gatespawn", { { entityType = "cultistknight", count = 3}, { entityType = "cultistarcher", count = 2 } }) 120,121c130,131 < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 129c139 < util.wait(5.0) --- > util.wait(6.0) 137c147 < util.wait(5.0) --- > util.wait(6.0) 139,142c149,155 < local spawns = { < "campspawn", < "midfieldspawn", < "gatespawn" --- > local spawnFunctions = { > function() return spawnWave("campspawn", { > { entityType = "cultistknight", count = 3, parameters = { moveLeft = true } }, > { entityType = "cultistarcher", count = 2, parameters = { moveLeft = true } } > }) end, > function() return spawnWave("midfieldspawn", { { entityType = "cultistknight", count = 3}, { entityType = "cultistarcher", count = 2 } }) end, > function() return spawnWave("gatespawn", { { entityType = "cultistknight", count = 3}, { entityType = "cultistarcher", count = 2 } }) end 145,147c158,160 < shuffle(spawns) < for _,spawnPoint in pairs(spawns) do < enemies = util.mergeLists(enemies, spawnWave(spawnPoint, { { entityType = "cultist", count = 3} })) --- > shuffle(spawnFunctions) > for _,spawn in pairs(spawnFunctions) do > wave = util.mergeLists(wave, spawn()) 150,151c163,164 < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 160a174,179 > -- Wait for any straggling enemies to die > while #self.enemies > 0 do > self.enemies = util.filter(self.enemies, world.entityExists) > coroutine.yield() > end > 191c210 < cultists[spawnPoint] = spawnWave(spawnPoint, { { entityType = "cultist", count = 3} }) --- > cultists[spawnPoint] = spawnWave(spawnPoint, { { entityType = "cultistknight", count = 3} }) 199c218 < enemies = spawnWave("bossposition", { { entityType = "dragonboss" } }) --- > wave = spawnWave("bossposition", { { entityType = "dragonboss" } }) 201,202c220,221 < while #enemies > 0 do < enemies = util.filter(enemies, world.entityExists) --- > while #wave > 0 do > wave = util.filter(wave, world.entityExists) 233,235c252,253 < ballistas = spawnWave("ballistaspawn", { { entityType = "ballista" }, { entityType = "cultist" } }) < spawnWave("ballistaspawn", { { entityType = "cultist" } }) < radioMessage("additionalBallista") --- > ballistas = spawnWave("ballistaspawn", { { entityType = "ballista" }, { entityType = "cultistknight" } }) > spawnWave("ballistaspawn", { { entityType = "cultistknight" } }) 267,270c285,288 < if spawn.entityType == "cultist" then < local npcId = world.spawnNpc(position, "human", "cultistknight", world.threatLevel()) < table.insert(enemies, npcId) < world.callScriptedEntity(npcId, "status.addEphemeralEffect", "beamin") --- > local entityId > if spawn.entityType == "cultistknight" or spawn.entityType == "cultistarcher" then > entityId = world.spawnNpc(position, "human", spawn.entityType, world.threatLevel(), nil, { scriptConfig = spawn.parameters or {}}) > world.callScriptedEntity(entityId, "status.addEphemeralEffect", "beamin") 272c290 < table.insert(enemies, world.spawnMonster("ballista", position, { aggressive = true, level = world.threatLevel() })) --- > entityId = world.spawnMonster("ballista", position, { aggressive = true, level = world.threatLevel() }) 274c292 < table.insert(enemies, world.spawnMonster("helicultist", position, { aggressive = true, level = world.threatLevel() })) --- > entityId = world.spawnMonster("helicultist", position, { aggressive = true, level = world.threatLevel() }) 276c294 < table.insert(enemies, world.spawnMonster("dragonboss", position, { aggressive = true, level = world.threatLevel() })) --- > entityId = world.spawnMonster("dragonboss", position, { aggressive = true, level = world.threatLevel() }) 277a296,297 > table.insert(enemies, entityId) > table.insert(self.enemies, entityId) stagehands\mission\glitchmissionmanager.stagehand 17c17 < "spawnPositionRange" : [-5, 5], --- > "spawnPositionRange" : [-15, 15], stats\effects\breathprotectionvehicle\breathprotectionvehicle.lua 7c7 < {stat = "poisonImmunity", amount = protection}, --- > {stat = "poisonStatusImmunity", amount = protection}, stats\effects\burning\burning.statuseffect 3c3 < "blockingStat" : "fireImmunity", --- > "blockingStat" : "fireStatusImmunity", stats\effects\castelectric\castelectric.statuseffect 3d2 < "blockingStat" : "fireImmunity", stats\effects\castfire\castfire.statuseffect 3d2 < "blockingStat" : "fireImmunity", stats\effects\castice\castice.statuseffect 3d2 < "blockingStat" : "fireImmunity", stats\effects\castphysical\castphysical.statuseffect 3d2 < "blockingStat" : "fireImmunity", stats\effects\castpoison\castpoison.statuseffect 3d2 < "blockingStat" : "fireImmunity", stats\effects\electricblock\electricblock.lua 2c2 < effect.addStatModifierGroup({{stat = "electricImmunity", amount = 1}}) --- > effect.addStatModifierGroup({{stat = "electricStatusImmunity", amount = 1}}) stats\effects\electrified\electrified.statuseffect 3c3 < "blockingStat" : "electricImmunity", --- > "blockingStat" : "electricStatusImmunity", stats\effects\fireblock\fireblock.lua 2c2 < effect.addStatModifierGroup({{stat = "fireImmunity", amount = 1}}) --- > effect.addStatModifierGroup({{stat = "fireStatusImmunity", amount = 1}}) stats\effects\frostslow\frostslow.statuseffect 3c3 < "blockingStat" : "iceImmunity", --- > "blockingStat" : "iceStatusImmunity", stats\effects\frostslow\frostsnare.statuseffect 3c3 < "blockingStat" : "iceImmunity", --- > "blockingStat" : "iceStatusImmunity", stats\effects\iceblock\iceblock.lua 2c2 < effect.addStatModifierGroup({{stat = "iceImmunity", amount = 1}}) --- > effect.addStatModifierGroup({{stat = "iceStatusImmunity", amount = 1}}) stats\effects\liquidimmunity\liquidimmunity.lua 4c4 < {stat = "poisonImmunity", amount = 1}, --- > {stat = "poisonStatusImmunity", amount = 1}, stats\effects\maxenergyboost\maxenergyboost.lua 2c2 < effect.addStatModifierGroup({{stat = "maxEnergy", amount = config.getParameter("energyAmount", 0)}}) --- > effect.addStatModifierGroup({{stat = "maxEnergy", amount = config.getParameter("energyAmount", 0)}}) 4c4 < script.setUpdateDelta(0) --- > script.setUpdateDelta(0) 8d7 < 12d10 < stats\effects\maxenergyscalingboost\maxenergyscalingboost.lua 8d7 < 12,13c11 < < end --- > end \ No newline at end of file stats\effects\maxhealthboost\maxhealthboost.lua 2c2 < effect.addStatModifierGroup({{stat = "maxHealth", amount = config.getParameter("healthAmount", 0)}}) --- > effect.addStatModifierGroup({{stat = "maxHealth", amount = config.getParameter("healthAmount", 0)}}) 4c4 < script.setUpdateDelta(0) --- > script.setUpdateDelta(0) 8d7 < 12d10 < stats\effects\maxhealthscalingboost\maxhealthscalingboost.lua 8d7 < 12,13c11 < < end --- > end \ No newline at end of file stats\effects\maxprotection\protection.lua 7c7 < script.setUpdateDelta(0) --- > script.setUpdateDelta(0) 10,11d9 < < 13d10 < 17d13 < stats\effects\poisonblock\poisonblock.lua 2c2 < effect.addStatModifierGroup({{stat = "poisonImmunity", amount = 1}}) --- > effect.addStatModifierGroup({{stat = "poisonStatusImmunity", amount = 1}}) stats\effects\timeslow\timeslow.animation 20a21,24 > }, > "sounds" : { > "timeslow_start" : [ "/sfx/statuseffects/timeslow_start.ogg" ], > "timeslow_loop" : [ "/sfx/statuseffects/timeslow_loop.ogg" ] stats\effects\timeslow\timeslow.lua 4a5,6 > animator.playSound("timeslow_start") > animator.playSound("timeslow_loop", -1) 9,11c11,13 < groundMovementModifier = 0.33, < runModifier = 0.33, < airJumpModifier = 0.33 --- > groundMovementModifier = 0.2, > runModifier = 0.5, > airJumpModifier = 0.5 stats\effects\timeslow\timeslow.statuseffect 2a3 > "blockingStat" : "specialStatusImmunity", 12c13,18 < "label" : "Slow" --- > "label" : "Slow", > > "sounds" : { > "timeslow_start" : [ "/sfx/statuseffects/timeslow_start.ogg" ], > "timeslow_loop" : [ "/sfx/statuseffects/timeslow_loop.ogg" ] > } stats\effects\weakpoison\weakpoison.statuseffect 3c3 < "blockingStat" : "poisonImmunity", --- > "blockingStat" : "poisonStatusImmunity", tilesets\packed\materials.json 7c7 < "tilecount" : 188, --- > "tilecount" : 189, 601a602,607 > "188" : { > "//description" : "-todo-", > "//name" : "dermisblock", > "//shortdescription" : "Ruin Dermis Block", > "material" : "dermisblock" > }, 1431a1438,1440 > }, > "188" : { > "image" : "./../../../../tiled/packed/materials/dermisblock.png" tilesets\packed\objects-by-category\decorative.json 7c7 < "tilecount" : 1221, --- > "tilecount" : 1222, 1853c1853 < "tilesetDirection" : "left" --- > "tilesetDirection" : "right" 2137a2138,2146 > "1221" : { > "//description" : "A sign advertising a place to buy stuff.", > "//name" : "apexstoresign", > "//shortdescription" : "Store Sign", > "imagePositionX" : "-40", > "imagePositionY" : "-8", > "object" : "apexstoresign", > "tilesetDirection" : "right" > }, 10897a10907,10909 > }, > "1221" : { > "image" : "../../../../../tiled/packed/objects/apexstoresign.png" tilesets\packed\objects-by-category\farmable.json 452c452 < "//description" : "Pearlpea, I'll need to bite down hard.", --- > "//description" : "Pearlpea, you'll need to bite down hard.", tilesets\packed\objects-by-category\storage.json 7c7 < "tilecount" : 212, --- > "tilecount" : 214, 1117a1118,1135 > "212" : { > "//description" : "Ideal for storing food and keeping it fresh.", > "//name" : "minifridge", > "//shortdescription" : "Mini Fridge", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "minifridge", > "tilesetDirection" : "left" > }, > "213" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, 1644c1662 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", 2228a2247,2252 > }, > "212" : { > "image" : "../../../../../tiled/packed/objects/minifridge.png" > }, > "213" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" tilesets\packed\objects-by-category\wire.json 11c11 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 5 seconds.", 28c28 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 0.5 seconds.", 991c991 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 4 seconds.", 1060c1060 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 3 seconds.", 1173c1173 < "//description" : "Switches and stays switched.", --- > "//description" : "Once triggered this switch will remain in its switched state.", 1298c1298 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 2 seconds.", 1390c1390 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 1 second.", tilesets\packed\objects-by-colonytag\apex.json 7c7 < "tilecount" : 170, --- > "tilecount" : 172, 704a705,722 > "170" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, > "171" : { > "//description" : "A sign advertising a place to buy stuff.", > "//name" : "apexstoresign", > "//shortdescription" : "Store Sign", > "imagePositionX" : "-40", > "imagePositionY" : "-8", > "object" : "apexstoresign", > "tilesetDirection" : "right" > }, 1734a1753,1758 > }, > "170" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" > }, > "171" : { > "image" : "../../../../../tiled/packed/objects/apexstoresign.png" tilesets\packed\objects-by-colonytag\commerce.json 7c7 < "tilecount" : 118, --- > "tilecount" : 120, 207a208,225 > "118" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, > "119" : { > "//description" : "A sign advertising a place to buy stuff.", > "//name" : "apexstoresign", > "//shortdescription" : "Store Sign", > "imagePositionX" : "-40", > "imagePositionY" : "-8", > "object" : "apexstoresign", > "tilesetDirection" : "right" > }, 1122a1141,1146 > }, > "118" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" > }, > "119" : { > "image" : "../../../../../tiled/packed/objects/apexstoresign.png" tilesets\packed\objects-by-colonytag\cooking.json 7c7 < "tilecount" : 27, --- > "tilecount" : 28, 187a188,196 > "27" : { > "//description" : "Ideal for storing food and keeping it fresh.", > "//name" : "minifridge", > "//shortdescription" : "Mini Fridge", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "minifridge", > "tilesetDirection" : "left" > }, 198c207 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", 311a321,323 > }, > "27" : { > "image" : "../../../../../tiled/packed/objects/minifridge.png" tilesets\packed\objects-by-colonytag\door.json 7c7 < "tilecount" : 93, --- > "tilecount" : 95, 825a826,843 > }, > "93" : { > "//description" : "A door made of bone. Where does it lead? Hell? Or the bathroom?", > "//name" : "bonedoor", > "//shortdescription" : "Bone Door", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "bonedoor", > "tilesetDirection" : "right" > }, > "94" : { > "//description" : "A door made of bone. Where does it lead? Hell? Or the bathroom?", > "//name" : "bonedoor_orientation1", > "//shortdescription" : "Bone Door", > "imagePositionX" : "-16", > "imagePositionY" : "0", > "object" : "bonedoor", > "tilesetDirection" : "right" 1106a1125,1130 > }, > "93" : { > "image" : "../../../../../tiled/packed/objects/bonedoor.png" > }, > "94" : { > "image" : "../../../../../tiled/packed/objects/bonedoor_orientation1.png" tilesets\packed\objects-by-colonytag\human.json 1447c1447 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", tilesets\packed\objects-by-colonytag\humanvillage.json 11c11 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", tilesets\packed\objects-by-colonytag\nature.json 1766c1766 < "//description" : "Pearlpea, I'll need to bite down hard.", --- > "//description" : "Pearlpea, you'll need to bite down hard.", tilesets\packed\objects-by-colonytag\storage.json 7c7 < "tilecount" : 246, --- > "tilecount" : 248, 910c910 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", 1470a1471,1488 > "246" : { > "//description" : "Ideal for storing food and keeping it fresh.", > "//name" : "minifridge", > "//shortdescription" : "Mini Fridge", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "minifridge", > "tilesetDirection" : "left" > }, > "247" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, 2690a2709,2714 > }, > "246" : { > "image" : "../../../../../tiled/packed/objects/minifridge.png" > }, > "247" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" tilesets\packed\objects-by-colonytag\wired.json 46c46 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 0.5 seconds.", 161c161 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 1 second.", 530c530 < "//description" : "Switches and stays switched.", --- > "//description" : "Once triggered this switch will remain in its switched state.", 600c600 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 5 seconds.", 703c703 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 4 seconds.", 984c984 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 2 seconds.", 1115c1115 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 3 seconds.", tilesets\packed\objects-by-race\apex.json 7c7 < "tilecount" : 358, --- > "tilecount" : 359, 2459a2460,2468 > "358" : { > "//description" : "A sign advertising a place to buy stuff.", > "//name" : "apexstoresign", > "//shortdescription" : "Store Sign", > "imagePositionX" : "-40", > "imagePositionY" : "-8", > "object" : "apexstoresign", > "tilesetDirection" : "right" > }, 3937a3947,3949 > }, > "358" : { > "image" : "../../../../../tiled/packed/objects/apexstoresign.png" tilesets\packed\objects-by-race\generic.json 7c7 < "tilecount" : 1607, --- > "tilecount" : 1609, 5741a5742,5759 > "1607" : { > "//description" : "Ideal for storing food and keeping it fresh.", > "//name" : "minifridge", > "//shortdescription" : "Mini Fridge", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "minifridge", > "tilesetDirection" : "left" > }, > "1608" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, 9734c9752 < "//description" : "Pearlpea, I'll need to bite down hard.", --- > "//description" : "Pearlpea, you'll need to bite down hard.", 9777c9795 < "//description" : "Switches and stays switched.", --- > "//description" : "Once triggered this switch will remain in its switched state.", 15672a15691,15696 > }, > "1607" : { > "image" : "../../../../../tiled/packed/objects/minifridge.png" > }, > "1608" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" tilesets\packed\objects-by-race\human.json 29c29 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 1 second.", 116c116 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 0.5 seconds.", 166c166 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", 1758c1758 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 5 seconds.", 2163c2163 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 4 seconds.", 2233c2233 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 2 seconds.", 2321c2321 < "//description" : "", --- > "//description" : "The timer output alternates between on and off every 3 seconds.", tilesets\packed\objects-by-race\protectorate.json 544c544 < "tilesetDirection" : "left" --- > "tilesetDirection" : "right" tilesets\packed\objects-by-type\container.json 7c7 < "tilecount" : 262, --- > "tilecount" : 264, 55c55 < "//description" : "Ooh, snack time.", --- > "//description" : "Perfect for storing a lot of food and keeping it fresh.", 1590a1591,1608 > "262" : { > "//description" : "Ideal for storing food and keeping it fresh.", > "//name" : "minifridge", > "//shortdescription" : "Mini Fridge", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "minifridge", > "tilesetDirection" : "left" > }, > "263" : { > "//description" : "There are some items on this shelf.", > "//name" : "apexstoreshelf", > "//shortdescription" : "Store Shelf", > "imagePositionX" : "-24", > "imagePositionY" : "0", > "object" : "apexstoreshelf", > "tilesetDirection" : "right" > }, 2817a2836,2841 > }, > "262" : { > "image" : "../../../../../tiled/packed/objects/minifridge.png" > }, > "263" : { > "image" : "../../../../../tiled/packed/objects/apexstoreshelf.png" tilesets\packed\objects-by-type\farmable.json 461c461 < "//description" : "Pearlpea, I'll need to bite down hard.", --- > "//description" : "Pearlpea, you'll need to bite down hard.",