Oh, if do you want to stack, then we need to change the formula:
const result = target.result()
const isTargetWeakToElement = BattleManager._action.calcElementRate(target) > 1
let tpValue = 0
if(result.critical){
tpValue += 30
}
if(result.missed){
tpValue += -15
}
if(isTargetWeakToElement){
tpValue += 45
}
return tpValue
The way it was before, it has an order to check. So the first condition that matches, it would run. But now, it will run all conditions and store the amount of tp that each condition provides, and then return the sum at the end.
If you want to combine conditions, you can use something:
(This means: if missed and targe is weak, add XX value)
if(result.missed && isTargetWeakToElement){
tpValue += XX
}If you want to negate something, like if the target not missed, just add an "!" before the statement:
if(!result.missed)
Now the reason for it to subtract only 5, I don't know... maybe is default behavior of the engine? Or your skill is using 5 tp? Well, give it a shot on the new formula I put, and let me know the results.


