Changes to combat and cards
This commit is contained in:
parent
d17379ca57
commit
e731b87e9d
|
|
@ -1672,9 +1672,9 @@
|
|||
"trigger": "preAttack"
|
||||
},
|
||||
{
|
||||
"name": "armored",
|
||||
"value": 1,
|
||||
"trigger": "passive"
|
||||
"name": "hack",
|
||||
"value": 3,
|
||||
"trigger": "preAttack"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1695,9 +1695,9 @@
|
|||
"trigger": "preAttack"
|
||||
},
|
||||
{
|
||||
"name": "armored",
|
||||
"value": 2,
|
||||
"trigger": "passive"
|
||||
"name": "hack",
|
||||
"value": 5,
|
||||
"trigger": "preAttack"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1718,9 +1718,9 @@
|
|||
"trigger": "preAttack"
|
||||
},
|
||||
{
|
||||
"name": "armored",
|
||||
"value": 3,
|
||||
"trigger": "passive"
|
||||
"name": "hack",
|
||||
"value": 7,
|
||||
"trigger": "preAttack"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1741,9 +1741,9 @@
|
|||
"trigger": "preAttack"
|
||||
},
|
||||
{
|
||||
"name": "armored",
|
||||
"value": 5,
|
||||
"trigger": "passive"
|
||||
"name": "hack",
|
||||
"value": 10,
|
||||
"trigger": "preAttack"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -1764,9 +1764,9 @@
|
|||
"trigger": "preAttack"
|
||||
},
|
||||
{
|
||||
"name": "armored",
|
||||
"value": 7,
|
||||
"trigger": "passive"
|
||||
"name": "hack",
|
||||
"value": 14,
|
||||
"trigger": "preAttack"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -3183,7 +3183,7 @@
|
|||
"skills": [
|
||||
{
|
||||
"name": "strike",
|
||||
"value": 4,
|
||||
"value": 7,
|
||||
"trigger": "preAttack",
|
||||
"all": true
|
||||
}
|
||||
|
|
@ -4060,6 +4060,25 @@
|
|||
"health": 26,
|
||||
"armor": 2,
|
||||
"delay": 0,
|
||||
"skills": [
|
||||
{
|
||||
"name": "enfeeble",
|
||||
"value": 1,
|
||||
"trigger": "preBattle",
|
||||
"all": true
|
||||
},
|
||||
{
|
||||
"name": "drain",
|
||||
"value": 2,
|
||||
"trigger": "preBattle"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"attack": 0,
|
||||
"health": 39,
|
||||
"armor": 3,
|
||||
"delay": 0,
|
||||
"skills": [
|
||||
{
|
||||
"name": "enfeeble",
|
||||
|
|
@ -4076,8 +4095,8 @@
|
|||
},
|
||||
{
|
||||
"attack": 0,
|
||||
"health": 39,
|
||||
"armor": 3,
|
||||
"health": 59,
|
||||
"armor": 5,
|
||||
"delay": 0,
|
||||
"skills": [
|
||||
{
|
||||
|
|
@ -4093,25 +4112,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"attack": 0,
|
||||
"health": 59,
|
||||
"armor": 5,
|
||||
"delay": 0,
|
||||
"skills": [
|
||||
{
|
||||
"name": "enfeeble",
|
||||
"value": 5,
|
||||
"trigger": "preBattle",
|
||||
"all": true
|
||||
},
|
||||
{
|
||||
"name": "drain",
|
||||
"value": 7,
|
||||
"trigger": "preBattle"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"attack": 0,
|
||||
"health": 88,
|
||||
|
|
@ -4120,13 +4120,13 @@
|
|||
"skills": [
|
||||
{
|
||||
"name": "enfeeble",
|
||||
"value": 7,
|
||||
"value": 4,
|
||||
"trigger": "preBattle",
|
||||
"all": true
|
||||
},
|
||||
{
|
||||
"name": "drain",
|
||||
"value": 10,
|
||||
"value": 8,
|
||||
"trigger": "preBattle"
|
||||
}
|
||||
]
|
||||
|
|
@ -4139,13 +4139,13 @@
|
|||
"skills": [
|
||||
{
|
||||
"name": "enfeeble",
|
||||
"value": 10,
|
||||
"value": 5,
|
||||
"trigger": "preBattle",
|
||||
"all": true
|
||||
},
|
||||
{
|
||||
"name": "drain",
|
||||
"value": 15,
|
||||
"value": 11,
|
||||
"trigger": "preBattle"
|
||||
}
|
||||
]
|
||||
|
|
@ -5362,7 +5362,7 @@
|
|||
},
|
||||
{
|
||||
"name": "counter",
|
||||
"value": 3,
|
||||
"value": 2,
|
||||
"trigger": "on_defend"
|
||||
}
|
||||
]
|
||||
|
|
@ -5380,7 +5380,7 @@
|
|||
},
|
||||
{
|
||||
"name": "counter",
|
||||
"value": 5,
|
||||
"value": 3,
|
||||
"trigger": "on_defend"
|
||||
}
|
||||
]
|
||||
|
|
@ -5398,7 +5398,7 @@
|
|||
},
|
||||
{
|
||||
"name": "counter",
|
||||
"value": 7,
|
||||
"value": 5,
|
||||
"trigger": "on_defend"
|
||||
}
|
||||
]
|
||||
|
|
@ -5416,7 +5416,7 @@
|
|||
},
|
||||
{
|
||||
"name": "counter",
|
||||
"value": 10,
|
||||
"value": 8,
|
||||
"trigger": "on_defend"
|
||||
}
|
||||
]
|
||||
|
|
@ -5434,7 +5434,7 @@
|
|||
},
|
||||
{
|
||||
"name": "counter",
|
||||
"value": 15,
|
||||
"value": 10,
|
||||
"trigger": "on_defend"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -291,6 +291,8 @@ export class CombatEngine {
|
|||
}
|
||||
|
||||
const extraAttacks = (context.extraAttacks || 0) + 1;
|
||||
// Track rupture stacks applied this attack sequence so flurry can't stack beyond skill.value
|
||||
context.ruptureTracker = { applied: 0 };
|
||||
for (let a = 0; a < extraAttacks; a++) {
|
||||
// Skip a target that was already killed (e.g. by mortar during preAttack)
|
||||
const currentTarget = (target && target.currentHP > 0) ? target : null;
|
||||
|
|
|
|||
|
|
@ -74,21 +74,28 @@ export class SkillProcessor {
|
|||
}
|
||||
|
||||
rupture(skill, attacker, defender, allies, enemies, context) {
|
||||
const tracker = context?.ruptureTracker;
|
||||
const alreadyApplied = tracker?.applied || 0;
|
||||
const canApply = Math.max(0, skill.value - alreadyApplied);
|
||||
if (canApply <= 0) return;
|
||||
|
||||
if (skill.all) {
|
||||
const targets = enemies.filter(e => e.currentHP > 0 && !(e.burrowTurns > 0));
|
||||
if (targets.length === 0) return;
|
||||
const allTargets = [];
|
||||
for (const t of targets) {
|
||||
t.ruptureStacks = (t.ruptureStacks || 0) + skill.value;
|
||||
allTargets.push({ target: t, stacks: skill.value });
|
||||
t.ruptureStacks = (t.ruptureStacks || 0) + canApply;
|
||||
allTargets.push({ target: t, stacks: canApply });
|
||||
}
|
||||
if (tracker) tracker.applied += canApply;
|
||||
if (context) context.ruptureAllTargets = allTargets;
|
||||
return;
|
||||
}
|
||||
if (!defender || defender.currentHP <= 0) return;
|
||||
if (defender.burrowTurns > 0) return;
|
||||
defender.ruptureStacks = (defender.ruptureStacks || 0) + skill.value;
|
||||
if (context) { context.ruptureTarget = defender; context.ruptureStacks = skill.value; }
|
||||
defender.ruptureStacks = (defender.ruptureStacks || 0) + canApply;
|
||||
if (tracker) tracker.applied += canApply;
|
||||
if (context) { context.ruptureTarget = defender; context.ruptureStacks = canApply; }
|
||||
}
|
||||
|
||||
berserk(skill, attacker, defender, allies, enemies, context) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue