Kanican (kanican) wrote,
Kanican
kanican

FFXIV v1.18 Enmity Testing (Part I)

Overview


The v1.18 XIV patch brought about the first sweeping changes that will ultimately decide the game's fate when it is eventually released for the PS3.  Among the many things changed in v1.18, the enmity system was completely overhauled along with the introduction of the enmity display icon.  Since the start of XIV, I had wanted to test the enmity system; however, it became clear very early on that the system would receive an eventual complete overhaul.  I made it a personal challenge to see how fast the new system could be completely modeled.  Before continuing, I encourage those interested in exactly how this was done to not only read this series of posts, but also my FFXI enmity testing, as many of the procedures are variations of tests from there.

In an effort to keep these posts readable and organized, I have decided to split all the testing into smaller sections.  This first section will focus on establishing the basics and strategy behind testing.  The other sections will focus more on the actual numbers, quantification, and formulas.


Special thanks to Cursive Kassad for helping me test most of this.  Also thanks to others in Dancing Mad who joined in on the testing - Kael Morgain, Aizen Hajime, and Katsu Kobashi.

A summary of conclusions reached in the testing in this post is given at the end.


__________________________________________________________________________________________________

__________________________________________________________________________________________________





Patch Notes Description and the "Base Unit" of Enmity


From the perspective of a tester, the description given in the patch notes were actually fairly detailed and made developing a testing strategy much easier.  A copy of the relevant portion of the patch notes is given below.




The most important parts of this description for testing purposes:

(1) The given information that 1 point of damage would equate to 1 unit of enmity
(2) The introduction of the enmity bar



Based on the patch description, I built my testing strategy and series of tests you will find below on the idea and initial assumption that 1 damage is the "base unit" of enmity.  In my testing of XI, the key idea which separated my own tests with others was the idea of exact quantification.  The ability to establish the exact value hinges on properly identifying the proper "base unit", which is the lowest fundamental unit of "enmity" allowed in the game's calculation.  To put it another way, there can only be whole units of "base units".


This idea of a "base unit" is central to quantification so I want to further explain the idea.  In XI, the base unit used in my model was defined as "curing a player for 0HP".  Every single ability, action, damage amount, or cure amount, in addition to the game's enmity caps could be defined by a whole number of "cures for 0HP".  When calculations dictated a decimal number of "cures for 0HP" (e.g. 3.5), this value would be truncated to a whole number in game.  One of XI's two enmity caps could be reached if you took the time to cure yourself 10,000 times for 0HP.

The goal of these tests is to clearly define exactly what happened when I tested each scenario down to every detail.  If someone were to attempt to verify or try to debunk anything talked about here, these descriptions should be detailed enough to give a player the exact directions to mimic what was done in our testing here.


__________________________________________________________________________________________________
__________________________________________________________________________________________________



Test 1

Purpose
This opening test attempts to determine if there is any kind of enmity loss related to evading attacks or taking damage.  The reason this test is done first is to potentially rule out the biggest source of possible error in future testing, which is accidentally taking damage during a test.  Because this is the first test and a whole lot of factors have not been ruled out, this test is overly complex for such a simple idea.  I'll go over the reasoning below.

Procedure and Observation

At this point, we don't know if of jobs, level, gear, etc. have any affect on enmity.  For this reason, I chose for everyone to use Lv50 CON with no equipment and definitely no enmity shifting traits.  In addition, the first CON in the test was used to potentially rule out any enmity bonuses for being the first player to touch the mob (a concept which existed in XI).  Also, at this point, we do not know if there is a time-decay component to enmity (which existed in XI).  This test should be valid regardless of if time-decay exists or not, and is accounted for by long periods of waiting between actions to allow for any potential decay-component enmity to decay. 


- Start with 3 Lv50 CON with Purge 1 and Stoneskin.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv1 Star Marmot outside Gridania
- Stoneskin prior to the start of test to prevent any initial damage
- CON#1 pulls with Purge
- CON#2 and CON#3 use Purge
          CON#1 will still have hate at this point regardless of time (30+ seconds)
- CON#2 and CON#3 use Purge again
          The CON (#2 or #3) who used the second Purge first will have hate regardless of time (30+ seconds)
- At this point wait until Stoneskin wears off
- Allow ample time to take damage and note any shifts in hate
          The CON who performs the second Purge first will maintain hate regardless of time or damage



Result Analysis and Discussion
The end result of this test showed that evading attacks and taking damage doesn't seem to decrease the enmity amount in any way.  You can really do this procedure and have the mob repeatedly attack you until near death and the hate will still be on the CON that performed the 2nd Purge first.  This is a stark contrast to XI, where there was a very heavy component of hate decay from taking damage.  I was quite surprised to see this as it has large implications on the endgame enmity strategies for XIV.


Other than this, I would like to point out the other interesting thing I found about this test.  After the first 3 CON Purge once each, hate is on the player that Purged first.  This isn't all that surprising if an initial enmity bonus for pulling exists.  However, after the 2nd and 3rd CON use Purge for the second time, hate went to the player that used the 2nd Purge first.



- Taking damage or evading attacks does not cause loss of non-decaying portion of enmity
- The non-decaying portion of enmity produced by 2 Purges is greater than that of 1 Purge and any pulling bonus
- It's possible that if there is a "tie" in enmity between players, the player who "got there" first maintains hate.

__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 2

Purpose
This test will build upon the first and tries to test what occurs when there appear to be "ties" in enmity between multiple players.  Test 1 suggested that the player who performed the action first keeps hate.  We will try to verify this using Purge.

Procedure and Observation

Again, we don't know if of jobs, level, gear, etc. have any affect on enmity.  For this reason, everyone uses Lv50 CON with no equipment and no enmity shifting traits. The first CON in the test was again used to potentially rule out any enmity bonuses for being the first player to touch the mob.  We now don't have to worry about using Stoneskin to mitigate damage though, as from test 1, we know it won't affect the outcome. 


- Start with 3 Lv50 CON with Purge 1 and Stoneskin.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv1 Star Marmot outside Gridania
- CON#1 pulls with Purge
- CON#2 uses Purge twice
          CON#2 will gain hate after the second Purge
- CON#3 uses Purge 3 times
          CON#3 will gain hate after the third Purge
- At this point you can try various combos of players Purging
          We find that regardless of who uses Purge when, hate always remains with the player that reaches the current
          "highest" number of Purges first.  This appears to be true even if we include CON#1, who pulled, in Purges. 


Result Analysis and Discussion
This test had a lot of flexibility since we were basically testing the concept of ties.  You can run this test in any number of orders and you'll always find that the player who takes hate will always keep it until another CON exceeds his number of Purges (but never when he ties).  Interestingly, this seems to happen even if you start to include CON#1 (the puller), which suggests that there is not a non-decaying portion of enmity bonus with pulling (though we must verify this later).  Again, I want to stress that at this point, we still do not know if a decaying portion exists or not - we are simply trying to account for its possible existence by waiting some time between actions.



- There does not appear to be a non-time-decay component of enmity associated with pulling

- When multiple players have the same amount of non-decaying enmity, hate goes to the player that reached this amount of enmity first


__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 3

Purpose
This test is an extension of the second test and focuses on the existence of a possible enmity bonus when pulling (performing the first action on a mob).  This is extremely similar to the second test only instead of using Purge as our action, we will be using damage, specifically stone throw for 1 damage.



Procedure and Observation

Again, we don't know if of jobs, level, gear, etc. have any affect on enmity.  This time, we are using 2 players on Lv1 Botanist.  Stone Throw from a lv1 gatherer always does 1 damage if it connects on a Lv2 Marmot or above. 


- Start with 2 Lv1 Botanists and a CON for Stoneskin.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv2 Star Marmot outside Gridania
- CON Stoneskins both Botanists (for protection purposes only)
- BOT#1 uses Stone Throw for 1 damage (pull)
- BOT#2 uses Stone Throw for 1 damage
          BOT#1 will maintain hate
- BOT#2 uses Stone Throw for 1 damage
          BOT#2 will now grab and maintain hate



Result Analysis and Discussion
This simple extension of test 2 highly suggests that there is no non-decay enmity bonus from pulling.  BOT#2 essentially takes hate after 1 extra point of damage.  This means that this pulling enmity bonus either 1) does not exist, or 2) that it does exist, but is smaller than the amount of enmity gained from 1 point of damage.  Given the high likelihood that 1 damage is the true "base unit" of hate, situation 1 is more likely.



- There does not appear to be a non-time-decay component of enmity associated with pulling

- Missing a damage attack generates no enmity


__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 4a

Purpose
We will now start testing abilities, quantifying them in terms of # of Stone Throws for 1 damage by a Lv1 Botanist.

Procedure and Observation

At this point, we make the assumption that 1 damage equates to 1 "base unit" of enmity (an assumption that we feel is safe to make, but that we can not definitively prove is true).  We will start to test abilities, starting with Purge, the ability we started using in the first 2 tests.  This will involve a Lv1 BOT and a Lv50 CON.


- Start with Lv1 Botanist and Lv50 CON.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv2 Star Marmot outside Gridania
- CON Stoneskins the Botanist (for protection purposes only)
- CON uses Purge to pull a mob
- BOT uses Stone Throw for 1 damage until hate is exchanged
          BOT will gain and maintain hate after 42 successful Stone Throws (excluding misses)
          BOT enmity icon will change from green to yellow at 21 and from yellow to red at 33



Result Analysis and Discussion
This test suggests that it takes 42 successful 1 damage shots from Stone Throw to overtake the non-decay portion of enmity gained from using Purge from a Lv50 CON.  Because of the "tie rule" that says hate stays with the player that reaches that value first, we can deduce that the non-decay enmity from Purge (lv50 CON) is 42-1 = 41.  Another interesting note is when the enmity icon changes from green to yellow (21 throws) and yellow to red (33 throws).  This suggests (but does not given good precision) that yellow begins around 50% of current high and red begins at 80% of current high.



- The non-decay enmity of Purge when used by a Lv50 CON is 41.

- The enmity icon shifts to yellow at ~50% of the current enmity high

- The enmity icon shifts to red at ~80% of the current enmity high


                    _________________________________________________________________________





Test 4b



Purpose
A slightly altered version of test 4a to test non-decay portion of enmity from Silena.



Procedure and Observation


- Start with Lv1 Botanist and Lv50 CON.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv2 Star Marmot outside Gridania
- CON Stoneskins the Botanist (for protection purposes only)
- BOT pulls with 1 damage Stone Throw
- CON uses Silena on the BOT
          CON will take and maintain hate after this
- BOT uses Stone Throw for 1 damage until hate is exchanged
          BOT will gain and maintain hate after 9 additional successful Stone Throws (10 including pull)



Result Analysis and Discussion
This test suggests that it takes 10 successful 1 damage shots from Stone Throw to overtake the non-decay portion of enmity gained from using Silena from a Lv50 CON.  Because of the "tie rule" that says hate stays with the player that reaches that value first, we can deduce that the non-decay enmity from Purge (lv50 CON) is 10-1 = 9.  This test 4b was repeated with Poisona and Paralyna with similar results.



- The non-decay enmity of Silena, Paralyna, and Poisona when used by a Lv50 CON is 9.


__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 5

Purpose
In the first 4 tests, we discussed the possibility of a time-dependent portion of enmity which decays over time.  These tests attempted to correct for any possible decay portion of enmity by having players wait 30+ seconds between actions in the procedure.  In test 5, we will try to formally rule out or rule in the possibility of a time-decay portion of enmity.

Procedure and Observation

This is a variation of test 4b.  We will be using a Lv1 BOT and a Lv50 CON.  In addition, we will be using the information we learned in 4b that showed that Silena grants 9 "base units" of enmity.  The goal is to generate 9 units of known non-decay enmity on the BOT (with 9 Stone Throws), then have the CON generate 9 units of known non-decay enmity (with a single Silena).  When the CON uses Silena, if a time-decay portion of enmity exists, the CON will temporarily get hate due to his total (9+X) being higher than the BOT's (9).  If such a shift does not occur, than we have successfully ruled out a time-decay portion of enmity in the new XIV system.


- Start with a Lv1 BOT and Lv50 CON with Silena.  No +/- enmity traits equipped, no armor equipped
- Target is a Lv2 Star Marmot outside Gridania
- BOT pulls with Stone Throw for 1 damage 9 times
          BOT will generate 9 enmity for this after 9 successful Stone Throws
- CON uses Silena on the BOT
          CON will not take hate, not even temporarily



Result Analysis and Discussion
The key point of this test is that the CON never seems to gain hate (even temporarily) when using Silena.  If a time-dependent portion of enmity truly exists, then we should be able to catch it in this test by seeing a temporary shift, then shift back in hate.  This test is an essential copy of one we conducted in XI, where you would indeed see this shift and shift back.  There is the chance that a time-decay portion really does exist, just that Silena has 0 of it, but you can simply repeat this test for other abilities.  But from my experience, there is none.



- There is no time-decay portion of enmity - only a static kind that does not change with time.

- From this point on, I will simply refer to "enmity" and not mention time-decay vs. non-decay portions


__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 6

Purpose
An issue with the current "base unit" is that it is very difficult to consistently do exactly one damage.  Doing so pretty much requires a lv1 gatherer class doing Stone Throw, which limits that player from using any other battle class skills.  In order to do higher order testing, we need to be able to add +1 base units in some other fashion.  I felt that curing would be  a more consistent method of adding small units.  The purpose of this test is to attempt to convert 1 damage to a certain amount cured.

Procedure and Observation

This test is very similar to test 4b.  We will test curing for 0, 1, and 2 HP.  Curing for exactly 1 and 2 HP requires some pretty interesting issues due to the equipment changing restrictions while engaged in addition to the natural passive regen rate.  This test required a Penance belt (-10HP) and Mythril Wristlet (+11HP) to access +1 HP; it required Hempen Half-gloves (+2HP) to access +2ARC is required since CON cannot use the Penance belt.  To prevent natural regen while switching gear, a 2nd mob was pulled on the other player to prevent this.  Sample macro of HP switch below.

1    /equip R.wrist "Mythril Wristlet"
2    /equip waist "Penance"
3    /wait 1
4    /action "Cure" <me>
5    /wait 1
6    /bm off
7    /equip waist ""
8    /equip R.wrist ""

- Start with Lv1 Botanist and Lv50 ARC (with Cure, Silena, Stoneskin).  No +/- enmity traits equipped, no armor
- Target is a Lv2 Star Marmot outside Gridania
- ARC Stoneskins the Botanist (for protection purposes only)
- BOT pulls with 10 damage Stone Throw
- ARC uses Silena on the BOT (to get on hate list)
          BOT maintains hate (BOT 10 enmity, ARC 9 enmity)
- For Cure for 1/2 HP (which require gear switches), have the ARC pull a second mob with Purge to prevent Regen
- ARC uses Cure for 0/1/2 HP until hate is shifted
          ARC will never take hate when using cure for 0 HP
          ARC will take hate after using cure for 1 HP twice
          ARC will take hate after using cure for 2 HP once



Result Analysis and Discussion
The results of this test suggests that the base unit of enmity (dealing 1 damage) can be matched by having a Lv50 cure himself for exactly 1 HP.  Seems that a Lv50 curing himself for 0 gives 0, 1 for 1, 2 for 2.  Note that this does not necessarily establish a 1 to 1 relationship due to rounding error.  But the purpose of this test was to simply find a method of granting +1 base units without actually using a Lv1 gathering class.  We will come back to curing at a later time.



- A Lv50 ARC curing himself for 1 HP is equivalent to 1 base unit of enmity (1 damage).


__________________________________________________________________________________________________
__________________________________________________________________________________________________





Test 7

Purpose
This test will try to see if enmity from actions is the same for mobs claimed "red" versus mobs claimed "yellow".

Procedure and Observation
- Start with Lv1 Botanist and Lv50 ARC (with Cure, Silena, Stoneskin).  No +/- enmity traits equipped, no armor
- Targets are Star Marmots (any level) outside Gridania
- ARC Stoneskins the Botanist (for protection purposes only)
- BOT pulls mutiple mobs with Stone Throw (4 mobs pulled, only 1 will be red)
- ARC uses Silena on the BOT (to get on hate list)
          ARC will take hate on the mob claimed red
          ARC will not take hate on the mobs claimed yellow, regardless of how many cures or buffs used



Result Analysis and Discussion
This is another very interesting test which has a number of potential uses in endgame.  It seems that players cannot gain enmity for buffs and cures (basically anything that does not directly affect the mob) as long as the mob is "yellow".  This appears true even if the mob is still attacking.  This implies that a player tanking multiple mobs that are yellow can be continuously cure bombed without fear of hate transfer (a concept in XI known as "Super-Tanking"). 



- Players cannot generate enmity using buffs and cures (non-direct actions) on mobs that are "yellow" claim
.


__________________________________________________________________________________________________
__________________________________________________________________________________________________



Summary


This first post only includes the basic tests which will be used in future sections to establish controls, along with some very basic enmity values for certain abilities.  Below is a summary of the findings for this particular post:

  - The enmity generated from actions is not affected by time (no time-decay component)
  - The enmity generated from actions does not decrease with taking damage or evading attacks
  - Enmity cannot be generated from buffs and cures on mobs that are in "yellow" unclaimed status
  - When there are multiple players with the same enmity, hate goes to the player who reached this amount first.
  - There is no additional enmity bonus for pulling (first action)


  - The enmity icon will show as "green" when a player is 0% to ~50% of the current high enmity
  - The enmity icon will show as "yellow" when a player is ~50% to ~80% of the current high enmity
  - The enmity icon will show as "red" when a player is ~80% to ~100% (but losing tie) of the current high enmity


  - The base unit of enmity is assumed to be dealing 1 damage 
  - Cure for 0 HP generates 0 base units of enmity
 
  - A Lv50 ARC curing himself for 1 HP is equivalent to 1 base unit of enmity (1 damage).
 
  - A Lv50 CON using Paralyna, Poisona, or Silena will generate 9 base units of enmity.
 
  - A Lv50 CON using Purge will generate 41 base units of enmity.


Before concluding, I want to stress that these posts are attempting to develop the best model for the current XIV enmity system - the key word being model.  Without actually seeing the code for this game, it is impossible to truly understand what is going on.  The best we can do is to model the system based on what we see.  This particular model being generated hinges on the idea that the base unit of enmity is indeed dealing 1 point of damage - which is a fairly safe assumption based on the patch notes, but an assumption nonetheless. 


__________________________________________________________________________________________________
__________________________________________________________________________________________________
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments