Home · skill · Rogue_ComboPoints

Generates 1 Combo Point when using a Final Combo Attack or Weapon Skill different from the last action.

Properties

status
Done
type
ClassPassive
nature
Passive

Referenced by

unit (1)

Raw data
{
  "status": "Done",
  "gfx": {
    "file": "UI/icons/atlas_class_Rogue_96PX.png",
    "size": 96,
    "x": 0,
    "y": 1
  },
  "id": "Rogue_ComboPoints",
  "type": "ClassPassive",
  "nature": "Passive",
  "texts": {
    "name": "Combo Points",
    "desc": "Generates ::var1:: [ComboPoint] when using a [ComboAttack] or [WeaponSkill] different from the last action."
  },
  "anim": {},
  "steps": [],
  "flags": [],
  "mastery": [],
  "props": {},
  "vars": {
    "var1": 1
  },
  "script": "var lastSkillProc = null;\nvar lastSkillCritProc = null;\n\nfunction onSkillProc(ctx) {\n\ttryGetComboPoint(ctx.skill, ctx.skillId, false);\n}\n\nfunction onInflictDamage(dmg) {\n\tif (dmg.isFirstHit) {\n\t\ttryGetComboPoint(dmg.skill, dmg.skillId, dmg.critical);\n\t}\n}\n\nfunction tryGetComboPoint(s, skind, isCrit) {\n\tif (s != null && isSkillCompatible(s)) {\n\t\tvar points = 0.;\n\t\tif(lastSkillProc != skind ) {\n\t\t\tpoints += vars.var1;\n\t\t\tlastSkillProc = skind;\n\t\t}\n\t\tif(isCrit && lastSkillCritProc != skind && hasGlobalMastery(Mastery.Rogue_Finisher_M1)) {\n\t\t\tpoints += 1;\n\t\t\tlastSkillCritProc = skind;\n\t\t}\n\t\tif (points > 0) {\n\t\t\taddAtb(owner, Attribute.ComboPoint, points);\n\t\t}\n\t}\n}\n\nfunction isSkillCompatible(s) {\n\tif(s == null || s.isPassive())\n\t\treturn false;\n\treturn s.isWeaponSkill() || s.isFinalAttack();\n}",
  "_xrefs": [
    {
      "from_sheet": "unit",
      "from_id": "Rogue",
      "via_field": "skills"
    }
  ]
}