Navigation

    forum

    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    1. Home
    2. SteveTrov
    3. Topics
    • Flag Profile
    • block_user
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Groups
    • Blog

    Topics created by SteveTrov

    • So long and thanks for all the fish
      General Discussion • • SteveTrov

      8
      8
      Posts
      5400
      Views

      This change didn't break my code, but I still took the challenge to look at a possible fix. I tried to make the fix as easy as possible, but unfortunately I can't redefine the properties of RoomPosition.prototype. So here is one possible solution, which requires just simple replacements in code: RoomPosition.prototype.expand = function() { if (!this.__expanded) { Object.defineProperty(this, 'x', { enumerable:true, value: this.x, writable: true }); Object.defineProperty(this, 'y', { enumerable:true, value: this.y, writable: true }); Object.defineProperty(this, 'roomName', { enumerable:true, value: this.roomName, writable: true }); Object.defineProperty(this, '__expanded', { enumerable:false, value: true, writable: false }); } return this; } global.newRoomPosition = function(x, y, roomName) { var pos = new RoomPosition(0, 0, roomName).expand(); pos.__packedPos = (pos.__packedPos & 0xFFFF0000) | ((x & 0xFF) << 8) | (y & 0xFF); // just for completeness pos.x = x; pos.y = y; pos.roomName = roomName; return pos; } This almost restores the old behaviour with little changes in the code. Then you can use any value for x, y again and roomName can be lower case again. Object.assign({}, rp} also works again if rp was expanded with expand(). You just have to replace all new RoomPosition to newRoomPosition in your code and before you use positions, call expand(). e.g. var myPos = Game.spawns.Spawn1.pos.expand(); myPos.x = -1; or var myPos = Game.creeps.Creep1.pos; myPos.expand().x = -1; myPos.y = -1; or var myPos = Object.assign({}, Game.spawns.Spawn1.pos.expand()); This should minimize the effort to migrate the code now. Whereever an error pops up because you set x, y or roomName wrong, just add a call to expand() and it will be fine. You can also let the expand()-part out of your code by pasting: Object.defineProperty(RoomObject.prototype, 'pos', { get() { return this._pos.expand(); }, set(value) { this._pos = value; } }); This fails at the first tick, but works on subsequent ticks. I hope it helps.
    • Cool-down inconsistency
      Technical Issues and Bugs • • SteveTrov

      2
      2
      Posts
      2549
      Views

      Yes, this is bugging me for a long time now, too. Thanks for posting this A mineral extractor should be harvestable every 5 ticks or we should change the documentation to 6 seconds. One could argue that harvesting every 6 ticks in valid with a 5 tick cooldown. But labs, for example, can react every 10 ticks for a 10 tick cooldown reaction. Consistency in any way would be fine, really.
    • AttackController too easy to recover from
      Feature Requests • • SteveTrov

      34
      34
      Posts
      27266
      Views

      PTR updated. Let's check this out and ensure that we have no reasons to be unhappy about this mechanics anymore.
    • When there is an error in mods.json screeps server carries on anyway causing havoc.
      Private servers • • SteveTrov

      3
      3
      Posts
      3664
      Views

      I doubt I will get around to creating a PR any time soon as I know the private server code very well and have many other projects that are progressing slowly. So if anyone else wants to put a PR in for this, feel free.
    • Unsolved Private server crash on 3.0.0-beta.9
      Private servers • • SteveTrov

      3
      3
      Posts
      2893
      Views

      I expect the issue is down to versions. npm was reporting beta-9 but I am not convinced that is what we are running. Will investigate on our end. thanks for your time.
    • Unsolved Creep squashed by spawning creep when other spots were available
      Technical Issues and Bugs • • SteveTrov

      7
      7
      Posts
      4258
      Views

      Another instance of same issue, link for tick immediately proceeding event: https://screeps.com/a/#!/history/shard2/W9N41?t=5263598 Edit: Oh I see what happened to me was not the same issue. There was nowhere else for the enemy creep to go
    • Replace TTL penalty on Inter-shard portals with portalFatigue
      Feature Requests • • SteveTrov

      4
      4
      Posts
      3254
      Views

      How about the TTL penatly is removed on claimers? It's going to be really hard to make an outpost when you're limited to a 5-7 room radius around the portal.
    • Add ActionLog to the API
      Feature Requests • • SteveTrov

      8
      8
      Posts
      4129
      Views

      https://screeps.com/forum/topic/2118/draft-room-event-log
    • Solved reCAPTCHA Error on private server
      Technical Issues and Bugs • • SteveTrov

      6
      6
      Posts
      3515
      Views

      Its just updated and now it seems to work. I had updated earlier for the previous fix, so I thought I had the latest version. Thanks
    • Non-ganky Combat options
      Feature Requests • • SteveTrov

      6
      6
      Posts
      4489
      Views

      @up that sounds great. Mayby there could be some prizes to make it more competitive, like Credits?
    • Solved A couple of private server market bugs.
      Private servers • • SteveTrov

      3
      3
      Posts
      3224
      Views

      fix for #2 https://github.com/screeps/backend-local/pull/16
    • Introduce boosts one teir at a time rather than all at rcl6.
      Feature Requests • • SteveTrov

      18
      18
      Posts
      11891
      Views

      https://screeps.com/forum/topic/2123/ptr-changelog-2018-02-28-lab-reaction-time
    • InterShardSegments for each shard rather than a shared one.
      Feature Requests • • SteveTrov

      23
      23
      Posts
      14704
      Views

      This feature is now deployed to the PTR: https://screeps.com/forum/topic/2534/ptr-changelog-2019-01-30-intershardmemory
    • Solved Game.market.getOrderById and Game.market.orders have inconsistent prices.
      Technical Issues and Bugs • • SteveTrov

      2
      2
      Posts
      1960
      Views

      Thanks for reporting, fixed in this commit.
    • Screeps Warfare Championship 2
      Private servers • • SteveTrov

      4
      4
      Posts
      5978
      Views

      Sign up for Round 3 is now open. There will be a few rule changes from what we learnt in the first round: The signup period will be 5 days starting from today. Two team captains will be chosen by the competition organiser and teams will be decided by captains pick. Team 1 chooses first then each captain get two picks at a time. 12211221122 etc.. The competition lasts upto 4 weeks Domination victory: if at any point after 1 week one team manages to destroy all of the spawns of the other team (excluding any respawns still in safemode) whilst owning at least 5 spawns in rooms RCL 6+ then they win. Otherwise the team with the most active power spawns at the end wins, (ie only power spawns in RCL8 rooms count) Due to the isolation of shard2 there will not be a compulsary sign up fee in this round. To ensure your place is registered send a message on slack to stevetrov, once players are registered they will appear on the spreadsheet Once the teams are assigned participants can add up to 2.5m credits as a bet, to place a bet you need to have a terminal on either shard0 or shard1 The winning team gets all proceeds of the games redistributed proportional to each member's bet from the organiser after the contest minus expenses (market taxes) GCL starts and is frozen at 5 CPU starts and is frozen at 50 The rooms will be laid out in the same way as on the public server with SK rooms in the center of 9x9 sectors with highways. The number of sectors will be decided once the number of players is known, but there will be approximately one sector for every 10 players. There will be NPC terminals at the cross roads, in round 1 npc terminals were useless due to a bug, this will be fixed for round 2 The tick rate will be one tick every 1.2 seconds. Re-spawning is allowed but its recommended that you get your team mates to rebuild your spawns if you can. The sign up spreadsheet can be seen here: https://docs.google.com/spreadsheets/d/1dKTtvgjCNbxOvzXDMv3EiTiFpsU9hWwdLoGdzJnvWAI/edit?usp=sharing
    • Is there a deathmatch server
      Private servers • • SteveTrov

      2
      2
      Posts
      2523
      Views

      There are a number of private servers available. There is a list of them available in the forum. One of the most famous ones is ags' server. There's also a channel on slack dedicated to it: #screepsplus.