FILES ----- versioning.config biomes\underground\underground0b.biome dungeons\microdungeons\underground\underground0a\underground0amicrodungeons.dungeon [NEW] dungeons\microdungeons\underground\underground0a\underground0a_open2.json [NEW] dungeons\microdungeons\underground\underground0a\underground0a_tunnel2.json [NEW] dungeons\microdungeons\underground\underground0a\underground0a_tunnelbackslope2.json [NEW] dungeons\microdungeons\underground\underground0a\underground0a_tunnelforwardslope2.json [NEW] dungeons\microdungeons\underground\underground0a\underground0a_tunnelweakbackslope2.json [NEW] dungeons\microdungeons\underground\underground0a\underground0a_tunnelweakforwardslope2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0bmicrodungeons.dungeon [NEW] dungeons\microdungeons\underground\underground0b\underground0b_open1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_open2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnel1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnel2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelbackslope1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelbackslope2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelforwardslope1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelforwardslope2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelweakbackslope1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelweakbackslope2.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelweakforwardslope1.json [NEW] dungeons\microdungeons\underground\underground0b\underground0b_tunnelweakforwardslope2.json items\active\vehiclecontroller\vehiclecontroller.activeitem items\active\vehiclecontroller\vehiclecontroller.lua items\active\weapons\melee\altabilities\hammer\shockwave\physicalshockwave.altability items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.altability monsters\crawlers\crustoise\crustoise.animation monsters\crawlers\crustoise\crustoise.monstertype monsters\crawlers\triplod\triplod.monstertype monsters\flyers\batong\batong.monstertype monsters\ghosts\ignome\ignome.animation monsters\ghosts\ignome\ignome.monstertype monsters\ghosts\spookit\spookit.animation monsters\ghosts\spookit\spookit.monstertype monsters\ghosts\spookit\spookit.png monsters\ghosts\squeem\squeem.monstertype monsters\walkers\crabcano\crabcano.animation monsters\walkers\crabcano\crabcano.monstertype monsters\walkers\gleap\gleap.animation [NEW] monsters\walkers\nutmidge\body.monsterpart [NEW] monsters\walkers\nutmidge\nutmidge.animation [NEW] monsters\walkers\nutmidge\nutmidge.frames [NEW] monsters\walkers\nutmidge\nutmidge.monstertype [NEW] monsters\walkers\nutmidge\nutmidge.png [NEW] monsters\walkers\nutmidge\snaunt.png [NEW] monsters\walkers\snaunt\body.monsterpart [NEW] monsters\walkers\snaunt\snaunt.animation [NEW] monsters\walkers\snaunt\snaunt.frames [NEW] monsters\walkers\snaunt\snaunt.monstertype [NEW] monsters\walkers\snaunt\snaunt.png [NEW] particles\crabcanosmoke.particle [NEW] particles\darkgreyphaseparticle.particle [NEW] particles\darkphaseparticle.particle [NEW] particles\dimflames.particle [NEW] particles\lightgreyphaseparticle.particle projectiles\explosions\regularexplosion2\fireexplosionfreeze.config projectiles\explosions\regularexplosion2\fireexplosionfreezeuniversal.config projectiles\guns\clouds\largecloud\largepoisoncloud.png projectiles\guns\grenades\shrapnelbomb\shrapnel.png projectiles\guns\grenades\shrapnelbomb\shrapnel.projectile projectiles\guns\grenades\shrapnelbomb\shrapnelbomb.png projectiles\guns\unsorted\lightningthrower\lightningthrower.projectile projectiles\npcs\acidspit\acidspit.png [NEW] projectiles\npcs\crabcanoball\crabcanoball.frames [NEW] projectiles\npcs\crabcanoball\crabcanoball.png [NEW] projectiles\npcs\crabcanoball\crabcanoball.projectile [NEW] projectiles\npcs\crabcanoball\icon.png [NEW] projectiles\npcs\snauntspit\icon.png [NEW] projectiles\npcs\snauntspit\snauntspit.frames [NEW] projectiles\npcs\snauntspit\snauntspit.png [NEW] projectiles\npcs\snauntspit\snauntspit.projectile [NEW] sfx\gun\grenadeblastfire1.ogg [NEW] sfx\gun\grenadeblastfire2.ogg [NEW] sfx\gun\grenadeblastfire3.ogg [NEW] sfx\melee\shockwave_charge_electric.ogg [NEW] sfx\melee\shockwave_charge_fire.ogg [NEW] sfx\melee\shockwave_charge_ice.ogg [NEW] sfx\melee\shockwave_charge_poison.ogg [NEW] sfx\melee\shockwave_full_electric.ogg [NEW] sfx\melee\shockwave_full_fire.ogg [NEW] sfx\melee\shockwave_full_ice.ogg [NEW] sfx\melee\shockwave_full_poison.ogg [NEW] sfx\melee\shockwave_physical_charge.ogg [NEW] sfx\melee\shockwave_physical_slam.ogg [NEW] sfx\npc\monsters\crustoise_charge.ogg [NEW] sfx\npc\monsters\gleap_hop.ogg [NEW] sfx\npc\monsters\ignome_charge.ogg [NEW] sfx\npc\monsters\ignome_fly_loop.ogg [NEW] sfx\npc\monsters\ignome_windup.ogg [NEW] sfx\npc\monsters\spookit_fly_loop.ogg [NEW] sfx\npc\monsters\spookit_invulnerable.ogg stats\effects\frostslow\frostslow.statuseffect stats\effects\paralysis\paralysis.statuseffect stats\effects\paralysis\shortparalysis.statuseffect vehicles\hoverbike\hoverbike.lua DIFFS ----- versioning.config 14a15 > "VehicleEntity" : 1, biomes\underground\underground0b.biome 139c139 < "microdungeons" : [ "undergroundmicrodungeons" ] --- > "microdungeons" : [ "underground0bmicrodungeons" ] dungeons\microdungeons\underground\underground0a\underground0amicrodungeons.dungeon 8c8 < "anchor" : [ "underground0a_open1", "underground0a_tunnelBackSlope1", "underground0a_tunnelForwardSlope", "underground0a_tunnel1", "underground0a_tunnelWeakBackSlope1", "underground0a_tunnelWeakForwardSlope1" ], --- > "anchor" : [ "underground0a_open1", "underground0a_open2", "underground0a_tunnelBackSlope1", "underground0a_tunnelBackSlope2", "underground0a_tunnelForwardSlope", "underground0a_tunnelForwardSlope2", "underground0a_tunnel1", "underground0a_tunnel2", "underground0a_tunnelWeakBackSlope1", "underground0a_tunnelWeakBackSlope2", "underground0a_tunnelWeakForwardSlope1", "underground0a_tunnelWeakForwardSlope2" ], 24a25,31 > "name" : "underground0a_open2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_open2.json" ] > }, > { 31a39,45 > "name" : "underground0a_tunnelBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_tunnelBackSlope2.json" ] > }, > { 38a53,59 > "name" : "underground0a_tunnelForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_tunnelForwardSlope2.json" ] > }, > { 45a67,73 > "name" : "underground0a_tunnel2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_tunnel2.json" ] > }, > { 52a81,87 > "name" : "underground0a_tunnelWeakBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_tunnelWeakBackSlope2.json" ] > }, > { 57a93,99 > }, > { > "name" : "underground0a_tunnelWeakForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground0a_tunnelWeakForwardSlope2.json" ] items\active\vehiclecontroller\vehiclecontroller.activeitem 8a9 > "maxStack" : 1, items\active\vehiclecontroller\vehiclecontroller.lua 0a1,6 > function init() > if item.instanceValue("key") == nil then > activeItem.setInstanceValue("key", sb.makeUuid()) > end > end > 2,4c8,13 < if filled() then < world.spawnVehicle("hoverbike", activeItem.ownerAimPosition()) < setFilled(false) --- > if item.instanceValue("filled") then > world.spawnVehicle("hoverbike", activeItem.ownerAimPosition(), { > ownerKey = item.instanceValue("key") > }) > activeItem.setInstanceValue("filled", false) > activeItem.setInventoryIcon(item.instanceValue("emptyInventoryIcon")) 10c19 < --- > 12c21 < self.consumePromise = world.sendEntityMessage(vehicleId, "consume") --- > self.consumePromise = world.sendEntityMessage(vehicleId, "lock", item.instanceValue("key")) 20,21c29,31 < if self.consumePromise:succeeded() then < setFilled(true) --- > if self.consumePromise:result() then > activeItem.setInstanceValue("filled", true) > activeItem.setInventoryIcon(item.instanceValue("filledInventoryIcon")) 25,38d34 < end < end < < function filled() < return item.instanceValue("filled") < end < < function setFilled(filled) < if filled then < activeItem.setInstanceValue("filled", true) < activeItem.setInventoryIcon(item.instanceValue("filledInventoryIcon")) < else < activeItem.setInstanceValue("filled", false) < activeItem.setInventoryIcon(item.instanceValue("emptyInventoryIcon")) items\active\weapons\melee\altabilities\hammer\shockwave\physicalshockwave.altability 12,14c12,14 < "physicalcharge" : [ "/sfx/melee/charge_combo3.ogg" ], < "physicalfull" : [ "/sfx/melee/charge_full_hold2.ogg" ], < "physicalimpact" : [ "/sfx/gun/grenadeblast3.ogg" ] --- > "physicalcharge" : [ "/sfx/melee/shockwave_physical_charge.ogg" ], > "physicalfull" : [ ], > "physicalimpact" : [ "/sfx/melee/shockwave_physical_slam.ogg" ] items\active\weapons\melee\altabilities\hammer\shockwave\shockwave.altability 51,62c51,62 < "firecharge" : [ "/sfx/melee/charge_combo3.ogg" ], < "firefull" : [ "/sfx/melee/charge_full_hold2.ogg" ], < "fireimpact" : [ "/sfx/gun/grenadeblast3.ogg" ], < "electriccharge" : [ "/sfx/melee/charge_combo3.ogg" ], < "electricfull" : [ "/sfx/melee/charge_full_hold2.ogg" ], < "electricimpact" : [ "/sfx/gun/grenadeblast3.ogg" ], < "icecharge" : [ "/sfx/melee/charge_combo3.ogg" ], < "icefull" : [ "/sfx/melee/charge_full_hold2.ogg" ], < "iceimpact" : [ "/sfx/gun/grenadeblast3.ogg" ], < "poisoncharge" : [ "/sfx/melee/charge_combo3.ogg" ], < "poisonfull" : [ "/sfx/melee/charge_full_hold2.ogg" ], < "poisonimpact" : [ "/sfx/gun/grenadeblast3.ogg" ] --- > "firecharge" : [ "/sfx/melee/shockwave_charge_fire.ogg" ], > "firefull" : [ "/sfx/melee/shockwave_full_fire.ogg" ], > "fireimpact" : [ "/sfx/gun/grenadeblastfire2.ogg" ], > "electriccharge" : [ "/sfx/melee/shockwave_charge_electric.ogg" ], > "electricfull" : [ "/sfx/melee/shockwave_full_electric.ogg" ], > "electricimpact" : [ "/sfx/gun/grenadeblastelectric2.ogg" ], > "icecharge" : [ "/sfx/melee/shockwave_charge_ice.ogg" ], > "icefull" : [ "/sfx/melee/shockwave_full_ice.ogg" ], > "iceimpact" : [ "/sfx/gun/grenadeblastice2.ogg" ], > "poisoncharge" : [ "/sfx/melee/shockwave_charge_poison.ogg" ], > "poisonfull" : [ "/sfx/melee/shockwave_full_poison.ogg" ], > "poisonimpact" : [ "/sfx/gun/grenadeblastpoison2.ogg" ] monsters\crawlers\crustoise\crustoise.animation 26c26,29 < "mode" : "loop" --- > "mode" : "loop", > "properties" : { > "immediateSound" : "/sfx/npc/monsters/crustoise_charge.ogg" > } monsters\crawlers\crustoise\crustoise.monstertype 27c27 < "targetOutOfSightTime" : 5.0, --- > "targetOutOfSightTime" : 0.5, monsters\crawlers\triplod\triplod.monstertype 39a40,41 > "aimAtTarget" : false, > "aimDirection" : [1, 0], 44c46 < "fireWindupState" : "idle", --- > "fireWindupState" : "hurt", monsters\flyers\batong\batong.monstertype 87c87 < "mass" : 1.0, --- > "mass" : 0.5, 92,93c92,94 < "airForce" : 50, < "flySpeed" : 8 --- > "airFriction" : 2, > "airForce" : 20, > "flySpeed" : 15 monsters\ghosts\ignome\ignome.animation 16c16,19 < "mode" : "loop" --- > "mode" : "loop", > "properties" : { > "persistentSound" : "/sfx/npc/monsters/ignome_fly_loop.ogg" > } 20c23,26 < "cycle" : 0.5 --- > "cycle" : 0.5, > "properties" : { > "immediateSound" : "/sfx/npc/monsters/ignome_windup.ogg" > } 25c31,34 < "mode" : "loop" --- > "mode" : "loop", > "properties" : { > "immediateSound" : "/sfx/npc/monsters/ignome_charge.ogg" > } 46c55,56 < "image" : ":fly." --- > "image" : ":fly.", > "fullbright" : true 51c61,62 < "image" : ":fly." --- > "image" : ":fly.", > "fullbright" : true 56c67,68 < "image" : ":chargewindup." --- > "image" : ":chargewindup.", > "fullbright" : true 61c73,74 < "image" : ":charge." --- > "image" : ":charge.", > "fullbright" : true 66c79,80 < "image" : ":hurt." --- > "image" : ":hurt.", > "fullbright" : true 88c102,103 < "behindGroundEmitter" : { --- > "flames" : { > "active" : true, 92,108c107 < { "particle" : "ghostsparkle" } < ] < }, < "groundBurstEmitter" : { < "offsetRegion" : [ -0.625, -1.25, 0.625, 1.25 ], < "particles" : [ < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" } --- > { "particle" : "dimflames" } monsters\ghosts\ignome\ignome.monstertype 17a18,19 > "renderLayer" : "foregroundEntity", > 44c46,47 < "aimAtTarget" : true, --- > "aimAtTarget" : false, > "airDirection" : [1, 0], 81c84 < "concurrentActions" : [ { "name" : "action-ghostsparkle" } ], --- > "concurrentActions" : [ ], 83c86 < "concurrentHostileActions" : [ { "name" : "action-ghostsparkle" } ] --- > "concurrentHostileActions" : [ ] 143a147,149 > }, > "fireImmunity" : { > "baseValue" : 1.0 monsters\ghosts\spookit\spookit.animation 12c12,15 < "frames" : 1 --- > "frames" : 1, > "properties" : { > "persistentSound" : "/sfx/npc/monsters/spookit_fly_loop.ogg" > } 15c18,21 < "frames" : 1 --- > "frames" : 1, > "properties" : { > "immediateSound" : "/sfx/npc/monsters/spookit_invulnerable.ogg" > } 18c24,25 < "frames" : 1 --- > "frames" : 1, > "persistentSound" : "/sfx/npc/monsters/spookit_fly_loop.ogg" 70a78,86 > "spookparticles" : { > "active" : true, > "emissionRate" : 3.5, > "offsetRegion" : [ -0.625, -1.25, 0.625, 1.25 ], > "particles" : [ > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" } > ] > }, 72c88 < "emissionRate" : 15, --- > "emissionRate" : 20, 75c91,92 < { "particle" : "ghostsparkle" } --- > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" } 81,91c98,108 < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" }, < { "particle" : "ghostsparkle" } --- > { "particle" : "darkgreyphaseparticle" }, > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" }, > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" }, > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" }, > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" }, > { "particle" : "lightgreyphaseparticle" }, > { "particle" : "darkgreyphaseparticle" } monsters\ghosts\spookit\spookit.monstertype 141a142,153 > }, > "fireImmunity" : { > "baseValue" : 1.0 > }, > "iceImmunity" : { > "baseValue" : 1.0 > }, > "electricImmunity" : { > "baseValue" : 1.0 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\ghosts\squeem\squeem.monstertype 17a18,19 > "renderLayer" : "foregroundEntity", > 48c50 < "concurrentActions" : [ { "name" : "action-ghostsparkle" } ], --- > "concurrentActions" : [ ], 50c52 < "concurrentHostileActions" : [ { "name" : "action-ghostsparkle" } ] --- > "concurrentHostileActions" : [ ] 71c73 < "mass" : 1.0, --- > "mass" : 0.5, 76c78 < "airFriction" : 0.5, --- > "airFriction" : 2, 78c80 < "flySpeed" : 8 --- > "flySpeed" : 4 monsters\walkers\crabcano\crabcano.animation 89a90,97 > "volcano" : { > "active" : true, > "emissionRate" : 6, > "offsetRegion" : [ -0.2, 1, 0.2, 2 ], > "particles" : [ > { "particle" : "crabcanosmoke" } > ] > }, monsters\walkers\crabcano\crabcano.monstertype 38c38 < "projectileType" : "fireball", --- > "projectileType" : "crabcanoball", 42,44c42,44 < "projectileCount" : 10, < "projectileInterval" : 0.05, < "inaccuracy" : 0.5, --- > "projectileCount" : 4, > "projectileInterval" : 0.5, > "inaccuracy" : 1, 49c49 < "minimumRange" : 0, --- > "minimumRange" : 1, monsters\walkers\gleap\gleap.animation 23c23,26 < "transition" : "hopfull" --- > "transition" : "hopfull", > "frameProperties" : { > "immediateSound" : [ "", "/sfx/npc/monsters/gleap_hop.ogg" ] > } projectiles\explosions\regularexplosion2\fireexplosionfreeze.config 92c92 < "options" : [ "/sfx/gun/grenadeblast1.ogg", "/sfx/gun/grenadeblast2.ogg", "/sfx/gun/grenadeblast3.ogg" ] --- > "options" : [ "/sfx/gun/grenadeblastfire1.ogg", "/sfx/gun/grenadeblastfire2.ogg", "/sfx/gun/grenadeblastfire3.ogg" ] projectiles\explosions\regularexplosion2\fireexplosionfreezeuniversal.config 92c92 < "options" : [ "/sfx/gun/grenadeblast1.ogg", "/sfx/gun/grenadeblast2.ogg", "/sfx/gun/grenadeblast3.ogg" ] --- > "options" : [ "/sfx/gun/grenadeblastfire1.ogg", "/sfx/gun/grenadeblastfire2.ogg", "/sfx/gun/grenadeblastfire3.ogg" ] projectiles\guns\grenades\shrapnelbomb\shrapnel.projectile 6c6 < "bounces" : 0, --- > "bounces" : 2, projectiles\guns\unsorted\lightningthrower\lightningthrower.projectile 17c17 < "paralysis" --- > "shortparalysis" stats\effects\frostslow\frostslow.statuseffect 2a3,4 > "blockingStat" : "iceImmunity", > stats\effects\paralysis\paralysis.statuseffect 2a3,4 > "blockingStat" : "electricImmunity", > stats\effects\paralysis\shortparalysis.statuseffect 2a3,4 > "blockingStat" : "electricImmunity", > vehicles\hoverbike\hoverbike.lua 26,27d25 < < message.setHandler("consume", vehicle.destroy)