FILES ----- dialog\spaceconverse.config dungeons\space\spaceencounter\island_garden1.json dungeons\space\spaceencounter\neutral_ancient_asteroid1.json dungeons\space\spaceencounter\spaceencounter.dungeon items\generic\mechparts\body\mechbodyglitch.item monsters\space\heavydrone\heavydrone.lua objects\scripts\harvestable.lua objects\teleporter\returnoutpostteleporter\remoteteleporter.object objects\teleporter\returnoutpostteleporter\returnoutpostteleporter.object scripts\actions\movement.lua scripts\actions\monsters\space.lua scripts\deployment\playermechdeployment.lua treasure\space.treasurepools vehicles\modularmech\modularmech.lua vehicles\modularmech\modularmech.vehicle DIFFS ----- dialog\spaceconverse.config 127c127 < "Pleased. The low-moisture atmosphere in spaace is good for preventing rust.", --- > "Pleased. The low-moisture atmosphere in space is good for preventing rust.", 138c138 < "Pleased. The low-moisture atmosphere in spaace is good for preventing rust.", --- > "Pleased. The low-moisture atmosphere in space is good for preventing rust.", 196c196 < } \ No newline at end of file --- > } dungeons\space\spaceencounter\island_garden1.json [TMX file differences are left out for huge size.] dungeons\space\spaceencounter\neutral_ancient_asteroid1.json [TMX file differences are left out for huge size.] dungeons\space\spaceencounter\spaceencounter.dungeon 8d7 < //"base_ruin3" items\generic\mechparts\body\mechbodyglitch.item 10c10 < "description" : "A mighty Glitch-styled mech body, made from thick layers of plated durasteel.", --- > "description" : "A mighty Glitch-styled mech body, made from thick layers of plated violium.", monsters\space\heavydrone\heavydrone.lua 213,236c213,234 < -- Disabled until path controller API is less prone to crashing < -- if world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("frontgun", "rotationCenter")), targetPosition) < -- or world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("backgun", "rotationCenter")), targetPosition) then < -- mcontroller.startPathMove(targetPosition, { < -- returnBest = false, < -- mustEndOnGround = false, < -- maxFScore = 400, < -- maxNodesToSearch = 70000, < -- boundBox = mcontroller.boundBox() < -- }) < < -- while world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("frontgun", "rotationCenter")), targetPosition) < -- or world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("backgun", "rotationCenter")), targetPosition) do < -- mcontroller.controlPathMove(targetPosition) < -- if mcontroller.pathfinding() then < -- mcontroller.controlApproachVelocity(vec2.mul(vec2.norm(toTarget), mcontroller.baseParameters().flySpeed), mcontroller.baseParameters().airForce) < -- end < -- coroutine.yield() < -- if not self.target then return true end < -- targetPosition = world.entityPosition(self.target) < -- toTarget = world.distance(targetPosition, mcontroller.position()) < -- approachAngle = vec2.angle(world.distance(mcontroller.position(), targetPosition)) < -- end < -- end --- > if world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("frontgun", "rotationCenter")), targetPosition) > or world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("backgun", "rotationCenter")), targetPosition) then > local searchParameters = { > returnBest = false, > mustEndOnGround = false, > maxFScore = 400, > maxNodesToSearch = 70000, > boundBox = mcontroller.boundBox() > } > while world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("frontgun", "rotationCenter")), targetPosition) > or world.lineTileCollision(vec2.add(mcontroller.position(), animator.partPoint("backgun", "rotationCenter")), targetPosition) do > mcontroller.controlPathMove(targetPosition, false, searchParameters) > if mcontroller.pathfinding() then > mcontroller.controlApproachVelocity(vec2.mul(vec2.norm(toTarget), mcontroller.baseParameters().flySpeed), mcontroller.baseParameters().airForce) > end > coroutine.yield() > if not self.target then return true end > targetPosition = world.entityPosition(self.target) > toTarget = world.distance(targetPosition, mcontroller.position()) > approachAngle = vec2.angle(world.distance(mcontroller.position(), targetPosition)) > end > end objects\scripts\harvestable.lua 5c5,7 < storage.created = storage.created or world.time() --- > if not storage.created then > storage.created = world.time() - config.getParameter("startingAge", 0) > end objects\teleporter\returnoutpostteleporter\remoteteleporter.object 35c35 < "collisionSpaces" : [ [0, 0], [1, 0], [2, 0], [3, 0] ] --- > "collisionSpaces" : [ [-2, 0], [-1, 0], [0, 0], [1, 0] ] objects\teleporter\returnoutpostteleporter\returnoutpostteleporter.object 39c39,42 < ] --- > ], > > "scripts" : [ "/objects/teleporter/exitteleporter.lua" ], > "scriptDelta" : 0 scripts\actions\movement.lua 244,245c244 < local result < mcontroller.startPathMove(targetPosition, pathOptions) --- > local result = mcontroller.controlPathMove(targetPosition, args.run, pathOptions) 254d252 < local result = mcontroller.pathMoveResult() 258c256 < mcontroller.controlPathMove(targetPosition, args.run) --- > result = mcontroller.controlPathMove(targetPosition, args.run) scripts\actions\monsters\space.lua 62c62 < mcontroller.startPathMove(targetPosition, { --- > local searchParameters = { 68,69c68 < }) < --- > } 71c70 < mcontroller.controlPathMove(targetPosition) --- > mcontroller.controlPathMove(targetPosition, false, searchParameters) scripts\deployment\playermechdeployment.lua 155a156,162 > elseif storage.inMechWithEnergyRatio then > if storage.inMechWithWorldType == world.type() then > deploy() > else > storage.inMechWithEnergyRatio = nil > storage.inMechWithWorldType = nil > end 204a212,218 > function uninit() > if inMech() then > storage.inMechWithEnergyRatio = self.mechEnergyRatio > storage.inMechWithWorldType = world.type() > end > end > 214a229,231 > self.mechParameters.startEnergyRatio = storage.inMechWithEnergyRatio > storage.inMechWithEnergyRatio = nil > storage.inMechWithWorldType = nil treasure\space.treasurepools 294,295c294,295 < {"weight" : 0.33, "item" : [ "liquidfuel", 20]}, < {"weight" : 0.33, "item" : [ "liquidfuel", 50]}, --- > {"weight" : 0.33, "item" : [ "liquidfuel", 10]}, > {"weight" : 0.33, "item" : [ "liquidfuel", 25]}, vehicles\modularmech\modularmech.lua 136c136 < storage.energy = storage.energy or self.energyMax --- > storage.energy = storage.energy or (config.getParameter("startEnergyRatio", 1.0) * self.energyMax) 143d142 < 147a147,149 > local applyEnvironmentStatuses = config.getParameter("applyEnvironmentStatuses") > local seatStatusEffects = config.getParameter("loungePositions.seat.statusEffects") > 152a155,160 > > for _, applyEffect in ipairs(applyEnvironmentStatuses) do > if statusEffect == applyEffect then > table.insert(seatStatusEffects, statusEffect) > end > end 153a162,163 > > vehicle.setLoungeStatusEffects("seat", seatStatusEffects) vehicles\modularmech\modularmech.vehicle 177a178,181 > "applyEnvironmentStatuses" : [ > "erchiussickness" > ], >