FILES ----- [NEW] animations\frozendust2\frozendust2.animation [NEW] animations\frozendust2\frozendust2.frames [NEW] animations\frozendust2\frozendust2.png [NEW] animations\statuseffects\frozen\frozen.animation [NEW] animations\statuseffects\frozen\frozen.frames [NEW] animations\statuseffects\frozen\frozen.png [NEW] animations\statuseffects\frozen2\frozen2.animation [NEW] animations\statuseffects\frozen2\frozen2.frames [NEW] animations\statuseffects\frozen2\frozen2.png [NEW] animations\statuseffects\poison\poisonshort.animation [NEW] effects\iceswoosh.effectsource [NEW] effects\largeiceswoosh.effectsource [NEW] effects\largepoisonswoosh.effectsource [NEW] effects\poisonswoosh.effectsource [NEW] interface\chests\chest1.config items\swords\randomgenerated\newuncommonaxe.generatedsword items\swords\randomgenerated\newuncommondagger.generatedsword items\swords\randomgenerated\newuncommonhammer.generatedsword items\swords\randomgenerated\newuncommononehandedsword.generatedsword items\swords\randomgenerated\newuncommonspear.generatedsword items\swords\randomgenerated\newuncommontwohandedsword.generatedsword monsters\pets\groundpet.lua monsters\pets\actions\eataction.lua monsters\pets\actions\inspectaction.lua monsters\pets\cat\catbehavior.lua monsters\pets\cat\petcat.animation monsters\pets\cat\petcat.frames monsters\pets\cat\petcat.monstertype monsters\pets\petball\petball.lua monsters\pets\petball\petball.monstertype [NEW] objects\apex\classicchest\classicchest.frames [NEW] objects\apex\classicchest\classicchest.object [NEW] objects\apex\classicchest\classicchest.png [NEW] objects\apex\classicchest\classicchesticon.png objects\avian\avianstoragelocker\avianstoragelocker.object objects\floran\florangiantpod\giantfloranpod.object objects\floran\floranlamp1\floranlamp1.object objects\floran\floranlight\floranlight.object objects\floran\floranopenpod1\floranopenpod1.object objects\floran\floranopenpod2\floranopenpod2.object objects\floran\floranpainting1\floranpainting1.object objects\floran\floranpainting2\floranpainting2.object objects\floran\floranpainting4\floranpainting4.object objects\floran\floranpainting5\floranpainting5.object objects\floran\floranpelt1\floranpelt1.object objects\floran\floranpelt2\floranpelt2.object objects\floran\floranpelt3\floranpelt3.object objects\floran\floranpelt4\floranpelt4.object objects\floran\floranpelt5\floranpelt5.object objects\floran\floranpod1\floranpod1.object objects\floran\floranpod2\floranpod2.object objects\floran\floranpod3\floranpod3.object objects\floran\floranpodapex\floranpodapex.object objects\floran\floranscreen1\floranscreen1.object objects\floran\floranscreen2\floranscreen2.object objects\floran\floranshelf\floranshelf.object objects\floran\floransmalltable\floransmalltable.object objects\floran\floranstoragelocker\floranstoragelocker.object objects\floran\floranstove\floranstove.object objects\floran\florantable1\florantable1.object objects\floran\florantable2\florantable2.object objects\floran\florantanningrack\florantanningrack.object objects\floran\florantoilet\florantoilet.object objects\floran\huntingbench\huntingbench.object objects\floran\huntingbigstatue\huntingbigstatue.object objects\floran\huntingdisplay1\huntingdisplay1.object objects\floran\huntingdisplay2\huntingdisplay2.object objects\floran\huntingdoor1\huntingdoor1.object objects\floran\huntinggroundtorch\huntinggroundtorch.object objects\floran\huntinglight1\huntinglight1.object objects\floran\huntinglight2\huntinglight2.object objects\floran\huntinglight3\huntinglight3.object objects\floran\huntingpike1\huntingpike1.object objects\floran\huntingpike2\huntingpike2.object objects\floran\huntingpike3\huntingpike3.object objects\floran\huntingplatform1\huntingplatform1.object objects\floran\huntingplatform2\huntingplatform2.object objects\floran\huntingplatformleaves\huntingplatformleaves.object objects\floran\huntingplatformrocks\huntingplatformrocks.object objects\floran\huntingpressureplate\huntingpressureplate.object objects\floran\huntingpunjisticks1\huntingpunjisticks1.object objects\floran\huntingpunjisticks2\huntingpunjisticks2.object objects\floran\huntingrail1\huntingrail1.object objects\floran\huntingrail2\huntingrail2.object objects\floran\huntingstatue\huntingstatue.object objects\floran\huntingweaponrack1\huntingweaponrack1.object objects\floran\huntingweaponrack2\huntingweaponrack2.object objects\floran\plantbed1\plantbed1.object objects\floran\plantbed2\plantbed2.object objects\floran\plantbed3\plantbed3.object objects\floran\plantbed4\plantbed4.object objects\floran\plantbed4\plantbed4cover.png objects\floran\plantbiolight\plantbiolight.object objects\floran\plantbrokencage\plantbrokencage.object objects\floran\plantcabinet1\plantcabinet1.object objects\floran\plantcabinet2\plantcabinet2.object objects\floran\plantcage1\plantcage1.object objects\floran\plantcage2\plantcage2.object objects\floran\plantcage3\plantcage3.object objects\floran\plantchair\plantchair.object objects\floran\plantdesklamp\plantdesklamp1.object objects\floran\plantdoor1\plantdoor1.object objects\floran\plantdoor2\plantdoor2.object objects\floran\plantdrysapdispenser\plantdrysapdispenser.object objects\floran\plantgeyser1\plantgeyser1.object objects\floran\plantgeyser2\plantgeyser2.object objects\floran\plantlog\plantlog.object objects\floran\plantorb\plantorb.object objects\floran\plantpanel\plantpanel.object objects\floran\plantplatform1\plantplatform1.object objects\floran\plantplatform2\plantplatform2.object objects\floran\plantrack\plantrack.object objects\floran\plantshelf\plantshelf.object objects\floran\planttorch\planttorch.object objects\floran\planttorturedevice\planttorturedevice.object objects\floran\planturn1\planturn1.object objects\floran\planturn2\planturn2.object objects\floran\planturn3\planturn3.object objects\floran\plantvinetable\plantvinetable.object objects\floran\plantvolcano1\plantvolcano1.object objects\floran\plantvolcano2\plantvolcano2.object objects\floran\plantvolcano3\plantvolcano3.object objects\floran\plantvolcano4\plantvolcano4.object objects\floran\plantvolcano5\plantvolcano5.object objects\gate\ancientconsole\ancientconsole.object objects\gate\ancientconsole\returnconsole.object objects\gate\ancientpillar\ancientpillar.object objects\generators\humangenerator\humangenerator.object objects\generators\referencegenerator\referencegenerator.object objects\generic\3dprinter\3dprinter.object objects\generic\apexdungeonpod\apexdungeonpod.object objects\generic\aviandungeonpod\aviandungeonpod.object objects\generic\butterflybush\butterflybush.object objects\generic\cultistaltar\cultistaltar.object objects\generic\dungeonpod\dungeonpod.object objects\generic\fireflybush\fireflybush.object objects\generic\florandungeonpod\florandungeonpod.object [NEW] objects\generic\foodbowl\foodbowl.frames [NEW] objects\generic\foodbowl\foodbowl.object [NEW] objects\generic\foodbowl\foodbowl.png objects\generic\fossilpod\fossilpod.object objects\generic\frogmerchant\frogmerchant.object objects\generic\glitchdungeonpod\glitchdungeonpod.object objects\generic\invisiblelight\invisiblelight.object objects\generic\invisiblesparker\invisiblesparker.object objects\generic\molemerchant\molemerchant.object [NEW] objects\generic\pin\bowlingpin.frames [NEW] objects\generic\pin\bowlingpin.object [NEW] objects\generic\pin\bowlingpin.png [NEW] objects\generic\pin\bowlingpinicon.png objects\generic\randomfountain\randomfountain.object objects\generic\statuspod\statuspod.object particles\fireswoosh2.particle particles\fireswoosh4.particle [NEW] particles\iceswoosh1.particle [NEW] particles\iceswoosh2.particle [NEW] particles\iceswoosh3.particle [NEW] particles\iceswoosh4.particle particles\largefireswoosh2.particle particles\largefireswoosh4.particle [NEW] particles\largeiceswoosh1.particle [NEW] particles\largeiceswoosh2.particle [NEW] particles\largeiceswoosh3.particle [NEW] particles\largeiceswoosh4.particle [NEW] particles\largepoisonswoosh1.particle [NEW] particles\largepoisonswoosh2.particle [NEW] particles\poisonswoosh1.particle [NEW] particles\poisonswoosh2.particle [NEW] particles\poisonswoosh3.particle [NEW] particles\poisonswoosh4.particle projectiles\swoosh\axe\electricaxe\electricaxe.png [NEW] projectiles\swoosh\axe\iceaxe\iceaxe.frames [NEW] projectiles\swoosh\axe\iceaxe\iceaxe.png [NEW] projectiles\swoosh\axe\iceaxe\iceaxe.projectile projectiles\swoosh\axe\poisonaxe\poisonaxe.projectile projectiles\swoosh\broadsword\electricbroadswordswoosh\electricbroadswordswoosh.png [NEW] projectiles\swoosh\broadsword\icebroadswordswoosh\icebroadswordswoosh.frames [NEW] projectiles\swoosh\broadsword\icebroadswordswoosh\icebroadswordswoosh.png [NEW] projectiles\swoosh\broadsword\icebroadswordswoosh\icebroadswordswoosh.projectile [NEW] projectiles\swoosh\broadsword\icebroadswordswoosh\icon.png projectiles\swoosh\broadsword\poisonbroadswordswoosh\poisonbroadswordswoosh.projectile projectiles\swoosh\dagger\electricdagger\electricdagger.png [NEW] projectiles\swoosh\dagger\icedagger\icedagger.frames [NEW] projectiles\swoosh\dagger\icedagger\icedagger.png [NEW] projectiles\swoosh\dagger\icedagger\icedagger.projectile projectiles\swoosh\dagger\poisondagger\poisondagger.projectile projectiles\swoosh\hammer\electrichammer\electrichammer.png [NEW] projectiles\swoosh\hammer\icehammer\icehammer.frames [NEW] projectiles\swoosh\hammer\icehammer\icehammer.png [NEW] projectiles\swoosh\hammer\icehammer\icehammer.projectile projectiles\swoosh\hammer\poisonhammer\poisonhammer.projectile projectiles\swoosh\shortsword\electricshortsword\electricshortsword.png [NEW] projectiles\swoosh\shortsword\iceshortsword\iceshortsword.frames [NEW] projectiles\swoosh\shortsword\iceshortsword\iceshortsword.png [NEW] projectiles\swoosh\shortsword\iceshortsword\iceshortsword.projectile projectiles\swoosh\shortsword\poisonshortsword\poisonshortsword.projectile projectiles\swoosh\spear\electricspear\electricspear.png [NEW] projectiles\swoosh\spear\icespear\icespear.frames [NEW] projectiles\swoosh\spear\icespear\icespear.png [NEW] projectiles\swoosh\spear\icespear\icespear.projectile projectiles\swoosh\spear\poisonspear\poisonspear.projectile DIFFS ----- items\swords\randomgenerated\newuncommonaxe.generatedsword 19c19 < "projectileTypes" : [ "fireaxe", "electricaxe" ], --- > "projectileTypes" : [ "fireaxe", "electricaxe", "poisonaxe", "iceaxe" ], items\swords\randomgenerated\newuncommondagger.generatedsword 18c18 < "projectileTypes" : [ "firedagger", "electricdagger" ], --- > "projectileTypes" : [ "firedagger", "electricdagger", "poisondagger", "icedagger" ], items\swords\randomgenerated\newuncommonhammer.generatedsword 19c19 < "projectileTypes" : [ "firehammer", "electrichammer" ], --- > "projectileTypes" : [ "firehammer", "electrichammer", "poisonhammer", "icehammer" ], items\swords\randomgenerated\newuncommononehandedsword.generatedsword 18c18 < "projectileTypes" : [ "fireshortsword", "electricshortsword" ], --- > "projectileTypes" : [ "fireshortsword", "electricshortsword", "poisonshortsword", "iceshortsword" ], items\swords\randomgenerated\newuncommonspear.generatedsword 19c19 < "projectileTypes" : [ "firespear", "electricspear" ], --- > "projectileTypes" : [ "firespear", "electricspear", "poisonspear", "icespear" ], items\swords\randomgenerated\newuncommontwohandedsword.generatedsword 18c18 < "projectileTypes" : [ "firebroadswordswoosh", "electricbroadswordswoosh" ], --- > "projectileTypes" : [ "firebroadswordswoosh", "electricbroadswordswoosh", "poisonbroadswordswoosh", "icebroadswordswoosh" ], monsters\pets\groundpet.lua 106c106 < includedTypes = { "player", "itemDrop", "monster" }, --- > includedTypes = { "player", "itemDrop", "monster", "object" }, 198c198,202 < setJumpState() --- > if mcontroller.liquidMovement() then > entity.setAnimationState("movement", "swim") > else > setJumpState() > end monsters\pets\actions\eataction.lua 6a7,10 > if status.resource("hunger") < entity.configParameter("actionParams.eat.minHunger", 40) then > return nil > end > 8c12,15 < if not world.entityExists(args.eatTarget) or world.entityType(args.eatTarget) ~= "itemdrop" then return nil end --- > local entityType = world.entityType(args.eatTarget) > if not world.entityExists(args.eatTarget) or (entityType ~= "itemdrop" and entityType ~= "object") then > return nil > end 20c27 < if not world.entityExists(stateData.targetId) or world.entityType(stateData.targetId) ~= "itemdrop" then return true end --- > if not world.entityExists(stateData.targetId) then return true end 32c39 < return true, eatAction.cooldown --- > return true, entity.configParameter("actionParams.eat.cooldown") 43,57c50,56 < local itemDrop = world.takeItemDrop(stateData.targetId) < if itemDrop then < local itemName = world.entityName(stateData.targetId) < local foodLiking = itemFoodLiking(itemName) < < if foodLiking == nil then < foodLiking = math.random(100) < storage.behaviorParams.food[itemName] = foodLiking < end < < if foodLiking > 50 then < emote("happy") < else < emote("sad") < end --- > local targetType = world.entityType(stateData.targetId) > if (targetType == "itemdrop" and eatAction.consumeItemDrop(stateData)) or > (targetType == "object" and eatAction.consumeFromObject(stateData)) or > (targetType == "object" and not eatAction.foodInBowl(stateData.eatTarget)) then > return true, entity.configParameter("actionParams.eat.cooldown") > end > end 59,60c58,70 < status.modifyResource("hunger", -20 * itemDrop.count) < return true --- > return false > end > > function eatAction.consumeItemDrop(stateData) > local itemDrop = world.takeItemDrop(stateData.targetId) > if itemDrop then > local itemName = world.entityName(stateData.targetId) > local foodLiking = itemFoodLiking(itemName) > > if foodLiking > 50 then > emote("happy") > else > emote("sad") 61a72,100 > > status.modifyResource("hunger", -40 * itemDrop.count) > return true > end > end > > function eatAction.foodInBowl(objectId) > local item = world.containerItemAt(objectId, 0) > if item then > local foodLiking = itemFoodLiking(item.name) > if foodLiking then > return foodLiking > end > end > return false > end > > function eatAction.consumeFromObject(stateData) > local foodLiking = eatAction.foodInBowl(stateData.targetId) > > if foodLiking and world.containerConsumeAt(stateData.targetId, 0, 1) then > if foodLiking > 50 then > emote("happy") > else > emote("sad") > end > > status.modifyResource("hunger", -40) > return true monsters\pets\actions\inspectaction.lua 14c14,16 < approachTimer = 5 --- > approachTimer = 5, > targetType = world.entityType(args.inspectTarget), > targetName = world.entityName(args.inspectTarget) 50c52 < local entityType = world.entityType(stateData.inspectTarget) --- > 52,53c54,55 < if entityType == "itemdrop" and root.itemType(world.entityName(stateData.inspectTarget)) == "consumable" then < inspectAction.inspectFood(stateData.inspectTarget) --- > if stateData.targetType == "itemdrop" or (stateData.targetType == "object" and stateData.targetName == "foodbowl") then > inspectAction.inspectFood(stateData) 56,57c58,59 < if entityType == "monster" then < inspectAction.inspectMonster(stateData.inspectTarget) --- > if stateData.targetType == "monster" then > inspectAction.inspectMonster(stateData) 60,61c62,63 < if entityType == "player" then < inspectAction.inspectPlayer(stateData.inspectTarget) --- > if stateData.targetType == "player" then > inspectAction.inspectPlayer(stateData) 72,73c74,81 < function inspectAction.inspectFood(targetId) < local itemName = world.entityName(targetId) --- > function inspectAction.inspectFood(stateData) > local itemName > if stateData.targetType == "object" then > itemName = world.containerItemAt(stateData.inspectTarget, 0).name > elseif stateData.targetType == "item" then > itemName = world.entityName(stateData.inspectTarget) > end > 78a87,89 > end > > if foodLiking > 50 then 85,86c96,97 < function inspectAction.inspectMonster(targetId) < local monsterType = world.monsterType(targetId) --- > function inspectAction.inspectMonster(stateData) > local monsterType = world.monsterType(stateData.inspectTarget) 99,100c110,111 < function inspectAction.inspectPlayer(targetId) < local uuid = world.entityUuid(targetId) --- > function inspectAction.inspectPlayer(stateData) > local uuid = world.entityUuid(stateData.inspectTarget) monsters\pets\cat\catbehavior.lua 9c9,10 < ["monster"] = catBehavior.reactToMonster --- > ["monster"] = catBehavior.reactToMonster, > ["object"] = catBehavior.reactToObject 160,161c161,162 < local score = status.resource("hunger") - (100 - foodLiking) < catBehavior.queueAction("eat", {eatTarget = entityId}) --- > local score = math.max(status.resource("hunger") - (100 - foodLiking), catBehavior.starvingLevel()) > catBehavior.queueAction("eat", {eatTarget = entityId}, score) 170a172,188 > end > end > > function catBehavior.reactToObject(entityId) > local entityName = world.entityName(entityId) > if entityName == "foodbowl" then > local item = world.containerItemAt(entityId, 0) > if item then > local foodLiking = itemFoodLiking(item.name) > if foodLiking then > local score = math.max(status.resource("hunger") - (100 - foodLiking), catBehavior.starvingLevel()) > catBehavior.queueAction("eat", {eatTarget = entityId}, score) > elseif foodLiking == nil then > self.inspected[entityId] = false > catBehavior.queueAction("inspect", {inspectTarget = entityId, approachDistance = 2}, status.resource("hunger")) > end > end monsters\pets\cat\petcat.animation 39c39,45 < "cycle" : 0.375 --- > "cycle" : 0.375, > "mode" : "transition", > "transition" : "eatloop" > }, > "eatloop" : { > "frames" : 2, > "cycle" : 0.25 117a124,128 > } > }, > "eatloop" : { > "properties" : { > "image" : ":eatloop." monsters\pets\cat\petcat.frames 13a14,17 > }, > "aliases" : { > "eatloop.1" : "eat.2", > "eatloop.2" : "eat.3" monsters\pets\cat\petcat.monstertype 12a13,14 > "persistent" : true, > 37c39 < "hunger" : 10, --- > "hunger" : 80, 67,68c69,71 < "minScore" : 20, < "cooldown" : 2, --- > "minScore" : 0, > "minHunger" : 40, > "cooldown" : 0, 80c83 < "minScore" : 80, --- > "minScore" : 60, 94,96d96 < }, < < "follow" : { monsters\pets\petball\petball.lua 12a13,14 > > mcontroller.controlFace(1) monsters\pets\petball\petball.monstertype 12a13,14 > "persistent" : true, > objects\avian\avianstoragelocker\avianstoragelocker.object 4d3 < objects\floran\florangiantpod\giantfloranpod.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 1500, 22,24c21 < "imagePosition" : [0, 0], < "frames" : 1, < "animationCycle" : 0.5, --- > "imagePosition" : [-30, 0], 30,32c27 < ], < < "sounds" : [ "/sfx/npc/quadruped/lion_pain1.wav" ] --- > ] objects\floran\floranlamp1\floranlamp1.object 16c16 < "price" : 750, --- > "price" : 525, objects\floran\floranlight\floranlight.object 9c9 < "price" : 500, --- > "price" : 375, objects\floran\floranopenpod1\floranopenpod1.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 625, 22c21 < "imagePosition" : [-6, 0], --- > "imagePosition" : [-8, 0], 30,32c29 < ], < < "sounds" : [ "/sfx/blocks/footstep_wetclay.wav" ] --- > ] objects\floran\floranopenpod2\floranopenpod2.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 625, 22c21 < "imagePosition" : [-6, 0], --- > "imagePosition" : [-8, 0], 30,32c29 < ], < < "sounds" : [ "/sfx/blocks/footstep_brains.wav" ] --- > ] objects\floran\floranpainting1\floranpainting1.object 5c5 < "price" : 400, --- > "price" : 350, objects\floran\floranpainting2\floranpainting2.object 5c5 < "price" : 400, --- > "price" : 350, objects\floran\floranpainting4\floranpainting4.object 5c5 < "price" : 400, --- > "price" : 275, objects\floran\floranpainting5\floranpainting5.object 5c5 < "price" : 400, --- > "price" : 275, objects\floran\floranpelt1\floranpelt1.object 5c5 < "price" : 750, --- > "price" : 800, objects\floran\floranpelt2\floranpelt2.object 5c5 < "price" : 600, --- > "price" : 350, objects\floran\floranpelt3\floranpelt3.object 5c5 < "price" : 600, --- > "price" : 400, objects\floran\floranpelt4\floranpelt4.object 5c5 < "price" : 750, --- > "price" : 800, objects\floran\floranpelt5\floranpelt5.object 5c5 < "price" : 600, --- > "price" : 350, objects\floran\floranpod1\floranpod1.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 700, 22,24c21 < "imagePosition" : [-6, 0], < "frames" : 1, < "animationCycle" : 0.5, --- > "imagePosition" : [-16, 0], 30,32c27 < ], < < "sounds" : [ "/sfx/blocks/footstep_wetclay.wav" ] --- > ] objects\floran\floranpod2\floranpod2.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 850, 22,24c21 < "imagePosition" : [-6, 0], < "frames" : 1, < "animationCycle" : 0.5, --- > "imagePosition" : [-16, 0], 30,32c27 < ], < < "sounds" : [ "/sfx/blocks/footstep_brains.wav" ] --- > ] objects\floran\floranpod3\floranpod3.object 4d3 < "objectType" : "noisy", 6c5 < "price" : 750, --- > "price" : 850, 22c21 < "imagePosition" : [-6, 0], --- > "imagePosition" : [-17, 0], 28d26 < 30,32c28 < ], < < "sounds" : [ "/sfx/blocks/water_puddlemod.wav" ] --- > ] objects\floran\floranpodapex\floranpodapex.object 22c22 < "imagePosition" : [-6, 0], --- > "imagePosition" : [-12, 0], objects\floran\floranscreen1\floranscreen1.object 5c5 < "price" : 1200, --- > "price" : 600, objects\floran\floranscreen2\floranscreen2.object 5c5 < "price" : 800, --- > "price" : 600, objects\floran\floranshelf\floranshelf.object 5c5 < "price" : 1000, --- > "price" : 450, objects\floran\floransmalltable\floransmalltable.object 5c5 < "price" : 750, --- > "price" : 350, objects\floran\floranstoragelocker\floranstoragelocker.object 3a4,5 > "category" : "storage", > "price" : 775, 7,8d8 < < "category" : "storage", objects\floran\floranstove\floranstove.object 9c9 < "price" : 1000, --- > "price" : 350, objects\floran\florantable1\florantable1.object 5c5 < "price" : 600, --- > "price" : 425, objects\floran\florantable2\florantable2.object 4,5c4,10 < "category" : "furniture", < "price" : 800, --- > "category" : "crafting", > "interactAction" : "OpenCraftingInterface", > "interactData" : { > "config" : "/interface/windowconfig/kitchen.config", > "filter" : [ "kitchen" ] > }, > "price" : 500, objects\floran\florantanningrack\florantanningrack.object 5c5 < "price" : 600, --- > "price" : 450, objects\floran\florantoilet\florantoilet.object 10c10 < "price" : 1000, --- > "price" : 375, objects\floran\huntingbench\huntingbench.object 5c5 < "price" : 1500, --- > "price" : 350, objects\floran\huntingbigstatue\huntingbigstatue.object 5c5 < "price" : 1500, --- > "price" : 1250, objects\floran\huntingdisplay1\huntingdisplay1.object 5c5 < "price" : 1500, --- > "price" : 300, objects\floran\huntingdisplay2\huntingdisplay2.object 5c5 < "price" : 1500, --- > "price" : 200, objects\floran\huntingdoor1\huntingdoor1.object 6c6 < "price" : 1000, --- > "price" : 475, objects\floran\huntinggroundtorch\huntinggroundtorch.object 18c18 < "price" : 800, --- > "price" : 425, 39c39 < "spaceScan" : 0.1, --- > "spaces" : [ [-1, 0], [0, 0], [-1, 1], [0, 1], [-1, 2], [0, 2] ], 48c48 < "spaceScan" : 0.1, --- > "spaces" : [ [-1, 0], [0, 0], [-1, 1], [0, 1], [-1, 2], [0, 2] ], objects\floran\huntinglight1\huntinglight1.object 16c16 < "price" : 750, --- > "price" : 450, objects\floran\huntinglight2\huntinglight2.object 16c16 < "price" : 750, --- > "price" : 375, objects\floran\huntinglight3\huntinglight3.object 16c16 < "price" : 750, --- > "price" : 375, objects\floran\huntingpike1\huntingpike1.object 5c5 < "price" : 1500, --- > "price" : 300, objects\floran\huntingpike2\huntingpike2.object 5c5 < "price" : 1500, --- > "price" : 250, objects\floran\huntingpike3\huntingpike3.object 5c5 < "price" : 1500, --- > "price" : 250, objects\floran\huntingplatform1\huntingplatform1.object 5c5 < "price" : 600, --- > "price" : 550, objects\floran\huntingplatform2\huntingplatform2.object 5c5 < "price" : 600, --- > "price" : 575, 20c20 < "dualImage" : "huntingplatform2.png:", --- > "image" : "huntingplatform2.png:", 22,23c22,23 < "frames" : 1, < "animationCycle" : 0.5, --- > "direction" : "left", > "flipImages" : true, 27c27,33 < "collision" : "platform" --- > "collision" : "platform", > "collisionSpaces" : [ [-3, 0], [-2, 0], [-1, 0], [0, 0], [1, 0], [2, 0], [3, 0], [4, 0] ] > }, > { > "image" : "huntingplatform2.png:", > "imagePosition" : [-32, 0], > "direction" : "right", 28a35,38 > "spaceScan" : 0.1, > "anchors" : [ "bottom" ], > "collision" : "platform", > "collisionSpaces" : [ [-4, 0], [-3, 0], [-2, 0], [-1, 0], [0, 0], [1, 0], [2, 0], [3, 0] ] objects\floran\huntingplatformleaves\huntingplatformleaves.object 5c5 < "price" : 1200, --- > "price" : 350, objects\floran\huntingplatformrocks\huntingplatformrocks.object 5c5 < "price" : 1200, --- > "price" : 350, objects\floran\huntingpressureplate\huntingpressureplate.object 5c5 < "price" : 400, --- > "price" : 350, objects\floran\huntingpunjisticks1\huntingpunjisticks1.object 8c8 < "price" : 1000, --- > "price" : 450, objects\floran\huntingpunjisticks2\huntingpunjisticks2.object 8c8 < "price" : 1000, --- > "price" : 400, objects\floran\huntingrail1\huntingrail1.object 5c5 < "price" : 100, --- > "price" : 250, objects\floran\huntingrail2\huntingrail2.object 5c5 < "price" : 100, --- > "price" : 250, objects\floran\huntingstatue\huntingstatue.object 5c5 < "price" : 1500, --- > "price" : 400, objects\floran\huntingweaponrack1\huntingweaponrack1.object 5c5 < "price" : 750, --- > "price" : 400, objects\floran\huntingweaponrack2\huntingweaponrack2.object 5c5 < "price" : 750, --- > "price" : 300, objects\floran\plantbed1\plantbed1.object 5c5 < "price" : 1000, --- > "price" : 525, objects\floran\plantbed2\plantbed2.object 5c5 < "price" : 1000, --- > "price" : 625, objects\floran\plantbed3\plantbed3.object 5c5 < "price" : 1000, --- > "price" : 700, objects\floran\plantbed4\plantbed4.object 5c5 < "price" : 1000, --- > "price" : 525, 19d18 < "sitPosition" : [-9, 7], 33c32 < "dualImage" : "plantbed4.png:", --- > "image" : "plantbed4.png:", 35,36c34,37 < "frames" : 1, < "animationCycle" : 0.5, --- > "direction" : "left", > "flipImages" : true, > > "sitPosition" : [-9, 10], 39a41,47 > }, > { > "dualImage" : "plantbed4.png:", > "imagePosition" : [-24, 0], > "direction" : "right", > > "sitPosition" : [-17, 10], 40a49,50 > "spaceScan" : 0.1, > "anchors" : [ "bottom" ] objects\floran\plantbiolight\plantbiolight.object 5c5 < "price" : 500, --- > "price" : 225, objects\floran\plantbrokencage\plantbrokencage.object 5c5 < "price" : 1500, --- > "price" : 450, objects\floran\plantcabinet1\plantcabinet1.object 7c7 < "price" : 750, --- > "price" : 350, objects\floran\plantcabinet2\plantcabinet2.object 7c7 < "price" : 750, --- > "price" : 550, objects\floran\plantcage1\plantcage1.object 5c5 < "price" : 1500, --- > "price" : 600, objects\floran\plantcage2\plantcage2.object 5c5 < "price" : 1500, --- > "price" : 400, objects\floran\plantcage3\plantcage3.object 5c5 < "price" : 1500, --- > "price" : 600, objects\floran\plantchair\plantchair.object 5c5 < "price" : 600, --- > "price" : 375, objects\floran\plantdesklamp\plantdesklamp1.object 16c16 < "price" : 750, --- > "price" : 375, objects\floran\plantdoor1\plantdoor1.object 6c6 < "price" : 1000, --- > "price" : 475, objects\floran\plantdoor2\plantdoor2.object 6c6 < "price" : 1000, --- > "price" : 525, objects\floran\plantdrysapdispenser\plantdrysapdispenser.object 5c5 < "price" : 750, --- > "price" : 250, objects\floran\plantgeyser1\plantgeyser1.object 5c5 < "price" : 1500, --- > "price" : 450, objects\floran\plantgeyser2\plantgeyser2.object 5c5 < "price" : 1500, --- > "price" : 275, objects\floran\plantlog\plantlog.object 5c5 < "price" : 1500, --- > "price" : 375, objects\floran\plantorb\plantorb.object 7c7 < "price" : 750, --- > "price" : 450, objects\floran\plantpanel\plantpanel.object 6c6 < "price" : 700, --- > "price" : 475, objects\floran\plantplatform1\plantplatform1.object 5c5 < "price" : 1500, --- > "price" : 1800, 26,27c26,28 < "anchors" : [ "bottom" ], < "collision" : "platform" --- > "fgAnchors" : [ [-4, -1], [-3, -1], [-2, -1], [-1, -1], [0, -1], [1, -1], [2, -1], [3, -1], [4, -1] ], > "collision" : "platform", > "collisionSpaces" : [ [-4, 5], [-3, 5], [-2, 5], [-1, 5], [0, 5], [1, 5], [2, 5], [3, 5], [4, 5] ] objects\floran\plantplatform2\plantplatform2.object 5c5 < "price" : 1500, --- > "price" : 1150, 26,27c26,28 < "anchors" : [ "bottom" ], < "collision" : "platform" --- > "fgAnchors" : [ [-4, -1], [-3, -1], [-2, -1], [-1, -1], [0, -1], [1, -1], [2, -1], [3, -1], [4, -1] ], > "collision" : "platform", > "collisionSpaces" : [ [-4, 2], [-3, 2], [-2, 2], [-1, 2], [0, 2], [1, 2], [2, 2], [3, 2], [4, 2] ] objects\floran\plantrack\plantrack.object 5c5 < "price" : 750, --- > "price" : 350, objects\floran\plantshelf\plantshelf.object 5c5 < "price" : 1500, --- > "price" : 450, objects\floran\planttorch\planttorch.object 5c5 < "price" : 500, --- > "price" : 300, objects\floran\planttorturedevice\planttorturedevice.object 5c5 < "price" : 1500, --- > "price" : 350, objects\floran\planturn1\planturn1.object 5c5 < "price" : 750, --- > "price" : 250, objects\floran\planturn2\planturn2.object 5c5 < "price" : 750, --- > "price" : 200, objects\floran\planturn3\planturn3.object 5c5 < "price" : 750, --- > "price" : 150, objects\floran\plantvinetable\plantvinetable.object 22,23d21 < "frames" : 1, < "animationCycle" : 0.5, 27,28c25,26 < "collision" : "platform" < --- > "collision" : "platform", > "collisionSpaces" : [ [-2, 1], [-1, 1], [0, 1], [1, 1], [2, 1] ] objects\floran\plantvolcano1\plantvolcano1.object 6c6 < "price" : 1500, --- > "price" : 300, objects\floran\plantvolcano2\plantvolcano2.object 6c6 < "price" : 1500, --- > "price" : 400, objects\floran\plantvolcano3\plantvolcano3.object 6c6 < "price" : 1500, --- > "price" : 375, objects\floran\plantvolcano4\plantvolcano4.object 6c6 < "price" : 1500, --- > "price" : 425, objects\floran\plantvolcano5\plantvolcano5.object 6c6 < "price" : 1500, --- > "price" : 325, objects\gate\ancientconsole\ancientconsole.object 5c5 < "price" : 10000, --- > "price" : 5000, objects\gate\ancientconsole\returnconsole.object 5c5 < "price" : 10000, --- > "price" : 5000, objects\gate\ancientpillar\ancientpillar.object 5c5 < "price" : 2500, --- > "price" : 1250, objects\generators\humangenerator\humangenerator.object 7c7 < "price" : 2000, --- > "price" : 5000, objects\generators\referencegenerator\referencegenerator.object 7c7 < "price" : 2000, --- > "price" : 5000, objects\generic\3dprinter\3dprinter.object 8a9,10 > "printable" : false, > "price" : 5000, objects\generic\apexdungeonpod\apexdungeonpod.object 8c8,9 < "price" : 0, --- > "price" : 5000, > "printable" : false, objects\generic\aviandungeonpod\aviandungeonpod.object 8c8,9 < "price" : 0, --- > "price" : 5000, > "printable" : false, objects\generic\butterflybush\butterflybush.object 5c5,7 < "price" : 300, --- > "price" : 1000, > > "hasObjectItem" : false, objects\generic\cultistaltar\cultistaltar.object 5a6 > "printable" : false, 8c9 < "price" : 90, --- > "price" : 2500, objects\generic\dungeonpod\dungeonpod.object 5a6 > "printable" : false, 8c9 < "price" : 900, --- > "price" : 5000, objects\generic\fireflybush\fireflybush.object 5c5,7 < "price" : 300, --- > "price" : 1000, > > "hasObjectItem" : false, objects\generic\florandungeonpod\florandungeonpod.object 5a6 > "printable" : false, 8c9 < "price" : 0, --- > "price" : 5000, objects\generic\fossilpod\fossilpod.object 5c5,6 < "price" : 400, --- > "price" : 0, > "printable" : false, objects\generic\frogmerchant\frogmerchant.object 13,15c13,15 < "price" : 200, < < --- > "price" : 5000, > > "printable" : false, 17d16 < objects\generic\glitchdungeonpod\glitchdungeonpod.object 5a6 > "printable" : false, 8c9 < "price" : 0, --- > "price" : 5000, objects\generic\invisiblelight\invisiblelight.object 9c9,10 < "price" : 500, --- > "price" : 100, > "printable" : false, objects\generic\invisiblesparker\invisiblesparker.object 8c8,9 < "price" : 400, --- > "price" : 100, > "printable" : false, objects\generic\molemerchant\molemerchant.object 13,14c13 < "price" : 200, < --- > "price" : 5000, 15a15 > "printable" : false, 17d16 < objects\generic\randomfountain\randomfountain.object 4c4 < --- > 5a6 > "printable" : false, 7,8c8,9 < "category" : "decorative", < "price" : 70, --- > "category" : "other", > "price" : 2500, 32c33 < "scriptDelta" : 5, --- > "scriptDelta" : 10, 40,41d40 < "useSounds" : [ "/sfx/objects/bardoor_open.wav" ], < 53c52,56 < "projectileType" : "runstatusprojectile", --- > "projectileType" : "fasthealingstatusprojectile", > "projectileParams" : { } > }, > { > "projectileType" : "burningstatusprojectile", 57c60,64 < "projectileType" : "jumpstatusprojectile", --- > "projectileType" : "poisonstatusprojectile", > "projectileParams" : { } > }, > { > "projectileType" : "runstatusprojectile", 62a70,85 > }, > { > "projectileType" : "levitationstatusprojectile", > "projectileParams" : { } > }, > { > "projectileType" : "ragestatusprojectile", > "projectileParams" : { } > }, > { > "projectileType" : "lowgravstatusprojectile", > "projectileParams" : { } > }, > { > "projectileType" : "bouncystatusprojectile", > "projectileParams" : { } 64c87,88 < ] --- > ], > "activationTime" : 600 objects\generic\statuspod\statuspod.object 5a6 > "printable" : false, 8c9 < "price" : 0, --- > "price" : 2500, particles\fireswoosh2.particle 12d11 < "light" : [191, 103, 2], particles\fireswoosh4.particle 9d8 < "light" : [191, 103, 2], particles\largefireswoosh2.particle 12d11 < "light" : [191, 103, 2], particles\largefireswoosh4.particle 9d8 < "light" : [191, 103, 2], projectiles\swoosh\axe\poisonaxe\poisonaxe.projectile 14a15 > "emitters" : [ "largepoisonswoosh" ], projectiles\swoosh\broadsword\poisonbroadswordswoosh\poisonbroadswordswoosh.projectile 14a15 > "emitters" : [ "largepoisonswoosh" ], projectiles\swoosh\dagger\poisondagger\poisondagger.projectile 13a14 > "emitters" : [ "poisonswoosh" ], projectiles\swoosh\hammer\poisonhammer\poisonhammer.projectile 14a15 > "emitters" : [ "largepoisonswoosh" ], projectiles\swoosh\shortsword\poisonshortsword\poisonshortsword.projectile 13a14 > "emitters" : [ "poisonswoosh" ], projectiles\swoosh\spear\poisonspear\poisonspear.projectile 13a14 > "emitters" : [ "poisonswoosh" ],