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"
}
]
}