Heartsteel
Shield_Craft_Passive in SkillsYour next [ComboAttack] deals an additional 15% Armor Physical (20 cooldown).
- id
- Shield_Craft_Passive
- type
- 24
- flags
- 1
- notes
- do a new hit damage, not a dmgAdd
- nature
- 5
- script
- var STATUS_KIND = Skill.Shield_Craft_Passive_Status; function onRegUpdate(dt) { if(!isInCooldown()) { setStatus(owner, STATUS_KIND); } } function onReceiveDamageEval(hit) { if(isInCooldown()) { hit.dmgMult -= vars.var2; } } /*function onSkillProc(ctx) { if(hasStatus(owner, STATUS_KIND)) { if(ctx.skill.isFinalAttack()) { var armor = getAtb(owner, Attribute.Armor); var dmg = armor * vars.var1; ctx.dmgAdd += dmg; removeStatus(owner, STATUS_KIND); consumeCooldown(); } } }*/ function onInflictDamageEval(hit) { if( hasStatus(owner, Skill.Shield_Craft_Passive_Status) && hit.isFinalCombo ) { playStep(Steps.MagicDamage, hit.target); removeStatus(owner, Skill.Shield_Craft_Passive_Status); consumeCooldown(); } }
- status
- 2
- cooldown
- 20
Raw data
{
"id": "Shield_Craft_Passive",
"gfx": {
"x": 3,
"y": 0,
"file": "UI/icons/atlas_weapon_Shield_96PX.png",
"size": 96
},
"anim": {},
"type": 24,
"vars": {
"var1": 0.25,
"var2": 0.1
},
"flags": 1,
"notes": "do a new hit damage, not a dmgAdd",
"props": {
"rankOverride": [
{
"props": {
"cooldown": 15
},
"minRank": 2
}
]
},
"steps": [
{
"id": "MagicDamage",
"on": 13,
"type": 0,
"props": {},
"effects": [
{
"flags": 0,
"effect": 0,
"scaling": [
{
"atb": "Armor",
"ratio": 0.15
}
],
"affinity": "Physical"
}
],
"visuals": {
"hitFx": "Physical_Blast"
}
}
],
"texts": {
"desc": "Your next [ComboAttack] deals an additional ::dmg:: (::cooldown:: cooldown).",
"name": "Heartsteel",
"rankDescs": [
{
"desc": "Cooldown reduced to ::cooldown::.",
"rank": 2,
"flags": 1
},
{
"desc": "Reduces all damage taken by ::var2%:: while this is on cooldown.",
"rank": 3,
"flags": 0
}
]
},
"nature": 5,
"script": "var STATUS_KIND = Skill.Shield_Craft_Passive_Status;\n\nfunction onRegUpdate(dt) {\n\tif(!isInCooldown()) {\n\t\tsetStatus(owner, STATUS_KIND);\n\t}\n}\n\nfunction onReceiveDamageEval(hit) {\n\tif(isInCooldown()) {\n\t\thit.dmgMult -= vars.var2;\n\t}\n}\n\n/*function onSkillProc(ctx) {\n\tif(hasStatus(owner, STATUS_KIND)) {\n\t\tif(ctx.skill.isFinalAttack()) {\n\t\t\tvar armor = getAtb(owner, Attribute.Armor);\n\t\t\tvar dmg = armor * vars.var1;\n\t\t\tctx.dmgAdd += dmg;\n\t\t\tremoveStatus(owner, STATUS_KIND);\n\t\t\tconsumeCooldown();\n\t\t}\n\t}\n}*/\n\nfunction onInflictDamageEval(hit) {\n\tif( hasStatus(owner, Skill.Shield_Craft_Passive_Status) && hit.isFinalCombo ) {\n\t\tplayStep(Steps.MagicDamage, hit.target);\n\t\tremoveStatus(owner, Skill.Shield_Craft_Passive_Status);\n\t\tconsumeCooldown();\n\t}\n}",
"status": 2,
"mastery": [],
"cooldown": 20
}