FILES ----- player.config spawner.config biomes\surface_detached\oasis.biome biomes\surface_detached\tar.biome [NEW] dungeons\microdungeons\biomes\desert\arch4.json [NEW] dungeons\microdungeons\biomes\desert\desertcabin4.json [NEW] dungeons\microdungeons\biomes\desert\desertcabin5.json dungeons\microdungeons\biomes\desert\desertmicrodungeons.dungeon [NEW] dungeons\microdungeons\biomes\tarpits\pitfulloftar1.json [NEW] dungeons\microdungeons\biomes\tarpits\tararch1.json [NEW] dungeons\microdungeons\biomes\tarpits\tarcamp1.json [NEW] dungeons\microdungeons\biomes\tarpits\tarcave1.json [NEW] dungeons\microdungeons\biomes\tarpits\tarpit1.json [NEW] dungeons\microdungeons\biomes\tarpits\tarpitsmicrodungeons.dungeon [NEW] dungeons\microdungeons\biomes\tarpits\tarruin1.json [NEW] dungeons\microdungeons\biomes\tarpits\tarruin2.json dungeons\other\challengerooms\hydroponics.json [NEW] dungeons\undergroundmaze\mazeglitch1\chamberendleft.json [NEW] dungeons\undergroundmaze\mazeglitch1\chamberendright.json [NEW] dungeons\undergroundmaze\mazeglitch1\chamberendtop.json [NEW] dungeons\undergroundmaze\mazeglitch1\corner1a.json [NEW] dungeons\undergroundmaze\mazeglitch1\corner2a.json [NEW] dungeons\undergroundmaze\mazeglitch1\corner3a.json [NEW] dungeons\undergroundmaze\mazeglitch1\corner4a.json [NEW] dungeons\undergroundmaze\mazeglitch1\drop.json [NEW] dungeons\undergroundmaze\mazeglitch1\endleft1.json [NEW] dungeons\undergroundmaze\mazeglitch1\endleft2.json [NEW] dungeons\undergroundmaze\mazeglitch1\endright1.json [NEW] dungeons\undergroundmaze\mazeglitch1\endright2.json [NEW] dungeons\undergroundmaze\mazeglitch1\entrytop.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1a.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1b.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1c.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1d.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1e.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1f.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1g.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1h.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall1i.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2a.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2b.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2c.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2d.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2e.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2f.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2g.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2h.json [NEW] dungeons\undergroundmaze\mazeglitch1\hall2i.json [NEW] dungeons\undergroundmaze\mazeglitch1\hotflash.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction1a.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction1b.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction1c.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction1d.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction1e.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction2a.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction2b.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction2c.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction2d.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction2e.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3a.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3b.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3c.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3d.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3e.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction3f.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4a.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4b.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4c.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4d.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4e.json [NEW] dungeons\undergroundmaze\mazeglitch1\junction4f.json [NEW] dungeons\undergroundmaze\mazeglitch1\longhall1.json [NEW] dungeons\undergroundmaze\mazeglitch1\longhall2.json [NEW] dungeons\undergroundmaze\mazeglitch1\mazeglitch1.dungeon monsters\flocking.lua monsters\boss\penguinminiufo\behavior.lua monsters\ground\groundmonster.lua monsters\ground\socializestate.lua monsters\pets\groundpet.lua npcs\chatstate.lua npcs\followstate.lua npcs\main.lua npcs\meleeattackstate.lua npcs\guard\houndstate.lua objects\colony\colonydeed\colonydeed.lua parallax\surface\forest.parallax [NEW] recipes\plain\cabinroofing.recipe scripts\entityproxy.lua scripts\actions\reaction.lua scripts\behavior\bgroup.lua stagehands\coordinator\npccombat.lua tiles\materials\brick.material tiles\materials\brick.png tiles\materials\eyepiles.material tiles\materials\fadedblocks.material DIFFS ----- player.config 19a20 > { "item" : "cabinroofing" }, spawner.config 764c764 < "birdcritter" : { --- > "birdcritter" : { 988c988 < "gullcritter" : { --- > "gullcritter" : { 1002c1002 < "reasonablecritter" : { --- > "reasonablecritter" : { 1016c1016 < "owlcritter" : { --- > "owlcritter" : { 1030c1030 < "blipcritter" : { --- > "blipcritter" : { 1044c1044 < "sporelingcritter" : { --- > "sporelingcritter" : { 1058c1058 < "groopcritter" : { --- > "groopcritter" : { 1072c1072 < "squidcritter" : { --- > "squidcritter" : { 1086c1086 < "jellycritter" : { --- > "jellycritter" : { 1100c1100 < "ravencritter" : { --- > "ravencritter" : { 1114c1114 < "wurmcritter" : { --- > "wurmcritter" : { 1128c1128 < "vulturecritter" : { --- > "vulturecritter" : { 1142c1142 < "squeekcritter" : { --- > "squeekcritter" : { 1156c1156 < "deserttortoise" : { --- > "deserttortoisecritter" : { 1164c1164 < "monsterType" : "deserttortoise", --- > "monsterType" : "deserttortoisecritter", 1170c1170 < "bowbirdcritter" : { --- > "bowbirdcritter" : { biomes\surface_detached\oasis.biome 8c8 < "extraSpawns" : [ "mousecritter", "squeekcritter", "deserttortoise", "bowbirdcritter" ], --- > "extraSpawns" : [ "mousecritter", "squeekcritter", "deserttortoisecritter", "bowbirdcritter" ], 15c15 < "extraSpawns" : [ "mousecritter", "squeekcritter", "deserttortoise", "bowbirdcritter" ], --- > "extraSpawns" : [ "mousecritter", "squeekcritter", "deserttortoisecritter", "bowbirdcritter" ], biomes\surface_detached\tar.biome 68c68 < "priority" : 1.0, --- > "priority" : 1, 70c70 < "distribution" : "/biomes/distributions.config:denseLarge", --- > "distribution" : "/biomes/distributions.config:mainBiomeMicrodungeon", 73c73 < "microdungeons" : [ "tar" ] --- > "microdungeons" : [ "tarpitsmicrodungeons" ] dungeons\microdungeons\biomes\desert\desertmicrodungeons.dungeon 8c8 < "anchor" : [ "arch1", "arch2", "arch3", "column1", "desert1", "desert2", "desertcabin1", "desertcabin2", "desertcabin3", "deserthouse1", "desertpillar1", "desertpillar2", "desertpyramid1", "desertwell1", "desertwell2", "desertwell3", "oldhouse1", "oldhouse2", "oldhouse3", "spikepit1", "spikepit2" ], --- > "anchor" : [ "arch1", "arch2", "arch3", "column1", "desert1", "desert2", "desertcabin1", "desertcabin2", "desertcabin3", "desertcabin4", "desertcabin5", "deserthouse1", "desertpillar1", "desertpillar2", "desertpyramid1", "desertwell1", "desertwell2", "desertwell3", "oldhouse1", "oldhouse2", "oldhouse3", "spikepit1", "spikepit2", "spikepit3" ], 80a81,94 > "name" : "desertcabin4", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "desertcabin4.json" ] > }, > { > "name" : "desertcabin5", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "desertcabin5.json" ] > }, > { 162a177,183 > }, > { > "name" : "spikepit3", > "rules" : [ > [ "maxSpawnCount", [1] ] > ], > "def" : [ "tmx", "spikepit3.json" ] dungeons\other\challengerooms\hydroponics.json [TMX file differences are left out for huge size.] monsters\flocking.lua 25c25 < local flockInfo = world.callScriptedEntity(entityId, flockGroupFunctionName) --- > local flockInfo = world.callLocalScriptedEntity(entityId, flockGroupFunctionName) monsters\boss\penguinminiufo\behavior.lua 54c54 < local minionState = world.callScriptedEntity(entityId, "minionState") --- > local minionState = world.callLocalScriptedEntity(entityId, "minionState") monsters\ground\groundmonster.lua 216c216,218 < world.callScriptedEntity(args.sourceId, "monsterKilled", entity.id()) --- > if world.entityType(args.sourceId) == "monster" or world.entityType(args.sourceId) == "npc" then > world.callScriptedEntity(args.sourceId, "monsterKilled", entity.id()) > end 506c508 < if isCaptive() and world.isNpc(targetId) and world.callScriptedEntity(targetId, "attackTargetId") ~= self.ownerEntityId then --- > if isCaptive() and world.isNpc(targetId) and world.callLocalScriptedEntity(targetId, "attackTargetId") ~= self.ownerEntityId then monsters\ground\socializestate.lua 28c28 < if not world.callScriptedEntity(partnerId, "enterSocialize", entity.id()) then --- > if not world.callLocalScriptedEntity(partnerId, "enterSocialize", entity.id()) then monsters\pets\groundpet.lua 138c138 < if world.entityName(objectId) == anchorName and not world.callScriptedEntity(objectId, "hasPet") then --- > if world.entityName(objectId) == anchorName and not world.callLocalScriptedEntity(objectId, "hasPet") then 342c342 < if self.pather:move(self.approachPosition, dt) then --- > if self.pather:move(self.approachPosition, dt) == "running" then npcs\chatstate.lua 51c51 < local partnerState = world.callScriptedEntity(stateData.partnerId, "self.state.stateDesc") --- > local partnerState = world.callLocalScriptedEntity(stateData.partnerId, "self.state.stateDesc") npcs\followstate.lua 241c241 < if world.isNpc(targetId, 2) or (world.isNpc(targetId) and world.callScriptedEntity(targetId, "attackTargetId") == stateData.targetPlayer) then --- > if world.isNpc(targetId, 2) or (world.isNpc(targetId) and world.callLocalScriptedEntity(targetId, "attackTargetId") == stateData.targetPlayer) then npcs\main.lua 272c272 < notification.handled = world.callScriptedEntity(entityId, "receiveNotification", notification) or notification.handled --- > notification.handled = world.callLocalScriptedEntity(entityId, "receiveNotification", notification) or notification.handled 509c509 < end \ No newline at end of file --- > end npcs\meleeattackstate.lua 89c89 < stateData.awaitingAttackToken = world.callScriptedEntity(tokenEntity, "requestAttackToken", entity.id()) --- > stateData.awaitingAttackToken = world.callLocalScriptedEntity(tokenEntity, "requestAttackToken", entity.id()) 201c201 < local tokenEntity = world.callScriptedEntity(closerAttacker, "requestAttackToken", entity.id()) --- > local tokenEntity = world.callLocalScriptedEntity(closerAttacker, "requestAttackToken", entity.id()) 325c325 < return world.callScriptedEntity(self.attackTokenRequest, "requestAttackToken", npcId, queue) --- > return world.callLocalScriptedEntity(self.attackTokenRequest, "requestAttackToken", npcId, queue) npcs\guard\houndstate.lua 21c21 < if world.callScriptedEntity(hounderIds[1], "stateTargetId") == args.preAttackTargetId then --- > if world.callLocalScriptedEntity(hounderIds[1], "stateTargetId") == args.preAttackTargetId then objects\colony\colonydeed\colonydeed.lua 62c62 < if self.npcsDeliverRent and primary and world.callScriptedEntity(primary, "tenant.canDeliverRent") then --- > if self.npcsDeliverRent and primary and world.callLocalScriptedEntity(primary, "tenant.canDeliverRent") then parallax\surface\forest.parallax 10c10 < "parallax" : 1.199 --- > "parallax" : 1.07 18c18 < "parallax" : 1.2 --- > "parallax" : 1.08 scripts\entityproxy.lua 27c27 < return world.callScriptedEntity(entityId, "entity." .. functionName, ...) --- > return world.callLocalScriptedEntity(entityId, "entity." .. functionName, ...) scripts\actions\reaction.lua 3c3 < local objectDefaultReactions = world.callScriptedEntity(reactTarget, "npcToy.getDefaultReactions") --- > local objectDefaultReactions = world.callLocalScriptedEntity(reactTarget, "npcToy.getDefaultReactions") 33c33 < local influence = world.callScriptedEntity(target, "entity.configParameter", "personality") --- > local influence = world.callLocalScriptedEntity(target, "entity.configParameter", "personality") 142c142 < local influences = world.callScriptedEntity(target, "npcToy.getInfluence") --- > local influences = world.callLocalScriptedEntity(target, "npcToy.getInfluence") 158c158 < if world.callScriptedEntity(target, "npcToy.isAvailable") then --- > if world.callLocalScriptedEntity(target, "npcToy.isAvailable") then 174c174 < local standPosition = world.callScriptedEntity(target, "npcToy.getPreciseStandPosition") --- > local standPosition = world.callLocalScriptedEntity(target, "npcToy.getPreciseStandPosition") 196c196 < local standPosition = world.callScriptedEntity(target, "npcToy.getImpreciseStandPosition") --- > local standPosition = world.callLocalScriptedEntity(target, "npcToy.getImpreciseStandPosition") 216c216 < if not world.callScriptedEntity(target, "npcToy.isAvailable") then --- > if not world.callLocalScriptedEntity(target, "npcToy.isAvailable") then scripts\behavior\bgroup.lua 51c51 < local result = world.callScriptedEntity(entityId, "onRequestJoin", entity.id(), goalType, goal) --- > local result = world.callLocalScriptedEntity(entityId, "onRequestJoin", entity.id(), goalType, goal) 65c65 < world.callScriptedEntity(coordinator, "onLeaveGroup", entity.id()) --- > world.callLocalScriptedEntity(coordinator, "onLeaveGroup", entity.id()) 93c93 < local result = world.callScriptedEntity(coordinator, "onRequestTask", entity.id(), task) --- > local result = world.callLocalScriptedEntity(coordinator, "onRequestTask", entity.id(), task) 104c104 < return world.callScriptedEntity(coordinator, "onLeaveTask", entity.id(), taskId) --- > return world.callLocalScriptedEntity(coordinator, "onLeaveTask", entity.id(), taskId) 111c111 < return world.callScriptedEntity(coordinator, "onGetResource", entity.id(), resource) --- > return world.callLocalScriptedEntity(coordinator, "onGetResource", entity.id(), resource) 118c118 < return world.callScriptedEntity(coordinator, "setSuccess", entity.id()) --- > return world.callLocalScriptedEntity(coordinator, "setSuccess", entity.id()) 128c128 < end \ No newline at end of file --- > end stagehands\coordinator\npccombat.lua 16,17c16,17 < self.npcBounds = world.callScriptedEntity(self.group.members[1], "mcontroller.boundBox") < self.npcPoly = world.callScriptedEntity(self.group.members[1], "mcontroller.collisionPoly") --- > self.npcBounds = world.callLocalScriptedEntity(self.group.members[1], "mcontroller.boundBox") > self.npcPoly = world.callLocalScriptedEntity(self.group.members[1], "mcontroller.collisionPoly") 141c141 < local maxSteps = math.min(range, 15) --- > local maxSteps = math.min(range, 25) tiles\materials\brick.material 17c17 < "variants" : 2, --- > "variants" : 5, tiles\materials\eyepiles.material 7c7 < "shortdescription" : "Pile of Eyes", --- > "shortdescription" : "Clump of Eyes", tiles\materials\fadedblocks.material 7c7 < "shortdescription" : "Soft Brick", --- > "shortdescription" : "Soft Brick Block",