Spark Shield
Mage_ShieldOfSpark_Status in SkillsProtected by a [Shield] absorbing damage.
- id
- Mage_ShieldOfSpark_Status
- flags
- 0
- nature
- 4
- script
- function onStop(ctx) { if( hasMastery(Mastery.Mage_ShieldOfSpark_M1) ) { addAtb(owner, Attribute.Spark, vars.var1); } } // Not onReceiveDamage because that's not called on the damage that breaks the shield function onReceiveDamageEval(dmg) { if( hasMastery(Mastery.Mage_ShieldOfSpark_M2) ) { addStatus(dmg.source, Skill.Mage_ShieldOfSpark_Status2); } }
- status
- 0
- duration
- 60
Raw data
{
"id": "Mage_ShieldOfSpark_Status",
"gfx": {
"x": 7,
"y": 0,
"file": "UI/icons/atlas_class_Mage_96PX.png",
"size": 96
},
"anim": {},
"vars": {
"var1": 40,
"var2": 0.4
},
"flags": 0,
"props": {
"status": {
"types": [
{
"type": "Buff"
}
]
}
},
"steps": [
{
"on": 6,
"type": 12,
"delay": 0.4,
"props": {},
"effects": [
{
"flags": 0,
"effect": 2,
"scaling": [
{
"atb": "MaxHealth",
"ratio": 0.4
}
]
}
],
"visuals": {
"fxs": [
{
"set": "Spark_Shield_Small",
"flags": 8,
"props": {
"offset": {
"x": 0,
"y": 0,
"z": 0,
"height": 0.6
}
},
"space": 0
}
]
},
"duration": -1
}
],
"texts": {
"desc": "Protected by a [Shield] absorbing damage.",
"name": "Spark Shield"
},
"nature": 4,
"script": "function onStop(ctx) {\n\tif( hasMastery(Mastery.Mage_ShieldOfSpark_M1) ) {\n\t\taddAtb(owner, Attribute.Spark, vars.var1);\n\t}\n}\n\n// Not onReceiveDamage because that's not called on the damage that breaks the shield\nfunction onReceiveDamageEval(dmg) {\n\tif( hasMastery(Mastery.Mage_ShieldOfSpark_M2) ) {\n\t\taddStatus(dmg.source, Skill.Mage_ShieldOfSpark_Status2);\n\t}\n}",
"status": 0,
"affixes": [
{
"mod": {},
"ref": "TAttribute_ARatio",
"val": 2,
"conds": {
"mastery": "Mage_ShieldOfSpark_M3"
},
"target": {
"attribute": "Armor"
},
"target2": {}
}
],
"mastery": [],
"duration": 60
}