<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[PTR Changelog 2019-12-21]]></title><description><![CDATA[<p><em>This post describes changes on the <a href="https://docs.screeps.com/ptr.html" rel="nofollow">Public Test Realm</a>.</em></p>
<ul>
<li>
<p>Added new method <a href="https://ptr-docs.screeps.com/api/#StructureLab.reverseReaction" rel="nofollow"><code>StructureLab.reverseReaction</code></a> to &quot;break down&quot; boosts to their components (<a href="https://screeps.com/forum/topic/1924/feature-request-ability-for-labs-to-break-down-boosts-to-component-parts" rel="nofollow">see discussion</a>).</p>
</li>
<li>
<p>Added new method <a href="https://ptr-docs.screeps.com/api/#Game.map.getRoomStatus" rel="nofollow"><code>Game.map.getRoomStatus</code></a> to determine is the room located in Novice or Respawn Area (<a href="https://screeps.com/forum/topic/785/method-to-determine-that-room-is-in-novice-area" rel="nofollow">see discussion</a>). This outdates <code>Game.map.isRoomAvailable</code> which is deprecated now. <code>Game.map.isRoomProtected</code> has been removed since it's been deprecated long time ago.</p>
</li>
<li>
<p>Added UI option to hide the link to Steam profile (<a href="https://screeps.com/forum/topic/2874/hiding-the-link-to-my-steam-profile" rel="nofollow">see discussion</a>).</p>
</li>
<li>
<p>Changed error codes of <code>StructureNuker.launchNuke</code>: now it returns <code>ERR_INVALID_TARGET</code> if either source room or target room is part of a Novice or Respawn Area</p>
</li>
<li>
<p>Changed error codes of <code>Room.createConstructionSite</code>: now it returns <code>ERR_NOT_OWNER</code> if the room is owned or reserved by another player.</p>
</li>
<li>
<p>Changed <code>Creep.upgradeController</code> so that controller level-up happens on the same tick when <a href="https://docs.screeps.com/api/#StructureController.ticksToDowngrade" rel="nofollow"><code>StructureController.ticksToDowngrade</code></a> becomes full.</p>
</li>
<li>
<p>Changed pathfinding default value of <code>heuristicWeight</code> from 1 to 1.2 for better performance. This affects <code>PathFinder.search</code>, <code>Room.findPath</code>, <code>RoomPosition.findPathTo</code>, <code>Creep.moveTo</code>, <code>PowerCreep.moveTo</code>.</p>
</li>
<li>
<p><code>Room.name</code> property is now immutable.</p>
</li>
<li>
<p>Changed behavior or NPC invaders, now they shouldn't attack structures which are not on their way.</p>
</li>
<li>
<p>Fixed some edge case inconsistencies in <code>Store</code> methods.</p>
</li>
</ul>
<p>This update is deployed to <code>ptr</code> private server branch (version <code>4.1.0-beta.1</code>) on both npm and Steam:</p>
<pre><code>npm install screeps@ptr
</code></pre>
<p><img src="https://screeps.com/forum/assets/uploads/files/1544102983960-steam_2018-12-06_16-28-37.png" alt="" class="img-responsive img-markdown" /></p>
]]></description><link>http://screeps.com/forum/topic/2900/ptr-changelog-2019-12-21</link><generator>RSS for Node</generator><lastBuildDate>Sun, 07 Jun 2026 17:19:48 GMT</lastBuildDate><atom:link href="http://screeps.com/forum/topic/2900.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Dec 2019 17:59:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Sat, 21 Dec 2019 18:08:29 GMT]]></title><description><![CDATA[<p><em>This post describes changes on the <a href="https://docs.screeps.com/ptr.html" rel="nofollow">Public Test Realm</a>.</em></p>
<ul>
<li>
<p>Added new method <a href="https://ptr-docs.screeps.com/api/#StructureLab.reverseReaction" rel="nofollow"><code>StructureLab.reverseReaction</code></a> to &quot;break down&quot; boosts to their components (<a href="https://screeps.com/forum/topic/1924/feature-request-ability-for-labs-to-break-down-boosts-to-component-parts" rel="nofollow">see discussion</a>).</p>
</li>
<li>
<p>Added new method <a href="https://ptr-docs.screeps.com/api/#Game.map.getRoomStatus" rel="nofollow"><code>Game.map.getRoomStatus</code></a> to determine is the room located in Novice or Respawn Area (<a href="https://screeps.com/forum/topic/785/method-to-determine-that-room-is-in-novice-area" rel="nofollow">see discussion</a>). This outdates <code>Game.map.isRoomAvailable</code> which is deprecated now. <code>Game.map.isRoomProtected</code> has been removed since it's been deprecated long time ago.</p>
</li>
<li>
<p>Added UI option to hide the link to Steam profile (<a href="https://screeps.com/forum/topic/2874/hiding-the-link-to-my-steam-profile" rel="nofollow">see discussion</a>).</p>
</li>
<li>
<p>Changed error codes of <code>StructureNuker.launchNuke</code>: now it returns <code>ERR_INVALID_TARGET</code> if either source room or target room is part of a Novice or Respawn Area</p>
</li>
<li>
<p>Changed error codes of <code>Room.createConstructionSite</code>: now it returns <code>ERR_NOT_OWNER</code> if the room is owned or reserved by another player.</p>
</li>
<li>
<p>Changed <code>Creep.upgradeController</code> so that controller level-up happens on the same tick when <a href="https://docs.screeps.com/api/#StructureController.ticksToDowngrade" rel="nofollow"><code>StructureController.ticksToDowngrade</code></a> becomes full.</p>
</li>
<li>
<p>Changed pathfinding default value of <code>heuristicWeight</code> from 1 to 1.2 for better performance. This affects <code>PathFinder.search</code>, <code>Room.findPath</code>, <code>RoomPosition.findPathTo</code>, <code>Creep.moveTo</code>, <code>PowerCreep.moveTo</code>.</p>
</li>
<li>
<p><code>Room.name</code> property is now immutable.</p>
</li>
<li>
<p>Changed behavior or NPC invaders, now they shouldn't attack structures which are not on their way.</p>
</li>
<li>
<p>Fixed some edge case inconsistencies in <code>Store</code> methods.</p>
</li>
</ul>
<p>This update is deployed to <code>ptr</code> private server branch (version <code>4.1.0-beta.1</code>) on both npm and Steam:</p>
<pre><code>npm install screeps@ptr
</code></pre>
<p><img src="https://screeps.com/forum/assets/uploads/files/1544102983960-steam_2018-12-06_16-28-37.png" alt="" class="img-responsive img-markdown" /></p>
]]></description><link>http://screeps.com/forum/post/14645</link><guid isPermaLink="true">http://screeps.com/forum/post/14645</guid><dc:creator><![CDATA[o4kapuk]]></dc:creator><pubDate>Sat, 21 Dec 2019 18:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p>PTR inclusive &quot;StructureLab.reverseReaction&quot; runs fine for me</p>
]]></description><link>http://screeps.com/forum/post/14683</link><guid isPermaLink="true">http://screeps.com/forum/post/14683</guid><dc:creator><![CDATA[demawi]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p><img
      src="http://screeps.com/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f682.png?v=a1k070tfs06"
      class="not-responsive emoji emoji-emoji-one emoji--locomotive"
      title=":locomotive:"
      alt="🚂"
    /> <img
      src="http://screeps.com/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f682.png?v=a1k070tfs06"
      class="not-responsive emoji emoji-emoji-one emoji--locomotive"
      title=":locomotive:"
      alt="🚂"
    /> <img
      src="http://screeps.com/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f682.png?v=a1k070tfs06"
      class="not-responsive emoji emoji-emoji-one emoji--locomotive"
      title=":locomotive:"
      alt="🚂"
    /></p>
]]></description><link>http://screeps.com/forum/post/14743</link><guid isPermaLink="true">http://screeps.com/forum/post/14743</guid><dc:creator><![CDATA[demawi]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p>&quot;3 months ago&quot;. I was hoping for a new year gift, so +1 for release. Or what is missing? <img
      src="http://screeps.com/forum/plugins/nodebb-plugin-emoji/emoji/android/1f62e.png?v=a1k070tfs06"
      class="not-responsive emoji emoji-android emoji--open_mouth"
      title=":-o"
      alt="😮"
    /></p>
]]></description><link>http://screeps.com/forum/post/14837</link><guid isPermaLink="true">http://screeps.com/forum/post/14837</guid><dc:creator><![CDATA[demawi]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="http://screeps.com/forum/uid/22">@demawi</a> we're currently performing final testing before releasing this update.</p>
]]></description><link>http://screeps.com/forum/post/14843</link><guid isPermaLink="true">http://screeps.com/forum/post/14843</guid><dc:creator><![CDATA[o4kapuk]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Sun, 22 Mar 2020 17:28:47 GMT]]></title><description><![CDATA[<p><strong>The release date of this feature set: March 24</strong>, 3 PM UTC.</p>
]]></description><link>http://screeps.com/forum/post/14854</link><guid isPermaLink="true">http://screeps.com/forum/post/14854</guid><dc:creator><![CDATA[o4kapuk]]></dc:creator><pubDate>Sun, 22 Mar 2020 17:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p>Oh, I did not touch this in PTR, so I'm coming in cold in trying to implement it into my lab production system.</p>
<p>That was easy! It's literally exactly like the &quot;runReaction&quot; method, but backwards. All I had to do set a &quot;shatter&quot; state instead of a &quot;production&quot; state and change the rules (production on not enough, shatter on too much) and reverse the material flow.</p>
<p>Naturally, I use the &quot;ring of labs&quot; layout, with the output labs in a ring around the 2 input labs, so I can run gang production/shatter. Reversing the reaction uses the exact same layout, but with the input / output reversed.</p>
<p>Nicely done, Goggles.</p>
]]></description><link>http://screeps.com/forum/post/14863</link><guid isPermaLink="true">http://screeps.com/forum/post/14863</guid><dc:creator><![CDATA[Smokeman]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Wed, 25 Mar 2020 21:14:02 GMT]]></title><description><![CDATA[<p>One weird snafu I ran into:</p>
<p>UH is backwards. All of the rest of the [U,L,Z,K] [O,H] combinations are in that order, the [O,H] mineral always goes in the second lab.</p>
<p>I also had G backwards, but that's a 50/50 shot... there is no way to determine which was &quot;supposed&quot; to be first or second, UL or ZK. In hindsight, sure... because that's the order they're just &quot;usually in.&quot;</p>
<p>At issue appears the way the lab reactions are defined.  When working out my lab system, I had to redefine the data structures as they were just not useful for the purpose of building compounds, I needed them to be in a 3 deep array, like &quot;['KO'],['K'],['O']&quot; where index 0 of the array is what I'm making.</p>
<p>So my database looks like:
... ['UH','H','U'],['UO','U','O'], ... etc. Only the UH one is backwards like that.</p>
]]></description><link>http://screeps.com/forum/post/14866</link><guid isPermaLink="true">http://screeps.com/forum/post/14866</guid><dc:creator><![CDATA[Smokeman]]></dc:creator><pubDate>Wed, 25 Mar 2020 21:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p>Game.map.getRoomStatus(&quot;E999N999&quot;) returns</p>
<pre><code>{
  &quot;status&quot;: &quot;normal&quot;,
  &quot;timestamp&quot;: null
}
</code></pre>
<p>I don't think this should be a valid response!?</p>
]]></description><link>http://screeps.com/forum/post/14883</link><guid isPermaLink="true">http://screeps.com/forum/post/14883</guid><dc:creator><![CDATA[demawi]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to PTR Changelog 2019-12-21 on Invalid Date]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="http://screeps.com/forum/uid/22">@demawi</a> Thanks for the report, I'll take a look</p>
]]></description><link>http://screeps.com/forum/post/14884</link><guid isPermaLink="true">http://screeps.com/forum/post/14884</guid><dc:creator><![CDATA[o4kapuk]]></dc:creator><pubDate>Invalid Date</pubDate></item></channel></rss>