FILES ----- interface.config versioning.config [NEW] behaviors\monsters\modular\actions\projectile.behavior cinematics\chuckles.png [NEW] cinematics\artifacts\floranartifact.cinematic [NEW] cinematics\artifacts\floranartifact.png dungeons\missions\tentaclemissions\bossroomtest.json dungeons\other\outpost\outpost.json dungeons\other\techchallenges\techchallenge_dash.json dungeons\other\techchallenges\techchallenge_doublejump.json dungeons\other\techchallenges\techchallenge_morphball.json [NEW] humanoid\esther\backarm.frames [NEW] humanoid\esther\backarm.png [NEW] humanoid\esther\dead.png [NEW] humanoid\esther\emote.frames [NEW] humanoid\esther\emote.png [NEW] humanoid\esther\femalebody.frames [NEW] humanoid\esther\femalebody.png [NEW] humanoid\esther\femalehead.frames [NEW] humanoid\esther\femalehead.png [NEW] humanoid\esther\frontarm.frames [NEW] humanoid\esther\frontarm.png [NEW] humanoid\esther\malebody.frames [NEW] humanoid\esther\malebody.png [NEW] humanoid\esther\malehead.frames [NEW] humanoid\esther\malehead.png [NEW] humanoid\esther\hair\1.png [NEW] humanoid\esther\hair\default.frames [NEW] interface\inventory\slothighlight.frames [NEW] interface\inventory\slothighlight.png interface\warping\gatewarp.config items\active\effects\chain.lua items\active\fossilhammers\fossilbrushbeginnericon.png [NEW] items\active\fossilhammers\fossilbrushmaster.png [NEW] items\active\fossilhammers\fossilbrushmastericon.png [NEW] items\active\fossilhammers\fossilbrushstudent.png [NEW] items\active\fossilhammers\fossilbrushstudenticon.png items\active\fossilhammers\fossiltoolkit1.png items\active\fossilhammers\fossiltoolkit2.png items\active\fossilhammers\fossiltoolkit3.png items\active\weapons\melee\broadsword\astrosabredeluxe.activeitem items\active\weapons\melee\broadsword\astrosabredeluxe.animation [NEW] items\active\weapons\melee\broadsword\astrosabredeluxefullbright.png items\active\weapons\other\exmachina\exmachina.activeitem items\active\weapons\other\tentaclegun\tentaclegun.activeitem items\active\weapons\ranged\altabilities\bouncingshot\bouncingshot.altability items\generic\licenses\fakelicense1.item items\generic\licenses\fakelicense2.item items\generic\licenses\fakelicense3.item items\generic\licenses\fakelicense4.item items\generic\licenses\fakelicense5.item items\generic\licenses\license1.item items\generic\licenses\license2.item items\generic\licenses\license3.item items\generic\licenses\license4.item items\generic\licenses\license5.item items\tools\hoe.tillingtool monsters\monster.lua monsters\crawlers\crustoise\crustoise.monstertype [NEW] monsters\crawlers\crustoise\crustoiseshard.png [NEW] monsters\crawlers\oculob\ocublob.png monsters\crawlers\oculob\oculob.animation monsters\crawlers\oculob\oculob.monstertype monsters\crawlers\pulpin\pulpin.animation monsters\crawlers\pulpin\pulpin.monstertype monsters\crawlers\tentaclecrawler\tentaclecrawler.monstertype monsters\crawlers\tintic\tintic.animation monsters\flyers\agrobat\agrobat.animation [NEW] monsters\flyers\agrobat\agrobatwing.png [NEW] monsters\flyers\agrobat\agrobatwingflipped.png monsters\flyers\bobfae\bobfae.monstertype monsters\flyers\pteropod\pteropod.animation monsters\flyers\scandroid\scandroid.animation monsters\ghosts\ignome\ignome.animation monsters\ghosts\lumoth\lumoth.animation monsters\walkers\gleap\gleap.animation [NEW] monsters\walkers\gleap\gleapsplat.png npcs\merchantpools.config npcs\mission\florancelebrator.npctype npcs\mission\floranpredator.npctype npcs\mission\floranspectator.npctype npcs\mission\penguinscientist.npctype npcs\outpost\outpostfloranhunter.npctype npcs\outpost\outposthumanscientist.npctype npcs\outpost\outposthylotlcurator.npctype [NEW] npcs\story\esther.npctype [NEW] npcs\story\estheroid.config npcs\story\nuru.npctype [NEW] objects\biome\tentacle\rightorgans\icon.png [NEW] objects\biome\tentacle\rightorgans\rightorgans.frames [NEW] objects\biome\tentacle\rightorgans\rightorgans.object [NEW] objects\biome\tentacle\rightorgans\rightorgans.png objects\biome\tentacle\spawner\bossrightspawner.animation objects\biome\tentacle\spawner\bossrightspawner.lua objects\biome\tentacle\spawner\bossrightspawner.object objects\biome\tentacle\tentaclespawner1\tentaclespawner1.object objects\clues\apex\bigapedoll\bigapedoll.object objects\clues\avian\kluexstatue1\kluexstatue1.object objects\clues\avian\kluexstatue2\kluexstatue2.object [NEW] objects\clues\glitch\glitchdecree\glitchdecree.frames [NEW] objects\clues\glitch\glitchdecree\glitchdecree.object [NEW] objects\clues\glitch\glitchdecree\glitchdecree.png [NEW] objects\clues\glitch\glitchdecree\glitchdecreeicon.png [NEW] objects\clues\hylotl\hylotllibaryposter1\hylotllibraryposter1.frames [NEW] objects\clues\hylotl\hylotllibaryposter1\hylotllibraryposter1.object [NEW] objects\clues\hylotl\hylotllibaryposter1\hylotllibraryposter1.png [NEW] objects\clues\hylotl\hylotllibaryposter1\hylotllibraryposter1icon.png [NEW] objects\clues\hylotl\librarycodex\librarycodex.frames [NEW] objects\clues\hylotl\librarycodex\librarycodex.object [NEW] objects\clues\hylotl\librarycodex\librarycodex.png [NEW] objects\clues\hylotl\librarycodex\librarycodexicon.png [NEW] objects\clues\hylotl\librarymodel\librarymodel.frames [NEW] objects\clues\hylotl\librarymodel\librarymodel.object [NEW] objects\clues\hylotl\librarymodel\librarymodel.png [NEW] objects\clues\hylotl\librarymodel\librarymodelicon.png [NEW] objects\clues\hylotl\pagodaaquarium\pagodaaquarium.frames [NEW] objects\clues\hylotl\pagodaaquarium\pagodaaquarium.object [NEW] objects\clues\hylotl\pagodaaquarium\pagodaaquarium.png [NEW] objects\clues\hylotl\pagodaaquarium\pagodaaquariumicon.png objects\mission\floranmission\floranartifactaltar\floranartifactaltar.object objects\outpost\infinityexpress\infinityexpress.object objects\outpost\shipyardcaptain\shipyardcaptain.object [NEW] particles\monsterdeath\agrobatwing.particle [NEW] particles\monsterdeath\agrobatwingflipped.particle [NEW] particles\monsterdeath\gleapsplat.particle [NEW] particles\monsterdeath\ocublob.particle particles\shards\tentaclegooshard.particle particles\shards\tentacleshard.particle projectiles\physics.config projectiles\activeitems\astraltear\astraltear.png projectiles\activeitems\astraltear\astraltear.projectile projectiles\activeitems\magnorb\magnorb.projectile [NEW] projectiles\explosions\arrowexplosion\arrowexplosion.config projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnodamage.config projectiles\guns\arrows\aegisaltarrow\aegisaltarrow.projectile projectiles\guns\arrows\chargedaegisaltarrow\chargedaegisaltarrow.projectile projectiles\guns\arrows\chargedarrow\chargedarrow.projectile projectiles\guns\arrows\chargedheartarrow\chargedheartarrow.projectile projectiles\guns\arrows\chargedironarrow\chargedironarrow.projectile projectiles\guns\arrows\chargedlightarrow\chargedlightarrow.projectile projectiles\guns\arrows\chargedpoisonarrow\chargedpoisonarrow.projectile projectiles\guns\arrows\chargedpurplearrow\chargedpurplearrow.projectile projectiles\guns\arrows\flamearrow\flamearrow.projectile projectiles\guns\arrows\flamebolt\flamebolt.projectile projectiles\guns\arrows\frozenflamearrow\frozenflamearrow.projectile projectiles\guns\arrows\harpoon\chargedharpoon.projectile projectiles\guns\arrows\harpoon\harpoon.projectile projectiles\guns\arrows\heartarrow\heartarrow.projectile projectiles\guns\arrows\heckarrow\heckarrow.projectile projectiles\guns\arrows\icearrow\icearrow.projectile projectiles\guns\arrows\ironarrow\ironarrow.projectile projectiles\guns\arrows\lightarrow\lightarrow.projectile projectiles\guns\arrows\poisonarrow\poisonarrow.projectile projectiles\guns\arrows\poisonbolt\poisonbolt.projectile projectiles\guns\arrows\purplearrow\purplearrow.projectile projectiles\guns\arrows\woodenarrow\flamingwoodenarrow.projectile projectiles\guns\arrows\woodenarrow\woodenarrow.projectile projectiles\guns\arrows\woodenbolt\woodenbolt.projectile projectiles\guns\bullets\standardbullet\standardbullet.projectile projectiles\guns\bullets\stickybullet\stickybullet.projectile projectiles\guns\grenades\shrapnelbomb\shrapnelbomb.projectile projectiles\guns\tentaclefist\invisibletentaclefist.projectile projectiles\guns\tentaclefist\tentaclefist.projectile projectiles\homingarrow\homingarrow.projectile projectiles\npcs\eyeball\evileyeball.projectile [NEW] projectiles\uniquemonster\bobfaeball\bobfaeball.frames [NEW] projectiles\uniquemonster\bobfaeball\bobfaeball.png [NEW] projectiles\uniquemonster\bobfaeball\bobfaeball.projectile [NEW] projectiles\uniquemonster\bobfaeball\icon.png [NEW] projectiles\uniquemonster\crustoiseshell\crustoiseshell.frames [NEW] projectiles\uniquemonster\crustoiseshell\crustoiseshell.png [NEW] projectiles\uniquemonster\crustoiseshell\crustoiseshell.projectile [NEW] projectiles\uniquemonster\crustoiseshell\icon.png [NEW] projectiles\uniquemonster\ocueye\icon.png [NEW] projectiles\uniquemonster\ocueye\ocueye.frames [NEW] projectiles\uniquemonster\ocueye\ocueye.png [NEW] projectiles\uniquemonster\ocueye\ocueye.projectile [NEW] projectiles\uniquemonster\pulpinbrain\pulpinbrain.frames [NEW] projectiles\uniquemonster\pulpinbrain\pulpinbrain.png [NEW] projectiles\uniquemonster\pulpinbrain\pulpinbrain.projectile [NEW] projectiles\uniquemonster\pulpinwater\pulpinwater.frames [NEW] projectiles\uniquemonster\pulpinwater\pulpinwater.png [NEW] projectiles\uniquemonster\pulpinwater\pulpinwater.projectile quests\ftlrepairmain.questtemplate quests\fuel.questtemplate quests\food\firstcrops.questtemplate quests\food\hoe.questtemplate quests\food\wateringcan.questtemplate quests\generated\guard.config quests\generated\normal.config quests\generated\villager.config [NEW] quests\generated\pools\monsterthreats.config quests\generated\pools\npcthreats.config quests\generated\pools\pools.config [NEW] quests\generated\templates\kill_npcs.questtemplate quests\outpost\floranarena1.questtemplate quests\outpost\floranarena2.questtemplate quests\outpost\floranarena3.questtemplate quests\outpost\museumcurator1.questtemplate quests\outpost\museumcurator2.questtemplate quests\outpost\museumcurator3.questtemplate quests\outpost\museumcurator4.questtemplate quests\outpost\museumcurator5.questtemplate quests\outpost\museumcurator6.questtemplate quests\outpost\techscientist1.questtemplate quests\outpost\techscientist2.questtemplate quests\outpost\techscientist3.questtemplate quests\outpost\techscientist4.questtemplate quests\outpost\techscientist5.questtemplate quests\outpost\techscientist6.questtemplate quests\outpost\old\coldskin1.questtemplate quests\outpost\old\coldskin2.questtemplate quests\outpost\old\coldskin3.questtemplate quests\outpost\old\heatskin1.questtemplate quests\outpost\old\heatskin2.questtemplate quests\outpost\old\kelpquest.questtemplate quests\outpost\old\outpost0.questtemplate quests\outpost\old\outpost1.questtemplate quests\outpost\old\outpostmission1.questtemplate quests\outpost\old\outpostskin.questtemplate quests\outpost\old\penguinmission.questtemplate quests\outpost\old\penguinmission2.questtemplate quests\outpost\old\penguinmission3.questtemplate quests\outpost\old\endgame\avianrefugeee1.questtemplate quests\outpost\old\endgame\avianrefugeee2.questtemplate quests\outpost\old\endgame\examplequest.questtemplate quests\outpost\old\endgame\humanscientiste1.questtemplate quests\outpost\old\endgame\hylotlperformere1.questtemplate quests\outpost\old\endgame\hylotlperformere2part1.questtemplate quests\outpost\old\endgame\hylotlperformere2part2.questtemplate quests\outpost\old\endgame\hylotlwarriore1.questtemplate quests\outpost\old\endgame\hylotlwarriore2.questtemplate quests\outpost\old\endgame\penguinpromotere1.questtemplate quests\outpost\old\phase1optional\bountyhunter1.questtemplate quests\outpost\old\phase1optional\floranfan1.questtemplate quests\outpost\old\phase1optional\humanscientist1.questtemplate quests\outpost\old\phase1optional\hylotlperformer1.questtemplate quests\outpost\old\phase1optional\radardish1.questtemplate quests\outpost\old\phase1optional\underside1.questtemplate quests\outpost\old\phase2optional\apexmechanic2.questtemplate quests\outpost\old\phase2optional\avianrefugee2part1.questtemplate quests\outpost\old\phase2optional\avianrefugee2part2.questtemplate quests\outpost\old\phase2optional\bountyhunter2.questtemplate quests\outpost\old\phase2optional\floranscholar2.questtemplate quests\outpost\old\phase2optional\glitchsilenttype2.questtemplate quests\outpost\old\phase2optional\humanexcon2.questtemplate quests\outpost\old\phase2optional\humansurvivor2.questtemplate quests\outpost\old\phase3optional\avianexplorer3.questtemplate quests\outpost\old\phase3optional\bountyhunter3.questtemplate quests\outpost\old\phase3optional\glitchsilenttype3.questtemplate quests\outpost\old\phase3optional\hylotlperformer3.questtemplate quests\outpost\old\phase4optional\apexrefugee4.questtemplate quests\outpost\old\phase4optional\avianexplorer4.questtemplate quests\outpost\old\phase4optional\avianmercenary4.questtemplate quests\outpost\old\phase4optional\bountyhunter4.questtemplate quests\outpost\old\phase4optional\floranhunter4.questtemplate quests\outpost\old\phase4optional\humanexcon4.questtemplate quests\outpost\shipupgrade\shipupgrade1.questtemplate quests\outpost\shipupgrade\shipupgrade2.questtemplate quests\outpost\shipupgrade\shipupgrade3.questtemplate quests\outpost\shipupgrade\shipupgrade4.questtemplate quests\outpost\shipupgrade\shipupgrade5.questtemplate quests\scripts\conditions\scanning.lua [NEW] quests\scripts\generated\kill.lua quests\scripts\generated\kill_monster.lua quests\scripts\generated\protect.lua [NEW] quests\story\floran_mission1.questtemplate [NEW] quests\story\floran_mission2.questtemplate quests\tutorial\apextutorial.questtemplate quests\tutorial\aviantutorial.questtemplate quests\tutorial\distressbeacon.questtemplate quests\tutorial\florantutorial.questtemplate quests\tutorial\glitchtutorial.questtemplate quests\tutorial\humantutorial.questtemplate quests\tutorial\hylotltutorial.questtemplate quests\tutorial\novakidtutorial.questtemplate quests\tutorial\tutorial1.questtemplate quests\tutorial\tutorial2.questtemplate quests\tutorial\tutorial3.questtemplate quests\tutorial\tutorial4.questtemplate quests\tutorial\tutorial5.questtemplate quests\tutorial\tutorial6.questtemplate quests\tutorial\tutorial7.questtemplate quests\tutorial\tutorial8.questtemplate rendering\opengl20.config scripts\quest\location.lua scripts\quest\manager.lua scripts\quest\manager\plugin.lua scripts\quest\manager\spawn_entities.lua scripts\questgen\generator.lua [NEW] sfx\gun\impact_arrow.ogg [NEW] sfx\gun\tentaclegun1.ogg [NEW] sfx\gun\tentaclegun2.ogg [NEW] sfx\gun\tentaclegun3.ogg [NEW] sfx\melee\fist_hit_metal1_quiet.ogg [NEW] sfx\melee\fist_hit_metal2_quiet.ogg [NEW] sfx\melee\fist_hit_metal3_quiet.ogg [NEW] sfx\melee\fist_hit_metal4_quiet.ogg [NEW] sfx\melee\fist_hit_metal5_quiet.ogg [NEW] sfx\melee\fist_hit_metal6_quiet.ogg [NEW] sfx\melee\laser_weapon_swing1.ogg [NEW] sfx\melee\laser_weapon_swing2.ogg [NEW] sfx\melee\laser_weapon_swing3.ogg [NEW] sfx\projectiles\astraltear_stop1.ogg [NEW] sfx\projectiles\astraltear_stop2.ogg [NEW] sfx\projectiles\bullet_ricochet1.ogg [NEW] sfx\projectiles\bullet_ricochet10.ogg [NEW] sfx\projectiles\bullet_ricochet11.ogg [NEW] sfx\projectiles\bullet_ricochet12.ogg [NEW] sfx\projectiles\bullet_ricochet13.ogg [NEW] sfx\projectiles\bullet_ricochet2.ogg [NEW] sfx\projectiles\bullet_ricochet3.ogg [NEW] sfx\projectiles\bullet_ricochet4.ogg [NEW] sfx\projectiles\bullet_ricochet5.ogg [NEW] sfx\projectiles\bullet_ricochet6.ogg [NEW] sfx\projectiles\bullet_ricochet7.ogg [NEW] sfx\projectiles\bullet_ricochet8.ogg [NEW] sfx\projectiles\bullet_ricochet9.ogg [NEW] sfx\projectiles\magnorb_impact1.ogg [NEW] sfx\projectiles\magnorb_impact2.ogg [NEW] sfx\projectiles\magnorb_impact3.ogg [NEW] sfx\projectiles\tentacle_metal_loop.ogg spawntypes\generatedflying.spawntypes stats\effects\regeneration\regeneration.animation tilesets\packed\huge-objects.json tilesets\packed\objects-by-category\decorative.json tilesets\packed\objects-by-category\pot.json tilesets\packed\objects-by-category\trap.json tilesets\packed\objects-by-colonytag\apexvillage.json tilesets\packed\objects-by-colonytag\bone.json tilesets\packed\objects-by-colonytag\dark.json tilesets\packed\objects-by-colonytag\evil.json tilesets\packed\objects-by-colonytag\hylotl.json tilesets\packed\objects-by-colonytag\hylotloceancity.json tilesets\packed\objects-by-colonytag\hylotlvillage.json tilesets\packed\objects-by-colonytag\misc.json tilesets\packed\objects-by-colonytag\nature.json tilesets\packed\objects-by-colonytag\pretty.json [NEW] tilesets\packed\objects-by-colonytag\tentacle.json tilesets\packed\objects-by-race\apex.json tilesets\packed\objects-by-race\generic.json tilesets\packed\objects-by-race\hylotl.json tilesets\packed\objects-by-race\tentacle.json [NEW] versioning\quest_1_2.lua [NEW] versioning\stagehandentity_1_2.lua DIFFS ----- interface.config 259a260,267 > "highlightAnimation" : { > "frames" : "/interface/inventory/slothighlight.png:", > "animationCycle" : 1.0, > "mode" : "LoopForever", > "frameNumber" : 16, > "centered" : true > }, > versioning.config 14c14 < "StagehandEntity" : 1, --- > "StagehandEntity" : 2, 18c18 < "Quest" : 1, --- > "Quest" : 2, dungeons\missions\tentaclemissions\bossroomtest.json [TMX file differences are left out for huge size.] dungeons\other\outpost\outpost.json [TMX file differences are left out for huge size.] dungeons\other\techchallenges\techchallenge_dash.json [TMX file differences are left out for huge size.] dungeons\other\techchallenges\techchallenge_doublejump.json [TMX file differences are left out for huge size.] dungeons\other\techchallenges\techchallenge_morphball.json [TMX file differences are left out for huge size.] interface\warping\gatewarp.config 9,14d8 < }, < { < "name" : "Ark", < "planetName" : "Mysterious Ruin", < "warpAction" : "InstanceWorld:monolith", < "icon" : "ark" items\active\effects\chain.lua 20c20 < local chainVec = vec2.sub(endPosition, startPosition) --- > local chainVec = world.distance(endPosition, startPosition) items\active\weapons\melee\broadsword\astrosabredeluxe.activeitem 19c19,21 < "blade" : "astrosabredeluxe.png" --- > "blade" : "astrosabredeluxe.png", > "weaponfullbright" : "astrosabredeluxefullbright.png" > 21a24,33 > "lights" : { "glow" : { > "active" : true, > "position" : [0.0, 0.0], > "color" : [100, 100, 100], > "flickerPeriod" : 1, > "flickerMinIntensity" : 0.95, > "flickerMaxIntensity" : 1.0, > "flickerPeriodVariance" : 0.0, > "flickerIntensityVariance" : 0.0 > }}, 23c35 < "fire" : [ "/sfx/melee/laser_weapon_swing_heavy.ogg", "/sfx/melee/laser_weapon_swing_light.ogg", "/sfx/melee/laser_weapon_swing_medium.ogg" ] --- > "fire" : [ "/sfx/melee/laser_weapon_swing1.ogg", "/sfx/melee/laser_weapon_swing2.ogg", "/sfx/melee/laser_weapon_swing3.ogg" ] items\active\weapons\melee\broadsword\astrosabredeluxe.animation 23a24,35 > "weaponfullbright" : { > "properties" : { > "zLevel" : 1, > "centered" : true, > "fullbright" : true, > "image" : "??", > "offset" : [0, 1.875], > "transformationGroups" : ["weapon"], > "rotationCenter" : [0, 0], > "damageArea" : [ [-0.7, -1.0], [-0.7, 2.5], [0.5, 2.5], [0.5, -1.0] ] > } > }, 84,87c96 < "particles" : [ < { "particle" : "shadowsmoke"}, < { "particle" : "shadowsmoke"} < ] --- > "particles" : [] items\active\weapons\other\exmachina\exmachina.activeitem 93c93 < "projectileType" : "rocketshell", --- > "projectileType" : "crustoiseshell", items\active\weapons\other\tentaclegun\tentaclegun.activeitem 25c25 < "fire" : [ "/sfx/gun/evileye1.ogg", "/sfx/gun/evileye2.ogg", "/sfx/gun/evileye3.ogg", "/sfx/gun/evileye4.ogg", "/sfx/gun/evileye5.ogg", "/sfx/gun/evileye6.ogg" ] --- > "fire" : [ "/sfx/gun/tentaclegun1.ogg", "/sfx/gun/tentaclegun2.ogg", "/sfx/gun/tentaclegun3.ogg" ] items\active\weapons\ranged\altabilities\bouncingshot\bouncingshot.altability 34c34,54 < "speed" : 100 --- > "speed" : 100, > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/projectiles/bullet_ricochet1.ogg", > "/sfx/projectiles/bullet_ricochet2.ogg", > "/sfx/projectiles/bullet_ricochet3.ogg", > "/sfx/projectiles/bullet_ricochet4.ogg", > "/sfx/projectiles/bullet_ricochet5.ogg", > "/sfx/projectiles/bullet_ricochet6.ogg", > "/sfx/projectiles/bullet_ricochet7.ogg", > "/sfx/projectiles/bullet_ricochet8.ogg", > "/sfx/projectiles/bullet_ricochet9.ogg", > "/sfx/projectiles/bullet_ricochet10.ogg", > "/sfx/projectiles/bullet_ricochet11.ogg", > "/sfx/projectiles/bullet_ricochet12.ogg", > "/sfx/projectiles/bullet_ricochet13.ogg" > ] > } > ] items\generic\licenses\fakelicense1.item 9c9 < "pickupQuestTemplates" : ["shipupgrade1.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade1"], items\generic\licenses\fakelicense2.item 9c9 < "pickupQuestTemplates" : ["shipupgrade2.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade2"], items\generic\licenses\fakelicense3.item 9c9 < "pickupQuestTemplates" : ["shipupgrade3.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade3"], items\generic\licenses\fakelicense4.item 9c9 < "pickupQuestTemplates" : ["shipupgrade4.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade4"], items\generic\licenses\fakelicense5.item 9c9 < "pickupQuestTemplates" : ["shipupgrade5.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade5"], items\generic\licenses\license1.item 8c8 < "pickupQuestTemplates" : ["shipupgrade1.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade1"], items\generic\licenses\license2.item 8c8 < "pickupQuestTemplates" : ["shipupgrade2.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade2"], items\generic\licenses\license3.item 8c8 < "pickupQuestTemplates" : ["shipupgrade3.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade3"], items\generic\licenses\license4.item 8c8 < "pickupQuestTemplates" : ["shipupgrade4.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade4"], items\generic\licenses\license5.item 8c8 < "pickupQuestTemplates" : ["shipupgrade5.gearup"], --- > "pickupQuestTemplates" : ["shipupgrade5"], items\tools\hoe.tillingtool 19c19 < "pickupQuestTemplates" : [ "firstcrops.gearup" ] --- > "pickupQuestTemplates" : [ "firstcrops" ] monsters\monster.lua 42a43 > BData:setNumber("facingDirection", mcontroller.facingDirection()) 95d95 < BData:setNumber("facingDirection", mcontroller.facingDirection()) 413a414 > if args.sound == "" then return false end monsters\crawlers\crustoise\crustoise.monstertype 18a19 > "deathBehavior" : "monster-death", 88a90,104 > } > } > ], > > "deathActions" : [ > { > "name" : "action-projectile", > "parameters" : { > "projectileCount" : 1, > "projectileType" : "crustoiseshell", > "projectileParameters" : {}, > "power" : 0, > "aimDirection" : [-1, 2], > "inaccuracy" : 0, > "fireOffset" : [0, 0.4] monsters\crawlers\oculob\oculob.animation 116,123c116,132 < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, --- > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, > { "particle" : "ocublob" }, monsters\crawlers\oculob\oculob.monstertype 18a19 > "deathBehavior" : "monster-death", 73a75,89 > } > } > ], > > "deathActions" : [ > { > "name" : "action-projectile", > "parameters" : { > "projectileCount" : 1, > "projectileType" : "ocueye", > "projectileParameters" : {}, > "power" : 0, > "aimDirection" : [-1, 2], > "inaccuracy" : 0, > "fireOffset" : [0, 0.4] monsters\crawlers\pulpin\pulpin.animation 133,149d132 < { "particle" : "monstersplosion" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathfizz1left" }, < { "particle" : "deathfizz1right" }, < { "particle" : "deathfizz2left" }, < { "particle" : "deathfizz2right" }, < { "particle" : "deathfizz3left" }, < { "particle" : "deathfizz3right" }, < { "particle" : "deathfizz4left" }, < { "particle" : "deathfizz4right" } monsters\crawlers\pulpin\pulpin.monstertype 18a19 > "deathBehavior" : "monster-death", 89a91,117 > } > } > ], > > "deathActions" : [ > { > "name" : "action-projectile", > "parameters" : { > "projectileCount" : 1, > "projectileType" : "pulpinwater", > "projectileParameters" : {}, > "power" : 0, > "aimDirection" : [0, -1], > "inaccuracy" : 0, > "fireOffset" : [0, 1] > } > }, > { > "name" : "action-projectile", > "parameters" : { > "projectileCount" : 1, > "projectileType" : "pulpinbrain", > "projectileParameters" : {}, > "power" : 0, > "aimDirection" : [0, -1], > "inaccuracy" : 0, > "fireOffset" : [0, 2] monsters\crawlers\tentaclecrawler\tentaclecrawler.monstertype 36d35 < monsters\crawlers\tintic\tintic.animation 128a129,134 > { "particle" : "dust4" }, > { "particle" : "dust4" }, > { "particle" : "dust4" }, > { "particle" : "dust4" }, > { "particle" : "dust4" }, > { "particle" : "dust4" }, 137,144c143,150 < { "particle" : "deathfizz1left" }, < { "particle" : "deathfizz1right" }, < { "particle" : "deathfizz2left" }, < { "particle" : "deathfizz2right" }, < { "particle" : "deathfizz3left" }, < { "particle" : "deathfizz3right" }, < { "particle" : "deathfizz4left" }, < { "particle" : "deathfizz4right" } --- > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" }, > { "particle" : "dust2" } monsters\flyers\agrobat\agrobat.animation 120a121,122 > { "particle" : "agrobatwing" }, > { "particle" : "agrobatwingflipped" }, monsters\flyers\bobfae\bobfae.monstertype 18a19 > "deathBehavior" : "monster-death", 112a114,128 > } > } > ], > > "deathActions" : [ > { > "name" : "action-projectile", > "parameters" : { > "projectileCount" : 1, > "projectileType" : "bobfaeball", > "projectileParameters" : {}, > "power" : 0, > "aimDirection" : [0.3, -1], > "inaccuracy" : 0, > "fireOffset" : [0, 2] monsters\flyers\pteropod\pteropod.animation 159a160,167 > { "particle" : "poisondust" }, > { "particle" : "poisondust" }, > { "particle" : "poisondust" }, > { "particle" : "poisonswoosh3" }, > { "particle" : "poisonswoosh3" }, > { "particle" : "poisonswoosh3" }, > { "particle" : "poisonswoosh3" }, > { "particle" : "poisonswoosh3" }, monsters\flyers\scandroid\scandroid.animation 117,125c117,121 < { "particle" : "monstersplosion" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, --- > { "particle" : "electricswoosh1" }, > { "particle" : "electricswoosh2" }, > { "particle" : "electricswoosh1" }, > { "particle" : "electricswoosh2" }, > monsters\ghosts\ignome\ignome.animation 140,147c140,147 < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, --- > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, > { "particle" : "firestormflame" }, monsters\ghosts\lumoth\lumoth.animation 114,122c114,118 < { "particle" : "monstersplosion" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, --- > { "particle" : "electricswoosh1" }, > { "particle" : "electricswoosh2" }, > { "particle" : "electricswoosh1" }, > { "particle" : "electricswoosh2" }, > monsters\walkers\gleap\gleap.animation 145,152c145,153 < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, < { "particle" : "deathember" }, --- > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, > { "particle" : "gleapsplat" }, npcs\merchantpools.config 1c1 < { --- > { 234c234 < --- > 250c250 < --- > 253,254c253,254 < { "item" : { "name" : "tungstenbar" }, "prerequisiteQuest" : "outpostMission1.gearup" }, < { "item" : { "name" : "plutoniumrod" }, "prerequisiteQuest" : "outpostMission1.gearup" }, --- > { "item" : { "name" : "tungstenbar" }, "prerequisiteQuest" : "outpostMission1" }, > { "item" : { "name" : "plutoniumrod" }, "prerequisiteQuest" : "outpostMission1" }, 256,257c256,257 < { "item" : { "name" : "titaniumbar" }, "prerequisiteQuest" : "penguinmission2.gearup" }, < { "item" : { "name" : "diamond" }, "prerequisiteQuest" : "penguinmission2.gearup" }, --- > { "item" : { "name" : "titaniumbar" }, "prerequisiteQuest" : "penguinmission2" }, > { "item" : { "name" : "diamond" }, "prerequisiteQuest" : "penguinmission2" }, 259c259 < { "item" : { "name" : "durasteelbar" }, "prerequisiteQuest" : "coldskin2.gearup" }, --- > { "item" : { "name" : "durasteelbar" }, "prerequisiteQuest" : "coldskin2" }, 261,263c261,263 < { "item" : { "name" : "refinedaegisalt" }, "prerequisiteQuest" : "heatskin2.gearup" }, < { "item" : { "name" : "refinedrubium" }, "prerequisiteQuest" : "heatskin2.gearup" }, < { "item" : { "name" : "refinedviolium" }, "prerequisiteQuest" : "heatskin2.gearup" } --- > { "item" : { "name" : "refinedaegisalt" }, "prerequisiteQuest" : "heatskin2" }, > { "item" : { "name" : "refinedrubium" }, "prerequisiteQuest" : "heatskin2" }, > { "item" : { "name" : "refinedviolium" }, "prerequisiteQuest" : "heatskin2" } 299c299 < --- > 304c304 < --- > 311c311 < --- > 321c321 < --- > 449c449 < --- > 1622c1622 < --- > 1727c1727 < --- > npcs\mission\florancelebrator.npctype 24c24 < "The hunt isss won!", --- > "The Hunt isss won!", 31c31 < "Wait, was the hunt a draw?!", --- > "Wait, was The Hunt a draw?!", 34c34 < "The huntsss are over!", --- > "The Hunt iss over!", npcs\mission\floranpredator.npctype 22c22 < "I won't be beaten in the huntsss!", --- > "I won't be beaten in The Hunt!", 24c24 < "The hunt isss on!", --- > "The Hunt isss on!", 31c31 < "You won't beat me in the huntsss!", --- > "You won't beat me in The Hunt!", 33c33 < "You can't ssstop me winning the hunt!", --- > "You can't ssstop me winning The Hunt!", npcs\mission\floranspectator.npctype 30c30 < "Who will win the huntsss this year? my bet'sss on Nuru!", --- > "Who will win The Hunt this year? My bet'sss on Nuru!", 32c32 < "I'm so tired of Nuru winning the huntsss every year!", --- > "I'm ssso tired of Nuru winning The Hunt every year!", 38c38 < "Are you hoping to catch up in the huntsss?", --- > "Are you hoping to catch up in The Hunt?", 40,43c40,43 < "Are you here to join the huntsss?", < "If you're here for the huntsss, outsider, then you're late!", < "Are you here from ssspace to join the huntsss? You better get going!", < "You bessst hurry if you want to catch up in the hunt!" --- > "Are you here to join The Hunt?", > "If you're here for The Hunt, outsssider, then you're late!", > "Are you here from ssspace to join The Hunt? You better get going!", > "You bessst hurry if you want to catch up in The Hunt!" npcs\mission\penguinscientist.npctype 8,9c8,9 < "turnInQuests" : [ "heatskin2.gearup" ], < --- > "turnInQuests" : [ "heatskin2" ], > npcs\outpost\outpostfloranhunter.npctype 6c6 < "name" : "Paki", --- > "name" : "Miles", 11,12c11,12 < "offeredQuests" : [ "floranarena1.gearup", "floranarena2.gearup", "floranarena3.gearup" ], < "turnInQuests" : [ "floranarena1.gearup", "floranarena2.gearup", "floranarena3.gearup" ], --- > "offeredQuests" : [ "floranarena1", "floranarena2", "floranarena3" ], > "turnInQuests" : [ "floranarena1", "floranarena2", "floranarena3" ], npcs\outpost\outposthumanscientist.npctype 11,12c11,12 < "offeredQuests" : [ "techscientist1.gearup", "techscientist2.gearup", "techscientist3.gearup", "techscientist4.gearup", "techscientist5.gearup", "techscientist6.gearup" ], < "turnInQuests" : [ "techscientist1.gearup", "techscientist3.gearup", "techscientist5.gearup" ], --- > "offeredQuests" : [ "techscientist1", "techscientist2", "techscientist3", "techscientist4", "techscientist5", "techscientist6" ], > "turnInQuests" : [ "techscientist1", "techscientist3", "techscientist5" ], 19c19 < --- > npcs\outpost\outposthylotlcurator.npctype 11,12c11,12 < "offeredQuests" : [ "museumcurator1.gearup", "museumcurator2.gearup", "museumcurator3.gearup", "museumcurator4.gearup", "museumcurator5.gearup", "museumcurator6.gearup" ], < "turnInQuests" : [ "museumcurator1.gearup", "museumcurator2.gearup", "museumcurator3.gearup", "museumcurator4.gearup", "museumcurator5.gearup", "museumcurator6.gearup" ], --- > "offeredQuests" : [ "museumcurator1", "museumcurator2", "museumcurator3", "museumcurator4", "museumcurator5", "museumcurator6" ], > "turnInQuests" : [ "museumcurator1", "museumcurator2", "museumcurator3", "museumcurator4", "museumcurator5", "museumcurator6" ], npcs\story\nuru.npctype 30c30 < "Jusst a warning - other hunters will try to stop you winning the hunt.", --- > "Jusst a warning - other hunters will try to stop you winning The Hunt.", 35c35 < "Florans are mindlessly savage.", --- > "Florans are often mindlessly savage.", 39c39 < "I participate in the hunt to show Florans the best way to win is not to fight amongst ourselves.", --- > "I participate in The Hunt to show Florans the best way to win is not to fight amongst ourselves.", 42c42 < "The thought of hunting my life away makes my petals wilt.", --- > "I enjoy hunting, but sssometimes it's not enough.", objects\biome\tentacle\spawner\bossrightspawner.animation 5c5 < "default" : "pulse", --- > "default" : "idle", 17c17 < "default" : "pulse", --- > "default" : "idle", 29c29 < "default" : "pulse", --- > "default" : "idle", 41c41 < "default" : "pulse", --- > "default" : "idle", 53c53 < "default" : "pulse", --- > "default" : "idle", 65c65 < "default" : "pulse", --- > "default" : "idle", 77c77 < "default" : "pulse", --- > "default" : "idle", 89c89 < "default" : "pulse", --- > "default" : "idle", 278a279,356 > }, > > "particleEmitters" : { > "blob1" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-9.5, -7.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-9.5, -7.0] } > ] > }, > "blob2" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-8.625, -6.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-8.625, -6.0] } > ] > }, > "blob3" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-7.5, -7.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-7.5, -7.0] } > ] > }, > "blob4" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-5.0, -6.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-5.0, -6.0] } > ] > }, > "blob5" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-4.5, -3.875] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-4.5, -3.875] } > ] > }, > "blob6" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-2.0, -5.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-2.0, -5.0] } > ] > }, > "blob7" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [-1.5, -6.0] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [-1.5, -6.0] } > ] > }, > "blob8" : { > "emissionRate" : 150.0, > "particles" : [ > { "count" : 5, "particle" : "tentacleshard", "offset" : [5.5, 3.5] }, > { "count" : 8, "particle" : "tentaclegooshard", "offset" : [5.5, 3.5] } > ] > } > }, > > "lights" : { > "blob4" : { > "active" : true, > "position" : [-5.0, -6.0], > "color" : [100, 200, 100], > "pointLight" : false > }, > "blob8" : { > "active" : true, > "position" : [5.5, 3.5], > "color" : [100, 200, 100], > "pointLight" : false > } > }, > > "sounds" : { > "spawn" : [ "/sfx/objects/meat_break1.ogg", "/sfx/objects/meat_break2.ogg", "/sfx/objects/meat_break3.ogg" ] objects\biome\tentacle\spawner\bossrightspawner.lua 0a1,3 > require "/scripts/util.lua" > require "/scripts/vec2.lua" > 1a5,47 > local uniqueId = config.getParameter("uniqueId") > if uniqueId then > object.setUniqueId(uniqueId) > end > > self.spawners = {} > self.spawnerConfig = config.getParameter("spawnPoints") > self.width = config.getParameter("objectWidth") > > message.setHandler("enableSpawner", function(_, _, spawnerName) enableSpawner(spawnerName) end) > message.setHandler("reset", reset) > end > > function update(dt) > for _,spawn in pairs(self.spawners) do > spawn(dt) > end > end > > function reset() > self.spawners = {} > for spawnerName,_ in pairs(self.spawnerConfig) do > animator.setAnimationState(spawnerName, "idle") > end > end > > function absolutePosition(offset, width) > if object.direction() > 0 then > return vec2.add(entity.position(), offset) > else > return vec2.add(vec2.add(entity.position(), {width, 0}), {-offset[1], offset[2]}) > end > end > > function enableSpawner(spawnerName) > local spawner = self.spawnerConfig[spawnerName] > local position = absolutePosition(spawner.offset, self.width) > animator.setAnimationState(spawnerName, "pulse") > table.insert(self.spawners, util.interval(spawner.interval, function() > world.spawnMonster(spawner.monster, position, { aggressive = true, level = world.threatLevel() }) > animator.burstParticleEmitter(spawnerName) > animator.playSound("spawn") > end)) objects\biome\tentacle\spawner\bossrightspawner.object 19c19 < "inventoryIcon" : "bossrightspawnericon.png", --- > "inventoryIcon" : "bossrightspawner.png", 22c22 < "dualImage" : "bossrightspawner.png:", --- > "dualImage" : "bossrightspawner.png", 34c34,78 < ] --- > ], > > "objectWidth" : 21, > "spawnPoints" : { > "blob1" : { > "offset" : [1.0, 1.0], > "monster" : "tentaclegnat", > "interval" : 5.0 > }, > "blob2" : { > "offset" : [1.875, 2.0], > "monster" : "tentaclegnat", > "interval" : 5.0 > }, > "blob3" : { > "offset" : [3.0, 1.0], > "monster" : "tentaclecrawler", > "interval" : 8.0 > }, > "blob4" : { > "offset" : [5.5, 2.0], > "monster" : "tentaclecrawler", > "interval" : 8.0 > }, > "blob5" : { > "offset" : [6.0, 4.125], > "monster" : "tentacleclam", > "interval" : 12.0 > }, > "blob6" : { > "offset" : [8.5, 3.0], > "monster" : "tentaclebomb", > "interval" : 12.0 > }, > "blob7" : { > "offset" : [9.0, 2.0], > "monster" : "tentacleghost", > "interval" : 20.0 > }, > "blob8" : { > "offset" : [16.0, 11.5], > "monster" : "tentaclespawner", > "interval" : 20.0 > } > } objects\biome\tentacle\tentaclespawner1\tentaclespawner1.object 34d33 < 47d45 < 49d46 < 74d70 < 86d81 < objects\clues\apex\bigapedoll\bigapedoll.object 3c3 < "colonyTags" : ["apex","pretty"], --- > "colonyTags" : ["apex","apexvillage","pretty"], 16,18c16,18 < "humanDescription" : "Aww, it's almost enough to make you forget how scary real Poptops are.", < "hylotlDescription" : "This is quite an adorable plushie of a rather scary creature.", < "novakidDescription" : "Too cute to be a real Poptop.", --- > "humanDescription" : "The eyes of this doll keep flashing... I'm pretty sure it's actually a spying device.", > "hylotlDescription" : "Something about this doll makes me uncomfortable... I think it may have cameras for eyes.", > "novakidDescription" : "Somethin' of this doll ain't makin' me feel so comfortable.", objects\clues\avian\kluexstatue1\kluexstatue1.object 6c6 < "price" : 110, --- > "price" : 200, objects\clues\avian\kluexstatue2\kluexstatue2.object 6c6 < "price" : 110, --- > "price" : 200, objects\mission\floranmission\floranartifactaltar\floranartifactaltar.object 28a29,30 > "turnInQuests" : [ "floran_mission2" ], > objects\outpost\infinityexpress\infinityexpress.object 40,42c40,42 < { "item" : "liquidfuel", "prerequisiteQuest" : "outpostMission1.gearup" }, < { "item" : "supermatter", "prerequisiteQuest" : "outpostMission1.gearup" }, < { "item" : "processor", "prerequisiteQuest" : "penguinmission3.gearup" } --- > { "item" : "liquidfuel", "prerequisiteQuest" : "outpostMission1" }, > { "item" : "supermatter", "prerequisiteQuest" : "outpostMission1" }, > { "item" : "processor", "prerequisiteQuest" : "penguinmission3" } 48c48 < --- > 55c55 < --- > 68c68 < --- > objects\outpost\shipyardcaptain\shipyardcaptain.object 42,46c42,46 < "shipupgrade1.gearup", < "shipupgrade2.gearup", < "shipupgrade3.gearup", < "shipupgrade4.gearup", < "shipupgrade5.gearup" --- > "shipupgrade1", > "shipupgrade2", > "shipupgrade3", > "shipupgrade4", > "shipupgrade5" particles\shards\tentaclegooshard.particle 10c10 < "layer" : "middle", --- > "layer" : "front", particles\shards\tentacleshard.particle 10c10 < "layer" : "middle", --- > "layer" : "front", projectiles\physics.config 161a162,176 > "largeGrenade" : { > "mass" : 1.0, > "gravityMultiplier" : 0.6, > "bounceFactor" : 0.9, > "stopOnFirstBounce" : true, > "maxMovementPerStep" : 0.4, > > "collisionPoly" : [ [-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5] ], > "ignorePlatformCollision" : true, > > "airFriction" : 0.0, > "liquidFriction" : 8.0, > "groundFriction" : 15.0 > }, > projectiles\activeitems\astraltear\astraltear.projectile 31c31 < "options" : [ "/sfx/projectiles/astraltear_stop.ogg" ] --- > "options" : [ "/sfx/projectiles/astraltear_stop2.ogg" ] projectiles\activeitems\magnorb\magnorb.projectile 17a18,28 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/projectiles/magnorb_impact1.ogg", > "/sfx/projectiles/magnorb_impact2.ogg", > "/sfx/projectiles/magnorb_impact3.ogg" > ] > } > ], > projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnodamage.config 6c6 < "inheritDamageFactor" : 1, --- > "inheritDamageFactor" : 0, projectiles\guns\arrows\aegisaltarrow\aegisaltarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\chargedaegisaltarrow\chargedaegisaltarrow.projectile 15c15 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedarrow\chargedarrow.projectile 15c15 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedheartarrow\chargedheartarrow.projectile 15c15 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedironarrow\chargedironarrow.projectile 15c15 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedlightarrow\chargedlightarrow.projectile 16c16 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedpoisonarrow\chargedpoisonarrow.projectile 19c19 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\chargedpurplearrow\chargedpurplearrow.projectile 15c15 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\flamearrow\flamearrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\flamebolt\flamebolt.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\frozenflamearrow\frozenflamearrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\harpoon\chargedharpoon.projectile 14c14 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\harpoon\harpoon.projectile 12c12 < "file" : "/projectiles/explosions/bulletexplosion/bulletexplosion.config" --- > "file" : "/projectiles/explosions/arrowexplosion/arrowexplosion.config" projectiles\guns\arrows\heartarrow\heartarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\heckarrow\heckarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\icearrow\icearrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\ironarrow\ironarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\lightarrow\lightarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\poisonarrow\poisonarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\poisonbolt\poisonbolt.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\purplearrow\purplearrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\woodenarrow\flamingwoodenarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\woodenarrow\woodenarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\arrows\woodenbolt\woodenbolt.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\guns\bullets\standardbullet\standardbullet.projectile 7c7 < "damageKindImage" : "icon.png", --- > "damageKind" : "default", 19,20c19 < "knockback" : 0, < "damageKind" : "default" --- > "knockback" : 0 projectiles\guns\bullets\stickybullet\stickybullet.projectile 20c20,28 < "damageKind" : "default" --- > "damageKind" : "default", > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_bullet.ogg" > ] > } > ] projectiles\guns\grenades\shrapnelbomb\shrapnelbomb.projectile 16a17,25 > "action" : "sound", > "options" : [ > "/sfx/projectiles/bullet_ricochet6.ogg", > "/sfx/projectiles/bullet_ricochet7.ogg", > "/sfx/projectiles/bullet_ricochet12.ogg", > "/sfx/projectiles/bullet_ricochet13.ogg" > ] > }, > { projectiles\guns\tentaclefist\invisibletentaclefist.projectile 33a34,47 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/projectiles/gnome_impact1.ogg", > "/sfx/projectiles/gnome_impact2.ogg", > "/sfx/projectiles/gnome_impact3.ogg", > "/sfx/projectiles/gnome_impact4.ogg", > "/sfx/projectiles/gnome_impact5.ogg", > "/sfx/projectiles/gnome_impact6.ogg" > ] > } > ], > projectiles\guns\tentaclefist\tentaclefist.projectile 34c34,48 < "persistentAudio" : "/sfx/projectiles/tentacle_loop.ogg" --- > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/melee/fist_hit_metal1_quiet.ogg", > "/sfx/melee/fist_hit_metal2_quiet.ogg", > "/sfx/melee/fist_hit_metal3_quiet.ogg", > "/sfx/melee/fist_hit_metal4_quiet.ogg", > "/sfx/melee/fist_hit_metal5_quiet.ogg", > "/sfx/melee/fist_hit_metal6_quiet.ogg" > ] > } > ], > > "persistentAudio" : "/sfx/projectiles/tentacle_metal_loop.ogg" projectiles\homingarrow\homingarrow.projectile 3a4,11 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/gun/impact_arrow.ogg" > ] > } > ], projectiles\npcs\eyeball\evileyeball.projectile 13a14,26 > "actionOnCollide" : [ > { > "action" : "sound", > "options" : [ > "/sfx/projectiles/gnome_impact1.ogg", > "/sfx/projectiles/gnome_impact2.ogg", > "/sfx/projectiles/gnome_impact3.ogg", > "/sfx/projectiles/gnome_impact4.ogg", > "/sfx/projectiles/gnome_impact5.ogg", > "/sfx/projectiles/gnome_impact6.ogg" > ] > } > ], 17c30,37 < "options" : [ "/sfx/projectiles/gnome_impact1.ogg", "/sfx/projectiles/gnome_impact2.ogg", "/sfx/projectiles/gnome_impact3.ogg", "/sfx/projectiles/gnome_impact4.ogg", "/sfx/projectiles/gnome_impact5.ogg", "/sfx/projectiles/gnome_impact6.ogg" ] --- > "options" : [ > "/sfx/projectiles/gnome_impact1.ogg", > "/sfx/projectiles/gnome_impact2.ogg", > "/sfx/projectiles/gnome_impact3.ogg", > "/sfx/projectiles/gnome_impact4.ogg", > "/sfx/projectiles/gnome_impact5.ogg", > "/sfx/projectiles/gnome_impact6.ogg" > ] quests\ftlrepairmain.questtemplate 2c2 < "id" : "ftlrepairmain.gearup", --- > "id" : "ftlrepairmain", 13c13 < "followUp" : "fuel.gearup", --- > "followUp" : "fuel", quests\fuel.questtemplate 2c2 < "id" : "fuel.gearup", --- > "id" : "fuel", quests\food\firstcrops.questtemplate 2c2 < "id" : "firstcrops.gearup", --- > "id" : "firstcrops", 5c5 < "prerequisites" : [ "hoe.gearup", "wateringcan.gearup" ], --- > "prerequisites" : [ "hoe", "wateringcan" ], quests\food\hoe.questtemplate 2c2 < "id" : "hoe.gearup", --- > "id" : "hoe", 15c15 < "followUp" : "wateringcan.gearup", --- > "followUp" : "wateringcan", quests\food\wateringcan.questtemplate 2c2 < "id" : "wateringcan.gearup", --- > "id" : "wateringcan", 15c15 < "followUp" : "hoe.gearup", --- > "followUp" : "hoe", quests\generated\guard.config 69,71c69,71 < "managerPlugin" : { < "script" : "/scripts/quest/manager/spawn_assassins.lua", < "pluginClass" : "SpawnAssassins", --- > "managerPlugins" : [{ > "script" : "/scripts/quest/manager/spawn_entities.lua", > "pluginClass" : "SpawnEntities", 72a73 > "group" : "enemies", 82d82 < "beamIn" : true, 86c86 < }, --- > }], 95c95,96 < ["isNpcThreat", "threat"], --- > ["tagSet", "locationTags", ["generic"]], > ["isNpcThreat", "locationTags", "threat"], quests\generated\normal.config 55c55 < "managerPlugin" : { --- > "managerPlugins" : [{ 58a59 > "group" : "enemies", 72c73 < }, --- > }], 145c146 < "managerPlugin" : { --- > "managerPlugins" : [{ 148a150 > "group" : "enemies", 162c164 < }, --- > }], quests\generated\villager.config 20c20 < "managerPlugin" : { --- > "managerPlugins" : [{ 23a24 > "group" : "enemies", 32c33 < }, --- > }], 39,41c40,78 < ["tagSet", "tags", ["test"]], < ["findLocation", "spawnPoint", "tags"], < ["isMonster", "monster"], --- > ["tagSet", "locationTags", ["test"]], > ["findLocation", "spawnPoint", "locationTags"], > ["isMonsterThreat", "locationTags", "monster"], > > ["itemName", "item", {"literal":"goldbar"}], > ["itemList", "items", "item", "count"], > ["<", 0, "count"] > ], > "postconditions" : [ > ["owns", "player", "item", "count"] > ] > }, > > "testing_kill_npcs" : { > "templateId" : "kill_npcs.generated", > "difficulty" : 0.5, > "participants" : { > "questGiver" : { "turnInQuest" : true } > }, > > "managerPlugins" : [{ > "script" : "/scripts/quest/manager/spawn_entities.lua", > "pluginClass" : "SpawnEntities", > "pluginConfig" : { > "group" : "enemies", > "spawnCount" : 3, > "positionParam" : "spawnPoint", > "spawnOffset" : [2.0, 3.5], > "persistent" : true, > "spawnParameter" : "enemy", > "drops" : "items", > "levelBoost" : 1.0 > } > }], > > "preconditions" : [ > ["tagSet", "locationTags", ["test"]], > ["findLocation", "spawnPoint", "locationTags"], > ["isNpcThreat", "locationTags", "enemy"], quests\generated\pools\npcthreats.config 3,7c3,21 < { < "name" : "bandits", < "species" : "human", < "typeName" : "bandit" < } --- > > [ > [ "generic" ], > { > "name" : "bandits", > "species" : "human", > "typeName" : "bandit" > } > ], > > [ > [ "test" ], > { > "name" : "test bandits", > "species" : "human", > "typeName" : "bandit" > } > ] > quests\generated\pools\pools.config 33,34c33,34 < "relation" : "UnaryPool", < "type" : "NpcType", --- > "relation" : "BinaryPool", > "types" : ["TagSet", "NpcType"], 35a36,40 > }, > "isMonsterThreat" : { > "relation" : "BinaryPool", > "types" : ["TagSet", "MonsterType"], > "poolFile" : "/quests/generated/pools/monsterthreats.config" quests\outpost\floranarena1.questtemplate 2c2 < "id" : "floranarena1.gearup", --- > "id" : "floranarena1", 36c36 < } \ No newline at end of file --- > } quests\outpost\floranarena2.questtemplate 2,3c2,3 < "id" : "floranarena2.gearup", < "prerequisites" : [ "floranarena1.gearup" ], --- > "id" : "floranarena2", > "prerequisites" : [ "floranarena1" ], 36c36 < } \ No newline at end of file --- > } quests\outpost\floranarena3.questtemplate 2,3c2,3 < "id" : "floranarena3.gearup", < "prerequisites" : [ "floranarena2.gearup" ], --- > "id" : "floranarena3", > "prerequisites" : [ "floranarena2" ], 36c36 < } \ No newline at end of file --- > } quests\outpost\museumcurator1.questtemplate 2c2 < "id" : "museumcurator1.gearup", --- > "id" : "museumcurator1", quests\outpost\museumcurator2.questtemplate 2,3c2,3 < "id" : "museumcurator2.gearup", < "prerequisites" : [ "museumcurator1.gearup" ], --- > "id" : "museumcurator2", > "prerequisites" : [ "museumcurator1" ], 26c26 < } \ No newline at end of file --- > } quests\outpost\museumcurator3.questtemplate 2,3c2,3 < "id" : "museumcurator3.gearup", < "prerequisites" : [ "museumcurator2.gearup" ], --- > "id" : "museumcurator3", > "prerequisites" : [ "museumcurator2" ], quests\outpost\museumcurator4.questtemplate 2,3c2,3 < "id" : "museumcurator4.gearup", < "prerequisites" : [ "museumcurator3.gearup" ], --- > "id" : "museumcurator4", > "prerequisites" : [ "museumcurator3" ], quests\outpost\museumcurator5.questtemplate 2,3c2,3 < "id" : "museumcurator5.gearup", < "prerequisites" : [ "museumcurator4.gearup" ], --- > "id" : "museumcurator5", > "prerequisites" : [ "museumcurator4" ], quests\outpost\museumcurator6.questtemplate 2,3c2,3 < "id" : "museumcurator6.gearup", < "prerequisites" : [ "museumcurator5.gearup" ], --- > "id" : "museumcurator6", > "prerequisites" : [ "museumcurator5" ], quests\outpost\techscientist1.questtemplate 2c2 < "id" : "techscientist1.gearup", --- > "id" : "techscientist1", quests\outpost\techscientist2.questtemplate 2,3c2,3 < "id" : "techscientist2.gearup", < "prerequisites" : [ "techscientist1.gearup" ], --- > "id" : "techscientist2", > "prerequisites" : [ "techscientist1" ], quests\outpost\techscientist3.questtemplate 2,3c2,3 < "id" : "techscientist3.gearup", < "prerequisites" : [ "techscientist2.gearup" ], --- > "id" : "techscientist3", > "prerequisites" : [ "techscientist2" ], quests\outpost\techscientist4.questtemplate 2,3c2,3 < "id" : "techscientist4.gearup", < "prerequisites" : [ "techscientist3.gearup" ], --- > "id" : "techscientist4", > "prerequisites" : [ "techscientist3" ], quests\outpost\techscientist5.questtemplate 2,3c2,3 < "id" : "techscientist5.gearup", < "prerequisites" : [ "techscientist4.gearup" ], --- > "id" : "techscientist5", > "prerequisites" : [ "techscientist4" ], quests\outpost\techscientist6.questtemplate 2,3c2,3 < "id" : "techscientist6.gearup", < "prerequisites" : [ "techscientist5.gearup" ], --- > "id" : "techscientist6", > "prerequisites" : [ "techscientist5" ], quests\outpost\old\coldskin1.questtemplate 2,3c2,3 < "id" : "coldskin1.gearup", < "prerequisites" : [ "kelpquest.gearup" ], --- > "id" : "coldskin1", > "prerequisites" : [ "kelpquest" ], 18c18 < "followUp" : "coldskin2.gearup", --- > "followUp" : "coldskin2", quests\outpost\old\coldskin2.questtemplate 2c2 < "id" : "coldskin2.gearup", --- > "id" : "coldskin2", 17c17 < "followUp" : "coldskin3.gearup", --- > "followUp" : "coldskin3", quests\outpost\old\coldskin3.questtemplate 2c2 < "id" : "coldskin3.gearup", --- > "id" : "coldskin3", quests\outpost\old\heatskin1.questtemplate 2,3c2,3 < "id" : "heatskin1.gearup", < "prerequisites" : [ "coldskin3.gearup" ], --- > "id" : "heatskin1", > "prerequisites" : [ "coldskin3" ], 18c18 < "followUp" : "heatskin2.gearup", --- > "followUp" : "heatskin2", quests\outpost\old\heatskin2.questtemplate 2c2 < "id" : "heatskin2.gearup", --- > "id" : "heatskin2", quests\outpost\old\kelpquest.questtemplate 2,3c2,3 < "id" : "kelpquest.gearup", < "prerequisites" : [ "penguinmission3.gearup" ], --- > "id" : "kelpquest", > "prerequisites" : [ "penguinmission3" ], 30c30 < --- > quests\outpost\old\outpost0.questtemplate 2c2 < "id" : "outpost0.gearup", --- > "id" : "outpost0", quests\outpost\old\outpost1.questtemplate 2,3c2,3 < "id" : "outpost1.gearup", < "prerequisites" : [ "outpost0.gearup" ], --- > "id" : "outpost1", > "prerequisites" : [ "outpost0" ], quests\outpost\old\outpostmission1.questtemplate 2c2 < "id" : "outpostMission1.gearup", --- > "id" : "outpostMission1", quests\outpost\old\outpostskin.questtemplate 3,4c3,4 < "id" : "outpostSkin.gearup", < "prerequisites" : [ "outpost0.gearup" ], --- > "id" : "outpostSkin", > "prerequisites" : [ "outpost0" ], 20c20 < "followUp" : "outpostMission1.gearup", --- > "followUp" : "outpostMission1", quests\outpost\old\penguinmission.questtemplate 2,3c2,3 < "id" : "penguinmission.gearup", < "prerequisites" : [ "outpostMission1.gearup" ], --- > "id" : "penguinmission", > "prerequisites" : [ "outpostMission1" ], 18c18 < "followUp" : "penguinmission2.gearup", --- > "followUp" : "penguinmission2", 30c30 < --- > quests\outpost\old\penguinmission2.questtemplate 2,3c2,3 < "id" : "penguinmission2.gearup", < "prerequisites" : [ "outpostMission1.gearup" ], --- > "id" : "penguinmission2", > "prerequisites" : [ "outpostMission1" ], 18c18 < "followUp" : "penguinmission3.gearup", --- > "followUp" : "penguinmission3", 29c29 < --- > quests\outpost\old\penguinmission3.questtemplate 2,3c2,3 < "id" : "penguinmission3.gearup", < "prerequisites" : [ "outpostMission1.gearup" ], --- > "id" : "penguinmission3", > "prerequisites" : [ "outpostMission1" ], 32c32 < --- > quests\outpost\old\endgame\avianrefugeee1.questtemplate 2,4c2,4 < "id" : "avianrefugeeE1.gearup", < "prerequisites" : [ "license5.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "avianrefugeeE1", > "prerequisites" : [ "license5" ], > "requiredShipLevel" : 8, 28c28 < --- > quests\outpost\old\endgame\avianrefugeee2.questtemplate 2,4c2,4 < "id" : "avianrefugeeE2.gearup", < "prerequisites" : [ "avianrefugeeE1.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "avianrefugeeE2", > "prerequisites" : [ "avianrefugeeE1" ], > "requiredShipLevel" : 8, 29c29 < --- > quests\outpost\old\endgame\examplequest.questtemplate 2,4c2,4 < "id" : "examplequest.gearup", < "prerequisites" : [ "license5.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "examplequest", > "prerequisites" : [ "license5" ], > "requiredShipLevel" : 8, quests\outpost\old\endgame\humanscientiste1.questtemplate 2,4c2,4 < "id" : "humanscientistE1.gearup", < "prerequisites" : [ "license5.gearup", "humanscientist1.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "humanscientistE1", > "prerequisites" : [ "license5", "humanscientist1" ], > "requiredShipLevel" : 8, 28c28 < --- > quests\outpost\old\endgame\hylotlperformere1.questtemplate 2,4c2,4 < "id" : "hylotlperformerE1.gearup", < "prerequisites" : [ "license5.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "hylotlperformerE1", > "prerequisites" : [ "license5" ], > "requiredShipLevel" : 8, 28c28 < --- > quests\outpost\old\endgame\hylotlperformere2part1.questtemplate 2,4c2,4 < "id" : "hylotlperformerE2part1.gearup", < "prerequisites" : [ "hylotlperformerE1.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "hylotlperformerE2part1", > "prerequisites" : [ "hylotlperformerE1" ], > "requiredShipLevel" : 8, 16c16 < "followUp" : "hylotlperformerE2part2.gearup", --- > "followUp" : "hylotlperformerE2part2", 20c20 < --- > quests\outpost\old\endgame\hylotlperformere2part2.questtemplate 2,4c2,4 < "id" : "hylotlperformerE2part2.gearup", < "prerequisites" : [ "hylotlperformerE2part1.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "hylotlperformerE2part2", > "prerequisites" : [ "hylotlperformerE2part1" ], > "requiredShipLevel" : 8, 19c19 < --- > quests\outpost\old\endgame\hylotlwarriore1.questtemplate 2,4c2,4 < "id" : "hylotlwarriorE1.gearup", < "prerequisites" : [ "license5.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "hylotlwarriorE1", > "prerequisites" : [ "license5" ], > "requiredShipLevel" : 8, 28c28 < --- > quests\outpost\old\endgame\hylotlwarriore2.questtemplate 2,4c2,4 < "id" : "hylotlwarriorE2.gearup", < "prerequisites" : [ "hylotlwarriorE1.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "hylotlwarriorE2", > "prerequisites" : [ "hylotlwarriorE1" ], > "requiredShipLevel" : 8, 29c29 < --- > quests\outpost\old\endgame\penguinpromotere1.questtemplate 2,4c2,4 < "id" : "penguinpromoterE1.gearup", < "prerequisites" : [ "license5.gearup" ], < "requiredShipLevel" : 8, --- > "id" : "penguinpromoterE1", > "prerequisites" : [ "license5" ], > "requiredShipLevel" : 8, 28c28 < --- > quests\outpost\old\phase1optional\bountyhunter1.questtemplate 2,3c2,3 < "id" : "bountyhunter1.gearup", < "prerequisites" : [ "outpost1.gearup" ], --- > "id" : "bountyhunter1", > "prerequisites" : [ "outpost1" ], quests\outpost\old\phase1optional\floranfan1.questtemplate 2,3c2,3 < "id" : "floranfan1.gearup", < "prerequisites" : [ "outpost1.gearup" ], --- > "id" : "floranfan1", > "prerequisites" : [ "outpost1" ], quests\outpost\old\phase1optional\humanscientist1.questtemplate 2,3c2,3 < "id" : "humanscientist1.gearup", < "prerequisites" : [ "outpost0.gearup" ], --- > "id" : "humanscientist1", > "prerequisites" : [ "outpost0" ], quests\outpost\old\phase1optional\hylotlperformer1.questtemplate 2,3c2,3 < "id" : "hylotlperformer1.gearup", < "prerequisites" : [ "outpost1.gearup" ], --- > "id" : "hylotlperformer1", > "prerequisites" : [ "outpost1" ], quests\outpost\old\phase1optional\radardish1.questtemplate 2,3c2,3 < "id" : "radardish1.gearup", < "prerequisites" : [ "outpost1.gearup" ], --- > "id" : "radardish1", > "prerequisites" : [ "outpost1" ], quests\outpost\old\phase1optional\underside1.questtemplate 2c2 < "id" : "underside1.gearup", --- > "id" : "underside1", quests\outpost\old\phase2optional\apexmechanic2.questtemplate 2,3c2,3 < "id" : "apexmechanic2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "apexmechanic2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase2optional\avianrefugee2part1.questtemplate 2,3c2,3 < "id" : "avianrefugee2part1.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "avianrefugee2part1", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase2optional\avianrefugee2part2.questtemplate 2,3c2,3 < "id" : "avianrefugee2part2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup", "floranscholar2.gearup" ], --- > "id" : "avianrefugee2part2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1", "floranscholar2" ], quests\outpost\old\phase2optional\bountyhunter2.questtemplate 2,3c2,3 < "id" : "bountyhunter2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "bountyhunter2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase2optional\floranscholar2.questtemplate 2,3c2,3 < "id" : "floranscholar2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup", "avianrefugee2part1.gearup" ], --- > "id" : "floranscholar2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1", "avianrefugee2part1" ], quests\outpost\old\phase2optional\glitchsilenttype2.questtemplate 2,3c2,3 < "id" : "glitchsilenttype2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "glitchsilenttype2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase2optional\humanexcon2.questtemplate 2,3c2,3 < "id" : "humanexcon2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "humanexcon2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase2optional\humansurvivor2.questtemplate 2,3c2,3 < "id" : "humansurvivor2.gearup", < "prerequisites" : [ "outpost1.gearup", "bountyhunter1.gearup", "floranfan1.gearup", "hylotlperformer1.gearup", "radardish1.gearup" ], --- > "id" : "humansurvivor2", > "prerequisites" : [ "outpost1", "bountyhunter1", "floranfan1", "hylotlperformer1", "radardish1" ], quests\outpost\old\phase3optional\avianexplorer3.questtemplate 2,3c2,3 < "id" : "avianexplorer3.gearup", < "prerequisites" : [ "apexmechanic2.gearup", "avianrefugee2part2.gearup", "bountyhunter2.gearup", "floranscholar2.gearup", "glitchsilenttype2.gearup", "humanexcon2.gearup", "humansurvivor2.gearup" ], --- > "id" : "avianexplorer3", > "prerequisites" : [ "apexmechanic2", "avianrefugee2part2", "bountyhunter2", "floranscholar2", "glitchsilenttype2", "humanexcon2", "humansurvivor2" ], 28c28 < --- > quests\outpost\old\phase3optional\bountyhunter3.questtemplate 2,3c2,3 < "id" : "bountyhunter3.gearup", < "prerequisites" : [ "apexmechanic2.gearup", "avianrefugee2part2.gearup", "bountyhunter2.gearup", "floranscholar2.gearup", "glitchsilenttype2.gearup", "humanexcon2.gearup", "humansurvivor2.gearup" ], --- > "id" : "bountyhunter3", > "prerequisites" : [ "apexmechanic2", "avianrefugee2part2", "bountyhunter2", "floranscholar2", "glitchsilenttype2", "humanexcon2", "humansurvivor2" ], quests\outpost\old\phase3optional\glitchsilenttype3.questtemplate 2,4c2,4 < "id" : "glitchsilenttype3.gearup", < "prerequisites" : [ "apexmechanic2.gearup", "avianrefugee2part2.gearup", "bountyhunter2.gearup", "floranscholar2.gearup", "glitchsilenttype2.gearup", "humanexcon2.gearup", "humansurvivor2.gearup" ], < "requiredShipLevel" : 5, --- > "id" : "glitchsilenttype3", > "prerequisites" : [ "apexmechanic2", "avianrefugee2part2", "bountyhunter2", "floranscholar2", "glitchsilenttype2", "humanexcon2", "humansurvivor2" ], > "requiredShipLevel" : 5, 29c29 < --- > quests\outpost\old\phase3optional\hylotlperformer3.questtemplate 2,4c2,4 < "id" : "hylotlperformer3.gearup", < "prerequisites" : [ "apexmechanic2.gearup", "avianrefugee2part2.gearup", "bountyhunter2.gearup", "floranscholar2.gearup", "glitchsilenttype2.gearup", "humanexcon2.gearup", "humansurvivor2.gearup" ], < "requiredShipLevel" : 5, --- > "id" : "hylotlperformer3", > "prerequisites" : [ "apexmechanic2", "avianrefugee2part2", "bountyhunter2", "floranscholar2", "glitchsilenttype2", "humanexcon2", "humansurvivor2" ], > "requiredShipLevel" : 5, quests\outpost\old\phase4optional\apexrefugee4.questtemplate 2,4c2,4 < "id" : "apexrefugee4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "apexrefugee4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, 28c28 < --- > quests\outpost\old\phase4optional\avianexplorer4.questtemplate 2,4c2,4 < "id" : "avianexplorer4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "avianexplorer4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, 28c28 < --- > quests\outpost\old\phase4optional\avianmercenary4.questtemplate 2,4c2,4 < "id" : "avianmercenary4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "avianmercenary4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, 28c28 < --- > quests\outpost\old\phase4optional\bountyhunter4.questtemplate 2,4c2,4 < "id" : "bountyhunter4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "bountyhunter4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, quests\outpost\old\phase4optional\floranhunter4.questtemplate 2,4c2,4 < "id" : "floranhunter4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "floranhunter4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, quests\outpost\old\phase4optional\humanexcon4.questtemplate 2,4c2,4 < "id" : "humanexcon4.gearup", < "prerequisites" : [ "hylotlperformer3.gearup", "bountyhunter3.gearup", "avianexplorer3.gearup" ], < "requiredShipLevel" : 6, --- > "id" : "humanexcon4", > "prerequisites" : [ "hylotlperformer3", "bountyhunter3", "avianexplorer3" ], > "requiredShipLevel" : 6, quests\outpost\shipupgrade\shipupgrade1.questtemplate 2c2 < "id" : "shipupgrade1.gearup", --- > "id" : "shipupgrade1", quests\outpost\shipupgrade\shipupgrade2.questtemplate 2c2 < "id" : "shipupgrade2.gearup", --- > "id" : "shipupgrade2", quests\outpost\shipupgrade\shipupgrade3.questtemplate 2c2 < "id" : "shipupgrade3.gearup", --- > "id" : "shipupgrade3", quests\outpost\shipupgrade\shipupgrade4.questtemplate 2c2 < "id" : "shipupgrade4.gearup", --- > "id" : "shipupgrade4", quests\outpost\shipupgrade\shipupgrade5.questtemplate 2c2 < "id" : "shipupgrade5.gearup", --- > "id" : "shipupgrade5", quests\scripts\conditions\scanning.lua 24a25 > self:uniqueProgressRadioMessage(objectName) 27c28,30 < self:progressRadioMessage() --- > if not self:uniqueProgressRadioMessage(objectName) then > self:genericProgressRadioMessage() > end 42,44c45,55 < function scanObjectsCondition:progressRadioMessage() < if self.radioMessages.progress then < player.radioMessage(self.radioMessages.progress[math.random(1, #self.radioMessages.progress)]) --- > function scanObjectsCondition:uniqueProgressRadioMessage(objectName) > if self.radioMessages.uniqueProgress and self.radioMessages.uniqueProgress[objectName] then > player.radioMessage(self.radioMessages.uniqueProgress[objectName]) > return true > end > return false > end > > function scanObjectsCondition:genericProgressRadioMessage() > if self.radioMessages.genericProgress then > player.radioMessage(self.radioMessages.genericProgress[math.random(1, #self.radioMessages.genericProgress)]) 61c72 < end \ No newline at end of file --- > end quests\scripts\generated\kill_monster.lua 5,6c5,6 < self.questClient:setMessageHandler("enemiesDead", onMonsterDeath) < self.questClient:setMessageHandler("enemiesSpawned", onMonsterSpawned) --- > self.questClient:setMessageHandler("entitiesDead", onMonsterDeath) > self.questClient:setMessageHandler("entitiesSpawned", onMonsterSpawned) 9c9 < function onMonsterDeath() --- > function onMonsterDeath(_, _, group) 14c14 < function onMonsterSpawned(_, _, monsters) --- > function onMonsterSpawned(_, _, group, monsters) quests\scripts\generated\protect.lua 5,6c5,6 < self.questClient:setMessageHandler("enemiesDead", quest.complete) < self.questClient:setMessageHandler("enemiesSpawned", onEnemiesSpawned) --- > self.questClient:setMessageHandler("entitiesDead", quest.complete) > self.questClient:setMessageHandler("entitiesSpawned", onEnemiesSpawned) 15c15 < function onEnemiesSpawned(_, _, npcs) --- > function onEnemiesSpawned(_, _, group, npcs) quests\tutorial\apextutorial.questtemplate 2c2 < "id" : "apextutorial.gearup", --- > "id" : "apextutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\aviantutorial.questtemplate 2c2 < "id" : "aviantutorial.gearup", --- > "id" : "aviantutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\distressbeacon.questtemplate 2c2 < "id" : "distressbeacon.gearup", --- > "id" : "distressbeacon", quests\tutorial\florantutorial.questtemplate 2c2 < "id" : "florantutorial.gearup", --- > "id" : "florantutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\glitchtutorial.questtemplate 2c2 < "id" : "glitchtutorial.gearup", --- > "id" : "glitchtutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\humantutorial.questtemplate 2c2 < "id" : "humantutorial.gearup", --- > "id" : "humantutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\hylotltutorial.questtemplate 2c2 < "id" : "hylotltutorial.gearup", --- > "id" : "hylotltutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\novakidtutorial.questtemplate 2c2 < "id" : "novakidtutorial.gearup", --- > "id" : "novakidtutorial", 13c13 < "followUp" : "ftlrepairmain.gearup", --- > "followUp" : "ftlrepairmain", quests\tutorial\tutorial1.questtemplate 2c2 < "id" : "tutorial1.gearup", --- > "id" : "tutorial1", 14c14 < "followUp" : "tutorial2.gearup", --- > "followUp" : "tutorial2", quests\tutorial\tutorial2.questtemplate 2c2 < "id" : "tutorial2.gearup", --- > "id" : "tutorial2", 13c13 < "followUp" : "tutorial3.gearup", --- > "followUp" : "tutorial3", quests\tutorial\tutorial3.questtemplate 2c2 < "id" : "tutorial3.gearup", --- > "id" : "tutorial3", 13c13 < "followUp" : "tutorial4.gearup", --- > "followUp" : "tutorial4", quests\tutorial\tutorial4.questtemplate 2c2 < "id" : "tutorial4.gearup", --- > "id" : "tutorial4", 13c13 < "followUp" : "tutorial5.gearup", --- > "followUp" : "tutorial5", quests\tutorial\tutorial5.questtemplate 2c2 < "id" : "tutorial5.gearup", --- > "id" : "tutorial5", 13c13 < "followUp" : "tutorial6.gearup", --- > "followUp" : "tutorial6", quests\tutorial\tutorial6.questtemplate 2c2 < "id" : "tutorial6.gearup", --- > "id" : "tutorial6", 13c13 < "followUp" : "tutorial7.gearup", --- > "followUp" : "tutorial7", quests\tutorial\tutorial7.questtemplate 2c2 < "id" : "tutorial7.gearup", --- > "id" : "tutorial7", 13c13 < "followUp" : "tutorial8.gearup", --- > "followUp" : "tutorial8", quests\tutorial\tutorial8.questtemplate 2c2 < "id" : "tutorial8.gearup", --- > "id" : "tutorial8", rendering\opengl20.config 113c113 < finalColor *= bicubicSample(lightMap, fragmentLightMapCoordinate, 1.0 / lightMapSize) * lightMapMultiplier; --- > finalColor.rgb *= bicubicSample(lightMap, fragmentLightMapCoordinate, 1.0 / lightMapSize).rgb * lightMapMultiplier; scripts\quest\location.lua 60c60,64 < return locationTable():contains(self) --- > if self.tags and #self.tags > 0 then > return locationTagTable(self.tags[1]):contains(self) > else > return locationTable():contains(self) > end 69,71c73,84 < local options = locations:keySet() < for _,tag in pairs(optionalTags or {}) do < options = set.intersection(options, locationTagTable(tag):keySet()) --- > > local options = nil > if optionalTags and #optionalTags > 0 then > for _,tag in pairs(optionalTags or {}) do > if options == nil then > options = locationTagTable(tag):keySet() > else > options = set.intersection(options, locationTagTable(tag):keySet()) > end > end > else > options = locations:keySet() scripts\quest\manager.lua 2a3 > require("/scripts/quest/manager/plugin.lua") 56,57c57,58 < self.plugins = {} < self:loadPlugins() --- > self.data.pluginStorage = self.data.pluginStorage or {} > self.plugins = QuestPluginManager.new(self, self.data.pluginStorage, config.getParameter("plugins", {})) 78,95d78 < function QuestManager:loadPlugins() < for questId, plugin in pairs(config.getParameter("plugins", {})) do < self:loadPlugin(questId, plugin.script, plugin.pluginClass, plugin.pluginConfig or {}) < end < end < < function QuestManager:loadPlugin(questId, script, className, scriptConfig) < require(script) < local class = _ENV[className] < < self.data.pluginStorage = self.data.pluginStorage or {} < self.data.pluginStorage[questId] = self.data.pluginStorage[questId] or {} < local pluginStorage = self.data.pluginStorage[questId] < < local plugin = class.new(self, pluginStorage, questId, scriptConfig) < self.plugins[questId] = plugin < end < 181,183c164 < for questId, plugin in pairs(self.plugins) do < plugin:update() < end --- > self.plugins:update() 333,335c314 < if self.plugins[questId] then < self.plugins[questId]:playerStarted(player) < end --- > self.plugins:playerStarted(questId, player) 344,346c323 < if self.plugins[questId] then < self.plugins[questId]:playerFailed(player) < end --- > self.plugins:playerFailed(questId, player) 357,359c334 < if self.plugins[questId] then < self.plugins[questId]:playerCompleted(player) < end --- > self.plugins:playerCompleted(questId, player) 397,399c372 < for _,plugin in pairs(self.plugins) do < plugin:participantDied(participant, respawner) < end --- > self.plugins:participantDied(participant, respawner) scripts\quest\manager\plugin.lua 4c4 < QuestManagerPlugin = createClass("QuestManagerPlugin") --- > QuestPlugin = createClass("QuestPlugin") 6c6 < function QuestManagerPlugin:init(questManager, storageArea, questId, pluginConfig) --- > function QuestPlugin:init(questManager, storageArea, questId, pluginConfig) 14c14 < function QuestManagerPlugin:update() --- > function QuestPlugin:update() 17c17 < function QuestManagerPlugin:playerStarted(player) --- > function QuestPlugin:playerStarted(player) 20c20 < function QuestManagerPlugin:playerFailed(player) --- > function QuestPlugin:playerFailed(player) 24c24 < function QuestManagerPlugin:playerCompleted(player) --- > function QuestPlugin:playerCompleted(player) 28c28 < function QuestManagerPlugin:playerFinished(player) --- > function QuestPlugin:playerFinished(player) 31c31 < function QuestManagerPlugin:participantDied(participant, respawner) --- > function QuestPlugin:participantDied(participant, respawner) 32a33,91 > > QuestPluginManager = createClass("QuestPluginManager") > > function QuestPluginManager:init(questManager, storageArea, config) > self.questManager = questManager > self.storage = storageArea > self.plugins = {} > > for questId, plugins in pairs(config) do > for i,plugin in pairs(plugins) do > self:loadPlugin(questId, i, plugin.script, plugin.pluginClass, plugin.pluginConfig or {}) > end > end > end > > function QuestPluginManager:loadPlugin(questId, pluginIndex, script, className, scriptConfig) > require(script) > local class = _ENV[className] > > self.storage[questId] = self.storage[questId] or {} > self.storage[questId][pluginIndex] = self.storage[questId][pluginIndex] or {} > local pluginStorage = self.storage[questId][pluginIndex] > > local plugin = class.new(self.questManager, pluginStorage, questId, scriptConfig) > self.plugins[questId] = self.plugins[questId] or {} > self.plugins[questId][pluginIndex] = plugin > end > > function QuestPluginManager:update() > for _,plugins in pairs(self.plugins) do > for _,plugin in pairs(plugins) do > plugin:update() > end > end > end > > local function broadcastPluginCall(pluginMethod) > return function (pluginManager, ...) > for _,plugins in pairs(pluginManager.plugins) do > for _,plugin in pairs(plugins) do > plugin[pluginMethod](plugin, ...) > end > end > end > end > > local function filteredPluginCall(pluginMethod) > return function (pluginManager, questId, ...) > for _,plugin in pairs(pluginManager.plugins[questId] or {}) do > plugin[pluginMethod](plugin, ...) > end > end > end > > QuestPluginManager.update = broadcastPluginCall("update") > QuestPluginManager.playerStarted = filteredPluginCall("playerStarted") > QuestPluginManager.playerFailed = filteredPluginCall("playerFailed") > QuestPluginManager.playerCompleted = filteredPluginCall("playerCompleted") > QuestPluginManager.participantDied = broadcastPluginCall("participantDied") scripts\quest\manager\spawn_entities.lua 5c5 < SpawnEntities = subclass(QuestManagerPlugin, "SpawnEntities") --- > SpawnEntities = subclass(QuestPlugin, "SpawnEntities") 8c8 < QuestManagerPlugin.init(self, ...) --- > QuestPlugin.init(self, ...) 15c15 < if not self.data.enemies then return end --- > if not self.data.entities then return end 18c18 < for uniqueId,_ in pairs(self.data.enemies) do --- > for uniqueId,_ in pairs(self.data.entities) do 20c20 < self.data.enemies[uniqueId] = nil --- > self.data.entities[uniqueId] = nil 29,30c29,30 < if isEmpty(self.data.enemies) then < self.data.enemies = nil --- > if isEmpty(self.data.entities) then > self.data.entities = nil 32c32 < self.questManager:sendToPlayer(player, "enemiesDead") --- > self.questManager:sendToPlayer(player, "entitiesDead", self.config.group) 50c50 < function SpawnEntities:enemyParamName() --- > function SpawnEntities:entityParamName() 84c84 < if self.config.beamIn then --- > if entitySpawnConfig.entityType == "npc" then 123,125d122 < if positionParam and positionParam.uniqueId then < return world.findUniqueEntity(positionParam.uniqueId) < end 128a126,128 > if positionParam and positionParam.uniqueId then > return world.findUniqueEntity(positionParam.uniqueId) > end 138,139c138,139 < if not self.data.enemies then < self.data.enemies = {} --- > if not self.data.entities then > self.data.entities = {} 143c143 < self.data.enemies[uniqueId] = true --- > self.data.entities[uniqueId] = true 150c150 < for uniqueId,_ in pairs(self.data.enemies) do --- > for uniqueId,_ in pairs(self.data.entities) do 156c156 < name = self:enemyParamName() or world.entityName(entityId), --- > name = self:entityParamName() or world.entityName(entityId), 162c162 < self.questManager:sendToPlayer(player, "enemiesSpawned", enemyParams) --- > self.questManager:sendToPlayer(player, "entitiesSpawned", self.config.group, enemyParams) scripts\questgen\generator.lua 533c533 < managerPlugins[questDesc.questId] = operation.config.managerPlugin --- > managerPlugins[questDesc.questId] = operation.config.managerPlugins spawntypes\generatedflying.spawntypes 13c13 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 28c28 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 43c43 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 58c58 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 73c73 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 88c88 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 106c106 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, 121c121 < "targetDensity" : 0.001, --- > "targetDensity" : 0.0004, stats\effects\regeneration\regeneration.animation 13,16c13 < "fade" : 0.9, < "destructionAction" : "shrink", < "destructionTime" : 0.5, < "position" : [1.0, 0.0], --- > "position" : [0.0, 0.0], 24d20 < "position" : [1, 2], 34d29 < "fade" : 0.9, 36c31 < "destructionTime" : 0.85, --- > "destructionTime" : 0.5, 39c34 < "position" : [1.0, 0.0], --- > "position" : [0.0, 0.0], 47,48c42 < "position" : [1, 2], < "size" : 1 --- > "size" : 0.8 tilesets\packed\huge-objects.json 7c7 < "tilecount" : 73, --- > "tilecount" : 74, 567a568,576 > "73" : { > "//description" : "-todo-", > "//name" : "rightorgans", > "//shortdescription" : "Right Organs", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "rightorgans", > "tilesetDirection" : "right" > }, 799a809,811 > }, > "73" : { > "image" : "./../../../../tiled/packed/objects/rightorgans.png" tilesets\packed\objects-by-category\decorative.json 7c7 < "tilecount" : 1239, --- > "tilecount" : 1243, 888c888 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an iron ore.\"", 890c890 < "//shortdescription" : "Iron Geological Sample", --- > "//shortdescription" : "Iron Sample", 906c906 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a uranium ore.\"", 908c908 < "//shortdescription" : "Uranium Geological Sample", --- > "//shortdescription" : "Uranium Sample", 915c915 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a violium ore.\"", 917c917 < "//shortdescription" : "Violium Geological Sample", --- > "//shortdescription" : "Violium Sample", 924c924 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an aegisalt ore.\"", 926c926 < "//shortdescription" : "Aegisalt Geological Sample", --- > "//shortdescription" : "Aegisalt Sample", 933c933 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a tungsten ore.\"", 935c935 < "//shortdescription" : "Tungsten Geological Sample", --- > "//shortdescription" : "Tungsten Sample", 942c942 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a gold ore.\"", 944c944 < "//shortdescription" : "Gold Geological Sample", --- > "//shortdescription" : "Gold Sample", 951c951 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a core fragment ore.\"", 953c953 < "//shortdescription" : "Core Fragment Geological Sample", --- > "//shortdescription" : "Core Fragment Sample", 960c960 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a titanium ore.\"", 962c962 < "//shortdescription" : "Titanium Geological Sample", --- > "//shortdescription" : "Titanium Sample", 969c969 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a solarium ore.\"", 971c971 < "//shortdescription" : "Solarium Geological Sample", --- > "//shortdescription" : "Solarium Sample", 978c978 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a coal ore.\"", 980c980 < "//shortdescription" : "Coal Geological Sample", --- > "//shortdescription" : "Coal Sample", 987c987 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a plutonium ore.\"", 989c989 < "//shortdescription" : "Plutonium Geological Sample", --- > "//shortdescription" : "Plutonium Sample", 1014c1014 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a rubium ore.\"", 1016c1016 < "//shortdescription" : "Rubium Geological Sample", --- > "//shortdescription" : "Rubium Sample", 1023c1023 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a platinum ore.\"", 1025c1025 < "//shortdescription" : "Platinum Geological Sample", --- > "//shortdescription" : "Platinum Sample", 1032c1032 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a copper ore.\"", 1034c1034 < "//shortdescription" : "Copper Geological Sample", --- > "//shortdescription" : "Copper Sample", 1041c1041 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a diamond ore.\"", 1043c1043 < "//shortdescription" : "Diamond Geological Sample", --- > "//shortdescription" : "Diamond Sample", 1050c1050 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a durasteel ore.\"", 1052c1052 < "//shortdescription" : "Durasteel Geological Sample", --- > "//shortdescription" : "Durasteel Sample", 1059c1059 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a prisilite ore.\"", 1061c1061 < "//shortdescription" : "Prisilite Geological Sample", --- > "//shortdescription" : "Prisilite Sample", 1068c1068 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, blue geode.", 1070c1070 < "//shortdescription" : "Blue Geode Geological Sample", --- > "//shortdescription" : "Blue Geode Sample", 1077c1077 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, yellow geode.", 1079c1079 < "//shortdescription" : "Yellow Geode Geological Sample", --- > "//shortdescription" : "Yellow Geode Sample", 1113c1113 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, green geode.", 1115c1115 < "//shortdescription" : "Green Geological Sample", --- > "//shortdescription" : "Green Geode Sample", 1122c1122 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, purple geode.", 1124c1124 < "//shortdescription" : "Purple Geode Geological Sample", --- > "//shortdescription" : "Purple Geode Sample", 1140c1140 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, orange geode.", 1142c1142 < "//shortdescription" : "Orange Geological Sample", --- > "//shortdescription" : "Orange Geode Sample", 1149c1149 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, red geode.", 1151c1151 < "//shortdescription" : "Red Geode Geological Sample", --- > "//shortdescription" : "Red Geode Sample", 2303a2304,2312 > "1239" : { > "//description" : "An intricate handmade paper model of a Hylotl library. There's little paper bookcases inside!", > "//name" : "librarymodel", > "//shortdescription" : "Hylotl Library Model", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarymodel", > "tilesetDirection" : "right" > }, 2311a2321,2346 > "1240" : { > "//description" : "An ancient tome that catalogues of all the Hylotl books in the galaxy.", > "//name" : "librarycodex", > "//shortdescription" : "Hylotl Library Codex", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarycodex", > "tilesetDirection" : "right" > }, > "1241" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, > "1242" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 11112a11148,11150 > "1239" : { > "image" : "../../../../../tiled/packed/objects/librarymodel.png" > }, 11114a11153,11161 > }, > "1240" : { > "image" : "../../../../../tiled/packed/objects/librarycodex.png" > }, > "1241" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" > }, > "1242" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-category\pot.json 1687c1687 < "//description" : "-todo-", --- > "//description" : "A large breakable growth. Wonder what's inside.", 1689c1689 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Large Tentacle Capsule", 1695c1695 < "//description" : "A breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 1697c1697 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", 1703c1703 < "//description" : "A small breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 1705c1705 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", 1711c1711 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 1713c1713 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 1720c1720 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 1722c1722 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 1729c1729 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 1731c1731 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 1747c1747 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 1749c1749 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 1756c1756 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 1758c1758 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 1765c1765 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1767c1767 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1774c1774 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1776c1776 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1783c1783 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1785c1785 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1792c1792 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1794c1794 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1801c1801 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1803c1803 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1810c1810 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1812c1812 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1819c1819 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1821c1821 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1828c1828 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1830c1830 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1846c1846 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1848c1848 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1855c1855 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1857c1857 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1864c1864 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1866c1866 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1873c1873 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1875c1875 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1882c1882 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1884c1884 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1891c1891 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1893c1893 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 1900c1900 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 1902c1902 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", tilesets\packed\objects-by-category\trap.json 874c874 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 892c892 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 901c901 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 910c910 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 919c919 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 928c928 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 937c937 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 946c946 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 955c955 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 964c964 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 973c973 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 998c998 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 1007c1007 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", tilesets\packed\objects-by-colonytag\apexvillage.json 7c7 < "tilecount" : 37, --- > "tilecount" : 38, 278a279,287 > "37" : { > "//description" : "A somewhat suspicious doll of Big Ape.", > "//name" : "bigapedoll", > "//shortdescription" : "Big Ape Doll", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "bigapedoll", > "tilesetDirection" : "right" > }, 426a436,438 > }, > "37" : { > "image" : "../../../../../tiled/packed/objects/bigapedoll.png" tilesets\packed\objects-by-colonytag\bone.json 223c223 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 232c232 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 241c241 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 250c250 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 259c259 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 268c268 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 277c277 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 286c286 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 295c295 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 304c304 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 322c322 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 331c331 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 340c340 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", tilesets\packed\objects-by-colonytag\dark.json 101c101 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 103c103 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 110c110 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 112c112 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 128c128 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 130c130 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 137c137 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 139c139 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 146c146 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 148c148 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 155c155 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 157c157 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 164c164 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 166c166 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 173c173 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 175c175 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 182c182 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 184c184 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 191c191 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 193c193 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 200c200 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 202c202 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 209c209 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 211c211 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 227c227 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 229c229 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 236c236 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 238c238 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 245c245 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 247c247 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 254c254 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 256c256 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 263c263 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 265c265 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 272c272 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 274c274 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 281c281 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 283c283 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 290c290 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 292c292 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", tilesets\packed\objects-by-colonytag\evil.json 471c471 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 480c480 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 489c489 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 498c498 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 507c507 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 525c525 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 534c534 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 543c543 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 552c552 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 561c561 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 570c570 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 579c579 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 588c588 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", tilesets\packed\objects-by-colonytag\hylotl.json 7c7 < "tilecount" : 207, --- > "tilecount" : 211, 1064a1065,1091 > "207" : { > "//description" : "An intricate handmade paper model of a Hylotl library. There's little paper bookcases inside!", > "//name" : "librarymodel", > "//shortdescription" : "Hylotl Library Model", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarymodel", > "tilesetDirection" : "right" > }, > "208" : { > "//description" : "An ancient tome that catalogues of all the Hylotl books in the galaxy.", > "//name" : "librarycodex", > "//shortdescription" : "Hylotl Library Codex", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarycodex", > "tilesetDirection" : "right" > }, > "209" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, 1073a1101,1108 > "210" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 2171a2207,2215 > "207" : { > "image" : "../../../../../tiled/packed/objects/librarymodel.png" > }, > "208" : { > "image" : "../../../../../tiled/packed/objects/librarycodex.png" > }, > "209" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" > }, 2173a2218,2220 > }, > "210" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-colonytag\hylotloceancity.json 7c7 < "tilecount" : 127, --- > "tilecount" : 128, 284a285,292 > "127" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 1213a1222,1224 > }, > "127" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-colonytag\hylotlvillage.json 7c7 < "tilecount" : 53, --- > "tilecount" : 57, 441a442,476 > "53" : { > "//description" : "An intricate handmade paper model of a Hylotl library. There's little paper bookcases inside!", > "//name" : "librarymodel", > "//shortdescription" : "Hylotl Library Model", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarymodel", > "tilesetDirection" : "right" > }, > "54" : { > "//description" : "An ancient tome that catalogues of all the Hylotl books in the galaxy.", > "//name" : "librarycodex", > "//shortdescription" : "Hylotl Library Codex", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarycodex", > "tilesetDirection" : "right" > }, > "55" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, > "56" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 625a661,672 > }, > "53" : { > "image" : "../../../../../tiled/packed/objects/librarymodel.png" > }, > "54" : { > "image" : "../../../../../tiled/packed/objects/librarycodex.png" > }, > "55" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" > }, > "56" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-colonytag\misc.json 46c46 < "//description" : "-todo-", --- > "//description" : "A large breakable growth. Wonder what's inside.", 48c48 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Large Tentacle Capsule", 54c54 < "//description" : "A breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 56c56 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", 62c62 < "//description" : "A small breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 64c64 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", tilesets\packed\objects-by-colonytag\nature.json 7c7 < "tilecount" : 198, --- > "tilecount" : 199, 995a996,1004 > "198" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, 2112a2122,2124 > }, > "198" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" tilesets\packed\objects-by-colonytag\pretty.json 7c7 < "tilecount" : 412, --- > "tilecount" : 416, 177c177 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a uranium ore.\"", 179c179 < "//shortdescription" : "Uranium Geological Sample", --- > "//shortdescription" : "Uranium Sample", 478c478 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, purple geode.", 480c480 < "//shortdescription" : "Purple Geode Geological Sample", --- > "//shortdescription" : "Purple Geode Sample", 505c505 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a platinum ore.\"", 507c507 < "//shortdescription" : "Platinum Geological Sample", --- > "//shortdescription" : "Platinum Sample", 566c566 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a titanium ore.\"", 568c568 < "//shortdescription" : "Titanium Geological Sample", --- > "//shortdescription" : "Titanium Sample", 625c625 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, green geode.", 627c627 < "//shortdescription" : "Green Geological Sample", --- > "//shortdescription" : "Green Geode Sample", 748c748 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a rubium ore.\"", 750c750 < "//shortdescription" : "Rubium Geological Sample", --- > "//shortdescription" : "Rubium Sample", 793c793 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an aegisalt ore.\"", 795c795 < "//shortdescription" : "Aegisalt Geological Sample", --- > "//shortdescription" : "Aegisalt Sample", 1022c1022 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a violium ore.\"", 1024c1024 < "//shortdescription" : "Violium Geological Sample", --- > "//shortdescription" : "Violium Sample", 1274c1274 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a plutonium ore.\"", 1276c1276 < "//shortdescription" : "Plutonium Geological Sample", --- > "//shortdescription" : "Plutonium Sample", 1292c1292 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, blue geode.", 1294c1294 < "//shortdescription" : "Blue Geode Geological Sample", --- > "//shortdescription" : "Blue Geode Sample", 1475c1475 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a gold ore.\"", 1477c1477 < "//shortdescription" : "Gold Geological Sample", --- > "//shortdescription" : "Gold Sample", 1554c1554 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, yellow geode.", 1556c1556 < "//shortdescription" : "Yellow Geode Geological Sample", --- > "//shortdescription" : "Yellow Geode Sample", 1571c1571 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a core fragment ore.\"", 1573c1573 < "//shortdescription" : "Core Fragment Geological Sample", --- > "//shortdescription" : "Core Fragment Sample", 1736c1736 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, orange geode.", 1738c1738 < "//shortdescription" : "Orange Geological Sample", --- > "//shortdescription" : "Orange Geode Sample", 1967c1967 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a solarium ore.\"", 1969c1969 < "//shortdescription" : "Solarium Geological Sample", --- > "//shortdescription" : "Solarium Sample", 2562c2562 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, red geode.", 2564c2564 < "//shortdescription" : "Red Geode Geological Sample", --- > "//shortdescription" : "Red Geode Sample", 2606c2606 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a copper ore.\"", 2608c2608 < "//shortdescription" : "Copper Geological Sample", --- > "//shortdescription" : "Copper Sample", 2722c2722 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a coal ore.\"", 2724c2724 < "//shortdescription" : "Coal Geological Sample", --- > "//shortdescription" : "Coal Sample", 2731c2731 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a durasteel ore.\"", 2733c2733 < "//shortdescription" : "Durasteel Geological Sample", --- > "//shortdescription" : "Durasteel Sample", 2748c2748 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an iron ore.\"", 2750c2750 < "//shortdescription" : "Iron Geological Sample", --- > "//shortdescription" : "Iron Sample", 2757c2757 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a prisilite ore.\"", 2759c2759 < "//shortdescription" : "Prisilite Geological Sample", --- > "//shortdescription" : "Prisilite Sample", 2766c2766 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a tungsten ore.\"", 2768c2768 < "//shortdescription" : "Tungsten Geological Sample", --- > "//shortdescription" : "Tungsten Sample", 3058a3059,3093 > "412" : { > "//description" : "An intricate handmade paper model of a Hylotl library. There's little paper bookcases inside!", > "//name" : "librarymodel", > "//shortdescription" : "Hylotl Library Model", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarymodel", > "tilesetDirection" : "right" > }, > "413" : { > "//description" : "An ancient tome that catalogues of all the Hylotl books in the galaxy.", > "//name" : "librarycodex", > "//shortdescription" : "Hylotl Library Codex", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarycodex", > "tilesetDirection" : "right" > }, > "414" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, > "415" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 3437c3472 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a diamond ore.\"", 3439c3474 < "//shortdescription" : "Diamond Geological Sample", --- > "//shortdescription" : "Diamond Sample", 4657a4693,4704 > }, > "412" : { > "image" : "../../../../../tiled/packed/objects/librarymodel.png" > }, > "413" : { > "image" : "../../../../../tiled/packed/objects/librarycodex.png" > }, > "414" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" > }, > "415" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-race\apex.json 2437c2437 < "//description" : "-todo-", --- > "//description" : "A large breakable growth. Wonder what's inside.", 2439c2439 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Large Tentacle Capsule", 2445c2445 < "//description" : "A breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 2447c2447 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", 2453c2453 < "//description" : "A small breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 2455c2455 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", tilesets\packed\objects-by-race\generic.json 4027c4027 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an iron ore.\"", 4029c4029 < "//shortdescription" : "Iron Geological Sample", --- > "//shortdescription" : "Iron Sample", 4036c4036 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a uranium ore.\"", 4038c4038 < "//shortdescription" : "Uranium Geological Sample", --- > "//shortdescription" : "Uranium Sample", 4045c4045 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a violium ore.\"", 4047c4047 < "//shortdescription" : "Violium Geological Sample", --- > "//shortdescription" : "Violium Sample", 4063c4063 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of an aegisalt ore.\"", 4065c4065 < "//shortdescription" : "Aegisalt Geological Sample", --- > "//shortdescription" : "Aegisalt Sample", 4072c4072 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a tungsten ore.\"", 4074c4074 < "//shortdescription" : "Tungsten Geological Sample", --- > "//shortdescription" : "Tungsten Sample", 4081c4081 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a gold ore.\"", 4083c4083 < "//shortdescription" : "Gold Geological Sample", --- > "//shortdescription" : "Gold Sample", 4090c4090 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a core fragment ore.\"", 4092c4092 < "//shortdescription" : "Core Fragment Geological Sample", --- > "//shortdescription" : "Core Fragment Sample", 4099c4099 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a titanium ore.\"", 4101c4101 < "//shortdescription" : "Titanium Geological Sample", --- > "//shortdescription" : "Titanium Sample", 4108c4108 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a solarium ore.\"", 4110c4110 < "//shortdescription" : "Solarium Geological Sample", --- > "//shortdescription" : "Solarium Sample", 4117c4117 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a coal ore.\"", 4119c4119 < "//shortdescription" : "Coal Geological Sample", --- > "//shortdescription" : "Coal Sample", 4134c4134 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a plutonium ore.\"", 4136c4136 < "//shortdescription" : "Plutonium Geological Sample", --- > "//shortdescription" : "Plutonium Sample", 4143c4143 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a rubium ore.\"", 4145c4145 < "//shortdescription" : "Rubium Geological Sample", --- > "//shortdescription" : "Rubium Sample", 4161c4161 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a platinum ore.\"", 4163c4163 < "//shortdescription" : "Platinum Geological Sample", --- > "//shortdescription" : "Platinum Sample", 4174c4174 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a copper ore.\"", 4176c4176 < "//shortdescription" : "Copper Geological Sample", --- > "//shortdescription" : "Copper Sample", 4183c4183 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a diamond ore.\"", 4185c4185 < "//shortdescription" : "Diamond Geological Sample", --- > "//shortdescription" : "Diamond Sample", 4192c4192 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a durasteel ore.\"", 4194c4194 < "//shortdescription" : "Durasteel Geological Sample", --- > "//shortdescription" : "Durasteel Sample", 4201c4201 < "//description" : "\"-todo-\"", --- > "//description" : "\"A perfect sample of a prisilite ore.\"", 4203c4203 < "//shortdescription" : "Prisilite Geological Sample", --- > "//shortdescription" : "Prisilite Sample", 4210c4210 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, blue geode.", 4212c4212 < "//shortdescription" : "Blue Geode Geological Sample", --- > "//shortdescription" : "Blue Geode Sample", 4228c4228 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, yellow geode.", 4230c4230 < "//shortdescription" : "Yellow Geode Geological Sample", --- > "//shortdescription" : "Yellow Geode Sample", 4282c4282 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, green geode.", 4284c4284 < "//shortdescription" : "Green Geological Sample", --- > "//shortdescription" : "Green Geode Sample", 4291c4291 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, purple geode.", 4293c4293 < "//shortdescription" : "Purple Geode Geological Sample", --- > "//shortdescription" : "Purple Geode Sample", 4318c4318 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, orange geode.", 4320c4320 < "//shortdescription" : "Orange Geological Sample", --- > "//shortdescription" : "Orange Geode Sample", 4327c4327 < "//description" : "\"-todo-\"", --- > "//description" : "A pretty, red geode.", 4329c4329 < "//shortdescription" : "Red Geode Geological Sample", --- > "//shortdescription" : "Red Geode Sample", 5527c5527 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5536c5536 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5545c5545 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5554c5554 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5572c5572 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5581c5581 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5590c5590 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5599c5599 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5608c5608 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5617c5617 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5626c5626 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5635c5635 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5644c5644 < "//description" : "-todo-", --- > "//description" : "Don't wanna fall on one of these...", 5796c5796 < "//description" : "-todo-", --- > "//description" : "A large breakable growth. Wonder what's inside.", 5798c5798 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Large Tentacle Capsule", 5813c5813 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 5815c5815 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 5822c5822 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 5824c5824 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 5831c5831 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 5833c5833 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 5840c5840 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 5842c5842 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 5849c5849 < "//description" : "-todo-", --- > "//description" : "This green substance has something moving inside it...", 5851c5851 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle Egg", 5858c5858 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5860c5860 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5875c5875 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5877c5877 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5884c5884 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5886c5886 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5893c5893 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5895c5895 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5902c5902 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5904c5904 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5943c5943 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5945c5945 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5952c5952 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5954c5954 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5969c5969 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5971c5971 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5978c5978 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5980c5980 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5987c5987 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5989c5989 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 5996c5996 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 5998c5998 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 6005c6005 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 6007c6007 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 6014c6014 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 6016c6016 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 6023c6023 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 6025c6025 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 6032c6032 < "//description" : "-todo-", --- > "//description" : "Something organic and slimy...", 6034c6034 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Tentacle part", 6076c6076 < "//description" : "A breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 6078c6078 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", 6208c6208 < "//description" : "A small breakable capsule. Wonder what's inside.", --- > "//description" : "A breakable growth. Wonder what's inside.", 6210c6210 < "//shortdescription" : "-todo-", --- > "//shortdescription" : "Medium Tentacle Capsule", tilesets\packed\objects-by-race\hylotl.json 7c7 < "tilecount" : 218, --- > "tilecount" : 222, 1133a1134,1151 > "218" : { > "//description" : "An intricate handmade paper model of a Hylotl library. There's little paper bookcases inside!", > "//name" : "librarymodel", > "//shortdescription" : "Hylotl Library Model", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarymodel", > "tilesetDirection" : "right" > }, > "219" : { > "//description" : "An ancient tome that catalogues of all the Hylotl books in the galaxy.", > "//name" : "librarycodex", > "//shortdescription" : "Hylotl Library Codex", > "imagePositionX" : "-16", > "imagePositionY" : "-16", > "object" : "librarycodex", > "tilesetDirection" : "right" > }, 1141a1160,1176 > "220" : { > "//description" : "A grand looking aquarium, with a small scale Hylotl pagoda model on top.", > "//name" : "pagodaaquarium", > "//shortdescription" : "Pagoda Aquarium", > "imagePositionX" : "-16", > "imagePositionY" : "-24", > "object" : "pagodaaquarium", > "tilesetDirection" : "right" > }, > "221" : { > "//description" : "An old poster of some ancient Hylotl library.", > "//name" : "hylotllibraryposter1", > "//shortdescription" : "Vintage Library Poster", > "imagePositionX" : "-16", > "imagePositionY" : "-8", > "object" : "hylotllibraryposter1" > }, 2265a2301,2306 > "218" : { > "image" : "../../../../../tiled/packed/objects/librarymodel.png" > }, > "219" : { > "image" : "../../../../../tiled/packed/objects/librarycodex.png" > }, 2267a2309,2314 > }, > "220" : { > "image" : "../../../../../tiled/packed/objects/pagodaaquarium.png" > }, > "221" : { > "image" : "../../../../../tiled/packed/objects/hylotllibraryposter1.png" tilesets\packed\objects-by-race\tentacle.json 7c7 < "tilecount" : 2, --- > "tilecount" : 38, 25a26,346 > }, > "10" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart2_orientation3", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart2", > "tilesetDirection" : "right" > }, > "11" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart2_orientation4", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclepart2", > "tilesetDirection" : "right" > }, > "12" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart2_orientation5", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart2", > "tilesetDirection" : "right" > }, > "13" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "14" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation2", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "15" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation3", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "left" > }, > "16" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation4", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "17" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation5", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "left" > }, > "18" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation6", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "19" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation7", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "2" : { > "//description" : "A large breakable growth. Wonder what's inside.", > "//name" : "tentaclepopbig", > "//shortdescription" : "Large Tentacle Capsule", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclepopbig" > }, > "20" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation8", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "21" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation9", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "22" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation10", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "23" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation11", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "24" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation12", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "25" : { > "//description" : "Don't wanna fall on one of these...", > "//name" : "tentaclespike_orientation13", > "//shortdescription" : "Tentacle Spike", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclespike", > "tilesetDirection" : "right" > }, > "26" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart1", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclepart1", > "tilesetDirection" : "right" > }, > "27" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart1_orientation2", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart1", > "tilesetDirection" : "right" > }, > "28" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart1_orientation3", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart1", > "tilesetDirection" : "right" > }, > "29" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart1_orientation4", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclepart1", > "tilesetDirection" : "right" > }, > "3" : { > "//description" : "This green substance has something moving inside it...", > "//name" : "tentaclespawner1", > "//shortdescription" : "Tentacle Egg", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclespawner1", > "tilesetDirection" : "right" > }, > "30" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart1_orientation5", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart1", > "tilesetDirection" : "right" > }, > "31" : { > "//description" : "A breakable growth. Wonder what's inside.", > "//name" : "tentaclepopmed", > "//shortdescription" : "Medium Tentacle Capsule", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclepopmed" > }, > "32" : { > "//description" : "A breakable growth. Wonder what's inside.", > "//name" : "tentaclepopsmall", > "//shortdescription" : "Medium Tentacle Capsule", > "imagePositionX" : "0", > "imagePositionY" : "0", > "object" : "tentaclepopsmall" > }, > "33" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart3", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclepart3", > "tilesetDirection" : "right" > }, > "34" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart3_orientation2", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclepart3", > "tilesetDirection" : "right" > }, > "35" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart3_orientation3", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclepart3", > "tilesetDirection" : "right" > }, > "36" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart3_orientation4", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclepart3", > "tilesetDirection" : "right" > }, > "37" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart3_orientation5", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclepart3", > "tilesetDirection" : "right" > }, > "4" : { > "//description" : "This green substance has something moving inside it...", > "//name" : "tentaclespawner1_orientation2", > "//shortdescription" : "Tentacle Egg", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclespawner1", > "tilesetDirection" : "right" > }, > "5" : { > "//description" : "This green substance has something moving inside it...", > "//name" : "tentaclespawner1_orientation3", > "//shortdescription" : "Tentacle Egg", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclespawner1", > "tilesetDirection" : "right" > }, > "6" : { > "//description" : "This green substance has something moving inside it...", > "//name" : "tentaclespawner1_orientation4", > "//shortdescription" : "Tentacle Egg", > "imagePositionX" : "0", > "imagePositionY" : "-8", > "object" : "tentaclespawner1", > "tilesetDirection" : "right" > }, > "7" : { > "//description" : "This green substance has something moving inside it...", > "//name" : "tentaclespawner1_orientation5", > "//shortdescription" : "Tentacle Egg", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclespawner1", > "tilesetDirection" : "right" > }, > "8" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart2", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "0", > "object" : "tentaclepart2", > "tilesetDirection" : "right" > }, > "9" : { > "//description" : "Something organic and slimy...", > "//name" : "tentaclepart2_orientation2", > "//shortdescription" : "Tentacle part", > "imagePositionX" : "-8", > "imagePositionY" : "-8", > "object" : "tentaclepart2", > "tilesetDirection" : "right" 33a355,462 > }, > "10" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart2_orientation3.png" > }, > "11" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart2_orientation4.png" > }, > "12" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart2_orientation5.png" > }, > "13" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike.png" > }, > "14" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation2.png" > }, > "15" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation3.png" > }, > "16" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation4.png" > }, > "17" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation5.png" > }, > "18" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation6.png" > }, > "19" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation7.png" > }, > "2" : { > "image" : "../../../../../tiled/packed/objects/tentaclepopbig.png" > }, > "20" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation8.png" > }, > "21" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation9.png" > }, > "22" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation10.png" > }, > "23" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation11.png" > }, > "24" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation12.png" > }, > "25" : { > "image" : "../../../../../tiled/packed/objects/tentaclespike_orientation13.png" > }, > "26" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart1.png" > }, > "27" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart1_orientation2.png" > }, > "28" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart1_orientation3.png" > }, > "29" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart1_orientation4.png" > }, > "3" : { > "image" : "../../../../../tiled/packed/objects/tentaclespawner1.png" > }, > "30" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart1_orientation5.png" > }, > "31" : { > "image" : "../../../../../tiled/packed/objects/tentaclepopmed.png" > }, > "32" : { > "image" : "../../../../../tiled/packed/objects/tentaclepopsmall.png" > }, > "33" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart3.png" > }, > "34" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart3_orientation2.png" > }, > "35" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart3_orientation3.png" > }, > "36" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart3_orientation4.png" > }, > "37" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart3_orientation5.png" > }, > "4" : { > "image" : "../../../../../tiled/packed/objects/tentaclespawner1_orientation2.png" > }, > "5" : { > "image" : "../../../../../tiled/packed/objects/tentaclespawner1_orientation3.png" > }, > "6" : { > "image" : "../../../../../tiled/packed/objects/tentaclespawner1_orientation4.png" > }, > "7" : { > "image" : "../../../../../tiled/packed/objects/tentaclespawner1_orientation5.png" > }, > "8" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart2.png" > }, > "9" : { > "image" : "../../../../../tiled/packed/objects/tentaclepart2_orientation2.png"