FILES ----- player.config behaviors\monsters\boss\spiderboss\main.behavior [NEW] behaviors\monsters\boss\spiderboss\stage1.behavior [NEW] behaviors\monsters\boss\spiderboss\stage2.behavior [NEW] behaviors\monsters\boss\spiderboss\stage3.behavior behaviors\monsters\unique\ixoling.behavior biomes\distributions.config dungeons\other\challengerooms\challengerooms.dungeon dungeons\other\challengerooms\platform5.json [NEW] dungeons\other\challengerooms\platform6.json dungeons\other\challengerooms\quiqksilver2.json dungeons\other\challengerooms\quiqksilver3.json monsters\bmonster.lua monsters\boss\spiderboss\spiderboss.animation monsters\boss\spiderboss\spiderboss.monstertype monsters\boss\spiderboss\body\body.frames monsters\unique\ixoling\ixoling.animation monsters\unique\ixoling\ixoling.monstertype objects\ancient\airbooster\airbooster.object objects\ancient\ancientconsole\ancientconsole.object objects\ancient\ancientconsole\returnconsole.object [NEW] objects\ancient\ancientdoor\ancientdoor.frames [NEW] objects\ancient\ancientdoor\ancientdoor.object [NEW] objects\ancient\ancientdoor\ancientdoor.png [NEW] objects\ancient\ancientdoor\ancientdooricon.png objects\ancient\ancientgate\ancientgate.object objects\ancient\ancienthiddenplatform\ancienthiddenplatform.object objects\ancient\ancientlightplatform\ancientlightplatform.object objects\ancient\challengedoor\challengedoor.object objects\ancient\challengedoor\challengereturndoor.object objects\ancient\jumpbooster\jumpbooster.object objects\ancient\monolithgate\monolithgate.object objects\ancient\monolithstatue1\monolithstatue1.object objects\ancient\monolithstatue2\monolithstatue2.object objects\ancient\powerbooster\powerbooster.object objects\ancient\speedbooster\speedbooster.object objects\apex\apexarmchair\apexarmchair.object objects\apex\apexbed\apexbed.object objects\apex\apexcomfychair\apexcomfychair.object objects\apex\apexcoolchair\apexcoolchair.object objects\apex\apexcouch\apexcouch.object objects\apex\apexcurtain\apexcurtain.object objects\apex\apexmedsign\apexmedsign.object objects\apex\apexofficechair\apexofficechair.object objects\apex\apexradio\apexradio.object objects\apex\apexsink\apexsink.object objects\apex\apexspeaker\apexspeaker.object objects\apex\apexwoodenchair\apexwoodenchair.object objects\apex\apexwoodpanel\apexwoodpanel.object objects\apex\arrowsign\arrowsign.object objects\apex\cider\cider.object objects\apex\classicchair\classicchair.object objects\apex\classicglass\classicglass.object objects\apex\classicplate\classicplate.object objects\apex\electricsign\electricsign.object objects\apex\fantasyboardgame\fantasyboardgame.object objects\apex\reddangersign\reddangersign.object objects\avian\anchor\anchor.object objects\avian\avianbench1\avianbench1.object objects\avian\avianbench2\avianbench2.object objects\avian\birdaltar2\birdaltar2.object objects\avian\birdbed\birdbed.object objects\avian\birdtable\birdtable.object objects\avian\birdthrone\birdthrone.object objects\avian\sarcoavian1\sarcoavian1.object objects\avian\sarcoavian2\sarcoavian2.object objects\avian\sarcobunny\sarcobunny.object objects\avian\sarcohuman\sarcohuman.object objects\avian\sarcohuman\sarcohumanalive.object objects\avian\tombstone1\tombstone1.object objects\avian\tombstone10\tombstone10.object objects\avian\tombstone11\tombstone11.object objects\avian\tombstone2\tombstone2.object objects\avian\tombstone3\tombstone3.object objects\avian\tombstone4\tombstone4.object objects\avian\tombstone5\tombstone5.object objects\avian\tombstone6\tombstone6.object objects\avian\tombstone7\tombstone7.object objects\avian\tombstone8\tombstone8.object objects\avian\tombstone9\tombstone9.object objects\avian\tombthing1\tombthing1.object objects\avian\tombthing2\tombthing2.object objects\avian\tombthing3\tombthing3.object objects\avian\tombthing4\tombthing4.object objects\avian\tribalbed2\tribalbed2.object objects\colony\colonydeed\colonydeed.lua objects\colony\colonydeed\colonydeed.object objects\colony\colonydeed\scanning.lua [NEW] objects\colony\colonydeed\timer.lua objects\crafting\roboticcraftingtable\roboticcraftingtable.object objects\floran\floranarmchair\floranarmchair.object objects\floran\floranbed\floranbed.object objects\floran\floranbench\floranbench.object objects\floran\floranbonestool\floranbonestool.object objects\floran\floranchair\floranchair.object objects\floran\florancouch\florancouch.object objects\floran\florancurtain\florancurtain.object objects\floran\floranscreen1\floranscreen1.object objects\floran\floranscreen2\floranscreen2.object objects\floran\florantanningrack\florantanningrack.object objects\floran\florantoilet\florantoilet.object objects\floran\huntingbench\huntingbench.object objects\floran\huntingdisplay2\huntingdisplay2.object objects\floran\huntingplatform1\huntingplatform1.object objects\floran\huntingplatform2\huntingplatform2.object objects\floran\huntingplatformrocks\huntingplatformrocks.object objects\floran\huntingrail1\huntingrail1.object objects\floran\huntingrail2\huntingrail2.object objects\floran\plantbed1\plantbed1.object objects\floran\plantbed2\plantbed2.object objects\floran\plantbed3\plantbed3.object objects\floran\plantbed4\plantbed4.object objects\floran\plantbrokencage\plantbrokencage.object objects\floran\plantcage1\plantcage1.object objects\floran\plantcage2\plantcage2.object objects\floran\plantcage3\plantcage3.object objects\floran\plantchair\plantchair.object objects\floran\plantdrysapdispenser\plantdrysapdispenser.object objects\floran\plantgeyser1\plantgeyser1.object objects\floran\plantgeyser2\plantgeyser2.object objects\floran\plantlog\plantlog.object objects\floran\plantplatform1\plantplatform1.object objects\floran\plantplatform2\plantplatform2.object objects\floran\plantvinetable\plantvinetable.object objects\generic\carbed\carbed.object objects\generic\cultistaltar\cultistaltar.object objects\generic\eggchair\eggchair.object objects\generic\flagapex\flagapex.object objects\generic\flagavian\flagavian.object objects\generic\flagfloran\flagfloran.object objects\generic\flagglitch\flagglitch.object objects\generic\flaghuman\flaghuman.object objects\generic\flaghylotl\flaghylotl.object objects\generic\flagnovakid\flagnovakid.object objects\generic\markergroundplaque\markergroundplaque.object objects\generic\markerwallplaque1\markerwallplaque1.object objects\generic\markerwallplaque2\markerwallplaque2.object objects\generic\markerwallplaque3\markerwallplaque3.object objects\generic\metalbarrel1\metalbarrel1.object objects\generic\metalbarrel2\metalbarrel2.object objects\generic\modernchair\modernchair.object objects\generic\moderntable\moderntable.object objects\generic\pleaseget\pleaseget.object objects\generic\randomfountain\randomfountain.object objects\generic\sleepingbag\sleepingbag.object objects\generic\steelchair\steelchair.object objects\generic\teacup1\teacup1.object objects\generic\teapot1\teapot1.object objects\generic\wooddoor\wooddoor.object objects\glitch\anvil\anvil.object objects\glitch\ballandchain\ballandchain.object objects\glitch\bannermedievallarge\bannermedievallarge.object objects\glitch\bannermedievalsmall\bannermedievalsmall.object objects\glitch\barrel\barrel.object objects\glitch\barrellarge\barrellarge.object objects\glitch\battlestandard\battlestandard.object objects\glitch\castledoor\castledoor.object objects\glitch\castledungeondoor\castledungeondoor.object objects\glitch\castlehiddendoor\castlehiddendoor.object objects\glitch\castlehiddentrapdoor\castlehiddentrapdoor.object objects\glitch\castleswitch\castleswitch.object objects\glitch\chessbishop\chessbishop.object objects\glitch\chessking\chessking.object objects\glitch\chessknight\chessknight.object objects\glitch\chesspawn\chesspawn.object objects\glitch\chessqueen\chessqueen.object objects\glitch\chessrook\chessrook.object objects\glitch\garagetools\garagetools.object objects\glitch\glitchstoragelocker\glitchstoragelocker.object objects\glitch\guillotine\guillotine.object objects\glitch\haypile\haypile.object objects\glitch\hayroll\hayroll.object objects\glitch\haystack\haystack.object objects\glitch\hourglass\hourglass.object objects\glitch\kitchentools\kitchentools.object objects\glitch\largebell\largebell.object objects\glitch\largecastledoor\largecastledoor.object objects\glitch\largewoodencrate\largewoodencrate.object objects\glitch\medievalarmor\medievalarmor.object objects\glitch\medievalarmorarmed\medievalarmorarmed.object objects\glitch\medievalarmorswitch\medievalarmorswitch.object objects\glitch\medievalaxedisplay\medievalaxedisplay.object objects\glitch\medievalbookcase\medievalbookcase.object objects\glitch\medievalbookcaseswitch\medievalbookcaseswitch.object objects\glitch\medievalcabinet\medievalcabinet.object objects\glitch\medievalcandle\medievalcandle.object objects\glitch\medievalchandelier\medievalchandelier.object objects\glitch\medievalchest\medievalchest.object objects\glitch\medievalclock\medievalclock.object objects\glitch\medievalcounter\medievalcounter.object objects\glitch\medievaldesk\medievaldesk.object objects\glitch\medievaldiningtable\medievaldiningtable.object objects\glitch\medievaldresser\medievaldresser.object objects\glitch\medievalfireplace\medievalfireplace.object objects\glitch\medievalflagpole\medievalflagpole.object objects\glitch\medievalfurnace\medievalfurnace.object objects\glitch\medievalglobe\medievalglobe.object objects\glitch\medievallamp\medievallamp.object objects\glitch\medievallargecookingpot\medievallargecookingpot.object objects\glitch\medievalmap\medievalmap.object objects\glitch\medievalpedestal\medievalpedestal.object objects\glitch\medievalpressureplate\medievalpressureplate.object objects\glitch\medievalregister\medievalregister.object objects\glitch\medievalshelf\medievalshelf.object objects\glitch\medievalspikes\medievalspikes.object objects\glitch\medievalstock\medievalstock.object objects\glitch\medievalstreetlamp\medievalstreetlamp.object objects\glitch\medievalswitchhidden\medievalswitchhidden.object objects\glitch\medievalswitchlever\medievalswitchlever.object objects\glitch\medievalswitchshackle\medievalswitchshackle.object objects\glitch\medievalsworddisplay\medievalsworddisplay.object objects\glitch\medievaltable\medievaltable.object objects\glitch\medievaltorch\medievaltorch.object objects\glitch\medievalwallshelf\medievalwallshelf.object objects\glitch\medievalweaponrack\medievalweaponrack.object objects\glitch\royalbed\royalbed.object objects\glitch\royalbookcase\royalbookcase.object objects\glitch\royalcabinet\royalcabinet.object objects\glitch\royalcandles\royalcandles.object objects\glitch\royalchalice\royalchalice.object objects\glitch\royalchest\royalchest.object objects\glitch\royaldesk\royaldesk.object objects\glitch\royalthrone\royalthrone.object objects\glitch\royaltoilet\royaltoilet.object objects\glitch\sewagebarrel\sewagebarrel.object objects\glitch\sewerflooddoor\sewerflooddoor.object objects\glitch\sewergauge\sewergauge.object objects\glitch\sewergear\sewergear.object objects\glitch\sewertank\sewertank.object objects\glitch\sewervalve\sewervalve.object objects\glitch\signarmorshop\signarmorshop.object objects\glitch\signforge\signforge.object objects\glitch\signinn\signinn.object objects\glitch\signlibrary\signlibrary.object objects\glitch\signproduce\signproduce.object objects\glitch\signweaponshop\signweaponshop.object objects\glitch\smallwoodencrate\smallwoodencrate.object objects\glitch\target\target.object objects\glitch\targetdummy\targetdummy.object objects\glitch\toxicwastebarrel\toxicwastebarrel.object objects\glitch\trashbag\trashbag.object objects\glitch\trashcan\trashcan.object objects\glitch\villagedoor\villagedoor.object objects\glitch\wallshackles\wallshackles.object objects\glitch\wallshield\wallshield.object objects\glitch\wickerbasket1\wickerbasket1.object objects\glitch\wickerbasket2\wickerbasket2.object objects\glitch\wickerbasket3\wickerbasket3.object objects\glitch\wickerbasket4\wickerbasket4.object objects\glitch\wickerbasket5\wickerbasket5.object objects\hoard\barrelgoldfilled\barrelgoldfilled.object objects\hoard\diamonddisplay\diamonddisplay.object objects\hoard\goldenpedestal\goldenpedestal.object objects\hoard\goldvase1\goldvase1.object objects\hoard\goldvase2\goldvase2.object objects\hoard\goldvase3\goldvase3.object objects\hoard\goldvase4\goldvase4.object objects\hoard\goldvase5\goldvase5.object objects\hoard\grail\grail.object objects\hoard\mysteriouslight\mysteriouslight.object objects\hoard\safe\safe.object objects\hoard\treasurechest\treasurechest.object objects\hoard\woodencrategoldfilled\woodencrategoldfilled.object objects\holiday\bigpresent\bigpresent.object objects\holiday\decoratedtree\decoratedtree.object objects\holiday\dreidel\dreidel.object objects\holiday\giantbells\giantbells.object objects\holiday\giantbow1\giantbow1.object objects\holiday\giantbow2\giantbow2.object objects\holiday\giantsanta\giantsanta.object objects\holiday\giantsnowflake\giantsnowflake.object objects\holiday\giftmonsterbox\giftmonsterbox.object objects\holiday\giftmonsterbox\giftmonstersmallbox.object objects\holiday\goldball\goldball.object objects\holiday\greencandycane1\greencandycane1.object objects\holiday\greencandycane2\greencandycane2.object objects\holiday\greencandycane3\greencandycane3.object objects\holiday\greengumdrop1\greengumdrop1.object objects\holiday\greengumdrop2\greengumdrop2.object objects\holiday\heartforge\heartforge.object objects\holiday\holidaycandles\holidaycandles.object objects\holiday\holidaycraftingtable\holidaycraftingtable.object objects\holiday\holidaylights\holidaylights.object objects\holiday\holidaypole\holidaypole.object objects\holiday\holly\holly.object objects\holiday\lollipop1\lollipop1.object objects\holiday\lollipop2\lollipop2.object objects\holiday\menorah\menorah.object objects\holiday\present1\present1.object objects\holiday\present2\present2.object objects\holiday\present3\present3.object objects\holiday\present4\present4.object objects\holiday\purplegumdrop1\purplegumdrop1.object objects\holiday\purplegumdrop2\purplegumdrop2.object objects\holiday\redball\redball.object objects\holiday\redcandycane1\redcandycane1.object objects\holiday\redcandycane2\redcandycane2.object objects\holiday\redcandycane3\redcandycane3.object objects\holiday\redgumdrop1\redgumdrop1.object objects\holiday\redgumdrop2\redgumdrop2.object objects\holiday\scifisleigh\scifisleigh.object objects\holiday\smallbow\smallbow.object objects\holiday\smallholidaytree\smallholidaytree.object objects\holiday\smallsnowflake\smallsnowflake.object objects\holiday\stocking1\stocking1.object objects\holiday\stocking2\stocking2.object objects\holiday\undecoratedtree\undecoratedtree.object objects\holiday\wazlights\wazlights.object objects\human\alertlight\alertlight.object objects\human\barbedwire\barbedwire.object objects\human\basictv\basictv.object objects\human\bunkerbigpanel\bunkerbigpanel.object objects\human\bunkerbookcase\bunkerbookcase.object objects\human\bunkercabinet1\bunkercabinet1.object objects\human\bunkerceilinglight1\bunkerceilinglight1.object objects\human\bunkerceilinglight2\bunkerceilinglight2.object objects\human\bunkercomputer\bunkercomputer.object objects\human\bunkerconsole1\bunkerconsole1.object objects\human\bunkerconsole2\bunkerconsole2.object objects\human\bunkerconsole3\bunkerconsole3.object objects\human\bunkerconsole4\bunkerconsole4.object objects\human\bunkercrate\bunkercrate.object objects\human\bunkerdesk\bunkerdesk.object objects\human\bunkerdisplay1\bunkerdisplay1.object objects\human\bunkerdisplay2\bunkerdisplay2.object objects\human\bunkerdisplay3\bunkerdisplay3.object objects\human\bunkerdisplay4\bunkerdisplay4.object objects\human\bunkereyescanner\bunkereyescanner.object objects\human\bunkerhandscanner\bunkerhandscanner.object objects\human\bunkerheater1\bunkerheater1.object objects\human\bunkerlighth\bunkerlighth.object objects\human\bunkerlightv\bunkerlightv.object objects\human\bunkermotiondetector\bunkermotiondetector.object objects\human\bunkerpanel1\bunkerpanel1.object objects\human\bunkerpanel2\bunkerpanel2.object objects\human\bunkerpanel3\bunkerpanel3.object objects\human\bunkerposter1\bunkerposter1.object objects\human\bunkerposter2\bunkerposter2.object objects\human\bunkerserver\bunkerserver.object objects\human\bunkerslidingdoor\bunkerslidingdoor.object objects\human\bunkertable1\bunkertable1.object objects\human\bunkertable2\bunkertable2.object objects\human\bunkertable3\bunkertable3.object objects\human\bunkertv\bunkertv.object objects\human\bunkertv2\bunkertv2.object objects\human\bunkervent\bunkervent.object objects\human\bunkerwires\bunkerwires.object objects\human\fridge\fridge.object objects\human\humanstoragelocker\humanstoragelocker.object objects\human\jukebox\jukebox.object objects\human\lavalamp1\lavalamp1.object objects\human\microwave\microwave.object objects\human\oven1\oven1.object objects\human\prisonarch\prisonarch.object objects\human\prisonbarrelfire\prisonbarrelfire.object objects\human\prisoncabinet1\prisoncabinet1.object objects\human\prisoncamerastation\prisoncamerastation.object objects\human\prisoncontrolpanel\prisoncontrolpanel.object objects\human\prisoncorner\prisoncorner.object objects\human\prisondoor\prisondoor.object objects\human\prisonexitsign\prisonexitsign.object objects\human\prisonfile1\prisonfile1.object objects\human\prisonfile2\prisonfile2.object objects\human\prisonfloodlight\prisonfloodlight.object objects\human\prisonforcecell\prisonforcecell.object objects\human\prisonlocker1\prisonlocker1.object objects\human\prisonlocker2\prisonlocker2.object objects\human\prisonpanel\prisonpanel.object objects\human\prisonradiator\prisonradiator.object objects\human\prisonsecuritycamera\prisonsecuritycamera.object objects\human\prisontoilet\prisontoilet.object objects\human\prisontorturebed1\prisontorturebed1.object objects\human\prisontorturebed2\prisontorturebed2.object objects\human\prisonturbine\prisonturbine.object objects\human\techconsolehuman\techconsolehuman.object objects\human\vendingmachine\vendingmachine.object objects\hylotl\airlockdoor\airlockdoor.object objects\mission\bossweb\bossweb.png scripts\actions\movement.lua tenants\chefmerchantwithpig.tenant tenants\chefmerchantwithquadruped.tenant tenants\florancouple.tenant [NEW] tenants\glitchvillager.tenant tenants\villager.tenant treasure\default.treasurechests DIFFS ----- player.config 32a33 > { "item" : "platform" }, behaviors\monsters\boss\spiderboss\main.behavior 3d2 < "description": "", 7c6,7 < "/scripts/actions/status.lua" --- > "/scripts/actions/status.lua", > "/scripts/actions/movement.lua" 44a45,52 > "title": "setDying", > "type": "action", > "name": "setDying", > "parameters": { > "shouldDie": false > } > }, > { 90c98 < "title": "dynamic", --- > "title": "sequence", 92,93c100,167 < "name": "dynamic", < "parameters": {}, --- > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "type": "shell", > "state": "stage1" > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": 1 > }, > "children": [ > { > "title": "inverter", > "type": "decorator", > "name": "inverter", > "parameters": {}, > "child": { > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", > "parameters": { > "percentage": 0.95, > "resource": "health" > } > } > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage1.behavior", > "title": "Ixodoom Stage 1", > "parameters": {} > } > ] > } > ] > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", > "title": "Hurt", > "parameters": { > "minHealth": 0.65, > "maxHealth": 0.95 > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": 2 > }, 96c170 < "title": "failer", --- > "title": "inverter", 98c172 < "name": "failer", --- > "name": "inverter", 101,103c175,177 < "title": "limiter", < "type": "decorator", < "name": "limiter", --- > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", 105,114c179,180 < "limit": 1 < }, < "child": { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", < "title": "Hurt", < "parameters": { < "minHealth": 0.65, < "maxHealth": 0.95 < } --- > "percentage": 0.65, > "resource": "health" 118a185,216 > "title": "addEphemeralEffect", > "type": "action", > "name": "addEphemeralEffect", > "parameters": { > "name": "vulnerability", > "duration": 0.1 > } > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage1.behavior", > "title": "Ixodoom Stage 1", > "parameters": {} > } > ] > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/setstage.behavior", > "title": "Set stage", > "parameters": { > "setHealth": 0.65, > "shellState": "stage2" > } > }, > { 123,124c221,222 < "fail": 1, < "success": -1 --- > "fail": -1, > "success": 1 128,205c226 < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.65, < "resource": "health" < } < }, < { < "title": "selector", < "type": "composite", < "name": "selector", < "parameters": {}, < "children": [ < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.95, < "resource": "health" < } < } < }, < { < "title": "addEphemeralEffect", < "type": "action", < "name": "addEphemeralEffect", < "parameters": { < "name": "vulnerability", < "duration": 0.1 < } < } < ] < }, < { < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "limiter", < "type": "decorator", < "name": "limiter", < "parameters": { < "limit": 1 < }, < "child": { < "title": "setAnimationState", < "type": "action", < "name": "setAnimationState", < "parameters": { < "type": "shell", < "state": "stage1" < } < } < } < } < ] < }, < { < "title": "repeater", --- > "title": "inverter", 207c228 < "name": "repeater", --- > "name": "inverter", 210,227c231,237 < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/slam.behavior", < "title": "Slam", < "parameters": {} < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/acidspray.behavior", < "title": "Acid Spray", < "parameters": {} < } < ] --- > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", > "parameters": { > "percentage": 0.6, > "resource": "health" > } 228a239,244 > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage2.behavior", > "title": "Ixodoom Stage 2", > "parameters": {} 231c247,267 < }, --- > } > ] > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", > "title": "Hurt", > "parameters": { > "minHealth": 0.25, > "maxHealth": 0.6 > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": 2 > }, > "children": [ 233c269 < "title": "failer", --- > "title": "inverter", 235c271 < "name": "failer", --- > "name": "inverter", 238,240c274,276 < "title": "limiter", < "type": "decorator", < "name": "limiter", --- > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", 242,251c278,279 < "limit": 1 < }, < "child": { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", < "title": "Hurt", < "parameters": { < "minHealth": 0.25, < "maxHealth": 0.6 < } --- > "percentage": 0.25, > "resource": "health" 255a284,315 > "title": "addEphemeralEffect", > "type": "action", > "name": "addEphemeralEffect", > "parameters": { > "name": "vulnerability", > "duration": 0.1 > } > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage2.behavior", > "title": "Ixodoom Stage 2", > "parameters": {} > } > ] > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": {}, > "children": [ > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/setstage.behavior", > "title": "Set stage", > "parameters": { > "setHealth": 0.25, > "shellState": "stage3" > } > }, > { 260,261c320,321 < "fail": 1, < "success": -1 --- > "fail": -1, > "success": 1 265,276c325,327 < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.25, < "resource": "health" < } < }, < { < "title": "selector", < "type": "composite", < "name": "selector", --- > "title": "inverter", > "type": "decorator", > "name": "inverter", 278,337c329,335 < "children": [ < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": { < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.6, < "resource": "health" < } < } < }, < { < "title": "addEphemeralEffect", < "type": "action", < "name": "addEphemeralEffect", < "parameters": { < "name": "vulnerability", < "duration": 0.1 < } < } < ] < }, < { < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "limiter", < "type": "decorator", < "name": "limiter", < "parameters": { < "limit": 1 < }, < "child": { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/setstage.behavior", < "title": "Set stage", < "parameters": { < "setHealth": 0.65, < "shellState": "stage2" < } < } < } --- > "child": { > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", > "parameters": { > "percentage": 0.2, > "resource": "health" 339c337 < ] --- > } 342,379c340,343 < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "title": "repeater", < "type": "decorator", < "name": "repeater", < "parameters": {}, < "child": { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/slam.behavior", < "title": "Slam", < "parameters": {} < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/acidspray.behavior", < "title": "Acid Spray", < "parameters": {} < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/sweep.behavior", < "title": "Spiderboss Sweep", < "parameters": {} < } < ] < } < } < ] --- > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage3.behavior", > "title": "Ixodoom Stage 3", > "parameters": {} 382c346,366 < }, --- > } > ] > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", > "title": "Hurt", > "parameters": { > "minHealth": 0, > "maxHealth": 0.2 > } > }, > { > "title": "parallel", > "type": "composite", > "name": "parallel", > "parameters": { > "fail": -1, > "success": 2 > }, > "children": [ 384c368 < "title": "failer", --- > "title": "inverter", 386c370 < "name": "failer", --- > "name": "inverter", 389,391c373,375 < "title": "limiter", < "type": "decorator", < "name": "limiter", --- > "title": "resourcePercentage", > "type": "action", > "name": "resourcePercentage", 393,402c377,378 < "limit": 1 < }, < "child": { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hurt.behavior", < "title": "Hurt", < "parameters": { < "minHealth": 0, < "maxHealth": 0.2 < } --- > "percentage": 0, > "resource": "health" 406a383,428 > "title": "addEphemeralEffect", > "type": "action", > "name": "addEphemeralEffect", > "parameters": { > "name": "vulnerability", > "duration": 0.1 > } > }, > { > "type": "module", > "path": "/behaviors/monsters/boss/spiderboss/stage3.behavior", > "title": "Ixodoom Stage 3", > "parameters": {} > } > ] > }, > { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "dead", > "type": "body" > } > }, > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "die", > "type": "legs" > } > }, > { 411c433 < "fail": 1, --- > "fail": -1, 416c438,448 < "title": "selector", --- > "title": "controlParameters", > "type": "action", > "name": "controlParameters", > "parameters": { > "config": { > "gravityEnabled": true > } > } > }, > { > "title": "sequence", 418,419c450,456 < "name": "selector", < "parameters": {}, --- > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, 422,424c459,461 < "title": "sequence", < "type": "composite", < "name": "sequence", --- > "title": "timer", > "type": "action", > "name": "timer", 426,456c463,464 < "type": "sliding", < "state": "off", < "fromEntity": "attackTarget", < "toEntity": "fleeTarget" < }, < "children": [ < { < "title": "inverter", < "type": "decorator", < "name": "inverter", < "parameters": {}, < "child": { < "title": "resourcePercentage", < "type": "action", < "name": "resourcePercentage", < "parameters": { < "percentage": 0.2, < "resource": "health" < } < } < }, < { < "title": "addEphemeralEffect", < "type": "action", < "name": "addEphemeralEffect", < "parameters": { < "name": "vulnerability", < "duration": 0.1 < } < } < ] --- > "time": 2 > } 459,478c467,471 < "title": "succeeder", < "type": "decorator", < "name": "succeeder", < "parameters": {}, < "child": { < "title": "limiter", < "type": "decorator", < "name": "limiter", < "parameters": { < "limit": 1 < }, < "child": { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/setstage.behavior", < "title": "Set stage", < "parameters": { < "setHealth": 0.25, < "shellState": "stage3" < } < } --- > "title": "setDying", > "type": "action", > "name": "setDying", > "parameters": { > "shouldDie": true 482,571d474 < }, < { < "title": "repeater", < "type": "decorator", < "name": "repeater", < "parameters": {}, < "child": { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/return.behavior", < "title": "Return to spawn", < "parameters": {} < }, < { < "title": "sequence", < "type": "composite", < "name": "sequence", < "parameters": {}, < "children": [ < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hatch.behavior", < "title": "Hatch", < "parameters": { < "spawnOffset": [ < 10, < 10 < ] < } < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hatch.behavior", < "title": "Hatch", < "parameters": { < "spawnOffset": [ < -10, < 10 < ] < } < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hatch.behavior", < "title": "Hatch", < "parameters": { < "spawnOffset": [ < 10, < -10 < ] < } < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/hatch.behavior", < "title": "Hatch", < "parameters": { < "spawnOffset": [ < -10, < -10 < ] < } < } < ] < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/slam.behavior", < "title": "Slam", < "parameters": {} < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/acidspray.behavior", < "title": "Acid Spray", < "parameters": {} < }, < { < "type": "module", < "path": "/behaviors/monsters/boss/spiderboss/sweep.behavior", < "title": "Spiderboss Sweep", < "parameters": {} < } < ] < } 587,592d489 < { < "title": "resetLimiters", < "type": "action", < "name": "resetLimiters", < "parameters": {} < }, behaviors\monsters\unique\ixoling.behavior 8,9c8,10 < "/scripts/actions/entities.lua", < "/scripts/actions/math.lua" --- > "/scripts/actions/status.lua", > "/scripts/actions/math.lua", > "/scripts/actions/entities.lua" 54a56,64 > "title": "setParticleEmitterActive", > "type": "action", > "name": "setParticleEmitterActive", > "parameters": { > "active": true, > "emitter": "dripslime" > } > }, > { 58c68,70 < "parameters": {}, --- > "parameters": { > "success": 2 > }, 70a83,88 > "title": "wasDamaged", > "type": "action", > "name": "wasDamaged", > "parameters": {} > }, > { 75c93,96 < "time": 1 --- > "time": [ > 1, > 30 > ] 81c102 < "title": "setVelocity", --- > "title": "setResourcePercentage", 83c104 < "name": "setVelocity", --- > "name": "setResourcePercentage", 85,87c106,161 < "velocity": [ < 0, < 0 --- > "percentage": 1, > "resource": "health" > } > }, > { > "title": "repeater", > "type": "decorator", > "name": "repeater", > "parameters": { > "maxLoops": 6, > "untilSuccess": false > }, > "child": { > "title": "sequence", > "type": "composite", > "name": "sequence", > "parameters": { > "type": "sliding", > "state": "off", > "fromEntity": "attackTarget", > "toEntity": "fleeTarget" > }, > "children": [ > { > "title": "random", > "type": "action", > "name": "random", > "parameters": { > "max": 6.28, > "min": 0 > }, > "output": { > "number": "randAngle" > } > }, > { > "title": "spawnProjectile", > "type": "action", > "name": "spawnProjectile", > "parameters": { > "position": "self", > "offset": [ > 0, > 0 > ], > "projectileType": "goocluster", > "angle": "randAngle", > "sourceEntity": "self", > "trackSource": false, > "projectileConfig": { > "speed": 2 > }, > "scalePower": true, > "power": 0 > } > } 89a164,180 > }, > { > "title": "playSound", > "type": "action", > "name": "playSound", > "parameters": { > "sound": "hatch" > } > }, > { > "title": "setAnimationState", > "type": "action", > "name": "setAnimationState", > "parameters": { > "state": "idle", > "type": "body" > } 179a271,278 > "title": "timer", > "type": "action", > "name": "timer", > "parameters": { > "time": 0.25 > } > }, > { 226a326,333 > "title": "playSound", > "type": "action", > "name": "playSound", > "parameters": { > "sound": "attack" > } > }, > { 236c343 < "title": "setVelocity", --- > "title": "controlApproachVelocity", 238c345 < "name": "setVelocity", --- > "name": "controlApproachVelocity", 240,241c347,351 < "x": "dash", < "y": 0 --- > "velocity": [ > "dash", > 0 > ], > "force": 500 249c359,362 < "time": 0.5 --- > "time": [ > 0.15, > 0.35 > ] biomes\distributions.config 353c353 < "blockProbability" : 0.0010 --- > "blockProbability" : 0.0012 dungeons\other\challengerooms\challengerooms.dungeon 7c7 < "anchor" : [ "adventure1", "adventure2", "challengeroom1", "platform1", "platform2", "platform3", "platform4", "platform5", "puzzle1", "quiqksilver1", "quiqksilver2", "quiqksilver3", "quiqksilver4" ], --- > "anchor" : [ "adventure1", "adventure2", "challengeroom1", "platform1", "platform2", "platform3", "platform4", "platform5", "platform6", "puzzle1", "quiqksilver1", "quiqksilver2", "quiqksilver3", "quiqksilver4" ], 69a70,76 > }, > { > "name" : "platform6", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "platform6.json" ] dungeons\other\challengerooms\platform5.json [TMX file differences are left out for huge size.] dungeons\other\challengerooms\quiqksilver2.json [TMX file differences are left out for huge size.] dungeons\other\challengerooms\quiqksilver3.json [TMX file differences are left out for huge size.] monsters\bmonster.lua 5,7c5 < self.positions = {} < self.entities = {} < self.direction = 1 --- > self.shouldDie = true 57a56,59 > function shouldDie() > return self.shouldDie and status.resource("health") <= 0 > end > 152a155,163 > > > function setDying(args, output) > args = parseArgs(args, { > shouldDie = true > }) > self.shouldDie = args.shouldDie > return true > end \ No newline at end of file monsters\boss\spiderboss\spiderboss.animation 37a38,40 > }, > "dead" : { > "frames" : 1 51c54 < "cycle" : 1, --- > "cycle" : 0.5, 76c79 < "cycle" : 0.75, --- > "cycle" : 0.5, 165a169,173 > }, > "dead" : { > "properties" : { > "image" : ":dead." > } 389c397 < "sweep" : [ "/sfx/npc/smallbiped/sandworm_small_attack1.wav", "/sfx/npc/smallbiped/sandworm_small_attack2.wav" ], --- > "sweep" : [ "/sfx/objects/florandrum1.wav", "/sfx/objects/florandrum2.wav", "/sfx/objects/florandrum3.wav", "/sfx/objects/florandrum4.wav" ], monsters\boss\spiderboss\spiderboss.monstertype 81c81 < "baseValue" : 800 --- > "baseValue" : 10 monsters\boss\spiderboss\body\body.frames 11c11 < [ null, "slam.1"] --- > [ null, "slam.1", null, "dead.1"] monsters\unique\ixoling\ixoling.animation 11,13c11 < "cycle" : 1, < "mode" : "transition", < "transition" : "idle" --- > "cycle" : 1 28c26 < "cycle" : 0.3, --- > "cycle" : 0.5, 113,272d110 < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz1/fizz1.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [-8, 8], < "finalVelocity" : [-3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [-4, 2], < "finalVelocity" : [-3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz1/fizz1.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [8, 8], < "finalVelocity" : [3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [4, 2], < "finalVelocity" : [3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz2/fizz2.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [-8, 8], < "finalVelocity" : [-3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [-4, 2], < "finalVelocity" : [-3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz2/fizz2.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [8, 8], < "finalVelocity" : [3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [4, 2], < "finalVelocity" : [3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz3/fizz3.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [-8, 8], < "finalVelocity" : [-3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [-4, 2], < "finalVelocity" : [-3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz3/fizz3.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [8, 8], < "finalVelocity" : [3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [4, 2], < "finalVelocity" : [3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz4/fizz4.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [-8, 8], < "finalVelocity" : [-3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [-4, 2], < "finalVelocity" : [-3, -4] < } < } < }, < { < "particle" : { < "type" : "animated", < "animation" : "/animations/fizz4/fizz4.animation", < "size" : 1, < "angularVelocity" : 20, < "fade" : 1, < "destructionTime" : 7, < "position" : [0, 0], < "initialVelocity" : [8, 8], < "finalVelocity" : [3, -4], < "approach" : [15, 15], < "timeToLive" : 3.45, < "layer" : "middle", < "variance" : { < "initialVelocity" : [4, 2], < "finalVelocity" : [3, -4] < } < } 274a113,119 > }, > "dripslime" : { > "emissionRate" : 5, > "offsetRegion" : [-1, -1, 1, 1], > "particles" : [ > { "particle" : "poisondrip3" } > ] 288c133,135 < "deathPuff" : [ "/sfx/npc/enemydeathpuff.wav" ] --- > "deathPuff" : [ "/sfx/npc/enemydeathpuff.wav" ], > "hatch" : [ "/sfx/objects/fleshdoor_open.wav", "/sfx/objects/fleshdoor_close.wav" ], > "attack" : [ "/sfx/npc/smallbiped/arrowhead_small_attack1.wav", "/sfx/npc/smallbiped/arrowhead_small_attack2.wav" ] monsters\unique\ixoling\ixoling.monstertype 73c73 < "baseValue" : 30 --- > "baseValue" : 15 objects\ancient\airbooster\airbooster.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\ancientconsole\ancientconsole.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\ancientconsole\returnconsole.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\ancientgate\ancientgate.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\ancienthiddenplatform\ancienthiddenplatform.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\ancientlightplatform\ancientlightplatform.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\challengedoor\challengedoor.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\challengedoor\challengereturndoor.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\jumpbooster\jumpbooster.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\monolithgate\monolithgate.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\monolithstatue1\monolithstatue1.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\monolithstatue2\monolithstatue2.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\powerbooster\powerbooster.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\ancient\speedbooster\speedbooster.object 3c3 < "tags" : ["ancient","misc"], --- > "tags" : ["ancient"], objects\apex\apexarmchair\apexarmchair.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexbed\apexbed.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexcomfychair\apexcomfychair.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexcoolchair\apexcoolchair.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\apex\apexcouch\apexcouch.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexcurtain\apexcurtain.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexmedsign\apexmedsign.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\apex\apexofficechair\apexofficechair.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\apex\apexradio\apexradio.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexsink\apexsink.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexspeaker\apexspeaker.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexwoodenchair\apexwoodenchair.object 3c3 < "tags" : ["apex","apexvillage","misc"], --- > "tags" : ["apex","apexvillage"], objects\apex\apexwoodpanel\apexwoodpanel.object 3c3 < "tags" : ["apex","apexmansion","misc"], --- > "tags" : ["apex","apexmansion"], objects\apex\arrowsign\arrowsign.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\apex\cider\cider.object 3c3 < "tags" : ["apex","apexmansion","misc"], --- > "tags" : ["apex","apexmansion"], objects\apex\classicchair\classicchair.object 3c3 < "tags" : ["apex","apexmansion","misc"], --- > "tags" : ["apex","apexmansion"], objects\apex\classicglass\classicglass.object 3c3 < "tags" : ["apex","apexmansion","misc"], --- > "tags" : ["apex","apexmansion"], objects\apex\classicplate\classicplate.object 3c3 < "tags" : ["apex","apexmansion","misc"], --- > "tags" : ["apex","apexmansion"], objects\apex\electricsign\electricsign.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\apex\fantasyboardgame\fantasyboardgame.object 3c3 < "tags" : ["apex","apexmansion","odd","misc"], --- > "tags" : ["apex","apexmansion","odd"], objects\apex\reddangersign\reddangersign.object 3c3 < "tags" : ["apex","apexresearchlab","misc"], --- > "tags" : ["apex","apexresearchlab"], objects\avian\anchor\anchor.object 3c3 < "tags" : ["avian","avianairship","explorer","misc"], --- > "tags" : ["avian","avianairship","explorer"], objects\avian\avianbench1\avianbench1.object 3c3 < "tags" : ["avian","avianvillage","misc"], --- > "tags" : ["avian","avianvillage"], objects\avian\avianbench2\avianbench2.object 3c3 < "tags" : ["avian","avianvillage","misc"], --- > "tags" : ["avian","avianvillage"], objects\avian\birdaltar2\birdaltar2.object 3c3 < "tags" : ["avian","aviantemple","misc"], --- > "tags" : ["avian","aviantemple"], objects\avian\birdbed\birdbed.object 3c3 < "tags" : ["avian","aviantemple","misc"], --- > "tags" : ["avian","aviantemple"], objects\avian\birdtable\birdtable.object 3c3 < "tags" : ["avian","aviantemple","misc"], --- > "tags" : ["avian","aviantemple"], objects\avian\birdthrone\birdthrone.object 3c3 < "tags" : ["avian","aviantemple","misc"], --- > "tags" : ["avian","aviantemple"], objects\avian\sarcoavian1\sarcoavian1.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\sarcoavian2\sarcoavian2.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\sarcobunny\sarcobunny.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\sarcohuman\sarcohuman.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\sarcohuman\sarcohumanalive.object 3c3 < "tags" : ["avian","aviantomb","odd","misc"], --- > "tags" : ["avian","aviantomb","odd"], objects\avian\tombstone1\tombstone1.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone10\tombstone10.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone11\tombstone11.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone2\tombstone2.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone3\tombstone3.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone4\tombstone4.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone5\tombstone5.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone6\tombstone6.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone7\tombstone7.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone8\tombstone8.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombstone9\tombstone9.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombthing1\tombthing1.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombthing2\tombthing2.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombthing3\tombthing3.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tombthing4\tombthing4.object 3c3 < "tags" : ["avian","aviantomb","misc"], --- > "tags" : ["avian","aviantomb"], objects\avian\tribalbed2\tribalbed2.object 3c3 < "tags" : ["avian","avianvillage","misc"], --- > "tags" : ["avian","avianvillage"], objects\colony\colonydeed\colonydeed.lua 12c12,54 < storage.scanCooldown = storage.scanCooldown or entity.randomizeParameterRange("deed.firstScan") or entity.randomizeParameterRange("deed.scanFrequency") --- > > self.timers = TimerManager:new() > > self.scanTimer = Timer:new("scanTimer", { > delay = "deed.scanFrequency", > completeCallback = scan, > loop = true > }) > self.scanTimer:updateOrStart(0, "deed.firstScan") > self.timers:manage(self.scanTimer) > > self.rentTimer = Timer:new("rentTimer", { > timeCallback = world.time, > delay = randomizeRentTimer > }) > self.timers:runWhile(self.rentTimer, function() > return isOccupied() and not isGrumbling() and not isVacated() and not isHealing() > end) > > self.grumbleTimer = Timer:new("grumbleTimer", { > timeCallback = world.time, > delay = "deed.repairTimeRange", > completeCallback = checkHouseIntegrity > }) > self.timers:runWhile(self.grumbleTimer, function () > return isOccupied() and storage.grumbles and #storage.grumbles > 0 > end) > > self.healingTimer = Timer:new("healingTimer", { > timeCallback = world.time, > delay = "deed.healingStateDuration", > completeCallback = respawnTenants > }) > self.timers:manage(self.healingTimer) > > self.healthCheckTimer = Timer:new("healthCheckTimer", { > delay = "deed.healthCheckFrequency", > completeCallback = healthCheck, > loop = true > }) > self.timers:runWhile(self.healthCheckTimer, function () > return isOccupied() and not isVacated() and not isHealing() > end) 19,20c61,62 < world.spawnTreasure(self.position, rent.pool, rent.level) < storage.rentTimer = 0 --- > world.spawnTreasure(self.position, rent.pool, getRentLevel()) > self.rentTimer:reset() 28c70 < scanArea() --- > scanVacantArea() 46,50c88 < if isOccupied() then < updateOccupied(dt) < else < updateScanning(dt) < end --- > self.timers:update(dt) 73c111 < if storage.grumbleTimer ~= nil then --- > if isGrumbling() then 85a124,127 > function isGrumbling() > return self.grumbleTimer:active() > end > 88c130 < return storage.rentTimer and rent and storage.rentTimer > rent.period --- > return rent and self.rentTimer:complete() 97a140,144 > function getRentLevel() > -- TODO base this on happiness > return 1 > end > 118,126c165 < return storage.healingCountdown ~= nil < end < < function updateScanning(dt) < storage.scanCooldown = storage.scanCooldown - dt < < if storage.scanCooldown <= 0 then < scanArea() < end --- > return self.healingTimer:active() 129,144c168,169 < function updateOccupied(dt) < storage.scanCooldown = storage.scanCooldown - dt < if not isVacated() then < if isHealing() then < updateHealing(dt) < else < healthCheckTenants(dt) < end < < if storage.grumbleTimer ~= nil then < storage.grumbleTimer = storage.grumbleTimer - dt < else < storage.rentTimer = (storage.rentTimer or 0) + dt < end < end < if storage.scanCooldown <= 0 then --- > function scan() > if isOccupied() then 145a171,172 > else > scanVacantArea() 149,154c176,179 < function updateHealing(dt) < storage.healingCountdown = storage.healingCountdown - dt < if storage.healingCountdown <= 0 then < respawnTenants() < storage.healingCountdown = nil < end --- > function randomizeRentTimer() > local rent = getRent() > if not rent then return nil end > return entity.randomizeParameterRange("deed.rentPeriodRange", rent.periodRange) 157,168c182,184 < function healthCheckTenants(dt) < if storage.healthCheckCooldown == nil then < storage.healthCheckCooldown = entity.randomizeParameterRange("deed.healthCheckFrequency") < end < storage.healthCheckCooldown = storage.healthCheckCooldown - dt < < if storage.healthCheckCooldown <= 0 then < if anyTenantsDead() then < storage.healingCountdown = entity.randomizeParameterRange("deed.healingStateDuration") < storage.rentTimer = nil < end < storage.healthCheckCooldown = nil --- > function healthCheck() > if anyTenantsDead() then > self.healingTimer:start() 187d202 < storage.grumbleTimer = nil 296c311 < function scanArea() --- > function scanVacantArea() 315a331,334 > if #self.newTenantProjectile > 0 then > local projectile = self.newTenantProjectile[math.random(#self.newTenantProjectile)] > world.spawnProjectile(projectile, self.position, entity.id()) > end 322,323d340 < < storage.scanCooldown = entity.randomizeParameterRange("deed.scanFrequency") 329,332d345 < if #storage.grumbles > 0 then < storage.rentTimer = nil < end < 341,347c354 < storage.scanCooldown = entity.randomizeParameterRange("deed.scanFrequency") < < if #storage.grumbles > 0 and storage.grumbleTimer == nil then < storage.grumbleTimer = entity.randomizeParameterRange("deed.repairTimeRange") < elseif #storage.grumbles == 0 then < storage.grumbleTimer = nil < elseif #storage.grumbles > 0 and storage.grumbleTimer ~= nil and storage.grumbleTimer <= 0 then --- > if #storage.grumbles > 0 and isGrumbling() and self.grumbleTimer:complete() then objects\colony\colonydeed\colonydeed.object 26a27 > "/objects/colony/colonydeed/timer.lua", 40c41 < "interactive" : true, //whether interaction triggers a scan --- > "interactive" : true, //whether interaction (to trigger a scan / call home the NPC) is possible 45c46 < "firstScan" : [1.0, 1.0], //delay before the first scan occurs --- > "firstScan" : [0.0, 2.0], //delay before the first scan occurs 50a52,53 > > "newTenantProjectile" : [], //celebratory projectile to fire when someone new moves in, chosen randomly from the list here objects\colony\colonydeed\scanning.lua 83a84,89 > > -- If we add tags to materials, this bit of code could be replaced: > if isShipWorld() then > tags["ship"] = 1 > end > 86a93,96 > function isShipWorld() > return world.getProperty("ship.fuel") ~= nil > end > 155a166,170 > if isShipWorld() then > -- Consider the background filled if we're on a ship. Otherwise it would > -- be weird when the house is rejected because there's a window in it. > return true > end 230c245 < local objects = world.objectQuery(position, position, {callScript = "doorOccupiesSpace", callScriptArgs = {position}}) --- > local objects = world.objectQuery(position, position, {callScript = "doorOccupiesSpace", callScriptArgs = {world.wrap(position)}}) objects\crafting\roboticcraftingtable\roboticcraftingtable.object 3c3 < "tags" : ["crafting","electronic","mechanical"], --- > "tags" : ["crafting","mechanical"], objects\floran\floranarmchair\floranarmchair.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranbed\floranbed.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranbench\floranbench.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranbonestool\floranbonestool.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranchair\floranchair.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\florancouch\florancouch.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\florancurtain\florancurtain.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranscreen1\floranscreen1.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\floranscreen2\floranscreen2.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\florantanningrack\florantanningrack.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\florantoilet\florantoilet.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\huntingbench\huntingbench.object 3c3 < "tags" : ["floran","floranvillage","misc"], --- > "tags" : ["floran","floranvillage"], objects\floran\huntingdisplay2\huntingdisplay2.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\huntingplatform1\huntingplatform1.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\huntingplatform2\huntingplatform2.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\huntingplatformrocks\huntingplatformrocks.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\huntingrail1\huntingrail1.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\huntingrail2\huntingrail2.object 3c3 < "tags" : ["floran","floranhuntinggrounds","misc"], --- > "tags" : ["floran","floranhuntinggrounds"], objects\floran\plantbed1\plantbed1.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantbed2\plantbed2.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantbed3\plantbed3.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantbed4\plantbed4.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantbrokencage\plantbrokencage.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantcage1\plantcage1.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantcage2\plantcage2.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantcage3\plantcage3.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantchair\plantchair.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantdrysapdispenser\plantdrysapdispenser.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantgeyser1\plantgeyser1.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantgeyser2\plantgeyser2.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantlog\plantlog.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantplatform1\plantplatform1.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantplatform2\plantplatform2.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\floran\plantvinetable\plantvinetable.object 3c3 < "tags" : ["floran","floranprison","misc"], --- > "tags" : ["floran","floranprison"], objects\generic\carbed\carbed.object 3c3 < "tags" : ["mechanical","pretty","valuable"], --- > "tags" : ["human","mechanical","pretty","valuable"], objects\generic\cultistaltar\cultistaltar.object 3c3 < "tags" : ["evil","misc"], --- > "tags" : ["evil"], objects\generic\eggchair\eggchair.object 3c3 < "tags" : ["human","humanbunker","misc"], --- > "tags" : ["human","humanbunker"], objects\generic\flagapex\flagapex.object 3c3 < "tags" : ["apex","misc"], --- > "tags" : ["apex"], objects\generic\flagavian\flagavian.object 3c3 < "tags" : ["avian","misc"], --- > "tags" : ["avian"], objects\generic\flagfloran\flagfloran.object 3c3 < "tags" : ["floran","misc"], --- > "tags" : ["floran"], objects\generic\flagglitch\flagglitch.object 3c3 < "tags" : ["glitch","misc"], --- > "tags" : ["glitch"], objects\generic\flaghuman\flaghuman.object 3c3 < "tags" : ["human","misc"], --- > "tags" : ["human"], objects\generic\flaghylotl\flaghylotl.object 3c3 < "tags" : ["hylotl","misc"], --- > "tags" : ["hylotl"], objects\generic\flagnovakid\flagnovakid.object 3c3 < "tags" : ["novakid","misc"], --- > "tags" : ["novakid"], objects\generic\markergroundplaque\markergroundplaque.object 3c3 < "tags" : ["decorative"], --- > "tags" : ["pretty"], objects\generic\markerwallplaque1\markerwallplaque1.object 3c3 < "tags" : ["decorative"], --- > "tags" : ["pretty"], objects\generic\markerwallplaque2\markerwallplaque2.object 3c3 < "tags" : ["decorative"], --- > "tags" : ["pretty"], objects\generic\markerwallplaque3\markerwallplaque3.object 3c3 < "tags" : ["decorative"], --- > "tags" : ["pretty"], objects\generic\metalbarrel1\metalbarrel1.object 3c3 < "tags" : ["human","humanbunker","misc"], --- > "tags" : ["human","humanbunker","storage"], objects\generic\metalbarrel2\metalbarrel2.object 3c3 < "tags" : ["human","humanbunker","misc"], --- > "tags" : ["human","humanbunker","storage"], objects\generic\modernchair\modernchair.object 3c3 < "tags" : ["human","humanbunker","misc"], --- > "tags" : ["human","humanbunker"], objects\generic\moderntable\moderntable.object 3c3 < "tags" : ["human","humanbunker","misc"], --- > "tags" : ["human","humanbunker"], objects\generic\pleaseget\pleaseget.object 3c3 < "tags" : [], --- > "tags" : ["misc"], objects\generic\randomfountain\randomfountain.object 3c3 < "tags" : ["pretty","misc"], --- > "tags" : ["misc"], objects\generic\sleepingbag\sleepingbag.object 3c3 < "tags" : ["explorer"], --- > "tags" : ["human","explorer"], objects\generic\steelchair\steelchair.object 3c3 < "tags" : ["human","humanprison","misc"], --- > "tags" : ["human","humanprison"], objects\generic\teacup1\teacup1.object 3c3 < "tags" : ["cooking","pretty"], --- > "tags" : ["cooking"], objects\generic\teapot1\teapot1.object 3c3 < "tags" : ["cooking","pretty"], --- > "tags" : ["cooking"], objects\generic\wooddoor\wooddoor.object 3c3 < "tags" : ["misc"], --- > "tags" : ["door"], objects\glitch\anvil\anvil.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","crafting"], objects\glitch\ballandchain\ballandchain.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","evil"], objects\glitch\bannermedievallarge\bannermedievallarge.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\bannermedievalsmall\bannermedievalsmall.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\barrel\barrel.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage","commerce"], objects\glitch\barrellarge\barrellarge.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage","commerce"], objects\glitch\battlestandard\battlestandard.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\castledoor\castledoor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","door"], objects\glitch\castledungeondoor\castledungeondoor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","door"], objects\glitch\castlehiddendoor\castlehiddendoor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","door"], objects\glitch\castlehiddentrapdoor\castlehiddentrapdoor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","door"], objects\glitch\castleswitch\castleswitch.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","wired","pretty"], objects\glitch\chessbishop\chessbishop.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\chessking\chessking.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\chessknight\chessknight.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\chesspawn\chesspawn.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\chessqueen\chessqueen.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\chessrook\chessrook.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\garagetools\garagetools.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","crafting"], objects\glitch\glitchstoragelocker\glitchstoragelocker.object 3c3 < "tags" : ["glitch"], --- > "tags" : ["glitch","storage"], objects\glitch\guillotine\guillotine.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","evil"], objects\glitch\haypile\haypile.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","nature"], objects\glitch\hayroll\hayroll.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","nature"], objects\glitch\haystack\haystack.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","nature"], objects\glitch\hourglass\hourglass.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\kitchentools\kitchentools.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","cooking"], objects\glitch\largebell\largebell.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","musical","pretty"], objects\glitch\largecastledoor\largecastledoor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","door"], objects\glitch\largewoodencrate\largewoodencrate.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage","commerce"], objects\glitch\medievalarmor\medievalarmor.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty"], objects\glitch\medievalarmorarmed\medievalarmorarmed.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty"], objects\glitch\medievalarmorswitch\medievalarmorswitch.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty","wired"], objects\glitch\medievalaxedisplay\medievalaxedisplay.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty"], objects\glitch\medievalbookcase\medievalbookcase.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","knowledge","storage"], objects\glitch\medievalbookcaseswitch\medievalbookcaseswitch.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","knowledge","storage","wired"], objects\glitch\medievalcabinet\medievalcabinet.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\medievalcandle\medievalcandle.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","light"], objects\glitch\medievalchandelier\medievalchandelier.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","light"], objects\glitch\medievalchest\medievalchest.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\medievalclock\medievalclock.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","mechanical","pretty"], objects\glitch\medievalcounter\medievalcounter.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","cooking"], objects\glitch\medievaldesk\medievaldesk.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","storage"], objects\glitch\medievaldiningtable\medievaldiningtable.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable"], objects\glitch\medievaldresser\medievaldresser.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\medievalfireplace\medievalfireplace.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","light"], objects\glitch\medievalflagpole\medievalflagpole.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty"], objects\glitch\medievalfurnace\medievalfurnace.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","crafting","light"], objects\glitch\medievalglobe\medievalglobe.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","knowledge","explorer"], objects\glitch\medievallamp\medievallamp.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","light"], objects\glitch\medievallargecookingpot\medievallargecookingpot.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","cooking","light"], objects\glitch\medievalmap\medievalmap.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","explorer","knowledge"], objects\glitch\medievalpedestal\medievalpedestal.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","pretty","commerce"], objects\glitch\medievalpressureplate\medievalpressureplate.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","wired"], objects\glitch\medievalregister\medievalregister.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce"], objects\glitch\medievalshelf\medievalshelf.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\medievalspikes\medievalspikes.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","evil"], objects\glitch\medievalstock\medievalstock.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","evil"], objects\glitch\medievalstreetlamp\medievalstreetlamp.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","light"], objects\glitch\medievalswitchhidden\medievalswitchhidden.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","wired"], objects\glitch\medievalswitchlever\medievalswitchlever.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","wired"], objects\glitch\medievalswitchshackle\medievalswitchshackle.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","wired","evil"], objects\glitch\medievalsworddisplay\medievalsworddisplay.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty"], objects\glitch\medievaltable\medievaltable.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce"], objects\glitch\medievaltorch\medievaltorch.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","light"], objects\glitch\medievalwallshelf\medievalwallshelf.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\medievalweaponrack\medievalweaponrack.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat"], objects\glitch\royalbed\royalbed.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable"], objects\glitch\royalbookcase\royalbookcase.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable","storage","knowledge"], objects\glitch\royalcabinet\royalcabinet.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable","storage"], objects\glitch\royalcandles\royalcandles.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable","light"], objects\glitch\royalchalice\royalchalice.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable"], objects\glitch\royalchest\royalchest.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable","storage"], objects\glitch\royaldesk\royaldesk.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable","commerce","storage"], objects\glitch\royalthrone\royalthrone.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable"], objects\glitch\royaltoilet\royaltoilet.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","valuable"], objects\glitch\sewagebarrel\sewagebarrel.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","storage"], objects\glitch\sewerflooddoor\sewerflooddoor.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","door"], objects\glitch\sewergauge\sewergauge.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","mechanical"], objects\glitch\sewergear\sewergear.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","mechanical"], objects\glitch\sewertank\sewertank.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","mechanical"], objects\glitch\sewervalve\sewervalve.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","mechanical","wired"], objects\glitch\signarmorshop\signarmorshop.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","combat"], objects\glitch\signforge\signforge.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","crafting"], objects\glitch\signinn\signinn.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce"], objects\glitch\signlibrary\signlibrary.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","knowledge"], objects\glitch\signproduce\signproduce.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","cooking"], objects\glitch\signweaponshop\signweaponshop.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","commerce","combat"], objects\glitch\smallwoodencrate\smallwoodencrate.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage","commerce"], objects\glitch\target\target.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","combat"], objects\glitch\targetdummy\targetdummy.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","combat"], objects\glitch\toxicwastebarrel\toxicwastebarrel.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","storage"], objects\glitch\trashbag\trashbag.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","storage"], objects\glitch\trashcan\trashcan.object 3c3 < "tags" : ["glitch","glitchsewer"], --- > "tags" : ["glitch","glitchsewer","storage"], objects\glitch\villagedoor\villagedoor.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","door"], objects\glitch\wallshackles\wallshackles.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","evil"], objects\glitch\wallshield\wallshield.object 3c3 < "tags" : ["glitch","glitchcastle"], --- > "tags" : ["glitch","glitchcastle","combat","pretty"], objects\glitch\wickerbasket1\wickerbasket1.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\wickerbasket2\wickerbasket2.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\wickerbasket3\wickerbasket3.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\wickerbasket4\wickerbasket4.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\glitch\wickerbasket5\wickerbasket5.object 3c3 < "tags" : ["glitch","glitchvillage"], --- > "tags" : ["glitch","glitchvillage","storage"], objects\hoard\barrelgoldfilled\barrelgoldfilled.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","storage","valuable"], objects\hoard\diamonddisplay\diamonddisplay.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\goldenpedestal\goldenpedestal.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable"], objects\hoard\goldvase1\goldvase1.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\goldvase2\goldvase2.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\goldvase3\goldvase3.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\goldvase4\goldvase4.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\goldvase5\goldvase5.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable","pretty"], objects\hoard\grail\grail.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","valuable"], objects\hoard\mysteriouslight\mysteriouslight.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","light"], objects\hoard\safe\safe.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","storage"], objects\hoard\treasurechest\treasurechest.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","storage","valuable"], objects\hoard\woodencrategoldfilled\woodencrategoldfilled.object 3c3 < "tags" : ["hoard"], --- > "tags" : ["hoard","storage","valuable"], objects\holiday\bigpresent\bigpresent.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","storage"], objects\holiday\decoratedtree\decoratedtree.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty","light"], objects\holiday\dreidel\dreidel.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\giantbells\giantbells.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty","musical"], objects\holiday\giantbow1\giantbow1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\giantbow2\giantbow2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\giantsanta\giantsanta.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\giantsnowflake\giantsnowflake.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\giftmonsterbox\giftmonsterbox.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\giftmonsterbox\giftmonstersmallbox.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\goldball\goldball.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\greencandycane1\greencandycane1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\greencandycane2\greencandycane2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\greencandycane3\greencandycane3.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\greengumdrop1\greengumdrop1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\greengumdrop2\greengumdrop2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\heartforge\heartforge.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["valentines","crafting","light"], objects\holiday\holidaycandles\holidaycandles.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","light"], objects\holiday\holidaycraftingtable\holidaycraftingtable.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","mechanical","crafting"], objects\holiday\holidaylights\holidaylights.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","light"], objects\holiday\holidaypole\holidaypole.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\holly\holly.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","nature"], objects\holiday\lollipop1\lollipop1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\lollipop2\lollipop2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\menorah\menorah.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","light"], objects\holiday\present1\present1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","storage"], objects\holiday\present2\present2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","storage"], objects\holiday\present3\present3.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","storage"], objects\holiday\present4\present4.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","storage"], objects\holiday\purplegumdrop1\purplegumdrop1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\purplegumdrop2\purplegumdrop2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\redball\redball.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\redcandycane1\redcandycane1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\redcandycane2\redcandycane2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\redcandycane3\redcandycane3.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\redgumdrop1\redgumdrop1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\redgumdrop2\redgumdrop2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\scifisleigh\scifisleigh.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","mechanical"], objects\holiday\smallbow\smallbow.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\smallholidaytree\smallholidaytree.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\smallsnowflake\smallsnowflake.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\stocking1\stocking1.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\stocking2\stocking2.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas"], objects\holiday\undecoratedtree\undecoratedtree.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","pretty"], objects\holiday\wazlights\wazlights.object 3c3 < "tags" : ["holiday"], --- > "tags" : ["christmas","light"], objects\human\alertlight\alertlight.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light"], objects\human\barbedwire\barbedwire.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","evil"], objects\human\basictv\basictv.object 3c3 < "tags" : ["human","humanvillage"], --- > "tags" : ["human","humanvillage","electronic"], objects\human\bunkerbigpanel\bunkerbigpanel.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerbookcase\bunkerbookcase.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","knowledge","storage"], objects\human\bunkercabinet1\bunkercabinet1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","storage"], objects\human\bunkerceilinglight1\bunkerceilinglight1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light"], objects\human\bunkerceilinglight2\bunkerceilinglight2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light"], objects\human\bunkercomputer\bunkercomputer.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerconsole1\bunkerconsole1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerconsole2\bunkerconsole2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic","wired"], objects\human\bunkerconsole3\bunkerconsole3.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerconsole4\bunkerconsole4.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkercrate\bunkercrate.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","storage","commerce"], objects\human\bunkerdesk\bunkerdesk.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic","storage","commerce"], objects\human\bunkerdisplay1\bunkerdisplay1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerdisplay2\bunkerdisplay2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerdisplay3\bunkerdisplay3.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerdisplay4\bunkerdisplay4.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkereyescanner\bunkereyescanner.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic","wired"], objects\human\bunkerhandscanner\bunkerhandscanner.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic","wired"], objects\human\bunkerheater1\bunkerheater1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","mechanical"], objects\human\bunkerlighth\bunkerlighth.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light"], objects\human\bunkerlightv\bunkerlightv.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light"], objects\human\bunkermotiondetector\bunkermotiondetector.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic","wired"], objects\human\bunkerpanel1\bunkerpanel1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerpanel2\bunkerpanel2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerpanel3\bunkerpanel3.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerposter1\bunkerposter1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","pretty"], objects\human\bunkerposter2\bunkerposter2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","pretty"], objects\human\bunkerserver\bunkerserver.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkerslidingdoor\bunkerslidingdoor.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","mechanical","door"], objects\human\bunkertable1\bunkertable1.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","commerce"], objects\human\bunkertable2\bunkertable2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","commerce"], objects\human\bunkertable3\bunkertable3.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkertv\bunkertv.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkertv2\bunkertv2.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\bunkervent\bunkervent.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","mechanical"], objects\human\bunkerwires\bunkerwires.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","electronic"], objects\human\fridge\fridge.object 3c3 < "tags" : ["human","humanvillage"], --- > "tags" : ["human","humanvillage","cooking","storage"], objects\human\humanstoragelocker\humanstoragelocker.object 3c3 < "tags" : ["human"], --- > "tags" : ["human","storage"], objects\human\jukebox\jukebox.object 3c3 < "tags" : ["human"], --- > "tags" : ["human","musical","pretty","light"], objects\human\lavalamp1\lavalamp1.object 3c3 < "tags" : ["human"], --- > "tags" : ["human","pretty","light"], objects\human\microwave\microwave.object 3c3 < "tags" : ["human","humanvillage"], --- > "tags" : ["human","humanvillage","cooking","electronic"], objects\human\oven1\oven1.object 3c3 < "tags" : ["human","humanvillage"], --- > "tags" : ["human","humanvillage","cooking"], objects\human\prisonarch\prisonarch.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","pretty"], objects\human\prisonbarrelfire\prisonbarrelfire.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","light"], objects\human\prisoncabinet1\prisoncabinet1.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","storage"], objects\human\prisoncamerastation\prisoncamerastation.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","electronic"], objects\human\prisoncontrolpanel\prisoncontrolpanel.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","electronic","wired"], objects\human\prisoncorner\prisoncorner.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","pretty"], objects\human\prisondoor\prisondoor.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","door"], objects\human\prisonexitsign\prisonexitsign.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","light"], objects\human\prisonfile1\prisonfile1.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","storage"], objects\human\prisonfile2\prisonfile2.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","storage"], objects\human\prisonfloodlight\prisonfloodlight.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","light"], objects\human\prisonforcecell\prisonforcecell.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","light"], objects\human\prisonlocker1\prisonlocker1.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","storage"], objects\human\prisonlocker2\prisonlocker2.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","storage"], objects\human\prisonpanel\prisonpanel.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","electronic"], objects\human\prisonradiator\prisonradiator.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","mechanical"], objects\human\prisonsecuritycamera\prisonsecuritycamera.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","electronic","mechanical"], objects\human\prisontoilet\prisontoilet.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","evil"], objects\human\prisontorturebed1\prisontorturebed1.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","evil"], objects\human\prisontorturebed2\prisontorturebed2.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","evil"], objects\human\prisonturbine\prisonturbine.object 3c3 < "tags" : ["human","humanprison"], --- > "tags" : ["human","humanprison","mechanical"], objects\human\techconsolehuman\techconsolehuman.object 3c3 < "tags" : ["human","light"], --- > "tags" : ["misc"], objects\human\vendingmachine\vendingmachine.object 3c3 < "tags" : ["human","humanbunker"], --- > "tags" : ["human","humanbunker","light","mechanical"], objects\hylotl\airlockdoor\airlockdoor.object 3c3 < "tags" : ["hylotl","hylotloceancity"], --- > "tags" : ["hylotl","hylotloceancity","door","mechanical"], scripts\actions\movement.lua 143a144,159 > -- param velocity > -- param force > function controlApproachVelocity(args, output) > args = parseArgs(args, { > velocity = {0,0}, > force = 500 > }) > > local velocity = BData:getVec2(args.velocity) > local force = BData:getNumber(args.force) > if velocity == nil or force == nil then return false end > > mcontroller.controlApproachVelocity(velocity, force) > return true > end > tenants\chefmerchantwithpig.tenant 27,28c27 < "period": 10.0, < "level": 1, --- > "periodRange": [10.0, 10.0], tenants\chefmerchantwithquadruped.tenant 27,28c27 < "period": 10.0, < "level": 5, --- > "periodRange": [10.0, 10.0], tenants\florancouple.tenant 25,26c25 < "period": 10.0, < "level": 3, --- > "periodRange": [10.0, 10.0], tenants\villager.tenant 20,21c20 < "period": 10.0, < "level": 2, --- > "periodRange": [20.0, 40.0], treasure\default.treasurechests 6c6 < "containers" : [ "podchest", "chestavian2" ], --- > "containers" : [ "podchest" ], 32c32 < "containers" : [ "podchest", "chestavian2" ], --- > "containers" : [ "podchest"], 34c34 < "minimumLevel" : 1 --- > "minimumLevel" : 0 48c48 < "containers" : [ "podchest" ], --- > "containers" : [ "podchest", "chestavian2" ],