FILES ----- player.config [NEW] animations\hoverbikethruster\backthruster.animation [NEW] animations\hoverbikethruster\backthruster.frames [NEW] animations\hoverbikethruster\backthruster.png [NEW] animations\hoverbikethruster\bottomthruster.animation [NEW] animations\hoverbikethruster\bottomthruster.frames [NEW] animations\hoverbikethruster\bottomthruster.png behaviors\monsters\modular\targeting.behavior behaviors\monsters\modular\actions\fire.behavior behaviors\monsters\modular\actions\hop.behavior behaviors\monsters\modular\actions\leap.behavior [NEW] behaviors\monsters\modular\movement\emerge-fly.behavior behaviors\monsters\modular\movement\walkapproach.behavior behaviors\monsters\unique\paratail.behavior behaviors\monsters\unique\taroni.behavior behaviors\npc\floranspectator.behavior biomes\underground\underground5b.biome codex\documents\deckardnote.codexitem codex\documents\glitchprologue.codex codex\documents\lasladiary01.codexitem codex\documents\lasladiary02.codexitem codex\documents\lasladiary03.codexitem dungeons\microdungeons\underground\underground5b\underground5bmicrodungeons.dungeon dungeons\microdungeons\underground\underground5b\underground5b_open1.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_open2.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_tunnel2.json dungeons\microdungeons\underground\underground5b\underground5b_tunnelbackslope1.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_tunnelbackslope2.json dungeons\microdungeons\underground\underground5b\underground5b_tunnelforwardslope1.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_tunnelforwardslope2.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_tunnelweakbackslope2.json [NEW] dungeons\microdungeons\underground\underground5b\underground5b_tunnelweakforwardslope2.json dungeons\missions\floranmissions\floranmission1-objects.png dungeons\missions\floranmissions\floranmission1.dungeon dungeons\missions\floranmissions\floranmission1.png dungeons\missions\lunarbase\lunarbase-objects.png dungeons\missions\lunarbase\lunarbase-wires1.png dungeons\missions\lunarbase\lunarbase.dungeon dungeons\missions\lunarbase\lunarbase.png dungeons\missions\penguinmissions\penguinmission2-objects.png dungeons\undergroundmaze\mazeornate\entryright.json items\active\vehiclecontroller\vehiclecontroller.activeitem [NEW] items\active\vehiclecontroller\vehiclecontrollerred.activeitem items\active\weapons\fist\fistweapon.animation items\active\weapons\fist\stunglove.activeitem [NEW] items\active\weapons\fist\vinefist.activeitem [NEW] items\active\weapons\fist\vinefist.animation [NEW] items\active\weapons\fist\vinefist.frames [NEW] items\active\weapons\fist\vinefist.png [NEW] items\active\weapons\fist\vinefisticon.png [NEW] items\active\weapons\fist\combofinishers\snaproot.combofinisher [NEW] items\active\weapons\fist\combofinishers\snaproot.lua items\active\weapons\fist\combofinishers\thunderpunch.combofinisher items\active\weapons\melee\meleeweapon.lua items\active\weapons\melee\altabilities\spear\barrier\barrier.altability items\active\weapons\melee\axe\axe.animation items\active\weapons\melee\axe\commonaxe.activeitem items\active\weapons\melee\axe\npcaxe.activeitem items\active\weapons\melee\axe\rareaxe.activeitem items\active\weapons\melee\axe\uncommonaxe.activeitem items\active\weapons\melee\broadsword\broadsword.animation items\active\weapons\melee\broadsword\tieredbroadsword.animation items\active\weapons\melee\dagger\dagger.animation items\active\weapons\melee\hammer\commonhammer.activeitem items\active\weapons\melee\hammer\hammer.animation items\active\weapons\melee\hammer\hammer.lua items\active\weapons\melee\hammer\npchammer.activeitem items\active\weapons\melee\hammer\rarehammer.activeitem items\active\weapons\melee\hammer\tieredhammer.animation items\active\weapons\melee\hammer\uncommonhammer.activeitem items\active\weapons\melee\shortsword\shortsword.animation items\active\weapons\melee\spear\commonspear.activeitem items\active\weapons\melee\spear\npcspear.activeitem items\active\weapons\melee\spear\rarespear.activeitem items\active\weapons\melee\spear\spear.animation items\active\weapons\melee\spear\spear.lua items\active\weapons\melee\spear\tieredspear.animation items\active\weapons\melee\spear\uncommonspear.activeitem items\active\weapons\ranged\gun.animation items\active\weapons\ranged\gun.lua items\active\weapons\ranged\altabilities\piercingshot\piercingshot.altability items\active\weapons\ranged\assaultrifle\commonassaultrifle.activeitem items\active\weapons\ranged\assaultrifle\npcassaultrifle.activeitem items\active\weapons\ranged\assaultrifle\rareassaultrifle.activeitem items\active\weapons\ranged\assaultrifle\uncommonassaultrifle.activeitem items\active\weapons\ranged\chakram\hardchakram.activeitem items\active\weapons\ranged\grenadelauncher\commongrenadelauncher.activeitem items\active\weapons\ranged\grenadelauncher\raregrenadelauncher.activeitem items\active\weapons\ranged\grenadelauncher\uncommongrenadelauncher.activeitem items\active\weapons\ranged\machinepistol\commonmachinepistol.activeitem items\active\weapons\ranged\machinepistol\npcmachinepistol.activeitem items\active\weapons\ranged\machinepistol\raremachinepistol.activeitem items\active\weapons\ranged\machinepistol\uncommonmachinepistol.activeitem items\active\weapons\ranged\pistol\commonpistol.activeitem items\active\weapons\ranged\pistol\npcpistol.activeitem items\active\weapons\ranged\pistol\rarepistol.activeitem items\active\weapons\ranged\pistol\uncommonpistol.activeitem items\active\weapons\ranged\rocketlauncher\commonrocketlauncher.activeitem items\active\weapons\ranged\rocketlauncher\npcrocketlauncher.activeitem items\active\weapons\ranged\rocketlauncher\rarerocketlauncher.activeitem items\active\weapons\ranged\rocketlauncher\uncommonrocketlauncher.activeitem items\active\weapons\ranged\shotgun\commonshotgun.activeitem items\active\weapons\ranged\shotgun\npcshotgun.activeitem items\active\weapons\ranged\shotgun\rareshotgun.activeitem items\active\weapons\ranged\shotgun\uncommonshotgun.activeitem items\active\weapons\ranged\sniperrifle\commonsniperrifle.activeitem items\active\weapons\ranged\sniperrifle\npcsniperrifle.activeitem items\active\weapons\ranged\sniperrifle\raresniperrifle.activeitem items\active\weapons\ranged\sniperrifle\uncommonsniperrifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier0rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier10rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier1rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier2rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier3rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier4rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier5rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier6rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier7rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier8rifle.activeitem items\active\weapons\ranged\tiered\rifle\novakid\novatier9rifle.activeitem items\armors\decorative\hats\hobo\hobo.head items\armors\other\divingmask\divingmask.head items\buildscripts\buildunrandweapon.lua items\buildscripts\buildweapon.lua items\generic\crafting\seaweed.item items\generic\old\meatwine.consumable items\generic\old\whiskeybottle.consumable items\generic\old\whiskeyflask.consumable items\generic\old\winebottle.consumable items\generic\old\wineglass.consumable items\generic\tier3\sweetpunch.consumable items\generic\tier3\tropicalpunch.consumable items\generic\tier4\cyanider.consumable items\generic\tier6\pozest.consumable items\generic\tier6\ultimatejuice.consumable items\liquids\liquidfuel.liqitem monsters\monster.lua monsters\boss\crystalboss\crystalboss.monstertype [NEW] monsters\boss\missile\missile.lua monsters\boss\missile\missile.monstertype [NEW] monsters\boss\penguinminiufo\penguinminiufo.lua monsters\boss\penguinminiufo\penguinminiufo.monstertype monsters\boss\penguintank\penguintank.monstertype monsters\boss\penguinufo\penguinufo.monstertype monsters\boss\robotboss\robotboss.monstertype monsters\boss\spiderboss\spiderboss.monstertype monsters\ghosts\ignome\ignome.monstertype monsters\ghosts\lumoth\lumoth.monstertype monsters\ghosts\nautileech\nautileech.monstertype monsters\ghosts\pyromantle\pyromantle.monstertype monsters\ghosts\skimbus\skimbus.monstertype monsters\ghosts\spookit\spookit.monstertype monsters\ghosts\squeem\squeem.monstertype monsters\ghosts\wisper\wisper.monstertype npcs\base.npctype [NEW] objects\actionfigure\adultpoptop\adultpoptopaf.frames [NEW] objects\actionfigure\adultpoptop\adultpoptopaf.object [NEW] objects\actionfigure\adultpoptop\adultpoptopaf.png [NEW] objects\actionfigure\batong\batongaf.frames [NEW] objects\actionfigure\batong\batongaf.object [NEW] objects\actionfigure\batong\batongaf.png [NEW] objects\actionfigure\ignome\ignomeaf.frames [NEW] objects\actionfigure\ignome\ignomeaf.object [NEW] objects\actionfigure\ignome\ignomeaf.png [NEW] objects\actionfigure\iguarmor\iguarmoraf.frames [NEW] objects\actionfigure\iguarmor\iguarmoraf.object [NEW] objects\actionfigure\iguarmor\iguarmoraf.png [NEW] objects\actionfigure\miasmop\miasmopaf.frames [NEW] objects\actionfigure\miasmop\miasmopaf.object [NEW] objects\actionfigure\miasmop\miasmopaf.png [NEW] objects\actionfigure\monopus\monopusaf.frames [NEW] objects\actionfigure\monopus\monopusaf.object [NEW] objects\actionfigure\monopus\monopusaf.png [NEW] objects\actionfigure\narfin\narfinaf.frames [NEW] objects\actionfigure\narfin\narfinaf.object [NEW] objects\actionfigure\narfin\narfinaf.png [NEW] objects\actionfigure\petricub\petricubaf.frames [NEW] objects\actionfigure\petricub\petricubaf.object [NEW] objects\actionfigure\petricub\petricubaf.png [NEW] objects\actionfigure\pyromantle\pyromantleaf.frames [NEW] objects\actionfigure\pyromantle\pyromantleaf.object [NEW] objects\actionfigure\pyromantle\pyromantleaf.png [NEW] objects\actionfigure\scandroid\scandroidaf.frames [NEW] objects\actionfigure\scandroid\scandroidaf.object [NEW] objects\actionfigure\scandroid\scandroidaf.png [NEW] objects\actionfigure\skimbus\skimbusaf.frames [NEW] objects\actionfigure\skimbus\skimbusaf.object [NEW] objects\actionfigure\skimbus\skimbusaf.png [NEW] objects\actionfigure\smoglin\smoglinaf.frames [NEW] objects\actionfigure\smoglin\smoglinaf.object [NEW] objects\actionfigure\smoglin\smoglinaf.png [NEW] objects\actionfigure\snaggler\snaggleraf.frames [NEW] objects\actionfigure\snaggler\snaggleraf.object [NEW] objects\actionfigure\snaggler\snaggleraf.png [NEW] objects\actionfigure\sporgus\sporgusaf.frames [NEW] objects\actionfigure\sporgus\sporgusaf.object [NEW] objects\actionfigure\sporgus\sporgusaf.png [NEW] objects\actionfigure\squeem\squeemaf.frames [NEW] objects\actionfigure\squeem\squeemaf.object [NEW] objects\actionfigure\squeem\squeemaf.png [NEW] objects\actionfigure\tintic\tinticaf.frames [NEW] objects\actionfigure\tintic\tinticaf.object [NEW] objects\actionfigure\tintic\tinticaf.png [NEW] objects\actionfigure\trictus\trictusaf.frames [NEW] objects\actionfigure\trictus\trictusaf.object [NEW] objects\actionfigure\trictus\trictusaf.png [NEW] objects\actionfigure\triplod\triplodaf.frames [NEW] objects\actionfigure\triplod\triplodaf.object [NEW] objects\actionfigure\triplod\triplodaf.png objects\ancient\airbooster\airbooster.object objects\ancient\ancientbouldertrap\ancientbouldertrap.object objects\ancient\ancientchest\ancientchest.object objects\ancient\ancientconsole\ancientconsole.object objects\ancient\ancientconsole\returnconsole.object objects\ancient\ancientcrystaltrap\ancientcrystaltrap.object objects\ancient\ancientdoor\ancientdoor.object objects\ancient\ancientflametrap\ancientflametrap.object objects\ancient\ancientgate\ancientgate.object objects\ancient\ancienthiddenplatform\ancienthiddenplatform.object objects\ancient\ancienticetrap\ancienticetrap.object objects\ancient\ancientlight\ancientlight.object objects\ancient\ancientlightplatform\ancientlightplatform.object objects\ancient\ancientpillar\ancientpillar.object objects\ancient\ancientplaque1\ancientplaque1.object objects\apex\apexwardrobe\apexwardrobe.object objects\apex\apexwoodenchair\apexwoodenchair.object objects\apex\apexwoodenshelves\apexwoodenshelves.object objects\apex\apexwoodpanel\apexwoodpanel.object objects\apex\arrowsign\arrowsign.object objects\apex\blueflask\blueflask.object objects\apex\cider\cider.object objects\avian\flametrap\flametrap.object objects\biome\desert\sandstonebed\sandstonebed.object objects\biome\desert\sandstonechair\sandstonechair.object objects\biome\desert\sandstonechest\sandstonechest.object objects\biome\desert\sandstonedoor\sandstonedoor.object objects\biome\desert\sandstonetable\sandstonetable.object objects\biome\desert\sandstonetorch\sandstonetorch.object objects\biome\eyepatch\eyebed\eyebed.object objects\biome\eyepatch\eyechair\eyechair.object objects\biome\eyepatch\eyechest\eyechest.object objects\biome\eyepatch\eyedoor\eyedoor.object objects\biome\eyepatch\eyetable\eyetable.object objects\biome\flesh\fleshbed\fleshbed.object objects\biome\flesh\fleshbush1\fleshbush1.object objects\biome\flesh\fleshchair\fleshchair.object objects\biome\flesh\fleshchest\fleshchest.object objects\biome\flesh\fleshdoor\fleshdoor.object objects\biome\flesh\fleshtable\fleshtable.object objects\biome\giantflower\giantflower1\giantflower1.object objects\biome\giantflower\giantflower2\giantflower2.object objects\biome\giantflower\giantflower3\giantflower3.object objects\biome\giantflower\giantflower4\giantflower4.object objects\biome\giantflower\giantflowerbed\giantflowerbed.object objects\biome\giantflower\giantflowerchair\giantflowerchair.object objects\biome\giantflower\giantflowerchest\giantflowerchest.object objects\biome\giantflower\giantflowerdoor\giantflowerdoor.object objects\biome\giantflower\giantflowerlamp\giantflowerlamp.object objects\biome\giantflower\giantflowertable\giantflowertable.object objects\biome\gnome\smallchurch\smallchurch.object objects\biome\gnome\smallclocktower\smallclocktower.object objects\biome\gnome\smallhouse1\smallhouse1.object objects\biome\gnome\smallhouse10\smallhouse10.object objects\biome\gnome\smallhouse11\smallhouse11.object objects\biome\gnome\smallhouse2\smallhouse2.object objects\biome\gnome\smallhouse3\smallhouse3.object objects\biome\gnome\smallhouse4\smallhouse4.object objects\biome\gnome\smallhouse5\smallhouse5.object objects\biome\gnome\smallhouse6\smallhouse6.object objects\biome\gnome\smallhouse7\smallhouse7.object objects\biome\gnome\smallhouse8\smallhouse8.object objects\biome\gnome\smallhouse9\smallhouse9.object objects\biome\gnome\smallinn\smallinn.object objects\biome\gnome\smalllamppost\smalllamppost.object objects\biome\gnome\smallwindmill\smallwindmill.object objects\biome\slime\slimechest\slimehide.object objects\bonus\devstatuegeorge\devstatuegeorge.object objects\crafting\alloyfurnace\alloyfurnace.object objects\crafting\scififurnace\scififurnace.object objects\generic\flagapex\flagapex.object objects\generic\flagavian\flagavian.object objects\generic\flagfloran\flagfloran.object objects\generic\flagglitch\flagglitch.object objects\generic\flaghuman\flaghuman.object objects\generic\flaghylotl\flaghylotl.object objects\generic\flagnovakid\flagnovakid.object objects\glitch\barrellarge\barrellarge.object objects\glitch\royalchalice\royalchalice.object objects\hoard\diamonddisplay\diamonddisplay.object objects\hoard\grail\grail.object objects\hylotl\smashabledrink1\smashabledrink1.object objects\hylotl\smashabledrink2\smashabledrink2.object objects\hylotl\smashabledrink3\smashabledrink3.object objects\hylotl\smashabledrink4\smashabledrink4.object objects\hylotl\smashabledrink5\smashabledrink5.object objects\outpost\infinityexpress\infinityexpress.object objects\outpost\penguinbay\penguinbay.object projectiles\activeitems\boomerang\boomerang.projectile projectiles\activeitems\guidedrocket\electricguidedrocket.projectile projectiles\activeitems\guidedrocket\fireguidedrocket.projectile projectiles\activeitems\guidedrocket\guidedrocket.projectile projectiles\activeitems\guidedrocket\iceguidedrocket.projectile projectiles\activeitems\guidedrocket\poisonguidedrocket.projectile [NEW] projectiles\explosions\regularexplosion2\electricexplosionknockback.config [NEW] projectiles\explosions\regularexplosion2\electricexplosionknockback.projectile [NEW] projectiles\explosions\regularexplosion2\electricexplosionknockbackstatus.config [NEW] projectiles\explosions\regularexplosion2\fireexplosionknockback.config [NEW] projectiles\explosions\regularexplosion2\fireexplosionknockback.projectile [NEW] projectiles\explosions\regularexplosion2\fireexplosionknockbackstatus.config [NEW] projectiles\explosions\regularexplosion2\iceexplosionknockback.config [NEW] projectiles\explosions\regularexplosion2\iceexplosionknockback.projectile [NEW] projectiles\explosions\regularexplosion2\iceexplosionknockbackstatus.config [NEW] projectiles\explosions\regularexplosion2\poisonexplosionknockback.config [NEW] projectiles\explosions\regularexplosion2\poisonexplosionknockback.projectile [NEW] projectiles\explosions\regularexplosion2\poisonexplosionknockbackstatus.config projectiles\guns\bullets\piercingbullet\piercingbullet.projectile projectiles\guns\grenades\grenade\electricplasmagrenade.projectile [NEW] projectiles\guns\grenades\grenade\electricplasmagrenadestatus.projectile projectiles\guns\grenades\grenade\fireplasmagrenade.projectile [NEW] projectiles\guns\grenades\grenade\fireplasmagrenadestatus.projectile projectiles\guns\grenades\grenade\grenade.projectile projectiles\guns\grenades\grenade\iceplasmagrenade.projectile [NEW] projectiles\guns\grenades\grenade\iceplasmagrenadestatus.projectile projectiles\guns\grenades\grenade\poisonplasmagrenade.projectile [NEW] projectiles\guns\grenades\grenade\poisonplasmagrenadestatus.projectile projectiles\guns\grenades\impactgrenade\electricplasmaimpactgrenade.projectile [NEW] projectiles\guns\grenades\impactgrenade\electricplasmaimpactgrenadestatus.projectile projectiles\guns\grenades\impactgrenade\fireplasmaimpactgrenade.projectile [NEW] projectiles\guns\grenades\impactgrenade\fireplasmaimpactgrenadestatus.projectile projectiles\guns\grenades\impactgrenade\iceplasmaimpactgrenade.projectile [NEW] projectiles\guns\grenades\impactgrenade\iceplasmaimpactgrenadestatus.projectile projectiles\guns\grenades\impactgrenade\impactgrenade.projectile projectiles\guns\grenades\impactgrenade\poisonplasmaimpactgrenade.projectile [NEW] projectiles\guns\grenades\impactgrenade\poisonplasmaimpactgrenadestatus.projectile projectiles\guns\grenades\proximitymines\electricproximitymine.projectile [NEW] projectiles\guns\grenades\proximitymines\electricproximityminestatus.projectile projectiles\guns\grenades\proximitymines\fireproximitymine.projectile [NEW] projectiles\guns\grenades\proximitymines\fireproximityminestatus.projectile projectiles\guns\grenades\proximitymines\iceproximitymine.projectile [NEW] projectiles\guns\grenades\proximitymines\iceproximityminestatus.projectile projectiles\guns\grenades\proximitymines\poisonproximitymine.projectile [NEW] projectiles\guns\grenades\proximitymines\poisonproximityminestatus.projectile projectiles\guns\grenades\proximitymines\proximitymine.projectile projectiles\guns\grenades\stickygrenade\electricstickygrenade.projectile [NEW] projectiles\guns\grenades\stickygrenade\electricstickygrenadestatus.projectile projectiles\guns\grenades\stickygrenade\firestickygrenade.projectile [NEW] projectiles\guns\grenades\stickygrenade\firestickygrenadestatus.projectile projectiles\guns\grenades\stickygrenade\icestickygrenade.projectile [NEW] projectiles\guns\grenades\stickygrenade\icestickygrenadestatus.projectile projectiles\guns\grenades\stickygrenade\poisonstickygrenade.projectile [NEW] projectiles\guns\grenades\stickygrenade\poisonstickygrenadestatus.projectile projectiles\guns\grenades\stickygrenade\stickygrenade.projectile projectiles\guns\rockets\homingrocket\homingrocket.projectile projectiles\guns\unsorted\electricplasmarocket\electricplasmarocket.projectile [NEW] projectiles\guns\unsorted\electricplasmarocket\electricplasmarocketstatus.projectile projectiles\guns\unsorted\fireplasmarocket\fireplasmarocket.projectile [NEW] projectiles\guns\unsorted\fireplasmarocket\fireplasmarocketstatus.projectile projectiles\guns\unsorted\iceplasmarocket\iceplasmarocket.projectile [NEW] projectiles\guns\unsorted\iceplasmarocket\iceplasmarocketstatus.projectile projectiles\guns\unsorted\poisonplasmarocket\poisonplasmarocket.projectile [NEW] projectiles\guns\unsorted\poisonplasmarocket\poisonplasmarocketstatus.projectile projectiles\guns\unsorted\rocket\rocketshell.projectile projectiles\npcs\moontantgoop\moontantgoop.projectile quests\generated\templates\recruit_guard.questtemplate quests\outpost\coldskin1.questtemplate quests\outpost\coldskin2.questtemplate quests\outpost\coldskin3.questtemplate quests\outpost\heatskin1.questtemplate quests\outpost\outpostskin.questtemplate quests\outpost\penguinmission.questtemplate [NEW] recipes\weapons\unique\vinefist.recipe scripts\actions\entities.lua scripts\actions\flying.lua scripts\actions\movement.lua [NEW] sfx\projectiles\boomerang1.ogg [NEW] sfx\projectiles\boomerang2.ogg treasure\biome.treasurepools treasure\common.treasurepools vehicles\hoverbike\hoverbike.animation vehicles\hoverbike\hoverbike.lua vehicles\hoverbike\hoverbike.vehicle [NEW] vehicles\hoverbike\hoverbikered.animation [NEW] vehicles\hoverbike\hoverbikered.vehicle [NEW] vehicles\hoverbike\hoverbikeredbackground.png [NEW] vehicles\hoverbike\hoverbikeredforeground.png DIFFS ----- player.config 475a476,478 > }, > "grit" : { > "baseValue" : 1.0 behaviors\monsters\modular\targeting.behavior 233,240d232 < "title": "isValidTarget", < "type": "action", < "name": "isValidTarget", < "parameters": { < "entity": "filterItem" < } < }, < { 341a334,341 > { > "title": "isValidTarget", > "type": "action", > "name": "isValidTarget", > "parameters": { > "entity": "filterItem" > } > }, behaviors\monsters\modular\actions\fire.behavior 3d2 < "description": "", 19c18 < "projectilePower": 5, --- > "power": 5, 353c352 < "power": "" --- > "power": "" behaviors\monsters\modular\actions\hop.behavior 2a3 > "description": "", 276a278,329 > { > "title": "failer", > "type": "decorator", > "name": "failer", > "parameters": {}, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "entityDirection", > "type": "action", > "name": "entityDirection", > "parameters": { > "entity": "self", > "target": "target" > }, > "output": { > "yDirection": "targetYDir" > } > }, > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "greaterThan", > "type": "action", > "name": "greaterThan", > "parameters": { > "first": "targetYDir", > "second": 0 > } > } > }, > { > "title": "controlDown", > "type": "action", > "name": "controlDown", > "parameters": {} > } > ] > } > }, behaviors\monsters\modular\actions\leap.behavior 194,202c194 < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": "" < } < }, < { < "title": "dynamic", --- > "title": "parallel", 204,205c196,200 < "name": "dynamic", < "parameters": {}, --- > "name": "parallel", > "parameters": { > "fail": -1, > "success": -1 > }, 208,260c203 < "title": "selector", < "type": "composite", < "name": "selector", < "parameters": {}, < "children": [ < { < "title": "boundsCollision", < "type": "action", < "name": "boundsCollision", < "parameters": { < "dirVector": [ < 1, < 0 < ] < } < }, < { < "title": "boundsCollision", < "type": "action", < "name": "boundsCollision", < "parameters": { < "dirVector": [ < -1, < 0 < ] < } < }, < { < "title": "boundsCollision", < "type": "action", < "name": "boundsCollision", < "parameters": { < "dirVector": [ < 0, < 1 < ] < } < }, < { < "title": "boundsCollision", < "type": "action", < "name": "boundsCollision", < "parameters": { < "dirVector": [ < 0, < -1 < ] < } < } < ] < }, < { < "title": "failer", --- > "title": "succeeder", 262c205 < "name": "failer", --- > "name": "succeeder", 276c219 < "title": "velocity", --- > "title": "entityDirection", 278,279c221,225 < "name": "velocity", < "parameters": {}, --- > "name": "entityDirection", > "parameters": { > "entity": "self", > "target": "target" > }, 281c227 < "y": "yVelocity" --- > "yDirection": "targetYDir" 294c240 < "first": "yVelocity", --- > "first": "targetYDir", 300,312c246,249 < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "", < "type": "" < } < } --- > "title": "controlDown", > "type": "action", > "name": "controlDown", > "parameters": {} 318,321c255,403 < "title": "runner", < "type": "action", < "name": "runner", < "parameters": {} --- > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > }, > { > "title": "dynamic", > "type": "composite", > "name": "dynamic", > "parameters": {}, > "children": [ > { > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "boundsCollision", > "type": "action", > "name": "boundsCollision", > "parameters": { > "dirVector": [ > 1, > 0 > ] > } > }, > { > "title": "boundsCollision", > "type": "action", > "name": "boundsCollision", > "parameters": { > "dirVector": [ > -1, > 0 > ] > } > }, > { > "title": "boundsCollision", > "type": "action", > "name": "boundsCollision", > "parameters": { > "dirVector": [ > 0, > 1 > ] > } > }, > { > "title": "boundsCollision", > "type": "action", > "name": "boundsCollision", > "parameters": { > "dirVector": [ > 0, > -1 > ] > } > }, > { > "title": "onGround", > "type": "action", > "name": "onGround", > "parameters": {} > } > ] > }, > { > "title": "failer", > "type": "decorator", > "name": "failer", > "parameters": {}, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "velocity", > "type": "action", > "name": "velocity", > "parameters": {}, > "output": { > "y": "yVelocity" > } > }, > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "greaterThan", > "type": "action", > "name": "greaterThan", > "parameters": { > "first": "yVelocity", > "second": 0 > } > } > }, > { > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "", > "type": "" > } > } > } > ] > } > }, > { > "title": "runner", > "type": "action", > "name": "runner", > "parameters": {} > } > ] > } > ] behaviors\monsters\modular\movement\walkapproach.behavior 5a6 > "/scripts/actions/math.lua", 8d8 < "/scripts/actions/math.lua", 89c89,124 < "direction": "targetDirection" --- > "direction": "targetDirection", > "yDirection": "targetYDir" > } > } > ] > } > }, > { > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "greaterThan", > "type": "action", > "name": "greaterThan", > "parameters": { > "first": "targetYDir", > "second": 0 > } 90a126,131 > }, > { > "title": "controlDown", > "type": "action", > "name": "controlDown", > "parameters": {} 155,167d195 < { < "title": "entityDirection", < "type": "action", < "name": "entityDirection", < "parameters": { < "entity": "self", < "target": "target" < }, < "output": { < "direction": "direction", < "yDirection": "targetYDir" < } < }, behaviors\monsters\unique\paratail.behavior 2a3 > "description": "", 7c8 < "/scripts/actions/time.lua", --- > "/scripts/actions/entities.lua", 9c10 < "/scripts/actions/entities.lua" --- > "/scripts/actions/time.lua" 79,308d79 < "title": "failer", < "type": "decorator", < "name": "failer", < "parameters": {}, < "child": { < "title": "parallel", < "type": "composite", < "name": "parallel", < "parameters": { < "fail": 1, < "success": -1 < }, < "children": [ < { < "title": "selector", < "type": "composite", < "name": "selector", < "parameters": {}, < "children": [ < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.5, < "resource": "health" < } < } < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "selector", < "type": "composite", < "name": "selector", < "parameters": {}, < "children": [ < { < "title": "hasFlag", < "type": "action", < "name": "hasFlag", < "parameters": { < "name": "explode" < } < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "windup", < "type": "body" < } < }, < { < "title": "halt", < "type": "action", < "name": "halt", < "parameters": {} < }, < { < "title": "setGlobalTag", < "type": "action", < "name": "setGlobalTag", < "parameters": { < "type": "explode", < "tag": "explode" < } < }, < { < "title": "setFlag", < "type": "action", < "name": "setFlag", < "parameters": { < "name": "explode" < } < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.5 < } < } < ] < } < ] < } < ] < } < ] < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "unsetFlag", < "type": "action", < "name": "unsetFlag", < "parameters": { < "name": "explode" < } < }, < { < "title": "setGlobalTag", < "type": "action", < "name": "setGlobalTag", < "parameters": { < "type": "explode" < } < } < ] < } < ] < } < ] < } < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "wasDamaged", < "type": "action", < "name": "wasDamaged", < "parameters": {} < }, < { < "title": "setGlobalTag", < "type": "action", < "name": "setGlobalTag", < "parameters": { < "type": "hurt", < "tag": "hurt" < } < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.25 < } < }, < { < "title": "dynamic", < "type": "composite", < "name": "dynamic", < "parameters": {}, < "children": [ < { < "title": "onGround", < "type": "action", < "name": "onGround", < "parameters": {} < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 0.5 < } < } < ] < }, < { < "title": "setGlobalTag", < "type": "action", < "name": "setGlobalTag", < "parameters": { < "type": "hurt" < } < } < ] < }, < { 324,328c95,106 < "title": "hasFlag", < "type": "action", < "name": "hasFlag", < "parameters": { < "name": "explode" --- > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", > "parameters": { > "percentage": 0.5, > "resource": "health" > } 454,456c232,234 < "title": "approach-fly", < "type": "module", < "name": "approach-fly", --- > "title": "sequence", > "type": "composite", > "name": "sequence", 458,463c236,272 < "stopForce": 500, < "avoidLiquid": true, < "usePathfinding": false, < "approachTime": 0, < "flyState": "fly" < } --- > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "windup", > "type": "body" > } > }, > { > "title": "setGlobalTag", > "type": "action", > "name": "setGlobalTag", > "parameters": { > "type": "explode", > "tag": "explode" > } > }, > { > "title": "approach-fly", > "type": "module", > "name": "approach-fly", > "parameters": { > "stopForce": 500, > "avoidLiquid": true, > "usePathfinding": false, > "approachTime": 0, > "flyState": "fly" > } > } > ] 500a310,318 > } > }, > { > "title": "setGlobalTag", > "type": "action", > "name": "setGlobalTag", > "parameters": { > "type": "explode", > "tag": "" behaviors\monsters\unique\taroni.behavior 230c230 < "projectilePower": 10, --- > "power": 10, behaviors\npc\floranspectator.behavior 24c24 < "direction": "direction" --- > "direction": "moveDirection" 35c35,36 < "name": "converse" --- > "name": "converse", > "parameters": {} 47a49 > "parameters": {}, 141c143 < "direction": "direction" --- > "direction": "moveDirection" 144c146 < "direction": "direction" --- > "direction": "moveDirection" 160c162,164 < "parameters": {} --- > "parameters": { > "direction": "moveDirection" > } 167c171,174 < "time": 3 --- > "time": [ > 1, > 3 > ] biomes\underground\underground5b.biome 27c27 < "subBlocks" : [ "metallic", "rock17" ], --- > "subBlocks" : [ "copperblock", "rock17" ], codex\documents\deckardnote.codexitem 9c9 < "shortdescription" : "Handwritten note" --- > "shortdescription" : "Handwritten Note" codex\documents\glitchprologue.codex 8c8 < "But with self awareness comes self preservation. No longer tied to the hivemind, you have the capability to think indepedently, and get yourself out of this mess. At least, in theory. It's time to find out just how useful sentient thought can be." --- > "But with self awareness comes self preservation. No longer tied to the hivemind, you have the capability to think independently, and get yourself out of this mess. At least, in theory. It's time to find out just how useful sentient thought can be." codex\documents\lasladiary01.codexitem 8c8 < "description" : "Las'la Crimsongwing's Diary #1", --- > "description" : "Las'la Crimsonwing's Diary #1", codex\documents\lasladiary02.codexitem 8c8 < "description" : "Las'la Crimsongwing's Diary #2", --- > "description" : "Las'la Crimsonwing's Diary #2", codex\documents\lasladiary03.codexitem 8c8 < "description" : "Las'la Crimsongwing's Diary #3", --- > "description" : "Las'la Crimsonwing's Diary #3", dungeons\microdungeons\underground\underground5b\underground5bmicrodungeons.dungeon 8c8 < "anchor" : [ "underground5b_open1", "underground5b_tunnelBackSlope1", "underground5b_tunnelForwardSlope1", "underground5b_tunnel1", "underground5b_tunnelWeakBackSlope1", "underground5b_tunnelWeakForwardSlope1" ], --- > "anchor" : [ "underground5b_open1", "underground5b_open2", "underground5b_tunnelBackSlope1", "underground5b_tunnelBackSlope2", "underground5b_tunnelForwardSlope1", "underground5b_tunnelForwardSlope2", "underground5b_tunnel1", "underground5b_tunnel2", "underground5b_tunnelWeakBackSlope1", "underground5b_tunnelWeakBackSlope2", "underground5b_tunnelWeakForwardSlope1", "underground5b_tunnelWeakForwardSlope2" ], 24a25,31 > "name" : "underground5b_open2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_open2.json" ] > }, > { 31a39,45 > "name" : "underground5b_tunnelBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_tunnelBackSlope2.json" ] > }, > { 38a53,59 > "name" : "underground5b_tunnelForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_tunnelForwardSlope2.json" ] > }, > { 45a67,73 > "name" : "underground5b_tunnel2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_tunnel2.json" ] > }, > { 52a81,87 > "name" : "underground5b_tunnelWeakBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_tunnelWeakBackSlope2.json" ] > }, > { 57a93,99 > }, > { > "name" : "underground5b_tunnelWeakForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground5b_tunnelWeakForwardSlope2.json" ] dungeons\microdungeons\underground\underground5b\underground5b_open1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground5b\underground5b_tunnelbackslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground5b\underground5b_tunnelforwardslope1.json [TMX file differences are left out for huge size.] dungeons\missions\floranmissions\floranmission1.dungeon 2734c2734 < "comment" : "aggressive hunter's quadruped npc", --- > "comment" : "snaunts", 2738c2738 < "typeName" : "largequadruped", --- > "typeName" : "snaunt", dungeons\missions\lunarbase\lunarbase.dungeon 422a423,446 > > { > "value" : [38, 0, 0, 255], > "comment" : "wire #38", > "brush" : [ [ "wire", { "group" : "group38", "local" : true } ] ] > }, > > { > "value" : [39, 0, 0, 255], > "comment" : "wire #39", > "brush" : [ [ "wire", { "group" : "group39", "local" : true } ] ] > }, > > { > "value" : [40, 0, 0, 255], > "comment" : "wire #40", > "brush" : [ [ "wire", { "group" : "group40", "local" : true } ] ] > }, > > { > "value" : [41, 0, 0, 255], > "comment" : "wire #41", > "brush" : [ [ "wire", { "group" : "group41", "local" : true } ] ] > }, dungeons\undergroundmaze\mazeornate\entryright.json [TMX file differences are left out for huge size.] items\active\vehiclecontroller\vehiclecontroller.activeitem 5,6c5,6 < "description" : "Some kinda weird and janky thing.", < "shortdescription" : "Vehicle Controller", --- > "description" : "Nanostorage container for a dun two seater hoverbike.", > "shortdescription" : "Dun Hoverbike Controller", items\active\weapons\fist\fistweapon.animation 17c17 < "properties" : { --- > "properties" : { items\active\weapons\fist\stunglove.activeitem 6c6 < "description" : "A statically charged insulated glove", --- > "description" : "Shockingly effective.", 8c8 < "tooltipKind" : "base", --- > "tooltipKind" : "fistweapon", items\active\weapons\fist\combofinishers\thunderpunch.combofinisher 56c56 < "baseDamage" : 8.0, --- > "baseDamage" : 4.0, items\active\weapons\melee\meleeweapon.lua 6a7 > animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) items\active\weapons\melee\altabilities\spear\barrier\barrier.altability 77c77 < "energyUsage" : 10.0, --- > "energyUsage" : 8.0, items\active\weapons\melee\axe\axe.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 30c34 < "image" : "", --- > "image" : "", 50c54 < "image" : "", --- > "image" : "", items\active\weapons\melee\axe\commonaxe.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\axe\npcaxe.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\axe\rareaxe.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\axe\uncommonaxe.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\broadsword\broadsword.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "??", --- > "image" : "??", 35c39 < "image" : "?", --- > "image" : "?", items\active\weapons\melee\broadsword\tieredbroadsword.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "??", --- > "image" : "??", items\active\weapons\melee\dagger\dagger.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 23c27 < "image" : "", --- > "image" : "", 32c36 < "image" : "", --- > "image" : "", items\active\weapons\melee\hammer\commonhammer.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\hammer\hammer.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "", --- > "image" : "", 34c38 < "image" : "", --- > "image" : "", items\active\weapons\melee\hammer\hammer.lua 8a9 > animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) items\active\weapons\melee\hammer\npchammer.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\hammer\rarehammer.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\hammer\tieredhammer.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "??", --- > "image" : "??", items\active\weapons\melee\hammer\uncommonhammer.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\shortsword\shortsword.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 23c27 < "image" : "", --- > "image" : "", 33c37 < "image" : "", --- > "image" : "", items\active\weapons\melee\spear\commonspear.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\spear\npcspear.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\spear\rarespear.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\melee\spear\spear.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "", --- > "image" : "", 34c38 < "image" : "", --- > "image" : "", items\active\weapons\melee\spear\spear.lua 6a7 > animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) items\active\weapons\melee\spear\tieredspear.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 24c28 < "image" : "", --- > "image" : "", items\active\weapons\melee\spear\uncommonspear.activeitem 13,14d12 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\gun.animation 1a2,5 > "globalTagDefaults" : { > "paletteSwaps" : "" > }, > 22c26 < "image" : "", --- > "image" : "", 30c34 < "image" : "", --- > "image" : "", 38c42 < "image" : "", --- > "image" : "", items\active\weapons\ranged\gun.lua 8a9 > animator.setGlobalTag("paletteSwaps", item.instanceValue("paletteSwaps", "")) items\active\weapons\ranged\altabilities\piercingshot\piercingshot.altability 30c30 < "projectileType" : "standardbullet", --- > "projectileType" : "piercingbullet", items\active\weapons\ranged\assaultrifle\commonassaultrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\assaultrifle\npcassaultrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\assaultrifle\rareassaultrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\assaultrifle\uncommonassaultrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\chakram\hardchakram.activeitem 29,31c29,31 < "knockback" : 5, < "power" : 0.75, < "damageRepeatTimeout" : 0.2, --- > "knockback" : 15, > "power" : 2.0, > "damageRepeatTimeout" : 0.5, items\active\weapons\ranged\grenadelauncher\commongrenadelauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 53c51 < "baseDps" : [3.75, 4.5], --- > "baseDps" : [2.75, 3.5], items\active\weapons\ranged\grenadelauncher\raregrenadelauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 51c49 < "baseDps" : [4.25, 5], --- > "baseDps" : [2.75, 3.5], 102,104c100 < "projectileType" : [ "fireplasmagrenade", "fireplasmaimpactgrenade", "firestickygrenade", "fireproximitymine" ], < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreezestatus.config" } ] } < } --- > "projectileType" : [ "fireplasmagrenadestatus", "fireplasmaimpactgrenadestatus", "firestickygrenadestatus", "fireproximityminestatus" ] } 108,110c104 < "projectileType" : [ "iceplasmagrenade", "iceplasmaimpactgrenade", "icestickygrenade", "iceproximitymine" ], < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreezestatus.config" } ] } < } --- > "projectileType" : [ "iceplasmagrenadestatus", "iceplasmaimpactgrenadestatus", "icestickygrenadestatus", "iceproximityminestatus" ] } 114,116c108 < "projectileType" : [ "poisonplasmagrenade", "poisonplasmaimpactgrenade", "poisonstickygrenade", "poisonproximitymine" ], < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreezestatus.config" } ] } < } --- > "projectileType" : [ "poisonplasmagrenadestatus", "poisonplasmaimpactgrenadestatus", "poisonstickygrenadestatus", "poisonproximityminestatus" ] } 120,122c112 < "projectileType" : [ "electricplasmagrenade", "electricplasmaimpactgrenade", "electricstickygrenade", "electricproximitymine" ], < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreezestatus.config" } ] } < } --- > "projectileType" : [ "electricplasmagrenadestatus", "electricplasmaimpactgrenadestatus", "electricstickygrenadestatus", "electricproximityminestatus" ] } items\active\weapons\ranged\grenadelauncher\uncommongrenadelauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 51c49 < "baseDps" : [4.25, 5], --- > "baseDps" : [2.75, 3.5], items\active\weapons\ranged\machinepistol\commonmachinepistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.06, --- > "inaccuracy" : 0.04, items\active\weapons\ranged\machinepistol\npcmachinepistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.06, --- > "inaccuracy" : 0.04, items\active\weapons\ranged\machinepistol\raremachinepistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.06, --- > "inaccuracy" : 0.04, items\active\weapons\ranged\machinepistol\uncommonmachinepistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.06, --- > "inaccuracy" : 0.04, items\active\weapons\ranged\pistol\commonpistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 30c28 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.025, items\active\weapons\ranged\pistol\npcpistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 30c28 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.025, items\active\weapons\ranged\pistol\rarepistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.025, items\active\weapons\ranged\pistol\uncommonpistol.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.025, items\active\weapons\ranged\rocketlauncher\commonrocketlauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 62c60 < "knockback" : 50 --- > "knockback" : 40 items\active\weapons\ranged\rocketlauncher\npcrocketlauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < items\active\weapons\ranged\rocketlauncher\rarerocketlauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 59c57 < "knockback" : 50 --- > "knockback" : 40 106,109c104 < "primaryAttack" : { < "projectileType" : "fireplasmarocket", < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreezestatus.config" } ] } < }, --- > "primaryAttack" : { "projectileType" : "fireplasmarocketstatus" }, 113,116c108 < "primaryAttack" : { < "projectileType" : "iceplasmarocket", < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreezestatus.config" } ] } < }, --- > "primaryAttack" : { "projectileType" : "iceplasmarocketstatus" }, 120,123c112 < "primaryAttack" : { < "projectileType" : "poisonplasmarocket", < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreezestatus.config" } ] } < }, --- > "primaryAttack" : { "projectileType" : "poisonplasmarocketstatus" }, 127,130c116 < "primaryAttack" : { < "projectileType" : "electricplasmarocket", < "projectileParameters" : { "actionOnReap" : [ { "action" : "config", "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreezestatus.config" } ] } < }, --- > "primaryAttack" : { "projectileType" : "electricplasmarocketstatus" }, items\active\weapons\ranged\rocketlauncher\uncommonrocketlauncher.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 59c57 < "knockback" : 50 --- > "knockback" : 40 items\active\weapons\ranged\shotgun\commonshotgun.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 34,35c32,33 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\shotgun\npcshotgun.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 34,35c32,33 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\shotgun\rareshotgun.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 31,32c29,30 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\shotgun\uncommonshotgun.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 31,32c29,30 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\sniperrifle\commonsniperrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 30c28 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, 33,34c31,32 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\sniperrifle\npcsniperrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 30c28 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, 33,34c31,32 < "projectileParameters" : { < "knockback" : 40 --- > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\sniperrifle\raresniperrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28,30c26,28 < "inaccuracy" : 0.02, < "projectileParameters" : { < "knockback" : 40 --- > "inaccuracy" : 0.008, > "projectileParameters" : { > "knockback" : [10, 40] items\active\weapons\ranged\sniperrifle\uncommonsniperrifle.activeitem 14,15d13 < "inventoryIcon" : "icon.png", < 28c26 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, 30c28 < "knockback" : 40 --- > "knockback" : [10, 40] items\active\weapons\ranged\tiered\rifle\novakid\novatier0rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier10rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier1rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier2rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier3rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier4rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier5rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier6rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier7rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier8rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\active\weapons\ranged\tiered\rifle\novakid\novatier9rifle.activeitem 39c39 < "inaccuracy" : 0.02, --- > "inaccuracy" : 0.008, items\armors\decorative\hats\hobo\hobo.head 8c8 < "shortdescription" : "Cardbord Hobo Hat", --- > "shortdescription" : "Cardboard Hobo Hat", items\armors\other\divingmask\divingmask.head 8c8 < "shortdescription" : "Cardboard Hat", --- > "shortdescription" : "Diving Mask", items\buildscripts\buildunrandweapon.lua 23c23 < local paletteSwaps = "" --- > config.paletteSwaps = "" 28,33c28 < paletteSwaps = string.format("%s?replace=%s=%s", paletteSwaps, k, v) < end < < config.inventoryIcon = config.inventoryIcon..paletteSwaps < for k,v in pairs(config.animationParts) do < config.animationParts[k] = v..paletteSwaps --- > config.paletteSwaps = string.format("%s?replace=%s=%s", config.paletteSwaps, k, v) 35a31 > config.inventoryIcon = config.inventoryIcon .. config.paletteSwaps items\buildscripts\buildweapon.lua 64c64 < -- preprocess primary attack config --- > -- preprocess shared primary attack config 66,68c66,68 < parameters.primaryAttack.fireTime = parameters.primaryAttack.fireTime or util.randomInRange(config.primaryAttack.fireTime) < parameters.primaryAttack.baseDps = parameters.primaryAttack.baseDps or util.randomInRange(config.primaryAttack.baseDps) < parameters.primaryAttack.energyUsage = parameters.primaryAttack.energyUsage or util.randomInRange(config.primaryAttack.energyUsage) or 0 -- can be 0 for swords --- > parameters.primaryAttack.fireTimeFactor = parameters.primaryAttack.fireTimeFactor or math.random() > parameters.primaryAttack.baseDpsFactor = parameters.primaryAttack.baseDpsFactor or math.random() > parameters.primaryAttack.energyUsageFactor = parameters.primaryAttack.energyUsageFactor or math.random() 70,71c70,79 < -- preprocess primary projectile parameters (ranged) < -- TODO: store less data --- > config.primaryAttack.fireTime = scaleConfig(parameters.primaryAttack.fireTimeFactor, config.primaryAttack.fireTime) > config.primaryAttack.baseDps = scaleConfig(parameters.primaryAttack.baseDpsFactor, config.primaryAttack.baseDps) > config.primaryAttack.energyUsage = scaleConfig(parameters.primaryAttack.energyUsageFactor, config.primaryAttack.energyUsage) or 0 > > -- preprocess melee primary attack config > if config.primaryAttack.damageConfig then > config.primaryAttack.damageConfig.knockback = scaleConfig(parameters.primaryAttack.fireTimeFactor, config.primaryAttack.damageConfig.knockback) > end > > -- preprocess ranged primary attack config 73,77c81,86 < parameters.primaryAttack.projectileType = parameters.primaryAttack.projectileType or util.randomFromList(config.primaryAttack.projectileType) < parameters.primaryAttack.projectileCount = parameters.primaryAttack.projectileCount or util.randomIntInRange(config.primaryAttack.projectileCount) or 1 < parameters.primaryAttack.fireType = parameters.primaryAttack.fireType or util.randomFromList(config.primaryAttack.fireType) or "auto" < parameters.primaryAttack.burstCount = parameters.primaryAttack.burstCount or util.randomIntInRange(config.primaryAttack.burstCount) < parameters.primaryAttack.burstTime = parameters.primaryAttack.burstTime or util.randomInRange(config.primaryAttack.burstTime) --- > config.primaryAttack.projectileType = util.randomFromList(config.primaryAttack.projectileType) > config.primaryAttack.projectileCount = util.randomIntInRange(config.primaryAttack.projectileCount) or 1 > config.primaryAttack.fireType = util.randomFromList(config.primaryAttack.fireType) or "auto" > config.primaryAttack.burstCount = util.randomIntInRange(config.primaryAttack.burstCount) > config.primaryAttack.burstTime = util.randomInRange(config.primaryAttack.burstTime) > config.primaryAttack.projectileParameters.knockback = scaleConfig(parameters.primaryAttack.fireTimeFactor, config.primaryAttack.projectileParameters.knockback) 84,85c93 < -- TODO: only run this when needed < local paletteSwaps = "" --- > config.paletteSwaps = "" 90c98 < paletteSwaps = string.format("%s?replace=%s=%s", paletteSwaps, k, v) --- > config.paletteSwaps = string.format("%s?replace=%s=%s", config.paletteSwaps, k, v) 100d107 < local iconDrawables = {} 105d111 < 109c115 < parameters.animationParts[k] = parameters.animationParts[k] .. paletteSwaps --- > parameters.animationParts[k] = parameters.animationParts[k] 114,117d119 < < if k ~= "muzzleFlash" and k ~= "swoosh" then < iconDrawables[k] = {image = parameters.animationParts[k]} < end 122a125 > local partImagePositions = {} 133,135c136 < if iconDrawables[part] then < iconDrawables[part].position = copy(imageOffset) < end --- > partImagePositions[part] = copy(imageOffset) 148,152c149,159 < -- set inventory icon < if not parameters.inventoryIcon then < parameters.inventoryIcon = jarray() < for _,iconDrawable in pairs(iconDrawables) do < table.insert(parameters.inventoryIcon, iconDrawable) --- > -- build inventory icon > if not config.inventoryIcon and parameters.animationParts then > config.inventoryIcon = jarray() > for k, v in pairs(parameters.animationParts) do > if k ~= "muzzleFlash" and k ~= "swoosh" then > local drawable = { > image = v .. config.paletteSwaps, > position = partImagePositions[k] > } > table.insert(config.inventoryIcon, drawable) > end 157a165,167 > local fireTime = parameters.primaryAttack.fireTime or config.primaryAttack.fireTime > local baseDps = parameters.primaryAttack.baseDps or config.primaryAttack.baseDps > local energyUsage = parameters.primaryAttack.energyUsage or config.primaryAttack.energyUsage 160,163c170,173 < config.tooltipFields.dpsLabel = util.round(parameters.primaryAttack.baseDps * config.damageLevelMultiplier, 1) < config.tooltipFields.speedLabel = util.round(1 / parameters.primaryAttack.fireTime, 1) < config.tooltipFields.damagePerShotLabel = util.round(parameters.primaryAttack.baseDps * parameters.primaryAttack.fireTime * config.damageLevelMultiplier, 1) < config.tooltipFields.energyPerShotLabel = util.round(parameters.primaryAttack.energyUsage * parameters.primaryAttack.fireTime, 1) --- > config.tooltipFields.dpsLabel = util.round(baseDps * config.damageLevelMultiplier, 1) > config.tooltipFields.speedLabel = util.round(1 / fireTime, 1) > config.tooltipFields.damagePerShotLabel = util.round(baseDps * fireTime * config.damageLevelMultiplier, 1) > config.tooltipFields.energyPerShotLabel = util.round(energyUsage * fireTime, 1) 178a189,196 > end > > function scaleConfig(ratio, value) > if type(value) == "table" then > return util.lerp(ratio, value[1], value[2]) > else > return value > end items\generic\crafting\seaweed.item 6c6 < "description" : "Some aline seaweed.", --- > "description" : "Some alien seaweed.", items\generic\old\meatwine.consumable 7,8c7,8 < "description" : "A wine of fermented grapes and meat juices. Popular among Florans.", < "shortdescription" : "Meatwine", --- > "description" : "A drink made of fermented grapes and meat juices. Popular among Florans.", > "shortdescription" : "Meatjuice", items\generic\old\whiskeybottle.consumable 7,8c7,8 < "description" : "A bottle of whiskey.", < "shortdescription" : "Whiskey Bottle", --- > "description" : "A bottle of dandelion pop.", > "shortdescription" : "Dandelion Pop Bottle", items\generic\old\whiskeyflask.consumable 7,8c7,8 < "description" : "A flask of whiskey.", < "shortdescription" : "Whiskey Flask", --- > "description" : "A flask of dandelion pop.", > "shortdescription" : "Dandelion Pop Flask", items\generic\old\winebottle.consumable 7,8c7,8 < "description" : "A bottle of smooth red wine.", < "shortdescription" : "Wine", --- > "description" : "A bottle of smooth avesmingo cordial.", > "shortdescription" : "Avesmingo Cordial", items\generic\old\wineglass.consumable 7,8c7,8 < "description" : "A glass of smooth red wine.", < "shortdescription" : "Wine", --- > "description" : "A glass of smooth avesmingo cordial.", > "shortdescription" : "Avesmingo Cordial", items\generic\tier3\sweetpunch.consumable 6c6 < "description" : "A cocktail of only the sweetest of sweet fruit.", --- > "description" : "A mixture of only the sweetest of sweet fruit.", items\generic\tier3\tropicalpunch.consumable 6c6 < "description" : "A tropical cocktail that packs a punch.", --- > "description" : "A tropical mix that packs a punch.", items\generic\tier4\cyanider.consumable 6c6 < "description" : "A strong cider made of oculemon and pussplum.", --- > "description" : "A strong mulled drink made of oculemon and pussplum. Delicious!", items\generic\tier6\pozest.consumable 6c6 < "description" : "A popular cocktail with the barfly Glitch.", --- > "description" : "A popular Glitch energy drink. Or is it just a placebo?", items\generic\tier6\ultimatejuice.consumable 6c6 < "description" : "-to do-.", --- > "description" : "All the fruit, in a juice.", items\liquids\liquidfuel.liqitem 11c11 < "price" : 1 --- > "price" : 5 monsters\monster.lua 59a60 > entity.setGlobalTag("hurt", "hurt") 63a65 > entity.setGlobalTag("hurt", "") monsters\boss\crystalboss\crystalboss.monstertype 70c70 < "mass" : 0.6, --- > "mass" : 4.0, 73c73 < "airForce" : 10, --- > "airForce" : 200, 113,114c113,114 < "knockbackThreshold" : { < "baseValue" : 10 --- > "grit" : { > "baseValue" : 1.0 monsters\boss\missile\missile.monstertype 15c15 < "/monsters/boss/missile/behavior.lua", --- > "/monsters/boss/missile/missile.lua", 29c29 < "mass" : 0.1, --- > "mass" : 1.0, 61a62,64 > }, > "grit" : { > "baseValue" : 1.0 monsters\boss\penguinminiufo\penguinminiufo.monstertype 14c14 < "/monsters/boss/penguinMiniUfo/behavior.lua", --- > "/monsters/boss/penguinMiniUfo/penguinMiniUfo.lua", 23a24 > "gravityEnabled" : false, 26,29c27 < "mass" : 0.2, < "walkSpeed" : 2, < "runSpeed" : 2, < "jumpSpeed" : 5, --- > "mass" : 1.0, 31,33c29,30 < "airFriction" : 0.10, < "airForce" : 50.0, < "gravityEnabled" : false --- > "airFriction" : 0.25, > "airForce" : 50.0 monsters\boss\penguintank\penguintank.monstertype 26c26 < "mass" : 0.2, --- > "mass" : 1.6, 28,33c28 < "runSpeed" : 2, < "flySpeed" : 8, < "airForce" : 30.0, < "airJumpProfile": { < "jumpSpeed" : 0.0 < } --- > "runSpeed" : 2 monsters\boss\penguinufo\penguinufo.monstertype 54a55 > "gravityEnabled" : false, 57,60c58 < "mass" : 0.2, < "walkSpeed" : 2, < "runSpeed" : 2, < "jumpSpeed" : 5, --- > "mass" : 4.0, 62,64c60 < "airForce" : 25.0, < < "gravityEnabled" : false --- > "airForce" : 200.0 97,98c93,94 < "knockbackThreshold" : { < "baseValue" : 10 --- > "grit" : { > "baseValue" : 1.0 monsters\boss\robotboss\robotboss.monstertype 70c70,71 < "mass" : 0.6, --- > > "mass" : 2.0, 72,77c73 < "runSpeed" : 13, < "airForce" : 10, < "airJumpProfile" : { < "jumpControlForce" : 0, < "jumpInitialPercentage" : 0 < } --- > "runSpeed" : 13 113,114c109,110 < "knockbackThreshold" : { < "baseValue" : 10 --- > "grit" : { > "baseValue" : 1.0 monsters\boss\spiderboss\spiderboss.monstertype 41d40 < 43c42,43 < "mass" : 0.6, --- > > "mass" : 4.0, 82,83c82,83 < "knockbackThreshold" : { < "baseValue" : 10 --- > "grit" : { > "baseValue" : 1.0 monsters\ghosts\ignome\ignome.monstertype 72a73,75 > "name" : "emerge-fly" > }, > { monsters\ghosts\lumoth\lumoth.monstertype 47a48,50 > "name" : "emerge-fly" > }, > { monsters\ghosts\nautileech\nautileech.monstertype 48c48,52 < "wanderActions" : [ ], --- > "wanderActions" : [ > { > "name" : "emerge-fly" > } > ], monsters\ghosts\pyromantle\pyromantle.monstertype 86c86,90 < "wanderActions" : [ ], --- > "wanderActions" : [ > { > "name" : "emerge-fly" > } > ], monsters\ghosts\skimbus\skimbus.monstertype 74a75,77 > "name" : "emerge-fly" > }, > { monsters\ghosts\spookit\spookit.monstertype 77c77,81 < "wanderActions" : [ ], --- > "wanderActions" : [ > { > "name" : "emerge-fly" > } > ], monsters\ghosts\squeem\squeem.monstertype 48c48,52 < "wanderActions" : [ ], --- > "wanderActions" : [ > { > "name" : "emerge-fly" > } > ], monsters\ghosts\wisper\wisper.monstertype 82c82,86 < "wanderActions" : [ ], --- > "wanderActions" : [ > { > "name" : "emerge-fly" > } > ], npcs\base.npctype 32c32 < "chance": 0.004 --- > "chance": 0.008 objects\ancient\airbooster\airbooster.object 15a16 > "novakidDescription" : "Sometimes you just need a little boost in life.", objects\ancient\ancientbouldertrap\ancientbouldertrap.object 15a16 > "novakidDescription" : "Rollin' boulders!", objects\ancient\ancientchest\ancientchest.object 14,15c14,15 < "apexDescription" : "An ancient chest of unknown origin.", < "avianDescription" : "An ancient chest of unknown origin.", --- > "apexDescription" : "An extremely old chest. It could contain anything.", > "avianDescription" : "This chest looks to be very old indeed.", 17,19c17,20 < "glitchDescription" : "The structure of this chest is impenetrable to my sensors.", < "humanDescription" : "An ancient chest of unknown origin.", < "hylotlDescription" : "An ancient chest of unknown origin.", --- > "glitchDescription" : "Cautious. The structure of this chest is impenetrable to my sensors.", > "humanDescription" : "That is one old looking chest.", > "hylotlDescription" : "This chest has an unfamiliar design, I am unable to determine it's maker.", > "novakidDescription" : "It's amazing this chest is still standing after all this time.", objects\ancient\ancientconsole\ancientconsole.object 12c12 < "description" : "This looks like a control panel for the gate. It still seems to work.", --- > "description" : "This looks like the control panel for the gate. It still seems to work.", 16,22c16,22 < "apexDescription" : "A gate control panel.", < "avianDescription" : "A gate control panel.", < "floranDescription" : "Controlsss.", < "glitchDescription" : "Statement. A gate control panel.", < "humanDescription" : "A gate control panel.", < "hylotlDescription" : "A control panel.", < "novakidDescription" : "Let's see if I can't jimmy my way through this.", --- > "apexDescription" : "An extremely old piece of technology.", > "avianDescription" : "This console must be as old at the gate itself. That's old!", > "floranDescription" : "Ancient controlsss for the ancient gate.", > "glitchDescription" : "Impressed. The control panel for the gate, it looks very old indeed.", > "humanDescription" : "The gate control panel. It must be as old as the gate.", > "hylotlDescription" : "The gate console. Like the gate, it is a mystery.", > "novakidDescription" : "Let's see if I can't get this old thing workin'.", objects\ancient\ancientconsole\returnconsole.object 12c12 < "description" : "This looks like a control panel for the gate. It still seems to work.", --- > "description" : "This looks like the control panel for the gate. It still seems to work.", 16,22c16,22 < "apexDescription" : "A gate control panel.", < "avianDescription" : "A gate control panel.", < "floranDescription" : "Controlsss.", < "glitchDescription" : "Statement. A gate control panel.", < "humanDescription" : "A gate control panel.", < "hylotlDescription" : "A control panel.", < "novakidDescription" : "Let's see if I can't jimmy my way through this.", --- > "apexDescription" : "An extremely old piece of technology.", > "avianDescription" : "This console must be as old at the gate itself. That's old!", > "floranDescription" : "Ancient controlsss for the ancient gate.", > "glitchDescription" : "Impressed. The control panel for the gate, it looks very old indeed.", > "humanDescription" : "The gate control panel. It must be as old as the gate.", > "hylotlDescription" : "The gate console. Like the gate, it is a mystery.", > "novakidDescription" : "Let's see if I can't get this old thing workin'.", objects\ancient\ancientcrystaltrap\ancientcrystaltrap.object 15a16 > "novakidDescription" : "Crazy crystal shootin' light right at me!", objects\ancient\ancientdoor\ancientdoor.object 13,14c13,14 < "apexDescription" : "an ancient door.", < "avianDescription" : "an ancient door.", --- > "apexDescription" : "A door made of an ancient stone.", > "avianDescription" : "A sturdy door of ancient origin.", 16,18c16,19 < "glitchDescription" : "Analysis. An ancient door of unknown origin.", < "humanDescription" : "A sturdy door of ancient origin.", < "hylotlDescription" : "This door is a relic.", --- > "glitchDescription" : "Guarded. It would not be surprising if this ancient door failed to open.", > "humanDescription" : "I bet these runes say 'open' and 'close'.", > "hylotlDescription" : "This door is a relic of a time long past.", > "novakidDescription" : "This door is a relic.", objects\ancient\ancientflametrap\ancientflametrap.object 15a16 > "novakidDescription" : "Simple yet deadly. My favourite kind.", objects\ancient\ancientgate\ancientgate.object 15,17c15,17 < "glitchDescription" : "Confusion. I cannot trace the origins of this gate.", < "humanDescription" : "A strange and arcane gate carved in mystery.", < "hylotlDescription" : "Looks like something a Hylotl child would make in arts and crafts.", --- > "glitchDescription" : "Confused. I cannot trace the origins of this gate.", > "humanDescription" : "A strange and arcane gate shrouded in mystery.", > "hylotlDescription" : "A monumental structure, it looms above me. Dare I see where it leads?", objects\ancient\ancienthiddenplatform\ancienthiddenplatform.object 15,16c15,16 < "glitchDescription" : "Scanning. Something is hidden here.", < "humanDescription" : "These bricks have an unnatural shine.", --- > "glitchDescription" : "Sceptical. Something is hidden here.", > "humanDescription" : "These bricks have an unusual look to them.", 17a18 > "novakidDescription" : "I ain't never seen bricks this untrustworthy.", objects\ancient\ancienticetrap\ancienticetrap.object 14c14 < "humanDescription" : "Watch out for the deadly ice projectiles.", --- > "humanDescription" : "Watch out for the deadly ice blast.", 15a16 > "novakidDescription" : "This frost trap could freeze the paws off a brass monkey.", objects\ancient\ancientlight\ancientlight.object 8a9,16 > "apexDescription" : "What has been supplying this light's power for so many years?", > "avianDescription" : "I'd expect a wall lamp this large to give off more light.", > "floranDescription" : "Large ugly old light.", > "glitchDescription" : "Disinterested. A large and unsightly light.", > "humanDescription" : "This light has probably been on for millenia.", > "hylotlDescription" : "There is nothing remarkable about this light.", > "novakidDescription" : "This light gives off a warm glow.", > objects\ancient\ancientlightplatform\ancientlightplatform.object 8c8 < "description" : "Something isn't quite right with these bricks.", --- > "description" : "A beam of hard light creating a platform.", 14,19c14,20 < "apexDescription" : "Some of these bricks are misplaced.", < "avianDescription" : "These bricks don't look real.", < "floranDescription" : "Brickss ssmell different to other brickss.", < "glitchDescription" : "Scanning. Something is hidden here.", < "humanDescription" : "These bricks have an unnatural shine.", < "hylotlDescription" : "Something about the way these bricks are crafted is odd.", --- > "apexDescription" : "Just your average holographic platform.", > "avianDescription" : "This does not look stable to bear my weight.", > "floranDescription" : "Floran suspiciousss of hard light.", > "glitchDescription" : "Nervous. It looks as though I would fall right through this platform.", > "humanDescription" : "This platform is made of some sort of force field technology.", > "hylotlDescription" : "This energy barrier can support weight beyond it's means.", > "novakidDescription" : "Solid energy, just like us Novakid.", objects\ancient\ancientpillar\ancientpillar.object 14,18c14,18 < "floranDescription" : "Ssshiny rock! Floran like not hot rock.", < "glitchDescription" : "Analysis. This ethereal glow is produced by a substance I do not recognise.", < "humanDescription" : "It's like an ancient disco!", < "hylotlDescription" : "A garish glowing pillar.", < "novakidDescription" : "This glowin' stone reminds me a' home.", --- > "floranDescription" : "Ssshiny rock! Floran is reminded of a setting sun.", > "glitchDescription" : "Perceptive. This ethereal glow is produced by a substance I do not recognise.", > "humanDescription" : "It's like an ancient lamppost!", > "hylotlDescription" : "This towering pillar must have seen a lot of history.", > "novakidDescription" : "This glowin' stone reminds me of a distant moon.", objects\ancient\ancientplaque1\ancientplaque1.object 16a17 > "novakidDescription" : "Somethin' about these squiggles looks familiar.", objects\apex\apexwardrobe\apexwardrobe.object 13c13 < "apexDescription" : "The resistance once stored their disguises in these wardrobes... somehow the Miniknog knew. There were raids... executions...", --- > "apexDescription" : "The resistance once stored their disguises in these wardrobes...", 18a19 > "novakidDescription" : "This wardrobe would be great for storing my skivvies.", objects\apex\apexwoodenchair\apexwoodenchair.object 14c14 < "glitchDescription" : "Obsessive compulsion. One chair leg is three millimetres longer than the others.", --- > "glitchDescription" : "Obsessive. One chair leg is three millimetres longer than the others.", 16a17 > "novakidDescription" : "The kind of chair built for jus' sittin'.", objects\apex\apexwoodenshelves\apexwoodenshelves.object 16c16,17 < "hylotlDescription" : "Such lonely souls.", --- > "hylotlDescription" : "The Apex, such lonely souls.", > "novakidDescription" : "Barren as a chunk of space rock.", objects\apex\apexwoodpanel\apexwoodpanel.object 13,14c13,14 < "avianDescription" : "What is this for?", < "floranDescription" : "Pointless Apex decoration, hsss.", --- > "avianDescription" : "What is this covering up?", > "floranDescription" : "Pointlesss Apex decoration.", 17c17,18 < "hylotlDescription" : "Is this decorative or does it have some purpose?", --- > "hylotlDescription" : "Is this purely decorative or does it have some purpose?", > "novakidDescription" : "This wood is as flimsy as a pair a' dime store boots.", objects\apex\arrowsign\arrowsign.object 15c15 < "glitchDescription" : "Considering. Likelihood of correct direction 0.25.", --- > "glitchDescription" : "Analytical. The likelihood of this sign pointing in the correct direction is 25 percent.", 17a18 > "novakidDescription" : "A sign to nowhere.", objects\apex\blueflask\blueflask.object 12c12 < "avianDescription" : "A blue potion?", --- > "avianDescription" : "A blue potion? That can't be good.", 14,15c14,15 < "glitchDescription" : "Inspiration. Blue!", < "humanDescription" : "This smells like... something that shouldn't pass the lips.", --- > "glitchDescription" : "Inspired. Blue!", > "humanDescription" : "This smells like... Something that shouldn't pass the lips.", 16a17 > "novakidDescription" : "Nothin' blue is ever natural.", objects\apex\cider\cider.object 8c8 < "shortdescription" : "Apex Drink", --- > "shortdescription" : "Apex Fruit Drink", 11,13c11,13 < "apexDescription" : "All alcohol is banned by the Miniknog, but that doesn't seem to stop them.", < "avianDescription" : "An Apex drink? Avians do not react well to alcohol.", < "floranDescription" : "Hsss disgusting Apex liquidss.", --- > "apexDescription" : "The sickly sweet scent of this vile drink brings back memories.", > "avianDescription" : "An Apex drink? Avians do not react well to mulled beverages.", > "floranDescription" : "Grosss. Disgusting Apex liquidss.", 15c15 < "humanDescription" : "A drink... I could do with one.", --- > "humanDescription" : "A tasty beverage... I could do with one.", 16a17 > "novakidDescription" : "It ain't no dandelion pop but it'll do.", objects\avian\flametrap\flametrap.object 15a16 > "novakidDescription" : "Simple yet deadly. My favourite kind.", objects\biome\desert\sandstonebed\sandstonebed.object 15c15 < "glitchDescription" : "Physics. Bouncing on this bed at just the right angle would cause the sandstone to crumble.", --- > "glitchDescription" : "Observant. Bouncing on this bed at just the right angle would cause the sandstone to crumble.", 17a18 > "novakidDescription" : "It don't look comfortable. In fact, I'd rather sleep on the floor next to it.", objects\biome\desert\sandstonechair\sandstonechair.object 15,16c15,16 < "glitchDescription" : "Assessment. If two people were to sit on this chair together, the sandstone might collapse.", < "humanDescription" : "Sit here and you'll get sand EVERYWHERE.", --- > "glitchDescription" : "Appraising. If two people were to sit on this chair together, the sandstone might collapse.", > "humanDescription" : "Sit here and you'll get sand everywhere!", 17a18 > "novakidDescription" : "Sit too long on this and your behind will go numb.", objects\biome\desert\sandstonechest\sandstonechest.object 18c18 < "glitchDescription" : "Observation. A chest made of sandstone.", --- > "glitchDescription" : "Observant. A chest made of sandstone.", 20a21 > "novakidDescription" : "A sandstone chest. I hope it's not full o' sand.", objects\biome\desert\sandstonedoor\sandstonedoor.object 16c16 < "glitchDescription" : "Observation. A hardy sandstone door.", --- > "glitchDescription" : "Observant. A hardy sandstone door.", 18a19 > "novakidDescription" : "It's a heavy door. Rough to the touch.", objects\biome\desert\sandstonetable\sandstonetable.object 15c15 < "glitchDescription" : "Statement. A table made of sandstone.", --- > "glitchDescription" : "Neutral. A table made of sandstone.", 17a18 > "novakidDescription" : "A sandstone table. You'd get sand in your food!", objects\biome\desert\sandstonetorch\sandstonetorch.object 16c16 < "avianDescription" : "A torch.", --- > "avianDescription" : "A burning torch.", 18,20c18,21 < "glitchDescription" : "Statement. A torch.", < "humanDescription" : "A torch.", < "hylotlDescription" : "A torch.", --- > "glitchDescription" : "Neutral. It's simply a torch.", > "humanDescription" : "A simple sandstone torch.", > "hylotlDescription" : "It's a simple torch.", > "novakidDescription" : "It's a flickerin' torch.", objects\biome\eyepatch\eyebed\eyebed.object 15c15 < "glitchDescription" : "Analyse. These bones appear to have been recently crafted.", --- > "glitchDescription" : "Curious. Would the eyes be watching over you, or simply just watching you?", 17a18 > "novakidDescription" : "An all seein' bed. Why would anyone want this?", objects\biome\eyepatch\eyechair\eyechair.object 15c15 < "glitchDescription" : "Confirming. Despite appearances, this chair cannot actually see.", --- > "glitchDescription" : "Observant. Despite appearances, this chair cannot actually see.", 17a18 > "novakidDescription" : "You won't have a single moment of relaxation on this chair. Constantly feeling watched...", objects\biome\eyepatch\eyechest\eyechest.object 18c18 < "glitchDescription" : "Engineering. The eye is actually a very sophisticated lock. Thankfully, it's broken.", --- > "glitchDescription" : "Curious. The eye is actually a very sophisticated lock. Thankfully, it's broken.", 20a21 > "novakidDescription" : "If I poke it in the eye, maybe it'll open.", objects\biome\eyepatch\eyedoor\eyedoor.object 14c14 < "avianDescription" : "These eyes emanate malevolence. What horrors lie beyond?", --- > "avianDescription" : "This eye emanate malevolence. What horrors lie beyond?", 16c16 < "glitchDescription" : "Puzzlement. Does a door need this many eyes? What's wrong with just two?", --- > "glitchDescription" : "Contemplative. With just one eye, this door must see the world as a one dimensional space.", 18c18,19 < "hylotlDescription" : "An overly dramatic door covered in eyes. Hylotl prefer stark beauty to convey importance.", --- > "hylotlDescription" : "An overly dramatic door decorated with a large eye. Hylotl prefer stark beauty to convey importance.", > "novakidDescription" : "This door's keepin' an eye on me.", objects\biome\eyepatch\eyetable\eyetable.object 15c15 < "glitchDescription" : "Studying. This eyeball seems to allow the table to rotate. Perhaps to share side dishes?", --- > "glitchDescription" : "Observant. This eyeball seems to allow the table to rotate. Perhaps to share side dishes?", 17a18 > "novakidDescription" : "These eyes are bigger than my belly.", objects\biome\flesh\fleshbed\fleshbed.object 17a18 > "novakidDescription" : "This bed's got it's own pulse.", objects\biome\flesh\fleshbush1\fleshbush1.object 17a18 > "novakidDescription" : "This is just plain gruesome.", objects\biome\flesh\fleshchair\fleshchair.object 17a18 > "novakidDescription" : "I ain't keen to touch it let alone sit on it.", objects\biome\flesh\fleshchest\fleshchest.object 20a21 > "novakidDescription" : "It even smells of raw flesh. Sickenin', I tell ya.", objects\biome\flesh\fleshdoor\fleshdoor.object 16c16 < "glitchDescription" : "Statement. The most disgusting door ever.", --- > "glitchDescription" : "Uncomfortable. The most disgusting door ever.", 18a19 > "novakidDescription" : "I'll tickle it open.", objects\biome\flesh\fleshtable\fleshtable.object 15c15 < "glitchDescription" : "Disgust. Someone actually sits down to eat here.", --- > "glitchDescription" : "Disgusted. Someone actually sits down to eat here.", 17a18 > "novakidDescription" : "Imagine eatin' a steak on this table.", objects\biome\giantflower\giantflower1\giantflower1.object 16c16 < "glitchDescription" : "Botany. This flower's DNA has mutated over the years, hence the large size.", --- > "glitchDescription" : "Curious. This flower's DNA has mutated over the years, hence the large size.", 18a19 > "novakidDescription" : "This must be the biggest flower I ever saw.", objects\biome\giantflower\giantflower2\giantflower2.object 16c16 < "glitchDescription" : "Botany. This flower's DNA has mutated over the years, hence the large size.", --- > "glitchDescription" : "Curious. This flower's DNA has mutated over the years, hence the large size.", 18a19 > "novakidDescription" : "This must be the biggest flower I ever saw.", objects\biome\giantflower\giantflower3\giantflower3.object 16c16 < "glitchDescription" : "Botany. This flower's DNA has mutated over the years, hence the large size.", --- > "glitchDescription" : "Curious. This flower's DNA has mutated over the years, hence the large size.", 18a19 > "novakidDescription" : "This must be the biggest flower I ever saw.", objects\biome\giantflower\giantflower4\giantflower4.object 16c16 < "glitchDescription" : "Botany. This flower's DNA has mutated over the years, hence the large size.", --- > "glitchDescription" : "Curious. This flower's DNA has mutated over the years, hence the large size.", 18a19 > "novakidDescription" : "This must be the biggest flower I ever saw.", objects\biome\giantflower\giantflowerbed\giantflowerbed.object 15c15 < "glitchDescription" : "Detection. The bed is made out of a carnivorous plant. Worrying.", --- > "glitchDescription" : "Uncomfortable. The bed is made out of a carnivorous plant. Worrying.", 17a18 > "novakidDescription" : "A nicely scented bed. One could only dream of flowery meadows in this.", objects\biome\giantflower\giantflowerchair\giantflowerchair.object 12c12 < "apexDescription" : "This chair feels spongey and weird.", --- > "apexDescription" : "This chair feels spongy and weird.", 15c15 < "glitchDescription" : "Pondering. How many years did it take for the petals to strengthen enough to support my weight?", --- > "glitchDescription" : "Thoughtful. How many years did it take for the petals to strengthen enough to support my weight?", 17a18 > "novakidDescription" : "Sittin' on petals makes me feel like a fairy of the forest.", objects\biome\giantflower\giantflowerchest\giantflowerchest.object 18c18 < "glitchDescription" : "Analysis. Opening this chest releases invisible pollen clouds. Long term effects are unknown.", --- > "glitchDescription" : "Observant. Opening this chest releases invisible pollen clouds. Long term effects are unknown.", 20a21 > "novakidDescription" : "A bright chest like this must be full o' joy.", objects\biome\giantflower\giantflowerdoor\giantflowerdoor.object 16c16 < "glitchDescription" : "Statement. A door with a wreath on it.", --- > "glitchDescription" : "Neutral. A door with a wreath on it.", 18a19 > "novakidDescription" : "A nice door for a welcomin' home. Like a nice smile on a friendly face.", objects\biome\giantflower\giantflowerlamp\giantflowerlamp.object 16c16 < "glitchDescription" : "Analysis. The glow is produced by the flower storing the sun's energy then expelling it gradually.", --- > "glitchDescription" : "Interested. The glow is produced by the flower storing the sun's energy then expelling it gradually.", 18a19 > "novakidDescription" : "A stunnin' glowin' flower. A treat for any home.", objects\biome\giantflower\giantflowertable\giantflowertable.object 14,15c14,15 < "floranDescription" : "Floran rock table when ssslicing meat.", < "glitchDescription" : "Biology. This giant flower is the product of years of careful cultivation.", --- > "floranDescription" : "Table will wobble when Floran ssslice meat.", > "glitchDescription" : "Impressed. This giant flower is the product of years of careful cultivation.", 17a18 > "novakidDescription" : "A naturally grown table. Did it grow from a table seed?", objects\biome\gnome\smallchurch\smallchurch.object 9,10c9,10 < "description" : "A tiny clock tower. Save the clock tower!", < "shortdescription" : "Tiny Clock Tower", --- > "description" : "A tiny communal building. Who visits it?", > "shortdescription" : "Tiny Building", 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallclocktower\smallclocktower.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse1\smallhouse1.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse10\smallhouse10.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse11\smallhouse11.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse2\smallhouse2.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse3\smallhouse3.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse4\smallhouse4.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse5\smallhouse5.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse6\smallhouse6.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse7\smallhouse7.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse8\smallhouse8.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smallhouse9\smallhouse9.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 19c19,20 < --- > "novakidDescription" : "This must be a house for ants.", > objects\biome\gnome\smallinn\smallinn.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\gnome\smalllamppost\smalllamppost.object 17c17 < "avianDescription" : "A tiny lamppost.", --- > "avianDescription" : "What a tiny lamppost.", 19c19 < "glitchDescription" : "Observation. A tiny lamppost.", --- > "glitchDescription" : "Observant. A tiny lamppost.", 21a22 > "novakidDescription" : "A small lamppost. What's it good for?", objects\biome\gnome\smallwindmill\smallwindmill.object 16c16 < "glitchDescription" : "Considering. I do not believe a Glitch could live here.", --- > "glitchDescription" : "Thoughtful. I do not believe a Glitch could live here.", 18a19 > "novakidDescription" : "This must be a house for ants.", objects\biome\slime\slimechest\slimehide.object 11c11 < "description" : "A cheast made of a thick slime substance.", --- > "description" : "A chest made of a thick slime substance.", objects\bonus\devstatuegeorge\devstatuegeorge.object 7c7 < "race" : "glitch", --- > "category" : "decorative", objects\crafting\alloyfurnace\alloyfurnace.object 10c10 < "title" : " ALLOY FURNACE", --- > "title" : " IRON FURNACE", 21c21 < "shortdescription" : "^orange;Alloy Furnace^white;", --- > "shortdescription" : "^orange;Iron Furnace^white;", 26,27c26,27 < "apexDescription" : "An alloy furnace. I can smelt steel and other materials here.", < "avianDescription" : "A furnace perfect for crafting steel and other alloys.", --- > "apexDescription" : "An iron furnace. I can smelt steel and other materials here.", > "avianDescription" : "An iron furnace perfect for crafting steel and other alloys.", 29,31c29,31 < "glitchDescription" : "Craftsmanship. The furnace is the perfect temperature for creating steel and other alloys.", < "humanDescription" : "An alloy furnace, hot enough to smelt steel and other materials.", < "hylotlDescription" : "A very hot, imposing, alloy furnace. I can make stronger materials with this.", --- > "glitchDescription" : "Intrigued. The furnace is the perfect temperature for creating steel and other alloys.", > "humanDescription" : "An iron furnace, hot enough to smelt steel and other materials.", > "hylotlDescription" : "A very hot, imposing, iron furnace. I can make stronger materials with this.", objects\crafting\scififurnace\scififurnace.object 10,11c10,11 < "title" : " MAGNETIC CRUCIBLE", < "subtitle" : " Incredible technlogy for creating equally incredible materials!", --- > "title" : " ATOMIC FURNACE", > "subtitle" : " Incredible technology for creating equally incredible materials!", 21c21 < "shortdescription" : "^orange;Magnetic Crucible^white;", --- > "shortdescription" : "^orange;Atomic Furnace^white;", 26,27c26,27 < "apexDescription" : "A magnetic crucible. I can create incredibly strong alloys with this.", < "avianDescription" : "A crucible. Perfect for crafting even stronger alloys.", --- > "apexDescription" : "An atomic furnace. I can create incredibly strong alloys with this.", > "avianDescription" : "An atomic furnace. Perfect for crafting even stronger alloys.", 29,31c29,31 < "glitchDescription" : "Craftsmanship. This magnetic crucible is perfect for creating durasteel and other alloys.", < "humanDescription" : "A magnetic crucible. This device is powerful enough to create durasteel and other materials.", < "hylotlDescription" : "A magnetic crucible. I can make incredible materials with this.", --- > "glitchDescription" : "Intrigued. This atomic furnace is perfect for creating durasteel and other alloys.", > "humanDescription" : "An atomic furnace. This device is powerful enough to create durasteel and other materials.", > "hylotlDescription" : "An atomic furnace. I can make incredible materials with this.", objects\generic\flagapex\flagapex.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "An Apex flag. The symbol of the Miniknog.", --- > "description" : "An Apex flag. The symbol of the Miniknog. Use ^green;[E]^white; to bookmark a teleportation location.", objects\generic\flagavian\flagavian.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The Avian flag. Bookmarks a teleportation location.", --- > "description" : "The Avian flag. Use ^green;[E] to bookmark a teleportation location.", objects\generic\flagfloran\flagfloran.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The Floran flag. Bookmarks a teleportation location.", --- > "description" : "The Floran flag. Use ^green;[E]^white; to bookmark a teleportation location.", objects\generic\flagglitch\flagglitch.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The flag of the Glitch. Bookmarks a teleportation location.", --- > "description" : "The flag of the Glitch. Use ^green;[E]^white; to bookmark a teleportation location.", objects\generic\flaghuman\flaghuman.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The flag of the Protectorate. Bookmarks a teleportation location.", --- > "description" : "The flag of the Protectorate. Use ^green;[E]^white; to bookmark a teleportation location.", objects\generic\flaghylotl\flaghylotl.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The Hylotl flag. Bookmarks a teleportation location.", --- > "description" : "The Hylotl flag. Use ^green;[E]^white; to bookmark a teleportation location.", objects\generic\flagnovakid\flagnovakid.object 7c7 < "category" : "decorative", --- > "category" : "teleporter", 10c10 < "description" : "The Novakid flag. Bookmarks a teleportation location.", --- > "description" : "The Novakid flag. Use ^green;[E]^white; to bookmark a teleportation location.", objects\glitch\barrellarge\barrellarge.object 7c7 < "description" : "A barrel. Sadly not full of wine.", --- > "description" : "A barrel. Sadly not full party hats.", 16c16 < "glitchDescription" : "Observe. A barrel, storage for cheap items.", --- > "glitchDescription" : "Observant. A barrel, storage for cheap items.", 18a19 > "novakidDescription" : "A big barrel o' nothin'!", objects\glitch\royalchalice\royalchalice.object 5c5 < "description" : "A royal chalice, for filling a royal mouth with royal wine.", --- > "description" : "A royal chalice, for filling a royal mouth with royal beverages.", 11c11 < "apexDescription" : "A golden chalice. There's a drop of wine at the bottom.", --- > "apexDescription" : "A golden chalice. There's a drop of liquid at the bottom.", 13c13 < "floranDescription" : "Floran make chalice from bone. Add flavour.", --- > "floranDescription" : "Floran make chalice from bone to add flavour.", 16a17 > "novakidDescription" : "Gold is for spendin', not for drinking outta.", objects\hoard\diamonddisplay\diamonddisplay.object 7a8 > "category" : "decorative", objects\hoard\grail\grail.object 7a8 > "category" : "decorative", objects\hylotl\smashabledrink1\smashabledrink1.object 8,9c8,9 < "description" : "An empty bottle of wine.", < "shortdescription" : "Empty Wine Bottle", --- > "description" : "An empty bottle of blackcurrant cordial.", > "shortdescription" : "Empty Cordial Bottle", 17a18 > "novakidDescription" : "Yeehaw! Target practice!", objects\hylotl\smashabledrink2\smashabledrink2.object 8,9c8,9 < "description" : "An empty bottle of whiskey.", < "shortdescription" : "Empty Whiskey Bottle", --- > "description" : "An empty bottle of dandelion pop.", > "shortdescription" : "Empty Dandelion Pop Bottle", 17a18 > "novakidDescription" : "Yeehaw! Target practice!", objects\hylotl\smashabledrink3\smashabledrink3.object 8,9c8,9 < "description" : "An empty bottle of gin.", < "shortdescription" : "Empty Gin Bottle", --- > "description" : "An empty bottle of Oculemon nectar.", > "shortdescription" : "Empty Oculemon Nectar Bottle", 17a18 > "novakidDescription" : "Yeehaw! Target practice!", objects\hylotl\smashabledrink4\smashabledrink4.object 9c9 < "shortdescription" : "Empty Liqueur Bottle", --- > "shortdescription" : "Empty Petal Nectar Bottle", 17a18 > "novakidDescription" : "Yeehaw! Target practice!", objects\hylotl\smashabledrink5\smashabledrink5.object 8,9c8,9 < "description" : "An empty bottle of vodka.", < "shortdescription" : "Empty Vodka Bottle", --- > "description" : "An empty bottle of fancy water.", > "shortdescription" : "Empty Fancy Water Bottle", 17a18 > "novakidDescription" : "Yeehaw! Target practice!", objects\outpost\infinityexpress\infinityexpress.object 20d19 < { "item" : "liquidfuel" }, 27a27 > { "item" : "liquidfuel", "prerequisiteQuest" : "outpostMission1.gearup" }, objects\outpost\penguinbay\penguinbay.object 16c16 < "hylotlDescription" : "Uncouthed, criminal birds.", --- > "hylotlDescription" : "Uncouth, criminal birds.", projectiles\activeitems\boomerang\boomerang.projectile 15c15 < "damageKind" : "default", --- > "damageKind" : "hammer", 21c21 < "persistentAudio" : "/sfx/melee/spear_twirl_loop.ogg", --- > "persistentAudio" : "/sfx/projectiles/boomerang2.ogg", projectiles\activeitems\guidedrocket\electricguidedrocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockbackstatus.config" projectiles\activeitems\guidedrocket\fireguidedrocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockbackstatus.config" projectiles\activeitems\guidedrocket\guidedrocket.projectile 12c12 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\activeitems\guidedrocket\iceguidedrocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockbackstatus.config" projectiles\activeitems\guidedrocket\poisonguidedrocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockbackstatus.config" projectiles\guns\bullets\piercingbullet\piercingbullet.projectile 17c17 < "speed" : 75, --- > "speed" : 150, projectiles\guns\grenades\grenade\electricplasmagrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockbackstatus.config" projectiles\guns\grenades\grenade\fireplasmagrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockback.config" projectiles\guns\grenades\grenade\grenade.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\guns\grenades\grenade\iceplasmagrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockback.config" projectiles\guns\grenades\grenade\poisonplasmagrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockback.config" projectiles\guns\grenades\impactgrenade\electricplasmaimpactgrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockback.config" projectiles\guns\grenades\impactgrenade\fireplasmaimpactgrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockback.config" projectiles\guns\grenades\impactgrenade\iceplasmaimpactgrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockback.config" projectiles\guns\grenades\impactgrenade\impactgrenade.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\guns\grenades\impactgrenade\poisonplasmaimpactgrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockback.config" projectiles\guns\grenades\proximitymines\electricproximitymine.projectile 16c16 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockback.config" projectiles\guns\grenades\proximitymines\fireproximitymine.projectile 16c16 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockback.config" projectiles\guns\grenades\proximitymines\iceproximitymine.projectile 16c16 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockback.config" projectiles\guns\grenades\proximitymines\poisonproximitymine.projectile 16c16 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockback.config" projectiles\guns\grenades\proximitymines\proximitymine.projectile 16c16 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\guns\grenades\stickygrenade\electricstickygrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockback.config" projectiles\guns\grenades\stickygrenade\firestickygrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockback.config" projectiles\guns\grenades\stickygrenade\icestickygrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockback.config" projectiles\guns\grenades\stickygrenade\poisonstickygrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockback.config" projectiles\guns\grenades\stickygrenade\stickygrenade.projectile 15c15 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\guns\rockets\homingrocket\homingrocket.projectile 12c12 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosion2.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\guns\unsorted\electricplasmarocket\electricplasmarocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/electricexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/electricexplosionknockback.config" projectiles\guns\unsorted\fireplasmarocket\fireplasmarocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/fireexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/fireexplosionknockback.config" projectiles\guns\unsorted\iceplasmarocket\iceplasmarocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/iceexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/iceexplosionknockback.config" projectiles\guns\unsorted\poisonplasmarocket\poisonplasmarocket.projectile 13c13 < "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/poisonexplosionknockback.config" projectiles\guns\unsorted\rocket\rocketshell.projectile 12c12 < "file" : "/projectiles/explosions/regularexplosion2/regularexplosionfreeze.config" --- > "file" : "/projectiles/explosions/regularexplosion2/regularexplosionknockback.config" projectiles\npcs\moontantgoop\moontantgoop.projectile 11c11 < "timeToLive" : 0.6, --- > "timeToLive" : 0.5, quests\generated\templates\recruit_guard.questtemplate 46c46 < "Patient. ^green;This guard is going to need somewhere to stay. ^green;Build them a house to contain the ^orange;^white;. While you're at it, go ahead and ^green; get them 3 pieces of ^orange;^green;furniture ^white; to help them settle in. ^green;Put this ^orange;Colony Deed^green; on the wall^white; somewhere inside, and ^green;add a^orange; light source^white; as a finishing touch." --- > "Patient. ^green;This guard is going to need somewhere to stay. ^green;Build them a house to contain the ^orange;^white;. While you're at it, go ahead and ^green; get them 3 pieces of ^orange;^green; furniture^white; to help them settle in. ^green;Put this ^orange;Colony Deed^green; on the wall^white; somewhere inside, and ^green;add a^orange; light source^white; as a finishing touch." quests\outpost\coldskin1.questtemplate 5,6c5,6 < "text" : "Floran would like to know if you like to visssit Floran... party? Floran will give you coordinates if you prove to Floran you are tough enough. ^green;Show Floran ssome ^orange;Durassteel armor ^green;and Floran will tell you where to go. ", < "completionText" : "Nice ssstrong armor. You'll be a challen.. honored guesst at the party!", --- > "text" : "Floran would like to know if you like to visssit Floran... Party? Floran will give you coordinates if you prove to Floran you are tough enough. ^green;Show Floran ssome ^orange;Durassteel armour ^green;and Floran will tell you where to go.", > "completionText" : "Nice ssstrong armor. You'll make for an ssstrong competitor at the... Party.", quests\outpost\coldskin2.questtemplate 5c5 < "completionText" : "I just barely escaped. The invitation was a trap all along, set up by bloodthirsty Floran hunters. I've found a satellite and can connect to my ship's teleporters now. ^green;That Floran hunter at the outpost has a lot to answer for.", --- > "completionText" : "That wasn't the party I was expecting. The invitation was, in fact, for an ancient traditional Floran Hunt. ^green;That ^orange;Floran hunter^green; at the outpost better have a good explanation for this.", quests\outpost\coldskin3.questtemplate 4,5c4,5 < "text" : "^green;I should talk to the ^orange;Floran Hunter ^green;at the outpost and see what he has to say for himself.", < "completionText" : "Oh... Floran did not expect to sssee you again. Trap? Floran did not mean to sssend you into ambush. Pleasse take thiss as an apology. ^green;It'ss a ^orange;bio-implant ^green;that will let you sssurvive in the cold.", --- > "text" : "I should ^green;talk to the ^orange;Floran Hunter^green; at the outpost^white; and see what they have to say for themselves.", > "completionText" : "Oh... Floran did not expect to sssee you again. Trap? Floran jussst thought you'd enjoy it! Pleasse take thiss as an apology. It'ss a ^orange;bio-implant^white; that will let you sssurvive in the cold.", quests\outpost\heatskin1.questtemplate 5,6c5,6 < "text" : "Hey, old buddy old pal! I have me a friend who needs someone to test his ^green;new robot mech ^white;on, and you're fit for the task! If you can get yourself a set of either ^green;Aegisalt, Rubium or Violium armor ^white;then I'll give you the co-ordinates!", < "completionText" : "Great, you're all set. My friend is a Scientist type, so he will no doubt ^orange;reward you for your troubles!", --- > "text" : "Hey, old buddy old pal! I have me a friend who needs someone to test his ^orange;new Robot Mech ^white;on, and you're fit for the task! If you can ^green;get yourself a set of either ^orange;Aegisalt, Rubium or Violium armor ^white;then I'll give you the ^orange;co-ordinates!", > "completionText" : "Great, you're all set. My friend is a Scientist type, so he will no doubt ^green;reward you for your troubles!", quests\outpost\outpostskin.questtemplate 6,7c6,7 < "text" : "I've recieved a distress signal from a nearby lunar mining facility. If you're willing to investigate, you should make yourself a set of ^orange;Steel armour^white;. You can do this by using an ^orange;Alloy Furnace^white; and ^orange;Metalwork Station.^green; Come back when you're equipped^white;, and I'll give you the ^green;co-ordinates^white; and a ^green;bio-implant^white; that allows you to breathe when no oxygen is present.", < "completionText" : "You're all equipped! In that case, take the ^green;co-ordinates ^white;and a ^green;respitory bio-implant.^white;. Good luck!", --- > "text" : "I've recieved a distress signal from a nearby lunar mining facility. If you're willing to investigate, you should make yourself a set of ^orange;Steel armour^white;. You can do this by using an ^orange;Iron Furnace^white; and ^orange;Metalwork Station.^green; Come back when you're equipped^white;, and I'll give you the ^green;co-ordinates^white; and a ^green;bio-implant^white; that allows you to breathe when no oxygen is present.", > "completionText" : "You're all equipped! In that case, take the ^green;coordinates ^white;and a ^green;respitory bio-implant.^white;. Good luck!", quests\outpost\penguinmission.questtemplate 5c5 < "text" : "Hey buddy. I heard what you did at the Erchius facility and I have a situation that might be right up your alley. Notorious pirate ^green;Dreadwing ^white;owes me money. He's off attacking a peaceful village at the moment. ^green;If you get some ^orange;titanium armor ^green;to protect yourself I'll give you the coordinates. It'll be worth your while.", --- > "text" : "Hey buddy. I heard what you did at the Erchius facility, and I bet you can help me out. Notorious pirate ^green;Dreadwing ^white;owes me money. He's off attacking a peaceful village at the moment. If you ^green;craft some ^orange;titanium armour ^green;to protect yourself, I'll give you the coordinates.^white; I heard you can ^green;find ^orange;Titanium Ore^green; in ^orange;Eccentric^green; star systems.", scripts\actions\entities.lua 356a357 > projectileConfig.power = BData:getNumber(args.power) 358c359 < args.power = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) * (args.power or 10) --- > projectileConfig.power = root.evalFunction("monsterLevelPowerMultiplier", entity.level()) * (projectileConfig.power or 10) 360c361 < args.power = root.evalFunction("npcLevelPowerMultiplier", entity.level()) * (args.power or 10) --- > projectileConfig.power = root.evalFunction("npcLevelPowerMultiplier", entity.level()) * (projectileConfig.power or 10) scripts\actions\flying.lua 50a51,82 > end > > -- param centerPosition > -- param maxDistance > -- param collisionArea > -- param lerpStep > -- output position > function findAirPosition(args, output) > args = parseArgs(args, { > centerPosition = "self", > maxDistance = 10, > collisionArea = {-1, -1, 1, 1}, > lerpStep = 1 > }) > > local center = BData:getPosition(args.centerPosition) > local maxDistance = BData:getNumber(args.maxDistance) > local lerpStep = BData:getNumber(args.lerpStep) > if center == nil or maxDistance == nil then return false end > > for i = 0, maxDistance, lerpStep do > for a = 0, math.pi*2, math.pi/4 do > local dir = {math.cos(a), math.sin(a)} > local position = vec2.add(center, vec2.mul(dir, i)) > if not world.rectTileCollision(rect.translate(args.collisionArea, position)) then > BData:setPosition(output.position, position) > return true > end > end > end > > return false scripts\actions\movement.lua 77a78,89 > -- Also specifically check for a dumb collision geometry edge case where the ground goes like: > -- > -- # > -- ###### ###### > -- ############# > local boundsEnd = direction > 0 and bounds[3] or bounds[1] > local wallPoint = {position[1] + boundsEnd + direction * 0.5, position[2] + bounds[2] + 0.5} > local groundPoint = {position[1] + boundsEnd - direction * 0.5, position[2] + bounds[2] - 0.5} > if world.pointTileCollision(wallPoint) and not world.pointTileCollision(groundPoint) then > move = false > end > 88c100 < if world.rectTileCollision(rect.translate(groundRect, {direction * x, y + yDir})) then --- > if world.rectTileCollision(rect.translate(groundRect, {direction * x, y + yDir}), {"Null", "Block", "Dynamic", "Platform"}) then 164a177,182 > return true > end > > function controlDown(args, output) > args = parseArgs(args, {}) > mcontroller.controlDown() treasure\biome.treasurepools 331c331 < {"weight" : 0.1, "item" : "darkdisguiseheadlegs"} --- > {"weight" : 0.1, "item" : "darkdisguiselegs"} 899d898 < {"weight" : 0.3, "item" : "frostspear"}, // TODO: replace old sword treasure\common.treasurepools 602,603c602,603 < {"weight" : 1.0, "item" : "stunglove-recipe" } < // TODO: another glove recipe --- > {"weight" : 1.0, "item" : "stunglove-recipe" }, > {"weight" : 1.0, "item" : "vinefist-recipe" } vehicles\hoverbike\hoverbike.animation 50c50,61 < } --- > }, > > "rearThruster" : { > "default" : "off", > "states" : { > "off" : {}, > > "on" : { > "frames" : 1, > "cycle" : 0.125, > "mode" : "loop" > } 51a63,78 > } > }, > > "bottomThruster" : { > "default" : "off", > "states" : { > "off" : {}, > > "on" : { > "frames" : 1, > "cycle" : 0.125, > "mode" : "loop" > } > > } > } 155a183,221 > }, > > "rearThrust" : { > "properties" : { > "centered" : true, > "zLevel" : -1, > "transformationGroups" : ["flip", "rotation"] > }, > > "partStates" : { > "rearThruster" : { > "on" : { > "properties" : { > "image" : "/animations/hoverbikethruster/backthruster.png:thrust.", > "offset" : [-4.75, 0.9] > } > } > } > } > }, > > > "bottomThrust" : { > "properties" : { > "centered" : true, > "zLevel" : -1, > "transformationGroups" : ["flip", "rotation"] > }, > > "partStates" : { > "bottomThruster" : { > "on" : { > "properties" : { > "image" : "/animations/hoverbikethruster/bottomthruster.png:thrust.", > "offset" : [0.1, -2.0] > } > } > } > } 304c370,375 < "/sfx/gun/grenadeblast_small_fire3.ogg" ] --- > "/sfx/gun/grenadeblast_small_fire3.ogg" ], > > "hornLoop" : ["/sfx/tech/honk.ogg"], > "headlightSwitchOn" : ["/sfx/objects/floodlights_on.ogg"], > "headlightSwitchOff" : ["/sfx/objects/floodlights_off.ogg"] > vehicles\hoverbike\hoverbike.lua 81,82c81,82 < self.engineBlipTimer = 0.0 < self.blipEngine = false --- > self.engineRevTimer = 0.0 > self.revEngine = false 102a103,104 > self.hornPlaying = false > 105a108,114 > > animator.setGlobalTag("rearThrusterFrame", "1") > animator.setGlobalTag("bottomThrusterFrame", "1") > > animator.setAnimationState("rearThruster", "off") > animator.setAnimationState("bottomThruster", "off") > 120a130 > controls() 165a176,178 > local rearThrusterFrame = 0 > local ventralThrusterFrame = 0 > 173a187 > rearThrusterFrame = 3 177c191 < if (self.blipEngine == true) then --- > if (self.revEngine == true) then 179,181c193,195 < self.engineBlipTimer = 0.5 < animator.setSoundPitch(self.loopPlaying, self.engineRevPitch,self.engineBlipTimer) < animator.setSoundVolume(self.loopPlaying, self.engineRevVolume,self.engineBlipTimer) --- > self.engineRevTimer = 0.5 > animator.setSoundPitch(self.loopPlaying, self.engineRevPitch,self.engineRevTimer) > animator.setSoundVolume(self.loopPlaying, self.engineRevVolume,self.engineRevTimer) 185a200 > ventralThrusterFrame = 3 187c202 < self.blipEngine=false; --- > self.revEngine=false; 189,190c204,206 < if (self.engineBlipTimer > 0.0) then < self.engineBlipTimer = self.engineBlipTimer - script.updateDt() --- > if (self.engineRevTimer > 0.0) then > self.engineRevTimer = self.engineRevTimer - script.updateDt() > ventralThrusterFrame = 3 199a216,219 > > animator.setAnimationState("rearThruster", "on") > animator.setAnimationState("bottomThruster", "on") > 204a225,227 > > animator.setAnimationState("rearThruster", "off") > animator.setAnimationState("bottomThruster", "off") 229a253,258 > rearThrusterFrame = rearThrusterFrame+math.random(3) > animator.setGlobalTag("rearThrusterFrame", rearThrusterFrame) > > ventralThrusterFrame = ventralThrusterFrame+math.random(3) > animator.setGlobalTag("bottomThrusterFrame", ventralThrusterFrame) > 295,298c324,329 < if (oldIndex ~= newIndex) then < local listToSwitchOff = listOfLists[oldIndex] < for i, name in ipairs(listToSwitchOff) do < animator.setLightActive(name,false) --- > if (listOfLists ~= nil) then > if (oldIndex ~= newIndex) then > local listToSwitchOff = listOfLists[oldIndex] > for i, name in ipairs(listToSwitchOff) do > animator.setLightActive(name,false) > end 300d330 < end 302,304c332,335 < local listToSwitchOn = listOfLists[newIndex] < for i, name in ipairs(listToSwitchOn) do < animator.setLightActive(name,activate) --- > local listToSwitchOn = listOfLists[newIndex] > for i, name in ipairs(listToSwitchOn) do > animator.setLightActive(name,activate) > end 306d336 < 367,370c397,398 < if (self.facingDirection~=-1) then < self.facingDirection = -1 < self.blipEngine=true; < end --- > self.facingDirection = -1 > 379,382c407 < if (self.facingDirection~=1) then < self.facingDirection = 1 < self.blipEngine=true; < end --- > self.facingDirection = 1 411c436 < self.blipEngine=true; --- > self.revEngine=true; 419a445,448 > mcontroller.setRotation(self.angle) > end > > 420a450 > function controls() 423a454 > 424a456,462 > > if (self.headlightsOn) then > animator.playSound("headlightSwitchOn") > else > animator.playSound("headlightSwitchOff") > end > 431a470,480 > if (vehicle.controlHeld("passengerSeat","PrimaryFire")) then > if (self.hornPlaying == false) then > animator.playSound("hornLoop", -1) > self.hornPlaying=true; > end > else > if (self.hornPlaying == true) then > animator.stopAllSounds("hornLoop") > self.hornPlaying=false; > end > end 433d481 < mcontroller.setRotation(self.angle) 434a483 > vehicles\hoverbike\hoverbike.vehicle 21,23c21,23 < "armourStatusEffect" : "hoverbikeArmour", < "burnStatusEffect" : "hoverbikeBurn", < "crashStatusEffect" : "hoverbikeCrash", --- > // "armourStatusEffect" : "hoverbikeArmour", > // "burnStatusEffect" : "hoverbikeBurn", > // "crashStatusEffect" : "hoverbikeCrash", 31,34c31,33 < "armourStatusEffect" : "hoverbikeArmour", < "burnStatusEffect" : "hoverbikeBurn", < "crashStatusEffect" : "hoverbikeCrash", < "protective" : true, --- > // "armourStatusEffect" : "hoverbikeArmour", > // "burnStatusEffect" : "hoverbikeBurn", > // "crashStatusEffect" : "hoverbikeCrash",