FILES ----- biomes\distributions.config [NEW] damage\sawblade.damage dungeons\human\humanprison\humanprison.dungeon dungeons\microdungeons\platforming\iceplatforming\iceplatforming.dungeon interface\statuses\cold.png interface\statuses\glow.png interface\statuses\heal.png interface\statuses\invisible.png interface\statuses\irradiated.png interface\statuses\jumpboost.png interface\statuses\runboost.png [NEW] items\armors\biome\eyepatch\eyeball\bsleeve.png [NEW] items\armors\biome\eyepatch\eyeball\chest.png [NEW] items\armors\biome\eyepatch\eyeball\eyeball.chest [NEW] items\armors\biome\eyepatch\eyeball\eyeball.head [NEW] items\armors\biome\eyepatch\eyeball\eyeball.legs [NEW] items\armors\biome\eyepatch\eyeball\fsleeve.png [NEW] items\armors\biome\eyepatch\eyeball\head.png [NEW] items\armors\biome\eyepatch\eyeball\headicon.png [NEW] items\armors\biome\eyepatch\eyeball\icons.png [NEW] items\armors\biome\eyepatch\eyeball\mask.png [NEW] items\armors\biome\eyepatch\eyeball\pants.png [NEW] items\generic\crafting\ancientbones.item [NEW] items\guns\biome\eyestalk\eyeblaster\eyeblaster.frames [NEW] items\guns\biome\eyestalk\eyeblaster\eyeblaster.gun [NEW] items\guns\biome\eyestalk\eyeblaster\eyeblaster.png [NEW] items\guns\biome\eyestalk\eyeblaster\icon.png objects\avian\propeller\propeller.object [NEW] objects\avian\propeller\propellerleft.frames [NEW] objects\avian\propeller\propellerleft.png [NEW] objects\avian\propeller\propellerright.frames [NEW] objects\avian\propeller\propellerright.png [NEW] objects\avian\propeller\propellertop.frames [NEW] objects\avian\propeller\propellertop.png objects\avian\sawblade\sawblade.object [NEW] objects\obstacles\ice\icespike\icespike.object [NEW] objects\obstacles\ice\icespike\icespikebottom.frames [NEW] objects\obstacles\ice\icespike\icespikebottom.png [NEW] objects\obstacles\ice\icespike\icespikeicon.png [NEW] objects\obstacles\ice\icespike\icespikeleft.frames [NEW] objects\obstacles\ice\icespike\icespikeleft.png [NEW] objects\obstacles\ice\icespike\icespikeright.frames [NEW] objects\obstacles\ice\icespike\icespikeright.png [NEW] objects\obstacles\ice\icespike\icespiketop.frames [NEW] objects\obstacles\ice\icespike\icespiketop.png [NEW] objects\obstacles\ice\icestalactite1\ceilingicon.png [NEW] objects\obstacles\ice\icestalactite1\icestalactite1.frames [NEW] objects\obstacles\ice\icestalactite1\icestalactite1.object [NEW] objects\obstacles\ice\icestalactite1\icestalactite1.png [NEW] objects\obstacles\ice\icestalactite2\ceilingicon.png [NEW] objects\obstacles\ice\icestalactite2\icestalactite2.frames [NEW] objects\obstacles\ice\icestalactite2\icestalactite2.object [NEW] objects\obstacles\ice\icestalactite2\icestalactite2.png [NEW] objects\obstacles\ice\icestalactite3\ceilingicon.png [NEW] objects\obstacles\ice\icestalactite3\icestalactite3.frames [NEW] objects\obstacles\ice\icestalactite3\icestalactite3.object [NEW] objects\obstacles\ice\icestalactite3\icestalactite3.png [NEW] objects\obstacles\ice\icestalactite4\ceilingicon.png [NEW] objects\obstacles\ice\icestalactite4\icestalactite4.frames [NEW] objects\obstacles\ice\icestalactite4\icestalactite4.object [NEW] objects\obstacles\ice\icestalactite4\icestalactite4.png objects\wired\shieldgenerator\shieldgenerator.lua [NEW] plants\bushes\groundocean\seabush\cone1.png [NEW] plants\bushes\groundocean\seabush\cone2.png [NEW] plants\bushes\groundocean\seabush\cone3.png [NEW] plants\bushes\groundocean\seabush\cone4.png [NEW] plants\bushes\groundocean\seabush\cone5.png [NEW] plants\bushes\groundocean\seabush\coral1.png [NEW] plants\bushes\groundocean\seabush\coral2.png [NEW] plants\bushes\groundocean\seabush\coral3.png [NEW] plants\bushes\groundocean\seabush\coral4.png [NEW] plants\bushes\groundocean\seabush\coral5.png [NEW] plants\bushes\groundocean\seabush\oshroom1.png [NEW] plants\bushes\groundocean\seabush\oshroom2.png [NEW] plants\bushes\groundocean\seabush\oshroom3.png [NEW] plants\bushes\groundocean\seabush\oshroom4.png [NEW] plants\bushes\groundocean\seabush\oshroom5.png [NEW] plants\bushes\groundocean\seabush\seagrass1.png [NEW] plants\bushes\groundocean\seabush\seagrass2.png [NEW] plants\bushes\groundocean\seabush\seagrass3.png [NEW] plants\bushes\groundocean\seabush\seagrass4.png [NEW] plants\bushes\groundocean\seabush\seagrass5.png [NEW] plants\bushes\groundocean\seabush\seaweed1.png [NEW] plants\bushes\groundocean\seabush\seaweed2.png [NEW] plants\bushes\groundocean\seabush\seaweed3.png [NEW] plants\bushes\groundocean\seabush\seaweed4.png [NEW] plants\bushes\groundocean\seabush\seaweed5.png [NEW] plants\trees\seatrees\foliage\bubbles\basefoliage1.png [NEW] plants\trees\seatrees\foliage\bubbles\basefoliage2.png [NEW] plants\trees\seatrees\foliage\bubbles\basefoliage3.png [NEW] plants\trees\seatrees\foliage\bubbles\basefoliage4.png [NEW] plants\trees\seatrees\foliage\bubbles\crownfoliage1.png [NEW] plants\trees\seatrees\foliage\bubbles\crownfoliage2.png [NEW] plants\trees\seatrees\foliage\bubbles\crownfoliage3.png [NEW] plants\trees\seatrees\foliage\bubbles\crownfoliage4.png [NEW] plants\trees\seatrees\foliage\bubbles\foliage1.png [NEW] plants\trees\seatrees\foliage\bubbles\foliage2.png [NEW] plants\trees\seatrees\foliage\bubbles\foliage3.png [NEW] plants\trees\seatrees\foliage\bubbles\foliage4.png [NEW] plants\trees\seatrees\foliage\flowy\basefoliage1.png [NEW] plants\trees\seatrees\foliage\flowy\basefoliage2.png [NEW] plants\trees\seatrees\foliage\flowy\basefoliage3.png [NEW] plants\trees\seatrees\foliage\flowy\basefoliage4.png [NEW] plants\trees\seatrees\foliage\flowy\crownfoliage1.png [NEW] plants\trees\seatrees\foliage\flowy\crownfoliage2.png [NEW] plants\trees\seatrees\foliage\flowy\crownfoliage3.png [NEW] plants\trees\seatrees\foliage\flowy\crownfoliage4.png [NEW] plants\trees\seatrees\foliage\flowy\foliage1.png [NEW] plants\trees\seatrees\foliage\flowy\foliage2.png [NEW] plants\trees\seatrees\foliage\flowy\foliage3.png [NEW] plants\trees\seatrees\foliage\flowy\foliage4.png [NEW] plants\trees\seatrees\foliage\leafy\basefoliage1.png [NEW] plants\trees\seatrees\foliage\leafy\basefoliage2.png [NEW] plants\trees\seatrees\foliage\leafy\basefoliage3.png [NEW] plants\trees\seatrees\foliage\leafy\basefoliage4.png [NEW] plants\trees\seatrees\foliage\leafy\crownfoliage1.png [NEW] plants\trees\seatrees\foliage\leafy\crownfoliage2.png [NEW] plants\trees\seatrees\foliage\leafy\crownfoliage3.png [NEW] plants\trees\seatrees\foliage\leafy\crownfoliage4.png [NEW] plants\trees\seatrees\foliage\leafy\foliage1.png [NEW] plants\trees\seatrees\foliage\leafy\foliage2.png [NEW] plants\trees\seatrees\foliage\leafy\foliage3.png [NEW] plants\trees\seatrees\foliage\leafy\foliage4.png [NEW] plants\trees\seatrees\foliage\wavy\basefoliage1.png [NEW] plants\trees\seatrees\foliage\wavy\basefoliage2.png [NEW] plants\trees\seatrees\foliage\wavy\basefoliage3.png [NEW] plants\trees\seatrees\foliage\wavy\basefoliage4.png [NEW] plants\trees\seatrees\foliage\wavy\crownfoliage1.png [NEW] plants\trees\seatrees\foliage\wavy\crownfoliage2.png [NEW] plants\trees\seatrees\foliage\wavy\crownfoliage3.png [NEW] plants\trees\seatrees\foliage\wavy\crownfoliage4.png [NEW] plants\trees\seatrees\foliage\wavy\foliage1.png [NEW] plants\trees\seatrees\foliage\wavy\foliage2.png [NEW] plants\trees\seatrees\foliage\wavy\foliage3.png [NEW] plants\trees\seatrees\foliage\wavy\foliage4.png [NEW] plants\trees\seatrees\stem\seaweed\base1.png [NEW] plants\trees\seatrees\stem\seaweed\base2.png [NEW] plants\trees\seatrees\stem\seaweed\base3.png [NEW] plants\trees\seatrees\stem\seaweed\base4.png [NEW] plants\trees\seatrees\stem\seaweed\crown1.png [NEW] plants\trees\seatrees\stem\seaweed\crown2.png [NEW] plants\trees\seatrees\stem\seaweed\crown3.png [NEW] plants\trees\seatrees\stem\seaweed\crown4.png [NEW] plants\trees\seatrees\stem\seaweed\mid1.png [NEW] plants\trees\seatrees\stem\seaweed\mid2.png [NEW] plants\trees\seatrees\stem\seaweed\mid3.png [NEW] plants\trees\seatrees\stem\seaweed\mid4.png [NEW] recipes\weapons\tier3\giganticsnowball.recipe [NEW] recipes\weapons\tier3\largesnowball.recipe [NEW] recipes\weapons\tier3\mediumsnowball.recipe [NEW] recipes\weapons\tier3\snowball.recipe [NEW] recipes\weapons\tier3\throwingbones.recipe [NEW] sfx\melee\sawblade_hit_organic.wav [NEW] sfx\melee\sawblade_hit_robotic.wav [NEW] sfx\melee\sawblade_kill_organic.wav stats\effects\melting\melting.lua terrain\cave\normalcaves.terrain DIFFS ----- biomes\distributions.config 127,128c127,128 < "modulus" : 2, < "modulusVariance" : 2, --- > "modulus" : 3.5, > "modulusVariance" : 2.5, dungeons\human\humanprison\humanprison.dungeon 5,6c5 < "rules" : [ < ], --- > "rules" : [ ], 10c9,10 < "maxParts" : 100 --- > "maxParts" : 100, > "protected" : true 167c167 < "brush" : [ [ "clear" ], [ "object", "humangenerator", { "direction" : "left", "parameters" : { "defaultSwitchState" : true } } ] ] --- > "brush" : [ [ "clear" ], [ "object", "humangenerator", { "direction" : "left", "parameters" : { "defaultState" : true } } ] ] 173c173 < "brush" : [ [ "clear" ], [ "object", "humangenerator", { "direction" : "right", "parameters" : { "defaultSwitchState" : true } } ] ] --- > "brush" : [ [ "clear" ], [ "object", "humangenerator", { "direction" : "right", "parameters" : { "defaultState" : true } } ] ] dungeons\microdungeons\platforming\iceplatforming\iceplatforming.dungeon 439,440c439,440 < "comment" : "icestalagtite", < "brush" : [ [ "random", [ [ "object", "icestalagtite1" ], [ "object", "icestalagtite2" ], [ "object", "icestalagtite3" ], [ "object", "icestalagtite4" ] ] ] ] --- > "comment" : "icestalactite", > "brush" : [ [ "random", [ [ "object", "icestalactite1" ], [ "object", "icestalactite2" ], [ "object", "icestalactite3" ], [ "object", "icestalactite4" ] ] ] ] objects\avian\propeller\propeller.object 21a22,23 > "direction" : "left", > "flipImages" : true, 25,26c27,127 < "spaceScan" : 0.1, < "anchors" : [ "bottom" ] --- > "spaces" : [ [-1, 0], [0, 0], [1, 0], [0, 1], [0, 2], [-4, 3], [-3, 3], [-2, 3], [-1, 3], [0, 3], [1, 3], [2, 3], [3, 3], [4, 3], [-4, 4], [-3, 4], [-2, 4], [-1, 4], [0, 4], [1, 4], [2, 4], [3, 4], [4, 4], [-1, 5], [0, 5], [1, 5] ], > "anchors" : [ "bottom" ], > > "touchDamage" : { > "poly" : [ [-3.5, 3.9], [-3.5, 4.8], [4.5, 4.8], [4.5, 3.9] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } > }, > { > "image" : "propeller.png:.", > "imagePosition" : [-28, 0], > "direction" : "right", > "frames" : 4, > "animationCycle" : 0.1, > > "spaces" : [ [-1, 0], [0, 0], [1, 0], [0, 1], [0, 2], [-4, 3], [-3, 3], [-2, 3], [-1, 3], [0, 3], [1, 3], [2, 3], [3, 3], [4, 3], [-4, 4], [-3, 4], [-2, 4], [-1, 4], [0, 4], [1, 4], [2, 4], [3, 4], [4, 4], [-1, 5], [0, 5], [1, 5] ], > "anchors" : [ "bottom" ], > > "touchDamage" : { > "poly" : [ [-3.5, 3.9], [-3.5, 4.8], [4.5, 4.8], [4.5, 3.9] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } > }, > { > "image" : "propellertop.png:.", > "imagePosition" : [-28, -40], > "direction" : "left", > "flipImages" : true, > "frames" : 4, > "animationCycle" : 0.1, > > "spaces" : [ [-1, 0], [0, 0], [1, 0], [0, -1], [0, -2], [-4, -3], [-3, -3], [-2, -3], [-1, -3], [0, -3], [1, -3], [2, -3], [3, -3], [4, -3], [-4, -4], [-3, -4], [-2, -4], [-1, -4], [0, -4], [1, -4], [2, -4], [3, -4], [4, -4], [-1, -5], [0, -5], [1, -5] ], > "anchors" : [ "top" ], > > "touchDamage" : { > "poly" : [ [-3.5, -2.8], [-3.5, -3.7], [4.5, -3.7], [4.5, -2.8] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } > }, > { > "image" : "propellertop.png:.", > "imagePosition" : [-28, -40], > "direction" : "right", > "frames" : 4, > "animationCycle" : 0.1, > > "spaces" : [ [-1, 0], [0, 0], [1, 0], [0, -1], [0, -2], [-4, -3], [-3, -3], [-2, -3], [-1, -3], [0, -3], [1, -3], [2, -3], [3, -3], [4, -3], [-4, -4], [-3, -4], [-2, -4], [-1, -4], [0, -4], [1, -4], [2, -4], [3, -4], [4, -4], [-1, -5], [0, -5], [1, -5] ], > "anchors" : [ "top" ], > > "touchDamage" : { > "poly" : [ [-3.5, -2.8], [-3.5, -3.7], [4.5, -3.7], [4.5, -2.8] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } > }, > { > "image" : "propellerleft.png:.", > "imagePosition" : [0, -28], > "direction" : "right", > "frames" : 4, > "animationCycle" : 0.1, > > "spaces" : [ [0, 1], [0, 0], [0, -1], [1, 0], [2, 0], [3, 4], [3, 3], [3, 2], [3, 1], [3, 0], [3, -1], [3, -2], [3, -3], [3, -4], [4, 4], [4, 3], [4, 2], [4, 1], [4, 0], [4, -1], [4, -2], [4, -3], [4, -4], [5, 1], [5, 0], [5, -1] ], > "anchors" : [ "left" ], > > "touchDamage" : { > "poly" : [ [3.9, 4.5], [4.8, 4.5], [4.8, -3.5], [3.9, -3.5] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } > }, > { > "image" : "propellerright.png:.", > "imagePosition" : [-40, -28], > "direction" : "right", > "frames" : 4, > "animationCycle" : 0.1, > > "spaces" : [ [0, 1], [0, 0], [0, -1], [-1, 0], [-2, 0], [-3, 4], [-3, 3], [-3, 2], [-3, 1], [-3, 0], [-3, -1], [-3, -2], [-3, -3], [-3, -4], [-4, 4], [-4, 3], [-4, 2], [-4, 1], [-4, 0], [-4, -1], [-4, -2], [-4, -3], [-4, -4], [-5, 1], [-5, 0], [-5, -1] ], > "anchors" : [ "right" ], > > "touchDamage" : { > "poly" : [ [-2.8, 4.5], [-3.7, 4.5], [-3.7, -3.5], [-2.8, -3.5] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "2hsword" > } objects\avian\sawblade\sawblade.object 17,38d16 < "particleEmitter" : { < "emissionRate" : 0.1, < "emissionVariance" : 0.05, < "pixelOrigin" : [0, 0], < < "particle" : { < "type" : "textured", < "image" : "/particles/hazard/hazardstat.png", < "size" : 1.0, < "color" : [73, 179, 253, 255], < "fade" : 0, < "destructionAction" : "shrink", < "destructionTime" : 7, < "initialVelocity" : [3, 4], < "finalVelocity" : [-3, 2], < "approach" : [4, 1], < "timeToLive" : 1, < "layer" : "middle" < } < < }, < 46c24,27 < "animationCycle" : 0.3, --- > "animationCycle" : 0.2, > > "spaces" : [ [-2, 0], [-1, 0], [0, 0], [1, 0], [-2, 1], [-1, 1], [0, 1], [1, 1] ], > "anchors" : [ "bottom" ], 48,49c29,35 < "spaceScan" : 0.1, < "anchors" : [ "bottom" ] --- > "touchDamage" : { > "poly" : [ [-1.8, 0.3], [-0.8, 2.0], [0.8, 2.0], [1.8, 0.3] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "sawblade" > } 57c43 < "animationCycle" : 0.3, --- > "animationCycle" : 0.2, 59,60c45,54 < "spaceScan" : 0.1, < "anchors" : [ "top" ] --- > "spaces" : [ [-2, 0], [-1, 0], [0, 0], [1, 0], [-2, -1], [-1, -1], [0, -1], [1, -1] ], > "anchors" : [ "top" ], > > "touchDamage" : { > "poly" : [ [-1.8, 0.7], [-0.8, -1.0], [0.8, -1.0], [1.8, 0.7] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "sawblade" > } 68c62,65 < "animationCycle" : 0.3, --- > "animationCycle" : 0.2, > > "spaces" : [ [1, 1], [0, 1], [1, 0], [0, 0], [1, -1], [0, -1], [1, -2], [0, -2] ], > "anchors" : [ "left" ], 70,71c67,73 < "spaceScan" : 0.1, < "anchors" : [ "left" ] --- > "touchDamage" : { > "poly" : [ [0.3, 2.0], [2, 0.8], [2, -0.8], [0.3, -2.0] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "sawblade" > } 79c81 < "animationCycle" : 0.3, --- > "animationCycle" : 0.2, 81,82c83,92 < "spaceScan" : 0.1, < "anchors" : [ "right" ] --- > "spaces" : [ [-1, 1], [0, 1], [-1, 0], [0, 0], [-1, -1], [0, -1], [-1, -2], [0, -2] ], > "anchors" : [ "right" ], > > "touchDamage" : { > "poly" : [ [0.7, 2.0], [-1, 0.8], [-1, -0.8], [0.7, -2.0] ], > "damage" : 80, > > "damageType" : "IgnoresDef", > "damageSourceKind" : "sawblade" > } 89,90d98 < < //TODO: touch damage objects\wired\shieldgenerator\shieldgenerator.lua 6c6,7 < entity.setInteractive(entity.configParameter("interactive", true)) --- > entity.setInteractive(entity.configParameter("interactive", true) and not (entity.inboundNodeCount() > 0 and entity.isInboundNodeConnected(0))) > 8,10c9 < output(entity.configParameter("defaultSwitchState", false)) < else < output(storage.state) --- > storage.state = entity.configParameter("defaultState", true); 13,14c12,15 < if storage.triggered == nil then < storage.triggered = false --- > updateAnimationState(storage.state) > > if entity.outboundNodeCount() > 0 then > entity.setOutboundNodeLevel(0, storage.state) 15a17,18 > > script.setUpdateDelta(0); 21a25,32 > function onNodeConnectionChange(args) > entity.setInteractive(entity.configParameter("interactive", true) and not entity.isInboundNodeConnected(0)) > end > > function onInboundNodeChange(args) > output(entity.getInboundNodeLevel(0)) > end > 23c34,44 < storage.state = state --- > if state ~= storage.state then > storage.state = state > updateAnimationState(storage.state) > world.setTileProtection(self.dungeonId, storage.state) > if entity.outboundNodeCount() > 0 then > entity.setOutboundNodeLevel(0, storage.state) > end > end > end > > function updateAnimationState(state) 32,41d52 < end < world.setTileProtection(self.dungeonId, storage.state) < end < < function update(args) < if entity.getInboundNodeLevel(0) and not storage.triggered then < storage.triggered = true < output(not storage.state) < elseif storage.triggered and not entity.getInboundNodeLevel(0) then < storage.triggered = false stats\effects\melting\melting.lua 10c10 < self.damage = 20 --- > self.damage = 30 14c14 < damage = 20, --- > damage = 30, 23c23 < self.damage = self.damage + 20 --- > self.damage = self.damage * 2 terrain\cave\normalcaves.terrain 11c11 < "layerDensity" : 0.1, --- > "layerDensity" : 0.05, 13c13 < "surfaceDensity" : 0.015, --- > "surfaceDensity" : 0.02, 19c19 < "frequency" : 0.008, --- > "frequency" : 0.009, 27c27 < "frequency" : 0.011, --- > "frequency" : 0.01, 29c29 < "bias" : 0 --- > "bias" : -0.05 38c38 < "bias" : 9 --- > "bias" : 10 73c73 < "bias" : -0.7 --- > "bias" : -0.9 81,82c81,82 < "amplitude" : 20, < "bias" : 30 --- > "amplitude" : 24, > "bias" : 38 89,90c89,90 < "amplitude" : 6, < "bias" : -8 --- > "amplitude" : 8, > "bias" : -14 112c112 < "numberOfWormsPerSectorRange" : [0.2, 0.3], --- > "numberOfWormsPerSectorRange" : [0.2, 0.2], 115,116c115,116 < "wormSizeRange" : [2, 5], < "wormLengthRange" : [50, 120], --- > "wormSizeRange" : [2.5, 4], > "wormLengthRange" : [60, 120], 119c119 < "wormTurnChance" : 0.25, --- > "wormTurnChance" : 0.2,