FILES ----- behaviors\npc\tracking.behavior behaviors\tenant\returnhome.behavior dungeons\other\outpost\outpost.dungeon dungeons\other\outpost\outpoststatic-objects.png interface\inventory\dot.png interface\windowconfig\playerinventory.config items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.altability items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua items\active\weapons\ranged\boomerang\boomerang.lua npcs\base.npctype objects\ancient\ancientbouldertrap\ancientbouldertrap.object objects\ancient\ancientcrystaltrap\ancientcrystaltrap.object objects\ancient\ancientflametrap\ancientflametrap.object objects\ancient\ancienticetrap\ancienticetrap.object objects\avian\bouldertrap\bouldertrap.object objects\avian\crystaltrap\crystaltrap.object objects\avian\flametrap\flametrap.object objects\biome\cellcave\cellstructure1\cellstructure1.object objects\biome\cellcave\dnaplant1\dnaplant1.object objects\biome\colourful\colourfulbush1\colourfulbush1.object objects\biome\colourful\colourfulbush2\colourfulbush2.object objects\biome\colourful\colourfulbush3\colourfulbush3.object objects\biome\colourful\colourfulbush4\colourfulbush4.object objects\biome\colourful\colourfulbush5\colourfulbush5.object objects\biome\colourful\rainbowbed\rainbowbed.object objects\biome\colourful\rainbowchair\rainbowchair.object objects\biome\colourful\rainbowchest\rainbowchest.object objects\biome\colourful\rainbowtable\rainbowtable.object objects\biome\coralcave\embercoral1\embercoral1.object objects\biome\coralcave\embercoral2\embercoral2.object objects\biome\coralcave\embercoral3\embercoral3.object objects\biome\coralcave\embercoral4\embercoral4.object objects\biome\coralcave\embercoral5\embercoral5.object objects\biome\crystalcave\crystalcavebush1\crystalcavebush1.object objects\biome\crystalcave\crystalcavebush2\crystalcavebush2.object objects\biome\crystalcave\crystalcavebush3\crystalcavebush3.object objects\biome\crystalcave\crystalcavebush4\crystalcavebush4.object objects\biome\crystalline\crystalbed\crystalbed.object objects\biome\crystalline\crystalchair\crystalchair.object objects\biome\crystalline\crystalchest\crystalchest.object objects\biome\crystalline\crystallamp\crystallamp.object objects\biome\crystalline\crystallinebush1\crystallinebush1.object objects\biome\crystalline\crystallinebush2\crystallinebush2.object objects\biome\crystalline\crystallinebush3\crystallinebush3.object objects\biome\crystalline\crystallinebush4\crystallinebush4.object objects\biome\crystalline\crystaltable\crystaltable.object objects\biome\dark\shadowmarker\shadowmarker.object objects\biome\dark\shadowrock1\shadowrock1.object objects\biome\dark\shadowrock2\shadowrock2.object objects\biome\dark\shadowrock3\shadowrock3.object objects\biome\dark\shadowrock4\shadowrock4.object objects\biome\dark\shadowrock5\shadowrock5.object objects\biome\dark\shadowshrine\shadowshrine.object objects\biome\dark\shadowshrine2\shadowshrine2.object objects\biome\dark\shadowshrine3\shadowshrine3.object objects\biome\dark\shadowurnlarge1\shadowurnlarge1.object objects\biome\dark\shadowurnlarge2\shadowurnlarge2.object objects\biome\dark\shadowurnmedium1\shadowurnmedium1.object objects\biome\dark\shadowurnmedium2\shadowurnmedium2.object objects\biome\dark\shadowurnsmall1\shadowurnsmall1.object objects\human\barbedwire\barbedwire.object objects\outpost\shipyardcaptain\shipyardcaptain.object objects\themed\outdoor\lamppost1\lamppost1.object objects\themed\outdoor\lamppost2\lamppost2.object objects\themed\outdoor\lamppost3\lamppost3.object [NEW] particles\bubbles.particle [NEW] particles\splashpoison.particle [NEW] particles\splashwater.particle projectiles\activeitems\chakram\chakram.projectile projectiles\activeitems\chakram\hardchakram.projectile projectiles\activeitems\chakram\neochakram.projectile projectiles\activeitems\chakram\sawchakram.projectile projectiles\explosions\bigboulderexplosion\bigboulderexplosion.projectile projectiles\explosions\bombblockexplosion\bombblockexplosion.projectile projectiles\explosions\bouldersmashexplosion\bouldersmashexplosionuniversal.projectile projectiles\explosions\burstfire\burstfire.projectile projectiles\explosions\coconutexplosion\coconutbreak.projectile projectiles\explosions\dungeonpodexplosion\dungeonpodexplosion.projectile projectiles\explosions\generatorexplosion\generatorexplosion.projectile projectiles\explosions\giganticsnowballexplosion\giganticsnowballexplosion.projectile projectiles\explosions\glitchexplosion\glitchexplosion.projectile projectiles\explosions\globeexplosions\blueglobeexplosion\blueglobeexplosion.projectile projectiles\explosions\globeexplosions\greenglobeexplosion\greenglobeexplosion.projectile projectiles\explosions\globeexplosions\magentaglobeexplosion\magentaglobeexplosion.projectile projectiles\explosions\globeexplosions\orangeglobeexplosion\orangeglobeexplosion.projectile projectiles\explosions\globeexplosions\redglobeexplosion\redglobeexplosion.projectile projectiles\explosions\globeexplosions\whiteglobeexplosion\whiteglobeexplosion.projectile projectiles\explosions\globeexplosions\yellowglobeexplosion\yellowglobeexplosion.projectile projectiles\explosions\grenadeexplosion\grenadeexplosion.projectile projectiles\explosions\healingexplosion\healcloud.projectile projectiles\explosions\hivebombexplosion\hivebombexplosion1.projectile projectiles\explosions\hivebombexplosion\hivebombexplosion2.projectile projectiles\explosions\hivebombexplosion\hivebombexplosion3.projectile projectiles\explosions\hivebombexplosion\hivebombexplosion4.projectile projectiles\explosions\lightblockexplosion\lightblockexplosion.projectile projectiles\explosions\meteorexplosion\meteorexplosion.projectile projectiles\explosions\molotovexplosion\molotovexplosion.projectile projectiles\explosions\paintexplosionblue\paintexplosionblue.projectile projectiles\explosions\paintexplosiongreen\paintexplosiongreen.projectile projectiles\explosions\paintexplosionorange\paintexplosionorange.projectile projectiles\explosions\paintexplosionpurple\paintexplosionpurple.projectile projectiles\explosions\paintexplosionred\paintexplosionred.projectile projectiles\explosions\paintexplosionyellow\paintexplosionyellow.projectile projectiles\explosions\plasmaexplosion2\plasmaexplosion2.projectile projectiles\explosions\poexplosion\poexplosion.projectile projectiles\explosions\pulsecannonexplosion\pulsecannonexplosionuniversal.projectile projectiles\explosions\regularexplosion\regularexplosionspawner.projectile projectiles\explosions\regularexplosion\regularexplosionuniversal.projectile projectiles\explosions\regularexplosionnospark\regularexplosionnospark.projectile projectiles\explosions\rocketexplosion\rocketexplosion.projectile projectiles\explosions\slimeexplosion\slimeexplosion.projectile projectiles\explosions\smallpoisonexplosion\smallpoisonexplosionuniversal.projectile projectiles\explosions\smallregularexplosion\smallregularexplosionuniversal.projectile projectiles\explosions\smokeexplosion\smokeexplosion.projectile projectiles\explosions\snowballexplosion\snowballexplosion.projectile projectiles\explosions\tarexplosion\tarexplosion.projectile projectiles\explosions\targetexplosion\targetexplosion.projectile projectiles\explosions\vlightblockexplosion\vlightblockexplosion.projectile projectiles\explosions\vsmallregularexplosion\vsmallregularexplosion.projectile projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionknockback.projectile projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnodamage.projectile projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnosound.projectile projectiles\fishing\fishinglure.projectile projectiles\guns\bullets\paintballblue\paintballblue.projectile projectiles\guns\bullets\paintballgreen\paintballgreen.projectile projectiles\guns\bullets\paintballorange\paintballorange.projectile projectiles\guns\bullets\paintballpurple\paintballpurple.projectile projectiles\guns\bullets\paintballred\paintballred.projectile projectiles\guns\bullets\paintballyellow\paintballyellow.projectile projectiles\guns\grenades\fruitthorn\fruitthorn.projectile projectiles\invisibleprojectile\invisibleprojectile.projectile projectiles\lavaprojectile\lavaprojectile.projectile projectiles\matterblockprojectile2\matterblockprojectile2.projectile projectiles\meteorblockspawner\meteorblockspawner.projectile projectiles\npcs\gas2\gas2.projectile projectiles\npcs\grabbed\grabbed.projectile projectiles\status\bombstatusprojectile\bombstatusprojectile.projectile projectiles\status\bouncystatusprojectile\bouncystatusprojectile.projectile projectiles\status\burningstatusprojectile\burningstatusprojectile.projectile projectiles\status\clusterstatusprojectile\clusterstatusprojectile.projectile projectiles\status\copperbombstatusprojectile\copperbombstatusprojectile.projectile projectiles\status\diamondbombstatusprojectile\diamondbombstatusprojectile.projectile projectiles\status\glowstatusprojectile\glowstatusprojectile.projectile projectiles\status\goldbombstatusprojectile\goldbombstatusprojectile.projectile projectiles\status\healingstatusprojectile\fasthealingstatusprojectile.projectile projectiles\status\healingstatusprojectile\healingstatusprojectile.projectile projectiles\status\jumpstatusprojectile\jumpstatusprojectile.projectile projectiles\status\levitationstatusprojectile\levitationstatusprojectile.projectile projectiles\status\lowgravstatusprojectile\lowgravstatusprojectile.projectile projectiles\status\moneystatusprojectile\moneystatusprojectile.projectile projectiles\status\platinumbombstatusprojectile\platinumbombstatusprojectile.projectile projectiles\status\poisonstatusprojectile\poisonstatusprojectile.projectile projectiles\status\ragestatusprojectile\ragestatusprojectile.projectile projectiles\status\runstatusprojectile\runstatusprojectile.projectile projectiles\status\silverbombstatusprojectile\silverbombstatusprojectile.projectile projectiles\status\waterstatusprojectile\waterstatusprojectile.projectile projectiles\staves\racialstaves\crystal\quetzalcoatlsquartz\quartzpulse\quartzpulse.projectile projectiles\throwable\beachball\beachball.projectile projectiles\throwable\bouncyball\bouncyball.projectile projectiles\throwable\capturepod\capturepod.projectile projectiles\throwable\firework2\firework2.projectile projectiles\throwable\firework3\firework3.projectile projectiles\throwable\firework4\firework4.projectile projectiles\throwable\fireworkblue2\fireworkblue2.projectile projectiles\throwable\fireworkblue3\fireworkblue3.projectile projectiles\throwable\fireworkblue4\fireworkblue4.projectile projectiles\throwable\fireworkgreen2\fireworkgreen2.projectile projectiles\throwable\fireworkgreen3\fireworkgreen3.projectile projectiles\throwable\fireworkgreen4\fireworkgreen4.projectile projectiles\throwable\glowgas\glowgas.projectile projectiles\throwable\healinggas\healinggas.projectile projectiles\throwable\hiveswarm\hiveswarm.projectile projectiles\throwable\jumpgas\jumpgas.projectile projectiles\throwable\molotovflame\molotovflame.projectile projectiles\throwable\noveltybanana\noveltybanana.projectile projectiles\throwable\paperplane\paperplane.projectile projectiles\throwable\rungas\rungas.projectile projectiles\throwable\waterballoon\waterballoon.projectile projectiles\traps\ancientboulderrolling\ancientboulderrolling.projectile projectiles\traps\ancientboulderrolling\ancientsmoothboulderrolling.projectile projectiles\traps\ancientbouldersmash\ancientbouldersmash.projectile projectiles\traps\avianboulderrolling\avianboulderrolling.projectile projectiles\traps\avianboulderrolling\aviansmoothboulderrolling.projectile projectiles\traps\avianbouldersmash\avianbouldersmash.projectile projectiles\traps\jumpboostergas\jumpboostergas.projectile projectiles\traps\jumpboostergas\jumpboostergas30.projectile projectiles\traps\jumpboostergas\jumpboostergas60.projectile projectiles\traps\lowgravboostergas\lowgravboostergas.projectile projectiles\traps\lowgravboostergas\lowgravboostergas30.projectile projectiles\traps\lowgravboostergas\lowgravboostergas60.projectile projectiles\traps\powerboostergas\powerboostergas.projectile projectiles\traps\powerboostergas\powerboostergas30.projectile projectiles\traps\powerboostergas\powerboostergas60.projectile projectiles\traps\speedboostergas\speedboostergas.projectile projectiles\traps\speedboostergas\speedboostergas30.projectile projectiles\traps\speedboostergas\speedboostergas60.projectile projectiles\traps\trapbouldersmash\trapbouldersmash.projectile projectiles\traps\trapice\trapice.projectile projectiles\unsorted\explosivebarrel\explosivebarrel.projectile projectiles\unsorted\explosivegenerator\explosivegenerator.projectile projectiles\unsorted\friendlybubble\friendlybubble.projectile projectiles\unsorted\poisonbarrel\poisonbarrel.projectile quests\outpost\endgame\examplequest.questtemplate quests\outpost\phase1optional\bountyhunter1.questtemplate quests\outpost\phase2optional\apexmechanic2.questtemplate quests\outpost\phase2optional\bountyhunter2.questtemplate quests\outpost\phase3optional\bountyhunter3.questtemplate quests\outpost\phase4optional\bountyhunter4.questtemplate quests\outpost\phase4optional\floranhunter4.questtemplate quests\outpost\phase4optional\humanexcon4.questtemplate scripts\pathing.lua scripts\actions\movement.lua species\apexfemalenamegen.config species\apexmalenamegen.config stats\effects\deathbomb\deathbomb.lua stats\effects\electrified\electrified.lua vehicles\boat\boat.animation vehicles\boat\boat.lua vehicles\boat\boat.vehicle vehicles\hoverbike\hoverbike.lua vehicles\hoverbike\hoverbikeredforeground.png versioning\item_6_7.lua DIFFS ----- behaviors\npc\tracking.behavior 27a28,35 > "title": "listClear", > "type": "action", > "name": "listClear", > "parameters": { > "list": "newTargets" > } > }, > { 83c91 < "title": "setEntity", --- > "title": "listPush", 85c93 < "name": "setEntity", --- > "name": "listPush", 86a95 > "list": "newTargets", 88,90d96 < }, < "output": { < "entity": "newTarget" 138,152d143 < "title": "listContains", < "type": "action", < "name": "listContains", < "parameters": { < "list": "targets", < "entity": "notificationTarget" < } < } < }, < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { 162,169d152 < "title": "isValidTarget", < "type": "action", < "name": "isValidTarget", < "parameters": { < "entity": "notificationTarget" < } < }, < { 178c161 < "title": "setEntity", --- > "title": "listPush", 180c163 < "name": "setEntity", --- > "name": "listPush", 181a165 > "list": "newTargets", 183,185d166 < }, < "output": { < "entity": "newTarget" 275,289d255 < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "listContains", < "type": "action", < "name": "listContains", < "parameters": { < "list": "targets", < "entity": "filterItem" < } < } < }, < { 315,346d280 < "title": "entityInTypes", < "type": "action", < "name": "entityInTypes", < "parameters": { < "entity": "filterItem", < "types": [ < "monster" < ] < } < }, < { < "title": "isValidTarget", < "type": "action", < "name": "isValidTarget", < "parameters": { < "entity": "filterItem" < } < } < ] < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { 368,375d301 < }, < { < "title": "isValidTarget", < "type": "action", < "name": "isValidTarget", < "parameters": { < "entity": "filterItem" < } 410a337,347 > }, > { > "title": "entityInTypes", > "type": "action", > "name": "entityInTypes", > "parameters": { > "entity": "filterItem", > "types": [ > "monster" > ] > } 412a350,358 > }, > { > "title": "listPush", > "type": "action", > "name": "listPush", > "parameters": { > "list": "newTargets", > "entity": "filterItem" > } 416,426d361 < }, < { < "title": "listGet", < "type": "action", < "name": "listGet", < "parameters": { < "list": "queriedTargets" < }, < "output": { < "entity": "newTarget" < } 429,443d363 < }, < { < "title": "failer", < "type": "decorator", < "name": "failer", < "parameters": {}, < "child": { < "title": "unset", < "type": "action", < "name": "unset", < "parameters": { < "type": "entity", < "key": "newTarget" < } < } 448,450c368,370 < "title": "listPushBack", < "type": "action", < "name": "listPushBack", --- > "title": "filter", > "type": "decorator", > "name": "filter", 452,453c372,424 < "entity": "newTarget", < "list": "targets" --- > "list": "newTargets", > "type": "entity" > }, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "isValidTarget", > "type": "action", > "name": "isValidTarget", > "parameters": { > "entity": "filterItem" > } > }, > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "listContains", > "type": "action", > "name": "listContains", > "parameters": { > "list": "targets", > "entity": "filterItem" > } > } > }, > { > "title": "failer", > "type": "decorator", > "name": "failer", > "parameters": {}, > "child": { > "title": "listPushBack", > "type": "action", > "name": "listPushBack", > "parameters": { > "entity": "filterItem", > "list": "targets" > } > } > } > ] 471a443,450 > { > "title": "isValidTarget", > "type": "action", > "name": "isValidTarget", > "parameters": { > "entity": "newTarget" > } > }, behaviors\tenant\returnhome.behavior 87a88,95 > }, > { > "title": "unsetFlag", > "type": "action", > "name": "unsetFlag", > "parameters": { > "name": "footPosition" > } 92,100c100,124 < "title": "getStorage", < "type": "action", < "name": "getStorage", < "parameters": { < "key": "homePosition" < }, < "output": { < "position": "homePosition" < } --- > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "getStorage", > "type": "action", > "name": "getStorage", > "parameters": { > "key": "homePosition" > }, > "output": { > "position": "homePosition" > } > }, > { > "title": "setFlag", > "type": "action", > "name": "setFlag", > "parameters": { > "name": "footPosition" > } > } > ] 254,255c278,279 < "position": "homePosition", < "footPosition": true --- > "footPosition": "footPosition", > "position": "homePosition" dungeons\other\outpost\outpost.dungeon 1898a1899,1922 > { > "value" : [229, 115, 0, 255], > "comment" : "ironanvil", > "brush" : [ [ "clear" ], [ "object", "ironanvil", { "direction" : "left" } ] ] > }, > > { > "value" : [217, 108, 0, 255], > "comment" : "ironanvil", > "brush" : [ [ "clear" ], [ "object", "ironanvil", { "direction" : "right" } ] ] > }, > > { > "value" : [215, 255, 26, 255], > "comment" : "repairo facing left", > "brush" : [ [ "clear" ], [ "object", "repairo", { "direction" : "left" } ] ] > }, > > { > "value" : [195, 229, 23, 255], > "comment" : "repairo facing right", > "brush" : [ [ "clear" ], [ "object", "repairo", { "direction" : "right" } ] ] > }, > interface\windowconfig\playerinventory.config 37c37 < "position" : [11, 110] --- > "position" : [30, 110] 42c42 < "position" : [38, 110] --- > "position" : [57, 110] 47c47 < "position" : [65, 110] --- > "position" : [84, 110] items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.altability 34a35,36 > "maxSlamTime" : 2.0, > "winddownTime" : 0.2, items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.lua 44c44 < status.setPersistentEffects("groundSlam", { {stat = "fallDamageMultiplier", basePercentage = -1.0} }) --- > status.setPersistentEffects("groundSlam", { {stat = "fallDamageMultiplier", basePercentage = -1.0}, { stat = "invulnerable", amount = 1 } }) 47c47 < while not mcontroller.onGround() do --- > util.wait(self.maxSlamTime, function(dt) 56c56 < break --- > return true 59a60,61 > if mcontroller.onGround() then return true end > 62,64c64 < < coroutine.yield() < end --- > end) 66a67,68 > > util.wait(self.winddownTime) items\active\weapons\ranged\boomerang\boomerang.lua 11d10 < self.energyCost = item.instanceValue("energyCost", 0) 27c26 < if fireMode == "primary" and status.overConsumeResource("energy", self.energyCost) then --- > if fireMode == "primary" then npcs\base.npctype 19c19,20 < "forceWalkingBackwards" : true --- > "forceWalkingBackwards" : true, > "canOpenDoors" : true objects\ancient\ancientbouldertrap\ancientbouldertrap.object 82c82 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\ancient\ancientcrystaltrap\ancientcrystaltrap.object 212c212 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\ancient\ancientflametrap\ancientflametrap.object 152c152 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\ancient\ancienticetrap\ancienticetrap.object 152c152 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\avian\bouldertrap\bouldertrap.object 82c82 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\avian\crystaltrap\crystaltrap.object 212c212 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\avian\flametrap\flametrap.object 152c152 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, objects\biome\cellcave\cellstructure1\cellstructure1.object 15,18c15,18 < "apexDescription" : "A strange display.", < "avianDescription" : "A display. It reminds me of power crystals.", < "floranDescription" : "Ssspecial-looking thingsss.", < "glitchDescription" : "Analysis. This cell structure appears to be that of a modified Apex.", --- > "apexDescription" : "How unusual, is this a mutation? What did these cells begin as?", > "avianDescription" : "These cells are disturbingly large.", > "floranDescription" : "Are these plants, or meatss?.", > "glitchDescription" : "Fascinated. I cannot figure out the origin of these structures.", 20c20,21 < "hylotlDescription" : "When science meets art.", --- > "hylotlDescription" : "A strange but novel object. Not especially attractive, but interesting.", > "novakidDescription" : "Giant cells? Who left these here?", objects\biome\cellcave\dnaplant1\dnaplant1.object 8c8 < "description" : "A coiling plant, like DNA.", --- > "description" : "A coiling plant, resembling DNA.", 16,17c16,17 < "avianDescription" : "This plant looks like worms.", < "floranDescription" : "Thisss plant look like Floran.", --- > "avianDescription" : "It looks like long arms reaching up through the soil.", > "floranDescription" : "Plant that growss in a pattern.", 20c20,21 < "hylotlDescription" : "Nature truly is miraculous.", --- > "hylotlDescription" : "Plants that grow in the shape of their own DNA. Nature truly is miraculous.", > "novakidDescription" : "I'm not sure what I'm lookin' at here.", objects\biome\colourful\colourfulbush1\colourfulbush1.object 8c8 < "description" : "An adorably colourful bush.", --- > "description" : "A bush with unusual colouring.", 12,13c12,13 < "apexDescription" : "Such foliage never fails to impress me.", < "avianDescription" : "With foliage like this, one can almost forget the pains of being grounded.", --- > "apexDescription" : "Such foliage fails to impress me.", > "avianDescription" : "What an attractive bush.", 15c15 < "glitchDescription" : "Admiring. A truly beautiful bush.", --- > "glitchDescription" : "Inspired. A truly beautiful bush.", 17c17,18 < "hylotlDescription" : "Nature can be wonderful. Harsh, and wonderful.", --- > "hylotlDescription" : "Nature is the purest artist.", > "novakidDescription" : "I think this bush has got a pretty high opinion of itself.", objects\biome\colourful\colourfulbush2\colourfulbush2.object 12,13c12,13 < "apexDescription" : "Such foliage never fails to impress me.", < "avianDescription" : "With foliage like this, one can almost forget the pains of being grounded.", --- > "apexDescription" : "Such foliage fails to impress me.", > "avianDescription" : "What an attractive bush.", 15c15 < "glitchDescription" : "Admiring. A truly beautiful bush.", --- > "glitchDescription" : "Inspired. A truly beautiful bush.", 17c17,18 < "hylotlDescription" : "Nature can be wonderful. Harsh, and wonderful.", --- > "hylotlDescription" : "Nature is the purest artist.", > "novakidDescription" : "I think this bush has got a pretty high opinion of itself.", objects\biome\colourful\colourfulbush3\colourfulbush3.object 12,13c12,13 < "apexDescription" : "Such foliage never fails to impress me.", < "avianDescription" : "With foliage like this, one can almost forget the pains of being grounded.", --- > "apexDescription" : "Such foliage fails to impress me.", > "avianDescription" : "What an attractive bush.", 15c15 < "glitchDescription" : "Admiring. A truly beautiful bush.", --- > "glitchDescription" : "Inspired. A truly beautiful bush.", 17c17,18 < "hylotlDescription" : "Nature can be wonderful. Harsh, and wonderful.", --- > "hylotlDescription" : "Nature is the purest artist.", > "novakidDescription" : "I think this bush has got a pretty high opinion of itself.", objects\biome\colourful\colourfulbush4\colourfulbush4.object 12,13c12,13 < "apexDescription" : "Such foliage never fails to impress me.", < "avianDescription" : "With foliage like this, one can almost forget the pains of being grounded.", --- > "apexDescription" : "Such foliage fails to impress me.", > "avianDescription" : "What an attractive bush.", 15c15 < "glitchDescription" : "Admiring. A truly beautiful bush.", --- > "glitchDescription" : "Inspired. A truly beautiful bush.", 17c17,18 < "hylotlDescription" : "Nature can be wonderful. Harsh, and wonderful.", --- > "hylotlDescription" : "Nature is the purest artist.", > "novakidDescription" : "I think this bush has got a pretty high opinion of itself.", objects\biome\colourful\colourfulbush5\colourfulbush5.object 12,15c12,15 < "apexDescription" : "Such foliage never fails to impress me.", < "avianDescription" : "With foliage like this, one can almost forget the pains of being grounded.", < "floranDescription" : "Floran leave thisss alone. Floran know truth. Floran wink.", < "glitchDescription" : "Admiring. A truly beautiful bush.", --- > "apexDescription" : "Such foliage fails to impress me.", > "avianDescription" : "What an attractive bush.", > "floranDescription" : "Isss this plant or Floran? Floran prod to check.", > "glitchDescription" : "Inspired. A truly beautiful bush.", 17c17,18 < "hylotlDescription" : "Nature can be wonderful. Harsh, and wonderful.", --- > "hylotlDescription" : "Nature is the purest artist.", > "novakidDescription" : "I think this bush has got a pretty high opinion of itself.", objects\biome\colourful\rainbowbed\rainbowbed.object 6c6 < "description" : "A rainbow bed. Colourful AND comfortable.", --- > "description" : "A rainbow bed. Colourful and comfortable.", 15c15 < "glitchDescription" : "Happy. This bed raises my mood meter considerably.", --- > "glitchDescription" : "Happy. This bed raises my mood considerably.", 17c17,18 < "hylotlDescription" : "The myriad shimmering colours remind me of life under the ocean.", --- > "hylotlDescription" : "The myriad of shimmering colours remind me of life under the ocean.", > "novakidDescription" : "This bed is crazy colourful.", objects\biome\colourful\rainbowchair\rainbowchair.object 14c14 < "floranDescription" : "Floran love pretty chair.", --- > "floranDescription" : "Floran lovess pretty chair.", 17c17,18 < "hylotlDescription" : "Sitting here would lift even the grumpiest Hylotl's mood.", --- > "hylotlDescription" : "Furniture that brings such joy is truly worth the effort it takes to produce.", > "novakidDescription" : "If I sit on this chair will I change colour?", objects\biome\colourful\rainbowchest\rainbowchest.object 17c17 < "floranDescription" : "Floran NEED to sssee inssside pretty chessst.", --- > "floranDescription" : "Floran needs to see inssside pretty chessst.", 20a21 > "novakidDescription" : "Is this the chest at the end of the rainbow?", objects\biome\colourful\rainbowtable\rainbowtable.object 13c13 < "avianDescription" : "A stunning rainbow table.", --- > "avianDescription" : "A stunning rainbow table, bright as a peacock!", 16c16 < "humanDescription" : "I can't wait to eat here.", --- > "humanDescription" : "I can't wait to eat at this table.", 17a18 > "novakidDescription" : "All these colours would surly drive you loopy.", objects\biome\coralcave\embercoral1\embercoral1.object 14a15,16 > "apexDescription" : "Coral with a golden glow.", > "avianDescription" : "A bight and lovely piece of coral.", 16c18,21 < "glitchDescription" : "Statement. A crispy coral shrub.", --- > "glitchDescription" : "Greedy. A golden coral shrub.", > "humanDescription" : "I wonder if this coral is hot to be glowing like that.", > "hylotlDescription" : "One of many beautiful coral species.", > "novakidDescription" : "There's gold in them there oceans.", objects\biome\coralcave\embercoral2\embercoral2.object 14a15,16 > "apexDescription" : "Coral with a golden glow.", > "avianDescription" : "A bight and lovely piece of coral.", 16c18,21 < "glitchDescription" : "Statement. A crispy coral shrub.", --- > "glitchDescription" : "Greedy. A golden coral shrub.", > "humanDescription" : "I wonder if this coral is hot to be glowing like that.", > "hylotlDescription" : "One of many beautiful coral species.", > "novakidDescription" : "There's gold in them there oceans.", objects\biome\coralcave\embercoral3\embercoral3.object 13a14,15 > "apexDescription" : "Coral with a golden glow.", > "avianDescription" : "A bight and lovely piece of coral.", 15c17,20 < "glitchDescription" : "Statement. A crispy coral shrub.", --- > "glitchDescription" : "Greedy. A golden coral shrub.", > "humanDescription" : "I wonder if this coral is hot to be glowing like that.", > "hylotlDescription" : "One of many beautiful coral species.", > "novakidDescription" : "There's gold in them there oceans.", objects\biome\coralcave\embercoral4\embercoral4.object 14a15,16 > "apexDescription" : "Coral with a golden glow.", > "avianDescription" : "A bight and lovely piece of coral.", 16c18,21 < "glitchDescription" : "Statement. A crispy coral shrub.", --- > "glitchDescription" : "Greedy. A golden coral shrub.", > "humanDescription" : "I wonder if this coral is hot to be glowing like that.", > "hylotlDescription" : "One of many beautiful coral species.", > "novakidDescription" : "There's gold in them there oceans.", objects\biome\coralcave\embercoral5\embercoral5.object 14a15,16 > "apexDescription" : "Coral with a golden glow.", > "avianDescription" : "A bight and lovely piece of coral.", 16c18,21 < "glitchDescription" : "Statement. A crispy coral shrub.", --- > "glitchDescription" : "Greedy. A golden coral shrub.", > "humanDescription" : "I wonder if this coral is hot to be glowing like that.", > "hylotlDescription" : "One of many beautiful coral species.", > "novakidDescription" : "There's gold in them there oceans.", objects\biome\crystalcave\crystalcavebush1\crystalcavebush1.object 8c8 < "description" : "A crystalline bush. Shiny.", --- > "description" : "A crystalline deposit. Shiny.", 15,18c15,18 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 20c20,21 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalcave\crystalcavebush2\crystalcavebush2.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 15,18c15,18 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 20c20,21 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalcave\crystalcavebush3\crystalcavebush3.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 15,18c15,18 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 20c20,21 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalcave\crystalcavebush4\crystalcavebush4.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 15,18c15,18 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 20,21c20,22 < "hylotlDescription" : "This crystal bush reminds me of coral.", < --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", > objects\biome\crystalline\crystalbed\crystalbed.object 6c6 < "description" : "A crystal bed. When you want to dream of being rich.", --- > "description" : "A crystal bed, for when you want to dream of being rich.", 12c12 < "apexDescription" : "A beautiful crystal bed. I'd be happy to sleep here.", --- > "apexDescription" : "A crystal bed, attractive but solid, to say the least.", 14,15c14,15 < "floranDescription" : "Floran like sssharp cryssstal bed.", < "glitchDescription" : "Gemology. These crystals are actually rather common, and worth very little.", --- > "floranDescription" : "Floran likes sharp cryssstal bed.", > "glitchDescription" : "Unimpressed. These crystals are actually rather common, and worth very little.", 17a18 > "novakidDescription" : "A bed of cold crystal.", objects\biome\crystalline\crystalchair\crystalchair.object 15c15 < "glitchDescription" : "Gemology. Despite how common they are, one of the crystals in this chair still manages to be a fake.", --- > "glitchDescription" : "Disinterested. Despite how common they are, one of the crystals in this chair still manages to be a fake.", 17a18 > "novakidDescription" : "Do I gotta wear a crystal crown to sit 'ere?", objects\biome\crystalline\crystalchest\crystalchest.object 17,18c17,18 < "floranDescription" : "Floran like sssparkly chest.", < "glitchDescription" : "Analysis. This chest was once used to store potatoes.", --- > "floranDescription" : "Crystal chest isss heavy and cold, like a fridge.", > "glitchDescription" : "Sentimental. This chest was once used to store great secrets.", 20c20,22 < "hylotlDescription" : "A beautiful chest. Sparkles like the ocean.", --- > "hylotlDescription" : "A beautiful chest. It sparkles like the ocean.", > "novakidDescription" : "This chest is so cold, it would do well for storing perishable goods.", > objects\biome\crystalline\crystallamp\crystallamp.object 13c13 < "apexDescription" : "This is a mesmerising lamp.", --- > "apexDescription" : "This lamp creates a calm atmosphere.", 15,16c15,16 < "floranDescription" : "Floran like crystal. Crystal make sssafe fire.", < "glitchDescription" : "Observation. This light appears to be powered by unknown energies.", --- > "floranDescription" : "Who caress why crystal glowss? It makess a nice lamp.", > "glitchDescription" : "Concerned. This light appears to be powered by an unknown energy source.", 18c18,19 < "hylotlDescription" : "The crystal's glow is both soothing and warm.", --- > "hylotlDescription" : "The crystal's glow is both soothing and invigorating, resulting in a rather perplexing experience.", > "novakidDescription" : "This crystal shines like a full moon in winter.", objects\biome\crystalline\crystallinebush1\crystallinebush1.object 8c8 < "description" : "A crystalline bush. Shiny.", --- > "description" : "A crystalline deposit. Shiny.", 12,15c12,15 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 17c17,18 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalline\crystallinebush2\crystallinebush2.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 12,15c12,15 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 17c17,18 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalline\crystallinebush3\crystallinebush3.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 12,15c12,15 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 17c17,18 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalline\crystallinebush4\crystallinebush4.object 8c8 < "description" : "A crystalline bush. Shiny!", --- > "description" : "A crystalline deposit. Shiny.", 12,15c12,15 < "apexDescription" : "A beautiful crystal bush.", < "avianDescription" : "A bush of shiny crystals.", < "floranDescription" : "Ssshiny bush.", < "glitchDescription" : "Shrewd. This bush could be worth a lot on certain black markets.", --- > "apexDescription" : "Crystals are quite beautiful.", > "avianDescription" : "A bunch of shiny crystals.", > "floranDescription" : "Shiny, pointy rocksss.", > "glitchDescription" : "Impatient. Crystals are unpleasant when underfoot.", 17c17,18 < "hylotlDescription" : "This crystal bush reminds me of coral.", --- > "hylotlDescription" : "This crystal reminds me of frozen coral.", > "novakidDescription" : "A sparklin' crystal.", objects\biome\crystalline\crystaltable\crystaltable.object 14,16c14,16 < "floranDescription" : "Floran ssslice on crystal, not leave marksss.", < "glitchDescription" : "Desire. I could go for some dinner about now.", < "humanDescription" : "Sitting at this table would make me feel like magical royalty.", --- > "floranDescription" : "Floran can ssslice on crystal, it won't leave marksss.", > "glitchDescription" : "Jealousy. How does this table stay so shiny?", > "humanDescription" : "Sitting at this table would make me feel like royalty. Magical royalty.", 17a18 > "novakidDescription" : "Two-in-one, a table and a mirror.", objects\biome\dark\shadowmarker\shadowmarker.object 14,15c14,15 < "floranDescription" : "Ah, a warning marker. I wonder what isss here.", < "glitchDescription" : "Statement. My desire to leave this area has increased.", --- > "floranDescription" : "Ah, a warning marker. Floran wonder what isss here.", > "glitchDescription" : "Alarmed. My desire to leave this area has increased.", objects\biome\dark\shadowrock1\shadowrock1.object 12,17c12,18 < "apexDescription" : "A dark rock.", < "avianDescription" : "A dark rock.", < "floranDescription" : "A dark rock.", < "glitchDescription" : "A dark rock.", < "humanDescription" : "A dark rock.", < "hylotlDescription" : "A dark rock.", --- > "apexDescription" : "This rock looks volcanic.", > "avianDescription" : "Better watch my step with these rocks around!", > "floranDescription" : "Igneoussss rock.", > "glitchDescription" : "Surprised. A very dark rock, I almost couldn't see it at all.", > "humanDescription" : "That's a tripping hazard right there.", > "hylotlDescription" : "A newly formed rock deposit, it still resembles cooled lava.", > "novakidDescription" : "A rock as black as night, except without the stars.", objects\biome\dark\shadowrock2\shadowrock2.object 12,17c12,18 < "apexDescription" : "A dark rock.", < "avianDescription" : "A dark rock.", < "floranDescription" : "A dark rock.", < "glitchDescription" : "A dark rock.", < "humanDescription" : "A dark rock.", < "hylotlDescription" : "A dark rock.", --- > "apexDescription" : "This rock looks volcanic.", > "avianDescription" : "Better watch my step with these rocks around!", > "floranDescription" : "Igneoussss rock.", > "glitchDescription" : "Surprised. A very dark rock, I almost couldn't see it at all.", > "humanDescription" : "That's a tripping hazard right there.", > "hylotlDescription" : "A newly formed rock deposit, it still resembles cooled lava.", > "novakidDescription" : "A rock as black as night, except without the stars.", objects\biome\dark\shadowrock3\shadowrock3.object 12,17c12,18 < "apexDescription" : "A dark rock.", < "avianDescription" : "A dark rock.", < "floranDescription" : "A dark rock.", < "glitchDescription" : "A dark rock.", < "humanDescription" : "A dark rock.", < "hylotlDescription" : "A dark rock.", --- > "apexDescription" : "This rock looks volcanic.", > "avianDescription" : "Better watch my step with these rocks around!", > "floranDescription" : "Igneoussss rock.", > "glitchDescription" : "Surprised. A very dark rock, I almost couldn't see it at all.", > "humanDescription" : "That's a tripping hazard right there.", > "hylotlDescription" : "A newly formed rock deposit, it still resembles cooled lava.", > "novakidDescription" : "A rock as black as night, except without the stars.", objects\biome\dark\shadowrock4\shadowrock4.object 11,17c11,18 < < "apexDescription" : "A dark rock.", < "avianDescription" : "A dark rock.", < "floranDescription" : "A dark rock.", < "glitchDescription" : "A dark rock.", < "humanDescription" : "A dark rock.", < "hylotlDescription" : "A dark rock.", --- > > "apexDescription" : "This rock looks volcanic.", > "avianDescription" : "Better watch my step with these rocks around!", > "floranDescription" : "Igneoussss rock.", > "glitchDescription" : "Surprised. A very dark rock, I almost couldn't see it at all.", > "humanDescription" : "That's a tripping hazard right there.", > "hylotlDescription" : "A newly formed rock deposit, it still resembles cooled lava.", > "novakidDescription" : "A rock as black as night, except without the stars.", objects\biome\dark\shadowrock5\shadowrock5.object 12,17c12,18 < "apexDescription" : "A dark rock.", < "avianDescription" : "A dark rock.", < "floranDescription" : "A dark rock.", < "glitchDescription" : "A dark rock.", < "humanDescription" : "A dark rock.", < "hylotlDescription" : "A dark rock.", --- > "apexDescription" : "This rock looks volcanic.", > "avianDescription" : "Better watch my step with these rocks around!", > "floranDescription" : "Igneoussss rock.", > "glitchDescription" : "Surprised. A very dark rock, I almost couldn't see it at all.", > "humanDescription" : "That's a tripping hazard right there.", > "hylotlDescription" : "A newly formed rock deposit, it still resembles cooled lava.", > "novakidDescription" : "A rock as black as night, except without the stars.", objects\biome\dark\shadowshrine\shadowshrine.object 14,15c14,15 < "floranDescription" : "Floran doess not like thiss ssshrine.", < "glitchDescription" : "Statement. My desire to leave this area has increased.", --- > "floranDescription" : "Cool shine, it looksss creepy.", > "glitchDescription" : "Terrified. My desire to leave this area has increased.", 17c17,19 < "hylotlDescription" : "This shrine is highly unsettling...", --- > "hylotlDescription" : "I do not wish to discover the story behind this shrine.", > "novakidDescription" : "Yep, that's creepy alright.", > objects\biome\dark\shadowshrine2\shadowshrine2.object 12,15c12,15 < "apexDescription" : "Creepy..", < "avianDescription" : "This shrine is giving me the creeps..", < "floranDescription" : "Floran doess not like thiss ssshrine.", < "glitchDescription" : "Statement. My desire to leave this area has increased.", --- > "apexDescription" : "Creepy...", > "avianDescription" : "This shrine is giving me the creeps...", > "floranDescription" : "Cool shine, it looksss creepy.", > "glitchDescription" : "Terrified. My desire to leave this area has increased.", 17c17,18 < "hylotlDescription" : "This shrine is highly unsettling..", --- > "hylotlDescription" : "I do not wish to discover the story behind this shrine.", > "novakidDescription" : "Yep, that's creepy alright.", objects\biome\dark\shadowshrine3\shadowshrine3.object 12,15c12,15 < "apexDescription" : "Creepy..", < "avianDescription" : "This shrine is giving me the creeps..", < "floranDescription" : "Floran doess not like thiss ssshrine.", < "glitchDescription" : "Statement. My desire to leave this area has increased.", --- > "apexDescription" : "Creepy...", > "avianDescription" : "This shrine is giving me the creeps...", > "floranDescription" : "Cool shine, it looksss creepy.", > "glitchDescription" : "Terrified. My desire to leave this area has increased.", 17c17,18 < "hylotlDescription" : "This shrine is highly unsettling..", --- > "hylotlDescription" : "I do not wish to discover the story behind this shrine.", > "novakidDescription" : "Yep, that's creepy alright.", objects\biome\dark\shadowurnlarge1\shadowurnlarge1.object 14c14 < "avianDescription" : "These urns look cursed...", --- > "avianDescription" : "This urn looks cursed...", 16c16 < "glitchDescription" : "Destructive. I believe there may be something dark inside.", --- > "glitchDescription" : "Destructive. I believe there may be something even darker inside.", 18c18,19 < "hylotlDescription" : "If you break an urn it's said you get bad luck. I'd hat to think what you'd get from breaking this.", --- > "hylotlDescription" : "Breaking an urn of any kind is said to bring bad luck. I dread to think what fate comes from breaking this.", > "novakidDescription" : "Urns like that are best left alone.", objects\biome\dark\shadowurnlarge2\shadowurnlarge2.object 14c14 < "avianDescription" : "These urns look cursed...", --- > "avianDescription" : "This urn looks cursed...", 16c16 < "glitchDescription" : "Destructive. I believe there may be something dark inside.", --- > "glitchDescription" : "Destructive. I believe there may be something even darker inside.", 18c18,19 < "hylotlDescription" : "If you break an urn it's said you get bad luck. I'd hat to think what you'd get from breaking this.", --- > "hylotlDescription" : "Breaking an urn of any kind is said to bring bad luck. I dread to think what fate comes from breaking this.", > "novakidDescription" : "Urns like that are best left alone.", objects\biome\dark\shadowurnmedium1\shadowurnmedium1.object 14c14 < "avianDescription" : "These urns look cursed...", --- > "avianDescription" : "This urn looks cursed...", 16c16 < "glitchDescription" : "Destructive. I believe there may be something dark inside.", --- > "glitchDescription" : "Destructive. I believe there may be something even darker inside.", 18c18,19 < "hylotlDescription" : "If you break an urn it's said you get bad luck. I'd hat to think what you'd get from breaking this.", --- > "hylotlDescription" : "Breaking an urn of any kind is said to bring bad luck. I dread to think what fate comes from breaking this.", > "novakidDescription" : "Urns like that are best left alone.", objects\biome\dark\shadowurnmedium2\shadowurnmedium2.object 18a19 > "novakidDescription" : "Urns like that are best left alone.", objects\biome\dark\shadowurnsmall1\shadowurnsmall1.object 18a19 > "novakidDescription" : "Urns like that are best left alone.", objects\human\barbedwire\barbedwire.object 34,37c34 < "damageSourceKind" : "default", < "statusEffects" : [ < "damagefreeze" < ] --- > "damageSourceKind" : "default" 53,56c50 < "damageSourceKind" : "default", < "statusEffects" : [ < "damagefreeze" < ] --- > "damageSourceKind" : "default" objects\outpost\shipyardcaptain\shipyardcaptain.object 55a56 > { "item" : "boatcontrollergreen" }, objects\themed\outdoor\lamppost1\lamppost1.object 22a23,25 > "pointLight" : true, > "pointBeam" : 2, > "beamAmbience" : 0.5, 33,34c36,37 < "lightPosition" : [0, 8], < "beamAngle" : 265, --- > "lightPosition" : [0, 5], > "beamAngle" : 270, 45,46c48,49 < "lightPosition" : [0, 8], < "beamAngle" : 265, --- > "lightPosition" : [0, 5], > "beamAngle" : 270, objects\themed\outdoor\lamppost2\lamppost2.object 22a23,25 > "pointLight" : true, > "pointBeam" : 1.5, > "beamAmbience" : 0.4, objects\themed\outdoor\lamppost3\lamppost3.object 22a23,25 > "pointLight" : true, > "pointBeam" : 1.75, > "beamAmbience" : 0.45, projectiles\activeitems\chakram\chakram.projectile 14c14 < "damageKind" : "default", --- > "damageKind" : "dagger", projectiles\activeitems\chakram\hardchakram.projectile 14c14 < "damageKind" : "default", --- > "damageKind" : "hammer", projectiles\activeitems\chakram\neochakram.projectile 17c17 < "damageKind" : "default", --- > "damageKind" : "dagger", projectiles\activeitems\chakram\sawchakram.projectile 14c14 < "damageKind" : "default", --- > "damageKind" : "dagger", projectiles\explosions\bigboulderexplosion\bigboulderexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\bombblockexplosion\bombblockexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\bouldersmashexplosion\bouldersmashexplosionuniversal.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\burstfire\burstfire.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\coconutexplosion\coconutbreak.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\dungeonpodexplosion\dungeonpodexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\generatorexplosion\generatorexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\giganticsnowballexplosion\giganticsnowballexplosion.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\glitchexplosion\glitchexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\blueglobeexplosion\blueglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\greenglobeexplosion\greenglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\magentaglobeexplosion\magentaglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\orangeglobeexplosion\orangeglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\redglobeexplosion\redglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\whiteglobeexplosion\whiteglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\globeexplosions\yellowglobeexplosion\yellowglobeexplosion.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\grenadeexplosion\grenadeexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\healingexplosion\healcloud.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\hivebombexplosion\hivebombexplosion1.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\hivebombexplosion\hivebombexplosion2.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\hivebombexplosion\hivebombexplosion3.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\hivebombexplosion\hivebombexplosion4.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\lightblockexplosion\lightblockexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\meteorexplosion\meteorexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\molotovexplosion\molotovexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosionblue\paintexplosionblue.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosiongreen\paintexplosiongreen.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosionorange\paintexplosionorange.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosionpurple\paintexplosionpurple.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosionred\paintexplosionred.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\paintexplosionyellow\paintexplosionyellow.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\plasmaexplosion2\plasmaexplosion2.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\poexplosion\poexplosion.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\pulsecannonexplosion\pulsecannonexplosionuniversal.projectile 13c13 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\regularexplosion\regularexplosionspawner.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\regularexplosion\regularexplosionuniversal.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\regularexplosionnospark\regularexplosionnospark.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\rocketexplosion\rocketexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\slimeexplosion\slimeexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\smallpoisonexplosion\smallpoisonexplosionuniversal.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\smallregularexplosion\smallregularexplosionuniversal.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\smokeexplosion\smokeexplosion.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\snowballexplosion\snowballexplosion.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\tarexplosion\tarexplosion.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\targetexplosion\targetexplosion.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vlightblockexplosion\vlightblockexplosion.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vsmallregularexplosion\vsmallregularexplosion.projectile 12c12 < // "damageTeamType" : "indiscriminate", --- > // "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionknockback.projectile 12c12 < // "damageTeamType" : "indiscriminate", --- > // "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnodamage.projectile 12c12 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\explosions\vsmallregularexplosion\vsmallregularexplosionnosound.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\fishing\fishinglure.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballblue\paintballblue.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballgreen\paintballgreen.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballorange\paintballorange.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballpurple\paintballpurple.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballred\paintballred.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\bullets\paintballyellow\paintballyellow.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\guns\grenades\fruitthorn\fruitthorn.projectile 10c10 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\invisibleprojectile\invisibleprojectile.projectile 9c9 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\lavaprojectile\lavaprojectile.projectile 163c163 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\matterblockprojectile2\matterblockprojectile2.projectile 163c163 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\meteorblockspawner\meteorblockspawner.projectile 575c575 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\npcs\gas2\gas2.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\npcs\grabbed\grabbed.projectile 19c19 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\bombstatusprojectile\bombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\bouncystatusprojectile\bouncystatusprojectile.projectile 28c28 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\burningstatusprojectile\burningstatusprojectile.projectile 93c93 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\clusterstatusprojectile\clusterstatusprojectile.projectile 72c72 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\copperbombstatusprojectile\copperbombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\diamondbombstatusprojectile\diamondbombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\glowstatusprojectile\glowstatusprojectile.projectile 72c72 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\goldbombstatusprojectile\goldbombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\healingstatusprojectile\fasthealingstatusprojectile.projectile 29c29 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\healingstatusprojectile\healingstatusprojectile.projectile 29c29 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\jumpstatusprojectile\jumpstatusprojectile.projectile 120c120 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\levitationstatusprojectile\levitationstatusprojectile.projectile 22c22 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\lowgravstatusprojectile\lowgravstatusprojectile.projectile 42c42 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\moneystatusprojectile\moneystatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\platinumbombstatusprojectile\platinumbombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\poisonstatusprojectile\poisonstatusprojectile.projectile 29c29 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\ragestatusprojectile\ragestatusprojectile.projectile 28c28 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\runstatusprojectile\runstatusprojectile.projectile 72c72 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\status\silverbombstatusprojectile\silverbombstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\status\waterstatusprojectile\waterstatusprojectile.projectile 26c26 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\staves\racialstaves\crystal\quetzalcoatlsquartz\quartzpulse\quartzpulse.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\beachball\beachball.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\bouncyball\bouncyball.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\capturepod\capturepod.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\firework2\firework2.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\firework3\firework3.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\firework4\firework4.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkblue2\fireworkblue2.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkblue3\fireworkblue3.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkblue4\fireworkblue4.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkgreen2\fireworkgreen2.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkgreen3\fireworkgreen3.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\fireworkgreen4\fireworkgreen4.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\glowgas\glowgas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\healinggas\healinggas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\hiveswarm\hiveswarm.projectile 14c14 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\jumpgas\jumpgas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\molotovflame\molotovflame.projectile 21c21 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\noveltybanana\noveltybanana.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\paperplane\paperplane.projectile 10c10 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\rungas\rungas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\throwable\waterballoon\waterballoon.projectile 14c14 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\ancientboulderrolling\ancientboulderrolling.projectile 20c20 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\ancientboulderrolling\ancientsmoothboulderrolling.projectile 20c20 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\ancientbouldersmash\ancientbouldersmash.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\avianboulderrolling\avianboulderrolling.projectile 20c20 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\avianboulderrolling\aviansmoothboulderrolling.projectile 20c20 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\avianbouldersmash\avianbouldersmash.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\jumpboostergas\jumpboostergas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\jumpboostergas\jumpboostergas30.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\jumpboostergas\jumpboostergas60.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\lowgravboostergas\lowgravboostergas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\lowgravboostergas\lowgravboostergas30.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\lowgravboostergas\lowgravboostergas60.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\powerboostergas\powerboostergas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\powerboostergas\powerboostergas30.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\powerboostergas\powerboostergas60.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\speedboostergas\speedboostergas.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\speedboostergas\speedboostergas30.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\speedboostergas\speedboostergas60.projectile 16c16 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\trapbouldersmash\trapbouldersmash.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\traps\trapice\trapice.projectile 17c17 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\unsorted\explosivebarrel\explosivebarrel.projectile 23c23 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\unsorted\explosivegenerator\explosivegenerator.projectile 23c23 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } projectiles\unsorted\friendlybubble\friendlybubble.projectile 11c11 < "damageTeamType" : "indiscriminate", --- > "damageTeam" : { "type" : "indiscriminate" }, projectiles\unsorted\poisonbarrel\poisonbarrel.projectile 82c82 < "damageTeamType" : "indiscriminate" --- > "damageTeam" : { "type" : "indiscriminate" } quests\outpost\endgame\examplequest.questtemplate 11,12c11,12 < [ [ "blanktechcard", 1 ], [ "generatedgun", 1, { "level" : 5, "definition" : "commonshotgun" } ] ] < ], --- > [ [ "blanktechcard", 1 ], [ "commonshotgun", 1, { "level" : 5 } ] ] > ], 28d27 < quests\outpost\phase1optional\bountyhunter1.questtemplate 10,11c10,11 < [ [ "generatedsword", 1, { "level" : 2, "definition" : "uncommonbroadsword" } ], [ "upgrademodule", 1 ] ] < ], --- > [ [ "uncommonbroadsword", 1, { "level" : 2 } ], [ "upgrademodule", 1 ] ] > ], quests\outpost\phase2optional\apexmechanic2.questtemplate 11,12c11,12 < [ [ "generatedgun", 1, { "level" : 3, "definition" : "commonpistol" } ], [ "manipulatormodule", 1 ] ] < ], --- > [ [ "commonpistol", 1, { "level" : 3 } ], [ "manipulatormodule", 1 ] ] > ], quests\outpost\phase2optional\bountyhunter2.questtemplate 11c11 < [ [ "generatedgun", 1, { "level" : 3, "definition" : "commonassaultrifle" } ], [ "upgrademodule", 1 ] ] --- > [ [ "commonassaultrifle", 1, { "level" : 3 } ], [ "upgrademodule", 1 ] ] quests\outpost\phase3optional\bountyhunter3.questtemplate 11,12c11,12 < [ [ "generatedgun", 1, { "level" : 4, "definition" : "commonshotgun" } ], [ "upgrademodule", 1 ] ] < ], --- > [ [ "commonshotgun", 1, { "level" : 4 } ], [ "upgrademodule", 1 ] ] > ], 32d31 < quests\outpost\phase4optional\bountyhunter4.questtemplate 11,12c11,12 < [ [ "blanktechcard", 1 ], [ "generatedgun", 1, { "level" : 5, "definition" : "commonshotgun" } ], [ "upgrademodule", 1 ] ] < ], --- > [ [ "blanktechcard", 1 ], [ "commonshotgun", 1, { "level" : 5 } ], [ "upgrademodule", 1 ] ] > ], 28d27 < quests\outpost\phase4optional\floranhunter4.questtemplate 11,12c11,12 < [ [ "blanktechcard", 1 ], [ "generatedsword", 1, { "level" : 5, "definition" : "uncommonspear" } ], [ "upgrademodule", 1 ] ] < ], --- > [ [ "blanktechcard", 1 ], [ "uncommonspear", 1, { "level" : 5 } ], [ "upgrademodule", 1 ] ] > ], 28d27 < quests\outpost\phase4optional\humanexcon4.questtemplate 11,12c11,12 < [ [ "blanktechcard", 1 ], [ "generatedsword", 1, { "level" : 5, "definition" : "uncommonaxe" } ] ] < ], --- > [ [ "blanktechcard", 1 ], [ "uncommonaxe", 1, { "level" : 5 } ] ] > ], 28d27 < scripts\pathing.lua 252c252 < if entity.configParameter("pathing.canOpenDoors", true) and not self:openDoors() then --- > if entity.configParameter("pathing.canOpenDoors", false) and not self:openDoors() then scripts\actions\movement.lua 646c646 < if args.footPosition then --- > if BData:getBool(args.footPosition) then 729c729 < end \ No newline at end of file --- > end species\apexfemalenamegen.config 6c6 < [ { "mode" : "markov", "source" : "russianfemale", "targetLength" : [3, 8] } ], --- > [ { "mode" : "markov", "source" : "russianfemale", "targetLength" : [3, 7] } ], species\apexmalenamegen.config 6c6 < [ { "mode" : "markov", "source" : "russianmale", "targetLength" : [3, 8] } ], --- > [ { "mode" : "markov", "source" : "russianmale", "targetLength" : [3, 7] } ], stats\effects\deathbomb\deathbomb.lua 29a30,31 > local sourceEntityId = effect.sourceEntity() or entity.id() > local sourceDamageTeam = world.entityDamageTeam(sourceEntityId) 33c35 < damageTeamType = "assistant", --- > damageTeam = sourceDamageTeam, 39c41 < file = effect.configParameter("bombConfig") --- > file = effect.configParameter("bombConfig") stats\effects\electrified\electrified.lua 27c27,29 < if world.entityCanDamage(effect.sourceEntity(), id) and not world.lineTileCollision(mcontroller.position(), world.entityPosition(id)) then --- > local sourceEntityId = effect.sourceEntity() or entity.id() > if world.entityCanDamage(sourceEntityId, id) and not world.lineTileCollision(mcontroller.position(), world.entityPosition(id)) then > local sourceDamageTeam = world.entityDamageTeam(sourceEntityId) 32c34 < effect.sourceEntity(), --- > entity.id(), 37c39 < damageTeamType = "assistant" --- > damageTeam = sourceDamageTeam vehicles\boat\boat.animation 68c68 < "rotationGroup" : "rocking", --- > "transformationGroups" : ["flip", "rotation"], 70,71c70 < "passengerSeatPosition" : [0, 2], < "titanicSeatPosition" : [3.75, 3.25] --- > "titanicSeatPosition" : [3.75, 3.125] 80c79 < "rotationGroup" : "rocking", --- > "transformationGroups" : ["flip", "rotation"], 138c137 < "rotationGroup" : "rocking" --- > "transformationGroups" : ["flip", "rotation"] 196c195 < "rotationGroup" : "rocking", --- > "transformationGroups" : ["flip", "rotation"], 243c242 < "zLevel" : 3, --- > "zLevel" : 0, 245,246c244,245 < "rotationGroup" : "rocking", < "offset" : [-5.375, -1.5] --- > "transformationGroups" : ["flip", "rotation"], > "offset" : [-5.0, -1.5] 267,271c266,271 < "rotationGroups" : { < "rocking" : { < "rotationCenter" : [0, -2], < "angularVelocity" : 0.4 < } --- > > "transformationGroups" : { > "rotation" : { > "interpolated" : true > }, > "flip" : {} 276,279c276,279 < "emissionRate" : 25.0, < "active" : false, < "offsetRegion" : [ 5, -1.5, 5.1, 1.5], < "particles" : [{ "particle" : "bowwavewater"}] --- > "emissionRate" : 25.0, > "active" : false, > "offsetRegion" : [ 5, -1.5, 5.1, 1.5], > "particles" : [{ "particle" : "splashwater"}] 282,285c282,285 < "emissionRate" : 25.0, < "active" : false, < "offsetRegion" : [ 5, -1.5, 5.1, 1.5], < "particles" : [{ "particle" : "fireshard"}] --- > "emissionRate" : 25.0, > "active" : false, > "offsetRegion" : [ 5, -1.5, 5.1, 1.5], > "particles" : [{ "particle" : "fireshard"}] 288,291c288,291 < "emissionRate" : 25.0, < "active" : false, < "offsetRegion" : [ 5, -1.5, 5.1, 1.5], < "particles" : [{ "particle" : "poisondust"}] --- > "emissionRate" : 25.0, > "active" : false, > "offsetRegion" : [ 5, -1.5, 5.1, 1.5], > "particles" : [{ "particle" : "splashpoison"}] 295,299c295,299 < "emissionRate" : 0, < "active" : false, < "burstCount" : 30, < "offsetRegion" : [ -5, -1.5, 5.0, -1.2], < "particles" : [{ "particle" : "bowwavewater"}] --- > "emissionRate" : 0, > "active" : false, > "burstCount" : 30, > "offsetRegion" : [ -5, -1.5, 5.0, -1.2], > "particles" : [{ "particle" : "splashwater"}] 302,306c302,306 < "emissionRate" : 0, < "active" : false, < "burstCount" : 30, < "offsetRegion" : [ -5, -1.5, 5.1, -1.2], < "particles" : [{ "particle" : "fireshard"}] --- > "emissionRate" : 0, > "active" : false, > "burstCount" : 30, > "offsetRegion" : [ -5, -1.5, 5.1, -1.2], > "particles" : [{ "particle" : "fireshard"}] 309,313c309,313 < "emissionRate" : 0, < "active" : false, < "burstCount" : 30, < "offsetRegion" : [ -5, -1.5, 5.1, -1.2], < "particles" : [{ "particle" : "poisondust"}] --- > "emissionRate" : 0, > "active" : false, > "burstCount" : 30, > "offsetRegion" : [ -5, -1.5, 5.1, -1.2], > "particles" : [{ "particle" : "splashpoison"}] 316,317d315 < < 319,341c317,320 < "enabled" : true, < "emissionRate" : 10.0, < "particles" : [ < { < "particle" : { < "type" : "ember", < "color" : [255, 255, 255, 210], < "size" : 1, < "fade" : 0.9, < "position" : [-4.5, -3], < "offsetRegion" : [0, 0, 0, 0], < "initialVelocity" : [0, 0], < "finalVelocity" : [0, 3], < "timeToLive" : 2, < "underwaterOnly" : true, < "layer" : "back", < "variance" : { < "size" : 0.2, < "initialVelocity" : [1, 0.5] < } < } < } < ] --- > "enabled" : false, > "emissionRate" : 25.0, > "offsetRegion" : [ -3, -3, 3, 3], > "particles" : [{ "particle" : "bubbles"}] vehicles\boat\boat.lua 6,8c6,8 < self.rockingTimer = 0 < animator.rotateGroup("rocking", 0, true) < self.lastFacing = 1 --- > self.rockingTimer = 0 > self.facingDirection = 1 > self.angle = 0 26d25 < self.boatVerticalFriction = vehicle.configParameter("boatVerticalFriction") 29c28,30 < self.minRockingAngle = vehicle.configParameter("minRockingAngle") --- > self.maxRockingAngle = vehicle.configParameter("maxRockingAngle") > self.angleApproachFactor = vehicle.configParameter("angleApproachFactor") > 46a48,53 > self.maxGroundSearchDistance = vehicle.configParameter("maxGroundSearchDistance") > > local bounds = mcontroller.localBoundBox() > self.frontGroundTestPoint={bounds[1],bounds[2]} > self.backGroundTestPoint={bounds[3],bounds[2]} > 49a57 > 59c67 < return {storable = localStorable, health = storage.health} --- > return {storable = true, healthFactor = storage.health / self.maxHealth} 70c78 < if (startHealth == nil) then --- > if (startHealthFactor == nil) then 78,83d85 < < if (storage.health>self.maxHealth) then < storage.health=self.maxHealth < end < < 86a89 > 90,92c93,97 < local sinkAngle= math.pi*0.5 < local actualAngle=animator.currentRotationAngle("rocking") < mcontroller.setRotation(actualAngle) --- > local sinkAngle=-math.pi*0.4 > > local animState=animator.animationState("base") > local waterFactor = mcontroller.liquidPercentage(); > 94c99 < if (animator.animationState("base")=="warpedOut") then --- > if (animState=="warpedOut") then 96c101,103 < elseif (animator.animationState("base")=="warpInPart1" or animator.animationState("base")=="warpOutPart2") then --- > elseif (animState=="warpInPart1" or animState=="warpOutPart2") then > world.debugText("warping",mcontroller.position(),"red") > 100c107,108 < elseif (animator.animationState("base")=="sunk") then --- > elseif (animState=="sunk") then > -- world.debugText("sunk",mcontroller.position(),"red") 102,103c110,111 < elseif (animator.animationState("base")=="sinking") then < --- > local targetAngle=calcGroundCollisionAngle(self.maxGroundSearchDistance) > self.angle = self.angle + (targetAngle - self.angle) * self.angleApproachFactor 105,108c113,116 < if (mcontroller.onGround()) then < --not floating any more. Must have touched bottom. < animator.rotateGroup("rocking",actualAngle) < animator.setAnimationState("base", "sunk") --- > elseif (animState=="sinking") then > world.debugText("sinking",mcontroller.position(),"red") > > self.angle=updateSinking(waterFactor, self.angle,sinkAngle) 110,111c118 < animator.setParticleEmitterActive("bubbles", false) < vehicle.setLoungeEnabled("drivingSeat",false) --- > elseif (animState=="idle") then 113,115c120 < else < if (actualAngle~=sinkAngle) then < animator.rotateGroup("rocking",sinkAngle) --- > world.debugText("idle",mcontroller.position(),"green") 117,123c122,124 < local lerpFactor=math.cos(actualAngle) < local finalBuoyancy=(self.maxBuoyancy * lerpFactor) + (self.sinkingBuoyancy* (1.0-lerpFactor)) < mcontroller.applyParameters({ liquidBuoyancy=finalBuoyancy, < liquidFriction=self.sinkingFriction, < frictionEnabled=true}) < end < animator.setParticleEmitterActive("bubbles", true) --- > local healthFactor = storage.health / self.maxHealth > local waterSurface = self.maxGroundSearchDistance > self.waterBounds=mcontroller.localBoundBox() 124a126,128 > --work out water surface > if (waterFactor>0) then > waterSurface=(self.waterBounds[4] * waterFactor) + (self.waterBounds[2] * (1.0-waterFactor)) 126,127d129 < elseif (animator.animationState("base")=="idle") then < local healthFactor = storage.health / self.maxHealth 129,130c131,132 < local facing = self.lastFacing < local moving = false --- > self.waterBounds[2] = waterSurface +0.25 > self.waterBounds[4] = waterSurface +0.5 132c134 < local driverThisFrame = vehicle.entityLoungingIn("drivingSeat") --- > world.debugText(string.format("WaterSurface=%s", self.waterBounds[2]),mcontroller.position(),"yellow") 134,135d135 < if (driverThisFrame ~= nil) then < vehicle.setDamageTeam(world.entityDamageTeam(driverThisFrame)) 137,141c137,138 < if vehicle.controlHeld("drivingSeat", "left") then < mcontroller.approachXVelocity(-self.targetMoveSpeed, self.moveControlForce) < moving = true < facing = -1 < end --- > local facing > local moving 143,149c140,149 < if vehicle.controlHeld("drivingSeat", "right") then < mcontroller.approachXVelocity(self.targetMoveSpeed, self.moveControlForce) < moving = true < facing = 1 < end < else < vehicle.setDamageTeam({type = "passive"}) --- > moving,facing = updateDriving() > > --Rocking in the wind, and rotating up when moving > local floating = updateFloating(waterFactor, moving,facing) > updateMovingEffects(floating,moving) > updatePassengers(healthFactor) > > if storage.health<=0 then > vehicle.setLoungeEnabled("titanicPose",false) > animator.setAnimationState("base", "sinking") 152c152,158 < animator.setFlipped(facing < 0) --- > self.facingDirection = facing > self.waterFactor=waterFactor --how deep are we in the water right now ? > end > > --take care of rotating and flipping > animator.resetTransformationGroup("flip") > animator.resetTransformationGroup("rotation") 154a161,163 > if self.facingDirection < 0 then > animator.scaleTransformationGroup("flip", {-1, 1}) > end 155a165 > animator.rotateTransformationGroup("rotation", self.angle) 157,158c167 < --Rocking in the wind, and rotating up when moving < local floating = updateFloating(moving,facing) --- > mcontroller.setRotation(self.angle) 160,161c169 < updateMovingEffects(floating,moving) < updatePassengers(healthFactor) --- > end 163d170 < self.lastFacing = facing 166,169c173,190 < if storage.health<=0 then < vehicle.setLoungeEnabled("passengerSeat",false) < vehicle.setLoungeEnabled("titanicPose",false) < animator.setAnimationState("base", "sinking") --- > function updateDriving() > local moving = false > local facing = self.facingDirection > > local driverThisFrame = vehicle.entityLoungingIn("drivingSeat") > if (driverThisFrame ~= nil) then > vehicle.setDamageTeam(world.entityDamageTeam(driverThisFrame)) > > if vehicle.controlHeld("drivingSeat", "left") then > mcontroller.approachXVelocity(-self.targetMoveSpeed, self.moveControlForce) > moving = true > facing = -1 > end > > if vehicle.controlHeld("drivingSeat", "right") then > mcontroller.approachXVelocity(self.targetMoveSpeed, self.moveControlForce) > moving = true > facing = 1 170a192,193 > else > vehicle.setDamageTeam({type = "passive"}) 172a196 > return moving,facing 174a199 > function updateSinking(waterFactor, currentAngle, sinkAngle) 176,177c201,229 < function updateFloating(moving, facing) < local waterFactor = mcontroller.liquidPercentage(); --- > if (mcontroller.onGround()) then > --not floating any more. Must have touched bottom. > animator.setAnimationState("base", "sunk") > > animator.setParticleEmitterActive("bubbles", false) > vehicle.setLoungeEnabled("drivingSeat",false) > > local targetAngle=calcGroundCollisionAngle(self.maxGroundSearchDistance) > currentAngle = currentAngle + (targetAngle - currentAngle) * self.angleApproachFactor > else > if (waterFactor> self.minWaterFactorToFloat) then > if (currentAngle~=sinkAngle) then > > currentAngle = currentAngle + (sinkAngle - currentAngle) * self.angleApproachFactor > > local lerpFactor=math.cos(currentAngle) > local finalBuoyancy=(self.maxBuoyancy * lerpFactor) + (self.sinkingBuoyancy* (1.0-lerpFactor)) > mcontroller.applyParameters({ liquidBuoyancy=finalBuoyancy, > liquidFriction=self.sinkingFriction, > frictionEnabled=true}) > end > animator.setParticleEmitterActive("bubbles", true) > end > end > > return currentAngle > end > > function updateFloating(waterFactor, moving, facing) 179a232,233 > local targetAngle=0 > 186c240 < local speedAngle = math.max(mcontroller.xVelocity() * facing * self.speedRotationMultiplier, 0) --- > local speedAngle = mcontroller.xVelocity() * self.speedRotationMultiplier 190,205c244,245 < local windMaxAngle = math.max(self.rockingWindAngleMultiplier * windLevel - speedAngle, self.minRockingAngle) < if facing < 0 then windMaxAngle = -windMaxAngle end < < local rockingAngle = math.sin(self.rockingTimer / self.rockingInterval * (math.pi * 2)) * windMaxAngle + speedAngle < < animator.rotateGroup("rocking", rockingAngle, self.lastFacing ~= facing) < < --Our own vertical friction to minimize bouncing < local yFrictionFactor = math.max(1.0 - self.boatVerticalFriction / mcontroller.mass() * script.updateDt(), 0) < mcontroller.setYVelocity(mcontroller.yVelocity() * yFrictionFactor) < < if moving then < animator.setParticleEmitterActive("bubbles", true) < else < animator.setParticleEmitterActive("bubbles", false) < end --- > local windMaxAngle = self.rockingWindAngleMultiplier * windLevel > local windAngle= windMaxAngle * (math.sin(self.rockingTimer / self.rockingInterval * (math.pi * 2))) 206a247 > targetAngle = windMaxAngle + speedAngle 208,209c249 < animator.rotateGroup("rocking", 0) < animator.setParticleEmitterActive("bubbles", false) --- > targetAngle=calcGroundCollisionAngle(self.waterBounds[2]) --pass in the water surtface 211a252 > self.angle = self.angle + (targetAngle - self.angle) * self.angleApproachFactor 220,226c261 < --work out water surface < local bounds=mcontroller.localBoundBox() < local waterSurface=(bounds[4] * waterFactor) + (bounds[2] * (1.0-waterFactor)) < bounds[2] = waterSurface +0.25 < bounds[4] = waterSurface +0.5 < < animator.setParticleEmitterOffsetRegion(splashEmitter,bounds) --- > animator.setParticleEmitterOffsetRegion(splashEmitter,self.waterBounds) 231,233d265 < < self.waterFactor=waterFactor --how deep are we in the water right now ? < 236a269,270 > > 249d282 < 250a284,288 > > local bowWaveBounds=self.waterBounds > -- bowWaveBounds[3]=bowWaveBounds[1]-0.5 > animator.setParticleEmitterOffsetRegion(bowWaveEmitter,bowWaveBounds) > 344a383,387 > function calcGroundCollisionAngle(waterSurface) > > local frontDistance = math.min(distanceToGround(self.frontGroundTestPoint),waterSurface) > local backDistance = math.min(distanceToGround(self.backGroundTestPoint),waterSurface) > 346,349c389,398 < function transformPoly(toPoly) < local position = mcontroller.position() < local yAdjust = collisionBottom(mcontroller.collisionPoly()) - collisionBottom(toPoly) < return world.resolvePolyCollision(toPoly, {position[1], position[2] + yAdjust}, 1) --- > -- world.debugText(string.format("front=%s, back=%s",frontDistance,backDistance),mcontroller.position(),"yellow") > > > if frontDistance == self.maxGroundSearchDistance and backDistance == self.maxGroundSearchDistance then > return 0 > else > local groundAngle=-math.atan(backDistance - frontDistance) > > return groundAngle > end 352,357c401,414 < function collisionBottom(collisionPoly) < local lowest = 0 < for _,point in pairs(collisionPoly) do < if point[2] < lowest then < lowest = point[2] < end --- > function distanceToGround(point) > -- to worldspace > point = vec2.rotate(point, self.angle) > point = vec2.add(point, mcontroller.position()) > > local endPoint = vec2.add(point, {0, -self.maxGroundSearchDistance}) > local intPoint = world.lineCollision(point, endPoint) > > if intPoint then > world.debugPoint(intPoint, {255, 255, 0, 255}) > return point[2] - intPoint[2] > else > world.debugPoint(endPoint, {255, 0, 0, 255}) > return self.maxGroundSearchDistance 359c416 < return lowest --- > 360a418,421 > > > > vehicles\boat\boat.vehicle 8,10d7 < "animation" : "boat.animation", < < 11a9 > "animation" : "boat.animation", 15c13 < "rotationGroup" : "rocking", --- > "transformationGroups" : ["rotation"], 23a22,23 > > 25c25 < "collisionPoly" : [[-2.5, -2],[-5.5, -1], [-5, 1.875], [1, 5.0], [5.0, 0], [2.5,-2]], --- > "collisionPoly" : [[-2.5, -2], [-5.0, -1], [-5, 1], [1.0, 5.0], [5.0, 1], [5.0, -1], [2.5,-2]], 28d27 < "liquidFriction" : 0.5, 42,46d40 < "passengerSeat" : { < "part" : "seat", < "partAnchor" : "passengerSeatPosition", < "orientation" : "sit" < }, 60c54 < "moveControlForce" : 50, --- > "moveControlForce" : 100, 63d56 < "rockingInterval" : 3, 66,67c59,62 < "minRockingAngle": 0.02, < "maxRockingAngle" : 0.1, --- > "rockingInterval" : 3, > "maxRockingAngle": 0.02, > > "speedRotationMultiplier": 0.01, 69c64 < "speedRotationMultiplier": 0.005, --- > "angleApproachFactor" : 0.015, 71,72c66 < "maxRiseSpeed" : 30, < "boatVerticalFriction" : 7.5, --- > "maxGroundSearchDistance" : 5, 74d67 < //health and damage 75a69 > //health and damage 83c77 < "liquidFriction" : 0.5, --- > "liquidFriction" : 30, 88c82 < "liquidFriction" : 0.6, --- > "liquidFriction" : 40, 93c87 < "liquidFriction" : 0.7, --- > "liquidFriction" : 50, 98c92 < "sinkingFriction" : 50, --- > "sinkingFriction" : 70, 105a100,109 > //Platform to stand on > > "physicsCollisions" : { > "deck" : { > "collision" : [ [-4.5, 0.0], [4.5, 0.0], [4.5, 0.6], [-4.5, 0.6] ], > "attachToPart" : "seat" > } > }, > > 110a115,118 > > > > 111a120,122 > > > vehicles\hoverbike\hoverbike.lua 581c581 < damageTeamType = "indiscriminate", --- > damageTeam = { type = "indiscriminate" }, versioning\item_6_7.lua 42c42 < -- mushroomsword = "mushroomsword", --- > mushroomsword = "uncommonshortsword",