FILES ----- spawner.config behaviors\monsters\modular\actions\aggrohop.behavior behaviors\monsters\modular\actions\invulnerable.behavior behaviors\monsters\modular\movement\walkwander.behavior behaviors\npc\merchant.behavior biomes\atmosphere\atmosphere.biome biomes\space\asteroids.biome biomes\surface\alien.biome biomes\surface\arctic.biome biomes\surface\arcticoceanfloor.biome biomes\surface\asteroidfield.biome biomes\surface\desert.biome biomes\surface\forest.biome biomes\surface\jungle.biome biomes\surface\magma.biome biomes\surface\magmaoceanfloor.biome biomes\surface\midnight.biome biomes\surface\ocean.biome biomes\surface\oceanfloor.biome biomes\surface\oceanmission.biome biomes\surface\savannah.biome biomes\surface\scorched.biome biomes\surface\snow.biome biomes\surface\tentacles.biome biomes\surface\toxic.biome biomes\surface\toxicoceanfloor.biome biomes\surface\tundra.biome biomes\surface\volcanic.biome biomes\surface_detached\alpine.biome biomes\surface_detached\bones.biome biomes\surface_detached\colourful.biome biomes\surface_detached\crystalline.biome biomes\surface_detached\hive.biome biomes\surface_detached\ice.biome biomes\surface_detached\oasis.biome biomes\surface_detached\prism.biome biomes\surface_detached\rust.biome biomes\surface_detached\swamp.biome biomes\surface_detached\tar.biome biomes\surface_detached\old\charred\charred.biome biomes\surface_detached\old\flowers\flowers.biome biomes\surface_detached\old\rocky\rocky.biome biomes\surface_detached\old\sandstone\sandstone.biome biomes\underground\underground0a.biome biomes\underground\underground0b.biome biomes\underground\underground0c.biome biomes\underground\underground0d.biome biomes\underground\underground1a.biome biomes\underground\underground1b.biome biomes\underground\underground1c.biome biomes\underground\underground1d.biome biomes\underground\underground3a.biome biomes\underground\underground3b.biome biomes\underground\underground3c.biome biomes\underground\underground3d.biome biomes\underground\underground5a.biome biomes\underground\underground5b.biome biomes\underground\underground5c.biome biomes\underground\underground5d.biome biomes\underground_detached\bonecaves.biome biomes\underground_detached\cellcave.biome biomes\underground_detached\fleshcave.biome biomes\underground_detached\icecaves.biome biomes\underground_detached\luminouscaves.biome biomes\underground_detached\minivillage.biome biomes\underground_detached\mushrooms.biome biomes\underground_detached\slimecaves.biome biomes\underground_detached\stonecaves.biome biomes\underground_detached\tarpit.biome biomes\underground_detached\wilderness.biome biomes\underground_detached\old\abandonedmines\abandonedmines.biome biomes\underground_detached\old\colorful\colorfulcave.biome biomes\underground_detached\old\crystalcave\crystalcave.biome biomes\underground_detached\old\heck\heck.biome biomes\underground_detached\old\hive\hiveold.biome biomes\underground_detached\old\shadowrealm\shadow.biome biomes\underground_detached\old\shroomcave\shroomcave.biome biomes\underground_detached\old\slime\slime.biome biomes\underground_detached\old\sulphur\sulphur.biome biomes\underground_detached\old\zen\zen.biome dialog\merchant.config dialog\quest.config dungeons\microdungeons\underground\underground3c\underground3cmicrodungeons.dungeon dungeons\microdungeons\underground\underground3c\underground3c_open1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_open2.json dungeons\microdungeons\underground\underground3c\underground3c_tunnel1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_tunnel2.json dungeons\microdungeons\underground\underground3c\underground3c_tunnelbackslope1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_tunnelbackslope2.json dungeons\microdungeons\underground\underground3c\underground3c_tunnelforwardslope1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_tunnelforwardslope2.json dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakbackslope1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakbackslope2.json dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakforwardslope1.json [NEW] dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakforwardslope2.json [NEW] dungeons\microdungeons\underground\underground3d\underground3dmicrodungeons.dungeon [NEW] dungeons\microdungeons\underground\underground3d\underground3d_open1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnel1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelbackslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelforwardslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakbackslope1.json [NEW] dungeons\microdungeons\underground\underground3d\underground3d_tunnelweakforwardslope1.json items\active\weapons\ranged\pistol\npcpistol.activeitem items\armors\biome\ethnicmask\ethnichead.head items\armors\biome\ethnicmask\head.png items\armors\biome\ethnicmask\icons.png items\armors\biome\ethnicmask\mask.png items\armors\decorative\costumes\betty\betty.chest items\armors\decorative\costumes\betty\betty.head items\armors\decorative\costumes\betty\betty.legs [NEW] items\armors\decorative\hats\feather\feather.head [NEW] items\armors\decorative\hats\feather\head.png [NEW] items\armors\decorative\hats\feather\icons.png [NEW] items\armors\decorative\hats\feather\mask.png items\armors\decorative\hats\glasses3eyes\head.png items\armors\other\t2helm1\head.png [NEW] items\armors\other\t2helm1\mask.png monsters\crawlers\crustoise\crustoise.monstertype monsters\crawlers\iguarmor\iguarmor.monstertype monsters\crawlers\oculob\oculob.monstertype monsters\crawlers\pulpin\pulpin.monstertype monsters\crawlers\snaggler\snaggler.monstertype monsters\crawlers\tintic\tintic.monstertype monsters\crawlers\triplod\triplod.monstertype monsters\dungeon\chicken\behavior.lua monsters\dungeon\chicken\chicken.animation monsters\dungeon\chicken\chicken.monstertype monsters\dungeon\chicken\chicken.png monsters\dungeon\chicken\default.frames monsters\dungeon\moontant\moontant.monstertype monsters\flyers\batong\batong.monstertype monsters\flyers\bobfae\bobfae.monstertype monsters\flyers\monopus\monopus.monstertype monsters\flyers\pteropod\pteropod.monstertype monsters\flyers\scandroid\scandroid.monstertype monsters\ghosts\ignome\ignome.monstertype monsters\ghosts\lumoth\lumoth.monstertype monsters\ghosts\nautileech\nautileech.monstertype monsters\ghosts\pyromantle\pyromantle.monstertype monsters\ghosts\skimbus\skimbus.monstertype monsters\ghosts\spookit\spookit.monstertype monsters\ghosts\squeem\squeem.monstertype monsters\ghosts\wisper\wisper.monstertype monsters\pets\petbehavior.lua monsters\pets\actions\eataction.lua monsters\pets\actions\inspectaction.lua monsters\walkers\adultpoptop\adultpoptop.monstertype monsters\walkers\anglure\anglure.monstertype monsters\walkers\bobot\bobot.monstertype monsters\walkers\bulbop\bulbop.monstertype monsters\walkers\capricoat\capricoat.monstertype monsters\walkers\crabcano\crabcano.monstertype monsters\walkers\crutter\crutter.monstertype monsters\walkers\fennix\fennix.monstertype monsters\walkers\gleap\gleap.monstertype monsters\walkers\hemogoblinbutt\hemogoblinbutt.monstertype monsters\walkers\hemogoblinhead\hemogoblinhead.monstertype monsters\walkers\hypnare\hypnare.monstertype monsters\walkers\kingnutmidgeling\kingnutmidgeling.monstertype monsters\walkers\lilodon\lilodon.monstertype monsters\walkers\mandraflora\mandraflora.monstertype monsters\walkers\miasmop\miasmop.monstertype monsters\walkers\narfin\narfin.animation monsters\walkers\narfin\narfin.monstertype monsters\walkers\oogler\oogler.monstertype monsters\walkers\orbide\orbide.monstertype monsters\walkers\peblit\peblit.monstertype monsters\walkers\petricub\petricub.monstertype monsters\walkers\pipkin\pipkin.monstertype monsters\walkers\poptop\poptop.monstertype monsters\walkers\quagmutt\quagmutt.monstertype monsters\walkers\ringram\ringram.monstertype monsters\walkers\scaveran\scaveran.monstertype monsters\walkers\smoglin\smoglin.monstertype monsters\walkers\snaunt\snaunt.monstertype monsters\walkers\sporgus\sporgus.monstertype monsters\walkers\taroni\taroni.monstertype monsters\walkers\toumingo\toumingo.monstertype monsters\walkers\voltip\voltip.monstertype monsters\walkers\yokat\yokat.monstertype npcs\base.npctype npcs\bmain.lua npcs\merchant.npctype npcs\mission\miner.npctype objects\avian\owlclock\owlclock.png objects\biome\dark\shadowchest\shadowchest.object objects\biome\dark\shadowchimes\shadowchimes.object objects\biome\ocean\seashell1\seashell1.object objects\biome\ocean\seashell2\seashell2.object objects\biome\ocean\seashell3\seashell3.object objects\biome\ocean\seashell4\seashell4.object objects\biome\ocean\seashell5\seashell5.object objects\biome\ocean\seashell6\seashell6.object objects\biome\ocean\seashell7\seashell7.object objects\biome\ocean\seashell8\seashell8.object objects\biome\prism\prismrock1\prismrock1.object objects\biome\prism\prismrock2\prismrock2.object objects\biome\prism\prismrock3\prismrock3.object objects\biome\prism\prismrock4\prismrock4.object objects\biome\prism\prismrock5\prismrock5.object objects\biome\prism\prismrock6\prismrock6.object objects\biome\prism\prismrock7\prismrock7.object objects\biome\prism\prismrock8\prismrock8.object objects\biome\prism\prismrockhumanoid\prismrockhumanoid.object objects\biome\prism\prismrockpenguin\prismrockpenguin.object objects\biome\prism\prismrockrunes\prismrockrunes.object objects\biome\rainbowwood\rainbowwoodchair\rainbowwoodchair.object objects\biome\rainbowwood\rainbowwoodsafe\rainbowwoodsafe.object objects\biome\toxicplains\toxicchest\toxicchest.object objects\generic\steelchair\steelchair.object projectiles\npcs\snauntspit\snauntspit.projectile quests\generated\guard.config quests\generated\normal.config [NEW] quests\generated\pools\buildingthemes.config quests\generated\pools\hatadjectives.config quests\generated\pools\hatrecipes.config quests\generated\pools\pools.config quests\generated\pools\specieshats.config quests\generated\pools\specieshelmets.config quests\generated\templates\build_home.questtemplate quests\generated\templates\fetch_dungeon.questtemplate quests\generated\templates\gift.questtemplate quests\generated\templates\hat.questtemplate quests\generated\templates\helmet.questtemplate [NEW] quests\generated\templates\themed_build.questtemplate [NEW] quests\scripts\generated\themed_build.lua [NEW] scripts\spawnpoint.lua scripts\actions\movement.lua scripts\quest\manager.lua scripts\quest\participant.lua scripts\quest\manager\spawn_assassins.lua scripts\quest\manager\spawn_entities.lua scripts\questgen\context.lua sfx\npc\monsters\lilodon_step1.ogg sfx\npc\monsters\lilodon_step2.ogg [NEW] sfx\npc\monsters\narfin_charge.ogg sfx\npc\monsters\orbide_step1.ogg sfx\npc\monsters\orbide_step2.ogg spawntypes\uniques.spawntypes treasure\common.treasurepools treasure\dungeon.treasurepools treasure\hunting.treasurepools treasure\monster.treasurepools treasure\npc.treasurepools DIFFS ----- spawner.config 65,198d64 < < // OLD SPAWN GROUPS -- REMOVE < < // "spawnGroups" : { < < // "asteroid1" : [ < // "aggroSmallBiped", < // "passiveSmallBiped" < // ], < < // "asteroid2" : [ < // "aggroSmallQuadruped", < // "passiveSmallBiped" < // ], < < // "sky1" : [ < // "aggroLargeFlying", < // "aggroSmallFlying", < // "passiveSmallFlying" < // ], < < // "sky2" : [ < // "aggroLargeFlying", < // "aggroSmallFlying", < // "passiveSmallFlying" < // ], < < // "easysurface1" : [ < // "aggroSmallBiped", < // "passiveSmallQuadrupedDay", < // "aggroSmallQuadrupedNight", < // "passiveSmallFlying", < // "smallFishCave" < // ], < < // "easysurface2" : [ < // "passiveSmallBipedDay", < // "aggroSmallBipedNight", < // "aggroSmallQuadruped", < // "passiveSmallFlying", < // "smallFishCave" < // ], < < // "mediumsurface1" : [ < // "passiveSmallBiped", < // "aggroLargeBiped", < // "aggroSmallQuadruped", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishCave" < // ], < < // "mediumsurface2" : [ < // "aggroSmallBiped", < // "passiveSmallQuadruped", < // "aggroLargeQuadruped", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishCave" < // ], < < // "hardsurface1" : [ < // "passiveSmallBiped", < // "aggroLargeBiped", < // "aggroLargeQuadruped", < // "aggroLargeFlying", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishCave" < // ], < < // "hardsurface2" : [ < // "aggroLargeBiped", < // "passiveSmallQuadruped", < // "aggroLargeQuadruped", < // "aggroLargeFlying", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishCave" < // ], < < // "oceansurface1" : [ < // "aggroSmallBiped", < // "passiveSmallQuadruped", < // "aggroLargeQuadruped", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishOcean1", < // "smallFishOcean2" < // ], < < // "oceansurface2" : [ < // "passiveSmallBiped", < // "aggroLargeBiped", < // "aggroSmallQuadruped", < // "passiveSmallFlying", < // "aggroSmallFlying", < // "smallFishOcean1", < // "smallFishOcean2" < // ], < < // "oceanfloor" : [ < // "aggroLargeFish", < // "passiveLargeFish", < // "smallFishOcean1", < // "smallFishOcean2" < // ], < < // "easyunderground1" : [ < // "aggroDenseSmallBiped", < // "passiveDenseSmallQuadruped", < // "smallFishCave" < // ], < < // "easyunderground2" : [ < // "passiveDenseSmallBiped", < // "aggroDenseSmallQuadruped", < // "smallFishCave" < // ], < < // "mediumunderground1" : [ < // "aggroDenseSmallBiped", < // "passiveDenseSmallQuadruped", < // "aggroDenseLargeQuadruped", < // "smallFishCave" < // ], < < // "mediumunderground2" : [ < // "passiveDenseSmallBiped", < // "aggroDenseSmallQuadruped", < // "aggroDenseLargeQuadruped", < // "smallFishCave" < // ] < // } behaviors\monsters\modular\actions\aggrohop.behavior 15c15,16 < "faceTarget": true --- > "faceTarget": true, > "resetRotation" : false behaviors\monsters\modular\actions\invulnerable.behavior 3d2 < "description": "", 18c17 < "invulnerableEffect": "maxprotection" --- > "invulnerableEffect": "invulnerable" behaviors\monsters\modular\movement\walkwander.behavior 2a3 > "description": "", 52,57c53,64 < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "", < "type": "body" --- > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "", > "type": "body" > } 65c72 < "fail": 1, --- > "fail": -1, 70,76c77,108 < "title": "move", < "type": "action", < "name": "move", < "parameters": { < "direction": "wanderDirection", < "run": "" < } --- > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "move", > "type": "action", > "name": "move", > "parameters": { > "direction": "wanderDirection", > "run": "" > } > }, > { > "title": "failer", > "type": "decorator", > "name": "failer", > "parameters": {}, > "child": { > "title": "reverseDirection", > "type": "action", > "name": "reverseDirection", > "parameters": { > "direction": "wanderDirection" > }, > "output": { > "direction": "wanderDirection" > } > } > } > ] 91,96c123,134 < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "state": "", < "type": "body" --- > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "", > "type": "body" > } behaviors\npc\merchant.behavior 2a3 > "description": "", 6a8 > "/scripts/actions/overrides.lua", 14c16 < "play" : true --- > "play": true 95,98c97,119 < "title": "enableTrading", < "type": "action", < "name": "enableTrading", < "parameters": {} --- > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "matchingOverrides", > "type": "action", > "name": "matchingOverrides", > "parameters": { > "overrideName": "notification" > }, > "output": { > "list": "" > } > }, > { > "title": "enableTrading", > "type": "action", > "name": "enableTrading", > "parameters": {} > } > ] 151,162d171 < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "resetLounging", < "type": "action", < "name": "resetLounging", < "parameters": {} < } < }, < { 175,205c184,192 < "title": "selector", < "type": "composite", < "name": "selector", < "parameters": {}, < "children": [ < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "greaterThan", < "type": "action", < "name": "greaterThan", < "parameters": { < "first": "storeRadius", < "second": 0 < } < } < }, < { < "title": "inRange", < "type": "action", < "name": "inRange", < "parameters": { < "position": "self", < "target": "spawn", < "range": "storeRadius" < } < } < ] --- > "title": "matchingOverrides", > "type": "action", > "name": "matchingOverrides", > "parameters": { > "overrideName": "notification" > }, > "output": { > "list": "" > } 212c199 < "dialogType": "dialog.merchant.start", --- > "dialogType": "dialog.merchant.busy", 225c212,338 < "title": "sayToEntity", --- > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "resetLounging", > "type": "action", > "name": "resetLounging", > "parameters": {} > } > }, > { > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "greaterThan", > "type": "action", > "name": "greaterThan", > "parameters": { > "first": "storeRadius", > "second": 0 > } > } > }, > { > "title": "inRange", > "type": "action", > "name": "inRange", > "parameters": { > "position": "self", > "target": "spawn", > "range": "storeRadius" > } > } > ] > }, > { > "title": "sayToEntity", > "type": "action", > "name": "sayToEntity", > "parameters": { > "dialogType": "dialog.merchant.start", > "entity": "customer" > } > } > ] > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "sayToEntity", > "type": "action", > "name": "sayToEntity", > "parameters": { > "dialogType": "dialog.merchant.follow", > "entity": "customer" > } > }, > { > "title": "succeeder", > "type": "decorator", > "name": "succeeder", > "parameters": {}, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "", > "type": "module", > "name": "Tenant - Return Home", > "parameters": {} > }, > { > "title": "entityInRange", > "type": "action", > "name": "entityInRange", > "parameters": { > "entity": "customer", > "range": "storeRadius", > "position": "self" > } > }, > { > "title": "sayToEntity", > "type": "action", > "name": "sayToEntity", > "parameters": { > "dialogType": "dialog.merchant.welcome", > "entity": "customer" > } > } > ] > } > } > ] > } > ] > }, > { > "title": "entityInRange", 227c340,350 < "name": "sayToEntity", --- > "name": "entityInRange", > "parameters": { > "entity": "customer", > "range": 6, > "position": "self" > } > }, > { > "title": "", > "type": "action", > "name": "faceEntity", 229d351 < "dialogType": "dialog.merchant.follow", 239c361 < "title": "sequence", --- > "title": "parallel", 241,242c363,367 < "name": "sequence", < "parameters": {}, --- > "name": "parallel", > "parameters": { > "fail": 1, > "success": -1 > }, 245,247c370,372 < "title": "", < "type": "module", < "name": "Tenant - Return Home", --- > "title": "runner", > "type": "action", > "name": "runner", 251,258c376,399 < "title": "entityInRange", < "type": "action", < "name": "entityInRange", < "parameters": { < "entity": "customer", < "range": "storeRadius", < "position": "self" < } --- > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "entityInRange", > "type": "action", > "name": "entityInRange", > "parameters": { > "entity": "customer", > "range": 6, > "position": "self" > } > }, > { > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 1 > } > } > ] 261,267c402,421 < "title": "sayToEntity", < "type": "action", < "name": "sayToEntity", < "parameters": { < "dialogType": "dialog.merchant.welcome", < "entity": "customer" < } --- > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "", > "type": "action", > "name": "faceEntity", > "parameters": { > "entity": "customer" > } > }, > { > "title": "enableTrading", > "type": "action", > "name": "enableTrading", > "parameters": {} > } > ] 270a425,433 > }, > { > "title": "sayToEntity", > "type": "action", > "name": "sayToEntity", > "parameters": { > "dialogType": "dialog.merchant.end", > "entity": "customer" > } 275,372d437 < }, < { < "title": "entityInRange", < "type": "action", < "name": "entityInRange", < "parameters": { < "entity": "customer", < "range": 6, < "position": "self" < } < }, < { < "title": "", < "type": "action", < "name": "faceEntity", < "parameters": { < "entity": "customer" < } < }, < { < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "parallel", < "type": "composite", < "name": "parallel", < "parameters": { < "fail": 1, < "success": -1 < }, < "children": [ < { < "title": "runner", < "type": "action", < "name": "runner", < "parameters": {} < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "title": "entityInRange", < "type": "action", < "name": "entityInRange", < "parameters": { < "entity": "customer", < "range": 6, < "position": "self" < } < }, < { < "title": "timer", < "type": "action", < "name": "timer", < "parameters": { < "time": 1 < } < } < ] < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "title": "", < "type": "action", < "name": "faceEntity", < "parameters": { < "entity": "customer" < } < }, < { < "title": "enableTrading", < "type": "action", < "name": "enableTrading", < "parameters": {} < } < ] < } < ] < } < }, < { < "title": "sayToEntity", < "type": "action", < "name": "sayToEntity", < "parameters": { < "dialogType": "dialog.merchant.end", < "entity": "customer" < } 483,495c548,587 < "title": "sayToEntity", < "type": "action", < "name": "sayToEntity", < "parameters": { < "dialogType": "dialog.merchant.tout", < "entity": "customer" < } < }, < { < "title": "", < "type": "module", < "name": "Tenant - Return Home", < "parameters": {} --- > "title": "selector", > "type": "composite", > "name": "selector", > "parameters": {}, > "children": [ > { > "title": "matchingOverrides", > "type": "action", > "name": "matchingOverrides", > "parameters": { > "overrideName": "notification" > }, > "output": { > "list": "" > } > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "title": "sayToEntity", > "type": "action", > "name": "sayToEntity", > "parameters": { > "dialogType": "dialog.merchant.tout", > "entity": "customer" > } > }, > { > "title": "", > "type": "module", > "name": "Tenant - Return Home", > "parameters": {} > } > ] > } > ] biomes\atmosphere\atmosphere.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "sky1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "sky2" ], < "extraSpawns" : [ ] < } < ], < biomes\space\asteroids.biome 5,15d4 < "spawnProfiles" : [ < // { < // "groups" : [ "asteroid1" ], < // "extraSpawns" : [ ] < // }, < // { < // "groups" : [ "asteroid2" ], < // "extraSpawns" : [ ] < // } < ], < biomes\surface\alien.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 8c8 < "select" : 3, --- > "select" : 2, 17,18c17 < [ 0.1111, "scaveran" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "scaveran" ] 50d48 < biomes\surface\arctic.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 15,16c15 < [ 0.1429, "monopus" ], < [ 0.1429, "generatedGround" ] --- > [ 0.1429, "monopus" ] 56c55 < "skyOptions" : [ --- > "skyOptions" : [ biomes\surface\arcticoceanfloor.biome 5,11c5,20 < "spawnProfiles" : [ < { < "groups" : [ "oceanfloor" ], < "extraSpawns" : [ "charfishcritter", "narfishcritter", "arcticfishcritter" ], < "colors" : "arctic" < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 7, > "pool" : [ > [ 1, "smallFishOcean1" ], > [ 1, "smallFishOcean2" ], > [ 1, "passiveLargeFish" ], > [ 1, "aggroLargeFish" ], > [ 1, "charfishcritter" ], > [ 1, "narfishcritter" ], > [ 1, "arcticfishcritter" ] > ] > } > ] > }, biomes\surface\asteroidfield.biome 6,16d5 < < "spawnProfiles" : [ < { < "groups" : [ "asteroid1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "asteroid2" ], < "extraSpawns" : [ ] < } < ], 28d16 < biomes\surface\desert.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 17,18c17 < [ 0.111, "bobot" ], < [ 0.111, "generatedGround" ] --- > [ 0.111, "bobot" ] 48,64d46 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ "sunskipper", "goldbuck", "armadillo", "mousecritter", "groopcritter", "ravencritter", "wurmcritter" ], < "monsterParameters" : { < "colors" : "desert" < } < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ "sunskipper", "sandclown", "armadillo", "mousecritter", "groopcritter", "ravencritter", "wurmcritter" ], < "monsterParameters" : { < "colors" : "desert" < } < } < ], biomes\surface\forest.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 17,18c17 < [ 0.111, "spookit" ], < [ 0.111, "generatedGround" ] --- > [ 0.111, "spookit" ] 52d50 < biomes\surface\jungle.biome 7c7 < "spawnProfile" : { --- > "spawnProfile" : { 19,20c19 < [ 0.1111, "scaveran" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "scaveran" ] 58c57 < // hue shift options --- > // hue shift options 68c67 < { --- > { biomes\surface\magma.biome 7c7 < "spawnProfile" : { --- > "spawnProfile" : { 10c10 < "select" : 3, --- > "select" : 2, 19,20c19 < [ 0.1111, "peblit" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "peblit" ] 38,45c37,43 < "statusSettings" : { < "stats" : { < "lavaImmunity" : { < "baseValue" : 1.0 < }, < "fireImmunity" : { < "baseValue" : 1.0 < } --- > "statusSettings" : { > "stats" : { > "lavaImmunity" : { > "baseValue" : 1.0 > }, > "fireImmunity" : { > "baseValue" : 1.0 47a46 > } 50d48 < biomes\surface\magmaoceanfloor.biome 5,24d4 < "spawnProfiles" : [ < { < "groups" : [ "oceanfloor" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "magma", < "statusSettings" : { < "stats" : { < "lavaImmunity" : { < "baseValue" : 1.0 < }, < "fireImmunity" : { < "baseValue" : 1.0 < } < } < } < } < } < ], < biomes\surface\midnight.biome 7,8c7 < < "spawnProfile" : { --- > "spawnProfile" : { 11c10 < "select" : 3, --- > "select" : 2, 20,21c19 < [ 0.1111, "scaveran" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "scaveran" ] 55,71d52 < < "spawnProfiles" : [ < { < "groups" : [ "hardsurface1" ], < "extraSpawns" : [ "phoenixfly", "heathugger", "darkwormcritter", "darkballcritter", "darkoneeyecritter", "darkthreeeyescritter", "bigwormcritter", "skywurmcritter", "krawlcritter", "darknessscabcritter", "dartcritter" ], < "monsterParameters" : { < "colors" : "ice" < } < }, < { < "groups" : [ "hardsurface2" ], < "extraSpawns" : [ "phoenixfly", "glowbug", "darkwormcritter", "darkballcritter", "darkoneeyecritter", "darkthreeeyescritter", "bigwormcritter", "skywurmcritter", "krawlcritter", "darknessscabcritter", "dartcritter" ], < "monsterParameters" : { < "colors" : "ice" < } < } < ], biomes\surface\ocean.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 14,15c14 < [ 0.1666, "crabcano" ], < [ 0.1666, "generatedGround" ] --- > [ 0.1666, "crabcano" ] biomes\surface\oceanfloor.biome 5,10c5,16 < "spawnProfiles" : [ < { < "groups" : [ "oceanfloor" ], < "extraSpawns" : [ "squidcritter", "jellycritter" ], < "monsterParameters" : { < "colors" : "ocean" --- > "spawnProfile" : { > "groups" : [ > { > "select" : 6, > "pool" : [ > [ 1, "smallFishOcean1" ], > [ 1, "smallFishOcean2" ], > [ 1, "passiveLargeFish" ], > [ 1, "aggroLargeFish" ], > [ 1, "squidcritter" ], > [ 1, "jellycritter" ] > ] 12,13c18,19 < } < ], --- > ] > }, biomes\surface\oceanmission.biome 5,21d4 < "spawnProfiles" : [ < { < "groups" : [ "oceansurface1" ], < "extraSpawns" : [ "tidefly", "seahornet" ], < "monsterParameters" : { < "colors" : "ocean" < } < }, < { < "groups" : [ "oceansurface2" ], < "extraSpawns" : [ "tidefly", "wavebird" ], < "monsterParameters" : { < "colors" : "ocean" < } < } < ], < biomes\surface\savannah.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 17,18c17 < [ 0.1111, "batong" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "batong" ] 59c58 < "skyOptions" : [ --- > "skyOptions" : [ biomes\surface\scorched.biome 7,8c7 < < "spawnProfile" : { --- > "spawnProfile" : { 11c10 < "select" : 3, --- > "select" : 2, 20,21c19 < [ 0.1111, "peblit" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "peblit" ] 41d38 < biomes\surface\snow.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 17,18c17 < [ 0.1111, "bobot" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "bobot" ] 49d47 < 58c56 < "skyOptions" : [ --- > "skyOptions" : [ biomes\surface\tentacles.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "hardsurface1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "hardsurface2" ], < "extraSpawns" : [ ] < } < ], < biomes\surface\toxic.biome 7c7 < "spawnProfile" : { --- > "spawnProfile" : { 10c10 < "select" : 3, --- > "select" : 2, 19,20c19 < [ 0.1111, "snaunt" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "snaunt" ] 47,51c46,49 < "statusSettings" : { < "stats" : { < "poisonImmunity" : { < "baseValue" : 1.0 < } --- > "statusSettings" : { > "stats" : { > "poisonImmunity" : { > "baseValue" : 1.0 53a52 > } biomes\surface\toxicoceanfloor.biome 5,15c5,26 < "spawnProfiles" : [ < { < "groups" : [ "oceanfloor" ], < "extraSpawns" : [ "poisonfishcritter", "skellyfishcritter", "pufferfishcritter", "jellocritter" ], < "monsterParameters" : { < "colors" : "toxic", < "statusSettings" : { < "stats" : { < "poisonImmunity" : { < "baseValue" : 1.0 < } --- > "spawnProfile" : { > "groups" : [ > { > "select" : 8, > "pool" : [ > [ 1, "smallFishOcean1" ], > [ 1, "smallFishOcean2" ], > [ 1, "passiveLargeFish" ], > [ 1, "aggroLargeFish" ], > [ 1, "poisonfishcritter" ], > [ 1, "skellyfishcritter" ], > [ 1, "pufferfishcritter" ], > [ 1, "jellocritter" ] > ] > } > ], > "monsterParameters" : { > "colors" : "toxic", > "statusSettings" : { > "stats" : { > "poisonImmunity" : { > "baseValue" : 1.0 20c31 < ], --- > }, biomes\surface\tundra.biome 7c7 < "spawnProfile" : { --- > "spawnProfile" : { 19,20c19 < [ 0.1111, "bobot" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "bobot" ] 64c63 < "skyOptions" : [ --- > "skyOptions" : [ biomes\surface\volcanic.biome 7,8c7 < < "spawnProfile" : { --- > "spawnProfile" : { 20,21c19 < [ 0.1111, "peblit" ], < [ 0.1111, "generatedGround" ] --- > [ 0.1111, "peblit" ] 40,46c38,43 < "stats" : { < "lavaImmunity" : { < "baseValue" : 1.0 < }, < "fireImmunity" : { < "baseValue" : 1.0 < } --- > "stats" : { > "lavaImmunity" : { > "baseValue" : 1.0 > }, > "fireImmunity" : { > "baseValue" : 1.0 48a46 > } biomes\surface_detached\alpine.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 28,44d27 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ "cliffcritter", "wintercritter", "yeticritter", "redbreastcritter" ], < "monsterParameters" : { < "colors" : "snow" < } < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ "cliffcritter", "wintercritter", "yeticritter", "redbreastcritter" ], < "monsterParameters" : { < "colors" : "snow" < } < } < ], biomes\surface_detached\bones.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 30,46d29 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ "vulturecritter", "apexscabcritter", "avianscabcritter", "floranscabcritter", "humanscabcritter", "glitchscabcritter", "penguinscabcritter" ], < "monsterParameters" : { < "colors" : "savannah" < } < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ "vulturecritter", "apexscabcritter", "avianscabcritter", "floranscabcritter", "humanscabcritter", "glitchscabcritter", "penguinscabcritter" ], < "monsterParameters" : { < "colors" : "savannah" < } < } < ], biomes\surface_detached\colourful.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 28,38d27 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ "dustmoth", "dewhopper", "bowbirdcritter", "sluggreencritter", "slugbluecritter", "slugcritter", "leafscabcritter" ] < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ "dustmoth", "muddancer", "bowbirdcritter", "sluggreencritter", "slugbluecritter", "slugcritter", "leafscabcritter" ] < } < ], biomes\surface_detached\crystalline.biome 4,20d3 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "volcanic" < } < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "volcanic" < } < } < ], biomes\surface_detached\hive.biome 5,21d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ "swarmcritter", "swarmflyingcritter", "rolypolycritter", "maggotcritter" ], < "monsterParameters" : { < "colors" : "snow" < } < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ "swarmcritter", "swarmflyingcritter", "rolypolycritter", "maggotcritter" ], < "monsterParameters" : { < "colors" : "snow" < } < } < ], < 22a6,25 > > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1, "orbide" ], > ] > }, > { > "select" : 4, > "pool" : [ > [ 1, "swarmcritter" ], > [ 1, "swarmflyingcritter" ], > [ 1, "rolypolycritter" ], > [ 1, "maggotcritter" ] > ] > } > ] > }, biomes\surface_detached\ice.biome 5,10c5,13 < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "ice" --- > "spawnProfile" : { > "groups" : [ > { > "select" : 3, > "pool" : [ > [ 1, "wisper" ], > [ 1, "pulpin" ], > [ 1, "lilodon" ] > ] 12,20c15,16 < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "ice" < } < } < ], --- > ] > }, biomes\surface_detached\oasis.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { biomes\surface_detached\prism.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 25d24 < biomes\surface_detached\rust.biome 4,10c4,12 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "scorched" --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1, "bobot" ], > [ 1, "scandroid" ] > ] 12,20c14,15 < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "scorched" < } < } < ], --- > ] > }, biomes\surface_detached\swamp.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { 26,31c26,30 < "monsterParameters" : { < "statusSettings" : { < "stats" : { < "poisonImmunity" : { < "baseValue" : 1.0 < } --- > "monsterParameters" : { > "statusSettings" : { > "stats" : { > "poisonImmunity" : { > "baseValue" : 1.0 34a34 > } 36d35 < biomes\surface_detached\tar.biome 5c5 < "spawnProfile" : { --- > "spawnProfile" : { biomes\surface_detached\old\charred\charred.biome 4,14d3 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ] < } < ], biomes\surface_detached\old\flowers\flowers.biome 4,14d3 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ] < } < ], biomes\surface_detached\old\rocky\rocky.biome 4,14d3 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ] < } < ], biomes\surface_detached\old\sandstone\sandstone.biome 4,14d3 < < "spawnProfiles" : [ < { < "groups" : [ "mediumsurface1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumsurface2" ], < "extraSpawns" : [ ] < } < ], biomes\underground\underground0a.biome 4,14c4,32 < < "spawnProfiles" : [ < { < "groups" : [ "easyunderground1" ], < "extraSpawns" : [ "hedgehogcritter", "snail", "tortoise", "mousecritter", "bunny" ] < }, < { < "groups" : [ "easyunderground2" ], < "extraSpawns" : [ "hedgehogcritter", "snail", "tortoise", "mousecritter", "bunny" ] < } < ], --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "gleap" ], > [ 1.0, "batong" ], > [ 1.0, "crustoise" ], > [ 1.0, "peblit" ], > [ 1.0, "bobfae" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 5, > "pool" : [ > [ 1, "hedgehogcritter" ], > [ 1, "snail" ], > [ 1, "tortoise" ], > [ 1, "mousecritter" ], > [ 1, "bunny" ] > ] > } > ] > }, biomes\underground\underground0b.biome 5,14c5,32 < "spawnProfiles" : [ < { < "groups" : [ "easyunderground1" ], < "extraSpawns" : [ "armadillo", "mousecritter", "groopcritter", "wurmcritter" ] < }, < { < "groups" : [ "easyunderground2" ], < "extraSpawns" : [ "armadillo", "mousecritter", "groopcritter", "wurmcritter" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "paratail" ], > [ 1.0, "snaggler" ], > [ 1.0, "tintic" ], > [ 1.0, "peblit" ], > [ 1.0, "voltip" ], > [ 1.0, "spookit" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 4, > "pool" : [ > [ 1, "armadillo" ], > [ 1, "mousecritter" ], > [ 1, "groopcritter" ], > [ 1, "wurmcritter" ] > ] > } > ] > }, biomes\underground\underground0c.biome 5,14c5,31 < "spawnProfiles" : [ < { < "groups" : [ "easyunderground1" ], < "extraSpawns" : [ "snakecritter", "frogpolecritter", "tinycrocodilecritter" ] < }, < { < "groups" : [ "easyunderground2" ], < "extraSpawns" : [ "snakecritter", "frogpolecritter", "tinycrocodilecritter" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "pulpin" ], > [ 1.0, "batong" ], > [ 1.0, "miasmop" ], > [ 1.0, "wisper" ], > [ 1.0, "lilodon" ], > [ 1.0, "snaunt" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 3, > "pool" : [ > [ 1, "snakecritter" ], > [ 1, "frogpolecritter" ], > [ 1, "tinycrocodilecritter" ] > ] > } > ] > }, biomes\underground\underground0d.biome 5,14c5,32 < "spawnProfiles" : [ < { < "groups" : [ "easyunderground1" ], < "extraSpawns" : [ "frog", "snakecritter", "frogpolecritter", "tinycrocodilecritter" ] < }, < { < "groups" : [ "easyunderground2" ], < "extraSpawns" : [ "frog", "snakecritter", "frogpolecritter", "tinycrocodilecritter" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "squeem" ], > [ 1.0, "snaunt" ], > [ 1.0, "oculob" ], > [ 1.0, "agrobat" ], > [ 1.0, "miasmop" ], > [ 1.0, "snaggler" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 4, > "pool" : [ > [ 1, "frog" ], > [ 1, "snakecritter" ], > [ 1, "frogpolecritter" ], > [ 1, "tinycrocodilecritter" ] > ] > } > ] > }, biomes\underground\underground1a.biome 5,14c5,18 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "wisper" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > } > ] > }, biomes\underground\underground1b.biome 5,14c5,29 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "frog" ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "frog" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "iguarmor" ], > [ 1.0, "crutter" ], > [ 1.0, "snaunt" ], > [ 1.0, "bobfae" ], > [ 1.0, "batong" ], > [ 1.0, "peblit" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 1, > "pool" : [ > [ 1, "frog" ] > ] > } > ] > }, biomes\underground\underground1c.biome 5,15c5,25 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "fireflyspawner2" ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "fireflyspawner2" ] < } < ], < --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "lumoth" ] > ] > }, > { > "select" : 2, > "pool" : "generatedGround" > }, > { > "select" : 1, > "pool" : [ > [ 1, "fireflyspawner2" ] > ] > } > ] > }, > biomes\underground\underground1d.biome 5,14c5,30 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "harecritter", "snakecritter", "tritrotscritter" ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "harecritter", "snakecritter", "tritrotscritter" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "snaggler" ], > [ 1.0, "crustoise" ], > [ 1.0, "peblit" ], > [ 1.0, "snaunt" ], > [ 1.0, "spookit" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 5, > "pool" : [ > [ 1, "harecritter" ], > [ 1, "snakecritter" ], > [ 1, "tritrotscritter" ] > ] > } > ] > }, biomes\underground\underground3a.biome 5,14c5,29 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "cliffcritter", "wintercritter", "yeticritter" ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "cliffcritter", "wintercritter", "yeticritter" ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "petricub" ], > [ 1.0, "crutter" ], > [ 1.0, "batong" ], > [ 1.0, "smoglin" ], > [ 1.0, "bobfae" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 2, > "pool" : [ > [ 1, "cliffcritter" ], > [ 1, "yeticritter" ] > ] > } > ] > }, biomes\underground\underground3b.biome 5,14c5,22 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "scandroid" ], > [ 1.0, "oculob" ], > [ 1.0, "fennix" ], > [ 1.0, "voltip" ], > [ 1.0, "crustoise" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > } > ] > }, biomes\underground\underground3c.biome 5,17c5,27 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "reasonablecritter", "crystaltortoisecritter", "snowymolecritter" ], < "monsterParameters" : { < "colors" : "ice" < } < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "reasonablecritter", "crystaltortoisecritter", "snowymolecritter" ], < "monsterParameters" : { < "colors" : "ice" --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "lilodon" ], > [ 1.0, "wisper" ], > [ 1.0, "pulpin" ], > [ 1.0, "skimbus" ], > [ 1.0, "petricub" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 3, > "pool" : [ > [ 1, "reasonablecritter" ], > [ 1, "crystaltortoisecritter" ], > [ 1, "snowymolecritter" ] > ] 18a29,31 > ], > "monsterParameters" : { > "colors" : "ice" 20c33 < ], --- > }, biomes\underground\underground3d.biome 5,14c5,22 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "wisper" ], > [ 1.0, "pyromantle" ], > [ 1.0, "ignome" ], > [ 1.0, "fennix" ], > [ 1.0, "pulpin" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > } > ] > }, 158c166 < "microdungeons" : [ "undergroundmicrodungeons" ] --- > "microdungeons" : [ "underground3dmicrodungeons" ] biomes\underground\underground5a.biome 5,14c5,22 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "crustoise" ], > [ 1.0, "tintic" ], > [ 1.0, "oculob" ], > [ 1.0, "spookit" ], > [ 1.0, "petricub" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > } > ] > }, biomes\underground\underground5b.biome 5,14c5,22 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "scandroid" ], > [ 1.0, "voltip" ], > [ 1.0, "bobot" ], > [ 1.0, "tintic" ], > [ 1.0, "lumoth" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > } > ] > }, biomes\underground\underground5c.biome 4,14c4,29 < < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ "frogpolecritter", "tinycrocodilecritter" ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ "frogpolecritter", "tinycrocodilecritter" ] < } < ], --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "gleap" ], > [ 1.0, "lilodon" ], > [ 1.0, "miasmop" ], > [ 1.0, "skimbus" ], > [ 1.0, "pulpin" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" > }, > { > "select" : 2, > "pool" : [ > [ 1, "frogpolecritter" ], > [ 1, "tinycrocodilecritter" ] > ] > } > ] > }, biomes\underground\underground5d.biome 5,20c5,20 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "colors" : "volcanic", < "statusSettings" : { < "stats" : { < "lavaImmunity" : { < "baseValue" : 1.0 < }, < "fireImmunity" : { < "baseValue" : 1.0 < } < } < } --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "crabcano" ], > [ 1.0, "pyromantle" ], > [ 1.0, "fennix" ], > [ 1.0, "ignome" ], > [ 1.0, "crustoise" ] > ] > }, > { > "select" : 1, > "pool" : "generatedGround" 22,25c22 < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ], --- > ], 39,40c36 < } < ], --- > }, biomes\underground_detached\bonecaves.biome 5,14c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "oogler" ] > ] > } > ] > }, biomes\underground_detached\cellcave.biome 5,16c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "statusSettings" : { < "stats" : { < "poisonImmunity" : { < "baseValue" : 1.0 < } < } < } --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "pulpin" ], > [ 1.0, "skimbus" ], > [ 1.0, "crutter" ] > ] 18,21c16 < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ], --- > ], 31,32c26 < } < ], --- > }, biomes\underground_detached\fleshcave.biome 5,14c5,15 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "hemogoblin" ] > ] > } > ] > }, biomes\underground_detached\icecaves.biome 5,15c5,16 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "wisper" ], > [ 1.0, "pulpin" ] > ] > } > ] > }, > biomes\underground_detached\luminouscaves.biome 5,16c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ], < "monsterParameters" : { < "statusSettings" : { < "stats" : { < "poisonImmunity" : { < "baseValue" : 1.0 < } < } < } --- > > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "miasmop" ], > [ 1.0, "snaggler" ], > [ 1.0, "squeem" ] > ] 18,21c16 < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ], --- > ], 31,32c26 < } < ], --- > }, biomes\underground_detached\minivillage.biome 5,14c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "bobot" ] > ] > } > ] > }, biomes\underground_detached\mushrooms.biome 5,14c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "sporgus" ] > ] > } > ] > }, biomes\underground_detached\slimecaves.biome 5,14c5,17 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "oculob" ], > [ 1.0, "agrobat" ], > [ 1.0, "miasmop" ] > ] > } > ] > }, > biomes\underground_detached\stonecaves.biome 5,14c5,16 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "crustoise" ], > [ 1.0, "peblit" ], > [ 1.0, "batong" ] > ] > } > ] > }, biomes\underground_detached\tarpit.biome 5,14c5,14 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 1, > "pool" : [ > [ 1.0, "taroni" ] > ] > } > ] > }, biomes\underground_detached\wilderness.biome 5,14c5,15 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], --- > "spawnProfile" : { > "groups" : [ > { > "select" : 2, > "pool" : [ > [ 1.0, "iguarmor" ], > [ 1.0, "crutter" ] > ] > } > ] > }, biomes\underground_detached\old\abandonedmines\abandonedmines.biome 4,15c4 < < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < --- > biomes\underground_detached\old\colorful\colorfulcave.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\crystalcave\crystalcave.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\heck\heck.biome 4,15c4 < < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < --- > biomes\underground_detached\old\hive\hiveold.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\shadowrealm\shadow.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\shroomcave\shroomcave.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\slime\slime.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\sulphur\sulphur.biome 5,15d4 < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < biomes\underground_detached\old\zen\zen.biome 4,15c4 < < "spawnProfiles" : [ < { < "groups" : [ "mediumunderground1" ], < "extraSpawns" : [ ] < }, < { < "groups" : [ "mediumunderground2" ], < "extraSpawns" : [ ] < } < ], < --- > dialog\merchant.config 113a114,120 > "merchantBusy" : { > "default" : { > "default" : [ > "I'm waiting for a delivery. Come back later if you want to trade." > ] > } > }, 676c683 < } \ No newline at end of file --- > } dialog\quest.config 346c346,382 < "Hey, this is an object. Could you put it in my house?" --- > "This gift would look good in my home. Can you place it in there for me?" > ] > }, > "human" : { > "default" : [ > "This gift would look good in my home. Can you place it in there for me?", > "What a nice gift! Could you place it in my home, so I can show it off?" > ] > }, > "apex" : { > "default" : [ > "This is a generous gift - perhaps it should be on display in my home?", > "This gift would be suited better on display in my home. Can you put it there for me?" > ] > }, > "avian" : { > "default" : [ > "What a delightful gift! Would you be able to place it in my home, so I can show it off?", > "What a nice gift! Would you be able to put it somewhere in my home?" > ] > }, > "floran" : { > "default" : [ > "Floran likesss gift! Can you put it in Floran's home pleassse?", > "Gift is perfect for Floran! Can you put it in Floran's home?" > ] > }, > "glitch" : { > "default" : [ > "Delighted. What a fitting gift! Perhaps you could place it in my home for me?", > "Appreciative. This gift is so nice, I should show it off. Could you place it in my home for me?" > ] > }, > "hylotl" : { > "default" : [ > "How kind of you to deliver this gift! Could you place it in my home for me?", > "You have brought a gift for me. Would you be able to place it somewhere in my home for me?" dungeons\microdungeons\underground\underground3c\underground3cmicrodungeons.dungeon 8c8 < "anchor" : [ "underground3c_open1", "underground3c_tunnelBackSlope1", "underground3c_tunnelForwardSlope1", "underground3c_tunnel1", "underground3c_tunnelWeakBackSlope1", "underground3c_tunnelWeakForwardSlope1" ], --- > "anchor" : [ "underground3c_open1", "underground3c_open2", "underground3c_tunnelBackSlope1", "underground3c_tunnelBackSlope2", "underground3c_tunnelForwardSlope1", "underground3c_tunnelForwardSlope2", "underground3c_tunnel1", "underground3c_tunnel2", "underground3c_tunnelWeakBackSlope1", "underground3c_tunnelWeakBackSlope2", "underground3c_tunnelWeakForwardSlope1", "underground3c_tunnelWeakForwardSlope2" ], 24a25,31 > "name" : "underground3c_open2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_open2.json" ] > }, > { 31a39,45 > "name" : "underground3c_tunnelBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_tunnelBackSlope2.json" ] > }, > { 38a53,59 > "name" : "underground3c_tunnelForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_tunnelForwardSlope2.json" ] > }, > { 45a67,73 > "name" : "underground3c_tunnel2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_tunnel2.json" ] > }, > { 52a81,87 > "name" : "underground3c_tunnelWeakBackSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_tunnelWeakBackSlope2.json" ] > }, > { 57a93,99 > }, > { > "name" : "underground3c_tunnelWeakForwardSlope2", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "underground3c_tunnelWeakForwardSlope2.json" ] dungeons\microdungeons\underground\underground3c\underground3c_open1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3c\underground3c_tunnel1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3c\underground3c_tunnelbackslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3c\underground3c_tunnelforwardslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakbackslope1.json [TMX file differences are left out for huge size.] dungeons\microdungeons\underground\underground3c\underground3c_tunnelweakforwardslope1.json [TMX file differences are left out for huge size.] items\active\weapons\ranged\pistol\npcpistol.activeitem 2c2 < "itemName" : "npccpistol", --- > "itemName" : "npcpistol", items\armors\biome\ethnicmask\ethnichead.head 19,20c19,20 < /* denim */ < { "ffca8a" : "cacdd0", "e0975c" : "8599ad", "a85636" : "627890", "6f2919" : "515a7f" }, --- > /* GREEN */ > { "ffca8a" : "b2e89d", "e0975c" : "51bd3b", "a85636" : "247824", "6f2919" : "144216" }, items\armors\decorative\costumes\betty\betty.chest 8c8 < "shortdescription" : "Armour and Scarf", --- > "shortdescription" : "Disguise Chestpiece", items\armors\decorative\costumes\betty\betty.head 8c8 < "shortdescription" : "Mask", --- > "shortdescription" : "Disguise Mask", items\armors\decorative\costumes\betty\betty.legs 8c8 < "shortdescription" : "Armoured Trousers", --- > "shortdescription" : "Disguise Pants", monsters\crawlers\crustoise\crustoise.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "crustoiseTreasure", "bow" : "crustoiseHunting" } ], monsters\crawlers\iguarmor\iguarmor.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "iguarmorTreasure", "bow" : "iguarmorHunting" } ], 79c79 < "windupState" : "windup", --- > "windupState" : "", monsters\crawlers\oculob\oculob.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "oculobTreasure", "bow" : "oculobHunting" } ], 131a132,134 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\crawlers\pulpin\pulpin.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "pulpinTreasure", "bow" : "pulpinHunting" } ], 152a153,155 > }, > "iceImmunity" : { > "baseValue" : 1.0 monsters\crawlers\snaggler\snaggler.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "snagglerTreasure", "bow" : "snagglerHunting" } ], monsters\crawlers\tintic\tintic.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "tinticTreasure", "bow" : "tinticHunting" } ], monsters\crawlers\triplod\triplod.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "triplodTreasure", "bow" : "triplodHunting" } ], 152a153,155 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\dungeon\chicken\behavior.lua 6c6,7 < "fleeState" --- > "fleeState", > "layState" 7a9 > 34a37 > 58c61,67 < return true, 1.0 --- > > if math.random(100) <= entity.configParameter("eggPercentageChancePerMove") then > self.state.pickState({eggtimer = 3.0}) > else > return true, 1.0 --idle then re-enter ? > end > 68,69c77,78 < if args.targetId == nil then return nil end < if self.state.stateDesc() == "fleeState" then return nil end --- > if args.targetId == nil then return nil end --if no target ide is passed in bang out > if self.state.stateDesc() == "fleeState" then return nil end --if we're already flkeeing, bang out 71c80 < return { --- > return { --return some parameters applicable to this state. 99c108,146 < end \ No newline at end of file --- > end > > > -------------------------------------------------------------------------------- > layState = {} > > function layState.enterWith(args) > if args.targetId ~= nil then return nil end --if a target id is passed in bang out > if args.eggtimer == nil then return nil end --if a timer is NOT passed in bang out > if self.state.stateDesc() == "layState" then return nil end --if we're already laying, bang out > > > return { > timer = args.eggtimer > } > end > > function layState.update(dt, stateData) > > > if stateData.timer > 0 then > entity.setAnimationState("movement", "lay") > stateData.timer = stateData.timer - dt > else > if entity.animationState("movement")=="idle" then > > --spawn an egg of some kind > local eggType = entity.configParameter("eggType") > > world.spawnItem(eggType, mcontroller.position(), 1) > > return true; --meaning pick new state > end > > entity.setAnimationState("movement", "egg") > end > > return false; > end monsters\dungeon\chicken\chicken.animation 28a29,43 > > "lay" : { > "frames" : 3, > "cycle" : 0.33, > "mode" : "loop" > }, > > "egg" : { > "frames" : 16, > "cycle" : 2.5, > "mode" : "transition", > "transition" : "idle" > }, > > 59a75,86 > "lay" : { > "properties" : { > "image" : ":lay." > } > }, > > "egg" : { > "properties" : { > "image" : ":egg." > } > }, > monsters\dungeon\chicken\chicken.monstertype 93c93,96 < "moveTimeRange" : [2.5, 5.0], --- > "moveTimeRange" : [5.0, 7.5], > > "eggPercentageChancePerMove" : 2, > "eggType" : "egg", monsters\dungeon\chicken\default.frames 8c8 < [ null, "idle.1", "idle.2", "idle.3", "idle.4", null, null, null, null ], --- > [ null, "idle.1", "idle.2", "idle.3", "idle.4", "lay.1", "lay.2", "lay.3", "lay.4" ], 11a12,30 > }, > > "aliases" : { > "egg.1" : "lay.1", > "egg.2" : "lay.2", > "egg.3" : "lay.1", > "egg.4" : "lay.2", > "egg.5" : "lay.1", > "egg.6" : "lay.2", > "egg.7" : "lay.1", > "egg.8" : "lay.2", > "egg.9" : "lay.1", > "egg.10" : "lay.2", > "egg.11" : "lay.1", > "egg.12" : "lay.2", > "egg.13" : "lay.1", > "egg.14" : "lay.4", > "egg.15" : "lay.2", > "egg.16" : "idle.1" monsters\dungeon\moontant\moontant.monstertype 11c11 < "dropPools" : [ "noMeatMonsterTreasure" ], --- > "dropPools" : [ "moontantTreasure" ], monsters\flyers\batong\batong.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "batongTreasure", "bow" : "batongHunting" } ], monsters\flyers\bobfae\bobfae.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "bobfaeTreasure", "bow" : "bobfaeHunting" } ], monsters\flyers\monopus\monopus.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "monopusTreasure", "bow" : "monopusHunting" } ], monsters\flyers\pteropod\pteropod.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "pteropodTreasure", "bow" : "pteropodHunting" } ], 148a149,151 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\flyers\scandroid\scandroid.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "scandroidTreasure", "bow" : "scandroidHunting" } ], 142c142 < "bodyMaterialKind" : "organic", --- > "bodyMaterialKind" : "robotic", 153c153 < "targetMaterialKind" : "organic" --- > "targetMaterialKind" : "robotic" monsters\ghosts\ignome\ignome.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "ignomeTreasure", "bow" : "ignomeHunting" } ], monsters\ghosts\lumoth\lumoth.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "lumothTreasure", "bow" : "lumothHunting" } ], 92c92 < "bodyMaterialKind" : "organic", --- > "bodyMaterialKind" : "robotic", 103c103 < "targetMaterialKind" : "organic" --- > "targetMaterialKind" : "robotic" 122a123,125 > }, > "electricImmunity" : { > "baseValue" : 1.0 monsters\ghosts\nautileech\nautileech.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "nautileechTreasure", "bow" : "nautileechHunting" } ], 113a114,116 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\ghosts\pyromantle\pyromantle.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "pyromantleTreasure", "bow" : "pyromantleHunting" } ], monsters\ghosts\skimbus\skimbus.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "skimbusTreasure", "bow" : "skimbusHunting" } ], monsters\ghosts\spookit\spookit.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "spookitTreasure", "bow" : "spookitHunting" } ], monsters\ghosts\squeem\squeem.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "squeemTreasure", "bow" : "squeemHunting" } ], monsters\ghosts\wisper\wisper.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "wisperTreasure", "bow" : "wisperHunting" } ], 149,151d148 < "fireImmunity" : { < "baseValue" : 1.0 < }, 153,158d149 < "baseValue" : 1.0 < }, < "electricImmunity" : { < "baseValue" : 1.0 < }, < "poisonImmunity" : { monsters\pets\petbehavior.lua 8c8 < ["itemdrop"] = petBehavior.reactToItemDrop, --- > ["itemDrop"] = petBehavior.reactToItemDrop, monsters\pets\actions\eataction.lua 13c13 < if not world.entityExists(args.eatTarget) or (entityType ~= "itemdrop" and entityType ~= "object") then --- > if not world.entityExists(args.eatTarget) or (entityType ~= "itemDrop" and entityType ~= "object") then 55c55 < if (targetType == "itemdrop" and eatAction.consumeItemDrop(stateData)) or --- > if (targetType == "itemDrop" and eatAction.consumeItemDrop(stateData)) or monsters\pets\actions\inspectaction.lua 54c54 < if stateData.targetType == "itemdrop" or (stateData.targetType == "object" and stateData.targetName == "foodbowl") then --- > if stateData.targetType == "itemDrop" or (stateData.targetType == "object" and stateData.targetName == "foodbowl") then 78c78 < elseif stateData.targetType == "itemdrop" then --- > elseif stateData.targetType == "itemDrop" then monsters\walkers\adultpoptop\adultpoptop.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "adultpoptopTreasure", "bow" : "adultpoptopHunting" } ], monsters\walkers\anglure\anglure.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "anglureTreasure", "bow" : "anglureHunting" } ], monsters\walkers\bobot\bobot.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "bobotTreasure", "bow" : "bobotHunting" } ], 130c130 < "bodyMaterialKind" : "organic", --- > "bodyMaterialKind" : "robotic", 141c141 < "targetMaterialKind" : "organic" --- > "targetMaterialKind" : "robotic" 160a161,163 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\walkers\bulbop\bulbop.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "bulbopTreasure", "bow" : "bulbopHunting" } ], monsters\walkers\capricoat\capricoat.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "capricoatTreasure", "bow" : "capricoatHunting" } ], 137a138,140 > }, > "iceImmunity" : { > "baseValue" : 1.0 monsters\walkers\crabcano\crabcano.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "crabcanoTreasure", "bow" : "crabcanoHunting" } ], monsters\walkers\crutter\crutter.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "crutterTreasure", "bow" : "crutterHunting" } ], 138a139,141 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\walkers\fennix\fennix.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "fennixTreasure", "bow" : "fennixHunting" } ], 147a148,150 > }, > "fireImmunity" : { > "baseValue" : 1.0 monsters\walkers\gleap\gleap.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "gleapTreasure", "bow" : "gleapHunting" } ], monsters\walkers\hemogoblinbutt\hemogoblinbutt.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "empty", "bow" : "hemogoblinHunting" } ], monsters\walkers\hemogoblinhead\hemogoblinhead.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "hemogoblinTreasure", "bow" : "empty" } ], monsters\walkers\hypnare\hypnare.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "hypnareTreasure", "bow" : "hypnareHunting" } ], monsters\walkers\kingnutmidgeling\kingnutmidgeling.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "nutmidgelingTreasure", "bow" : "nutmidgelingHunting" } ], monsters\walkers\lilodon\lilodon.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "lilodonTreasure", "bow" : "lilodonHunting" } ], monsters\walkers\mandraflora\mandraflora.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "mandrafloraTreasure", "bow" : "mandrafloraHunting" } ], monsters\walkers\miasmop\miasmop.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "miasmopTreasure", "bow" : "miasmopHunting" } ], 147a148,150 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\walkers\narfin\narfin.animation 17c17,20 < "frames" : 1 --- > "frames" : 1, > "properties" : { > "immediateSound" : "/sfx/npc/monsters/monster_hop.ogg" > } 30c33,39 < "mode" : "loop" --- > "mode" : "loop", > "properties" : { > "immediateSound" : "/sfx/npc/monsters/narfin_charge.ogg" > }, > "frameProperties" : { > "immediateSound" : [ "/sfx/npc/monsters/lilodon_step1.ogg", "", "", "", "/sfx/npc/monsters/lilodon_step2.ogg", "", "", "" ] > } monsters\walkers\narfin\narfin.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "narfinTreasure", "bow" : "narfinHunting" } ], 139a140,142 > }, > "iceImmunity" : { > "baseValue" : 1.0 monsters\walkers\oogler\oogler.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "ooglerTreasure", "bow" : "ooglerHunting" } ], monsters\walkers\orbide\orbide.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "orbideTreasure", "bow" : "orbideHunting" } ], 25c25 < "damage" : 8, --- > "damage" : 16, 76c76 < "baseValue" : 48 --- > "baseValue" : 85 monsters\walkers\peblit\peblit.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "peblitTreasure", "bow" : "peblitHunting" } ], monsters\walkers\petricub\petricub.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "petricubTreasure", "bow" : "petricubHunting" } ], monsters\walkers\pipkin\pipkin.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "pipkinTreasure", "bow" : "pipkinHunting" } ], monsters\walkers\poptop\poptop.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "poptopTreasure", "bow" : "poptopHunting" } ], monsters\walkers\quagmutt\quagmutt.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "quagmuttTreasure", "bow" : "quagmuttHunting" } ], monsters\walkers\ringram\ringram.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "ringramTreasure", "bow" : "ringramHunting" } ], monsters\walkers\scaveran\scaveran.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "scaveranTreasure", "bow" : "scaveranHunting" } ], monsters\walkers\smoglin\smoglin.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "smoglinTreasure", "bow" : "smoglinHunting" } ], 149a150,152 > }, > "fireImmunity" : { > "baseValue" : 1.0 monsters\walkers\snaunt\snaunt.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "snauntTreasure", "bow" : "snauntHunting" } ], 50a51,54 > "fireArc": true, > "projectileSpeed": 50, > "gravityMultiplier": 0.6, > 143a148,150 > }, > "poisonImmunity" : { > "baseValue" : 1.0 monsters\walkers\sporgus\sporgus.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "sporgusTreasure", "bow" : "sporgusHunting" } ], monsters\walkers\taroni\taroni.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "taroniTreasure", "bow" : "taroniHunting" } ], monsters\walkers\toumingo\toumingo.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "toumingoTreasure", "bow" : "toumingoHunting" } ], monsters\walkers\voltip\voltip.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "voltipTreasure", "bow" : "voltipHunting" } ], 149a150,152 > "baseValue" : 1.0 > }, > "poisonImmunity" : { monsters\walkers\yokat\yokat.monstertype 9c9 < "dropPools" : [ { "default" : "empty" } ], --- > "dropPools" : [ { "default" : "yokatTreasure", "bow" : "yokatHunting" } ], npcs\base.npctype 29c29,33 < "enableParticipation" : false --- > "enableParticipation" : false, > > // Controls the spawning of monsters and enemy NPCs in generated quests: > "spawnPointXDelta" : 40, > "spawnPointMaxYDelta" : 16 npcs\bmain.lua 133a134,138 > function participateInNewQuests() > local enabled = entity.configParameter("questGenerator.enableParticipation") > return enabled and not self.quest:isQuestGiver() > end > npcs\merchant.npctype 47a48 > "busy" : "/dialog/merchant.config:merchantBusy", npcs\mission\miner.npctype 169c169 < { "name" : "generatedsword", "parameters" : { "definition" : "npcmutantminerhammer" } } // TODO: replace old sword --- > "npchammer" objects\biome\dark\shadowchest\shadowchest.object 15,23c15,23 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "A creepy, dark treasure chest. Something bad might be inside.", > "avianDescription" : "A dark chest. I can't imagine good things are within.", > "floranDescription" : "A black treassure chest. I bet the besst things are inside.", > "glitchDescription" : "Nervous. This shadowy chest is creepy and I'd hesitate to open it.", > "humanDescription" : "Possibly the most ominous chest I've ever seen.", > "hylotlDescription" : "This chest appears to absorb all light in the vicinity.", > "novakidDescription" : "A chest as dark as the night sky.", > objects\biome\dark\shadowchimes\shadowchimes.object 13,21c13,21 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "This wind chime certainly creates an atmosphere.", > "avianDescription" : "A wind chime with a nice ring to it.", > "floranDescription" : "Wind blowss shadow chime to make nice sssounds.", > "glitchDescription" : "Pleased. This pleasant chime puts a spring in my step.", > "humanDescription" : "Something about this wind chime's chime gives me the creeps.", > "hylotlDescription" : "This eerie wind chime produces an ethereal sound.", > "novakidDescription" : "A sweet sounding wind chime.", > objects\biome\ocean\seashell1\seashell1.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell2\seashell2.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell3\seashell3.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell4\seashell4.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell5\seashell5.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell6\seashell6.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell7\seashell7.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\ocean\seashell8\seashell8.object 11,18c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "A capsule. Something is inside, I wonder what it is...", < "floranDescription" : "Sssmash it open! Get the goodiess insside!", < "glitchDescription" : "Destructive. Engage smashing.", < "humanDescription" : "I think there's something in there. I can probably break it open.", < "hylotlDescription" : "Sometimes force can yield rewards.", < */ --- > > "apexDescription" : "Seashells sometimes collect treasures inside.", > "avianDescription" : "Seashells are real treasures of nature.", > "floranDescription" : "Seashell sssmashable! What is inside?", > "glitchDescription" : "Sentimental. It seems a shame to smash a seashell.", > "humanDescription" : "This seashell was once home to an alien creature. Now it has pixels inside!", > "hylotlDescription" : "A seashell, the ocean's memento mori to us all.", > objects\biome\prism\prismrock1\prismrock1.object 12,17c12,17 < "apexDescription" : "A highly refractive prism.", < "avianDescription" : "A highly refractive prism.", < "floranDescription" : "ssshiny rock.", < "glitchDescription" : "Statement. A highly refractive prism.", < "humanDescription" : "A highly refractive prism", < "hylotlDescription" : "A highly refractive prism.", --- > "apexDescription" : "A small cluster of prismatic gemstones.", > "avianDescription" : "A few small prism rocks. Very pretty!", > "floranDescription" : "Colourful rockss.", > "glitchDescription" : "Impressed. These prisms occur naturally.", > "humanDescription" : "I'm all for rainbow rocks.", > "hylotlDescription" : "A gemstone which refracts light, the colours remind me of a tropical coral reef.", objects\biome\prism\prismrock2\prismrock2.object 12,17c12,17 < "apexDescription" : "A highly refractive prism.", < "avianDescription" : "A highly refractive prism.", < "floranDescription" : "ssshiny rock.", < "glitchDescription" : "Statement. A highly refractive prism.", < "humanDescription" : "A highly refractive prism", < "hylotlDescription" : "A highly refractive prism.", --- > "apexDescription" : "A small cluster of prismatic gemstones.", > "avianDescription" : "A few small prism rocks. Very pretty!", > "floranDescription" : "Colourful rockss.", > "glitchDescription" : "Impressed. These prisms occur naturally.", > "humanDescription" : "I'm all for rainbow rocks.", > "hylotlDescription" : "A gemstone which refracts light, the colours remind me of a tropical coral reef.", objects\biome\prism\prismrock3\prismrock3.object 12,17c12,17 < "apexDescription" : "A highly refractive prism.", < "avianDescription" : "A highly refractive prism.", < "floranDescription" : "ssshiny rock.", < "glitchDescription" : "Statement. A highly refractive prism.", < "humanDescription" : "A highly refractive prism", < "hylotlDescription" : "A highly refractive prism.", --- > "apexDescription" : "A small cluster of prismatic gemstones.", > "avianDescription" : "A few small prism rocks. Very pretty!", > "floranDescription" : "Colourful rockss.", > "glitchDescription" : "Impressed. These prisms occur naturally.", > "humanDescription" : "I'm all for rainbow rocks.", > "hylotlDescription" : "A gemstone which refracts light, the colours remind me of a tropical coral reef.", objects\biome\prism\prismrock4\prismrock4.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "Light is refracted as it passes through this prism.", > "avianDescription" : "This crystal refracts light into pretty patterns.", > "floranDescription" : "Colours burssst out of this rock. Makes Floran curious.", > "glitchDescription" : "Bewildered. I find these prism rocks to be quite mesmerising.", > "humanDescription" : "These rocks are responsible for the impressive light show.", > "hylotlDescription" : "Prisms are a true wonder of the natural world.", > objects\biome\prism\prismrock5\prismrock5.object 11,19c11,16 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > "apexDescription" : "Light is refracted as it passes through this prism.", > "avianDescription" : "This crystal refracts light into pretty patterns.", > "floranDescription" : "Colours burssst out of this rock. Makes Floran curious.", > "glitchDescription" : "Bewildered. I find these prism rocks to be quite mesmerising.", > "humanDescription" : "These rocks are responsible for the impressive light show.", > "hylotlDescription" : "Prisms are a true wonder of the natural world.", objects\biome\prism\prismrock6\prismrock6.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "Light is refracted as it passes through this prism.", > "avianDescription" : "This crystal refracts light into pretty patterns.", > "floranDescription" : "Colours burssst out of this rock. Makes Floran curious.", > "glitchDescription" : "Bewildered. I find these prism rocks to be quite mesmerising.", > "humanDescription" : "These rocks are responsible for the impressive light show.", > "hylotlDescription" : "Prisms are a true wonder of the natural world.", > objects\biome\prism\prismrock7\prismrock7.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "Light is refracted as it passes through this prism.", > "avianDescription" : "This crystal refracts light into pretty patterns.", > "floranDescription" : "Colours burssst out of this rock. Makes Floran curious.", > "glitchDescription" : "Bewildered. I find these prism rocks to be quite mesmerising.", > "humanDescription" : "These rocks are responsible for the impressive light show.", > "hylotlDescription" : "Prisms are a true wonder of the natural world.", > objects\biome\prism\prismrock8\prismrock8.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "Light is refracted as it passes through this prism.", > "avianDescription" : "This crystal refracts light into pretty patterns.", > "floranDescription" : "Colours burssst out of this rock. Makes Floran curious.", > "glitchDescription" : "Bewildered. I find these prism rocks to be quite mesmerising.", > "humanDescription" : "These rocks are responsible for the impressive light show.", > "hylotlDescription" : "Prisms are a true wonder of the natural world.", > objects\biome\prism\prismrockhumanoid\prismrockhumanoid.object 11,19c11,16 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > "apexDescription" : "There appears to be a humanoid figure inside this crystal.", > "avianDescription" : "Someone, or something, is trapped inside this prism.", > "floranDescription" : "What is inssside? Is it alive?", > "glitchDescription" : "Horrified. There appears to be a person inside this prism.", > "humanDescription" : "There's someone inside. It's a prism prison!", > "hylotlDescription" : "An ominous dark shape resides within this crystal.", objects\biome\prism\prismrockpenguin\prismrockpenguin.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "Is that a penguin?", > "avianDescription" : "There's a penguin encased in this crystal.", > "floranDescription" : "Rock has something inside! Floran wantsss to smash rock!", > "glitchDescription" : "Puzzled. How could a penguin possibly be inside this prism?", > "humanDescription" : "A petrified penguin.", > "hylotlDescription" : "A penguin in a prism. Where does one begin to unravel this mystery?", > objects\biome\prism\prismrockrunes\prismrockrunes.object 11,19c11,18 < /* < "apexDescription" : "-todo-", < "avianDescription" : "-todo-", < "floranDescription" : "-todo-", < "glitchDescription" : "-todo-", < "humanDescription" : "-todo-", < "hylotlDescription" : "-todo-", < "novakidDescription" : "-todo-", < */ --- > > "apexDescription" : "This prism appears to have runes carved into it.", > "avianDescription" : "There are runes on this prism.", > "floranDescription" : "Someone has sscratched runes into this rock.", > "glitchDescription" : "Curious. This prism has runes carved into it.", > "humanDescription" : "I wonder why there are runes on this crystal.", > "hylotlDescription" : "This prism has rather mysterious ancient runes carved into it.", > objects\biome\rainbowwood\rainbowwoodchair\rainbowwoodchair.object 12,17c12,18 < "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" : "This door is created from rainbow wood.", > "novakidDescription" : "What a happy looking door.", objects\biome\rainbowwood\rainbowwoodsafe\rainbowwoodsafe.object 15,20c15,21 < "apexDescription" : "todo", < "avianDescription" : "todo", < "floranDescription" : "todo", < "glitchDescription" : "todo", < "humanDescription" : "todo", < "hylotlDescription" : "todo", --- > "apexDescription" : "A bright red chest for keeping belongings in.", > "avianDescription" : "This chest is very red. It seems to demand attention.", > "floranDescription" : "Floran wants to look inssside red chest.", > "glitchDescription" : "Curious. What could a brightly coloured chest like this contain?", > "humanDescription" : "This red chest looks alarming... or exciting?", > "hylotlDescription" : "A well crafted chest made from a colourful wood.", > "novakidDescription" : "This wooden chest looks fun.", objects\biome\toxicplains\toxicchest\toxicchest.object 17c17 < "floranDescription" : "Chesst sssmell toxic .", --- > "floranDescription" : "Chesst sssmell toxic.", 20c20 < "hylotlDescription" : "A grotesque chest..", --- > "hylotlDescription" : "A grotesque chest...", objects\generic\steelchair\steelchair.object 6c6 < "shortdescription" : "Steel Chair", --- > "shortdescription" : "Folding Chair", projectiles\npcs\snauntspit\snauntspit.projectile 15a16 > "speed" : 50, quests\generated\guard.config 74a75,80 > "positionSearch" : { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "awayFromNpc" : "target", > "spawnPointXDelta" : 40 > }, quests\generated\normal.config 4a5 > [0.3, "themed_build"], 57a59,63 > "positionSearch" : { > "rectWidth" : 4.0, > "rectHeight" : 4.0, > "spawnPointXDelta" : 40 > }, 76a83 > ["!isObject", "item"], 219a227,241 > ["likes", "newNpc", "questGiver"] > ] > }, > > "themed_build" : { > "templateId" : "themed_build.generated", > "difficulty" : 1.0, > "participants" : { > }, > > "preconditions" : [ > ["buildingTheme", "tag"], > ["unbornNpc", "newNpc"] > ], > "postconditions" : [ quests\generated\pools\hatadjectives.config 4,9c4,49 < ["funny", "bananahead"], < ["smart", "ironavianhelmethead"], < ["suave", "bananahead"], < ["hip", "bananahead"], < ["cool", "bananahead"], < ["strong", "bananahead"] --- > ["friendly", "winterscarfhead"], > ["cool", "caphead"], > ["intelligent", "glasses1head"], > ["adorable", "kathoodhead"], > ["dashing", "fedorahead"], > ["lovely", "floppyhathead"], > ["outgoing", "fancaphead"], > ["stylish", "coolshadeshead"], > ["clever", "scientisthead"], > ["adventurous", "swamphat"], > ["authoritative", "captainshead"], > ["sensible", "ushankahead"], > ["protected", "copperarmorhead"], > ["prepared", "pilothead"], > ["fresh", "reedhead"], > ["appealling", "hawaiianhead"], > ["exciting", "featherhead"], > ["fun", "gnomecaphead"], > ["mysterious", "plainhoodhead"], > ["dignified", "glasses2head"], > ["fancy", "ladyhathead"], > ["old fashioned", "phrygiancaphead"], > ["squishy", "mushroomhead"], > ["wise", "glasses3eyes"], > ["striking", "t2helm1"], > ["retro", "m1helmethead"], > ["alert", "medicdemohead"], > ["professional", "goldarmorhead"], > ["dramatic", "silverarmorhead"], > ["exciting", "ironavianhelmethead"], > ["fearsome", "tigerhead"], > ["enigmatic", "bettyhead"], > ["heroic", "herocaphead"], > ["chivalrous", "knighthead"], > ["ancient", "thehrodgardhead"], > ["gallant", "plumeknighthead"], > ["fierce", "vikinghead"], > ["strong", "gladiatorhead"], > ["intimidating", "ethnichead"], > ["creepy", "humanskullhead"], > ["creepy", "floranskullhead"], > ["unnerving", "goathead"], > ["vicious", "vicioushead"], > ["reliable", "deepdiverhead"], > ["scary", "insidioushead"], > ["powerful", "diamondarmorhead"] quests\generated\pools\hatrecipes.config 3,4c3,88 < ["bananahead", [ < { "name" : "banana", "count" : 1 } --- > ["winterscarfhead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["caphead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["glasses1head", [ > { "name" : "glassmaterial", "count" : 2 } > ]], > ["kathoodhead", [ > { "name" : "fabric", "count" : 5 } > ]], > ["fedorahead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["floppyhathead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["fancaphead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["coolshadeshead", [ > { "name" : "glassmaterial", "count" : 2 } > ]], > ["scientisthead", [ > { "name" : "glassmaterial", "count" : 2 } > ]], > ["swamphat", [ > { "name" : "fabric", "count" : 5 } > ]], > ["captainshead", [ > { "name" : "fabric", "count" : 5 } > ]], > ["ushankahead", [ > { "name" : "fabric", "count" : 5 } > ]], > ["copperarmorhead", [ > { "name" : "copperbar", "count" : 2 } > ]], > ["pilothead", [ > { "name" : "leather", "count" : 2 } > ]], > ["reedhead", [ > { "name" : "plantfibre", "count" : 3 } > ]], > ["hawaiianhead", [ > { "name" : "petalred", "count" : 3 } > ]], > ["featherhead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["gnomecaphead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["plainhoodhead", [ > { "name" : "fabric", "count" : 3 } > ]], > ["glasses2head", [ > { "name" : "fabric", "count" : 1 } > ]], > ["ladyhathead", [ > { "name" : "fabric", "count" : 4 } > ]], > ["phrygiancaphead", [ > { "name" : "fabric", "count" : 4 } > ]], > ["mushroomhead", [ > { "name" : "shroom", "count" : 12 } > ]], > ["glasses3eyes", [ > { "name" : "glassmaterial", "count" : 3 } > ]], > ["t2helm1", [ > { "name" : "steelbar", "count" : 2 } > ]], > ["m1helmethead", [ > { "name" : "ironbar", "count" : 2 } > ]], > ["medicdemohead", [ > { "name" : "ironbar", "count" : 2 } > ]], > ["goldarmorhead", [ > { "name" : "goldbar", "count" : 1 } > ]], > ["silverarmorhead", [ > { "name" : "silverbar", "count" : 1 } 6a91,96 > { "name" : "copperbar", "count" : 2 } > ]], > ["tigerhead", [ > { "name" : "fabric", "count" : 6 } > ]], > ["bettyhead", [ 7a98,139 > ]], > ["herocaphead", [ > { "name" : "fabric", "count" : 4 } > ]], > ["knighthead", [ > { "name" : "ironbar", "count" : 4 } > ]], > ["thehrodgardhead", [ > { "name" : "cobblestonematerial", "count" : 20 } > ]], > ["plumeknighthead", [ > { "name" : "ironbar", "count" : 5 } > ]], > ["vikinghead", [ > { "name" : "ironbar", "count" : 4 } > ]], > ["gladiatorhead", [ > { "name" : "copperbar", "count" : 2 } > ]], > ["ethnichead", [ > { "name" : "darkwoodmaterial", "count" : 8 } > ]], > ["humanskullhead", [ > { "name" : "bone", "count" : 6 } > ]], > ["floranskullhead", [ > { "name" : "bone", "count" : 6 } > ]], > ["goathead", [ > { "name" : "bone", "count" : 12 } > ]], > ["vicioushead", [ > { "name" : "fabric", "count" : 6 } > ]], > ["deepdiverhead", [ > { "name" : "ironbar", "count" : 2 } > ]], > ["insidioushead", [ > { "name" : "darkwoodmaterial", "count" : 4 } > ]], > ["diamondarmorhead", [ > { "name" : "diamond", "count" : 1 } quests\generated\pools\pools.config 57a58,61 > }, > "buildingTheme" : { > "base" : "ItemPoolRelation", > "poolFile" : "/quests/generated/pools/buildingthemes.config" quests\generated\pools\specieshats.config 4,9c4,36 < ["human", "bananahead"], < ["avian", "ironavianhelmethead"], < ["apex", "bananahead"], < ["floran", "bananahead"], < ["hylotl", "bananahead"], < ["novakid", "bananahead"] --- > ["human", "winterscarfhead"], > ["human", "caphead"], > ["human", "glasses1head"], > ["human", "kathoodhead"], > ["human", "fedorahead"], > ["human", "floppyhathead"], > ["human", "fancaphead"], > ["human", "coolshadeshead"], > ["human", "scientisthead"], > ["human", "swamphat"], > > ["apex", "winterscarfhead"], > ["apex", "captainshead"], > ["apex", "ushankahead"], > ["apex", "scientisthead"], > ["apex", "copperarmorhead"], > ["apex", "pilothead"], > > ["avian", "reedhead"], > ["avian", "hawaiianhead"], > ["avian", "featherhead"], > > ["glitch", "gnomecaphead"], > ["glitch", "plainhoodhead"], > ["glitch", "glasses2head"], > ["glitch", "ladyhathead"], > ["glitch", "phrygiancaphead"], > > ["floran", "mushroomhead"], > ["floran", "hawaiianhead"], > > ["hylotl", "glasses3eyes"], > ["hylotl", "winterscarfhead"] quests\generated\pools\specieshelmets.config 4c4,12 < ["human", "ironavianhelmethead"], --- > ["human", "t2helm1"], > ["human", "m1helmethead"], > ["human", "medicdemohead"], > > ["apex", "m1helmethead"], > ["apex", "medicdemohead"], > ["apex", "goldarmorhead"], > ["apex", "silverarmorhead"], > 6,9c14,32 < ["apex", "ironavianhelmethead"], < ["floran", "ironavianhelmethead"], < ["hylotl", "ironavianhelmethead"], < ["novakid", "ironavianhelmethead"] --- > ["avian", "tigerhead"], > ["avian", "bettyhead"], > > ["glitch", "herocaphead"], > ["glitch", "knighthead"], > ["glitch", "thehrodgardhead"], > ["glitch", "plumeknighthead"], > ["glitch", "vikinghead"], > > ["floran", "gladiatorhead"], > ["floran", "ethnichead"], > ["floran", "humanskullhead"], > ["floran", "floranskullhead"], > ["floran", "goathead"], > ["floran", "vicioushead"], > > ["hylotl", "deepdiverhead"], > ["hylotl", "insidioushead"], > ["hylotl", "diamondarmorhead"] quests\generated\templates\build_home.questtemplate 53c53 < "The last thing is to ^green;place ^orange;^green; inside a house.^white; I'll let you handle the construction since I'm not much of a builder. Remember to ^green;place a ^orange;Colony Deed^white; to announce the unit's available to rent!" --- > "The last thing is to ^green;place ^orange;^green; inside a house.^white; I'll let you handle the construction since I'm not much of a builder. Remember to ^green;place a ^orange;Colony Deed^white; to announce the unit is available to rent!" quests\generated\templates\fetch_dungeon.questtemplate 38c38 < "First off, ^green;we'll need to grab ^orange;. I hear ^orange; are the place to look." --- > "First off, ^green;we'll need to grab ^orange;.^white; I hear ^orange;^white; are the place to look." quests\generated\templates\gift.questtemplate 59c59 < "Who wouldn't love a new ^orange;? I hope ^orange;^white; appreciates all the hard work I had you do for this! ^green;Could you deliver it to them?" --- > "Who wouldn't love a new ^orange;?^white; I hope ^orange;^white; appreciates all the hard work I had you do for this! ^green;Could you deliver it to them?" quests\generated\templates\hat.questtemplate 38c38,40 < "'s designer headgear" --- > "'s new headwear", > " wants to look ", > "Help look " 43c45,46 < "^cyan;I want a new hat to make me look . Will you help me?" --- > "^cyan;I want to wear something that makes me look . Will you help me?", > "^cyan;I want to look , and have a plan to make it happen." 49c52,53 < "Next run over and have ^orange;^white; assemble us a custom ^orange;hat.^white; Just ^green;mention my name, and give them our ^orange;^white;." --- > "Finally, run over and have ^orange;^white; assemble us some custom ^orange;headwear.^white; Just ^green;mention my name, and give them our ^orange;^white;.", > "Now all that's left is to ask ^orange;^white; to make my custom headwear. ^green;Give them our ^orange;^white; and they can craft it for me!" 56c60,61 < "What do you think? Does my make me look ?" --- > "Thank you! What do you think? Don't I look now?", > "Thanks! How do I look? Suitably , I'm sure." 62c67,68 < "I was unable to help get a new hat. I like how looks without it better." --- > "I was unable to help get something new to wear. They look fine as they are anyway.", > "I didn't help find something to wear. I prefer their look as it is." quests\generated\templates\helmet.questtemplate 38c38 < "'s designer headgear" --- > "'s need to stand out" 43c43 < "^cyan;I want a new helmet to make me look . Will you help me?" --- > "^cyan;I want to stand out as a guard! Will you help me find something that makes me look ?" 56c56 < "What do you think? Does my make me look ?" --- > "What do you think? Does looking make me stand out more?" 62c62 < "I was unable to help get a new helmet. I like how looks without it better." --- > "I was unable to help get something new to wear. I like how looks without it better." scripts\actions\movement.lua 35c35,37 < function move(args, output) --- > move = BTNode:new() > actions["move"] = move > function move.new(args, output) 37c39 < direction = "direction", --- > direction = 1, 39a42,60 > local newNode = { > args = args > } > setmetatable(newNode, extend(move)) > return newNode > end > function move.fromJson(node) > return move.new(node.parameters, node.output) > end > function move:run() > if not self.taskHandle then > self.taskHandle = addWorker(function() > local bounds = mcontroller.boundBox() > local collisionPoly = mcontroller.collisionPoly() > while true do > local run = self.args.run > if entity.configParameter("pathing.forceWalkingBackwards", false) then > if run == true then run = mcontroller.movingDirection() == mcontroller.facingDirection() end > end 41,45c62,64 < while true do < local run = args.run < if entity.configParameter("pathing.forceWalkingBackwards", false) then < if run == true then run = mcontroller.movingDirection() == mcontroller.facingDirection() end < end --- > local direction = BData:getNumber(self.args.direction) > if direction == nil then return false end > local position = vec2.add(mcontroller.position(), {direction, 0}) 47,65c66,88 < local direction = BData:getNumber(args.direction) < if direction == nil then return false end < local position = vec2.add(mcontroller.position(), {direction, 0}) < if direction > 0 then < position[1] = math.ceil(position[1]) < else < position[1] = math.floor(position[1]) < end < < local groundPosition = findGroundPosition(position, -1, 1, true, {"Null", "Block", "Dynamic"}) < if groundPosition then < mcontroller.controlMove(direction, args.run) < if not self.setFacingDirection then controlFace(direction) end < args.dt = coroutine.yield("running").dt < else < mcontroller.setXVelocity(0) < mcontroller.clearControls() < return false < end --- > local groundRect = {bounds[1] - 0.2, bounds[2] - 1.0, bounds[3] + 0.2, bounds[2]} > local move = false > for _,yDir in pairs({0, -1, 1}) do > local newPos = {position[1], position[2] + yDir} > if world.rectTileCollision(rect.translate(groundRect, newPos), {"Null", "Block", "Dynamic", "Platform"}) > and not world.polyCollision(poly.translate(collisionPoly, newPos)) then > move = true > break > end > end > > if move then > mcontroller.controlMove(direction, self.args.run) > if not self.setFacingDirection then controlFace(direction) end > else > mcontroller.setXVelocity(0) > mcontroller.clearControls() > return false > end > > coroutine.yield("running") > end > end) 68c91,97 < return false --- > return self.taskHandle() > end > function move:reset() > if self.taskHandle then > removeWorker(self.taskHandle) > self.taskHandle = nil > end scripts\quest\manager.lua 302a303,304 > > self:stopOffering() 331c333 < self:stopOffering(entity.configParameter("quest.restartCooldown", 30)) --- > self:stopOffering() scripts\quest\participant.lua 123a124,134 > function QuestParticipant:isQuestGiver() > if #entity.configParameter("offeredQuests", jarray()) > 0 then > return true > end > for _,role in pairs(self.data.roles) do > if role.offerQuest then > return true > end > end > end > scripts\quest\manager\spawn_assassins.lua 8c8 < function SpawnEntities:participantDied(participant, respawner) --- > function SpawnAssassins:participantDied(participant, respawner) scripts\quest\manager\spawn_entities.lua 1a2,3 > require("/scripts/spawnPoint.lua") > require("/scripts/vec2.lua") 65,78c67 < function SpawnEntities:spawnUnique() < local position = nil < if self.config.positionParam then < local positionParam = self.questParameters[self.config.positionParam] < if positionParam and positionParam.uniqueId then < position = world.findUniqueEntity(positionParam.uniqueId) < end < if positionParam and positionParam.location then < position = randomPositionInPoly(positionParam.location, self.config.spawnOffset) < end < end < if not position then < error("Quest manager: unable to spawn enemy - no valid position") < end --- > function SpawnEntities:spawnUnique(position) 121a111,142 > function SpawnEntities:spawnPosition() > if self.config.positionSearch then > local position = world.entityPosition(entity.id()) > local radius = self.config.positionSearch.radius or 50 > local npcs = world.npcQuery(position, radius) > local options = self.config.positionSearch > if options.awayFromNpc and type(options.awayFromNpc) == "string" then > local npcParam = self.questParameters[options.awayFromNpc] > options.awayFromNpc = nil > if npcParam.uniqueId then > options.awayFromNpc = world.loadUniqueEntity(npcParam.uniqueId) > end > end > local positions = findSpawnPoint(position, options.rectWidth, options.rectHeight, npcs, options) > if #positions > 0 then > return vec2.add(positions[math.random(#positions)], self.config.spawnOffset) > end > end > > if self.config.positionParam then > local positionParam = self.questParameters[self.config.positionParam] > if positionParam and positionParam.uniqueId then > return world.findUniqueEntity(positionParam.uniqueId) > end > if positionParam and positionParam.location then > return randomPositionInPoly(positionParam.location, self.config.spawnOffset) > end > end > > error("Quest manager: unable to spawn enemy - no valid position") > end > 127a149 > local position = self:spawnPosition() 129c151 < local uniqueId, entityId = self:spawnUnique() --- > local uniqueId, entityId = self:spawnUnique(position) scripts\questgen\context.lua 0a1,2 > require("/scripts/spawnPoint.lua") > 25,48d26 < local function makeSpawnRect(x, y, rectWidth, rectHeight) < assert(rectWidth and rectHeight) < return {x-rectWidth/2, y, x+rectWidth/2, y+rectHeight} < end < < local function canSpawnAt(x, y, rectWidth, rectHeight) < local collidesHere = world.rectTileCollision(makeSpawnRect(x, y, rectWidth, rectHeight), {"Block", "Null"}) < local collidesBelow = world.rectTileCollision(makeSpawnRect(x, y-1, rectWidth, rectHeight), {"Block", "Null", "Platform", "Dynamic"}) < return not collidesHere and collidesBelow < end < < local function findSpawnPointNear(x, approximateY, rectWidth, rectHeight) < local maxTries = entity.configParameter("questGenerator.spawnPointMaxYDelta", 16) < for dy = 0, maxTries do < if canSpawnAt(x, approximateY+dy, rectWidth, rectHeight) then < return {x, approximateY+dy} < end < if canSpawnAt(x, approximateY-dy, rectWidth, rectHeight) then < return {x, approximateY-dy} < end < end < return nil < end < 55,70c33,36 < local npcs = self:entitiesByType()["npc"] < local minDistance = 0 < local maxDistance = 0 < local minPosition = nil < local maxPosition = nil < for _,npc in pairs(npcs) do < local diff = world.distance(npc:position(), self._queryPosition) < if diff[1] < minDistance then < minDistance = diff[1] < minPosition = npc:position() < end < if diff[1] > maxDistance then < maxDistance = diff[1] < maxPosition = npc:position() < end < end --- > local npcs = util.map(self:entitiesByType()["npc"], function (npc) > return npc:entityId() > end) > local options = entity.configParameter("questGenerator") 72c38 < local spawnDistance = entity.configParameter("questGenerator.spawnPointXDelta", 10) --- > local results = findSpawnPoint(self._queryPosition, rectWidth, rectHeight, npcs, options) 74,86d39 < local results = {} < if minPosition then < local spawnPoint = findSpawnPointNear(minPosition[1] - spawnDistance, minPosition[2], rectWidth, rectHeight) < if spawnPoint then < results[#results+1] = spawnPoint < end < end < if maxPosition then < local spawnPoint = findSpawnPointNear(maxPosition[1] + spawnDistance, maxPosition[2], rectWidth, rectHeight) < if spawnPoint then < results[#results+1] = spawnPoint < end < end 101c54 < return not world.callScriptedEntity(entityId, "entity.configParameter", "questGenerator.enableParticipation") --- > return not world.callScriptedEntity(entityId, "participateInNewQuests") spawntypes\uniques.spawntypes 219c219 < "region" : "exposed", --- > "region" : "all", 266c266 < { --- > { 284c284 < { --- > { 302c302 < { --- > { 323c323 < "region" : "exposed", --- > "region" : "all", 336c336 < { --- > { 351a352,369 > // HIVE > > { > "name" : "orbide", > > "spawnParameters" : { > "area" : "surface", > "region" : "all", > "time" : "all" > }, > "groupSize" : [1, 1], > "targetDensity" : 0.15, > "monsterType" : "orbide", > "monsterParameters" : { > "aggressive" : true > } > }, > 354c372 < { --- > { 370c388 < { --- > { 386c404 < { --- > { 402c420 < { --- > { 418c436 < { --- > { 434c452 < { --- > { 450c468 < { --- > { 466c484 < { --- > { 482c500 < { --- > { 498c516 < { --- > { 514c532 < { --- > { 535c553 < "region" : "exposed", --- > "region" : "all", 546c564 < { --- > { 562c580 < { --- > { 583c601 < "region" : "exposed", --- > "region" : "all", 594c612 < { --- > { 610c628 < { --- > { 626c644 < { --- > { 647c665 < "region" : "exposed", --- > "region" : "all", 658c676 < { --- > { 679c697 < "region" : "exposed", --- > "region" : "all", 695c713 < "region" : "exposed", --- > "region" : "all", 706c724 < { --- > { 727c745 < "region" : "exposed", --- > "region" : "all", 743c761 < "region" : "exposed", --- > "region" : "all", 754c772 < { --- > { 770c788 < { --- > { 791c809 < "region" : "exposed", --- > "region" : "all", 802c820 < { --- > { 823c841 < "region" : "exposed", --- > "region" : "all", treasure\common.treasurepools 410c410 < {"weight" : 0.05, "pool" : "uniqueMelee"}, --- > // {"weight" : 0.05, "pool" : "uniqueMelee"}, 499,501c499 < {"weight" : 0.7, "item" : "commonrocketlauncher"}, < {"weight" : 1.0, "item" : [ "generatedgun", 1, { "definition" : "revolver" } ]}, // TODO: replace old gun < {"weight" : 1.0, "item" : [ "generatedgun", 1, { "definition" : "crossbow" } ]} // TODO: replace old gun --- > {"weight" : 0.7, "item" : "commonrocketlauncher"} 521,522c519 < {"weight" : 0.7, "item" : "uncommonrocketlauncher"}, < {"weight" : 1.0, "item" : [ "generatedgun", 1, { "definition" : "crossbowspecial" } ]} // TODO: replace old gun --- > {"weight" : 0.7, "item" : "uncommonrocketlauncher"} 837a835 > {"weight" : 0.0003, "item" : [ "featherhead", 1]}, treasure\dungeon.treasurepools 63,64c63 < {"weight" : 0.025, "item" : "uncommonpistol" }, < {"weight" : 0.025, "item" : [ "generatedsword", 1, { "definition" : "bonesaw" } ]} // TODO: replace old sword --- > {"weight" : 0.025, "item" : "uncommonpistol" } treasure\hunting.treasurepools 5,6c5,6 < {"weight" : 0.8, "item" : [ "alienmeat" ]}, < {"weight" : 0.2, "item" : [ "leather" ]} --- > {"weight" : 0.8, "item" : "alienmeat"}, > {"weight" : 0.2, "item" : "leather"} 13,15c13,15 < {"weight" : 0.4, "item" : [ "alienmeat" ]}, < {"weight" : 0.4, "item" : [ "rawribmeat" ]}, < {"weight" : 0.2, "item" : [ "leather" ]} --- > {"weight" : 0.4, "item" : "alienmeat"}, > {"weight" : 0.4, "item" : "rawribmeat"}, > {"weight" : 0.2, "item" : "leather"} 22c22 < {"weight" : 1.0, "item" : [ "rawpoultry" ]} --- > {"weight" : 1.0, "item" : "rawpoultry"} 24a25,621 > ], > > // UNIQUE MONSTERS > > "adultpoptopHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "anglureHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "staticcell"} > ] > } ] > ], > > "batongHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "rawpoultry"}, > {"weight" : 0.15, "item" : "leather"} > ] > } ] > ], > > "bobfaeHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "hardenedcarapace"} > ] > } ] > ], > > "bobotHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "bulbopHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "capricoatHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.075, "item" : "sharpenedclaw"}, > {"weight" : 0.075, "item" : "leather"} > ] > } ] > ], > > "crabcanoHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.075, "item" : "scorchedcore"}, > {"weight" : 0.075, "item" : "hardenedcarapace"} > ] > } ] > ], > > "crustoiseHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "crutterHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "venomsample"} > ] > } ] > ], > > "fennixHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.075, "item" : "scorchedcore"}, > {"weight" : 0.075, "item" : "sharpenedclaw"} > ] > } ] > ], > > "gleapHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "pool" : "basicMonsterTreasure"} > ] > } ] > ], > > "hemogoblinHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "rawribmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "hypnareHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "ignomeHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.5, "item" : "scorchedcore"}, > {"weight" : 0.5, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "iguarmorHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "hardenedcarapace"} > ] > } ] > ], > > "lilodonHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "lumothHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.5, "item" : "staticcell"}, > {"weight" : 0.5, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "mandrafloraHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "miasmopHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.5, "item" : "venomsample"}, > {"weight" : 0.5, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "monopusHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "hardenedcarapace"} > ] > } ] > ], > > "narfinHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "cryonicextract"} > ] > } ] > ], > > "nautileechHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "nutmidgelingHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "oculobHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "ooglerHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "orbideHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "peblitHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "petricubHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "pipkinHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "poptopHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "pteropodHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "venomsample"} > ] > } ] > ], > > "pulpinHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "cryonicextract"} > ] > } ] > ], > > "pyromantleHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "scorchedcore"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "quagmuttHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "venomsample"} > ] > } ] > ], > > "ringramHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "leather"} > ] > } ] > ], > > "scandroidHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.0, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "scaveranHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "rawpoultry"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "scorchionHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "scorchedcore"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "skimbusHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.5, "item" : "cryonicextract"}, > {"weight" : 0.5, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "smoglinHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "scorchedcore"} > ] > } ] > ], > > "snagglerHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "venomsample"} > ] > } ] > ], > > "snauntHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.075, "item" : "venomsample"}, > {"weight" : 0.075, "item" : "hardenedcarapace"} > ] > } ] > ], > > "spookitHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "sporgusHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "squeemHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "phasematter"} > ] > } ] > ], > > "taroniHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "leather"} > ] > } ] > ], > > "tinticHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "toumingoHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "rawpoultry"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ] > } ] > ], > > "trictusHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "livingroot"} > ] > } ] > ], > > "triplodHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "voltipHunting" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "item" : "staticcell"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "wisperHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.5, "item" : "cryonicextract"}, > {"weight" : 0.5, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.8, 0], > [0.2, 1] > ], > "allowDuplication" : false > } ] > ], > > "yokatHunting" : [ > [1, { > "pool" : [ > {"weight" : 0.85, "item" : "alienmeat"}, > {"weight" : 0.15, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] treasure\monster.treasurepools 17,31d16 < }], < [1.9, { < "pool" : [ < {"weight" : 0.63, "pool" : "money"}, < {"weight" : 0.10, "item" : "alienmeat"}, < {"weight" : 0.06, "pool" : "upgradeComponentTreasure"}, < {"weight" : 0.10, "item" : "cellmateria"}, < {"weight" : 0.10, "item" : "monsterplating"}, < {"weight" : 0.01, "pool" : "basicTreasure"} < ], < "poolRounds" : [ < [0.20, 0], < [0.80, 1] < ], < "allowDuplication" : false 38,39c23,24 < {"weight" : 0.96, "pool" : "money"}, < {"weight" : 0.03, "pool" : "upgradeComponentTreasure"}, --- > {"weight" : 0.93, "pool" : "money"}, > {"weight" : 0.06, "pool" : "upgradeComponentTreasure"}, 84,86c69,72 < {"weight" : 0.84, "pool" : "money"}, < {"weight" : 0.06, "pool" : "upgradeComponentTreasure"}, < {"weight" : 0.10, "item" : "wire"} --- > {"weight" : 0.85, "pool" : "money"}, > {"weight" : 0.04, "pool" : "upgradeComponentTreasure"}, > {"weight" : 0.10, "item" : "wire"}, > {"weight" : 0.01, "pool" : "basicTreasure"} 96c82 < {"weight" : 0.64, "pool" : "money"}, --- > {"weight" : 0.63, "pool" : "money"}, 100c86,87 < {"weight" : 0.10, "item" : "circuitboard"} --- > {"weight" : 0.10, "item" : "circuitboard"}, > {"weight" : 0.01, "pool" : "basicTreasure"} 110c97 < {"weight" : 0.49, "pool" : "money"}, --- > {"weight" : 0.48, "pool" : "money"}, 114c101,102 < {"weight" : 0.15, "item" : "circuitboard"} --- > {"weight" : 0.15, "item" : "circuitboard"}, > {"weight" : 0.01, "pool" : "basicTreasure"} 194a183,197 > "moontantTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "money"}, > {"weight" : 0.03, "pool" : "upgradeComponentTreasure"}, > {"weight" : 0.01, "pool" : "basicTreasure"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > 223a227,992 > }] > ], > > // UNIQUE MONSTER DROPS > > "adultpoptopTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "anglureTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "staticcell"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "batongTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "flyingMonsterTreasure"}, > {"weight" : 0.04, "item" : "leather"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "bobfaeTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "bobotTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "robotTreasure"}, > {"weight" : 0.04, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "bulbopTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "capricoatTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.02, "item" : "sharpenedclaw"}, > {"weight" : 0.02, "item" : "leather"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "crabcanoTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.02, "item" : "scorchedcore"}, > {"weight" : 0.02, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "crustoiseTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "crutterTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "fennixTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.02, "item" : "scorchedcore"}, > {"weight" : 0.02, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "gleapTreasure" : [ > [1, { > "pool" : [ > {"weight" : 1.00, "pool" : "basicMonsterTreasure"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "hemogoblinTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "hypnareTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "ignomeTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.02, "item" : "scorchedcore"}, > {"weight" : 0.02, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "iguarmorTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "lilodonTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "lumothTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "robotTreasure"}, > {"weight" : 0.02, "item" : "staticcell"}, > {"weight" : 0.02, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "mandrafloraTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "miasmopTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.02, "item" : "venomsample"}, > {"weight" : 0.02, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "monopusTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "narfinTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "cryonicextract"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "nautileechTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "nutmidgelingTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "oculobTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "ooglerTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "orbideTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "peblitTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "petricubTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "pipkinTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "poptopTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "pteropodTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "pulpinTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "cryonicextract"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "pyromantleTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "scorchedcore"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "quagmuttTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "ringramTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "leather"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "scandroidTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "robotTreasure"}, > {"weight" : 0.04, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "scaveranTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "flyingMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "scorchionTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "scorchedcore"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "skimbusTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.02, "item" : "cryonicextract"}, > {"weight" : 0.02, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "smoglinTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "scorchedcore"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "snagglerTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "snauntTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.02, "item" : "venomsample"}, > {"weight" : 0.02, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "spookitTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "sporgusTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "venomsample"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "squeemTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "taroniTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "leather"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "tinticTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "hardenedcarapace"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "toumingoTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "flyingMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "trictusTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "livingroot"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "triplodTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "robotTreasure"}, > {"weight" : 0.04, "item" : "stickofram"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "voltipTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.04, "item" : "staticcell"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "wisperTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "noMeatMonsterTreasure"}, > {"weight" : 0.02, "item" : "cryonicextract"}, > {"weight" : 0.02, "item" : "phasematter"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false > }] > ], > > "yokatTreasure" : [ > [1, { > "pool" : [ > {"weight" : 0.96, "pool" : "basicMonsterTreasure"}, > {"weight" : 0.04, "item" : "sharpenedclaw"} > ], > "poolRounds" : [ > [0.20, 0], > [0.80, 1] > ], > "allowDuplication" : false treasure\npc.treasurepools 148,149c148,149 < {"weight" : 0.32, "pool" : "healingItem"}, < {"weight" : 0.03, "item" : [ "generatedsword", 1, { "definition" : "shiv" } ]} // TODO: replace old sword --- > {"weight" : 0.30, "pool" : "healingItem"}, > {"weight" : 0.05, "item" : "commondagger"} 163,176c163 < {"weight" : 0.03, "item" : [ "generatedgun", 1, { "definition" : "uzi" } ]} // TODO: replace old gun < ], < "poolRounds" : [ < [0.8, 1], < [0.2, 2] < ] < }] < ], < < "floranwildhuntertreasure" : [ < [1, { < "pool" : [ < {"weight" : 0.95, "pool" : "money"}, < {"weight" : 0.05, "item" : [ "generatedgun", 1, { "definition" : "floranneedler" } ]} // TODO: replace old gun --- > {"weight" : 0.03, "item" : "commonmachinepistol" } 190,192c177 < {"weight" : 0.05, "item" : [ "hivebomb", 2 ]}, < {"weight" : 0.05, "item" : [ "generatedgun", 1, { "definition" : "floranneedler" } ]}, // TODO: replace old gun < {"weight" : 0.05, "item" : [ "generatedsword", 1, { "definition" : "floranmace" } ]} // TODO: replace old sword --- > {"weight" : 0.05, "item" : [ "hivebomb", 2 ]} 204,209c189,190 < {"weight" : 0.90, "pool" : "guardtreasure"}, < {"weight" : 0.03, "item" : "commonlargeshield"}, < {"weight" : 0.02, "item" : [ "generatedsword", 1, { "definition" : "glitchsmallmace" } ]}, // TODO: replace old sword < {"weight" : 0.02, "item" : [ "generatedsword", 1, { "definition" : "glitchlargemace" } ]}, // TODO: replace old sword < {"weight" : 0.02, "item" : [ "generatedgun", 1, { "definition" : "crossbow" } ]}, // TODO: replace old gun < {"weight" : 0.01, "item" : [ "generatedgun", 1, { "definition" : "crossbowspecial" } ]} // TODO: replace old gun --- > {"weight" : 0.95, "pool" : "guardtreasure"}, > {"weight" : 0.05, "item" : "commonlargeshield"}