PTR Changelog 2017-06-19


  • Dev Team

    This post describes changes on the Public Test Realm. The estimated launch date is June 26.

    • Refactored creep damage and heal apply logic in a more consistent fashion. The main part of its logic can be found here:
      1. All incoming damage and heal is counted first, but not applied.
      2. Total heal and damage are applied to the creep's hits.
      3. hits <= 0 and hits > maxHits checks are made.
      4. The creep’s body is recalculated, including CARRY capacity.
    • Market order prices now can be set with 0.001 precision. However, all real credits transactions still work with 0.01 precision, i.e. when you execute a deal, the resulting transaction (amount * price) is rounded up. You cannot execute a deal for a total amount less than 0.01 credits, the Game.market.deal method will return ERR_INVALID_ARGS.

      This means you can sell/buy energy for 0.001 per unit, but with amounts not less than 10 energy units per transaction.


  • +1



  • could this change have introduced a bug where:

    FIND_DROPPED_ENERGY constant is considered deprecated and will be removed soon. Please use FIND_DROPPED_RESOURCES instead.

    is spammed even when that constant is not in use?

     

    I have searched my code and FIND_DROPPED_ENERGY is not present, yet the warning is printed to the console on every tick in PTR

     

    Thanks!


  • Dev Team

    Yes, constants file wasn't updated on the PTR. Fixed.



  • Dear Artem,

    There seems to be a minor but important error in your description of the MR.

    Damage is applied first.

    Heal is then applied whilst capping at maxHits.

    This distinction is important because it means tough parts only apply for the first damage received each tick. With the case originally presented, 1 tough part would have a disproportionate value.


  • Culture

    Market order prices now can be set with 0.001 precision

    Time to change the prices on energy! This is good news. I like that deprecated methods are starting to get phased-out. The older code which is now removed could always is quite confusing for new players.

     

    The damage aspect is an amazing change as well. No more tick-cheating by delaying intents one tick, and firing them ASAP the next to get a double hit off.

    Atavus brings up a good point. If a creep has 3 dead catalyzed-TOUGH parts, and he heals, would the catalyzed-TOUGH be counted towards the damage done? Currently it does not. But I'd personally say it should.



  • @Dissi, according to the code implementation no. Damage is applied first. Just the description of the implementation in this post is inaccurate. 


  • Dev Team

    TOUGH parts don’t depend on the order here. They don’t useobject.hits, only bodyPart.hits which is affected only by recalcBody function in the end after both damage and heal are already applied. Points 2 and 3 in this algorithm are basically one single point, the order doesn’t matter. Changed the description to remove the confusion.



  • Understood, thank you for clearing that up.

    I think the key point to understand is the following:

    The tough parts you have "alive" in a tick only count towards modifying damage up to their maximum absoption. In simple terms, tough parts only count once.

    Which is how it should be.


  • Dev Team

    Yes, this is how it works currently. One fully alive TOUGH part with 100 hits will absorb not more than 100*boost hits regardless of heal amount received on the tick.