FILES ----- dungeon_worlds.config player.config unique_worlds.config ai\novakidai.png biomes\surface\oceanfloor\oceanfloor.biome biomes\surface\oceanfloor\oceanfloor.parallax codex\codex.config codex\documents\controls.codex [NEW] codex\documents\novakidorigins.codex [NEW] codex\documents\novakidprologue.codex dungeons\missions\penguinmissions\penguinmission1-liquids.png dungeons\missions\penguinmissions\penguinmission1-objects.png dungeons\missions\penguinmissions\penguinmission1-wires1.png dungeons\missions\penguinmissions\penguinmission1.dungeon dungeons\missions\penguinmissions\penguinmission1.png interface\energybar.png interface\playerbar-overportrait.png interface\playerbar.png interface\playerbarpress.png [NEW] interface\bounty\bountybody.png [NEW] interface\bounty\bountyfooter.png [NEW] interface\bounty\bountyheader.png [NEW] interface\bounty\bountyicon.png interface\cockpit\cockpit.config [NEW] interface\cockpit\zoombar.png [NEW] interface\cockpit\zoomout.png [NEW] interface\cockpit\zoomouthover.png [NEW] interface\cockpit\zoomslider.png interface\errorpopup\quest.png interface\party\body.png interface\title\multiplayerbackground.png [NEW] interface\warpmenu\shipteleporter.config interface\windowconfig\bounty.config interface\windowconfig\codex.config interface\windowconfig\crafting.config interface\windowconfig\error.config interface\windowconfig\kitchen.config interface\windowconfig\multiplayer.config interface\windowconfig\playerinventory.config interface\windowconfig\questlog.config interface\windowconfig\teambar.config interface\windowconfig\teaminvitation.config interface\windowconfig\teaminvite.config items\generic\produce\beakseed.consumable items\generic\produce\coffeebeans.consumable items\generic\produce\diodia.consumable items\generic\produce\feathercrown.consumable items\generic\produce\grapes.consumable items\generic\produce\oculemon.consumable items\generic\produce\potato.consumable items\generic\produce\reefpod.consumable items\generic\produce\toxictop.consumable items\generic\tier1\fishnchips.consumable items\generic\tier1\fishpie.consumable items\generic\tier1\mashedpotato.consumable items\generic\tier1\meatpie.consumable items\generic\tier1\potatogrids.consumable items\generic\tier2\beakseedbread.consumable items\generic\tier2\beakseedjam.consumable items\generic\tier2\beakseedtart.consumable items\generic\tier2\carrotsoup.consumable items\generic\tier2\coffeecake.consumable items\generic\tier2\cornpeckers.consumable items\generic\tier2\feathercrownjam.consumable items\generic\tier2\featherfood.consumable items\generic\tier2\flatwhite.consumable items\generic\tier2\mocha.consumable items\generic\tier2\mushroombread.consumable items\generic\tier2\mushroomquiche.consumable items\generic\tier2\mushroomrice.consumable items\generic\tier2\omelette.consumable items\generic\tier2\pasty.consumable items\generic\tier2\roastdinner.consumable items\generic\tier2\stickyribs.consumable items\generic\tier2\tomatosoup.consumable items\generic\tier3\apegrapes.consumable items\generic\tier3\apexfritter.consumable items\generic\tier3\bananacon.consumable items\generic\tier3\bananacreamdonut.consumable items\generic\tier3\bananacreampie.consumable items\generic\tier3\bananaicecream.consumable items\generic\tier3\batteredbanana.consumable items\generic\tier3\campfirebanana.consumable items\generic\tier3\choconut.consumable items\generic\tier3\coconuticecream.consumable items\generic\tier3\coconutrice.consumable items\generic\tier3\desertsalsa.consumable items\generic\tier3\fruitsalad.consumable items\generic\tier3\grapejuice.consumable items\generic\tier3\luckydip.consumable items\generic\tier3\sweetpunch.consumable items\generic\tier3\tropicalpunch.consumable items\generic\tier4\cyanider.consumable items\generic\tier4\oceanrisotto.consumable items\generic\tier4\oceansalsa.consumable items\generic\tier4\oceansurprise.consumable items\generic\tier4\oculemonmeringue.consumable items\generic\tier4\oculemonstew.consumable items\generic\tier4\reefjuice.consumable items\generic\tier4\reefpodsurprise.consumable items\generic\tier4\reefshake.consumable items\generic\tier4\saltsalad.consumable items\generic\tier4\toxicjamdonut.consumable items\generic\tier4\toxicjuice.consumable items\generic\tier4\toxictart.consumable items\generic\tier4\toxictopjam.consumable items\tools\painttool.painttool items\tools\wiretool.wiretool items\tools\miningtools\beamaxe.beamaxe items\tools\miningtools\beamaxe1.beamaxe items\tools\miningtools\beamaxe2.beamaxe items\tools\miningtools\beamaxe3.beamaxe items\tools\miningtools\beamaxe4.beamaxe items\tools\miningtools\beamaxex.beamaxe leveling\levelingmultipliers.functions monsters\boss\bossmonster.lua monsters\boss\penguintank\penguintank.animation monsters\boss\penguinufo\penguinufo.monstertype monsters\boss\penguinufo\skills\ufomovefireattack.lua monsters\boss\penguinufo\skills\ufomovefireattack.monsterskill monsters\boss\penguinufo\skills\ufopulsecannonattack.lua monsters\boss\penguinufo\skills\uforeinforcementsattack.lua [NEW] monsters\boss\penguinufo\skills\ufospawntanksattack.lua [NEW] monsters\boss\penguinufo\skills\ufospawntanksattack.monsterskill monsters\boss\penguinufo\skills\ufoswoopattack.lua monsters\boss\penguinufo\skills\ufoswoopattack.monsterskill monsters\boss\penguinufo\skills\ufoteleportattack.lua npcs\airshipcaptain.npctype npcs\airshipcrew.npctype npcs\airshipquartermaster.npctype npcs\apexslave.npctype npcs\apexslaver.npctype npcs\bandit.npctype npcs\bunkerguard.npctype npcs\bunkerpyro.npctype npcs\castleguard.npctype npcs\castlelord.npctype npcs\castleroyalguard.npctype npcs\chefmerchant.npctype npcs\clanleader.npctype npcs\colourfulvillager.npctype npcs\cultist.npctype npcs\default.npctype npcs\doctormerchant.npctype npcs\eyeguard.npctype npcs\follower.npctype npcs\friendlyguard.npctype npcs\friendlypirateguard.npctype npcs\guard.npctype npcs\hellguard.npctype npcs\hellprisoner.npctype npcs\knight.npctype npcs\labguard.npctype npcs\labscientist.npctype npcs\main.lua npcs\merchant.npctype npcs\nakedvillager.npctype npcs\prisonberserker.npctype npcs\prisonbruiser.npctype npcs\prisongunman.npctype npcs\pyramidguard.npctype npcs\scifiguard.npctype npcs\servant.npctype npcs\shroomguard.npctype npcs\shroommerchant.npctype npcs\stimmerchant.npctype npcs\templeguard.npctype npcs\tombzombie.npctype npcs\toolmerchant.npctype npcs\towerascendant.npctype npcs\villageguard.npctype npcs\villageguardcaptain.npctype npcs\villager.npctype npcs\wildhunter.npctype npcs\wildhunterveteran.npctype npcs\mission\miner.npctype npcs\mission\mutantminer.npctype npcs\mission\survivor.npctype npcs\mission\wildling.npctype npcs\outpost\outpostapexmechanic.npctype npcs\outpost\outpostapexrefugee.npctype npcs\outpost\outpostapexscientist.npctype npcs\outpost\outpostavianexplorer.npctype npcs\outpost\outpostavianmercenary.npctype npcs\outpost\outpostavianrefugee.npctype npcs\outpost\outpostbountyhunter.npctype npcs\outpost\outpostcivilian.npctype npcs\outpost\outpostfloranfan.npctype npcs\outpost\outpostfloranhunter.npctype npcs\outpost\outpostfloranscholar.npctype npcs\outpost\outpostglitchmechanic.npctype npcs\outpost\outpostglitchmercenary.npctype npcs\outpost\outpostglitchsilenttype.npctype npcs\outpost\outposthumanexcon.npctype npcs\outpost\outposthumanscientist.npctype npcs\outpost\outposthumansurvivor.npctype npcs\outpost\outposthylotlperformer.npctype npcs\outpost\outposthylotlwarrior.npctype npcs\outpost\outpostpenguinpromoter.npctype npcs\outpost\outpostundersideman.npctype objects\crafting\alloyfurnace\alloyfurnace.object objects\crafting\stonefurnace\stonefurnace.object [NEW] objects\minibiome\ocean\oshroom1\oshroom1.object [NEW] objects\minibiome\ocean\oshroom1\oshroom1.png [NEW] objects\minibiome\ocean\oshroom1\oshroom1lit.png [NEW] objects\minibiome\ocean\oshroom2\oshroom2.object [NEW] objects\minibiome\ocean\oshroom2\oshroom2.png [NEW] objects\minibiome\ocean\oshroom2\oshroom2lit.png [NEW] objects\minibiome\ocean\oshroom3\oshroom3.object [NEW] objects\minibiome\ocean\oshroom3\oshroom3.png [NEW] objects\minibiome\ocean\oshroom3\oshroom3lit.png [NEW] objects\minibiome\ocean\oshroom4\oshroom4.object [NEW] objects\minibiome\ocean\oshroom4\oshroom4.png [NEW] objects\minibiome\ocean\oshroom4\oshroom4lit.png [NEW] objects\minibiome\ocean\oshroom5\oshroom5.object [NEW] objects\minibiome\ocean\oshroom5\oshroom5.png [NEW] objects\minibiome\ocean\oshroom5\oshroom5lit.png [NEW] objects\mission\brokentank\brokentank.frames [NEW] objects\mission\brokentank\brokentank.object [NEW] objects\mission\brokentank\brokentank.png [NEW] objects\mission\brokentank\brokentankicon.png [NEW] objects\mission\penguinposter1\penguinposter1.frames [NEW] objects\mission\penguinposter1\penguinposter1.object [NEW] objects\mission\penguinposter1\penguinposter1.png [NEW] objects\mission\penguinposter1\penguinposter1icon.png [NEW] objects\mission\tanktrap\tanktrap.frames [NEW] objects\mission\tanktrap\tanktrap.object [NEW] objects\mission\tanktrap\tanktrap.png [NEW] objects\mission\tanktrap\tanktrapicon.png objects\ship\avianteleporter\avianteleporter.object objects\ship\floranteleporter\floranteleporter.object objects\ship\glitchteleporter\glitchteleporter.object objects\ship\humanteleporter\humanteleporter.object objects\ship\hylotlteleporter\hylotlteleporter.object objects\ship\novakidteleporter\novakidteleporter.object objects\ship\teleporter\teleporter.object [NEW] parallax\oceanfloor1\base\1.png [NEW] parallax\oceanfloor2\base\1.png [NEW] parallax\oceanfloor3\base\1.png [NEW] parallax\oceanfloor4\base\1.png [NEW] parallax\oceanfloor5\base\1.png [NEW] parallax\oceanfloor6\base\1.png [NEW] parallax\oceanfloor7\base\1.png [NEW] parallax\oceanfloor8\base\1.png [NEW] parallax\oceanfloor9\base\1.png [NEW] parallax\oceanfloorback\base\1.png [NEW] parallax\oceanfloorbelow1\base\1.png [NEW] parallax\oceanfloorbelow2\base\1.png [NEW] parallax\oceanfloorbelow3\base\1.png [NEW] plants\bushes\groundocean\seabush\cone.bush [NEW] plants\bushes\groundocean\seabush\coral.bush [NEW] plants\bushes\groundocean\seabush\oshroom.bush [NEW] plants\bushes\groundocean\seabush\seagrass.bush [NEW] plants\bushes\groundocean\seabush\seaweed.bush [NEW] plants\trees\seatrees\foliage\kelpy\basefoliage1.png [NEW] plants\trees\seatrees\foliage\kelpy\basefoliage2.png [NEW] plants\trees\seatrees\foliage\kelpy\basefoliage3.png [NEW] plants\trees\seatrees\foliage\kelpy\basefoliage4.png [NEW] plants\trees\seatrees\foliage\kelpy\crownfoliage1.png [NEW] plants\trees\seatrees\foliage\kelpy\crownfoliage2.png [NEW] plants\trees\seatrees\foliage\kelpy\crownfoliage3.png [NEW] plants\trees\seatrees\foliage\kelpy\crownfoliage4.png [NEW] plants\trees\seatrees\foliage\kelpy\foliage1.png [NEW] plants\trees\seatrees\foliage\kelpy\foliage2.png [NEW] plants\trees\seatrees\foliage\kelpy\foliage3.png [NEW] plants\trees\seatrees\foliage\kelpy\foliage4.png [NEW] plants\trees\seatrees\foliage\kelpy\kelpy.modularfoliage [NEW] plants\trees\seatrees\foliage\kelpy\saplingicon.png [NEW] plants\trees\seatrees\stem\kelp\branch1.png [NEW] plants\trees\seatrees\stem\kelp\kelp.modularstem [NEW] plants\trees\seatrees\stem\kelp\saplingicon.png [NEW] plants\trees\seatrees\stem\seaweed\seaweed.modularstem player\stat_primary.animation quests\ftlrepairmain.questtemplate quests\fuel.questtemplate quests\items\hoe.questtemplate quests\missions\floranmission.questtemplate quests\outpost\outpost0.questtemplate quests\outpost\outpost1.questtemplate quests\outpost\outpost2.questtemplate quests\outpost\outpost3.questtemplate quests\outpost\outpostmission1.questtemplate quests\outpost\outpostskin.questtemplate quests\outpost\endgame\avianrefugeee1.questtemplate quests\outpost\endgame\avianrefugeee2.questtemplate quests\outpost\endgame\humanscientiste1.questtemplate quests\outpost\endgame\hylotlperformere1.questtemplate quests\outpost\endgame\hylotlperformere2part1.questtemplate quests\outpost\endgame\hylotlperformere2part2.questtemplate quests\outpost\endgame\hylotlwarriore1.questtemplate quests\outpost\endgame\hylotlwarriore2.questtemplate quests\outpost\endgame\penguinpromotere1.questtemplate quests\outpost\phase1optional\bountyhunter1.questtemplate quests\outpost\phase1optional\floranfan1.questtemplate quests\outpost\phase1optional\hylotlperformer1.questtemplate quests\outpost\phase1optional\radardish1.questtemplate quests\outpost\phase1optional\underside1.questtemplate quests\outpost\phase2optional\apexmechanic2.questtemplate quests\outpost\phase2optional\avianrefugee2part1.questtemplate quests\outpost\phase2optional\avianrefugee2part2.questtemplate quests\outpost\phase2optional\bountyhunter2.questtemplate quests\outpost\phase2optional\floranscholar2.questtemplate quests\outpost\phase2optional\glitchsilenttype2.questtemplate quests\outpost\phase2optional\humanexcon2.questtemplate quests\outpost\phase2optional\humansurvivor2.questtemplate quests\outpost\phase3optional\avianexplorer3.questtemplate quests\outpost\phase3optional\bountyhunter3.questtemplate quests\outpost\phase3optional\glitchsilenttype3.questtemplate quests\outpost\phase3optional\hylotlperformer3.questtemplate quests\outpost\phase4optional\apexrefugee4.questtemplate quests\outpost\phase4optional\avianexplorer4.questtemplate quests\outpost\phase4optional\avianmercenary4.questtemplate quests\outpost\phase4optional\bountyhunter4.questtemplate quests\outpost\phase4optional\floranhunter4.questtemplate quests\outpost\phase4optional\humanexcon4.questtemplate quests\outpost\shipupgrade\license1.questtemplate quests\outpost\shipupgrade\license2.questtemplate quests\outpost\shipupgrade\license3.questtemplate quests\outpost\shipupgrade\license4.questtemplate quests\outpost\shipupgrade\license5.questtemplate quests\tutorial\novakidtutorial.questtemplate quests\tutorial\tutorial1.questtemplate quests\tutorial\tutorial2.questtemplate quests\tutorial\tutorial3.questtemplate quests\tutorial\tutorial4.questtemplate quests\tutorial\tutorial5.questtemplate quests\tutorial\tutorial6.questtemplate quests\tutorial\tutorial7.questtemplate quests\tutorial\tutorial8.questtemplate recipes\kitchen\tier2\coffeecake.recipe recipes\kitchen\tier2\flatwhite.recipe recipes\kitchen\tier2\mocha.recipe recipes\kitchen\tier3\apegrapes.recipe recipes\kitchen\tier3\apexfritter.recipe recipes\kitchen\tier3\bananacon.recipe recipes\kitchen\tier3\bananacreamdonut.recipe recipes\kitchen\tier3\bananacreampie.recipe recipes\kitchen\tier3\bananaicecream.recipe recipes\kitchen\tier3\batteredbanana.recipe recipes\kitchen\tier3\campfirebanana.recipe recipes\kitchen\tier3\fruitsalad.recipe recipes\kitchen\tier3\grapejuice.recipe recipes\kitchen\tier3\luckydip.recipe recipes\kitchen\tier3\sweetpunch.recipe recipes\kitchen\tier3\tropicalpunch.recipe recipes\kitchen\tier4\oceansalsa.recipe recipes\kitchen\tier4\toxicjamdonut.recipe recipes\kitchen\tier4\toxicjuice.recipe recipes\kitchen\tier4\toxictart.recipe recipes\kitchen\tier4\toxictopjam.recipe [NEW] sfx\interface\energy_full1.wav [NEW] sfx\interface\energy_full2.wav [NEW] sfx\interface\energy_full3.wav [NEW] sfx\interface\energy_out5.wav [NEW] sfx\interface\energy_out6.wav [NEW] sfx\interface\energy_out7.wav [NEW] sfx\interface\energy_out8.wav [NEW] sfx\interface\energy_out9.wav stats\player_primary.lua stats\effects\maxenergyboost\maxenergyboost10.statuseffect stats\effects\maxenergyboost\maxenergyboost100.statuseffect [NEW] stats\effects\maxenergyboost\maxenergyboost120.statuseffect [NEW] stats\effects\maxenergyboost\maxenergyboost130.statuseffect [NEW] stats\effects\maxenergyboost\maxenergyboost170.statuseffect stats\effects\maxenergyboost\maxenergyboost20.statuseffect stats\effects\maxenergyboost\maxenergyboost30.statuseffect stats\effects\maxenergyboost\maxenergyboost40.statuseffect stats\effects\maxenergyboost\maxenergyboost50.statuseffect stats\effects\maxenergyboost\maxenergyboost60.statuseffect stats\effects\maxenergyboost\maxenergyboost80.statuseffect tiles\materials\sandstone01.material treasure\missions\miningtreasure1.treasurepools DIFFS ----- dungeon_worlds.config 37a38,48 > }, > > "penguinmission1" : { > "primaryDungeon" : "penguinmission1", > "threatLevel" : 0, > "gravity" : 80, > "worldSize" : [2000, 2000], > "dungeonBaseHeight" : 1000, > "ambientLightLevel" : [32, 32, 32], > "biome" : "arctic", > "musicTrack" : "/music/arctic-battle2.ogg" player.config 344,345c344 < "hitInvulnerabilityFlash" : 0.1, < "energyRegenDelay" : 3 --- > "hitInvulnerabilityFlash" : 0.1 398c397,400 < "baseValue" : 0.2 --- > "baseValue" : 0.25 > }, > "energyRegenBlockDischarge" : { > "baseValue" : -1.0 418c420 < "defaultPercentage" : 100 --- > "initialPercentage" : 1.0 423c425 < "defaultPercentage" : 100 --- > "initialPercentage" : 1.0 427c429,434 < "defaultPercentage" : 100 --- > "initialPercentage" : 1.0 > }, > "energyRegenBlock" : { > "maxValue" : 3.0, > "deltaStat" : "energyRegenBlockDischarge", > "initialPercentage" : 0.0 431c438 < "defaultPercentage" : 100 --- > "initialPercentage" : 1.0 unique_worlds.config 278a279,384 > }, > > "penguinmission1" : { > "type" : "FloatingDungeon", > "dungeonWorld" : "penguinmission1", > "seed" : 1234, > > "skyParameters" : { > "dayLength" : 10000, > "surfaceLevel" : 1000, > "spaceLevel" : 3000, > "seed" : -5288806180628666923, > > "skyType" : "atmospheric", > "skyColoring" : { > "mainColor" : [200, 200, 255], > > "morningColors" : [[200, 200, 255], [200, 200, 255]], > "dayColors" : [[200, 200, 255], [200, 200, 255]], > "eveningColors" : [[200, 200, 255], [200, 200, 255]], > "nightColors" : [[200, 200, 255], [200, 200, 255]], > > "morningLightColor" : [200, 200, 200], > "dayLightColor" : [200, 200, 200], > "eveningLightColor" : [200, 200, 200], > "nightLightColor" : [200, 200, 200] > }, > > "satellites" : [ { > "pos" : [ 0.310561, 0.21497 ], > "drawables" : [ { > "scale" : [ 0.055, 0.055 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/terrestrial/biomes/desert/maskie3.png?hueshift=-45" > }, { > "scale" : [ 0.055, 0.055 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/terrestrial/biomes/desert/maskie3.png?hueshift=-45?addmask=/celestial/system/terrestrial/dynamics/2.png" > }, { > "scale" : [ 0.055, 0.055 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/terrestrial/biomes/desert/maskie2.png?hueshift=-45?addmask=/celestial/system/terrestrial/dynamics/20.png" > }, { > "scale" : [ 0.055, 0.055 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/terrestrial/biomes/desert/maskie1.png?hueshift=-45?addmask=/celestial/system/terrestrial/dynamics/5.png" > }, { > "scale" : [ 0.055, 0.055 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/terrestrial/shadows/9.png" > } ] > } ], > "planet" : { > "pos" : [ 0.00538729, 0.46961 ], > "drawables" : [ { > "scale" : [ 0.15, 0.15 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/gas_giant/gas_giant_base.png" > }, { > "scale" : [ 0.15, 0.15 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/gas_giant/gas_giant_clouds.png?addmask=/celestial/system/gas_giant/gas_giant_dynamics/17.png+/celestial/system/gas_giant/gas_giant_dynamics/29.png" > }, { > "scale" : [ 0.15, 0.15 ], > "mirrored" : false, > "rotation" : 0, > "flipHorizontal" : false, > "centered" : true, > "image" : "/celestial/system/gas_giant/shadows/9.png" > } ] > }, > "horizonImages" : [ { > "right" : "/celestial/system/terrestrial/horizon/liquids/water_r.png", > "left" : "/celestial/system/terrestrial/horizon/liquids/water_l.png" > }, { > "right" : "/celestial/system/terrestrial/horizon/textures/forest_r.png?hueshift=-30?addmask=/celestial/system/terrestrial/horizon/masks/32_r.png;0;0", > "left" : "/celestial/system/terrestrial/horizon/textures/forest_l.png?hueshift=-30?addmask=/celestial/system/terrestrial/horizon/masks/32_l.png;0;0" > }, { > "right" : "/celestial/system/terrestrial/horizon/atmosphere/atmosphere_r.png", > "left" : "/celestial/system/terrestrial/horizon/atmosphere/atmosphere_l.png" > }, { > "right" : "/celestial/system/terrestrial/horizon/shadow/shadow_r.png", > "left" : "/celestial/system/terrestrial/horizon/shadow/shadow_l.png" > } ] > } biomes\surface\oceanfloor\oceanfloor.biome 45a46,119 > "priority" : 2.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:denseMedium", > > "type" : "bush", > "bushes" : [ > { > "name" : "cone", > "baseHueShiftMax" : 180, > "modHueShiftMax" : 180 > } > ] > }, > { > "mode" : "floor", > "priority" : 2.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:denseMedium", > > "type" : "bush", > "bushes" : [ > { > "name" : "coral", > "baseHueShiftMax" : 180, > "modHueShiftMax" : 180 > } > ] > }, > { > "mode" : "floor", > "priority" : 2.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:denseMedium", > > "type" : "bush", > "bushes" : [ > { > "name" : "seagrass", > "baseHueShiftMax" : 180, > "modHueShiftMax" : 180 > } > ] > }, > { > "mode" : "floor", > "priority" : 2.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:denseMedium", > > "type" : "bush", > "bushes" : [ > { > "name" : "seaweed", > "baseHueShiftMax" : 180, > "modHueShiftMax" : 180 > } > ] > }, > { > "mode" : "floor", > "priority" : 1.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:scatteredLarge", > > "type" : "object", > "objectSets" : [ > { > "pool" : [ [0.20, "oshroom1" ], [0.20, "oshroom2" ], [0.20, "oshroom3" ], [0.20, "oshroom4" ], [0.20, "oshroom5" ]], > "parameters" : { "startingStage" : 2 } > } > ] > }, > { > "mode" : "floor", 51a126,137 > }, > { > "mode" : "floor", > "priority" : 2.0, > "variants" : 1, > "distribution" : "/biomes/distributions.config:scatteredSmall", > > "type" : "tree", > "treeFoliageHueShiftMax" : 180, > "treeStemHueShiftMax" : 15, > "treeStemList" : [ "kelp" ], > "treeFoliageList" : [ "kelpy" ] biomes\surface\oceanfloor\oceanfloor.parallax 5c5 < "moon1" : { --- > "oceanfloor1" : { 10c10 < "moon2" : { --- > "oceanfloor2" : { 15c15 < "moon3" : { --- > "oceanfloor3" : { 20c20 < "moon4" : { --- > "oceanfloor4" : { 25c25 < "moon5" : { --- > "oceanfloor5" : { 30c30 < "moon6" : { --- > "oceanfloor6" : { 35c35 < "moon7" : { --- > "oceanfloor7" : { 40c40 < "moon8" : { --- > "oceanfloor8" : { 45c45 < "moon9" : { --- > "oceanfloor9" : { 50c50 < "moonbelow1" : { --- > "oceanfloorbelow1" : { 55c55 < "moonbelow2" : { --- > "oceanfloorbelow2" : { 60c60 < "moonbelow3" : { --- > "oceanfloorbelow3" : { 85c85 < "kind" : "moonbelow1", --- > "kind" : "oceanfloorbelow1", 94c94 < "kind" : "moonbelow2", --- > "kind" : "oceanfloorbelow2", 103c103 < "kind" : "moonbelow3", --- > "kind" : "oceanfloorbelow3", 112c112 < "kind" : "moonbelow3", --- > "kind" : "oceanfloorbelow3", 121c121 < "kind" : "moon1", --- > "kind" : "oceanfloor1", 130c130 < "kind" : "moon1", --- > "kind" : "oceanfloor1", 139c139 < "kind" : "moon2", --- > "kind" : "oceanfloor2", 148c148 < "kind" : "moon3", --- > "kind" : "oceanfloor3", 157c157 < "kind" : "moon4", --- > "kind" : "oceanfloor4", 166c166 < "kind" : "moon5", --- > "kind" : "oceanfloor5", 175c175 < "kind" : "moon6", --- > "kind" : "oceanfloor6", 184c184 < "kind" : "moon7", --- > "kind" : "oceanfloor7", 193c193 < "kind" : "moon8", --- > "kind" : "oceanfloor8", 202c202 < "kind" : "moon9", --- > "kind" : "oceanfloor9", codex\codex.config 10c10 < "novakid" : [ "controls" ], --- > "novakid" : [ "controls", "novakidprologue", "novakidorigins", "survivalguide" ], codex\documents\controls.codex 6,8c6,12 < "As you navigate the galaxy in your quest for self-discovery, it's important to know how to control yourself, and the things around you. As such, we have prepared a quick reference guide that may help you on your way.", < "Core controls < These will allow you to hop, skip, jump and destroy your way to enlightenment.", --- > "^orange;Movement - WASD^white; > Jump - ^green;[Space]^white; > Interact - ^green;[E]/[Middle]^white; mouse click > Select objects in the foreground - ^green;[Left]^white; mouse click > Select objects in the background - ^green;[Right]^white; mouse click > Attack (with weapon equipped) - ^green;[Left]/[Right]^white; mouse click > Select a single block - ^green;[Shift]^white;", 10,34c14,21 < "Movement - WASD < Jump - Space < Interact - E/Middle mouse button < Select objects in the foreground - Left mouse button < Select objects in the background - Right mouse button < Attack (with weapon equipped) - Left/Right mouse buttons < Select a single block - Shift (hold)", < "Hotkeys < Everybody likes shortcuts, and we're sure you're no exception. Here, you can learn how to quickly access a number of liberating features.", < < "Crafting Menu - C < Quest Journal - J < Codex - L < Investigation Cursor - N < Hide HUD - F1 < Options/Quit - Escape", < "Throw Item - Q < Toggle Held Items - X < Swap L/R Items - Z < Hold Hotbar Item - 0-9 or Mousewheel + Shift for Right Hand < Quick Move Item - Shift+Click < Split Item Stack - Right Click", < "Now you should be ready to take on all the challenges the universe has to offer. Need wood to build a house? Knock down a tree! Looking to discover more about the local flora and fauna? Check out the codex! Faced down by an angry Floran with murder in mind? Run, jump and leap away to safety! < < There's a whole world out there to explore. Do try not to die TOO often." ] --- > "^orange;Hotkeys^white; > Crafting Menu - ^green;[C]^white; > Quest Journal - ^green;[J]^white; > Codex - ^green;[L]^white; > Investigation Cursor - ^green;[N]^white; > Hide HUD - ^green;[F1]^white; > Options/Quit - ^green;[Esc]^white; > ^orange;Continued on next page...^white;", 35a23,29 > "^orange;Hotkeys Continued:^white; > Throw Item - ^green;[Q]^white; > Toggle Held Items - ^green;[X]^white; > Swap L/R Items - ^green;[Z]^white; > Hold Hotbar Item - ^green;[0-9]^white; or ^green;[Mousewheel + Shift]^white; > Quick Move Item - ^green;[Shift + Click]^white; > Split Item Stack - ^green;[Right]^white; mouse click" 36a31 > ] dungeons\missions\penguinmissions\penguinmission1.dungeon 619,621c619,621 < "value" : [85, 217, 129, 255], < "comment" : "foreground plantmatter", < "brush" : [ [ "clear" ], [ "back", "plantmatter" ], [ "front", "plantmatter" ] ] --- > "value" : [220, 255, 166, 255], > "comment" : "invisible", > "brush" : [ [ "clear" ], [ "front", "invisible" ] ] 658,660c658,660 < "value" : [83, 65, 166, 255], < "comment" : "background rockbrick", < "brush" : [ [ "clear" ], [ "back", "rockbrick" ] ] --- > "value" : [53, 40, 96, 255], > "comment" : "background mud", > "brush" : [ [ "clear" ], [ "back", "mud" ] ] 665,667c665,666 < "comment" : "background rockbrick overwritable", < "rules" : [ [ "allowOverdrawing" ] ], < "brush" : [ [ "clear" ], [ "back", "rockbrick" ] ] --- > "comment" : "foreground mud", > "brush" : [ [ "clear" ], [ "back", "mud" ], [ "front", "mud" ] ] 671,673c670,673 < "value" : [109, 85, 217, 255], < "comment" : "foreground rockbrick", < "brush" : [ [ "clear" ], [ "back", "rockbrick" ], [ "front", "rockbrick" ] ] --- > "value" : [166, 89, 65, 255], > "comment" : "background heavypipe", > "rules" : [ [ "allowOverdrawing" ] ], > "brush" : [ [ "clear" ], [ "back", "heavypipe" ] ] 675c675 < --- > 677,680c677,679 < "value" : [96, 75, 191, 255], < "comment" : "foreground rockbrick overwritable", < "rules" : [ [ "allowOverdrawing" ] ], < "brush" : [ [ "clear" ], [ "back", "rockbrick" ], [ "front", "rockbrick" ] ] --- > "value" : [217, 115, 85, 255], > "comment" : "foreground heavypipe", > "brush" : [ [ "clear" ], [ "back", "heavypipe" ], [ "front", "heavypipe" ] ] 684,686c683,685 < "value" : [166, 65, 157, 255], < "comment" : "background vine", < "brush" : [ [ "clear" ], [ "back", "vine" ] ] --- > "value" : [116, 142, 155, 255], > "comment" : "background ice", > "brush" : [ [ "clear" ], [ "back", "ice" ] ] 690,692c689,691 < "value" : [217, 85, 206, 255], < "comment" : "foreground vine", < "brush" : [ [ "clear" ], [ "back", "vine" ], [ "front", "vine" ] ] --- > "value" : [147, 183, 202, 255], > "comment" : "foreground ice", > "brush" : [ [ "clear" ], [ "back", "ice" ], [ "front", "ice" ] ] 697,698c696,697 < "comment" : "background bonematerial", < "brush" : [ [ "clear" ], [ "back", "bonematerial" ] ] --- > "comment" : "background junktech", > "brush" : [ [ "clear" ], [ "back", "junktech" ] ] 703,704c702,703 < "comment" : "foreground bonematerial", < "brush" : [ [ "clear" ], [ "front", "bonematerial" ] ] --- > "comment" : "foreground junktech", > "brush" : [ [ "clear" ], [ "back", "junktech" ], [ "front", "junktech" ] ] 709,710c708,709 < "comment" : "background dirt", < "brush" : [ [ "clear" ], [ "back", "dirt" ] ] --- > "comment" : "background snow", > "brush" : [ [ "clear" ], [ "back", "snow" ] ] 720,722c719,721 < "value" : [83, 110, 166, 255], < "comment" : "background rock14", < "brush" : [ [ "clear" ], [ "back", "rock14" ] ] --- > "value" : [60, 155, 169, 255], > "comment" : "background ice block", > "brush" : [ [ "clear" ], [ "back", "iceblock" ] ] 726,728c725,727 < "value" : [108, 144, 217, 255], < "comment" : "foreground rock14", < "brush" : [ [ "clear" ], [ "back", "rock14" ], [ "front", "rock14" ] ] --- > "value" : [64, 189, 208, 255], > "comment" : "foreground ice block", > "brush" : [ [ "clear" ], [ "back", "iceblock" ], [ "front", "iceblock" ] ] 733,734c732,733 < "comment" : "background bars", < "brush" : [ [ "clear" ], [ "back", "bars" ] ] --- > "comment" : "background pressurizedgirder", > "brush" : [ [ "clear" ], [ "back", "pressurizedgirder" ] ] 739,740c738,739 < "comment" : "foreground bars", < "brush" : [ [ "clear" ], [ "front", "bars" ] ] --- > "comment" : "foreground pressurizedgirder", > "brush" : [ [ "clear" ], [ "back", "pressurizedgirder" ], [ "front", "pressurizedgirder" ] ] 744,746c743,745 < "value" : [83, 166, 147, 255], < "comment" : "background castlewalls1", < "brush" : [ [ "clear" ], [ "back", "castlewalls1" ] ] --- > "value" : [113, 125, 122, 255], > "comment" : "background plate", > "brush" : [ [ "clear" ], [ "back", "plate" ] ] 750,752c749,751 < "value" : [108, 217, 191, 255], < "comment" : "foreground castlewalls1", < "brush" : [ [ "clear" ], [ "back", "castlewalls1" ], [ "front", "castlewalls1" ] ] --- > "value" : [148, 163, 159, 255], > "comment" : "foreground plate", > "brush" : [ [ "clear" ], [ "back", "plate" ], [ "front", "plate" ] ] 775,776c774,775 < "comment" : "ruins stairs/platform", < "brush" : [ [ "clear" ], [ "front", "ruinsplatform" ] ] --- > "comment" : "wreck stairs/platform", > "brush" : [ [ "clear" ], [ "front", "wreckplatform" ] ] 787,788c786,787 < "comment" : "floranarmchair facing left", < "brush" : [ [ "clear" ], [ "object", "floranarmchair", { "direction" : "left" } ] ] --- > "comment" : "ironbeacon right", > "brush" : [ [ "clear" ], [ "object", "ironbeacon", { "direction" : "right" } ] ] 792,794c791,793 < "value" : [191, 29, 29, 255], < "comment" : "floranarmchair facing right", < "brush" : [ [ "clear" ], [ "object", "floranarmchair", { "direction" : "right" } ] ] --- > "value" : [217, 55, 55, 255], > "comment" : "ironbeacon left", > "brush" : [ [ "clear" ], [ "object", "ironbeacon", { "direction" : "left" } ] ] 1704,1705c1703,1704 < "comment" : "plantbiolight", < "brush" : [ [ "clear" ], [ "object", "plantbiolight" ] ] --- > "comment" : "outpostlight", > "brush" : [ [ "clear" ], [ "object", "outpostlight" ] ] 1806,1807c1805,1806 < "comment" : "plantdoor1", < "brush" : [ [ "clear" ], [ "object", "plantdoor1" ] ] --- > "comment" : "wreckdoor", > "brush" : [ [ "clear" ], [ "object", "wreckdoor" ] ] 1811,1813c1810,1812 < "value" : [11, 148, 217, 255], < "comment" : "plantdoor2", < "brush" : [ [ "clear" ], [ "object", "plantdoor2" ] ] --- > "value" : [21, 200, 255, 255], > "comment" : "icedoor", > "brush" : [ [ "clear" ], [ "object", "icedoor" ] ] 1818,1819c1817,1818 < "comment" : "plantdrysapdispenser", < "brush" : [ [ "clear" ], [ "object", "plantdrysapdispenser" ] ] --- > "comment" : "landmine", > "brush" : [ [ "clear" ], [ "object", "landmine" ] ] 2099,2100c2098,2099 < "comment" : "bonespike", < "brush" : [ [ "clear" ], [ "object", "bonespike" ] ] --- > "comment" : "prisonbarrelfire", > "brush" : [ [ "clear" ], [ "object", "prisonbarrelfire" ] ] 2189,2190c2188,2189 < "comment" : "medievalswitchlever facing left", < "brush" : [ [ "clear" ], [ "object", "medievalswitchlever", { "direction" : "left" } ] ] --- > "comment" : "ironswitch facing left", > "brush" : [ [ "clear" ], [ "object", "ironswitch", { "direction" : "left" } ] ] 2212,2223d2210 < "value" : [35, 166, 8, 255], < "comment" : "tent2 facing left", < "brush" : [ [ "clear" ], [ "object", "tent2", { "direction" : "left" } ] ] < }, < < { < "value" : [29, 140, 7, 255], < "comment" : "tent2 facing right", < "brush" : [ [ "clear" ], [ "object", "tent2", { "direction" : "right" } ] ] < }, < < { 2225,2226c2212,2213 < "comment" : "nowayout", < "brush" : [ [ "clear" ], [ "object", "nowayout" ] ] --- > "comment" : "barbedwire", > "brush" : [ [ "clear" ], [ "object", "barbedwire" ] ] 2230,2232c2217,2219 < "value" : [87, 8, 166, 255], < "comment" : "thewayisblocked", < "brush" : [ [ "clear" ], [ "object", "thewayisblocked" ] ] --- > "value" : [207, 98, 40, 255], > "comment" : "tanktrap facing left", > "brush" : [ [ "clear" ], [ "object", "tanktrap", { "direction" : "left" } ] ] 2236,2238c2223,2225 < "value" : [113, 8, 166, 255], < "comment" : "turnback", < "brush" : [ [ "clear" ], [ "object", "turnback" ] ] --- > "value" : [240, 135, 15, 255], > "comment" : "tanktrap facing right", > "brush" : [ [ "clear" ], [ "object", "tanktrap", { "direction" : "right" } ] ] 2242,2244c2229,2231 < "value" : [8, 166, 8, 255], < "comment" : "trapchest facing left", < "brush" : [ [ "clear" ], [ "object", "trapchest", { "direction" : "left" } ] ] --- > "value" : [240, 96, 100, 255], > "comment" : "brokentank facing left", > "brush" : [ [ "clear" ], [ "object", "brokentank" ] ] 2527,2528c2514,2515 < "value" : [175, 0, 175, 255], < "comment" : "aggressive hunter's quadruped npc", --- > "value" : [225, 75, 0, 255], > "comment" : "penguintrooper npc", 2532,2537c2519 < "typeName" : "largequadruped", < "seed" : "stable", < "parameters" : { < "damageTeam" : 2, < "aggressive" : true < } --- > "typeName" : "penguintrooper" 2543,2544c2525,2526 < "value" : [200, 0, 200, 255], < "comment" : "floran wild hunter npc", --- > "value" : [200, 65, 0, 255], > "comment" : "penguinTank npc", 2547,2549c2529,2530 < "kind" : "npc", < "species" : "floran", < "typeName" : "wildhunter" --- > "kind" : "monster", > "typeName" : "penguinTank" 2555,2556c2536,2537 < "value" : [225, 0, 225, 255], < "comment" : "floran wild hunter veteran npc", --- > "value" : [200, 55, 15, 255], > "comment" : "penguinUfo npc", 2559,2561c2540,2541 < "kind" : "npc", < "species" : "floran", < "typeName" : "wildhunterveteran" --- > "kind" : "monster", > "typeName" : "penguinUfo" interface\cockpit\cockpit.config 103,108c103,105 < "planetNameDrawPosition" : [204, 136], < "planetNameFontSize" : 8, < < "satelliteNameDrawPosition" : [204, 120], < "satelliteNameFormat" : "-", < "satelliteNameColor" : [140, 164, 228], --- > "satelliteNameDrawPosition" : [210, 136], > "satelliteNameColor" : [240, 240, 240], > "satelliteNameEmptyText" : "(no planet selected)", 113,192d109 < "worldBiomeText" : { < "label" : { < "pos" : [204, 104], < "text" : "Biome:", < "size" : 8, < "color" : [140, 164, 228] < }, < "value" : { < "pos" : [260, 104], < "text" : "", < "size" : 8 < } < }, < < "worldSubBiomeText" : { < "label" : { < "pos" : [204, 94], < "text" : "Sub-Biome:", < "size" : 8, < "color" : [140, 164, 228] < }, < "value" : { < "pos" : [260, 94], < "text" : "", < "size" : 8 < } < }, < < "worldBiomeToColor" : { < "arctic" : [ 112, 213, 255], < < "scorched" : [ 231, 204, 56], < "aridbones" : [ 231, 204, 56], < "shrubby" : [ 231, 204, 56], < < "asteroidfield" : [ 148, 148, 148 ], < "barren" : [ 99, 77, 71 ], < < "desert" : [ 239, 208, 36 ], < "bones" : [ 239, 208, 36 ], < "colourful" : [ 239, 208, 36 ], < "oasis" : [ 239, 208, 36 ], < "sandstone" : [ 239, 208, 36 ], < "tar" : [ 239, 208, 36 ], < < "forest" : [ 35, 124, 11 ], < "charred" : [ 35, 124, 11 ], < "eyepatch" : [ 35, 124, 11 ], < "flowers" : [ 35, 124, 11 ], < "mushroompatch" : [ 35, 124, 11 ], < "rocky" : [ 35, 124, 11 ], < < "garden" : [ 44, 200, 3 ], < < "jungle" : [ 82, 231, 43 ], < "flesh" : [ 82, 231, 43 ], < "giantflowers" : [ 82, 231, 43 ], < "toxic" : [ 82, 231, 43 ], < "alien" : [ 192, 140, 228 ], < < "magma" : [ 217, 0, 0 ], < "crystalline" : [ 217, 0, 0 ], < "rust" : [ 217, 0, 0 ], < < "moon" : [ 111, 111, 111 ], < "ocean" : [ 31, 77, 255 ], < < "savannah" : [ 126, 179, 0 ], < < "snow" : [ 215, 250, 255 ], < "geometric" : [ 215, 250, 255 ], < "ice" : [ 215, 250, 255 ], < "orb" : [ 215, 250, 255 ], < "spring" : [ 215, 250, 255 ], < < "tentacles" : [ 192, 140, 228 ], < "tundra" : [ 62, 171, 255 ], < "volcanic" : [ 255, 32, 32 ] < }, < 195c112 < "pos" : [330, 136], --- > "pos" : [208, 120], 201,202c118,119 < "pos" : [366, 136], < "text" : "Lvl. ", --- > "pos" : [212, 111], > "text" : "", 220c137,177 < "sizeText" : { --- > "threatLevelToText" : [ > "Harmless", > "Mostly Harmless", > "Moderate", > "Risky", > "Dangerous", > "Extreme", > "Insane", > "Incalculable", > "Inconceivable", > "Unreal" > ], > > "planetTypeLabel" : { > "pos" : [208, 98], > "text" : "Surface Analysis:", > "size" : 8, > "color" : [140, 164, 228] > }, > > "planetTypeToDescription" : { > "garden" : "^green;Garden^white; -todo-", > "forest" : "Forest -todo-", > "desert" : "Desert -todo-", > "snow" : "Snow -todo-", > "savannah" : "Savannah -todo-", > "ocean" : "Ocean -todo-", > "toxic" : "Toxic -todo-", > "jungle" : "Jungle -todo-", > "alien" : "Alien -todo-", > "arctic" : "Arctic -todo-", > "tundra" : "Tundra -todo-", > "volcanic" : "Volcanic -todo-", > "scorched" : "Scorched -todo-", > "magma" : "Magma -todo-", > "moon" : "Moon -todo-", > "asteroids" : "Asteroids -todo-", > "ancientgateway" : "A strange gate of incalculably ancient origin" > }, > > "dayLengthText" : { 222,223c179,180 < "pos" : [214, 84], < "text" : "Size:", --- > "pos" : [208, 38], > "text" : "Day Length:", 225c182 < "color" : [140, 164, 228] --- > "color" : [110, 130, 163] 228,229c185,186 < "pos" : [270, 84], < "text" : "", --- > "pos" : [264, 38], > "text" : "m", 231c188 < "color" : [ 217, 227, 255 ] --- > "color" : [ 175, 180, 204 ] 235c192 < "gravityText" : { --- > "sizeText" : { 237,238c194,195 < "pos" : [214, 74], < "text" : "Gravity:", --- > "pos" : [208, 28], > "text" : "Size:", 240c197 < "color" : [140, 164, 228] --- > "color" : [110, 130, 163] 243,244c200,201 < "pos" : [270, 74], < "text" : "x", --- > "pos" : [264, 28], > "text" : "", 246c203 < "color" : [ 217, 227, 255 ] --- > "color" : [ 175, 180, 204 ] 249d205 < "baseGravityLevel" : 60, 251c207 < "dayLengthText" : { --- > "gravityText" : { 253,254c209,210 < "pos" : [214, 64], < "text" : "Day Length:", --- > "pos" : [208, 18], > "text" : "Gravity:", 256c212 < "color" : [140, 164, 228] --- > "color" : [110, 130, 163] 259,260c215,216 < "pos" : [270, 64], < "text" : "m", --- > "pos" : [264, 18], > "text" : "x", 262c218 < "color" : [ 217, 227, 255 ] --- > "color" : [ 175, 180, 204 ] 264a221 > "baseGravityLevel" : 80, 283,284c240,241 < "pos" : [342, 124], < "text" : "Weather:", --- > "pos" : [345, 120], > "text" : "Weather", 315a273,278 > "zoomSliderPosition" : [ > [44, 218], //starmap > [44, 228], //system > [44, 238] //planet > ], > 376a340,348 > "planetTypeDescription" : { > "type" : "label", > "position" : [252, 197], > "wrapWidth" : 110, > "zlevel" : 5, > "hAnchor" : "left", > "vAnchor" : "top", > "value" : "???" > }, 380c352 < "rect" : [ 372, 180, 432, 220 ], --- > "rect" : [ 374, 176, 430, 216 ], 498a471,492 > }, > "zoomBar" : { > "zlevel" : 3, > "type" : "image", > "file" : "/interface/cockpit/zoombar.png", > "position" : [44, 217] > }, > "zoomSlider" : { > "zlevel" : 3, > "type" : "image", > "file" : "/interface/cockpit/zoomslider.png", > "position" : [44, 218] > }, > "zoomOutButton" : { > "zlevel" : 3, > "type" : "button", > "callback" : "zoomOut", > "base" : "/interface/cockpit/zoomout.png", > "hover" : "/interface/cockpit/zoomouthover.png", > "pressed" : "/interface/cockpit/zoomout.png", > "position" : [44, 210], > "pressedOffset" : [0, 0] interface\windowconfig\bounty.config 8,10c8,10 < "fileHeader" : "/interface/crafting/craftingheader.png", < "fileBody" : "/interface/crafting/shopbody.png", < "fileFooter" : "/interface/crafting/craftingfooter.png" --- > "fileHeader" : "/interface/bounty/bountyheader.png", > "fileBody" : "/interface/bounty/bountybody.png", > "fileFooter" : "/interface/bounty/bountyfooter.png" 21c21 < "title" : " Treasured Trophies", --- > "title" : " TREASURED TROPHIES", 26c26 < "file" : "/interface/crafting/craftingicon.png", --- > "file" : "/interface/bounty/bountyicon.png", interface\windowconfig\codex.config 31c31 < "subtitle" : "Library", --- > "subtitle" : "Library ^green;[L]", interface\windowconfig\crafting.config 22c22 < "subtitle" : " Just you, your ingredients and your hands [C]", --- > "subtitle" : " Just you, your ingredients and your hands ^green;[C]", interface\windowconfig\error.config 40c40 < "position" : [210, 49], --- > "position" : [110, 49], interface\windowconfig\kitchen.config 171c171 < "position" : [29, 45], --- > "position" : [39, 45], 179c179 < "position" : [49, 45], --- > "position" : [59, 45], 187,195c187 < "position" : [69, 45], < "baseImage" : "/interface/crafting/foodenergyregen.png", < "baseImageChecked" : "/interface/crafting/foodenergyregenSelected.png", < "data" : { < "filter" : [ "foodenergyregen" ] < } < }, < { < "position" : [89, 45], --- > "position" : [79, 45], 203c195 < "position" : [109, 45], --- > "position" : [99, 45], 211c203 < "position" : [129, 45], --- > "position" : [119, 45], interface\windowconfig\multiplayer.config 12c12 < "position" : [27, 71], --- > "position" : [82.5, 31], 17c17 < "position" : [110, 74], --- > "position" : [70, 82], 27c27 < "position" : [110, 56], --- > "position" : [70, 66], 36c36 < "position" : [110, 38], --- > "position" : [70, 50], interface\windowconfig\playerinventory.config 2a3 > "subtitle" : "Inventory Screen [I]", interface\windowconfig\questlog.config 22c22 < "subtitle" : "Keep track of your quests [J]", --- > "subtitle" : "Keep track of your quests ^green;[J]", interface\windowconfig\teambar.config 2a3,5 > "energyBarColor" : "#48ee3c", > "energyBarUnusableColor" : "gray", > "energyBarRegenMixColor" : "#0265c1", 17c20 < "position" : [0, -36] --- > "position" : [10, -43] interface\windowconfig\teaminvitation.config 23c23 < "position" : [24, 25], --- > "position" : [82.5, 27], 30c30 < "position" : [79, 25], --- > "position" : [24, 27], interface\windowconfig\teaminvite.config 23c23 < "position" : [94, 27], --- > "position" : [54, 28], 28c28 < "position" : [71, 48], --- > "position" : [44, 47], items\generic\produce\beakseed.consumable 15c15 < "duration" : 180 --- > "duration" : 90 items\generic\produce\coffeebeans.consumable 14c14 < "duration" : 180 --- > "duration" : 90 items\generic\produce\diodia.consumable 14c14 < "duration" : 180 --- > "duration" : 90 items\generic\produce\feathercrown.consumable 14c14 < "duration" : 210 --- > "duration" : 105 items\generic\produce\grapes.consumable 11c11 < "duration" : 180 --- > "duration" : 90 items\generic\produce\oculemon.consumable 10c10 < "duration" : 210 --- > "duration" : 105 items\generic\produce\potato.consumable 14c14 < "duration" : 210 --- > "duration" : 105 items\generic\produce\reefpod.consumable 11c11 < "duration" : 180 --- > "duration" : 90 15c15 < "duration" : 180 --- > "duration" : 90 items\generic\produce\toxictop.consumable 14,19c14,15 < "effect" : "energyregen192", < "duration" : 60 < }, < { < "effect" : "maxenergyboost40", < "duration" : 210 --- > "effect" : "maxenergyboost60", > "duration" : 105 items\generic\tier1\fishnchips.consumable 15c15 < "duration" : 240 --- > "duration" : 120 items\generic\tier1\fishpie.consumable 14c14 < "duration" : 240 --- > "duration" : 120 items\generic\tier1\mashedpotato.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier1\meatpie.consumable 14c14 < "duration" : 240 --- > "duration" : 120 items\generic\tier1\potatogrids.consumable 14c14 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\beakseedbread.consumable 15c15 < "duration" : 180 --- > "duration" : 90 items\generic\tier2\beakseedjam.consumable 19c19 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\beakseedtart.consumable 19c19 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\carrotsoup.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\coffeecake.consumable 17,22c17,18 < "effect" : "energyregen192", < "duration" : 60 < }, < { < "effect" : "maxenergyboost20", < "duration" : 240 --- > "effect" : "maxenergyboost40", > "duration" : 120 items\generic\tier2\cornpeckers.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\feathercrownjam.consumable 23c23 < "duration" : 240 --- > "duration" : 120 items\generic\tier2\featherfood.consumable 23c23 < "duration" : 270 --- > "duration" : 135 items\generic\tier2\flatwhite.consumable 9,14c9,10 < "effect" : "energyregen288", < "duration" : 60 < }, < { < "effect" : "maxenergyboost30", < "duration" : 180 --- > "effect" : "maxenergyboost60", > "duration" : 90 items\generic\tier2\mocha.consumable 13,18c13,14 < "effect" : "energyregen288", < "duration" : 60 < }, < { < "effect" : "maxenergyboost30", < "duration" : 210 --- > "effect" : "maxenergyboost60", > "duration" : 105 items\generic\tier2\mushroombread.consumable 15c15 < "duration" : 180 --- > "duration" : 90 items\generic\tier2\mushroomquiche.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\mushroomrice.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\omelette.consumable 14c14 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\pasty.consumable 15c15 < "duration" : 240 --- > "duration" : 120 items\generic\tier2\roastdinner.consumable 15c15 < "duration" : 240 --- > "duration" : 120 items\generic\tier2\stickyribs.consumable 18c18 < "duration" : 210 --- > "duration" : 105 items\generic\tier2\tomatosoup.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier3\apegrapes.consumable 10,11c10,11 < "effect" : "energyregen384", < "duration" : 60 --- > "effect" : "maxhealthboost20", > "duration" : 105 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier3\apexfritter.consumable 14,15c14,15 < "effect" : "energyregen384", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 105 items\generic\tier3\bananacon.consumable 10c10 < "effect" : "energyregen384", --- > "effect" : "foodheal50", 14,15c14,15 < "effect" : "foodheal50", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 90 items\generic\tier3\bananacreamdonut.consumable 14c14 < "effect" : "energyregen384", --- > "effect" : "foodheal170", 18,19c18,19 < "effect" : "foodheal170", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 120 items\generic\tier3\bananacreampie.consumable 14c14 < "effect" : "energyregen384", --- > "effect" : "foodheal120", 18,19c18,19 < "effect" : "foodheal120", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 105 items\generic\tier3\bananaicecream.consumable 14c14 < "effect" : "energyregen384", --- > "effect" : "foodheal120", 18,19c18,19 < "effect" : "foodheal120", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 105 items\generic\tier3\batteredbanana.consumable 10c10 < "effect" : "energyregen384", --- > "effect" : "foodheal25", 14,15c14,15 < "effect" : "foodheal25", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 90 items\generic\tier3\campfirebanana.consumable 14,15c14,15 < "effect" : "energyregen384", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 90 items\generic\tier3\choconut.consumable 19c19 < "duration" : 240 --- > "duration" : 120 items\generic\tier3\coconuticecream.consumable 19c19 < "duration" : 210 --- > "duration" : 105 items\generic\tier3\coconutrice.consumable 15c15 < "duration" : 210 --- > "duration" : 105 items\generic\tier3\desertsalsa.consumable 18,19c18,19 < "effect" : "jumpboost25", < "duration" : 180 --- > "effect" : "maxhealthboost30", > "duration" : 165 22,23c22,23 < "effect" : "maxhealthboost30", < "duration" : 330 --- > "effect" : "jumpboost25", > "duration" : 180 items\generic\tier3\fruitsalad.consumable 10,13d9 < "effect" : "energyregen384", < "duration" : 60 < }, < { 21a18,21 > "effect" : "maxhealthboost20", > "duration" : 165 > }, > { 23c23 < "duration" : 330 --- > "duration" : 165 items\generic\tier3\grapejuice.consumable 10,11c10,11 < "effect" : "maxenergyboost40", < "duration" : 180 --- > "effect" : "maxhealthboost20", > "duration" : 90 items\generic\tier3\luckydip.consumable 10c10 < "effect" : "energyregen384", --- > "effect" : "foodheal25", 14,15c14,15 < "effect" : "foodheal25", < "duration" : 60 --- > "effect" : "maxenergyboost40", > "duration" : 90 items\generic\tier3\sweetpunch.consumable 18,19c18,19 < "effect" : "maxenergyboost40", < "duration" : 300 --- > "effect" : "maxhealthboost20", > "duration" : 150 items\generic\tier3\tropicalpunch.consumable 14,17d13 < "effect" : "energyregen384", < "duration" : 60 < }, < { 26,27c22,23 < "effect" : "maxenergyboost20", < "duration" : 330 --- > "effect" : "maxenergyboost60", > "duration" : 165 items\generic\tier4\cyanider.consumable 18c18 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\oceanrisotto.consumable 14c14 < "duration" : 240 --- > "duration" : 120 18c18 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\oceansalsa.consumable 9,12d8 < "effect" : "energyregen240", < "duration" : 60 < }, < { 17,18c13,14 < "effect" : "maxhealthboost10", < "duration" : 270 --- > "effect" : "maxhealthboost15", > "duration" : 135 21,22c17,18 < "effect" : "maxenergyboost20", < "duration" : 270 --- > "effect" : "maxenergyboost60", > "duration" : 135 items\generic\tier4\oceansurprise.consumable 14c14 < "duration" : 240 --- > "duration" : 120 18c18 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\oculemonmeringue.consumable 18c18 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\oculemonstew.consumable 19c19 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\reefjuice.consumable 10c10 < "duration" : 180 --- > "duration" : 90 14c14 < "duration" : 180 --- > "duration" : 90 items\generic\tier4\reefpodsurprise.consumable 10c10 < "duration" : 240 --- > "duration" : 120 14c14 < "duration" : 240 --- > "duration" : 120 items\generic\tier4\reefshake.consumable 11c11 < "duration" : 180 --- > "duration" : 90 15c15 < "duration" : 180 --- > "duration" : 90 items\generic\tier4\saltsalad.consumable 15c15 < "duration" : 180 --- > "duration" : 90 19c19 < "duration" : 180 --- > "duration" : 90 items\generic\tier4\toxicjamdonut.consumable 13,16d12 < "effect" : "energyregen672", < "duration" : 60 < }, < { 21,22c17,18 < "effect" : "maxenergyboost100", < "duration" : 300 --- > "effect" : "maxenergyboost170", > "duration" : 150 items\generic\tier4\toxicjuice.consumable 17,22c17,18 < "effect" : "energyregen384", < "duration" : 60 < }, < { < "effect" : "maxenergyboost80", < "duration" : 240 --- > "effect" : "maxenergyboost120", > "duration" : 120 items\generic\tier4\toxictart.consumable 21,26c21,22 < "effect" : "energyregen480", < "duration" : 60 < }, < { < "effect" : "maxenergyboost80", < "duration" : 270 --- > "effect" : "maxenergyboost130", > "duration" : 135 items\generic\tier4\toxictopjam.consumable 17,22c17,18 < "effect" : "energyregen384", < "duration" : 60 < }, < { < "effect" : "maxenergyboost80", < "duration" : 240 --- > "effect" : "maxenergyboost120", > "duration" : 120 items\tools\painttool.painttool 7c7 < "description" : "Primary fire applies paint, secondary changes the colour.", --- > "description" : "Primary fire applies paint, secondary changes the colour. ^green;Quick select with [T] key.", 16a17 > "category" : "Tool ^green;[T]", items\tools\wiretool.wiretool 7c7 < "description" : "Built to place optical wires between input points.", --- > "description" : "Built to place optical wires between input points. ^green;Quick select with [Y] key.", 10a11 > "category" : "Tool ^green;[Y]", items\tools\miningtools\beamaxe.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", items\tools\miningtools\beamaxe1.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", items\tools\miningtools\beamaxe2.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", items\tools\miningtools\beamaxe3.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", items\tools\miningtools\beamaxe4.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", items\tools\miningtools\beamaxex.beamaxe 7c7 < "description" : "Manipulates anything that matters.", --- > "description" : "Manipulates anything that matters. ^green;Quick select with [R] key.", 11c11 < "category" : "Tool", --- > "category" : "Tool ^green;[R]", leveling\levelingmultipliers.functions 79,89c79,87 < [2, 0.5], < [3, 3], < [4, 6.5], < [5, 11.5], < [6, 20], < [7, 35], < [8, 80], < [9, 150], < [10, 250], < [11, 400], < [12, 650] --- > [2, 1], > [3, 2], > [4, 3], > [5, 4], > [6, 5], > [7, 6], > [8, 7], > [9, 8], > [10, 9] monsters\boss\bossmonster.lua 13,22d12 < local attacks = stateMachine.scanScripts(entity.configParameter("scripts"), "(%a+Attack)%.lua") < for _, attack in pairs(attacks) do < table.insert(states, 1, attack) < end < < self.skillParameters = {} < for _, skillName in pairs(entity.configParameter("skills")) do < self.skillParameters[skillName] = entity.configParameter(skillName) < end < 35a26,50 > self.skillParameters = {} > for _, skillName in pairs(entity.configParameter("skills")) do > self.skillParameters[skillName] = entity.configParameter(skillName) > end > > --Load phases > self.phases = entity.configParameter("phases") > self.phaseSkills = {} > self.phaseStates = {} > for i,phase in ipairs(self.phases) do > self.phaseSkills[i] = {} > for _,skillName in ipairs(phase.skills) do > table.insert(self.phaseSkills[i], skillName) > end > if phase.enterState then > table.insert(self.phaseSkills[i], 1, phase.enterState) > end > self.phaseStates[i] = stateMachine.create(self.phaseSkills[i]) > > --Cycle through the skills > self.phaseStates[i].leavingState = function(stateName) > self.phaseStates[i].moveStateToEnd(stateName) > end > end > 54c69 < if hasTarget() then --- > if hasTarget() and entity.health() > 0 then 57a73,74 > self.phase = nil > self.lastPhase = nil 58a76,78 > if not self.state.update(dt) then > self.state.pickState() > end 63,65d82 < if not self.state.update(dt) then < self.state.pickState() < end 97c114 < function updatePhase() --- > function updatePhase(dt) 100a118,139 > > --Check if next phase is ready > local nextPhase = self.phases[self.phase + 1] > if nextPhase then > if nextPhase.trigger and nextPhase.trigger == "healthPercentage" then > if status.resourcePercentage("health") < nextPhase.healthPercentage then > self.phase = self.phase + 1 > end > end > end > > if not self.lastPhase or self.lastPhase ~= self.phase then > if self.lastPhase then > self.phaseStates[self.lastPhase].endState() > end > self.phaseStates[currentPhase()].pickState({enteringPhase = currentPhase()}) > end > if not self.phaseStates[currentPhase()].update(dt) then > self.phaseStates[currentPhase()].pickState() > end > > self.lastPhase = self.phase 106c145 < local speed = speed or mcontroller.baseParameters().flySpeed --- > if not speed then speed = mcontroller.baseParameters().flySpeed end monsters\boss\penguintank\penguintank.animation 72c72 < "image" : ":idle?addmask=/monsters/unique/penguinTank/blank.png" --- > "image" : ":idle?addmask=/monsters/boss/penguinTank/blank.png" 111c111 < "image" : ":idle?addmask=/monsters/unique/penguinTank/blank.png" --- > "image" : ":idle?addmask=/monsters/boss/penguinTank/blank.png" 163c163 < "image" : ":idle?addmask=/monsters/unique/penguinTank/blank.png" --- > "image" : ":idle?addmask=/monsters/boss/penguinTank/blank.png" 203c203 < "image" : ":idle?addmask=/monsters/unique/penguinTank/blank.png" --- > "image" : ":idle?addmask=/monsters/boss/penguinTank/blank.png" 239c239 < "image" : ":move.8?addmask=/monsters/unique/penguinTank/blank.png" --- > "image" : ":move.8?addmask=/monsters/boss/penguinTank/blank.png" monsters\boss\penguinufo\penguinufo.monstertype 25,26c25,44 < "skills" : ["ufoMoveFireAttack", "ufoSwoopAttack", "ufoReinforcementsAttack", "ufoSlamAttack", "ufoTeleportAttack", "ufoPulseCannonAttack"], < "skillCount" : 6, --- > "skills" : ["ufoMoveFireAttack", "ufoSwoopAttack", "ufoReinforcementsAttack", "ufoSlamAttack", "ufoTeleportAttack", "ufoPulseCannonAttack", "ufoSpawnTanksAttack"], > "skillCount" : 7, > > "phases" : [ > { > "skills" : ["ufoMoveFireAttack", "ufoSwoopAttack"] > }, > { > "enterState" : "ufoSpawnTanksAttack", > "trigger" : "healthPercentage", > "healthPercentage" : 0.8, > "skills" : ["ufoMoveFireAttack", "ufoSwoopAttack", "ufoSlamAttack", "ufoReinforcementsAttack"] > }, > { > "enterState" : "ufoSpawnTanksAttack", > "trigger" : "healthPercentage", > "healthPercentage" : 0.33, > "skills" : ["ufoMoveFireAttack", "ufoTeleportAttack", "ufoSlamAttack", "ufoReinforcementsAttack", "ufoPulseCannonAttack"] > } > ], 30a49,50 > "cruiseDistance" : 25, > 42c62 < "airForce" : 30.0 --- > "airForce" : 25.0 monsters\boss\penguinufo\skills\ufomovefireattack.lua 9c9,16 < basePosition = self.spawnPosition --- > bobTime = entity.configParameter("ufoMoveFireAttack.bobTime"), > bobHeight = entity.configParameter("ufoMoveFireAttack.bobHeight"), > skillTime = entity.configParameter("ufoMoveFireAttack.skillTime"), > direction = util.randomDirection(), > basePosition = self.spawnPosition, > cruiseDistance = entity.configParameter("cruiseDistance"), > fireInterval = entity.configParameter("ufoMoveFireAttack.fireInterval"), > fireTimer = entity.configParameter("ufoMoveFireAttack.fireInterval") 16c23,37 < stateData.timer = stateData.timer + dt --- > stateData.fireTimer = stateData.fireTimer - dt > if stateData.fireTimer <= 0 then > local toTarget = vec2.norm(world.distance(self.targetPosition, mcontroller.position())) > world.spawnProjectile(entity.configParameter("ufoMoveFireAttack.projectile.type"), entity.toAbsolutePosition(entity.configParameter("ufoMoveFireAttack.projectileOffset")), entity.id(), toTarget, false, entity.configParameter("ufoMoveFireAttack.projectile.config")) > stateData.fireTimer = stateData.fireTimer + stateData.fireInterval > end > > local position = mcontroller.position() > > local toBase = world.distance(stateData.basePosition, position) > if toBase[1] < -stateData.cruiseDistance then > stateData.direction = -1 > elseif toBase[1] > stateData.cruiseDistance then > stateData.direction = 1 > end 18c39,40 < local angle = 2.0 * math.pi * stateData.timer / 4.0 --- > stateData.timer = stateData.timer + dt > local angle = 2.0 * math.pi * stateData.timer / stateData.bobTime 20,21c42,43 < stateData.basePosition[1] + 15.0 * math.sin(angle), < stateData.basePosition[2] + 1.0 * math.sin(angle * 5.0) --- > position[1] + stateData.direction * 5, > stateData.basePosition[2] + stateData.bobHeight * math.cos(angle) 25,44c47,48 < if self.targetPosition ~= nil then < -- Avoid targets that jump, but don't get too far away < local yOffsetRange = entity.configParameter("targetYOffsetRange") < stateData.basePosition[2] = util.clamp( < stateData.basePosition[2], < self.targetPosition[2] + yOffsetRange[1], < self.targetPosition[2] + yOffsetRange[2] < ) < < -- Move base position towards target, so we dont get too far away < local toTarget = world.distance(self.targetPosition, stateData.basePosition) < stateData.basePosition[1] = stateData.basePosition[1] + toTarget[1] * 0.1 < end < < if stateData.timer > 4.0 then < flyTo(stateData.basePosition) < local baseDistance = world.magnitude(stateData.basePosition, mcontroller.position()) < if baseDistance < 5 then < return true < end --- > if stateData.timer > stateData.skillTime then > return true 48a53,55 > > function ufoMoveFireAttack.leavingState(stateData) > end \ No newline at end of file monsters\boss\penguinufo\skills\ufomovefireattack.monsterskill 10c10,22 < "cooldownTime" : 10 --- > "skillTime": 8, > "bobTime" : 2, > "bobHeight" : 3, > > "projectileOffset" : [0, -4], > "fireInterval" : 0.5, > "projectile" : { > "type" : "blueplasmabullet", > "config" : { > "speed" : 16, > "power" : 5 > } > } monsters\boss\penguinufo\skills\ufopulsecannonattack.lua 11,13c11,13 < timer = 0, < deltaX = 10.0 * toTarget[1] / math.abs(toTarget[1]), < lastPosition = nil, --- > basePosition = self.spawnPosition, > direction = util.randomDirection(), > cruiseDistance = entity.configParameter("cruiseDistance"), 23c23,30 < if ufoPulseCannonAttack.flyToTargetYOffsetRange({ position[1], self.targetPosition[2] }) then --- > local targetPosition = { > stateData.basePosition[1] + stateData.direction * stateData.cruiseDistance, > stateData.basePosition[2] > } > flyTo(targetPosition) > > local targetDistance = world.magnitude(targetPosition, mcontroller.position()) > if targetDistance < 2 then 25,26d31 < else < return false 29,38c34,43 < rangedAttack.fireContinuous(true) < < -- Change direction if stuck, or too far away < if stateData.lastPosition ~= nil and world.magnitude(world.distance(position, stateData.lastPosition)) < 0.01 then < stateData.deltaX = -stateData.deltaX < else < local toTarget = world.distance(self.targetPosition, position) < if toTarget[1] * stateData.deltaX < 0 and math.abs(toTarget[1]) > 15.0 then < stateData.deltaX = -stateData.deltaX < end --- > rangedAttack.fireContinuous() > local targetPosition = { > stateData.basePosition[1] - stateData.direction * stateData.cruiseDistance, > stateData.basePosition[2] > } > flyTo(targetPosition) > > local targetDistance = world.magnitude(targetPosition, mcontroller.position()) > if targetDistance < 2 then > return true 40,64d44 < stateData.lastPosition = position < < flyTo({ position[1] + stateData.deltaX, position[2] }) < end < < stateData.timer = stateData.timer + dt < if stateData.timer > 5.0 then < return true, 4.0 < else < return false < end < end < < function ufoPulseCannonAttack.flyToTargetYOffsetRange(targetPosition) < local position = mcontroller.position() < local yOffsetRange = entity.configParameter("targetYOffsetRange") < local destination = { < targetPosition[1], < util.clamp(position[2], targetPosition[2] + yOffsetRange[1], targetPosition[2] + yOffsetRange[2]) < } < < if math.abs(destination[2] - position[2]) < 1.0 then < return true < else < flyTo(destination) 68a49,52 > > function ufoPulseCannonAttack.leavingState(stateData) > rangedAttack.stopFiring() > end \ No newline at end of file monsters\boss\penguinufo\skills\uforeinforcementsattack.lua 8d7 < world.logInfo("reinforcements: %s", reinforcements) 54,60c53,63 < local percent = math.random(100) < if percent > 90 then < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.tankspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.tankspawn.config"), nil, true) < elseif percent > 60 then < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.config"), nil, true) < elseif percent > 30 then < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.config"), nil, true) --- > if currentPhase() < 3 then > local percent = math.random(100) > if percent > 90 then > rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.tankspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.tankspawn.config"), nil, true) > elseif percent > 60 then > rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.generalspawn.config"), nil, true) > elseif percent > 30 then > rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.rockettrooperspawn.config"), nil, true) > else > rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.config"), nil, true) > end 62c65,70 < rangedAttack.fireOnce(entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.type"), entity.configParameter("ufoReinforcementsAttack.projectiles.trooperspawn.config"), nil, true) --- > for i,minionId in ipairs(self.minionState.slots) do > if minionId == 0 then > self.minionState.slots[i] = world.spawnMonster("penguinMiniUfo", mcontroller.position()) > break > end > end 89a98,106 > end > > --Minion callbacks > function isPenguinMaster() > return true > end > > function minionState() > return self.minionState monsters\boss\penguinufo\skills\ufoswoopattack.lua 7,12d6 < local toTarget = world.distance(self.targetPosition, mcontroller.position()) < local distance = math.abs(toTarget[1]) < if distance < 3.0 or distance > 50.0 then < return nil < end < 15c9 < fullCircleTime = 3, --- > swoopTime = entity.configParameter("ufoSwoopAttack.swoopTime"), 23,34d16 < if self.tookDamage then < stateData.tookDamage = true < entity.setDamageOnTouch(false) < mcontroller.setVelocity({0,0}) < end < < if stateData.tookDamage then < mcontroller.controlFly({ 0, mcontroller.baseParameters().flySpeed }) < stateData.timer = stateData.timer + dt < return stateData.timer > stateData.fullCircleTime * 0.3 < end < 36d17 < 38,46c19,22 < local startPosition = { position[1], self.targetPosition[2] } < if ufoSwoopAttack.flyToTargetYOffsetRange(startPosition) then < stateData.basePosition = { self.targetPosition[1], position[2] } < stateData.toTarget = world.distance(vec2.add({ 0, 3.0 }, self.targetPosition), position) < < entity.setDamageOnTouch(true) < else < return false < end --- > stateData.basePosition = { self.targetPosition[1], position[2] } > stateData.toTarget = world.distance(vec2.add(self.targetPosition, {0, 4.0}), position) > > entity.setDamageOnTouch(true) 51,52c27,28 < local timerRatio = stateData.timer / stateData.fullCircleTime < local angle = timerRatio * math.pi * 2.0 --- > local timerRatio = stateData.timer / stateData.swoopTime > local angle = timerRatio * math.pi 56a33,34 > local toTarget = world.distance(targetPosition, mcontroller.position()) > mcontroller.setVelocity(vec2.mul(toTarget, 1 / dt)) 58,60c36 < flyTo(targetPosition, 30) < < if stateData.timer > stateData.fullCircleTime * 0.6 then --- > if stateData.timer > stateData.swoopTime then 62,76d37 < return true, 4.0 < else < return false < end < end < < function ufoSwoopAttack.flyToTargetYOffsetRange(targetPosition) < local position = mcontroller.position() < local yOffsetRange = entity.configParameter("targetYOffsetRange") < local destination = { < targetPosition[1], < util.clamp(position[2], targetPosition[2] + yOffsetRange[1], targetPosition[2] + yOffsetRange[2]) < } < < if math.abs(destination[2] - position[2]) < 1.0 then 79c40 < flyTo(destination) --- > return false 81,83c42 < < return false < end --- > end \ No newline at end of file monsters\boss\penguinufo\skills\ufoswoopattack.monsterskill 10c10 < "cooldownTime" : 10 --- > "swoopTime" : 2 monsters\boss\penguinufo\skills\ufoteleportattack.lua 35c35 < entity.setAnimationState("movement", "phase1") --TODO: Change this when phases are in --- > entity.setAnimationState("movement", "phase"..currentPhase()) --TODO: Change this when phases are in npcs\airshipcaptain.npctype 242c242 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\airshipcrew.npctype 897c897 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\airshipquartermaster.npctype 226c226 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\apexslave.npctype 611c611 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\apexslaver.npctype 242c242 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\bandit.npctype 217c217 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\bunkerguard.npctype 134c134 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\bunkerpyro.npctype 88c88 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\castleguard.npctype 124c124 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\castlelord.npctype 122c122 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\castleroyalguard.npctype 97c97 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\chefmerchant.npctype 275c275 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\clanleader.npctype 399c399 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\colourfulvillager.npctype 610c610 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\cultist.npctype 132c132 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\default.npctype 137c137 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\doctormerchant.npctype 288c288 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\eyeguard.npctype 122c122 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\follower.npctype 769c769 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\friendlyguard.npctype 272c272 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\friendlypirateguard.npctype 223c223 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\guard.npctype 184c184 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\hellguard.npctype 120c120 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\hellprisoner.npctype 109c109 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\knight.npctype 73c73 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\labguard.npctype 125c125 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\labscientist.npctype 130c130 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\main.lua 852,854d851 < if world.rectCollision(groundRegion, true) then < drawDebugRect(groundRegion, "red") < end npcs\merchant.npctype 2038c2038 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\nakedvillager.npctype 1841c1841 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\prisonberserker.npctype 128c128 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\prisonbruiser.npctype 123c123 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\prisongunman.npctype 119c119 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\pyramidguard.npctype 136c136 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\scifiguard.npctype 129c129 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\servant.npctype 681c681 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\shroomguard.npctype 287c287 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\shroommerchant.npctype 155c155 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\stimmerchant.npctype 282c282 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\templeguard.npctype 126c126 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\tombzombie.npctype 122c122 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\toolmerchant.npctype 277c277 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\towerascendant.npctype 214c214 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\villageguard.npctype 14c14 < "levelVariance" : [0.5, 0.5], --- > "levelVariance" : [1, 1], 584c584 < [2, [ --- > [3, [ 623c623 < [3, [ --- > [4, [ 703c703 < [2, [ --- > [3, [ 743c743 < [3, [ --- > [4, [ 804c804 < [2, [ --- > [3, [ 824c824 < [3, [ --- > [4, [ 885c885 < [2, [ --- > [3, [ 924c924 < [3, [ --- > [4, [ 985c985 < [2, [ --- > [3, [ 1006c1006 < [3, [ --- > [4, [ 1068c1068 < [2, [ --- > [3, [ 1108c1108 < [3, [ --- > [4, [ 1190c1190 < "baseValue" : 40.0 --- > "baseValue" : 80.0 1193c1193 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\villageguardcaptain.npctype 682c682 < "baseValue" : 60.0 --- > "baseValue" : 200.0 685c685 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\villager.npctype 2142c2142 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\wildhunter.npctype 124c124 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\wildhunterveteran.npctype 63c63 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\mission\miner.npctype 622c622 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\mission\mutantminer.npctype 210c210 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\mission\survivor.npctype 750c750 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\mission\wildling.npctype 149c149 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostapexmechanic.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostapexrefugee.npctype 83c83 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostapexscientist.npctype 83c83 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostavianexplorer.npctype 83c83 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostavianmercenary.npctype 83c83 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostavianrefugee.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostbountyhunter.npctype 84c84 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostcivilian.npctype 376c376 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostfloranfan.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostfloranhunter.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostfloranscholar.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostglitchmechanic.npctype 81c81 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostglitchmercenary.npctype 81c81 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostglitchsilenttype.npctype 84c84 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outposthumanexcon.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outposthumanscientist.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outposthumansurvivor.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outposthylotlperformer.npctype 82c82 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outposthylotlwarrior.npctype 84c84 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostpenguinpromoter.npctype 71c71 < "baseValue" : 40.0 --- > "baseValue" : 100.0 npcs\outpost\outpostundersideman.npctype 83c83 < "baseValue" : 40.0 --- > "baseValue" : 100.0 objects\crafting\alloyfurnace\alloyfurnace.object 15d14 < "hydrophobic" : true, objects\crafting\stonefurnace\stonefurnace.object 16d15 < "hydrophobic" : true, objects\ship\avianteleporter\avianteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\floranteleporter\floranteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\glitchteleporter\glitchteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\humanteleporter\humanteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\hylotlteleporter\hylotlteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\novakidteleporter\novakidteleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", objects\ship\teleporter\teleporter.object 4,5c4 < "interactAction" : "OpenTeleportDialog", < "interactData" : "/interface/warpmenu/shipwarp.config", --- > "interactAction" : "OpenShipTeleporterDialog", player\stat_primary.animation 3c3,33 < "ouch" : [] --- > "ouch" : [], > "outOfEnergy" : ["/sfx/interface/energy_out4.wav"], > "energyRegenDone" : ["/sfx/interface/energy_out3.wav"] > }, > > "particleEmitters" : { > "outOfEnergy" : { > "particles" : [ > { > "count" : 20, > "particle" : { > "type" : "animated", > "animation" : "/animations/ember1/ember1.animation", > "size" : 1, > "angularVelocity" : 20, > "fade" : 1, > "destructionTime" : 7, > "position" : [0, 0], > "initialVelocity" : [0, 0], > "finalVelocity" : [0, -20], > "approach" : [15, 15], > "timeToLive" : 3.45, > "layer" : "front", > "variance" : { > "initialVelocity" : [4, 2], > "finalVelocity" : [3, 4] > } > } > } > ] > } quests\ftlrepairmain.questtemplate 3c3 < "title" : "^#9be3d6;Free as a Bird", --- > "title" : "^orange;Free as a Bird", quests\fuel.questtemplate 3,5c3,5 < "title" : "^#9be3d6;Fuel", < "text" : "^green;To fuel an FTL drive you need ^orange;Liquid Erchius. ^green;This pink liquid can be found in pools on moon planets. I should pick up at least ^orange;20 units of Liquid Erchius ^green;to fuel my ship. ^white;It should enable me to travel to a nearby system.", < "completionText" : "I've got the fuel I need! ^green;lI can load it into the ship at the ships ^orange;fuel gauge. ^white;Then use the navigator to take me to another nearby star system.", --- > "title" : "^orange;Fuel", > "text" : "^green;To fuel an FTL drive you need ^orange;Liquid Erchius. ^green;This pink liquid can be found in pools underground on moon planets. I should pick up at least ^orange;20 units of Liquid Erchius ^green;to fuel my ship. ^white;It should enable me to travel to a nearby system.", > "completionText" : "I've got the fuel I need! ^green;I can load it into the ship at the ships ^orange;fuel gauge. ^white;Then use the navigator to take me to another nearby star system.", 7c7 < { "kind" : "gather", "item" : [ "liquidfuel", 20] } --- > { "kind" : "gather", "item" : [ "liquidfuel", 20], "consume" : false } quests\items\hoe.questtemplate 3c3 < "title" : "^#9be3d6;It's time for a Hoe Down", --- > "title" : "^green;It's time for a Hoe Down", quests\missions\floranmission.questtemplate 3c3 < "title" : "^#9be3d6;Mysterious Invitation", --- > "title" : "^orange;Mysterious Invitation", quests\outpost\outpost0.questtemplate 3c3 < "title" : "^#9be3d6;Arts and Crafts", --- > "title" : "^orange;Arts and Crafts", quests\outpost\outpost1.questtemplate 4c4 < "title" : "^#9be3d6;A Fair Trade", --- > "title" : "^orange;A Fair Trade", quests\outpost\outpost2.questtemplate 4c4 < "title" : "^#9be3d6;Fill 'er Up!", --- > "title" : "^orange;Fill 'er Up!", quests\outpost\outpost3.questtemplate 4c4 < "title" : "^#9be3d6;Stirred not Shaken", --- > "title" : "^orange;Stirred not Shaken", quests\outpost\outpostmission1.questtemplate 3c3 < "title" : "^#9be3d6;Erchius Mining Facility", --- > "title" : "^orange;Erchius Mining Facility", quests\outpost\outpostskin.questtemplate 4c4 < "title" : "^#9be3d6;Help! I need somebody", --- > "title" : "^orange;Help! I need somebody", quests\outpost\endgame\avianrefugeee1.questtemplate 5c5 < "title" : "^#9be3d6;Leap for the Stars", --- > "title" : "^green;Leap for the Stars", quests\outpost\endgame\avianrefugeee2.questtemplate 5c5 < "title" : "^#9be3d6;On Paper Wings", --- > "title" : "^green;On Paper Wings", quests\outpost\endgame\humanscientiste1.questtemplate 5c5 < "title" : "^#9be3d6;Pale Blue Dot", --- > "title" : "^green;Pale Blue Dot", quests\outpost\endgame\hylotlperformere1.questtemplate 5,6c5,6 < "title" : "^#9be3d6;The Joker and the Thief", < "text" : "Some vagabond has stolen my gag nose - No doubt an attempt to sabotage my act! ^green;Can you find me something ^orange;round, small and colourful ^green;around here to replace it?", --- > "title" : "^green;The Joker and the Thief", > "text" : "The prankster strikes again! This time they've stolen my gag nose - No doubt an attempt to sabotage my act! ^green;Can you find me something ^orange;round, small and colourful ^green;around here to replace it?", quests\outpost\endgame\hylotlperformere2part1.questtemplate 5c5 < "title" : "^#9be3d6;Audience of One", --- > "title" : "^green;Audience of One", 7c7 < "completionText" : "The gig? It was terrible! I only went because no-one else turned up and I felt bad. You should probably tell him it was good, to spare his feelings.", --- > "completionText" : "The gig? It was terrible! I thought I'd spare him the embarassment by disposing of his script, but somehow he found it again..You should probably tell him it was good, to spare his feelings.", quests\outpost\endgame\hylotlperformere2part2.questtemplate 5c5 < "title" : "^#9be3d6;Audience of One", --- > "title" : "^green;Audience of One", 7c7 < "completionText" : "They... Liked my show? Fantastic! Wonderful! I'm sure I'll be famous in no time! Thanks for all your help! Here, take this.", --- > "completionText" : "They... Liked my show? Fantastic! Wonderful! I'm sure I just need to get the word out some more and they'll be lining up to see me! Thanks for all your help! Here, take this.", quests\outpost\endgame\hylotlwarriore1.questtemplate 5c5 < "title" : "^#9be3d6;Bark Life", --- > "title" : "^green;Bark Life", quests\outpost\endgame\hylotlwarriore2.questtemplate 5c5 < "title" : "^#9be3d6;Hylotl's Best Friend", --- > "title" : "^green;Hylotl's Best Friend", quests\outpost\endgame\penguinpromotere1.questtemplate 5c5 < "title" : "^#9be3d6;Fried and Battered", --- > "title" : "^green;Fried and Battered", quests\outpost\phase1optional\bountyhunter1.questtemplate 4c4 < "title" : "^#9be3d6;Butcher, Baker, Widow Maker", --- > "title" : "^green;Butcher, Baker, Widow Maker", quests\outpost\phase1optional\floranfan1.questtemplate 4c4 < "title" : "^#9be3d6;Looking Good and Dressing Well", --- > "title" : "^green;Looking Good and Dressing Well", quests\outpost\phase1optional\hylotlperformer1.questtemplate 4c4 < "title" : "^#9be3d6;The Funny Pages", --- > "title" : "^green;The Funny Pages", 6c6 < "completionText" : "What!? It was in the bin? A fan must have stolen it and disposed of it to disguise their mischief. Thank you! Have some pixels!", --- > "completionText" : "What!? It was in the bin? Some mischievous prankster must've stolen the script and disposed of it. Thank you, Here's some pixels for your hard work!", quests\outpost\phase1optional\radardish1.questtemplate 4c4 < "title" : "^#9be3d6;Contributing to Society", --- > "title" : "^green;Contributing to Society", quests\outpost\phase1optional\underside1.questtemplate 4c4 < "title" : "^#9be3d6;The Under Side", --- > "title" : "^green;The Under Side", quests\outpost\phase2optional\apexmechanic2.questtemplate 5c5 < "title" : "^#9be3d6;Early Days", --- > "title" : "^green;Early Days", quests\outpost\phase2optional\avianrefugee2part1.questtemplate 5c5 < "title" : "^#9be3d6;Taking Flight", --- > "title" : "^green;Taking Flight", quests\outpost\phase2optional\avianrefugee2part2.questtemplate 4c4 < "title" : "^#9be3d6;Liftoff!", --- > "title" : "^green;Liftoff!", quests\outpost\phase2optional\bountyhunter2.questtemplate 4c4 < "title" : "^#9be3d6;Taking out the Trash", --- > "title" : "^green;Taking out the Trash", quests\outpost\phase2optional\floranscholar2.questtemplate 5c5 < "title" : "^#9be3d6;Makin' Paper", --- > "title" : "^green;Makin' Paper", quests\outpost\phase2optional\glitchsilenttype2.questtemplate 5c5 < "title" : "^#9be3d6;....", --- > "title" : "^green;....", quests\outpost\phase2optional\humanexcon2.questtemplate 5c5 < "title" : "^#9be3d6;Time for a Celebration!", --- > "title" : "^green;Time for a Celebration!", quests\outpost\phase2optional\humansurvivor2.questtemplate 5c5 < "title" : "^#9be3d6;A Lovely Bunch of Coconuts!", --- > "title" : "^green;A Lovely Bunch of Coconuts!", quests\outpost\phase3optional\avianexplorer3.questtemplate 5c5 < "title" : "^#9be3d6;One Small Step", --- > "title" : "^green;One Small Step", quests\outpost\phase3optional\bountyhunter3.questtemplate 5c5 < "title" : "^#9be3d6;Pest Problem", --- > "title" : "^green;Pest Problem", quests\outpost\phase3optional\glitchsilenttype3.questtemplate 5c5 < "title" : "^#9be3d6;The Good Book", --- > "title" : "^green;The Good Book", quests\outpost\phase3optional\hylotlperformer3.questtemplate 5c5 < "title" : "^#9be3d6;This is my Song!", --- > "title" : "^green;This is my Song!", 7c7 < "completionText" : "Hmm... I can't play this at all! I don't know what I was thinking. Here, you may as well have this guitar.", --- > "completionText" : "Hmm... Actually i can't play this at all! I don't know what I was thinking. Here, you may as well have this guitar.", quests\outpost\phase4optional\apexrefugee4.questtemplate 5c5 < "title" : "^#9be3d6;Lights Out!", --- > "title" : "^green;Lights Out!", quests\outpost\phase4optional\avianexplorer4.questtemplate 5c5 < "title" : "^#9be3d6;X Marks the Spot", --- > "title" : "^green;X Marks the Spot", quests\outpost\phase4optional\avianmercenary4.questtemplate 5c5 < "title" : "^#9be3d6;Golden Ducky", --- > "title" : "^green;Golden Ducky", quests\outpost\phase4optional\bountyhunter4.questtemplate 5c5 < "title" : "^#9be3d6;Sharpening Up", --- > "title" : "^green;Sharpening Up", quests\outpost\phase4optional\floranhunter4.questtemplate 5c5 < "title" : "^#9be3d6;A Bone to Pick", --- > "title" : "^green;A Bone to Pick", quests\outpost\phase4optional\humanexcon4.questtemplate 5c5 < "title" : "^#9be3d6;Jail House Rock", --- > "title" : "^green;Jail House Rock", quests\outpost\shipupgrade\license1.questtemplate 5c5 < "title" : "^#9be3d6;Psst", --- > "title" : "^green;Psst", quests\outpost\shipupgrade\license2.questtemplate 5c5 < "title" : "^#9be3d6;Psst", --- > "title" : "^green;Psst", quests\outpost\shipupgrade\license3.questtemplate 5c5 < "title" : "^#9be3d6;Psst", --- > "title" : "^green;Psst", quests\outpost\shipupgrade\license4.questtemplate 5c5 < "title" : "^#9be3d6;Psst", --- > "title" : "^green;Psst", quests\outpost\shipupgrade\license5.questtemplate 5c5 < "title" : "^#9be3d6;Psst", --- > "title" : "^green;Psst", quests\tutorial\novakidtutorial.questtemplate 3c3 < "title" : "^#9be3d6;A Big Bang", --- > "title" : "^orange;A Big Bang", quests\tutorial\tutorial1.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 1: A Flash of Light", --- > "title" : "^yellow;Tutorial I: A Flash of Light", quests\tutorial\tutorial2.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 2: Shop Class", --- > "title" : "^yellow;Tutorial II: Shop Class", quests\tutorial\tutorial3.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 3: Prepare Yourself", --- > "title" : "^yellow;Tutorial III: Prepare Yourself", quests\tutorial\tutorial4.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 4: Food Fight", --- > "title" : "^yellow;Tutorial IV: Food Fight", quests\tutorial\tutorial5.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 5: Out of the frying pan...", --- > "title" : "^yellow;Tutorial V: Out of the frying pan...", quests\tutorial\tutorial6.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 6: Tools for the job", --- > "title" : "^yellow;Tutorial VI: Tools for the job", quests\tutorial\tutorial7.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 7: Forging Ahead", --- > "title" : "^yellow;Tutorial VII: Forging Ahead", quests\tutorial\tutorial8.questtemplate 3c3 < "title" : "^#9be3d6;Tutorial 8: Ups and Downs", --- > "title" : "^yellow;Tutorial VIII: Ups and Downs", recipes\kitchen\tier2\coffeecake.recipe 10c10 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodmobility", "foodenergyboost", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodmobility", "foodenergyboost" ] recipes\kitchen\tier2\flatwhite.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost" ] recipes\kitchen\tier2\mocha.recipe 8c8 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier3\apegrapes.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodenergyregen", "foodenergyboost" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodhealthboost" ] recipes\kitchen\tier3\apexfritter.recipe 8c8 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost" ] recipes\kitchen\tier3\bananacon.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost" ] recipes\kitchen\tier3\bananacreamdonut.recipe 10c10 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier3\bananacreampie.recipe 9c9 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier3\bananaicecream.recipe 9c9 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier3\batteredbanana.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost" ] recipes\kitchen\tier3\campfirebanana.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodmobility", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodmobility", "foodenergyboost" ] recipes\kitchen\tier3\fruitsalad.recipe 9c9 < "groups" : [ "kitchen", "consumables", "foodmobility", "foodenergyregen", "foodenergyboost" ] --- > "groups" : [ "kitchen", "consumables", "foodmobility", "foodenergyboost", "foodhealthboost" ] recipes\kitchen\tier3\grapejuice.recipe 6c6 < "groups" : [ "kitchen", "consumables", "foodenergyboost" ] --- > "groups" : [ "kitchen", "consumables", "foodhealthboost" ] recipes\kitchen\tier3\luckydip.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost" ] recipes\kitchen\tier3\sweetpunch.recipe 8c8 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealthboost", "foodmobility" ] recipes\kitchen\tier3\tropicalpunch.recipe 9c9 < "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyregen", "foodenergyboost", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealing", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier4\oceansalsa.recipe 9c9 < "groups" : [ "kitchen", "consumables", "foodhealthboost", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodhealthboost", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier4\toxicjamdonut.recipe 10c10 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodmobility" ] recipes\kitchen\tier4\toxicjuice.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen", "foodother" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodother" ] recipes\kitchen\tier4\toxictart.recipe 8c8 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen", "foodmobility", "foodother" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodmobility", "foodother" ] recipes\kitchen\tier4\toxictopjam.recipe 7c7 < "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodenergyregen", "foodmobility" ] --- > "groups" : [ "kitchen", "consumables", "foodenergyboost", "foodmobility" ] stats\player_primary.lua 5d4 < self.energyRegenTimeout = 0 63c62 < self.energyRegenTimeout = status.statusProperty("energyRegenDelay") --- > status.setResourcePercentage("energyRegenBlock", 1.0) 126a126,129 > if status.resourceLocked("energy") and status.resourcePercentage("energy") == 1 then > animator.playSound("energyRegenDone") > end > 127a131,135 > if not status.resourceLocked("energy") then > animator.playSound("outOfEnergy") > animator.burstParticleEmitter("outOfEnergy") > end > 133,135c141 < if self.energyRegenTimeout > 0 then < self.energyRegenTimeout = self.energyRegenTimeout - dt < else --- > if not status.resourcePositive("energyRegenBlock") then stats\effects\maxenergyboost\maxenergyboost10.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost100.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost20.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost30.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost40.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost50.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost60.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, stats\effects\maxenergyboost\maxenergyboost80.statuseffect 6c6 < "defaultDuration" : 5, --- > "defaultDuration" : 60, tiles\materials\sandstone01.material 7c7 < "shortdescription" : "Sandstone Block", --- > "shortdescription" : "Sandstone", treasure\missions\miningtreasure1.treasurepools 13,15c13,15 < {"weight" : 0.08, "item" : [ "lunarbook01codex", 1]}, < {"weight" : 0.04, "item" : [ "lunarbook02codex", 1]}, < {"weight" : 0.04, "item" : [ "lunarbook03codex", 1]} --- > {"weight" : 0.08, "item" : [ "flare", 1]}, > {"weight" : 0.04, "item" : [ "yellowstim", 1]}, > {"weight" : 0.04, "item" : [ "ironbar", 1]} 30c30,31 < {"weight" : 1, "item" : [ "spacesuitdemohead", 1]} --- > {"weight" : 1, "item" : [ "spacesuitdemohead", 1]}, > {"weight" : 1, "item" : [ "lunarbook01codex", 1]} 33c34 < [1, 1] --- > [1, 2] 54c55,56 < {"weight" : 1, "item" : [ "spacesuitdemolegs", 1]} --- > {"weight" : 1, "item" : [ "spacesuitdemolegs", 1]}, > {"weight" : 1, "item" : [ "lunarbook02codex", 1]} 57c59 < [1, 1] --- > [1, 2] 66c68,69 < {"weight" : 1, "item" : [ "spacesuitdemoback", 1]} --- > {"weight" : 1, "item" : [ "spacesuitdemoback", 1]}, > {"weight" : 1, "item" : [ "lunarbook03codex", 1]}