パッケージ mechanics.element

クラス ICDManager

java.lang.Object
mechanics.element.ICDManager

public class ICDManager extends Object
Tracks Internal Cooldown (ICD) state per character per skill group to determine whether an elemental hit actually applies an element to the enemy.

Standard ICD rule (Genshin Impact):

  • The first hit of a group always applies the element and resets both the timer and the hit counter.
  • Subsequent hits in the same group apply the element only if at least 2.5 seconds have elapsed since the last application, or if 3 hits have accumulated since the last application (whichever comes first).

ICD groups are keyed by "<charName>_<ICDTag.name()>" so different skills on the same character maintain independent cooldowns.

  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
     
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    boolean
    checkApplication(String charName, ICDTag tag, ICDType type, double currentTime)
    Checks whether an elemental hit in the given ICD group should apply the element, and updates the group's state accordingly.

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • ICDManager

      public ICDManager()
  • メソッドの詳細

    • checkApplication

      public boolean checkApplication(String charName, ICDTag tag, ICDType type, double currentTime)
      Checks whether an elemental hit in the given ICD group should apply the element, and updates the group's state accordingly.

      Behaviour by ICDType:

      • ICDType.None – always returns true; no state is modified (no ICD).
      • ICDType.Standard – applies the standard 2.5s / 3-hit rule described in the class documentation.

      null values for type or tag are silently defaulted to ICDType.Standard and ICDTag.None respectively.

      パラメータ:
      charName - name of the attacking character
      tag - ICD group tag identifying the skill/attack category
      type - the ICD rule to apply
      currentTime - current simulation time in seconds
      戻り値:
      true if the element should be applied to the enemy, false otherwise