FILES ----- [NEW] animations\shards\hoverbikeshard.animation [NEW] animations\shards\hoverbikeshard.png behaviors\monsters\modular\actions\invulnerable.behavior biomes\surface\desert.biome biomes\surface\forest.biome biomes\surface\garden.biome biomes\surface\jungle.biome biomes\surface\ocean.biome biomes\surface\tundra.biome biomes\surface_detached\bioluminescence.biome biomes\surface_detached\eyepatch.biome biomes\surface_detached\swamp.biome biomes\underground\underground0a.biome biomes\underground\underground0b.biome biomes\underground\underground0d.biome biomes\underground\underground1b.biome dialog\converse.config dungeons\hylotl\hylotlvillage\hylotlvillagehousesmall1.json dungeons\microdungeons\biomes\bioluminescence\spire1.json dungeons\microdungeons\biomes\bioluminescence\spire2.json dungeons\microdungeons\biomes\bioluminescence\spire3.json dungeons\microdungeons\biomes\eyepatch\eyeterrain1.json dungeons\microdungeons\biomes\eyepatch\eyeterrain2.json dungeons\microdungeons\biomes\garden\archway.json dungeons\microdungeons\biomes\garden\graveyard.json dungeons\microdungeons\biomes\garden\mediumgardenruin1.json dungeons\microdungeons\biomes\garden\mediumruin.json dungeons\microdungeons\biomes\garden\smallstonehouse.json dungeons\microdungeons\biomes\garden\smalltower2.json dungeons\microdungeons\biomes\jungle\cliffsidecave4.json dungeons\microdungeons\biomes\jungle\cliffsidecave5.json dungeons\microdungeons\biomes\jungle\jungleterrain2.json dungeons\microdungeons\biomes\jungle\jungleterrain4.json dungeons\microdungeons\biomes\jungle\jungleterrain6.json dungeons\microdungeons\biomes\jungle\pond1.json dungeons\microdungeons\biomes\jungle\spikepit2.json dungeons\microdungeons\biomes\spring\largepool7.json dungeons\microdungeons\biomes\swamp\hut1.json dungeons\microdungeons\biomes\swamp\hut2.json dungeons\microdungeons\biomes\swamp\hut3.json dungeons\microdungeons\biomes\swamp\hut7.json dungeons\microdungeons\biomes\swamp\terrain1.json dungeons\microdungeons\biomes\swamp\terrain2.json dungeons\microdungeons\biomes\swamp\terrain3.json dungeons\microdungeons\biomes\swamp\terrain4.json dungeons\microdungeons\biomes\swamp\terrain5.json dungeons\microdungeons\biomes\swamp\terrain6.json dungeons\microdungeons\underground\underground3d\underground3d_open1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_open2.json dungeons\microdungeons\underground\underground3d\underground3d_tunnel1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnel2.json dungeons\microdungeons\underground\underground3d\underground3d_tunnelbackslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelbackslope2.json dungeons\microdungeons\underground\underground3d\underground3d_tunnelforwardslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelforwardslope2.json dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakbackslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakbackslope2.json dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakforwardslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakforwardslope2.json items\active\vehiclecontroller\vehiclecontroller.lua items\active\weapons\weapon.lua [NEW] items\active\weapons\ballandchain\ballandchain.activeitem [NEW] items\active\weapons\ballandchain\ballandchain.animation [NEW] items\active\weapons\ballandchain\ballandchain.frames [NEW] items\active\weapons\ballandchain\ballandchain.lua [NEW] items\active\weapons\ballandchain\ballandchain.png [NEW] items\active\weapons\ballandchain\ballandchainicon.png [NEW] items\active\weapons\fist\brassknuckles.activeitem [NEW] items\active\weapons\fist\brassknuckles.frames [NEW] items\active\weapons\fist\brassknuckles.png [NEW] items\active\weapons\fist\clawglove.activeitem [NEW] items\active\weapons\fist\clawglove.frames [NEW] items\active\weapons\fist\clawglove.png items\active\weapons\fist\fistweapon.animation items\active\weapons\fist\fistweapon.lua items\active\weapons\fist\punch.lua [NEW] items\active\weapons\fist\combofinishers\crosslash.combofinisher [NEW] items\active\weapons\fist\combofinishers\dashslash.combofinisher [NEW] items\active\weapons\fist\combofinishers\dashslash.lua items\active\weapons\fist\combofinishers\powerpunch.lua items\active\weapons\fist\combofinishers\uppercut.lua [NEW] items\active\weapons\fist\swoosh\clawswoosh.frames [NEW] items\active\weapons\fist\swoosh\clawswoosh.png [NEW] items\active\weapons\fist\swoosh\crossslash.frames [NEW] items\active\weapons\fist\swoosh\crossslash.png [NEW] items\active\weapons\fist\swoosh\dashswoosh.frames [NEW] items\active\weapons\fist\swoosh\dashswoosh.png [NEW] items\active\weapons\fist\swoosh\slash.frames [NEW] items\active\weapons\fist\swoosh\slash.png items\active\weapons\melee\altabilities\broadsword\bladecharge\bladecharge.altability items\active\weapons\melee\altabilities\broadsword\downstab\downstab.altability items\active\weapons\melee\altabilities\broadsword\risingslash\risingslash.altability items\active\weapons\melee\altabilities\broadsword\spinslash\spinslash.altability items\active\weapons\melee\altabilities\broadsword\spinslash\superspinslash.altability items\active\weapons\melee\altabilities\broadsword\traildash\traildash.altability items\active\weapons\melee\altabilities\hammer\elementalaura\elementalaura.altability items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.altability items\active\weapons\melee\altabilities\hammer\shockwave\physicalshockwave.altability items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.altability items\active\weapons\melee\altabilities\hammer\uppercut\uppercut.altability items\active\weapons\melee\altabilities\spear\elementalspin\elementalspin.altability items\active\weapons\melee\altabilities\spear\flurry\flurry.altability items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.altability items\active\weapons\melee\altabilities\spear\spin\spin.altability items\active\weapons\melee\axe\commonaxe.activeitem items\active\weapons\melee\axe\rareaxe.activeitem items\active\weapons\melee\axe\uncommonaxe.activeitem items\active\weapons\melee\broadsword\commonbroadsword.activeitem items\active\weapons\melee\broadsword\rarebroadsword.activeitem items\active\weapons\melee\dagger\raredagger.activeitem items\active\weapons\melee\hammer\rarehammer.activeitem items\active\weapons\melee\shortsword\rareshortsword.activeitem items\active\weapons\ranged\altabilities\bouncingshot\bouncingshot.altability items\active\weapons\ranged\altabilities\burstshot\burstshot.altability items\active\weapons\ranged\altabilities\deathbomb\deathbomb.altability items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.altability items\active\weapons\ranged\altabilities\explosiveshot\explosiveshot.altability items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.altability items\active\weapons\ranged\altabilities\homingrocket\homingrocket.altability items\active\weapons\ranged\altabilities\lance\lance.altability items\active\weapons\ranged\altabilities\markedshot\markedshot.altability items\active\weapons\ranged\altabilities\piercingshot\piercingshot.altability items\active\weapons\ranged\altabilities\rocketburst\rocketburst.altability items\active\weapons\ranged\altabilities\shrapnelbomb\shrapnelbomb.altability items\active\weapons\ranged\altabilities\spray\spray.altability items\active\weapons\ranged\altabilities\stickyshot\stickyshot.altability [NEW] items\active\weapons\ranged\boomerang\sawchakram.png items\active\weapons\ranged\boomerang\wormerang.png [NEW] items\active\weapons\ranged\chakram\chakram.activeitem [NEW] items\active\weapons\ranged\chakram\chakram.animation [NEW] items\active\weapons\ranged\chakram\chakram.png [NEW] items\active\weapons\ranged\chakram\sawchakram.activeitem [NEW] items\active\weapons\ranged\chakram\sawchakram.png items\active\weapons\ranged\flamethrower\flamethrower.activeitem items\active\weapons\ranged\flamethrower\flamethrower.lua monsters\boss\spiderboss\spiderboss.animation monsters\critter\apexscabcritter\apexscabcritter.animation monsters\critter\arcticfishcritter\arcticfishcritter.animation [NEW] monsters\critter\armadillocritter\armadillocritter.animation [NEW] monsters\critter\armadillocritter\armadillocritter.monstertype [NEW] monsters\critter\armadillocritter\body.frames [NEW] monsters\critter\armadillocritter\body.monsterpart [NEW] monsters\critter\armadillocritter\body.png monsters\critter\avianscabcritter\avianscabcritter.animation monsters\critter\ballooncritter\ballooncritter.animation monsters\critter\bigwormcritter\bigwormcritter.animation monsters\critter\birdcritter\birdcritter.animation monsters\critter\blipcritter\blipcritter.animation monsters\critter\bloodtoadcritter\bloodtoadcritter.animation monsters\critter\bluebutterflycritter\bluebutterflycritter.animation monsters\critter\bouncebagcritter\bouncebagcritter.animation monsters\critter\bouncercritter\bouncercritter.animation monsters\critter\bowbirdcritter\bowbirdcritter.animation monsters\critter\breakercritter\breakercritter.animation monsters\critter\breakerfemalecritter\breakerfemalecritter.animation [NEW] monsters\critter\bunnycritter\body.monsterpart [NEW] monsters\critter\bunnycritter\body.png [NEW] monsters\critter\bunnycritter\bunnycritter.animation [NEW] monsters\critter\bunnycritter\bunnycritter.monstertype [NEW] monsters\critter\bunnycritter\default.frames monsters\critter\charfishcritter\charfishcritter.animation monsters\critter\chevcritter\chevcritter.animation monsters\critter\ciclesnail\ciclesnailcritter.animation monsters\critter\cliffcritter\cliffcritter.animation monsters\critter\crabcritter\crabcritter.animation monsters\critter\crystalbirdcritter\crystalbirdcritter.animation monsters\critter\crystaltortoisecritter\crystaltortoisecritter.animation monsters\critter\dancercritter\dancercritter.animation monsters\critter\darkballcritter\darkballcritter.animation monsters\critter\darknessscabcritter\darknessscabcritter.animation monsters\critter\darkoneeyecritter\darkoneeyecritter.animation monsters\critter\darkthreeeyescritter\darkthreeeyescritter.animation monsters\critter\darkwormcritter\darkwormcritter.animation monsters\critter\dartcritter\dartcritter.animation monsters\critter\deserttortoisecritter\deserttortoisecritter.animation [NEW] monsters\critter\eyefriendcritter\body.frames [NEW] monsters\critter\eyefriendcritter\body.monsterpart [NEW] monsters\critter\eyefriendcritter\body.png [NEW] monsters\critter\eyefriendcritter\eyefriend.animation [NEW] monsters\critter\eyefriendcritter\eyefriendcritter.animation [NEW] monsters\critter\eyefriendcritter\eyefriendcritter.monstertype monsters\critter\eyepodcritter\eyepodcritter.animation monsters\critter\fishberrycritter\fishberrycritter.animation monsters\critter\fishchilicritter\fishchilicritter.animation monsters\critter\fishcritter\fishcritter.animation monsters\critter\fishlemoncritter\fishlemoncritter.animation monsters\critter\floatbagcritter\floatbagcritter.animation monsters\critter\floranscabcritter\floranscabcritter.animation [NEW] monsters\critter\frogcritter\body.frames [NEW] monsters\critter\frogcritter\body.monsterpart [NEW] monsters\critter\frogcritter\body.png [NEW] monsters\critter\frogcritter\frogcritter.animation [NEW] monsters\critter\frogcritter\frogcritter.monstertype monsters\critter\froggpolecritter\frogpolecritter.animation monsters\critter\frozenowlcritter\frozenowlcritter.animation monsters\critter\glitchscabcritter\glitchscabcritter.animation monsters\critter\gloopcritter\gloopcritter.animation [NEW] monsters\critter\glowingball2critter\body.frames [NEW] monsters\critter\glowingball2critter\body.monsterpart [NEW] monsters\critter\glowingball2critter\body.png [NEW] monsters\critter\glowingball2critter\glowingball2critter.animation [NEW] monsters\critter\glowingball2critter\glowingball2critter.monstertype monsters\critter\glowingballcritter\glowingballcritter.animation monsters\critter\glowingfishcritter\glowingfishcritter.animation monsters\critter\groopcritter\groopcritter.animation monsters\critter\gullcritter\gullcritter.animation monsters\critter\harecritter\harecritter.animation monsters\critter\hazmatcritter\hazmatcritter.animation monsters\critter\hedgehogcritter\hedgehogcritter.animation monsters\critter\hollowcritter\hollowcritter.animation monsters\critter\humanscabcritter\humanscabcritter.animation monsters\critter\hylotlscabcritter\hylotlscabcritter.animation monsters\critter\icescabcritter\icescabcritter.animation monsters\critter\jellocritter\jellocritter.animation monsters\critter\jellycritter\jellycritter.animation monsters\critter\krawlcritter\krawlcritter.animation monsters\critter\leafscabcritter\leafscabcritter.animation monsters\critter\maggotcritter\maggotcritter.animation monsters\critter\mousecritter\mousecritter.animation monsters\critter\narfishcritter\narfishcritter.animation monsters\critter\owlcritter\owlcritter.animation monsters\critter\penguinscabcritter\penguinscabcritter.animation monsters\critter\petalcritter\petalcritter.animation monsters\critter\poisonfishcritter\poisonfishcritter.animation monsters\critter\poofincritter\poofincritter.animation monsters\critter\prismelementalcritter\prismelementalcritter.animation monsters\critter\prismscabcritter\prismscabcritter.animation monsters\critter\pufferfishcritter\pufferfishcritter.animation monsters\critter\quibblecritter\quibblecritter.animation monsters\critter\ravencritter\ravencritter.animation monsters\critter\reasonablecritter\reasonablecritter.animation monsters\critter\redbreastcritter\redbreastcritter.animation monsters\critter\rolypolycritter\rolypolycritter.animation monsters\critter\sackbagcritter\sackbagcritter.animation monsters\critter\savybirdcritter\savybirdcritter.animation monsters\critter\sealcritter\sealcritter.animation monsters\critter\skellyfishcritter\skellyfishcritter.animation monsters\critter\skywurmcritter\skywurmcritter.animation monsters\critter\slugbluecritter\slugbluecritter.animation monsters\critter\slugcritter\slugcritter.animation monsters\critter\sluggreencritter\sluggreencritter.animation [NEW] monsters\critter\snailcritter\body.frames [NEW] monsters\critter\snailcritter\body.monsterpart [NEW] monsters\critter\snailcritter\body.png [NEW] monsters\critter\snailcritter\snailcritter.animation [NEW] monsters\critter\snailcritter\snailcritter.monstertype monsters\critter\snakecritter\snakecritter.animation monsters\critter\snooglecritter\snooglecritter.animation monsters\critter\snorecritter\snorecritter.animation monsters\critter\snowbcritter\snowbcritter.animation monsters\critter\snowflakescritter\snowflakescritter.animation monsters\critter\snowymolecritter\snowymolecritter.animation monsters\critter\sporelingcritter\sporelingcritter.animation monsters\critter\squeekcritter\squeekcritter.animation monsters\critter\squidcritter\squidcritter.animation monsters\critter\squirrelcritter\squirrelcritter.animation monsters\critter\steambirdcritter\steambirdcritter.animation monsters\critter\steamfishcritter\steamfishcritter.animation monsters\critter\steamspidercritter\steamspidercritter.animation monsters\critter\swarmcritter\swarmcritter.animation monsters\critter\swarmflyingcritter\swarmflyingcritter.animation monsters\critter\symbiotecritter\symbiotecritter.animation monsters\critter\tinycrocodilecritter\tinycrocodilecritter.animation [NEW] monsters\critter\tortoisecritter\body.frames [NEW] monsters\critter\tortoisecritter\body.monsterpart [NEW] monsters\critter\tortoisecritter\body.png [NEW] monsters\critter\tortoisecritter\tortoisecritter.animation [NEW] monsters\critter\tortoisecritter\tortoisecritter.monstertype monsters\critter\toucritter\toucritter.animation monsters\critter\toxiccrabcritter\toxiccrabcritter.animation monsters\critter\tritrotscritter\tritrotscritter.animation monsters\critter\vulturecritter\vulturecritter.animation monsters\critter\wintercritter\wintercritter.animation monsters\critter\wurmcritter\wurmcritter.animation monsters\critter\yeticritter\yeticritter.animation monsters\dungeon\ixoling\ixoling.animation monsters\flyers\paratail\paratail.animation monsters\pets\crasberry\crasberry.animation monsters\pets\snugget\snugget.animation monsters\walkers\anglure\anglure.animation monsters\walkers\oogler\oogler.animation monsters\walkers\oogler\oogler.monstertype [NEW] monsters\walkers\trictus\body.monsterpart [NEW] monsters\walkers\trictus\trictus.animation [NEW] monsters\walkers\trictus\trictus.frames [NEW] monsters\walkers\trictus\trictus.monstertype [NEW] monsters\walkers\trictus\trictus.png npcs\base.npctype npcs\bmain.lua npcs\chefmerchant.npctype npcs\doctormerchant.npctype npcs\guard.npctype npcs\merchant.npctype npcs\oremerchant.npctype npcs\stimmerchant.npctype npcs\toolmerchant.npctype npcs\wizardmerchant.npctype npcs\dungeon\avianairship\airshipquartermaster.npctype npcs\subbiometenants\giantflower.npctype npcs\subbiometenants\glow.npctype npcs\subbiometenants\oasis.npctype npcs\subbiometenants\prism.npctype npcs\subbiometenants\spring.npctype npcs\subbiometenants\steamspring.npctype objects\biome\alien\alienglowplant1\alienglowplant1.object objects\biome\bug\buglike1\buglike1.object objects\biome\bug\buglike10\buglike10.object objects\biome\bug\buglike2\buglike2.object objects\biome\bug\buglike3\buglike3.object objects\biome\bug\buglike4\buglike4.object objects\biome\bug\buglike5\buglike5.object objects\biome\bug\buglike6\buglike6.object objects\biome\bug\buglike7\buglike7.object objects\biome\bug\buglike8\buglike8.object objects\biome\bug\buglike9\buglike9.object objects\biome\frozenfire\frozenfirechair\frozenfirechair.object objects\biome\geometric\geometricbed\geometricbed.object objects\biome\geometric\geometricchair\geometricchair.object objects\biome\geometric\geometricchest\geometricchest.object objects\biome\geometric\geometrictable\geometrictable.object objects\biome\rainbowwood\rainbowwooddoor\rainbowwooddoor.object objects\biome\slime\ceilingslime1\ceilingslime1.object objects\biome\slime\ceilingslime2\ceilingslime2.object objects\biome\slime\ceilingslime3\ceilingslime3.object objects\biome\steamspring\floorpipe1\floorpipe1.object objects\biome\steamspring\floorpipe2\floorpipe2.object objects\biome\steamspring\floorpipe3\floorpipe3.object objects\biome\steamspring\steamclock\steamclock.object objects\biome\stonecave\cavebed\cavebed.object objects\biome\stonecave\cavechair\cavechair.object objects\biome\stonecave\cavechest\cavechest.object objects\biome\stonecave\cavelamp\cavelamp.object objects\colony\colonydeed\colonydeed.lua objects\crafting\fossilstation\fossilstation.object objects\generic\copperlantern\copperlantern.object objects\generic\pin\bowlingpin.object objects\hoard\treasurechest\treasurechest.object objects\mission\lunarbaseconsole\lunarbaseconsole.object objects\mission\lunarbasecrate\lunarbasecrate.object objects\mission\lunarbasedoor\lunarbasedoor.object objects\mission\lunarbaselantern\lunarbaselantern.object objects\mission\lunarbaselocker\lunarbaselocker.object objects\mission\root1\root1.object objects\mission\root10\root10.object objects\mission\root2\root2.object objects\mission\root3\root3.object objects\mission\root4\root4.object objects\mission\root5\root5.object objects\mission\root6\root6.object objects\mission\root7\root7.object objects\mission\root8\root8.object objects\mission\root9\root9.object objects\mission\trapchest\trapchest.object objects\themed\gothic\gothicchair\gothicchair.object objects\themed\outdoor\lamppost3\lamppost3.object objects\themed\outdoor\outdoorbench\outdoorbench.object objects\themed\outdoor\outdoorstool\outdoorstool.object objects\wired\scanner\scanner.object [NEW] particles\hoverbikewreck\default.frames [NEW] particles\hoverbikewreck\hoverbikewreck1.particle [NEW] particles\hoverbikewreck\hoverbikewreck1.png [NEW] particles\hoverbikewreck\hoverbikewreck2.particle [NEW] particles\hoverbikewreck\hoverbikewreck2.png [NEW] particles\hoverbikewreck\hoverbikewreck3.particle [NEW] particles\hoverbikewreck\hoverbikewreck3.png [NEW] particles\hoverbikewreck\hoverbikewreck4.particle [NEW] particles\hoverbikewreck\hoverbikewreck4.png [NEW] particles\hoverbikewreck\hoverbikewreck5.particle [NEW] particles\hoverbikewreck\hoverbikewreck5.png [NEW] particles\hoverbikewreck\hoverbikewreck6.particle [NEW] particles\hoverbikewreck\hoverbikewreck6.png [NEW] particles\shards\hoverbikeshard.particle projectiles\physics.config projectiles\activeitems\boomerang\iceboomerang.projectile [NEW] projectiles\activeitems\chainball\chainball.frames [NEW] projectiles\activeitems\chainball\chainball.lua [NEW] projectiles\activeitems\chainball\chainball.png [NEW] projectiles\activeitems\chainball\chainball.projectile projectiles\activeitems\chakram\chakramprojectile.lua [NEW] projectiles\activeitems\chakram\sawchakram.frames [NEW] projectiles\activeitems\chakram\sawchakram.png [NEW] projectiles\activeitems\chakram\sawchakram.projectile [NEW] projectiles\activeitems\chakram\sawchakramprojectile.lua projectiles\activeitems\grapplehook\grapplehook.lua projectiles\activeitems\traildash\wormtrail.png projectiles\explosions\burstexplosion\electricburstexplosionfreeze.projectile projectiles\explosions\burstexplosion\fireburstexplosionfreeze.projectile projectiles\explosions\burstexplosion\iceburstexplosionfreeze.projectile [NEW] projectiles\explosions\elementalexplosions\physicalexplosionknockback.projectile projectiles\explosions\elementalwave\electricshockwave.projectile projectiles\explosions\elementalwave\fireshockwave.projectile projectiles\explosions\elementalwave\iceshockwave.projectile projectiles\explosions\elementalwave\physicalshockwave.projectile projectiles\explosions\elementalwave\poisonshockwave.projectile projectiles\explosions\regularexplosion2\poisonexplosionfreeze.projectile [NEW] projectiles\explosions\regularexplosion2\regularexplosionknockback.config [NEW] projectiles\explosions\regularexplosion2\regularexplosionknockback.projectile projectiles\swoosh\broadsword\travelingswoosh\poisontravelingswoosh.projectile projectiles\swoosh\spear\spinswoosh\electricspinswoosh.projectile projectiles\swoosh\spear\spinswoosh\firespinswoosh.projectile projectiles\swoosh\spear\spinswoosh\icespinswoosh.projectile projectiles\swoosh\spear\spinswoosh\poisonspinswoosh.projectile quests\generated\guard.config quests\generated\merchant.config quests\generated\normal.config quests\generated\pools\buildingthemes.config quests\generated\pools\dungeonitems.config quests\generated\pools\furnituresets.config [NEW] quests\generated\pools\guardobjects.config [NEW] quests\generated\pools\guardthemes.config [NEW] quests\generated\pools\merchantstock1.config [NEW] quests\generated\pools\merchantstock2.config quests\generated\pools\merchanttrades.config quests\generated\pools\pools.config quests\generated\templates\build_home.questtemplate quests\generated\templates\hat.questtemplate quests\generated\templates\helmet.questtemplate [NEW] quests\generated\templates\new_stock1.questtemplate [NEW] quests\generated\templates\new_stock2.questtemplate [NEW] quests\generated\templates\recruit_guard.questtemplate quests\generated\templates\themed_build.questtemplate [NEW] quests\scripts\generated\recruit_guard.lua scripts\spawnpoint.lua scripts\util.lua scripts\vec2.lua scripts\actions\items.lua scripts\actions\merchant.lua scripts\actions\quests.lua scripts\actions\status.lua [NEW] scripts\projectiles\orbit.lua scripts\quest\manager\spawn_entities.lua scripts\questgen\context.lua scripts\questgen\generator.lua scripts\questgen\planner.lua scripts\questgen\relations.lua spawntypes\critter.spawntypes tenants\guards\guardt2_apex.tenant tenants\guards\guardt2_avian.tenant tenants\guards\guardt2_floran.tenant tenants\guards\guardt2_glitch.tenant tenants\guards\guardt2_human.tenant tenants\guards\guardt2_hylotl.tenant tenants\guards\guardt2_random.tenant tenants\guards\guardt3_apex.tenant tenants\guards\guardt3_avian.tenant tenants\guards\guardt3_floran.tenant tenants\guards\guardt3_glitch.tenant tenants\guards\guardt3_human.tenant tenants\guards\guardt3_hylotl.tenant tenants\guards\guardt3_random.tenant tenants\guards\guardt4_apex.tenant tenants\guards\guardt4_avian.tenant tenants\guards\guardt4_floran.tenant tenants\guards\guardt4_glitch.tenant tenants\guards\guardt4_human.tenant tenants\guards\guardt4_hylotl.tenant tenants\guards\guardt4_random.tenant tenants\guards\guardt5a_apex.tenant tenants\guards\guardt5a_avian.tenant tenants\guards\guardt5a_floran.tenant tenants\guards\guardt5a_glitch.tenant tenants\guards\guardt5a_human.tenant tenants\guards\guardt5a_hylotl.tenant tenants\guards\guardt5a_random.tenant tenants\guards\guardt5m_apex.tenant tenants\guards\guardt5m_avian.tenant tenants\guards\guardt5m_floran.tenant tenants\guards\guardt5m_glitch.tenant tenants\guards\guardt5m_human.tenant tenants\guards\guardt5m_hylotl.tenant tenants\guards\guardt5m_random.tenant tenants\guards\guardt5s_apex.tenant tenants\guards\guardt5s_avian.tenant tenants\guards\guardt5s_floran.tenant tenants\guards\guardt5s_glitch.tenant tenants\guards\guardt5s_human.tenant tenants\guards\guardt5s_hylotl.tenant tenants\guards\guardt5s_random.tenant tenants\guards\guardt6a_apex.tenant tenants\guards\guardt6a_avian.tenant tenants\guards\guardt6a_floran.tenant tenants\guards\guardt6a_glitch.tenant tenants\guards\guardt6a_human.tenant tenants\guards\guardt6a_hylotl.tenant tenants\guards\guardt6a_random.tenant tenants\guards\guardt6m_apex.tenant tenants\guards\guardt6m_avian.tenant tenants\guards\guardt6m_floran.tenant tenants\guards\guardt6m_glitch.tenant tenants\guards\guardt6m_human.tenant tenants\guards\guardt6m_hylotl.tenant tenants\guards\guardt6m_random.tenant tenants\guards\guardt6s_apex.tenant tenants\guards\guardt6s_avian.tenant tenants\guards\guardt6s_floran.tenant tenants\guards\guardt6s_glitch.tenant tenants\guards\guardt6s_human.tenant tenants\guards\guardt6s_hylotl.tenant tenants\guards\guardt6s_random.tenant tenants\guards\guard_apex.tenant tenants\guards\guard_avian.tenant tenants\guards\guard_floran.tenant tenants\guards\guard_glitch.tenant tenants\guards\guard_human.tenant tenants\guards\guard_hylotl.tenant tenants\guards\guard_random.tenant vehicles\hoverbike\hoverbike.animation vehicles\hoverbike\hoverbike.lua vehicles\hoverbike\hoverbike.vehicle [NEW] vehicles\hoverbike\hoverbikefire.frames [NEW] vehicles\hoverbike\hoverbikefire.png vehicles\hoverbike\hoverbikeforeground.png DIFFS ----- behaviors\monsters\modular\actions\invulnerable.behavior 7c7,8 < "/scripts/actions/builders.lua" --- > "/scripts/actions/builders.lua", > "/scripts/actions/math.lua" 111,116c112,153 < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": "" < } --- > "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": "greaterThan", > "type": "action", > "name": "greaterThan", > "parameters": { > "first": "", > "second": 0 > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": "" > } > } > ] > }, > { > "title": "runner", > "type": "action", > "name": "runner", > "parameters": {} > } > ] biomes\surface\desert.biome 35c35 < [ 1, "armadillo" ], --- > [ 1, "armadillocritter" ], biomes\surface\forest.biome 37c37 < [ 1, "snail" ], --- > [ 1, "snailcritter" ], biomes\surface\garden.biome 29c29 < [ 0.15, "tortoise" ], --- > [ 0.15, "tortoisecritter" ], 31,32c31,32 < [ 0.2, "bunny" ], < [ 0.2, "snail" ] --- > [ 0.2, "bunnycritter" ], > [ 0.2, "snailcritter" ] biomes\surface\jungle.biome 37c37 < [ 1, "frog" ], --- > [ 1, "frogcritter" ], biomes\surface\ocean.biome 39c39 < [ 1, "tortoise" ] --- > [ 1, "tortoisecritter" ] biomes\surface\tundra.biome 37c37 < [ 1, "bunny" ], --- > [ 1, "bunnycritter" ], biomes\surface_detached\bioluminescence.biome 18c18 < [ 0.25, "glowingballcritter2" ], --- > [ 0.25, "glowingball2critter" ], biomes\surface_detached\eyepatch.biome 17c17 < [ 1, "eyefriend" ], --- > [ 1, "eyefriendcritter" ], biomes\surface_detached\swamp.biome 19c19 < [ 1, "frog" ], --- > [ 1, "frogcritter" ], biomes\underground\underground0a.biome 25,26c25,26 < [ 1, "snail" ], < [ 1, "tortoise" ], --- > [ 1, "snailcritter" ], > [ 1, "tortoisecritter" ], 28c28 < [ 1, "bunny" ] --- > [ 1, "bunnycritter" ] biomes\underground\underground0b.biome 25c25 < [ 1, "armadillo" ], --- > [ 1, "armadillocritter" ], biomes\underground\underground0d.biome 25c25 < [ 1, "frog" ], --- > [ 1, "frogcritter" ], biomes\underground\underground1b.biome 25c25 < [ 1, "frog" ] --- > [ 1, "frogcritter" ] dialog\converse.config 1395d1394 < "Insult. Take your stinking paws off me you damn dirty ape!.", 1399,1401c1398 < "Kindness. You may rest here any time Apeman.", < "Intimidate. Aren't you suppose to be wearing a fez or something?", < "Kindness. Welcome, friend. The tavern just received a banana shipment this morning.", --- > "Kindness. You may rest here any time, ape man.", dungeons\hylotl\hylotlvillage\hylotlvillagehousesmall1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\bioluminescence\spire1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\bioluminescence\spire2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\bioluminescence\spire3.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\eyepatch\eyeterrain1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\eyepatch\eyeterrain2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\archway.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\graveyard.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\mediumgardenruin1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\mediumruin.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\smallstonehouse.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\garden\smalltower2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\cliffsidecave4.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\cliffsidecave5.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\jungleterrain2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\jungleterrain4.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\jungleterrain6.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\pond1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\jungle\spikepit2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\spring\largepool7.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\hut1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\hut2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\hut3.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\hut7.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain2.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain3.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain4.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain5.json [TMX file differences are left out for huge size.] dungeons\microdungeons\biomes\swamp\terrain6.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_open1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_tunnel1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_tunnelbackslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_tunnelforwardslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakbackslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakforwardslope1.json [TMX file differences are left out for huge size.] items\active\vehiclecontroller\vehiclecontroller.lua 20,21d19 < -- world.logInfo("Health at spawntime=%s",self.vehicleStartHealth) < 35a34,39 > else > if fireMode == "alt" then > activeItem.setInstanceValue("filled", true) > self.vehicleStartHealth = nil; > activeItem.setInventoryIcon(item.instanceValue("filledInventoryIcon")) > end 50,51d53 < < -- world.logInfo("Health listed in pokeball=%s",vehicleResult.health) items\active\weapons\weapon.lua 167a168,171 > function Weapon:faceVector(vector) > return {vector[1] * self.aimDirection, vector[2]} > end > items\active\weapons\fist\fistweapon.animation 29c29 < "transformationGroups" : ["weapon"], --- > "transformationGroups" : ["weapon","swoosh"], 51c51,52 < "weapon" : {} --- > "weapon" : {}, > "swoosh" : {} items\active\weapons\fist\fistweapon.lua 8,9d7 < animator.setGlobalTag("directives", "") < 34a33,35 > self.weapon.freezeLimit = item.instanceValue("freezeLimit", 2) > self.weapon.freezesLeft = self.weapon.freezeLimit > 38a40,43 > if mcontroller.onGround() then > self.weapon.freezesLeft = self.weapon.freezeLimit > end > 96,97c101,105 < animator.setGlobalTag("hand", self.weapon:isFrontHand() and "front" or "back") < activeItem.setOutsideOfHand(self.weapon:isFrontHand()) --- > local isFrontHand = self.weapon:isFrontHand() > animator.setGlobalTag("hand", isFrontHand and "front" or "back") > animator.resetTransformationGroup("swoosh") > animator.scaleTransformationGroup("swoosh", isFrontHand and {1, 1} or {1, -1}) > activeItem.setOutsideOfHand(isFrontHand) items\active\weapons\fist\punch.lua 13a14 > self.freezesLeft = self.freezeLimit 41c42,45 < self.freezeTimer = self.freezeTime or 0 --- > if self.weapon.freezesLeft > 0 then > self.weapon.freezesLeft = self.weapon.freezesLeft - 1 > self.freezeTimer = self.freezeTime or 0 > end items\active\weapons\fist\combofinishers\powerpunch.lua 28a29 > self.weapon.freezesLeft = 0 items\active\weapons\fist\combofinishers\uppercut.lua 28a29 > self.weapon.freezesLeft = 0 items\active\weapons\melee\altabilities\broadsword\bladecharge\bladecharge.altability 57a58 > "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\altabilities\broadsword\downstab\downstab.altability 16a17 > "statusEffects" : [ "damagefreeze" ], 19d19 < "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\altabilities\broadsword\risingslash\risingslash.altability 65a66 > "statusEffects" : ["damagefreeze", "shortparalysis"], 68d68 < "statusEffects" : ["damagefreeze", "shortparalysis"], items\active\weapons\melee\altabilities\broadsword\spinslash\spinslash.altability 60a61 > "statusEffects" : ["shortdamagefreeze"], items\active\weapons\melee\altabilities\broadsword\spinslash\superspinslash.altability 60a61 > "statusEffects" : ["shortdamagefreeze"], items\active\weapons\melee\altabilities\broadsword\traildash\traildash.altability 95a96 > "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\altabilities\hammer\elementalaura\elementalaura.altability 89c89 < "energyUsage" : 60.0, --- > "energyUsage" : 120.0, 96a97,111 > "elementalConfig" : { > "fire" : { > "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "burning" ] } > }, > "ice" : { > "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "frostslow" ] } > }, > "poison" : { > "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "weakpoison" ] } > }, > "electric" : { > "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "paralysis" ] } > } > }, > 100c115 < "baseDamage" : 0.3, --- > "baseDamage" : 2, items\active\weapons\melee\altabilities\hammer\groundslam\groundslam.altability 23c23 < "energyUsage" : 40.0, --- > "energyUsage" : 160.0, 28c28 < "baseDamage" : 3, --- > "baseDamage" : 4, 36c36 < "projectileType" : "physicalexplosion", --- > "projectileType" : "physicalexplosionknockback", 38c38,39 < "power" : 7 --- > "power" : 8, > "onlyHitTerrain" : true items\active\weapons\melee\altabilities\hammer\shockwave\physicalshockwave.altability 23c23 < "energyUsage" : 60.0, --- > "energyUsage" : 80.0, 31,32c31,32 < "power" : 0.5, < "knockback" : 20 --- > "power" : 2, > "knockback" : 30 36c36 < "maxDistance" : 4, --- > "maxDistance" : 5, items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.altability 71c71 < "energyUsage" : 60.0, --- > "energyUsage" : 80.0, 93,94c93,95 < "power" : 0.5, < "knockback" : 20 --- > "power" : 1.75, > "knockback" : 20, > "onlyHitTerrain" : true items\active\weapons\melee\altabilities\hammer\uppercut\uppercut.altability 57c57 < "energyUsage" : 40.0, --- > "energyUsage" : 80.0, 66c66 < "baseDamage" : 4, --- > "baseDamage" : 7.5, items\active\weapons\melee\altabilities\spear\elementalspin\elementalspin.altability 15d14 < //"immediateSound" : "/sfx/melee/spear_twirl_start.ogg", 116,117c115,116 < "energyUsage" : 40, < "projectileEnergyCost" : 20, --- > "energyUsage" : 60, > "projectileEnergyCost" : 40, 124c123,124 < "projectileType" : "firespinswoosh" --- > "projectileType" : "firespinswoosh", > "damageConfig" : { "statusEffects" : [ "damagefreeze", "burning" ] } 127c127,128 < "projectileType" : "icespinswoosh" --- > "projectileType" : "icespinswoosh", > "damageConfig" : { "statusEffects" : [ "damagefreeze", "frostslow" ] } 130c131,132 < "projectileType" : "poisonspinswoosh" --- > "projectileType" : "poisonspinswoosh", > "damageConfig" : { "statusEffects" : [ "damagefreeze", "weakpoison" ] } 133c135,136 < "projectileType" : "electricspinswoosh" --- > "projectileType" : "electricspinswoosh", > "damageConfig" : { "statusEffects" : [ "damagefreeze", "paralysis" ] } 139c142,143 < "baseDamage" : 3.5, --- > "statusEffects" : [ "shortdamagefreeze" ], > "baseDamage" : 6, 146c150 < "power" : 5, --- > "power" : 6, items\active\weapons\melee\altabilities\spear\flurry\flurry.altability 23a24 > "statusEffects" : [ "shortdamagefreeze" ], 27,28c28 < "timeoutGroup" : "alt", < "statusEffects" : [ "shortdamagefreeze" ] --- > "timeoutGroup" : "alt" items\active\weapons\melee\altabilities\spear\rocketspear\rocketspear.altability 80c80 < "energyUsage" : 40.0, --- > "energyUsage" : 60.0, 104c104 < "baseDps" : 5, --- > "baseDps" : 13.5, items\active\weapons\melee\altabilities\spear\spin\spin.altability 58a59 > "statusEffects" : [ "shortdamagefreeze" ], items\active\weapons\melee\axe\commonaxe.activeitem 30c30 < "statusEffects" : [ "damagefreeze" ], --- > "statusEffects" : [ "shortdamagefreeze" ], items\active\weapons\melee\axe\rareaxe.activeitem 29a30 > "statusEffects" : [ "shortdamagefreeze" ], 79c80 < "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "damagefreeze", "burning" ] } }, --- > "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "burning" ] } }, 83c84 < "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "damagefreeze", "frostslow" ] } }, --- > "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "frostslow" ] } }, 87c88 < "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "damagefreeze", "weakpoison" ] } }, --- > "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "weakpoison" ] } }, 91c92 < "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "damagefreeze", "paralysis" ] } }, --- > "primaryAttack" : { "damageConfig" : { "statusEffects" : [ "shortdamagefreeze", "paralysis" ] } }, items\active\weapons\melee\axe\uncommonaxe.activeitem 31c31 < "statusEffects" : [ "damagefreeze" ], --- > "statusEffects" : [ "shortdamagefreeze" ], items\active\weapons\melee\broadsword\commonbroadsword.activeitem 25c25 < "statusEffects" : [ ], --- > "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\broadsword\rarebroadsword.activeitem 26a27 > "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\dagger\raredagger.activeitem 27a28 > "statusEffects" : [ "shortdamagefreeze" ], items\active\weapons\melee\hammer\rarehammer.activeitem 28a29 > "statusEffects" : [ "damagefreeze" ], items\active\weapons\melee\shortsword\rareshortsword.activeitem 27a28 > "statusEffects" : [ "shortdamagefreeze" ], items\active\weapons\ranged\altabilities\bouncingshot\bouncingshot.altability 38c38 < "energyUsage" : 25.0, --- > "energyUsage" : 24.0, items\active\weapons\ranged\altabilities\burstshot\burstshot.altability 62c62 < "energyUsage" : 60.0, --- > "energyUsage" : 80.0, 65c65 < "baseDamage" : 13, --- > "baseDamage" : 10, items\active\weapons\ranged\altabilities\deathbomb\deathbomb.altability 29c29 < "projectileParameters" : {}, --- > "projectileParameters" : { "knockback" : 10 }, 32,33c32,33 < "baseDps" : 3.0, < "energyUsage" : 25.0, --- > "baseDps" : 4.0, > "energyUsage" : 24.0, items\active\weapons\ranged\altabilities\explosiveburst\explosiveburst.altability 47c47 < "baseDps" : 10.0, --- > "baseDps" : 5.0, items\active\weapons\ranged\altabilities\explosiveshot\explosiveshot.altability 37c37 < "energyUsage" : 25.0, --- > "energyUsage" : 24.0, items\active\weapons\ranged\altabilities\guidedrocket\guidedrocket.altability 40,42c40,42 < "baseDps" : 7, < "energyUsage" : 50, < "fireTime" : 1.5, --- > "baseDps" : 6, > "energyUsage" : 80, > "fireTime" : 1.0, 56c56 < "duration" : 0.7, --- > "duration" : 1.5, items\active\weapons\ranged\altabilities\homingrocket\homingrocket.altability 34,36c34,36 < "baseDps" : 7, < "energyUsage" : 30, < "fireTime" : 1.5, --- > "baseDps" : 5.34, > "energyUsage" : 41, > "fireTime" : 1.0, 53c53 < "duration" : 0.4, --- > "duration" : 1.0, items\active\weapons\ranged\altabilities\lance\lance.altability 138c138 < "energyUsage" : 40.0, --- > "energyUsage" : 80.0, 142c142 < "baseDamage" : 15, --- > "baseDamage" : 10, items\active\weapons\ranged\altabilities\markedshot\markedshot.altability 29,30c29,30 < "baseDamage" : 4, < "energyUsage" : 25.0, // cost per target marked --- > "baseDamage" : 9, > "energyUsage" : 40.0, // cost per target marked items\active\weapons\ranged\altabilities\piercingshot\piercingshot.altability 37c37 < "energyUsage" : 25.0, --- > "energyUsage" : 36.0, items\active\weapons\ranged\altabilities\rocketburst\rocketburst.altability 28,29c28,29 < "baseDps" : 7, < "energyUsage" : 30, --- > "baseDps" : 16, > "energyUsage" : 60, items\active\weapons\ranged\altabilities\shrapnelbomb\shrapnelbomb.altability 17,18c17,18 < "baseDamage" : 12, < "energyUsage" : 40, --- > "baseDamage" : 1, > "energyUsage" : 80, items\active\weapons\ranged\altabilities\spray\spray.altability 11c11 < "baseDps" : 15, --- > "baseDps" : 24, items\active\weapons\ranged\altabilities\stickyshot\stickyshot.altability 29a30 > "baseDps" : 9, items\active\weapons\ranged\flamethrower\flamethrower.activeitem 18,20c18,20 < "fireStart" : [ ], < "fireLoop" : [ "/sfx/melee/rocketspear_loop_fire.ogg" ], < "fireEnd" : [ "/sfx/melee/rocketspear_stop_fire.ogg" ] --- > "fireStart" : [ "/sfx/gun/flamethrower_start.ogg" ], > "fireLoop" : [ "/sfx/gun/flamethrower_loop.ogg" ], > "fireEnd" : [ "/sfx/gun/flamethrower_stop.ogg" ] 32c32 < "baseDps" : 10, --- > "baseDps" : 13.5, 61c61 < "duration" : 0.075, --- > "duration" : 0.05, items\active\weapons\ranged\flamethrower\flamethrower.lua 62a63 > animator.stopAllSounds("fireStart") monsters\boss\spiderboss\spiderboss.animation 130a131,142 > }, > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } monsters\critter\apexscabcritter\apexscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\arcticfishcritter\arcticfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\avianscabcritter\avianscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\ballooncritter\ballooncritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bigwormcritter\bigwormcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\birdcritter\birdcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\blipcritter\blipcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bloodtoadcritter\bloodtoadcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bluebutterflycritter\bluebutterflycritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bouncebagcritter\bouncebagcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bouncercritter\bouncercritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\bowbirdcritter\bowbirdcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\breakercritter\breakercritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\breakerfemalecritter\breakerfemalecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\charfishcritter\charfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\chevcritter\chevcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\ciclesnail\ciclesnailcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\cliffcritter\cliffcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\crabcritter\crabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\crystalbirdcritter\crystalbirdcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\crystaltortoisecritter\crystaltortoisecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\dancercritter\dancercritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\darkballcritter\darkballcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\darknessscabcritter\darknessscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\darkoneeyecritter\darkoneeyecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\darkthreeeyescritter\darkthreeeyescritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\darkwormcritter\darkwormcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\dartcritter\dartcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\deserttortoisecritter\deserttortoisecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\eyepodcritter\eyepodcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\fishberrycritter\fishberrycritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\fishchilicritter\fishchilicritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\fishcritter\fishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\fishlemoncritter\fishlemoncritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\floatbagcritter\floatbagcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\floranscabcritter\floranscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\froggpolecritter\frogpolecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\frozenowlcritter\frozenowlcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\glitchscabcritter\glitchscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\gloopcritter\gloopcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\glowingballcritter\glowingballcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\glowingfishcritter\glowingfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\groopcritter\groopcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\gullcritter\gullcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\harecritter\harecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\hazmatcritter\hazmatcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\hedgehogcritter\hedgehogcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\hollowcritter\hollowcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\humanscabcritter\humanscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\hylotlscabcritter\hylotlscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\icescabcritter\icescabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\jellocritter\jellocritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\jellycritter\jellycritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\krawlcritter\krawlcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\leafscabcritter\leafscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\maggotcritter\maggotcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\mousecritter\mousecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\narfishcritter\narfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\owlcritter\owlcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\penguinscabcritter\penguinscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\petalcritter\petalcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\poisonfishcritter\poisonfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\poofincritter\poofincritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\prismelementalcritter\prismelementalcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\prismscabcritter\prismscabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\pufferfishcritter\pufferfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\quibblecritter\quibblecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\ravencritter\ravencritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\reasonablecritter\reasonablecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\redbreastcritter\redbreastcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\rolypolycritter\rolypolycritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\sackbagcritter\sackbagcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\savybirdcritter\savybirdcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\sealcritter\sealcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\skellyfishcritter\skellyfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\skywurmcritter\skywurmcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\slugbluecritter\slugbluecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\slugcritter\slugcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\sluggreencritter\sluggreencritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snakecritter\snakecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snooglecritter\snooglecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snorecritter\snorecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snowbcritter\snowbcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snowflakescritter\snowflakescritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\snowymolecritter\snowymolecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\sporelingcritter\sporelingcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\squeekcritter\squeekcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\squidcritter\squidcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\squirrelcritter\squirrelcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\steambirdcritter\steambirdcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\steamfishcritter\steamfishcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\steamspidercritter\steamspidercritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\swarmcritter\swarmcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\swarmflyingcritter\swarmflyingcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\symbiotecritter\symbiotecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\tinycrocodilecritter\tinycrocodilecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\toucritter\toucritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\toxiccrabcritter\toxiccrabcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\tritrotscritter\tritrotscritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\vulturecritter\vulturecritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\wintercritter\wintercritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\wurmcritter\wurmcritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\critter\yeticritter\yeticritter.animation 3a4,15 > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } > }, monsters\dungeon\ixoling\ixoling.animation 30a31,42 > }, > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } monsters\flyers\paratail\paratail.animation 24a25,36 > }, > "damage" : { > "priority" : 3, > "default" : "none", > "states" : { > "none" : { > "frames" : 1 > }, > "stunned" : { > "frames" : 1 > } > } monsters\pets\crasberry\crasberry.animation 362a363,382 > "emotesleepy" : { > "emissionRate" : 1, > "particles" : [ > { > "particle" : { > "type" : "animated", > "animation" : "/animations/emotes/sleepy.animation", > "position" : [0.5, 2], > "finalVelocity" : [0, 0], > "initialVelocity" : [0, 0], > "destructionTime" : 0.2, > "destructionAction" : "shrink", > "layer" : "front", > "timeToLive" : 0.8, > "flippable" : false > } > } > ] > }, > monsters\pets\snugget\snugget.animation 362a363,382 > "emotesleepy" : { > "emissionRate" : 1, > "particles" : [ > { > "particle" : { > "type" : "animated", > "animation" : "/animations/emotes/sleepy.animation", > "position" : [0.5, 2], > "finalVelocity" : [0, 0], > "initialVelocity" : [0, 0], > "destructionTime" : 0.2, > "destructionAction" : "shrink", > "layer" : "front", > "timeToLive" : 0.8, > "flippable" : false > } > } > ] > }, > monsters\walkers\anglure\anglure.animation 129a130,139 > "lights" : { > "glow" : { > "active" : true, > "position" : [2.0, -0.375], > "color" : [120, 120, 40], > "pointLight" : true, > "anchorPart" : "body" > } > }, > monsters\walkers\oogler\oogler.animation 84c84 < "offset" : [-0.0625, 0.6875] --- > "offset" : [0.5, 0.6875] monsters\walkers\oogler\oogler.monstertype 84c84 < "poly" : [ [1.0125, 2.25], [1.5125, 1.75], [1.5125, -1.55], [1.0125, -1.95], [-1.0125, -1.95], [-1.5125, -1.55], [-1.5125, 1.75], [-1.0125, 2.25] ], --- > "poly" : [ [0.875, 2.375], [1.375, 1.875], [1.375, -1.875], [0.875, -2.375], [-0.875, -2.375], [-1.375, -1.875], [-1.375, 1.875], [-0.875, 2.375] ], 97c97 < "collisionPoly" : [ [1.0125, 2.25], [1.5125, 1.75], [1.5125, -1.55], [1.0125, -1.95], [-1.0125, -1.95], [-1.5125, -1.55], [-1.5125, 1.75], [-1.0125, 2.25] ], --- > "collisionPoly" : [ [0.875, 2.375], [1.375, 1.875], [1.375, -1.875], [0.875, -2.375], [-0.875, -2.375], [-1.375, -1.875], [-1.375, 1.875], [-0.875, 2.375] ], npcs\base.npctype 29,33c29 < "enableParticipation" : false, < < // Controls the spawning of monsters and enemy NPCs in generated quests: < "spawnPointXDelta" : 40, < "spawnPointMaxYDelta" : 16 --- > "enableParticipation" : false npcs\bmain.lua 257a258,264 > local itemName = nil > if type(item) == "table" then > itemName = item.name > else > itemName = item > end > 259c266 < local itemType = root.itemType(item) --- > local itemType = root.itemType(itemName) npcs\chefmerchant.npctype 5a6,9 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\doctormerchant.npctype 5a6,9 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\guard.npctype 14c14,15 < "disableHatQuest" : true --- > "disableHatQuest" : true, > "guard" : true npcs\merchant.npctype 18c18,21 < "enableParticipation" : true --- > "enableParticipation" : true, > "flags" : { > "disableHatQuest" : true > } npcs\oremerchant.npctype 5a6,9 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\stimmerchant.npctype 5a6,9 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\toolmerchant.npctype 5a6,9 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\wizardmerchant.npctype 7a8,11 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\dungeon\avianairship\airshipquartermaster.npctype 11a12,15 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\giantflower.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\glow.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\oasis.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\prism.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\spring.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > npcs\subbiometenants\steamspring.npctype 14a15,18 > "questGenerator" : { > "pools" : ["normal"] > }, > objects\biome\alien\alienglowplant1\alienglowplant1.object 10,15d9 < //"apexDescription" : "todo", < //"avianDescription" : "todo", < //"floranDescription" : "todo", < //"glitchDescription" : "todo", < //"humanDescription" : "todo", < //"hylotlDescription" : "todo", objects\biome\bug\buglike1\buglike1.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike10\buglike10.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike2\buglike2.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike3\buglike3.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike4\buglike4.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike5\buglike5.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike6\buglike6.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike7\buglike7.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike8\buglike8.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\bug\buglike9\buglike9.object 12,20d11 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ objects\biome\frozenfire\frozenfirechair\frozenfirechair.object 12,17d11 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", objects\biome\geometric\geometricbed\geometricbed.object 12,17d11 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", objects\biome\geometric\geometricchair\geometricchair.object 12,17d11 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", objects\biome\geometric\geometricchest\geometricchest.object 15,21d14 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < objects\biome\geometric\geometrictable\geometrictable.object 12,18d11 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < objects\biome\rainbowwood\rainbowwooddoor\rainbowwooddoor.object 12,19c12,19 < /* < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", < */ --- > > "apexDescription" : "It's a door made from rainbow wood.", > "avianDescription" : "A doorway with a rainbow printed on it. I doubt it leads to one.", > "floranDescription" : "Door hasss colourful picture on it.", > "glitchDescription" : "Observant. This is a brightly coloured door.", > "humanDescription" : "A rainbow door.", > "hylotlDescription" : "What a happy looking door.", > objects\biome\slime\ceilingslime1\ceilingslime1.object 55,57c55 < "smashDropOptions" : [ < [ [ "greenslime", 1, { } ], [ "greenslime", 1, { } ], [ "greenslime", 1, { } ] ] < ] --- > "smashParticles" : [ { "count" : 8, "particle" : "slimeshard" } ] objects\biome\slime\ceilingslime2\ceilingslime2.object 56,58c56 < "smashDropOptions" : [ < [ [ "greenslime", 1, { } ], [ "greenslime", 1, { } ], [ "greenslime", 1, { } ] ] < ] --- > "smashParticles" : [ { "count" : 8, "particle" : "slimeshard" } ] objects\biome\slime\ceilingslime3\ceilingslime3.object 38,40c38 < "smashDropOptions" : [ < [ [ "greenslime", 1, { } ], [ "greenslime", 1, { } ] ] < ] --- > "smashParticles" : [ { "count" : 8, "particle" : "slimeshard" } ] objects\biome\steamspring\floorpipe1\floorpipe1.object 11,20c11,19 < < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "This pipe looks sturdy.", > "avianDescription" : "I wonder who built this pipe.", > "floranDescription" : "Strange pipe ssstructure.", > "glitchDescription" : "Admiration. What a handsome pipe.", > "humanDescription" : "These smoke puffs smell funny.", > "hylotlDescription" : "Like clouds fleeing captivation.", > "novakidDescription" : "This pipe smokes like a chimney.", > objects\biome\steamspring\floorpipe2\floorpipe2.object 12,20c12,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > "apexDescription" : "This pipe looks sturdy.", > "avianDescription" : "I wonder who built this pipe.", > "floranDescription" : "Strange pipe ssstructure.", > "glitchDescription" : "Admiration. What a handsome pipe.", > "humanDescription" : "These smoke puffs smell funny.", > "hylotlDescription" : "Like clouds fleeing captivation.", > "novakidDescription" : "This pipe smokes like a chimney.", objects\biome\steamspring\floorpipe3\floorpipe3.object 12,20c12,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > "apexDescription" : "This pipe looks sturdy.", > "avianDescription" : "I wonder who built this pipe.", > "floranDescription" : "Strange pipe ssstructure.", > "glitchDescription" : "Admiration. What a handsome pipe.", > "humanDescription" : "These smoke puffs smell funny.", > "hylotlDescription" : "Like clouds fleeing captivation.", > "novakidDescription" : "This pipe smokes like a chimney.", objects\biome\steamspring\steamclock\steamclock.object 12,17c12,18 < "apexDescription" : "-todo-", < "avianDescription" : "-todo", < "floranDescription" : "-todo", < "glitchDescription" : "-todo", < "humanDescription" : "-todo", < "hylotlDescription" : "-todo", --- > "apexDescription" : "An impressive clock.", > "avianDescription" : "A large clock. You can't miss it.", > "floranDescription" : "Now Floran knowss what time it isss.", > "glitchDescription" : "Doubtful. Is that clock displaying the correct time?", > "humanDescription" : "What has hands but can't clap?", > "hylotlDescription" : "A bigger clock won't give you more time.", > "novakidDescription" : "A large clock. You can't miss it.", objects\biome\stonecave\cavebed\cavebed.object 11,18c11,19 < /* < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", < */ --- > > "apexDescription" : "This bed is not built for comfort.", > "avianDescription" : "It's a cold and hard bed.", > "floranDescription" : "A bed made from rocksss.", > "glitchDescription" : "Confident. This sturdy bed will last many generations.", > "humanDescription" : "It's better than sleeping on the floor I guess...", > "hylotlDescription" : "Supposedly, sleeping on a hard surface is good for your back.", > "novakidDescription" : "Suddenly, I don't feel so tired anymore.", > objects\biome\stonecave\cavechair\cavechair.object 11,18c11,19 < /* < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", < */ --- > > "apexDescription" : "It doesn't look comfortable to sit on.", > "avianDescription" : "It looks like it was taken straight from nature.", > "floranDescription" : "Floran would at leassst put some moss on top.", > "glitchDescription" : "Contemplative. Where is the line between a rock and a chair?", > "humanDescription" : "My butt hurts just from looking at it.", > "hylotlDescription" : "A simple chair made from rock.", > "novakidDescription" : "I think it's for sitting on.", > objects\biome\stonecave\cavechest\cavechest.object 14,21c14,22 < /* < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", < */ --- > > "apexDescription" : "A chest made from regular rock.", > "avianDescription" : "It looks simple, but it can contain riches.", > "floranDescription" : "It seems like a good place for keeping ssstuff.", > "glitchDescription" : "Impressed. It's a cleverly camouflaged chest.", > "humanDescription" : "I almost mistook it for a regular rock.", > "hylotlDescription" : "It's a simply designed chest, but it does its job well.", > "novakidDescription" : "The lid is heavy.", > objects\biome\stonecave\cavelamp\cavelamp.object 12,19c12,20 < /* < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", < */ --- > > "apexDescription" : "It's a primitive lightsource.", > "avianDescription" : "I'll avoid standing right below it, to be safe.", > "floranDescription" : "A ssstabby looking lamp.", > "glitchDescription" : "Curious. How did they get the light inside that stalactite?", > "humanDescription" : "I hope it doesn't fall on my head.", > "hylotlDescription" : "It seems unsafe, but it does provide a lightsource.", > "novakidDescription" : "It's a glowing stalactite.", > objects\colony\colonydeed\colonydeed.lua 450,453d449 < local tenants = {} < for _,tenant in ipairs(storage.occupier.tenants) do < tenants[#tenants+1] = tenant.uniqueId < end 456c452 < world.sendEntityMessage(entity.configParameter("owner"), "colonyDeed.newHome", tenants, storage.house.objects, storage.house.boundary) --- > world.sendEntityMessage(entity.configParameter("owner"), "colonyDeed.newHome", storage.occupier.tenants, storage.house.objects, storage.house.boundary) objects\crafting\fossilstation\fossilstation.object 14,19d13 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", objects\generic\copperlantern\copperlantern.object 16c16 < "glitchDescription" : "Identify. The lantern contains oil.", --- > "glitchDescription" : "Observant. The lantern contains oil.", 19c19 < //"novakidDescription" : "-todo", --- > "novakidDescription" : "A reliable lightsource.", objects\generic\pin\bowlingpin.object 12,17c12,18 < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", --- > "apexDescription" : "It's a balancing bowling pin.", > "avianDescription" : "A piece used for a competitive game.", > "floranDescription" : "Floran wantsss to knock it over.", > "glitchDescription" : "Curious. It's lined up to be knocked down again.", > "humanDescription" : "A bowling pin. I want to knock it over.", > "hylotlDescription" : "It's been knocked down many times, but still stands up again.", > "novakidDescription" : "This bowling pin is begging to be knocked over.", objects\hoard\treasurechest\treasurechest.object 14c14 < "apexDescription" : "A chest filled with treasure!", --- > "apexDescription" : "A classic treasure chest.", 16,19c16,20 < "floranDescription" : "A chest filled with treasure!", < "glitchDescription" : "A chest filled with treasure!", < "humanDescription" : "A chest filled with treasure!", < "hylotlDescription" : "A chest filled with treasure!", --- > "floranDescription" : "Chessst to keep trinketsss or treasures in.", > "glitchDescription" : "Excitable. A treasure chest! What could be inside?", > "humanDescription" : "It's a treasure chest. But does it contain a treasure?", > "hylotlDescription" : "A chest created from wood and metal. It looks used and slightly weathered.", > "novakidDescription" : "A treasure chest! It must be my lucky day!", objects\mission\lunarbaseconsole\lunarbaseconsole.object 18,25c18,26 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "It's a control console with a big touch screen.", > "avianDescription" : "A control panel with buttons that I can press, if I wish to.", > "floranDescription" : "Control consssole has buttonss.", > "glitchDescription" : "Wary. Something might happen if I interact with this control panel.", > "humanDescription" : "It's a control console. Who controls it?", > "hylotlDescription" : "This electronic device is used to remotely control things.", > "novakidDescription" : "A control console. What happens if I press the buttons?", > objects\mission\lunarbasecrate\lunarbasecrate.object 13,20c13,21 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "A nice storage crate made from a sturdy material.", > "avianDescription" : "This crate is used for storing different types of equipment.", > "floranDescription" : "Sshiny crate can store many thingss.", > "glitchDescription" : "Envious. This crate is well maintained and polished.", > "humanDescription" : "This crate looks like it could survive any space condition.", > "hylotlDescription" : "A large crate used for organising items and keeping them safe.", > "novakidDescription" : "A nice, big crate. I wonder what's inside.", > objects\mission\lunarbasedoor\lunarbasedoor.object 12,19c12,20 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "This door is solid and airtight.", > "avianDescription" : "A door that opens at a curious angle.", > "floranDescription" : "This door looks heavy. Floran doesn't want to get sssquished.", > "glitchDescription" : "Intrigued. This doorway appears to be leaning.", > "humanDescription" : "It looks like a reliable door to keep things out. Or in.", > "hylotlDescription" : "This doorway is slanted. Maybe to remind us to see things from different angles.", > "novakidDescription" : "It's like a normal doorway. But diagonal.", > objects\mission\lunarbaselantern\lunarbaselantern.object 11,18c11,19 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "A small but effective lantern.", > "avianDescription" : "An electric lantern with a simple design.", > "floranDescription" : "Ssshiny device for lighting Floran's path.", > "glitchDescription" : "Appreciative. These lights are splendid.", > "humanDescription" : "A bright lightsource. I probably shouldn't stare into it.", > "hylotlDescription" : "An encouraging shimmer that reminds me of bright days.", > "novakidDescription" : "It's an electric lantern so it won't run out of juice.", > objects\mission\lunarbaselocker\lunarbaselocker.object 14,21c14,22 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "Stacked lockers. A great way to save space.", > "avianDescription" : "A place where you can store your belongings.", > "floranDescription" : "Lockerss are for keeping thingsss in.", > "glitchDescription" : "Observant. A metallic set of six lockers.", > "humanDescription" : "Lockers for organising your items.", > "hylotlDescription" : "This makes me reminiscence about my days as a student.", > "novakidDescription" : "Six unlocked lockers.", > objects\mission\root1\root1.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root10\root10.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root2\root2.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root3\root3.object 11,18c11,18 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", < --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", > objects\mission\root4\root4.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root5\root5.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root6\root6.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root7\root7.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root8\root8.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\root9\root9.object 11,17c11,17 < // "apexDescription" : "-todo-", < // "avianDescription" : "-todo-", < // "floranDescription" : "-todo-", < // "glitchDescription" : "-todo-.", < // "humanDescription" : "-todo-", < // "hylotlDescription" : "-todo-", < // "novakidDescription" : "-todo-", --- > "apexDescription" : "Roots are pushing through the ceiling.", > "avianDescription" : "Roots are growing from the ceiling. Maybe one day this place will be covered in them.", > "floranDescription" : "Roots grow for many years. Like Floran.", > "glitchDescription" : "Observant. There are roots protruding from the ceiling.", > "humanDescription" : "These roots look like brown tentacles.", > "hylotlDescription" : "How far have these roots travelled? And to what plant do they belong?", > "novakidDescription" : "It's just roots.", objects\mission\trapchest\trapchest.object 10,17c10,18 < /*todo < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "A classic treasure chest. Or is it...?", > "avianDescription" : "A chest filled with treasure! Or is it...?", > "floranDescription" : "Chessst to keep trinketsss or treasures in.", > "glitchDescription" : "Excitable. A treasure chest! What could be inside...?", > "humanDescription" : "It's a treasure chest. But does it contain a treasure...?", > "hylotlDescription" : "A chest created from wood and metal. It looks slightly weathered.", > "novakidDescription" : "A treasure chest! It must be my lucky day! Or is it...?", > objects\themed\gothic\gothicchair\gothicchair.object 12,14c12,14 < "avianDescription" : "Glitch royalty appear to surround themselves with gold.", < "floranDescription" : "Ssshiny metal chair.", < "glitchDescription" : "Observation. A very gothic looking chair.", --- > "avianDescription" : "A luxurious chair. But rather gloomy looking.", > "floranDescription" : "Big chair is sssoft to ssit on.", > "glitchDescription" : "Observant. A very gothic looking chair.", 16,17c16,17 < "hylotlDescription" : "It almost looks like this chair is staring back at me.", < //"novakidDescription": "-todo-", --- > "hylotlDescription" : "The velvety material of the padding is exquisite.", > "novakidDescription": "A fancy chair. It looks comfortable.", objects\themed\outdoor\lamppost3\lamppost3.object 12,20c12,20 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription": "-todo-", < */ --- > > "apexDescription" : "A tall lamp post featuring dual lights.", > "avianDescription" : "Two lights, like eyes staring at me from above.", > "floranDescription" : "Shiny lightsss on top of tall lamp post.", > "glitchDescription" : "Observant. What a tall and bright lamp post.", > "humanDescription" : "Two lights staring at me from a lamp post.", > "hylotlDescription" : "A generous lightsource to brighten the path that lays ahead of me.", > "novakidDescription": "This lamp post has two lights.", > objects\themed\outdoor\outdoorbench\outdoorbench.object 11,19c11,19 < /* Todo < "apexDescription" : "A bench.", < "avianDescription" : "A bench.", < "floranDescription" : "A bench.", < "glitchDescription" : "A bench.", < "humanDescription" : "A bench.", < "hylotlDescription" : "A bench.", < "novakidDescription" : "A bench.", < */ --- > > "apexDescription" : "A simple metal bench.", > "avianDescription" : "A bench with three seats. It looks cold.", > "floranDescription" : "A thing for sssitting on.", > "glitchDescription" : "Observant. It's simply a bench.", > "humanDescription" : "A simple bench. It looks sturdy.", > "hylotlDescription" : "A place to rest when your legs get tired.", > "novakidDescription" : "I could rest on this bench for a minute.", > objects\themed\outdoor\outdoorstool\outdoorstool.object 11,18c11,18 < /* Todo < "apexDescription" : "A bench.", < "avianDescription" : "A bench.", < "floranDescription" : "A bench.", < "glitchDescription" : "A bench.", < "humanDescription" : "A bench.", < "hylotlDescription" : "A bench.", < */ --- > > "apexDescription" : "A metal stool. It's simple.", > "avianDescription" : "It's a stool for resting on.", > "floranDescription" : "Just a sssingle stool.", > "glitchDescription" : "Observant. It's a metal stool.", > "humanDescription" : "A place to sit for one.", > "hylotlDescription" : "A place to rest your legs and mind for a moment.", > "novakidDescription" : "A simple stool. There's no backrest.", objects\wired\scanner\scanner.object 12,19c12,20 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "Statement. A proximity scanner.", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < */ --- > > "apexDescription" : "It's a proximity device. It'll sense when I get close to it.", > "avianDescription" : "A proximity device. It could trigger something if I'm near.", > "floranDescription" : "Sssscanning eye on the wall. It's looking at me!", > "glitchDescription" : "Suspicious. This proximity scanner might be aware of me.", > "humanDescription" : "A proximity sensor. It can tell when I'm near.", > "hylotlDescription" : "This scanning device can tell when I'm present.", > "novakidDescription" : "A proximity scanner. Is it watching me right now?", > projectiles\physics.config 407a408,421 > "chainball" : { > "mass" : 1.0, > "gravityMultiplier" : 3.0, > "bounceFactor" : 0.5, > "maxMovementPerStep" : 0.4, > > "collisionPoly" : [ [-0.8, 0.3], [-0.3, 0.8], [0.3, 0.8], [0.8, 0.3], [0.8, -0.3], [0.3, -0.8], [-0.3, -0.8], [-0.8, -0.3] ], > "ignorePlatformCollision" : true, > > "airFriction" : 0.0, > "liquidFriction" : 0.2, > "groundFriction" : 20.0 > }, > 471c485 < "collisionPoly" : [ [-0.5, -0.5], [0.5, -0.5], [0.5, 0.5], [-0.5, 0.5] ], --- > "collisionPoly" : [ [-0.1, -0.1], [0.1, -0.1], [0.1, 0.1], [-0.1, 0.1] ], projectiles\activeitems\boomerang\iceboomerang.projectile 18c18 < "type" : "trapice", --- > "type" : "icetrail", projectiles\activeitems\chakram\chakramprojectile.lua 45c45 < projectile.die() -- TODO: activeItem should pick this up --- > projectile.die() projectiles\activeitems\grapplehook\grapplehook.lua 13d12 < sb.logInfo("grapplehook lost owner %s and will die", self.ownerId) projectiles\explosions\burstexplosion\electricburstexplosionfreeze.projectile 10c10 < "damagefreeze" --- > "damagefreeze", "paralysis" projectiles\explosions\burstexplosion\fireburstexplosionfreeze.projectile 10c10 < "damagefreeze" --- > "damagefreeze", "burning" projectiles\explosions\burstexplosion\iceburstexplosionfreeze.projectile 10c10 < "damagefreeze" --- > "damagefreeze", "frostslow" projectiles\explosions\elementalwave\electricshockwave.projectile 14c14 < "damagePoly" : [ [-4, 0], [4, 0], [4, -11], [-4, -11] ], --- > "damagePoly" : [ [-4, 11], [4, 11], [4, -11], [-4, -11] ], 16a17,19 > "statusEffects" : [ > "shortdamagefreeze", "paralysis" > ], projectiles\explosions\elementalwave\fireshockwave.projectile 14c14 < "damagePoly" : [ [-4, 0], [4, 0], [4, -11], [-4, -11] ], --- > "damagePoly" : [ [-4, 11], [4, 11], [4, -11], [-4, -11] ], 16a17,19 > "statusEffects" : [ > "shortdamagefreeze", "burning" > ], projectiles\explosions\elementalwave\iceshockwave.projectile 14c14 < "damagePoly" : [ [-4, 0], [4, 0], [4, -11], [-4, -11] ], --- > "damagePoly" : [ [-4, 11], [4, 11], [4, -11], [-4, -11] ], 16a17,19 > "statusEffects" : [ > "shortdamagefreeze", "frostslow" > ], projectiles\explosions\elementalwave\physicalshockwave.projectile 15a16,18 > "statusEffects" : [ > "shortdamagefreeze" > ], projectiles\explosions\elementalwave\poisonshockwave.projectile 14c14 < "damagePoly" : [ [-4, 0], [4, 0], [4, -11], [-4, -11] ], --- > "damagePoly" : [ [-4, 11], [4, 11], [4, -11], [-4, -11] ], 16c16,20 < "damageKind" : "poisonplasma" --- > "damageKind" : "poisonplasma", > "statusEffects" : [ > "shortdamagefreeze", "weakpoison" > ], > "emitters" : ["poisonthrowertrail"] projectiles\explosions\regularexplosion2\poisonexplosionfreeze.projectile 10c10 < "damagefreeze" --- > "damagefreeze", "weakpoison" projectiles\swoosh\broadsword\travelingswoosh\poisontravelingswoosh.projectile 21c21 < "knockback" : 50, --- > "knockback" : 10, projectiles\swoosh\spear\spinswoosh\electricspinswoosh.projectile 15a16 > "damageKind" : "electricspear", 17c18 < "damagefreeze" --- > "damagefreeze", "paralysis" 19d19 < "damageKind" : "electricspear", projectiles\swoosh\spear\spinswoosh\firespinswoosh.projectile 18c18 < "damagefreeze" --- > "damagefreeze", "burning" projectiles\swoosh\spear\spinswoosh\icespinswoosh.projectile 15d14 < "damageKind" : "icespear", 16a16 > "damageKind" : "icespear", 18c18 < "damagefreeze" --- > "damagefreeze", "frostslow" projectiles\swoosh\spear\spinswoosh\poisonspinswoosh.projectile 15d14 < "damageKind" : "poisonspear", 16a16 > "damageKind" : "poisonspear", 18c18 < "damagefreeze" --- > "damagefreeze", "weakpoison" quests\generated\guard.config 79c79 < "spawnPointXDelta" : 40 --- > "xDelta" : 40 89c89,94 < ["nearbySpawnPoint", "spawnPoint", 4.0, 4.0], --- > ["nearbySpawnPoint", "spawnPoint", { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "xDelta" : 40, > "maxYDelta" : 16 > }], quests\generated\merchant.config 4c4,5 < [5.0, "new_stock"] --- > [5.0, "new_stock1"], > [5.0, "new_stock2"] 8,9c9,10 < "new_stock" : { < "templateId" : "new_stock.generated", --- > "new_stock1" : { > "templateId" : "new_stock1.generated", 33a35 > ["merchantStock1", "species", "newItem"], 36c38,43 < ["nearbySpawnPoint", "spawnPoint", 4.0, 4.0], --- > ["nearbySpawnPoint", "spawnPoint", { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "xDelta" : 10, > "minLightLevel" : 0.2 > }], 37a45 > ["!sellsItem", "questGiver", "newItem"], 39c47,93 < ["<", "repetition", 3] --- > ["<", "repetition", 1] > ], > "postconditions" : [ > ["!ownsItemList", "player", "tradedItems", "magic"] > ] > }, > > "new_stock2" : { > "templateId" : "new_stock2.generated", > "difficulty" : 0.1, > "participants" : { > "target" : { > "critical" : true, > "behaviorOverrides" : [{ > "type" : "notification", > "behavior" : { "name" : "quest-new_stock-target-notification" } > }] > }, > "questGiver" : { > "behaviorOverrides" : [{ > "type" : "notification", > "behavior" : { "name" : "quest-new_stock-questGiver-notification" } > }] > } > }, > > "preconditions" : [ > ["itemList", "extraRewards", "money", "itemPrice"], > ["itemName", "money", {"literal":"money"}], > ["price", "tradedItems", "itemPrice"], > > ["ownsItemList", "player", "tradedItems", "magic"], > ["merchantTrade", "newItem", "tradedItems"], > ["merchantStock2", "species", "newItem"], > > ["species", "questGiver", "species"], > ["nearbySpawnPoint", "spawnPoint", { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "xDelta" : 10, > "minLightLevel" : 0.2 > }], > ["temporaryNpc", "target", "species", {"literal":"wanderingmerchant"}, "spawnPoint", {"literal":[0, 4]}], > ["!sellsItem", "questGiver", "newItem"], > ["countExtraMerchantItems", "questGiver", "repetition"], > [">=", "repetition", 1], > ["<", "repetition", 2] quests\generated\normal.config 8c8,9 < [1.0, "hat"] --- > [1.0, "hat"], > [1.0, "recruit_guard"] 62c63 < "spawnPointXDelta" : 40 --- > "xDelta" : 40 77c78,83 < ["nearbySpawnPoint", "spawnPoint", 4.0, 4.0], --- > ["nearbySpawnPoint", "spawnPoint", { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "xDelta" : 40, > "maxYDelta" : 16 > }], 242a249,274 > ] > }, > > "recruit_guard" : { > "templateId" : "recruit_guard.generated", > "questId" : "recruit_guard.generated", > "difficulty" : 1.0, > "participants" : { > }, > > "preconditions" : [ > ["owns", "player", "guardObject", 1], > > // Only spawn for colonists: > ["hasTenant", "deed", "questGiver"], > // ... and not for guards: > ["!npcQuestGenFlag", "questGiver", {"literal":"guard"}], > // ... and when there are no other guards nearby: > ["countNpcsWithFlag", {"literal":"guard"}, 0], > > ["guardTheme", "tag"], > ["guardObject", "guardObject"] > ], > "postconditions" : [ > ["!owns", "player", "guardObject", 1], > ["owns", "player", "guardObject", 0] quests\generated\pools\buildingthemes.config 3,9c3,12 < {"tag" : "human", "name" : "human"}, < {"tag" : "floran", "name" : "floran"}, < {"tag" : "apex", "name" : "apex"}, < {"tag" : "hylotl", "name" : "hylotl"}, < {"tag" : "novakid", "name" : "novakid"}, < {"tag" : "glitch", "name" : "glitch"}, < {"tag" : "avian", "name" : "avian"} --- > {"tag" : "human", "name" : "pieces of ^orange;Human furniture"}, > {"tag" : "floran", "name" : "pieces of ^orange;Floran furniture"}, > {"tag" : "apex", "name" : "pieces of ^orange;Apex furniture"}, > {"tag" : "hylotl", "name" : "pieces of ^orange;Hylotl furniture"}, > {"tag" : "glitch", "name" : "pieces of ^orange;Glitch furniture"}, > {"tag" : "avian", "name" : "pieces of ^orange;Avian furniture"}, > {"tag" : "science", "name" : "^orange;Scientific-looking things"}, > {"tag" : "electronic", "name" : "pieces of ^orange;technology"}, > {"tag" : "odd", "name" : "^orange;weird things"}, > {"tag" : "pretty", "name" : "^orange;pretty things"} quests\generated\pools\dungeonitems.config 2c2 < // Dungeon (plural form) on the left, itemName on the right --- > // Location/Dungeon (plural form) on the left, itemName on the right 47,49c47,51 < ["Glitch Castle", "battlestandard"], < ["Glitch Castle", "medievalarmor"], < ["Glitch Castle", "medievalflagpole"] --- > ["Glitch Castles", "battlestandard"], > ["Glitch Castles", "medievalarmor"], > ["Glitch Castles", "medievalflagpole"], > > ["planet surfaces", "weaponchest"] quests\generated\pools\furnituresets.config 7a8 > ["woodtable", "torch", "woodendoor"], quests\generated\pools\merchanttrades.config 4a5,7 > ["banana", [ > { "name" : "wheat", "count" : 3 } > ]], 8a12,20 > { "name" : "fabric", "count" : 3 } > ]], > ["pineapple", [ > { "name" : "wheat", "count" : 3 } > ]], > ["medievaltorch", [ > { "name" : "fabric", "count" : 3 } > ]], > ["flashlight", [ quests\generated\pools\pools.config 67a68,83 > }, > "merchantStock1" : { > "base" : "StringItemPoolRelation", > "poolFile" : "/quests/generated/pools/merchantstock1.config" > }, > "merchantStock2" : { > "base" : "StringItemPoolRelation", > "poolFile" : "/quests/generated/pools/merchantstock2.config" > }, > "guardObject" : { > "base" : "ItemPoolRelation", > "poolFile" : "/quests/generated/pools/guardobjects.config" > }, > "guardTheme" : { > "base" : "ItemPoolRelation", > "poolFile" : "/quests/generated/pools/guardthemes.config" quests\generated\templates\build_home.questtemplate 44,45c44,45 < "Finally, ^green;make a shelter and decorate it with ^orange;. ^white;I'm ssso close to making a new friend! I hope they enjoy hunting!", < "Now ^green;make a home and put ^orange; in it.^white; Floran hopes new friend likes giftsss..." --- > "Finally, ^green;make a shelter and decorate it with ^orange;.^white; You also need to ^green;place a ^orange;Colony deed,^white; of courssse. I'm ssso close to making a new friend! I hope they enjoy hunting!", > "Now ^green;make a home and put ^orange;^white; in it, ^green;as well as a ^orange;Colony Deed.^white; Floran hopes new friend likes giftsss..." 48,49c48,49 < "Excited. All you need to do now is ^green;make a home^white; using your ^orange;, ^white;and we'll have a new associate in no time!", < "Nervous. Finally, ^green;build a new home^white; and ^green;furnish it^white; with your ^orange;.^white; I hope the new tenant is friendly!" --- > "Excited. All you need to do now is ^green;make a home^white; using your ^orange;, ^white;and a ^orange;Colony Deed^white;, and we'll have a new associate in no time!", > "Nervous. Finally, ^green;build a new home^white; and ^green;furnish it^white; with your ^orange;.^white; Don't forget to place a ^orange;Colony Deed!^orange;" 52c52 < "I think we've gathered all the furnishings we need. Now we just need the house itself! ^green;Build a home and set ^orange;^green; inside.^white; Don't forget to place a Colony Deed!", --- > "I think we've gathered all the furnishings we need. Now we just need the house itself! ^green;Build a home and set ^orange;^green; inside.^white; Don't forget to place a ^orange;Colony Deed^white; as well!", quests\generated\templates\hat.questtemplate 49,50c49,50 < "^cyan;Observational. I've been looking for a reliable way to indebt to myself.", < "^cyan;Manipulative. I'd like to act in my favour. Help me sweeten them up." --- > "^cyan;^cyan;Eager. I want to look . Could you assist me with this task?", > "^cyan;^cyan;Excited. It is time I had a new look. Could you help me look ?" quests\generated\templates\helmet.questtemplate 49c49 < "^cyan;A Knight like me should look ! I know just what to do..." --- > "^cyan;Aspirational. A Knight like me should look ! I know just what to do..." 60c60 < "Now Floran needs you to^green; take ^orange;^green; to ^orange;.^white; They can make ^orange;something for Floran to wear!" --- > "Now Floran needs you to^green; take ^orange;^green; to ^orange;.^white; They can make something for Floran to wear!" 64c64 < "Eager. Can you take the ^orange;^green; to ^orange;,^white; so they can make me ^orange;something to wear?" --- > "Eager. Can you ^green;take the ^orange;^green; to ^orange;,^white; so they can make me something to wear?" 68c68 < "Finally, ^green;deliver our ^orange;^green; to ^orange;^white; and ^green;ask them to make me some ^orange;custom gear^white;. I'm sure they have the skills to do it!" --- > "Finally, ^green;deliver our ^orange;^green; to ^orange;^white; and ^green;ask them to make me some custom gear. I'm sure they have the skills to do it!" quests\generated\templates\themed_build.questtemplate 15,16c15,16 < "A new friend for ", < "'s new friend" --- > "'s plan for expansion", > " wants new friends" 20,21c20,21 < "^cyan;Floran thinks we could do with fresssh blood around here. Floran hasss a plan!", < "^cyan;Floran wantsss more company. Let's make thisss happen!" --- > "^cyan;Floran wantsss new friend! Can you help?", > "^cyan;Floran thinksss we need new neighbour! Floran has plan..." 24,25c24,25 < "^cyan;Lonely. I have decided I would benefit from a new friend - And you're just the person who can help me!", < "^cyan;Introspective. I have concluded that a new friend would make me happier. Could you help me with this?" --- > "^cyan;Amicable. I have a plan to make new friends around here. Would you like to assist?", > "^cyan;Friendly. Don't you think we could use new neighbours around here? I have a plan..." 28,29c28,29 < "^cyan;I love to make friends. Could you help me setup a residence for a new neighbour?", < "^cyan;I'm lonely and could use someone new to talk to. Could you help find me the friend I'm looking for?" --- > "^cyan;Wouldn't it be nice to meet some new people? I have an idea...", > "^cyan;I think we could benefit from making new friends. I have a plan." 33a34,41 > "floran" : [ > "Floran needsss you to ^green;make home^white;, and put ^green;place ^orange;3^green; ^green; inside.^white; Don't forget to ^green;a ^orange;Colony Deed^green; and a ^orange;light!", > "Floran wantsss you to ^green;make home^white;, and put ^green;place ^orange;3^green; ^green; inside.^white; Don't forget to ^green;a ^orange;Colony Deed^green; and a ^orange;light!" > ], > "glitch" : [ > "Creative. Can you ^green; build a home^white;, and inside ^green;place ^orange;3^green; ?^white; Don't forget to ^green;include a ^orange;Colony Deed^green; and a ^orange;light!", > "Excited. Can you ^green;build a home^white;, and inside ^green;place ^orange;3^green; .^white; Don't forget to ^green;include a ^orange;Colony Deed^green; and a ^orange;light!" > ], 35c43,44 < "Build a home and put 3 pieces of ^orange;^green; furniture inside.^white; Don't forget to place a Colony Deed!" --- > "^green;Build a home^white;, and inside ^green;place ^orange;3^green; .^white; Don't forget to ^green;include a ^orange;Colony Deed^green; and a ^orange;light!", > "Can you build a home^white;, and inside ^green;place ^orange;3^green; .^white; Don't forget to ^green;include a ^orange;Colony Deed^green; and a ^orange;light!^white; I'm excited!" 42,43c51,52 < "It worked, we have a ssshiny new friend! Floran is thankful for your help.", < "You helped Floran find a new friend! Floran is very grateful" --- > "Ssssuccess! Floran has new friend! Floran likesss the home you made.", > "You made the home! Floran is impressed with your ssskills." 46,47c55,56 < "Thrilled. We have a new friend to get acquainted with - I'm sure they'll fit in just fine! Thank you for making this happen!", < "Delighted. I'm always surprised how fast new homes are inhabited - I guess there's a lot of demand out there! Thank you for your help." --- > "Overjoyed. We have a new neighbour. I hope they fit in here! Thank you for your generous assistance.", > "Impressed. Your home-design skills are better than I expected. Thank you for your efforts!" 50,51c59,60 < "Success! I've finally got a new neighbour! This place gets lonely sometimes, it's nice to have folks to talk to.", < "Vacancy filled! That didn't take long! Thanks for helping expand my social network!" --- > "Thank you! Now we have a new local resident! Isn't that exciting?", > "Success! I hope our new neighbour enjoys their stay. Thanks for your help!" 56,57c65,66 < "I was unable to help make a new friend. They probably have enough friends as it is.", < "I was unable to help make a new friend. I'm sure they'll get over it." --- > "I was unable to help by building a home. I'm too busy for things like that.", > "I didn't help with their idea to make a home. We don't need another neighbour." scripts\spawnpoint.lua 8c8,20 < local function canSpawnAt(x, y, rectWidth, rectHeight) --- > local function canSpawnAt(x, y, rectWidth, rectHeight, options) > -- Only choose spawn points underground if we're already underground > local underground = world.underground(world.entityPosition(entity.id())) > if underground ~= world.underground({x,y}) then > return false > end > > -- If requested, only spawn in well-lit areas > if options.minLightLevel and world.lightLevel({x,y}) < options.minLightLevel then > return false > end > > -- Check the spawn rect does not collide with anything, and is supported underneath 15c27 < local maxTries = options.spawnPointMaxYDelta or 16 --- > local maxTries = options.maxYDelta or 16 17c29 < if canSpawnAt(x, approximateY+dy, rectWidth, rectHeight) then --- > if canSpawnAt(x, approximateY+dy, rectWidth, rectHeight, options) then 20c32 < if canSpawnAt(x, approximateY-dy, rectWidth, rectHeight) then --- > if canSpawnAt(x, approximateY-dy, rectWidth, rectHeight, options) then 41c53 < function findSpawnPoint(centerPosition, rectWidth, rectHeight, npcs, options) --- > function findSpawnPoint(centerPosition, npcs, options) 48a61,63 > local rectWidth = options.rectWidth > local rectHeight = options.rectHeight > 66c81 < local spawnDistance = options.spawnPointXDelta or 16 --- > local spawnDistance = options.xDelta or 16 scripts\util.lua 296,299c296 < local parsed = {} < for k,v in pairs(args) do < parsed[k] = v < end --- > local parsed = copy(args or {}) scripts\vec2.lua 82a83,86 > function vec2.withAngle(angle) > return vec2.rotate({1, 0}, angle) > end > scripts\actions\items.lua 0a1,7 > local function itemName(item) > if type(item) == "table" then > return item.name > end > return item > end > 8c15 < return root.itemType(item) == "object" --- > return root.itemType(itemName(item)) == "object" 20c27 < return contains(root.itemConfig(item).config.tags or {}, args.tag) --- > return contains(root.itemConfig(itemName(item)).config.tags or {}, args.tag) scripts\actions\merchant.lua 111a112,114 > if type(itemDescriptor) == "string" then > itemDescriptor = { name = itemDescriptor } > end 126a130,141 > end > > function sellsItem(itemName) > if not self.tradingConfig then > self.tradingConfig = buildTradingConfig() > end > for _,item in pairs(self.tradingConfig.items) do > if item.item == itemName or item.item.name == itemName then > return true > end > end > return false scripts\actions\quests.lua 66c66 < BData:setTable(output.table, paramValue.item) --- > BData:setTable(output.table, { name = paramValue.item }) scripts\actions\status.lua 80a81 > return true scripts\quest\manager\spawn_entities.lua 115c115 < local positions = findSpawnPoint(position, options.rectWidth, options.rectHeight, npcs, options) --- > local positions = findSpawnPoint(position, npcs, options) scripts\questgen\context.lua 22c22 < function QuestContext:spawnPoints(rectWidth, rectHeight, xDelta) --- > function QuestContext:spawnPoints(options) 31,34c31,32 < local options = entity.configParameter("questGenerator") < if xDelta then < options.spawnPointXDelta = xDelta < end --- > local rectWidth = options.rectWidth > local rectHeight = options.rectHeight 36c34 < local results = findSpawnPoint(self._queryPosition, rectWidth, rectHeight, npcs, options) --- > local results = findSpawnPoint(self._queryPosition, npcs, options) scripts\questgen\generator.lua 518c518 < questId = sb.makeUuid(), --- > questId = operation.config.questId or sb.makeUuid(), scripts\questgen\planner.lua 442,443c442,447 < elseif type(value) == "table" and value.literal then < return value.literal --- > elseif type(value) == "table" then > if value.literal then > return value.literal > else > return value > end scripts\questgen\relations.lua 593a594,615 > local function countNpcsWithFlag(context, flag) > return #util.filter(context:entitiesByType()["npc"], function (npc) > return npc:callScript("entity.configParameter", "questGenerator.flags.guard") > end) > end > > QuestRelations.countNpcsWithFlag = defineQueryRelation("countNpcsWithFlag", true) { > [case(1, NonNil, NonNil)] = function (self, flag, count) > if xor(self.negated, countNpcsWithFlag(self.context, flag) == count) then > return {{flag, count}} > end > return Relation.empty > end, > > [case(2, NonNil, Nil)] = function (self, flag) > if self.negated then return Relation.some end > return {{flag, countNpcsWithFlag(self.context, flag)}} > end, > > default = Relation.empty > } > 895a918,927 > QuestRelations.sellsItem = defineQueryRelation("sellsItem", true) { > [case(1, Entity, Item)] = function (self, merchant, item) > if xor(self.negated, merchant:callScript("sellsItem", item.itemName)) then > return {{merchant, item}} > end > return Relation.empty > end, > default = Relation.some > } > 919,921c951,953 < [case(1, Location, NonNil, NonNil)] = function (self, location, rectWidth, rectHeight) < if xor(self.negated, not world.polyCollision(location.poly), {"Block", "Null"}) then < return {{location, rectWidth, rectHeight}} --- > [case(1, Location, NonNil)] = function (self, location, options) > if xor(self.negated, not world.polyCollision(location.poly, nil, {"Block", "Null"})) then > return {{location, options}} 926c958 < [case(2, Nil, NonNil, NonNil)] = function (self, _, rectWidth, rectHeight) --- > [case(2, Nil, NonNil)] = function (self, _, options) 931,932c963,964 < return util.map(self.context:spawnPoints(rectWidth, rectHeight), function (spawnPoint) < return {spawnPoint, rectWidth, rectHeight} --- > return util.map(self.context:spawnPoints(options), function (spawnPoint) > return {spawnPoint, options} spawntypes\critter.spawntypes 87c87 < "name" : "frog", --- > "name" : "frogcritter", 96c96 < "monsterType" : "frog", --- > "monsterType" : "frogcritter", 183c183 < "name" : "snail", --- > "name" : "snailcritter", 192c192 < "monsterType" : "snail", --- > "monsterType" : "snailcritter", 199c199 < "name" : "tortoise", --- > "name" : "tortoisecritter", 208c208 < "monsterType" : "tortoise", --- > "monsterType" : "tortoisecritter", 231c231 < "name" : "bunny", --- > "name" : "bunnycritter", 240c240 < "monsterType" : "bunny", --- > "monsterType" : "bunnycritter", 256c256 < "monsterType" : "bunny", --- > "monsterType" : "bunnycritter", 263c263 < "name" : "armadillo", --- > "name" : "armadillocritter", 272c272 < "monsterType" : "armadillo", --- > "monsterType" : "armadillocritter", 391c391 < "name" : "eyefriend", --- > "name" : "eyefriendcritter", 400c400 < "monsterType" : "eyefriend", --- > "monsterType" : "eyefriendcritter", 615c615 < "name" : "glowingballcritter2", --- > "name" : "glowingball2critter", 624c624 < "monsterType" : "glowingballcritter2", --- > "monsterType" : "glowingball2critter", tenants\guards\guardt2_apex.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_avian.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_floran.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_glitch.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_human.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_hylotl.tenant 3c3 < "priority": 6, --- > "priority": 7, tenants\guards\guardt2_random.tenant 3c3 < "priority": 5, --- > "priority": 6, tenants\guards\guardt3_apex.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_avian.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_floran.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_glitch.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_human.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_hylotl.tenant 3c3 < "priority": 8, --- > "priority": 9, tenants\guards\guardt3_random.tenant 3c3 < "priority": 7, --- > "priority": 8, tenants\guards\guardt4_apex.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_avian.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_floran.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_glitch.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_human.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_hylotl.tenant 3c3 < "priority": 10, --- > "priority": 11, tenants\guards\guardt4_random.tenant 3c3 < "priority": 9, --- > "priority": 10, tenants\guards\guardt5a_apex.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_avian.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_floran.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_glitch.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_human.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_hylotl.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5a_random.tenant 3c3 < "priority": 11, --- > "priority": 12, tenants\guards\guardt5m_apex.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_avian.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_floran.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_glitch.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_human.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_hylotl.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5m_random.tenant 3c3 < "priority": 11, --- > "priority": 12, tenants\guards\guardt5s_apex.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_avian.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_floran.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_glitch.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_human.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_hylotl.tenant 3c3 < "priority": 12, --- > "priority": 13, tenants\guards\guardt5s_random.tenant 3c3 < "priority": 11, --- > "priority": 12, tenants\guards\guardt6a_apex.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_avian.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_floran.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_glitch.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_human.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_hylotl.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6a_random.tenant 3c3 < "priority": 13, --- > "priority": 14, tenants\guards\guardt6m_apex.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_avian.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_floran.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_glitch.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_human.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_hylotl.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6m_random.tenant 3c3 < "priority": 13, --- > "priority": 14, tenants\guards\guardt6s_apex.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_avian.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_floran.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_glitch.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_human.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_hylotl.tenant 3c3 < "priority": 14, --- > "priority": 15, tenants\guards\guardt6s_random.tenant 3c3 < "priority": 13, --- > "priority": 14, tenants\guards\guard_apex.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_avian.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_floran.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_glitch.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_human.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_hylotl.tenant 3c3 < "priority": 4, --- > "priority": 5, tenants\guards\guard_random.tenant 3c3 < "priority": 3, --- > "priority": 4, vehicles\hoverbike\hoverbike.animation 3a4,5 > > 32a35,49 > }, > > > "onfire" : { > "default" : "off", > "states" : { > "off" : {}, > > "on" : { > "frames" : 6, > "cycle" : 0.5, > "mode" : "loop" > } > > } 33a51,52 > > 45a65 > 84a105 > 112a134,153 > }, > > > > "fire" : { > "properties" : { > "centered" : true, > "zLevel" : 2, > "transformationGroups" : ["flip", "rotation"] > }, > > "partStates" : { > "onfire" : { > "on" : { > "properties" : { > "image" : "hoverbikefire.png:burn." > } > } > } > } 114a156 > 129,131c171,172 < "offsetRegion" : [-3.5, -0.25, -1.5, 0], < "particles" : [{ "particle" : "burningvehiclesmokefront"}, < {"particle" : "burningvehiclesmokeback"}] --- > "offsetRegion" : [-1.5, -1.5, 0.5, -1], > "particles" : [{ "particle" : "burningvehiclesmokefront"}] 140c181,193 < { "particle" : "campfireflames"}] --- > { "particle" : "fireshard"}, > { "particle" : "burningvehiclesmokeback"}] > > }, > > "damageShards" : { > "transformationGroups" : ["flip", "rotation"], > "emissionRate" : 0.0, > "burstCount" : 30, > "offsetRegion" : [-3, -1.5, 3, 1], > "particles" : [{ "particle" : "hoverbikeshard"}, > { "particle" : "fireshard"}] > }, 141a195,204 > "wreckage" : { > "transformationGroups" : ["flip", "rotation"], > "emissionRate" : 0.0, > "particles" : [ > { "particle" : "hoverbikewreck1"}, > { "particle" : "hoverbikewreck2"}, > { "particle" : "hoverbikewreck3"}, > { "particle" : "hoverbikewreck4"}, > { "particle" : "hoverbikewreck5"}, > { "particle" : "hoverbikewreck6"}] vehicles\hoverbike\hoverbike.lua 24,25c24,25 < self.smokeThreshold = vehicle.configParameter("smokeThresholdHealthPercentage")/100.0 < self.fireThreshold = vehicle.configParameter("fireThresholdHealthPercentage")/100.0 --- > self.smokeThreshold = vehicle.configParameter("smokeParticleHealthThreshold") > self.fireThreshold = vehicle.configParameter("fireParticleHealthThreshold") 28a29,33 > self.onFireThreshold = vehicle.configParameter("onFireHealthThreshold") > self.damagePerSecondWhenOnFire = vehicle.configParameter("damagePerSecondWhenOnFire") > > > 53,55d57 < --world.logInfo("Health at storetime=%s",self.health) < < 67d68 < -- world.logInfo("MaxHealth") 69d69 < -- world.logInfo("Health = %s",startHealth) 76a77,81 > > --initial state > animator.setGlobalTag("damageState", self.damageStateNames[1]) > showDamageEffects(self.health, 0) > 84a90,146 > > function showDamageEffects(currentHealth, damage) > > local maxDamageState = #self.damageStateNames > local healthFactor = currentHealth / self.maxHealth > > --work out what damage state we are in before damage occurs > local previousDamageStateIndex = maxDamageState > if healthFactor > 0 then > previousDamageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 > end > > --work out the factor after damage occurs. > healthFactor = (currentHealth-damage) / self.maxHealth > > --now the damage state after damage occurs > local damageStateIndex = maxDamageState > if healthFactor > 0 then > damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 > end > > if (damageStateIndex > previousDamageStateIndex) then > animator.burstParticleEmitter("damageShards") > end > > world.logInfo("damage state index=%s",damageStateIndex) > > animator.setGlobalTag("damageState", self.damageStateNames[damageStateIndex]) > > if healthFactor<1.0 then > if (self.smokeThreshold > 0.0 and healthFactor < self.smokeThreshold) then > local smokeFactor = 1.0 - (healthFactor / self.smokeThreshold) > animator.setParticleEmitterActive("smoke", true) > animator.setParticleEmitterEmissionRate("smoke", smokeFactor * self.maxSmokeRate) > end > > if (self.fireThreshold > 0.0 and healthFactor < self.fireThreshold) then > local fireFactor = 1.0 - (healthFactor / self.fireThreshold) > animator.setParticleEmitterActive("fire", true) > animator.setParticleEmitterEmissionRate("fire", fireFactor * self.maxFireRate) > end > > > if (self.onFireThreshold and healthFactor < self.onFireThreshold) then > animator.setAnimationState("onfire", "on") > else > animator.setAnimationState("onfire", "off") > end > > else > animator.setParticleEmitterActive("smoke", false) > animator.setParticleEmitterActive("fire", false) > animator.setAnimationState("onfire", "off") > end > end > > 94a157,158 > showDamageEffects(self.health, damage) > 108a173 > 158c223 < animator.setAnimationState("movement", "jump") --- > -- animator.setAnimationState("movement", "jump") 170,179d234 < local healthFactor = self.health / self.maxHealth < < --show the right image according to how damaged we are. < local maxDamageState = #self.damageStateNames < local damageStateIndex = maxDamageState < if self.health > 0 then < damageStateIndex = (maxDamageState - math.ceil(healthFactor * maxDamageState))+1 < end < animator.setGlobalTag("damageState", self.damageStateNames[damageStateIndex]) < 190,206d244 < if healthFactor<1.0 then < if (self.smokeThreshold > 0.0 and healthFactor < self.smokeThreshold) then < local smokeFactor = 1.0 - (healthFactor / self.smokeThreshold) < animator.setParticleEmitterActive("smoke", true) < animator.setParticleEmitterEmissionRate("smoke", smokeFactor * self.maxSmokeRate) < end < < if (self.fireThreshold > 0.0 and healthFactor < self.fireThreshold) then < local fireFactor = 1.0 - (healthFactor / self.fireThreshold) < animator.setParticleEmitterActive("fire", true) < animator.setParticleEmitterEmissionRate("fire", fireFactor * self.maxFireRate) < end < else < animator.setParticleEmitterActive("smoke", false) < animator.setParticleEmitterActive("fire", false) < end < 224a263,267 > if animator.animationState("onfire") == "on" then > local damageThisFrame = self.damagePerSecondWhenOnFire * script.updateDt() > --here is where we will add damage to the hoverbike > end > 225a269,271 > animator.burstParticleEmitter("damageShards") > animator.burstParticleEmitter("wreckage") > 246a293,295 > > showDamageEffects(self.health, self.terrainCollisionDamage) > vehicles\hoverbike\hoverbike.vehicle 41a42 > 44c45 < "smokeThresholdHealthPercentage" : 50, --- > "smokeParticleHealthThreshold" : 0.5, 47c48 < "fireThresholdHealthPercentage" : 25, --- > "fireParticleHealthThreshold" : 0.25, 49a51,53 > "onFireHealthThreshold" : 0.125, > "damagePerSecondWhenOnFire" : 1.0, > 53c57 < "terrainCollisionDamage" : 10, --- > "terrainCollisionDamage" : 15,