Ninja Charge and heal. Bug?

Case 1

  1. Cobalt is charged on x1, but is not going to use special
  2. I make his hp low, which triggers him to be ready to use special
  3. I charge healer in opponent’s def team, he leads Cobalt’s hp out of critical zone
  4. In spite of his HP is >30% of max, Cobalt uses specal skill on x1
    Videos:
    Cobalt 1.1 - YouTube
    Cobalt 1.2 - YouTube

Case 2

  1. Cobalt is not charged on x1
  2. I lowen his hp to critical zone
  3. In the same time i charge healer in def team and Cobalt to x1, after heal Cobalt’s hp is >30% and Cobalt is with S
  4. Cobalt may not to use special on x1. If he doesn’t do it, he stands with S while he gets mana
    Videos:
    Cobalt 2.1 - YouTube
    Cobalt 2.2 - YouTube
    Cobalt 2.3 - YouTube
    Cobalt 2.4 - YouTube

Why Cobalt behaves different in comparable cases? Is any of this cases a bug?
If game mechanic itself in case 2 works how it’s intended, there is a visual bug - S must disappear after ninja “changed his mind”.

P. S. Tests were in ver. 45.1.0.

3 Likes

i’m not able to look at the videos right this second, but i can confirm that the Ninjas have had this visual bug pretty much since their release. They will show a slash attack turn counter when they fire a special skill or an S when they do a slash attack instead. i don’t have any screenshots handy, but i’ve seen it happen on numerous occasions dating all the way back to when the Ninjas were released.

2 Likes

I think Case 1 is might be working as expected.

In Case 2 the S should disappear if Cobalt do want to use his skill.
I am notifying Staff about it

Thank you for the report, we’ll investigate this here.

2 Likes

This very interesting hidden mechanism. I am not sure if this work as intent or not.

From my hypothesis of AI ninja/magic heroes

From my experience of AI ninja/magic heroes, they have mechanism like this

AI ninja/magic heroes will fire before full charge if they get at least x1 charge and (% of full charge mana) x (% Hp that they loss) > (variable constant).

“% of full charge mana” mean for example, Cobalt with “x2 and 40% of 3rd charge” has (% of full charge mana) = 2.4/3 x 100% = 80% or 0.8

“% Hp that they loss” mean for example, Cobalt with 600 hp left from 1500 max hp has (% Hp that they loss) = (1500-600)/1500 x 100% = 60% or 0.6

“variable constant” is random value between 0 and 1. This value remain constant until they fire skill. This value change every time they fire. The distribution of random of this value is unknown. The actual range of random may be narrower than 0 to 1 but will not larger than that.

1st video

Back to your video

In your 1.1 video, Cobalt fire with

  • about x1 and 80% of 2nd charge. (% of full charge mana) = 1.8/3 = 0.6
  • about 10% hp left. (% Hp that they loss) = 0.9
  • Cobalt doesn’t fire when he has 2/3 hp left, so the (variable constant) > 1/3 x 0.6 = 0.2 (Let say “variable constant” = 0.3)

When you reduce his hp to 10%, it is over the constant (0.6*0.9 > 0.3). So, he fire even he heal back if we assume that he will not change his determination.


In your 1.2 video, Cobalt fire with

  • about x1 and 50% of 2nd charge. (% of full charge mana) = 1.5/3 = 0.5
  • about 40% hp left. (% Hp that they loss) = 0.6
  • Cobalt doesn’t fire when he has 55% hp left, so the (variable constant) > 0.45 x 0.5 = 0.225 (Let say “variable constant” = 0.25)

You reduce his hp to 8% but Xnol heal him back to 40%. The value is over the constant (0.5*0.6 = 0.3 > 0.25). So, he fire even he heal back.

It really look like his determination doesn’t change in during his turn if he has at least x1 charge.

2nd video

In your 2.1 video (All 2.1, 2.2, 2.3 and 2.4 are similar situation.),

The Cobalt is at about 20% hp left and about 60% of 1st charge before you hit him with tile and make his mana to about x1 and 10% of 2nd charge. Then Xnol heal him to 60% hp left and boost his mana to about x1 and 40% of 2nd charge. And then he gain mana at the end of the turn to about x1 and 50% of 2nd charge.

At “60% of 1st charge” and “20% hp left”, the value is (0.6/3) x (1-0.2) = 0.16. He is about to fire, so the “variable constant” < 0.16.

At “x1 and 10% of 2nd charge” and “20% hp left”, the value is (1.1/3) x (1-0.2) = 0.293333. He is about to fire, so the “variable constant” < 0.293333.

At “x1 and 40% of 2nd charge” and “60% hp left”, the value is (1.4/3) x (1-0.6) = 0.1866667. He doesn’t fire, so the 0.1866667 < “variable constant” < 0.293333.

It really look like he change his determination in 2nd case.

Conclusion

Overall, I think this bug is about the “check point” of the game. “check point” is where the game decide what will happen or not. In fact, this bug is similar to Hansel/Gretel/Pixix’s Spell Slayer bug (
image).

It is small bug, almost have no effect and very hard to explain, so I don’t report.

The Spell Slayer bug is that

Enemy tank and right wing have full charge in your turn and about to fire in the next turn. You fire Hansel at enemy tank and move any tile. Enemy tank will receive damage “before” enemy right wing fire.
Enemy right wing have full charge in your turn and about to fire in the next turn. And enemy tank is almost at full charge. You fire Hansel at enemy tank and move tile hit and charge enemy tank. Enemy tank will receive damage “after” enemy right wing fire.

There are “check point” every times after you fire any of you heroes or use any battle item. Both this bug and Spell Slayer bug conform that there is no “check point” between tile move and enemy skill fire. However, it look like that are a “minor check point” during enemy firing skill from left to right. Unlike the “check point”, “minor check point” doesn’t check everything and can’t change the decision of “check point”. The decision by “check point” can be changed only when it reach the next “check point”.

  • If you make Cobalt want to fire before you move tile, the decision make by the “check point” during you are firing skill of your heroes. So, he will fire regardless the decision from “minor check point”.
  • If you make Cobalt want to fire by you hit him with tile, the decision doesn’t make at the “check point”. However, the “minor check point” check again during enemy firing skill from left to right. So, he might not fire if he get enough heal.
    • Note : You might wonder why the “S” or “blinking mana bar” occur. I think it is kind of visual bug. I think the “S” is made by your device not from the server. The “S” will occur every time when mana is full. I actually have a bug that the “S” doesn’t disappear when my heroes get mana cut. It is extremely rare about 0.01% but still occur. My smart phone is old and doesn’t work properly some times.

For the Spell Slayer bug

  • If enemy tank with Spell Slayer ailment get full charge before you move tile, the decision make by the “check point” during you are firing skill of your heroes. So, tank will receive the damage during enemy firing skill from left to right.
  • If enemy tank with Spell Slayer ailment get full charge by you hit enemy tank with tile, the decision doesn’t make at the “check point”. And the “minor check point” during enemy firing skill doesn’t check for “receiving damage from Spell Slayer ailment”. So, enemy tank will receive damage from Spell Slayer ailment at the another “minor check point” during enemy receiving damage from ailment which is after enemy firing skill.
3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.