Alright, it's state Sunday everyone, and you know what that means? More states, of course.
This week, I bring
Overpower, a passive state that causes physical attacks to add a damage over time effect to their target. In my project, this passive pairs with the Dark Aura state posted a while back, as the offensive opposite to the Blackguard job's Dark Aura defensive state. As you may recall, the Dark Aura state had a requirement that the user has to have a shield in his offhand for the effect to be active, well this state requires the offhand to be either empty, or holding an offhand weapon, meaning no shield. This passive is designed with a strong two handed weapon in mind, but also works with dual wielding as well.
Now you might be wondering, what makes this state so different from the bleed state I posted even longer back, so I will cover the differences here before we get started:
- Overpower has an animation
- Overpower deals elemental damage, while bleeding damage is non-elemental
- Overpower can continue to stack up damage until it becomes unmanageable by the target
- Bleed deliberately limits the amount of damage dealt, and prevents re-application if the total effect of the new bleed stack would be less than the remaining effect of the current bleed effect. Overpower just adds incoming damage to the bank.
Also, since I've already got them made, I have a couple of bonus effects for use with Overpower as well. The first is only partially related, but causes dark elemental damage you deal to restore Hp, which Overpower does, so I included a little section in the paste code. The other effect is an active skill that consumes the remaining effect of Overpower on the target to cause damage to the afflicted target based on the remaining effect.
So, what you need to set this up:
- The usual plugins
- My State Animation Damage plugin
- Two states for the effect (244, 246), one more state for the optional damage boost (245).
- One state for the bonus (247).
- One skill for the second bonus effect.
So first of all, let's get our passive state down here.

And the paste code:
Code:<Custom Passive Condition>
//this is a check to see if the state will be active
//first it checks to make sure the user belongs to the blackguard class, and then that either the offhand is empty, or that it is a weapon
if (user._classId == 16 && (user.equips()[1] == null || (user.equips()[1] != null && user.equips()[1].wtypeId != undefined))) {
condition = true
}else{
condition = false
}
</Custom Passive Condition>
<Custom Confirm Effect>
//here is the meat of the state. this confirm effect adds to the existing shadowDot if it's there, if not it creates one.
if (target.shadowDot == undefined) {
target.shadowDot = 0
}
if (this.isHpEffect() && this.isPhysical()) {
//this bonus section is used to add 20% if the user is affected by another state. This could be a generic shadow damage bonus, or a specific passive ability.
if (user.isStateAffected(245)){
var bonus = value * 0.2
}else{
var bonus = 0
}
target.shadowDot = (target.shadowDot + value + bonus)
//sets the shadowDot to the value of the landed attack, (+bonus if applicable)
target.addState(246)
//adds our damage state
}
</Custom Confirm Effect>
This state is active on our blackguard at all times. When he deals a physical blow to a target, it applies the damaging state to the target, and increases the shadowDot value that the damaging state uses to deal damage. Also within the paste code is a section where the shadowDot value is increased by an additional 20% if the user has state 245 active on them. This could be a temporary buff spell, a state that increases shadow damage, or any other passive state you'd like. In my project this state is used to increase the damage of all dark elemental spells, to which this technically belongs to, but doesn't occur automatically, so I've added it in here.
Our second state is the damaging state, which causes dark damage to the afflicted battler based on the value of the shadowDot value on them (which is applied and updated by the passive state above).

Here's our paste code for this:
Code:<Custom Apply Effect>
//when this state is re-applied, it always sets the remaining duration to 3 turns
target._stateTurns[246] = 3
</Custom Apply Effect>
<Custom Turn End Effect>
//The first step is to use the state animation damage plugin to deal damage to the target
//we're dealing damage equal to the remaining shadowDot effect divided by the number of remaining turns.
performStateAnimationDmg(187, this, Math.floor(this.shadowDot/this._stateTurns[246]), 9);
basedmg = (Math.floor(this.shadowDot / (this._stateTurns[246]+1)))
//this next section is the setup for our bonus state, which heals the user when he deals dark damage.
//read bonus below for more info
if (origin.isStateAffected(247)) {
healamt = Math.floor((basedmg * (3/10)))
origin.gainHp(healamt);
origin.startDamagePopup();
}
//Here we are subtracting the damage dealt to the target from the remaining shadowDot value
this.shadowDot = this.shadowDot - basedmg
</Custom Turn End Effect>
<Custom Remove Effect>
//if the state is removed, we make the shadowDot value undefined again
target.shadowDot = undefined
</Custom Remove Effect>
So, currently what we have is a passive effect that adds up physical damage that you deal to a counter on the target, and adds a damaging state to that target that deals 1/3 of that stored damage per turn to that target, for three turns. Subsequent hits to the same target will add more damage to the bank, but the remaining turns on it will never exceed three. Additionally, if you are affected by state 245, this damage banked will increase by 20%.
Example: You hit the bat for 1000 damage. You have state 245, so the damage banked is 1200. The bat hits you back. At the end of its turn, it takes 1200/3 = 400 dark elemental damage. On the next round, you swing at the bat, but miss. At the end of the bats next turn, it takes 800/2 = 400 damage. On your next turn you hit it again for another 1000 damage. This brings the damage bank up to 1200+400 = 1600 damage, and resets the turns on the state to 3. At the end of the bats next action, it takes 1600/3 = 533 damage.
Our state is complete, and provides a way for our Blackguard to effectively double the damage output of his physical skills. Pretty neat, eh? Well, as I said above, I have a couple of bonus for this state already made up, so I'll share those too.
Dark Succor causes all dark elemental damage you deal to also heal you for 30% of the effect. For most sources of dark damage, this would be automatic with the following note tags:
Code:<Custom Confirm Effect>
elements = this.getItemElements()
if (this.isHpEffect() && elements.contains(9) && value > 0) {
healamt = Math.floor((value * (3/10)))
user.gainHp(healamt);
}
</Custom Confirm Effect>
...but in this case, the dark damage from Overpower is happening outside of the scope of a confirm effect. So we've included code in the damaging state above, to add hp to our origin if the origin is affected by this state (247). This add-on makes it so that our powerful blackguard is also capable of sustaining his own Hp during battle, at least a little bit.
Our second bonus is a skill. Darkness Burst takes the remaining effect of our damaging state, and causes it immediately on the target, in much the same way Quickmend uses up the remaining Prayer of Mending stacks to cause a large heal.
One interesting thing to note about this skill in particular is that it actually double-dips on the shadow damage increase from state 245, as that state increases the damage banked, but also increases the actual damage dealt of this skill, as well. Balance accordingly.
That's all for this update folks. See ya next weekend (probably).