From 82767e6a8db5c5d3cb6b8c00a66fd3f38a05b4d8 Mon Sep 17 00:00:00 2001
From: Adry85 <adrya85@hotmail.it>
Date: Sun, 22 Apr 2018 17:49:35 +0200
Subject: [PATCH] Skills rework: - More retail like skills with consume and
 tick effects; - Organized effects inside proper folders, custom effects will
 be fixed later; - Removed useless effect type.

NB: Required Core part.
---
 .../scripts/handlers/EffectMasterHandler.java | 179 ++++++++++++++++--
 .../effecthandlers/DamOverTimePercent.java    |  85 ---------
 .../handlers/effecthandlers/HealOverTime.java |  73 -------
 .../effecthandlers/ManaHealOverTime.java      |  62 ------
 .../ConsumeChameleonRest.java}                |   9 +-
 .../ConsumeFakeDeath.java}                    |  11 +-
 .../ConsumeHp.java}                           |  30 ++-
 .../ConsumeMp.java}                           |  23 ++-
 .../ConsumeMpByLevel.java}                    |  11 +-
 .../{Relax.java => consume/ConsumeRest.java}  |  38 ++--
 .../{ => custom}/BlockAction.java             |   2 +-
 .../effecthandlers/{ => custom}/Buff.java     |   2 +-
 .../effecthandlers/{ => custom}/Debuff.java   |   2 +-
 .../{ => custom}/Detection.java               |   2 +-
 .../effecthandlers/{ => custom}/Flag.java     |   2 +-
 .../effecthandlers/{ => custom}/Grow.java     |   2 +-
 .../{ => custom}/ImmobileBuff.java            |   2 +-
 .../{ => custom}/ImmobilePetBuff.java         |   2 +-
 .../effecthandlers/{ => custom}/Mute.java     |   2 +-
 .../{ => custom}/OpenChest.java               |   2 +-
 .../effecthandlers/{ => custom}/OpenDoor.java |   2 +-
 .../effecthandlers/{ => custom}/Paralyze.java |   2 +-
 .../effecthandlers/{ => custom}/Recovery.java |   2 +-
 .../effecthandlers/{ => custom}/Root.java     |   2 +-
 .../SilentMove.java}                          |  35 +---
 .../effecthandlers/{ => custom}/Sleep.java    |   2 +-
 .../effecthandlers/{ => custom}/Stun.java     |   2 +-
 .../effecthandlers/{ => custom}/ThrowUp.java  |   2 +-
 .../effecthandlers/{ => instant}/AddHate.java |   2 +-
 .../{ => instant}/Backstab.java               |   2 +-
 .../effecthandlers/{ => instant}/Blink.java   |   2 +-
 .../effecthandlers/{ => instant}/Bluff.java   |   2 +-
 .../{ => instant}/CallParty.java              |   2 +-
 .../effecthandlers/{ => instant}/CallPc.java  |   2 +-
 .../{ => instant}/CallSkill.java              |   2 +-
 .../{ => instant}/ChangeFace.java             |   2 +-
 .../{ => instant}/ChangeHairColor.java        |   2 +-
 .../{ => instant}/ChangeHairStyle.java        |   2 +-
 .../{ => instant}/ClanGate.java               |   2 +-
 .../effecthandlers/{ => instant}/Confuse.java |   2 +-
 .../{ => instant}/ConsumeBody.java            |   2 +-
 .../{ => instant}/ConvertItem.java            |   2 +-
 .../effecthandlers/{ => instant}/Cp.java      |   2 +-
 .../{ => instant}/DeathLink.java              |   2 +-
 .../{ => instant}/DeleteHate.java             |   2 +-
 .../{ => instant}/DeleteHateOfMe.java         |   2 +-
 .../{ => instant}/DetectHiddenObjects.java    |   2 +-
 .../{ => instant}/DispelAll.java              |   2 +-
 .../{ => instant}/DispelByCategory.java       |   2 +-
 .../{ => instant}/DispelBySlot.java           |   2 +-
 .../DispelBySlotProbability.java              |   2 +-
 .../{ => instant}/EnergyAttack.java           |   2 +-
 .../effecthandlers/{ => instant}/Escape.java  |   2 +-
 .../{ => instant}/FatalBlow.java              |   2 +-
 .../effecthandlers/{ => instant}/Fishing.java |   2 +-
 .../effecthandlers/{ => instant}/FlySelf.java |   2 +-
 .../{ => instant}/FocusEnergy.java            |   2 +-
 .../{ => instant}/FocusMaxEnergy.java         |   2 +-
 .../{ => instant}/FocusSouls.java             |   2 +-
 .../{ => instant}/FoodForPet.java             |   2 +-
 .../effecthandlers/{ => instant}/GetAgro.java |   2 +-
 .../{ => instant}/GiveRecommendation.java     |   2 +-
 .../effecthandlers/{ => instant}/GiveSp.java  |   2 +-
 .../{ => instant}/Harvesting.java             |   2 +-
 .../{ => instant}/HeadquarterCreate.java      |   2 +-
 .../effecthandlers/{ => instant}/Heal.java    |   2 +-
 .../effecthandlers/{ => instant}/Hp.java      |   2 +-
 .../{ => instant}/HpByLevel.java              |   2 +-
 .../effecthandlers/{ => instant}/HpDrain.java |   2 +-
 .../{ => instant}/HpPerMax.java               |   2 +-
 .../effecthandlers/{ => instant}/Lethal.java  |   2 +-
 .../{ => instant}/MagicalAttack.java          |   2 +-
 .../MagicalAttackByAbnormal.java              |   2 +-
 .../{ => instant}/MagicalAttackMp.java        |   4 +-
 .../{ => instant}/MagicalSoulAttack.java      |   2 +-
 .../{ => instant}/ManaHealByLevel.java        |   2 +-
 .../effecthandlers/{ => instant}/Mp.java      |   2 +-
 .../{ => instant}/MpPerMax.java               |   2 +-
 .../{ => instant}/OpenCommonRecipeBook.java   |   2 +-
 .../{ => instant}/OpenDwarfRecipeBook.java    |   2 +-
 .../{ => instant}/OutpostCreate.java          |   2 +-
 .../{ => instant}/OutpostDestroy.java         |   2 +-
 .../{ => instant}/PhysicalAttack.java         |   2 +-
 .../{ => instant}/PhysicalAttackHpLink.java   |   2 +-
 .../{ => instant}/PhysicalSoulAttack.java     |   2 +-
 .../effecthandlers/{ => instant}/Pumping.java |   2 +-
 .../{ => instant}/RandomizeHate.java          |   2 +-
 .../{ => instant}/RebalanceHP.java            |   2 +-
 .../effecthandlers/{ => instant}/Reeling.java |   2 +-
 .../{ => instant}/RefuelAirship.java          |   2 +-
 .../{ => instant}/Restoration.java            |   2 +-
 .../{ => instant}/RestorationRandom.java      |   2 +-
 .../{ => instant}/Resurrection.java           |   2 +-
 .../effecthandlers/{ => instant}/RunAway.java |   2 +-
 .../{ => instant}/SetSkill.java               |   2 +-
 .../{ => instant}/SkillTurning.java           |   2 +-
 .../{ => instant}/SoulBlow.java               |   2 +-
 .../effecthandlers/{ => instant}/Sow.java     |   2 +-
 .../effecthandlers/{ => instant}/Spoil.java   |   2 +-
 .../{ => instant}/StaticDamage.java           |   2 +-
 .../{ => instant}/StealAbnormal.java          |   2 +-
 .../effecthandlers/{ => instant}/Summon.java  |   2 +-
 .../{ => instant}/SummonAgathion.java         |   2 +-
 .../{ => instant}/SummonCubic.java            |   2 +-
 .../{ => instant}/SummonNpc.java              |   2 +-
 .../{ => instant}/SummonPet.java              |   9 +-
 .../{ => instant}/SummonTrap.java             |   2 +-
 .../effecthandlers/{ => instant}/Sweeper.java |   2 +-
 .../{ => instant}/TakeCastle.java             |   2 +-
 .../{ => instant}/TakeFort.java               |   2 +-
 .../{ => instant}/TakeFortStart.java          |   2 +-
 .../{ => instant}/TakeTerritoryFlag.java      |   2 +-
 .../{ => instant}/TargetCancel.java           |   2 +-
 .../{ => instant}/TargetMeProbability.java    |   2 +-
 .../{ => instant}/Teleport.java               |   2 +-
 .../{ => instant}/TeleportToTarget.java       |   9 +-
 .../{ => instant}/TransferHate.java           |   2 +-
 .../{ => instant}/TrapDetect.java             |   2 +-
 .../{ => instant}/TrapRemove.java             |   2 +-
 .../{ => instant}/Unsummon.java               |   2 +-
 .../{ => instant}/UnsummonAgathion.java       |   2 +-
 .../{ => instant}/VitalityPointUp.java        |   2 +-
 .../{ => pump}/AttackTrait.java               |   2 +-
 .../effecthandlers/{ => pump}/Betray.java     |   2 +-
 .../effecthandlers/{ => pump}/BlockBuff.java  |   9 +-
 .../{ => pump}/BlockBuffSlot.java             |   2 +-
 .../effecthandlers/{ => pump}/BlockChat.java  |   2 +-
 .../{ => pump}/BlockDamage.java               |   9 +-
 .../{ => pump}/BlockDebuff.java               |   9 +-
 .../effecthandlers/{ => pump}/BlockParty.java |   2 +-
 .../{ => pump}/BlockResurrection.java         |   2 +-
 .../{ => pump}/ChangeFishingMastery.java      |   2 +-
 .../{ => pump}/CrystalGradeModify.java        |   2 +-
 .../{ => pump}/CubicMastery.java              |   2 +-
 .../{ => pump}/DefenceTrait.java              |   2 +-
 .../effecthandlers/{ => pump}/Disarm.java     |   2 +-
 .../{ => pump}/EnableCloak.java               |   2 +-
 .../effecthandlers/{ => pump}/Fear.java       |   9 +-
 .../effecthandlers/{ => pump}/Hide.java       |   2 +-
 .../effecthandlers/{ => pump}/Lucky.java      |   2 +-
 .../effecthandlers/{ => pump}/MaxCp.java      |   2 +-
 .../effecthandlers/{ => pump}/MaxHp.java      |   2 +-
 .../{ => pump}/NoblesseBless.java             |   2 +-
 .../effecthandlers/{ => pump}/Passive.java    |   2 +-
 .../{ => pump}/PhysicalAttackMute.java        |   2 +-
 .../{ => pump}/PhysicalMute.java              |   2 +-
 .../{ => pump}/ProtectionBlessing.java        |   2 +-
 .../{ => pump}/ResistSkill.java               |   2 +-
 .../{ => pump}/ResurrectionSpecial.java       |   2 +-
 .../{ => pump}/ServitorShare.java             |   2 +-
 .../{ => pump}/SingleTarget.java              |   9 +-
 .../effecthandlers/{ => pump}/SoulEating.java |   2 +-
 .../{ => pump}/TalismanSlot.java              |   2 +-
 .../effecthandlers/{ => pump}/TargetMe.java   |   2 +-
 .../{ => pump}/TransferDamage.java            |   2 +-
 .../{ => pump}/Transformation.java            |   2 +-
 .../{ => pump}/TriggerSkillByAttack.java      |   2 +-
 .../{ => pump}/TriggerSkillByAvoid.java       |   2 +-
 .../{ => pump}/TriggerSkillByDamage.java      |   2 +-
 .../{ => pump}/TriggerSkillBySkill.java       |   2 +-
 .../handlers/effecthandlers/ticks/TickHp.java | 115 +++++++++++
 .../TickHpFatal.java}                         |  43 ++---
 .../handlers/effecthandlers/ticks/TickMp.java |  90 +++++++++
 dist/game/data/stats/skills/00000-00099.xml   |  23 ++-
 dist/game/data/stats/skills/00100-00199.xml   |  10 +-
 dist/game/data/stats/skills/00200-00299.xml   |  51 +++--
 dist/game/data/stats/skills/00300-00399.xml   |  71 +++++--
 dist/game/data/stats/skills/00400-00499.xml   |  54 +++---
 dist/game/data/stats/skills/00500-00599.xml   |  49 +++--
 dist/game/data/stats/skills/00600-00699.xml   |   5 +-
 dist/game/data/stats/skills/00700-00799.xml   |  35 ++--
 dist/game/data/stats/skills/00800-00899.xml   |   5 +-
 dist/game/data/stats/skills/00900-00999.xml   |  40 ++--
 dist/game/data/stats/skills/01000-01099.xml   |  11 +-
 dist/game/data/stats/skills/01100-01199.xml   |  50 ++---
 dist/game/data/stats/skills/01200-01299.xml   |  86 +++++----
 dist/game/data/stats/skills/01300-01399.xml   |  59 +++---
 dist/game/data/stats/skills/01400-01499.xml   |  62 +++---
 dist/game/data/stats/skills/01500-01599.xml   |  39 ++--
 dist/game/data/stats/skills/02000-02099.xml   |  10 +-
 dist/game/data/stats/skills/02100-02199.xml   |   1 -
 dist/game/data/stats/skills/02200-02299.xml   |   5 -
 dist/game/data/stats/skills/02300-02399.xml   |   1 -
 dist/game/data/stats/skills/02400-02499.xml   |   3 -
 dist/game/data/stats/skills/02800-02899.xml   |   7 +-
 dist/game/data/stats/skills/02900-02999.xml   |   3 -
 dist/game/data/stats/skills/03000-03099.xml   |  70 ++++---
 dist/game/data/stats/skills/03100-03199.xml   |  31 +--
 dist/game/data/stats/skills/03200-03299.xml   |   4 +-
 dist/game/data/stats/skills/03400-03499.xml   |   1 -
 dist/game/data/stats/skills/04000-04099.xml   |  34 ++--
 dist/game/data/stats/skills/04100-04199.xml   |  51 +++--
 dist/game/data/stats/skills/04200-04299.xml   |  24 ++-
 dist/game/data/stats/skills/04300-04399.xml   |  33 ++--
 dist/game/data/stats/skills/04500-04599.xml   |  25 ++-
 dist/game/data/stats/skills/04600-04699.xml   |  26 +--
 dist/game/data/stats/skills/04700-04799.xml   |  15 +-
 dist/game/data/stats/skills/05000-05099.xml   |   8 +-
 dist/game/data/stats/skills/05100-05199.xml   |  19 +-
 dist/game/data/stats/skills/05200-05299.xml   |  25 ++-
 dist/game/data/stats/skills/05300-05399.xml   |  50 +++--
 dist/game/data/stats/skills/05400-05499.xml   |  35 ++--
 dist/game/data/stats/skills/05500-05599.xml   |  12 +-
 dist/game/data/stats/skills/05600-05699.xml   |  11 +-
 dist/game/data/stats/skills/05700-05799.xml   |   6 +-
 dist/game/data/stats/skills/05800-05899.xml   |  23 ++-
 dist/game/data/stats/skills/06200-06299.xml   |   5 +-
 dist/game/data/stats/skills/06300-06399.xml   |  33 ++--
 dist/game/data/stats/skills/06400-06499.xml   |  47 +++--
 dist/game/data/stats/skills/06600-06699.xml   |  21 +-
 dist/game/data/stats/skills/06700-06799.xml   |  19 +-
 dist/game/data/stats/skills/06800-06899.xml   |  35 ++--
 dist/game/data/stats/skills/06900-06999.xml   |  10 +-
 dist/game/data/stats/skills/08300-08399.xml   |   3 -
 dist/game/data/stats/skills/09000-09099.xml   |   2 -
 dist/game/data/stats/skills/21000-21099.xml   |   9 +-
 dist/game/data/stats/skills/22000-22099.xml   |   2 -
 dist/game/data/stats/skills/22100-22199.xml   |   2 -
 dist/game/data/stats/skills/22200-22299.xml   |   4 -
 dist/game/data/stats/skills/23100-23199.xml   |   1 -
 dist/game/data/stats/skills/23200-23299.xml   |  12 +-
 dist/game/data/stats/skills/23300-23399.xml   |  15 +-
 dist/game/data/stats/skills/26000-26099.xml   |  11 +-
 .../data/stats/skills/custom/10000-10099.xml  |   4 +-
 dist/game/data/xsd/skills.xsd                 |  19 +-
 225 files changed, 1455 insertions(+), 1135 deletions(-)
 delete mode 100644 dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java
 delete mode 100644 dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
 delete mode 100644 dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
 rename dist/game/data/scripts/handlers/effecthandlers/{ChameleonRest.java => consume/ConsumeChameleonRest.java} (86%)
 rename dist/game/data/scripts/handlers/effecthandlers/{FakeDeath.java => consume/ConsumeFakeDeath.java} (86%)
 rename dist/game/data/scripts/handlers/effecthandlers/{SilentMove.java => consume/ConsumeHp.java} (64%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ManaDamOverTime.java => consume/ConsumeMp.java} (64%)
 rename dist/game/data/scripts/handlers/effecthandlers/{MpConsumePerLevel.java => consume/ConsumeMpByLevel.java} (82%)
 rename dist/game/data/scripts/handlers/effecthandlers/{Relax.java => consume/ConsumeRest.java} (68%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/BlockAction.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Buff.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Debuff.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Detection.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Flag.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Grow.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/ImmobileBuff.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/ImmobilePetBuff.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Mute.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/OpenChest.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/OpenDoor.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Paralyze.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Recovery.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Root.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{CpHealOverTime.java => custom/SilentMove.java} (52%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Sleep.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/Stun.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => custom}/ThrowUp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/AddHate.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Backstab.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Blink.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Bluff.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/CallParty.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/CallPc.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/CallSkill.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ChangeFace.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ChangeHairColor.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ChangeHairStyle.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ClanGate.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Confuse.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ConsumeBody.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ConvertItem.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Cp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DeathLink.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DeleteHate.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DeleteHateOfMe.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DetectHiddenObjects.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DispelAll.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DispelByCategory.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DispelBySlot.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/DispelBySlotProbability.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/EnergyAttack.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Escape.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FatalBlow.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Fishing.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FlySelf.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FocusEnergy.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FocusMaxEnergy.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FocusSouls.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/FoodForPet.java (98%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/GetAgro.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/GiveRecommendation.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/GiveSp.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Harvesting.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/HeadquarterCreate.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Heal.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Hp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/HpByLevel.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/HpDrain.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/HpPerMax.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Lethal.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/MagicalAttack.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/MagicalAttackByAbnormal.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/MagicalAttackMp.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/MagicalSoulAttack.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/ManaHealByLevel.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Mp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/MpPerMax.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/OpenCommonRecipeBook.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/OpenDwarfRecipeBook.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/OutpostCreate.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/OutpostDestroy.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/PhysicalAttack.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/PhysicalAttackHpLink.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/PhysicalSoulAttack.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Pumping.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/RandomizeHate.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/RebalanceHP.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Reeling.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/RefuelAirship.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Restoration.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/RestorationRandom.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Resurrection.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/RunAway.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SetSkill.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SkillTurning.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SoulBlow.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Sow.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Spoil.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/StaticDamage.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/StealAbnormal.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Summon.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SummonAgathion.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SummonCubic.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SummonNpc.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SummonPet.java (92%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/SummonTrap.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Sweeper.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TakeCastle.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TakeFort.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TakeFortStart.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TakeTerritoryFlag.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TargetCancel.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TargetMeProbability.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Teleport.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TeleportToTarget.java (90%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TransferHate.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TrapDetect.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/TrapRemove.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/Unsummon.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/UnsummonAgathion.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => instant}/VitalityPointUp.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/AttackTrait.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Betray.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockBuff.java (84%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockBuffSlot.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockChat.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockDamage.java (85%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockDebuff.java (84%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockParty.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/BlockResurrection.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/ChangeFishingMastery.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/CrystalGradeModify.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/CubicMastery.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/DefenceTrait.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Disarm.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/EnableCloak.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Fear.java (84%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Hide.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Lucky.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/MaxCp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/MaxHp.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/NoblesseBless.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Passive.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/PhysicalAttackMute.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/PhysicalMute.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/ProtectionBlessing.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/ResistSkill.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/ResurrectionSpecial.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/ServitorShare.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/SingleTarget.java (84%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/SoulEating.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TalismanSlot.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TargetMe.java (95%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TransferDamage.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/Transformation.java (94%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TriggerSkillByAttack.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TriggerSkillByAvoid.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TriggerSkillByDamage.java (96%)
 rename dist/game/data/scripts/handlers/effecthandlers/{ => pump}/TriggerSkillBySkill.java (96%)
 create mode 100644 dist/game/data/scripts/handlers/effecthandlers/ticks/TickHp.java
 rename dist/game/data/scripts/handlers/effecthandlers/{DamOverTime.java => ticks/TickHpFatal.java} (61%)
 create mode 100644 dist/game/data/scripts/handlers/effecthandlers/ticks/TickMp.java

diff --git a/dist/game/data/scripts/handlers/EffectMasterHandler.java b/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 2b140d27b4..caee7e6853 100644
--- a/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -24,7 +24,165 @@ import java.util.logging.Logger;
 import com.l2jserver.gameserver.handler.EffectHandler;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 
-import handlers.effecthandlers.*;
+import handlers.effecthandlers.consume.ConsumeChameleonRest;
+import handlers.effecthandlers.consume.ConsumeFakeDeath;
+import handlers.effecthandlers.consume.ConsumeHp;
+import handlers.effecthandlers.consume.ConsumeMp;
+import handlers.effecthandlers.consume.ConsumeMpByLevel;
+import handlers.effecthandlers.consume.ConsumeRest;
+import handlers.effecthandlers.custom.BlockAction;
+import handlers.effecthandlers.custom.Buff;
+import handlers.effecthandlers.custom.Debuff;
+import handlers.effecthandlers.custom.Detection;
+import handlers.effecthandlers.custom.Flag;
+import handlers.effecthandlers.custom.Grow;
+import handlers.effecthandlers.custom.ImmobileBuff;
+import handlers.effecthandlers.custom.ImmobilePetBuff;
+import handlers.effecthandlers.custom.Mute;
+import handlers.effecthandlers.custom.OpenChest;
+import handlers.effecthandlers.custom.OpenDoor;
+import handlers.effecthandlers.custom.Paralyze;
+import handlers.effecthandlers.custom.Recovery;
+import handlers.effecthandlers.custom.Root;
+import handlers.effecthandlers.custom.SilentMove;
+import handlers.effecthandlers.custom.Sleep;
+import handlers.effecthandlers.custom.Stun;
+import handlers.effecthandlers.custom.ThrowUp;
+import handlers.effecthandlers.instant.AddHate;
+import handlers.effecthandlers.instant.Backstab;
+import handlers.effecthandlers.instant.Blink;
+import handlers.effecthandlers.instant.Bluff;
+import handlers.effecthandlers.instant.CallParty;
+import handlers.effecthandlers.instant.CallPc;
+import handlers.effecthandlers.instant.CallSkill;
+import handlers.effecthandlers.instant.ChangeFace;
+import handlers.effecthandlers.instant.ChangeHairColor;
+import handlers.effecthandlers.instant.ChangeHairStyle;
+import handlers.effecthandlers.instant.ClanGate;
+import handlers.effecthandlers.instant.Confuse;
+import handlers.effecthandlers.instant.ConsumeBody;
+import handlers.effecthandlers.instant.ConvertItem;
+import handlers.effecthandlers.instant.Cp;
+import handlers.effecthandlers.instant.DeathLink;
+import handlers.effecthandlers.instant.DeleteHate;
+import handlers.effecthandlers.instant.DeleteHateOfMe;
+import handlers.effecthandlers.instant.DetectHiddenObjects;
+import handlers.effecthandlers.instant.DispelAll;
+import handlers.effecthandlers.instant.DispelByCategory;
+import handlers.effecthandlers.instant.DispelBySlot;
+import handlers.effecthandlers.instant.DispelBySlotProbability;
+import handlers.effecthandlers.instant.EnergyAttack;
+import handlers.effecthandlers.instant.Escape;
+import handlers.effecthandlers.instant.FatalBlow;
+import handlers.effecthandlers.instant.Fishing;
+import handlers.effecthandlers.instant.FlySelf;
+import handlers.effecthandlers.instant.FocusEnergy;
+import handlers.effecthandlers.instant.FocusMaxEnergy;
+import handlers.effecthandlers.instant.FocusSouls;
+import handlers.effecthandlers.instant.FoodForPet;
+import handlers.effecthandlers.instant.GetAgro;
+import handlers.effecthandlers.instant.GiveRecommendation;
+import handlers.effecthandlers.instant.GiveSp;
+import handlers.effecthandlers.instant.Harvesting;
+import handlers.effecthandlers.instant.HeadquarterCreate;
+import handlers.effecthandlers.instant.Heal;
+import handlers.effecthandlers.instant.Hp;
+import handlers.effecthandlers.instant.HpByLevel;
+import handlers.effecthandlers.instant.HpDrain;
+import handlers.effecthandlers.instant.HpPerMax;
+import handlers.effecthandlers.instant.Lethal;
+import handlers.effecthandlers.instant.MagicalAttack;
+import handlers.effecthandlers.instant.MagicalAttackByAbnormal;
+import handlers.effecthandlers.instant.MagicalAttackMp;
+import handlers.effecthandlers.instant.MagicalSoulAttack;
+import handlers.effecthandlers.instant.ManaHealByLevel;
+import handlers.effecthandlers.instant.Mp;
+import handlers.effecthandlers.instant.MpPerMax;
+import handlers.effecthandlers.instant.OpenCommonRecipeBook;
+import handlers.effecthandlers.instant.OpenDwarfRecipeBook;
+import handlers.effecthandlers.instant.OutpostCreate;
+import handlers.effecthandlers.instant.OutpostDestroy;
+import handlers.effecthandlers.instant.PhysicalAttack;
+import handlers.effecthandlers.instant.PhysicalAttackHpLink;
+import handlers.effecthandlers.instant.PhysicalSoulAttack;
+import handlers.effecthandlers.instant.Pumping;
+import handlers.effecthandlers.instant.RandomizeHate;
+import handlers.effecthandlers.instant.RebalanceHP;
+import handlers.effecthandlers.instant.Reeling;
+import handlers.effecthandlers.instant.RefuelAirship;
+import handlers.effecthandlers.instant.Restoration;
+import handlers.effecthandlers.instant.RestorationRandom;
+import handlers.effecthandlers.instant.Resurrection;
+import handlers.effecthandlers.instant.RunAway;
+import handlers.effecthandlers.instant.SetSkill;
+import handlers.effecthandlers.instant.SkillTurning;
+import handlers.effecthandlers.instant.SoulBlow;
+import handlers.effecthandlers.instant.Sow;
+import handlers.effecthandlers.instant.Spoil;
+import handlers.effecthandlers.instant.StaticDamage;
+import handlers.effecthandlers.instant.StealAbnormal;
+import handlers.effecthandlers.instant.Summon;
+import handlers.effecthandlers.instant.SummonAgathion;
+import handlers.effecthandlers.instant.SummonCubic;
+import handlers.effecthandlers.instant.SummonNpc;
+import handlers.effecthandlers.instant.SummonPet;
+import handlers.effecthandlers.instant.SummonTrap;
+import handlers.effecthandlers.instant.Sweeper;
+import handlers.effecthandlers.instant.TakeCastle;
+import handlers.effecthandlers.instant.TakeFort;
+import handlers.effecthandlers.instant.TakeFortStart;
+import handlers.effecthandlers.instant.TakeTerritoryFlag;
+import handlers.effecthandlers.instant.TargetCancel;
+import handlers.effecthandlers.instant.TargetMeProbability;
+import handlers.effecthandlers.instant.Teleport;
+import handlers.effecthandlers.instant.TeleportToTarget;
+import handlers.effecthandlers.instant.TransferHate;
+import handlers.effecthandlers.instant.TrapDetect;
+import handlers.effecthandlers.instant.TrapRemove;
+import handlers.effecthandlers.instant.Unsummon;
+import handlers.effecthandlers.instant.UnsummonAgathion;
+import handlers.effecthandlers.instant.VitalityPointUp;
+import handlers.effecthandlers.pump.AttackTrait;
+import handlers.effecthandlers.pump.Betray;
+import handlers.effecthandlers.pump.BlockBuff;
+import handlers.effecthandlers.pump.BlockBuffSlot;
+import handlers.effecthandlers.pump.BlockChat;
+import handlers.effecthandlers.pump.BlockDamage;
+import handlers.effecthandlers.pump.BlockDebuff;
+import handlers.effecthandlers.pump.BlockParty;
+import handlers.effecthandlers.pump.BlockResurrection;
+import handlers.effecthandlers.pump.ChangeFishingMastery;
+import handlers.effecthandlers.pump.CrystalGradeModify;
+import handlers.effecthandlers.pump.CubicMastery;
+import handlers.effecthandlers.pump.DefenceTrait;
+import handlers.effecthandlers.pump.Disarm;
+import handlers.effecthandlers.pump.EnableCloak;
+import handlers.effecthandlers.pump.Fear;
+import handlers.effecthandlers.pump.Hide;
+import handlers.effecthandlers.pump.Lucky;
+import handlers.effecthandlers.pump.MaxCp;
+import handlers.effecthandlers.pump.MaxHp;
+import handlers.effecthandlers.pump.NoblesseBless;
+import handlers.effecthandlers.pump.Passive;
+import handlers.effecthandlers.pump.PhysicalAttackMute;
+import handlers.effecthandlers.pump.PhysicalMute;
+import handlers.effecthandlers.pump.ProtectionBlessing;
+import handlers.effecthandlers.pump.ResistSkill;
+import handlers.effecthandlers.pump.ResurrectionSpecial;
+import handlers.effecthandlers.pump.ServitorShare;
+import handlers.effecthandlers.pump.SingleTarget;
+import handlers.effecthandlers.pump.SoulEating;
+import handlers.effecthandlers.pump.TalismanSlot;
+import handlers.effecthandlers.pump.TargetMe;
+import handlers.effecthandlers.pump.TransferDamage;
+import handlers.effecthandlers.pump.Transformation;
+import handlers.effecthandlers.pump.TriggerSkillByAttack;
+import handlers.effecthandlers.pump.TriggerSkillByAvoid;
+import handlers.effecthandlers.pump.TriggerSkillByDamage;
+import handlers.effecthandlers.pump.TriggerSkillBySkill;
+import handlers.effecthandlers.ticks.TickHp;
+import handlers.effecthandlers.ticks.TickHpFatal;
+import handlers.effecthandlers.ticks.TickMp;
 
 /**
  * Effect Master handler.
@@ -54,7 +212,6 @@ public final class EffectMasterHandler
 		CallParty.class,
 		CallPc.class,
 		CallSkill.class,
-		ChameleonRest.class,
 		ChangeFace.class,
 		ChangeFishingMastery.class,
 		ChangeHairColor.class,
@@ -62,13 +219,16 @@ public final class EffectMasterHandler
 		ClanGate.class,
 		Confuse.class,
 		ConsumeBody.class,
+		ConsumeChameleonRest.class,
+		ConsumeFakeDeath.class,
+		ConsumeHp.class,
+		ConsumeMp.class,
+		ConsumeMpByLevel.class,
+		ConsumeRest.class,
 		ConvertItem.class,
 		Cp.class,
-		CpHealOverTime.class,
 		CrystalGradeModify.class,
 		CubicMastery.class,
-		DamOverTime.class,
-		DamOverTimePercent.class,
 		DeathLink.class,
 		Debuff.class,
 		DefenceTrait.class,
@@ -84,7 +244,6 @@ public final class EffectMasterHandler
 		EnableCloak.class,
 		EnergyAttack.class,
 		Escape.class,
-		FakeDeath.class,
 		FatalBlow.class,
 		Fear.class,
 		Fishing.class,
@@ -101,7 +260,6 @@ public final class EffectMasterHandler
 		Harvesting.class,
 		HeadquarterCreate.class,
 		Heal.class,
-		HealOverTime.class,
 		Hide.class,
 		Hp.class,
 		HpByLevel.class,
@@ -115,13 +273,10 @@ public final class EffectMasterHandler
 		MagicalAttackByAbnormal.class,
 		MagicalAttackMp.class,
 		MagicalSoulAttack.class,
-		ManaDamOverTime.class,
 		ManaHealByLevel.class,
-		ManaHealOverTime.class,
 		MaxCp.class,
 		MaxHp.class,
 		Mp.class,
-		MpConsumePerLevel.class,
 		MpPerMax.class,
 		Mute.class,
 		NoblesseBless.class,
@@ -146,7 +301,6 @@ public final class EffectMasterHandler
 		Recovery.class,
 		Reeling.class,
 		RefuelAirship.class,
-		Relax.class,
 		ResistSkill.class,
 		Restoration.class,
 		RestorationRandom.class,
@@ -185,6 +339,9 @@ public final class EffectMasterHandler
 		Teleport.class,
 		TeleportToTarget.class,
 		ThrowUp.class,
+		TickHp.class,
+		TickHpFatal.class,
+		TickMp.class,
 		TransferDamage.class,
 		TransferHate.class,
 		Transformation.class,
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java b/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java
deleted file mode 100644
index b7e218db5b..0000000000
--- a/dist/game/data/scripts/handlers/effecthandlers/DamOverTimePercent.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2004-2018 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J DataPack is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package handlers.effecthandlers;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.conditions.Condition;
-import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.network.SystemMessageId;
-
-/**
- * Damage Over Time Percent effect implementation.
- * @author Adry_85
- */
-public final class DamOverTimePercent extends AbstractEffect
-{
-	private final boolean _canKill;
-	private final double _power;
-	
-	public DamOverTimePercent(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
-	{
-		super(attachCond, applyCond, set, params);
-		
-		_canKill = params.getBoolean("canKill", false);
-		_power = params.getDouble("power", 0);
-	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.DMG_OVER_TIME_PERCENT;
-	}
-	
-	@Override
-	public boolean onActionTime(BuffInfo info)
-	{
-		if (info.getEffected().isDead())
-		{
-			return false;
-		}
-		
-		double damage = info.getEffected().getCurrentHp() * _power * getTicksMultiplier();
-		if (damage >= (info.getEffected().getCurrentHp() - 1))
-		{
-			if (info.getSkill().isToggle())
-			{
-				info.getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_HP);
-				return false;
-			}
-			
-			// For DOT skills that will not kill effected player.
-			if (!_canKill)
-			{
-				// Fix for players dying by DOTs if HP < 1 since reduceCurrentHP method will kill them
-				if (info.getEffected().getCurrentHp() <= 1)
-				{
-					return info.getSkill().isToggle();
-				}
-				
-				damage = info.getEffected().getCurrentHp() - 1;
-			}
-		}
-		info.getEffected().reduceCurrentHpByDOT(damage, info.getEffector(), info.getSkill());
-		info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, true, false);
-		
-		return info.getSkill().isToggle();
-	}
-}
diff --git a/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java b/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
deleted file mode 100644
index efa879deea..0000000000
--- a/dist/game/data/scripts/handlers/effecthandlers/HealOverTime.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2004-2018 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J DataPack is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package handlers.effecthandlers;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.conditions.Condition;
-import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.skills.AbnormalType;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.network.serverpackets.ExRegenMax;
-
-/**
- * Heal Over Time effect implementation.
- */
-public final class HealOverTime extends AbstractEffect
-{
-	private final double _power;
-	
-	public HealOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
-	{
-		super(attachCond, applyCond, set, params);
-		
-		_power = params.getDouble("power", 0);
-	}
-	
-	@Override
-	public boolean onActionTime(BuffInfo info)
-	{
-		if (info.getEffected().isDead() || info.getEffected().isDoor())
-		{
-			return false;
-		}
-		
-		double hp = info.getEffected().getCurrentHp();
-		double maxhp = info.getEffected().getMaxRecoverableHp();
-		
-		// Not needed to set the HP and send update packet if player is already at max HP
-		if (hp >= maxhp)
-		{
-			return false;
-		}
-		
-		hp += _power * getTicksMultiplier();
-		hp = Math.min(hp, maxhp);
-		info.getEffected().setCurrentHp(hp);
-		return info.getSkill().isToggle();
-	}
-	
-	@Override
-	public void onStart(BuffInfo info)
-	{
-		if (info.getEffected().isPlayer() && (getTicks() > 0) && (info.getSkill().getAbnormalType() == AbnormalType.HP_RECOVER))
-		{
-			info.getEffected().sendPacket(new ExRegenMax(info.getAbnormalTime(), getTicks(), _power));
-		}
-	}
-}
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java b/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
deleted file mode 100644
index ff79bdb465..0000000000
--- a/dist/game/data/scripts/handlers/effecthandlers/ManaHealOverTime.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2004-2018 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J DataPack is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package handlers.effecthandlers;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.conditions.Condition;
-import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
-
-/**
- * Mana Heal Over Time effect implementation.
- */
-public final class ManaHealOverTime extends AbstractEffect
-{
-	private final double _power;
-	
-	public ManaHealOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
-	{
-		super(attachCond, applyCond, set, params);
-		
-		_power = params.getDouble("power", 0);
-	}
-	
-	@Override
-	public boolean onActionTime(BuffInfo info)
-	{
-		if (info.getEffected().isDead() || info.getEffected().isInvul() || info.getEffected().isMpBlocked())
-		{
-			return false;
-		}
-		
-		double mp = info.getEffected().getCurrentMp();
-		double maxmp = info.getEffected().getMaxRecoverableMp();
-		
-		// Not needed to set the MP and send update packet if player is already at max MP
-		if (mp >= maxmp)
-		{
-			return true;
-		}
-		
-		mp += _power * getTicksMultiplier();
-		mp = Math.min(mp, maxmp);
-		info.getEffected().setCurrentMp(mp);
-		return info.getSkill().isToggle();
-	}
-}
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeChameleonRest.java
similarity index 86%
rename from dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeChameleonRest.java
index 08570b3f6f..b4b1c73159 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeChameleonRest.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
@@ -30,15 +30,16 @@ import com.l2jserver.gameserver.network.SystemMessageId;
 /**
  * Chameleon Rest effect implementation.
  */
-public final class ChameleonRest extends AbstractEffect
+public final class ConsumeChameleonRest extends AbstractEffect
 {
 	private final double _power;
 	
-	public ChameleonRest(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeChameleonRest(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -77,7 +78,7 @@ public final class ChameleonRest extends AbstractEffect
 		}
 		
 		info.getEffected().reduceCurrentMp(manaDam);
-		return info.getSkill().isToggle();
+		return true;
 	}
 	
 	@Override
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeFakeDeath.java
similarity index 86%
rename from dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeFakeDeath.java
index ed7470a080..ca255ef58f 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FakeDeath.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeFakeDeath.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
@@ -28,18 +28,19 @@ import com.l2jserver.gameserver.network.serverpackets.ChangeWaitType;
 import com.l2jserver.gameserver.network.serverpackets.Revive;
 
 /**
- * Fake Death effect implementation.
+ * Consume Fake Death effect implementation.
  * @author mkizub
  */
-public final class FakeDeath extends AbstractEffect
+public final class ConsumeFakeDeath extends AbstractEffect
 {
 	private final double _power;
 	
-	public FakeDeath(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeFakeDeath(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -68,7 +69,7 @@ public final class FakeDeath extends AbstractEffect
 		
 		info.getEffected().reduceCurrentMp(manaDam);
 		
-		return info.getSkill().isToggle();
+		return true;
 	}
 	
 	@Override
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeHp.java
similarity index 64%
rename from dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeHp.java
index 32537e814d..f383cc060d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeHp.java
@@ -16,33 +16,30 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
- * Silent Move effect implementation.
+ * Consume Hp effect implementation.
+ * @author Adry_85
+ * @since 2.6.0.0
  */
-public final class SilentMove extends AbstractEffect
+public final class ConsumeHp extends AbstractEffect
 {
 	private final double _power;
 	
-	public SilentMove(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeHp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
-	}
-	
-	@Override
-	public int getEffectFlags()
-	{
-		return EffectFlag.SILENT_MOVE.getMask();
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -53,14 +50,15 @@ public final class SilentMove extends AbstractEffect
 			return false;
 		}
 		
-		final double manaDam = _power * getTicksMultiplier();
-		if (manaDam > info.getEffected().getCurrentMp())
+		final L2Character target = info.getEffected();
+		final double consume = _power * getTicksMultiplier();
+		if ((consume > target.getCurrentHp()))
 		{
-			info.getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
+			target.sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_HP);
 			return false;
 		}
 		
-		info.getEffected().reduceCurrentMp(manaDam);
-		return info.getSkill().isToggle();
+		target.setCurrentHp(Math.max(target.getCurrentHp() - consume, 0));
+		return true;
 	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMp.java
similarity index 64%
rename from dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMp.java
index 0a2582c06f..c18b0cd461 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ManaDamOverTime.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMp.java
@@ -16,26 +16,30 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
- * Mana Damage Over Time effect implementation.
+ * Consume Mp effect implementation.
+ * @author Adry_85
+ * @since 2.6.0.0
  */
-public final class ManaDamOverTime extends AbstractEffect
+public final class ConsumeMp extends AbstractEffect
 {
 	private final double _power;
 	
-	public ManaDamOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeMp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -46,14 +50,15 @@ public final class ManaDamOverTime extends AbstractEffect
 			return false;
 		}
 		
-		final double manaDam = _power * getTicksMultiplier();
-		if ((manaDam > info.getEffected().getCurrentMp()) && info.getSkill().isToggle())
+		final L2Character target = info.getEffected();
+		final double consume = _power * getTicksMultiplier();
+		if ((consume > target.getCurrentMp()))
 		{
-			info.getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
+			target.sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
 			return false;
 		}
 		
-		info.getEffected().reduceCurrentMp(manaDam);
-		return info.getSkill().isToggle();
+		target.setCurrentMp(Math.max(target.getCurrentMp() - consume, 0));
+		return true;
 	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMpByLevel.java
similarity index 82%
rename from dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMpByLevel.java
index e3abd2da5b..5fe4a2fe7e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MpConsumePerLevel.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeMpByLevel.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
@@ -26,17 +26,18 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
- * Mp Consume Per Level effect implementation.
+ * Consume Mp By Level effect implementation.
  */
-public final class MpConsumePerLevel extends AbstractEffect
+public final class ConsumeMpByLevel extends AbstractEffect
 {
 	private final double _power;
 	
-	public MpConsumePerLevel(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeMpByLevel(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -56,6 +57,6 @@ public final class MpConsumePerLevel extends AbstractEffect
 		}
 		
 		target.reduceCurrentMp(consume);
-		return info.getSkill().isToggle();
+		return true;
 	}
 }
\ No newline at end of file
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Relax.java b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeRest.java
similarity index 68%
rename from dist/game/data/scripts/handlers/effecthandlers/Relax.java
rename to dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeRest.java
index 621298b537..94a60c6d39 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Relax.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/consume/ConsumeRest.java
@@ -16,10 +16,11 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.consume;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
@@ -28,17 +29,18 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
- * Relax effect implementation.
+ * Consume Rest effect implementation.
  */
-public final class Relax extends AbstractEffect
+public final class ConsumeRest extends AbstractEffect
 {
 	private final double _power;
 	
-	public Relax(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public ConsumeRest(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
 		_power = params.getDouble("power", 0);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -61,36 +63,30 @@ public final class Relax extends AbstractEffect
 			return false;
 		}
 		
-		if (info.getEffected().isPlayer())
+		final L2Character target = info.getEffected();
+		if (target.isPlayer())
 		{
-			if (!info.getEffected().getActingPlayer().isSitting())
+			if (!target.getActingPlayer().isSitting())
 			{
 				return false;
 			}
 		}
 		
-		if ((info.getEffected().getCurrentHp() + 1) > info.getEffected().getMaxRecoverableHp())
+		if ((target.getCurrentHp() + 1) > target.getMaxRecoverableHp())
 		{
-			if (info.getSkill().isToggle())
-			{
-				info.getEffected().sendPacket(SystemMessageId.SKILL_DEACTIVATED_HP_FULL);
-				return false;
-			}
+			target.sendPacket(SystemMessageId.SKILL_DEACTIVATED_HP_FULL);
+			return false;
 		}
 		
 		final double manaDam = _power * getTicksMultiplier();
-		if (manaDam > info.getEffected().getCurrentMp())
+		if (manaDam > target.getCurrentMp())
 		{
-			if (info.getSkill().isToggle())
-			{
-				info.getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
-				return false;
-			}
+			target.sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
+			return false;
 		}
 		
-		info.getEffected().reduceCurrentMp(manaDam);
-		
-		return info.getSkill().isToggle();
+		target.reduceCurrentMp(manaDam);
+		return true;
 	}
 	
 	@Override
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java b/dist/game/data/scripts/handlers/effecthandlers/custom/BlockAction.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockAction.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/BlockAction.java
index 2fd056b2a0..dea5d70bbf 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockAction.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/BlockAction.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import java.util.HashSet;
 import java.util.Set;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Buff.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Buff.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Buff.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Buff.java
index 8e2ee2e92e..5325e5795d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Buff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Buff.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Debuff.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Debuff.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Debuff.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Debuff.java
index a334464ef3..409591d1c9 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Debuff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Debuff.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Detection.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Detection.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Detection.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Detection.java
index 7a4d7c8bcf..5f3bb767ec 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Detection.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Detection.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Flag.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Flag.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Flag.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Flag.java
index 89d44e5e86..00f7d65baa 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Flag.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Flag.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Grow.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Grow.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Grow.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Grow.java
index 66db3bcdc4..a03e0e6587 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Grow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Grow.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Npc;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java b/dist/game/data/scripts/handlers/effecthandlers/custom/ImmobileBuff.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/ImmobileBuff.java
index c2efe7e4d3..dba8f562db 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ImmobileBuff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/ImmobileBuff.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java b/dist/game/data/scripts/handlers/effecthandlers/custom/ImmobilePetBuff.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/ImmobilePetBuff.java
index b2b9b7c40e..7c83b7584e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ImmobilePetBuff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/ImmobilePetBuff.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Summon;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Mute.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Mute.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Mute.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Mute.java
index 06ec57ecb6..848132f167 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Mute.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Mute.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OpenChest.java b/dist/game/data/scripts/handlers/effecthandlers/custom/OpenChest.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/OpenChest.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/OpenChest.java
index 1a5c4a3019..91d891323d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OpenChest.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/OpenChest.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java b/dist/game/data/scripts/handlers/effecthandlers/custom/OpenDoor.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/OpenDoor.java
index dcefc90c6c..1619435bc4 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OpenDoor.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/OpenDoor.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.instancemanager.InstanceManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Paralyze.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Paralyze.java
index c0f2b5b98b..d4dcdd990a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Paralyze.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.ai.CtrlIntention;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Recovery.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Recovery.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Recovery.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Recovery.java
index 3acc2d9274..5bdb501633 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Recovery.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Recovery.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Root.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Root.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Root.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Root.java
index af16b79646..ab556ff7cc 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Root.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Root.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java b/dist/game/data/scripts/handlers/effecthandlers/custom/SilentMove.java
similarity index 52%
rename from dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/SilentMove.java
index d096c9a371..0310c1e429 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CpHealOverTime.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/SilentMove.java
@@ -16,47 +16,26 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 
 /**
- * Cp Heal Over Time effect implementation.
+ * Silent Move effect implementation.
  */
-public final class CpHealOverTime extends AbstractEffect
+public final class SilentMove extends AbstractEffect
 {
-	private final double _power;
-	
-	public CpHealOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public SilentMove(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
-		
-		_power = params.getDouble("power", 0);
 	}
 	
 	@Override
-	public boolean onActionTime(BuffInfo info)
+	public int getEffectFlags()
 	{
-		if (info.getEffected().isDead())
-		{
-			return false;
-		}
-		
-		double cp = info.getEffected().getCurrentCp();
-		double maxcp = info.getEffected().getMaxRecoverableCp();
-		
-		// Not needed to set the CP and send update packet if player is already at max CP
-		if (cp >= maxcp)
-		{
-			return false;
-		}
-		
-		cp += _power * getTicksMultiplier();
-		cp = Math.min(cp, maxcp);
-		info.getEffected().setCurrentCp(cp);
-		return true;
+		return EffectFlag.SILENT_MOVE.getMask();
 	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Sleep.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Sleep.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Sleep.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Sleep.java
index b062578cab..0db921ac7e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Sleep.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Sleep.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Stun.java b/dist/game/data/scripts/handlers/effecthandlers/custom/Stun.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Stun.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/Stun.java
index 7b49003279..b10d108906 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Stun.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/Stun.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java b/dist/game/data/scripts/handlers/effecthandlers/custom/ThrowUp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
rename to dist/game/data/scripts/handlers/effecthandlers/custom/ThrowUp.java
index 5d5dab51ef..83c64a7f31 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/custom/ThrowUp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.custom;
 
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.model.Location;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/AddHate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/AddHate.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/AddHate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/AddHate.java
index eecb7d0a31..2b437e49d7 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/AddHate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/AddHate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Backstab.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Backstab.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Backstab.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Backstab.java
index 7af5a35617..a31e965053 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Backstab.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Blink.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Blink.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Blink.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Blink.java
index c14889cf24..f58e0f798c 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Blink.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Blink.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.ai.CtrlIntention;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Bluff.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Bluff.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Bluff.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Bluff.java
index 6c04356c8a..e31b9d64f2 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Bluff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Bluff.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CallParty.java b/dist/game/data/scripts/handlers/effecthandlers/instant/CallParty.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/CallParty.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/CallParty.java
index f49c11251e..bb816e4986 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CallParty.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/CallParty.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CallPc.java b/dist/game/data/scripts/handlers/effecthandlers/instant/CallPc.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/CallPc.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/CallPc.java
index 7c1a173c0e..e9b024991d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CallPc.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/CallPc.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/dist/game/data/scripts/handlers/effecthandlers/instant/CallSkill.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/CallSkill.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/CallSkill.java
index 6e5500331f..fc553cb071 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/CallSkill.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeFace.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ChangeFace.java
index 6ef676f7ce..98d7c50608 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeFace.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairColor.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairColor.java
index 10d28995c9..9891d1618d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairColor.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ChangeHairStyle.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairStyle.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ChangeHairStyle.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairStyle.java
index 28fb4062d7..ccc3b9f7c1 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ChangeHairStyle.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ChangeHairStyle.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ClanGate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ClanGate.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ClanGate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ClanGate.java
index 273badf1f7..31455572b4 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ClanGate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ClanGate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Confuse.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Confuse.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Confuse.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Confuse.java
index 4c9e4f7e56..40a03f3a0b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Confuse.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Confuse.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ConsumeBody.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ConsumeBody.java
index 71dbe88845..f87b30a793 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ConsumeBody.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Npc;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ConvertItem.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ConvertItem.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ConvertItem.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ConvertItem.java
index 74063e3ea3..106322df5e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ConvertItem.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ConvertItem.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.Elementals;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Cp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Cp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Cp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Cp.java
index bc429b1785..a9dfeaf33d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Cp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Cp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DeathLink.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/DeathLink.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DeathLink.java
index 982459ce5c..287efe41f5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DeathLink.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DeathLink.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHate.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHate.java
index 0cae4f72f4..247f55e5e5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DeleteHate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHateOfMe.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHateOfMe.java
index ede7fc984e..769d603745 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DeleteHateOfMe.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DeleteHateOfMe.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DetectHiddenObjects.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DetectHiddenObjects.java
index e1b69c78fb..0b59359068 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DetectHiddenObjects.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DetectHiddenObjects.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DispelAll.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelAll.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/DispelAll.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DispelAll.java
index 24e513e3a3..0edd0828e5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DispelAll.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelAll.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DispelByCategory.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelByCategory.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/DispelByCategory.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DispelByCategory.java
index 61874d8f6c..f834b74804 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DispelByCategory.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelByCategory.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.List;
 
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlot.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlot.java
index bec8dc9052..6efa94419a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DispelBySlot.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlot.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.Collections;
 import java.util.EnumMap;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlotProbability.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlotProbability.java
index 9172a73a5f..e257f2304c 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DispelBySlotProbability.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/DispelBySlotProbability.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.Collections;
 import java.util.EnumMap;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/dist/game/data/scripts/handlers/effecthandlers/instant/EnergyAttack.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/EnergyAttack.java
index 961126dff8..1e034adf16 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/EnergyAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Escape.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Escape.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Escape.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Escape.java
index f5f263aacd..1c8945d317 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Escape.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Escape.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.instancemanager.MapRegionManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FatalBlow.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FatalBlow.java
index 14465e6970..27fe0f2990 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FatalBlow.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Fishing.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Fishing.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Fishing.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Fishing.java
index 3d97976d51..3fe029b779 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Fishing.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Fishing.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.GeoData;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FlySelf.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FlySelf.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/FlySelf.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FlySelf.java
index b7b693b6cf..424b17ee36 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FlySelf.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FlySelf.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.model.Location;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FocusEnergy.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusEnergy.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/FocusEnergy.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FocusEnergy.java
index a573073dca..34f27974ec 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FocusEnergy.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusEnergy.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FocusMaxEnergy.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusMaxEnergy.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/FocusMaxEnergy.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FocusMaxEnergy.java
index cacaa9bd8d..7f125591b9 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FocusMaxEnergy.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusMaxEnergy.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusSouls.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FocusSouls.java
index f04fadf2e5..a377aefa88 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FocusSouls.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FocusSouls.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FoodForPet.java b/dist/game/data/scripts/handlers/effecthandlers/instant/FoodForPet.java
similarity index 98%
rename from dist/game/data/scripts/handlers/effecthandlers/FoodForPet.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/FoodForPet.java
index 6fbc6e6908..7f24c5d73d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FoodForPet.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/FoodForPet.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.enums.MountType;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/GetAgro.java b/dist/game/data/scripts/handlers/effecthandlers/instant/GetAgro.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/GetAgro.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/GetAgro.java
index bc4240b352..111eaf82fb 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/GetAgro.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/GetAgro.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java b/dist/game/data/scripts/handlers/effecthandlers/instant/GiveRecommendation.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/GiveRecommendation.java
index 3a26b3a3b1..81165236b6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/GiveRecommendation.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/GiveRecommendation.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/GiveSp.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/GiveSp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/GiveSp.java
index cbec5926de..80449b5e88 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/GiveSp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/GiveSp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Harvesting.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Harvesting.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Harvesting.java
index c8e9617680..278f2694f5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Harvesting.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Harvesting.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/HeadquarterCreate.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/HeadquarterCreate.java
index d43db8b3ff..9bf3785bac 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/HeadquarterCreate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/HeadquarterCreate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Heal.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Heal.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Heal.java
index 5952535758..54013bbc9b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Heal.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Heal.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Hp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Hp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Hp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Hp.java
index 4483636604..105f43adf4 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Hp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Hp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java b/dist/game/data/scripts/handlers/effecthandlers/instant/HpByLevel.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/HpByLevel.java
index 33d945e72e..161cf94128 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/HpByLevel.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java b/dist/game/data/scripts/handlers/effecthandlers/instant/HpDrain.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/HpDrain.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/HpDrain.java
index 8b6f3dfe7b..b9edc9372a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/HpDrain.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/HpDrain.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/HpPerMax.java b/dist/game/data/scripts/handlers/effecthandlers/instant/HpPerMax.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/HpPerMax.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/HpPerMax.java
index 123a0fa136..bcc2bc7eb6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/HpPerMax.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/HpPerMax.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Lethal.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Lethal.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Lethal.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Lethal.java
index 277b9f4cca..3cadf20c02 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Lethal.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Lethal.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttack.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttack.java
index 94935d4bf5..aa97783fae 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttackByAbnormal.java b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackByAbnormal.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MagicalAttackByAbnormal.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackByAbnormal.java
index 065782a8fd..de672bce7c 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttackByAbnormal.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackByAbnormal.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttackMp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackMp.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/MagicalAttackMp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackMp.java
index 6406581e13..3fde24cd07 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MagicalAttackMp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalAttackMp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
@@ -73,7 +73,7 @@ public final class MagicalAttackMp extends AbstractEffect
 	@Override
 	public L2EffectType getEffectType()
 	{
-		return L2EffectType.MAGICAL_ATTACK_MP;
+		return L2EffectType.MAGICAL_ATTACK;
 	}
 	
 	@Override
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalSoulAttack.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/MagicalSoulAttack.java
index e31321ba54..9632696321 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MagicalSoulAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/MagicalSoulAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java b/dist/game/data/scripts/handlers/effecthandlers/instant/ManaHealByLevel.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/ManaHealByLevel.java
index 6b9bc5e079..b71e5b2f86 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/ManaHealByLevel.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Mp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Mp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Mp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Mp.java
index eeee8be881..7e8d36c65a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Mp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Mp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MpPerMax.java b/dist/game/data/scripts/handlers/effecthandlers/instant/MpPerMax.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MpPerMax.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/MpPerMax.java
index c8809ea510..544d115890 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MpPerMax.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/MpPerMax.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OpenCommonRecipeBook.java b/dist/game/data/scripts/handlers/effecthandlers/instant/OpenCommonRecipeBook.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/OpenCommonRecipeBook.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/OpenCommonRecipeBook.java
index d73c7715a4..ef594f965e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OpenCommonRecipeBook.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/OpenCommonRecipeBook.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.RecipeController;
 import com.l2jserver.gameserver.enums.PrivateStoreType;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OpenDwarfRecipeBook.java b/dist/game/data/scripts/handlers/effecthandlers/instant/OpenDwarfRecipeBook.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/OpenDwarfRecipeBook.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/OpenDwarfRecipeBook.java
index 8763e86be2..58f19f8d2b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OpenDwarfRecipeBook.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/OpenDwarfRecipeBook.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.RecipeController;
 import com.l2jserver.gameserver.enums.PrivateStoreType;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OutpostCreate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/OutpostCreate.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/OutpostCreate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/OutpostCreate.java
index c347c5ac7d..e0a57797a3 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OutpostCreate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/OutpostCreate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/OutpostDestroy.java b/dist/game/data/scripts/handlers/effecthandlers/instant/OutpostDestroy.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/OutpostDestroy.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/OutpostDestroy.java
index 4a82f23fe3..ed6f155e55 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/OutpostDestroy.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/OutpostDestroy.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttack.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttack.java
index 3cca0ead6d..97f8976acf 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttackHpLink.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttackHpLink.java
index 47e357137c..3c7dd15145 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalAttackHpLink.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalSoulAttack.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalSoulAttack.java
index dcf2942c94..8607901fd6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/PhysicalSoulAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Pumping.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Pumping.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Pumping.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Pumping.java
index 1abe3e37c7..178e88adaf 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Pumping.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Pumping.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.FishingRodsData;
 import com.l2jserver.gameserver.enums.ShotType;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/RandomizeHate.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/RandomizeHate.java
index e01bcdb975..ca4a3e18e9 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/RandomizeHate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/RandomizeHate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.List;
 import java.util.stream.Collectors;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/RebalanceHP.java b/dist/game/data/scripts/handlers/effecthandlers/instant/RebalanceHP.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/RebalanceHP.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/RebalanceHP.java
index 518a5c4f02..1cf1527a97 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/RebalanceHP.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/RebalanceHP.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Reeling.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Reeling.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Reeling.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Reeling.java
index afbe9fdfbb..e5372e3c5c 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Reeling.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Reeling.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.FishingRodsData;
 import com.l2jserver.gameserver.enums.ShotType;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java b/dist/game/data/scripts/handlers/effecthandlers/instant/RefuelAirship.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/RefuelAirship.java
index 6ce44fbfe5..a6af067018 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/RefuelAirship.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2AirShipInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Restoration.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Restoration.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Restoration.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Restoration.java
index afa237865c..5cda39efe8 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Restoration.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Restoration.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/RestorationRandom.java b/dist/game/data/scripts/handlers/effecthandlers/instant/RestorationRandom.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/RestorationRandom.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/RestorationRandom.java
index cf2c184650..b8c20dda56 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/RestorationRandom.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/RestorationRandom.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Resurrection.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Resurrection.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Resurrection.java
index 2af50ac713..690840cc49 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Resurrection.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Resurrection.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/RunAway.java b/dist/game/data/scripts/handlers/effecthandlers/instant/RunAway.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/RunAway.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/RunAway.java
index a30f0e2dca..96b1295f1a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/RunAway.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/RunAway.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.ai.L2AttackableAI;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SetSkill.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/SetSkill.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SetSkill.java
index f121ef332d..a5e453be2a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SetSkill.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SetSkill.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.datatables.SkillData;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SkillTurning.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SkillTurning.java
index a86091cb20..188a529eee 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SkillTurning.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SkillTurning.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SoulBlow.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SoulBlow.java
index 4342cf8b76..8036d584fc 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SoulBlow.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.ShotType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Sow.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Sow.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Sow.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Sow.java
index e9f6f30527..8ff73aa6fb 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Sow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Sow.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.enums.audio.Sound;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Spoil.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Spoil.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Spoil.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Spoil.java
index fccaea6ad0..337f7e7061 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Spoil.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Spoil.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java b/dist/game/data/scripts/handlers/effecthandlers/instant/StaticDamage.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/StaticDamage.java
index fef045a657..f03eee351a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/StaticDamage.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/StaticDamage.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java b/dist/game/data/scripts/handlers/effecthandlers/instant/StealAbnormal.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/StealAbnormal.java
index 7152fd593b..7e27833413 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/StealAbnormal.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.List;
 
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Summon.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Summon.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/Summon.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Summon.java
index aacadb7974..5b1cd24705 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Summon.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Summon.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.data.json.ExperienceData;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonAgathion.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SummonAgathion.java
index 8eb99d107b..0473cd9151 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SummonAgathion.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonAgathion.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonCubic.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SummonCubic.java
index 7f7a1bbf36..74bf255004 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SummonCubic.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonCubic.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2CubicInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonNpc.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SummonNpc.java
index 3f19aada0b..9675da28b5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonNpc.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.L2Spawn;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SummonPet.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonPet.java
similarity index 92%
rename from dist/game/data/scripts/handlers/effecthandlers/SummonPet.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SummonPet.java
index 26d63bd921..d34e73753b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SummonPet.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonPet.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.logging.Level;
 
@@ -29,7 +29,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.holders.PetItemHolder;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
@@ -47,12 +46,6 @@ public final class SummonPet extends AbstractEffect
 		super(attachCond, applyCond, set, params);
 	}
 	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.SUMMON_PET;
-	}
-	
 	@Override
 	public boolean isInstant()
 	{
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonTrap.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/SummonTrap.java
index 5b3055e210..0fc1679f1e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SummonTrap.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/SummonTrap.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Sweeper.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Sweeper.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Sweeper.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Sweeper.java
index 20b6743fe1..efe812f9e6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Sweeper.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Sweeper.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import java.util.Collection;
 
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TakeCastle.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeCastle.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TakeCastle.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TakeCastle.java
index 29852837af..b20db7b085 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TakeCastle.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeCastle.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TakeFort.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeFort.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TakeFort.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TakeFort.java
index 52cf9e8dba..7ecef86001 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TakeFort.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeFort.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.instancemanager.FortManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeFortStart.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TakeFortStart.java
index af7d626f3f..8960d5b2dc 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TakeFortStart.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeFortStart.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.instancemanager.FortManager;
 import com.l2jserver.gameserver.model.L2Clan;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeTerritoryFlag.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TakeTerritoryFlag.java
index 27b3b59c35..92169f07f3 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TakeTerritoryFlag.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TakeTerritoryFlag.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TargetCancel.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TargetCancel.java
index 183bc69db0..b46c99c62d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TargetCancel.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TargetCancel.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TargetMeProbability.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TargetMeProbability.java
index 478dd67bd8..262ef29187 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TargetMeProbability.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TargetMeProbability.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Teleport.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Teleport.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Teleport.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Teleport.java
index 04d287d4b1..2e80ff2e01 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Teleport.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Teleport.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TeleportToTarget.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TeleportToTarget.java
similarity index 90%
rename from dist/game/data/scripts/handlers/effecthandlers/TeleportToTarget.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TeleportToTarget.java
index 7e06b73451..218f48a21a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TeleportToTarget.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TeleportToTarget.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.ai.CtrlIntention;
@@ -25,7 +25,6 @@ import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.network.serverpackets.FlyToLocation;
 import com.l2jserver.gameserver.network.serverpackets.FlyToLocation.FlyType;
@@ -43,12 +42,6 @@ public final class TeleportToTarget extends AbstractEffect
 		super(attachCond, applyCond, set, params);
 	}
 	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.TELEPORT_TO_TARGET;
-	}
-	
 	@Override
 	public boolean isInstant()
 	{
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TransferHate.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TransferHate.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TransferHate.java
index b626a4f8c1..65ffb4be23 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TransferHate.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TrapDetect.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TrapDetect.java
index 73893f2fd2..a1058e17ce 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TrapDetect.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TrapDetect.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java b/dist/game/data/scripts/handlers/effecthandlers/instant/TrapRemove.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/TrapRemove.java
index 52dc8159cd..04e356dda2 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TrapRemove.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/TrapRemove.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.enums.TrapAction;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java b/dist/game/data/scripts/handlers/effecthandlers/instant/Unsummon.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Unsummon.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/Unsummon.java
index f8a37dec55..b6613948a3 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/Unsummon.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Summon;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/UnsummonAgathion.java b/dist/game/data/scripts/handlers/effecthandlers/instant/UnsummonAgathion.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/UnsummonAgathion.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/UnsummonAgathion.java
index ff69340199..9c74f9267b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/UnsummonAgathion.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/UnsummonAgathion.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java b/dist/game/data/scripts/handlers/effecthandlers/instant/VitalityPointUp.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java
rename to dist/game/data/scripts/handlers/effecthandlers/instant/VitalityPointUp.java
index 088bee8c71..976ce78410 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/instant/VitalityPointUp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.instant;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java b/dist/game/data/scripts/handlers/effecthandlers/pump/AttackTrait.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/AttackTrait.java
index 3da35ff424..48388883e9 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/AttackTrait.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/AttackTrait.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Betray.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Betray.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Betray.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Betray.java
index c19c6c1065..1296e239c8 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Betray.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Betray.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockBuff.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuff.java
similarity index 84%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockBuff.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuff.java
index 34c87f448e..5bbef1847e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockBuff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuff.java
@@ -16,13 +16,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 
 /**
  * @author Zealar
@@ -39,10 +38,4 @@ public final class BlockBuff extends AbstractEffect
 	{
 		return EffectFlag.BLOCK_BUFF.getMask();
 	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.BLOCK_BUFF;
-	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockBuffSlot.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuffSlot.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockBuffSlot.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuffSlot.java
index e622f0813c..708c470c8b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockBuffSlot.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockBuffSlot.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import java.util.Collections;
 import java.util.HashSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockChat.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockChat.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockChat.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockChat.java
index 6a5e80ede0..abbf67dca8 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockChat.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockChat.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.instancemanager.PunishmentManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockDamage.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockDamage.java
similarity index 85%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockDamage.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockDamage.java
index 1f200510ab..8af94cf815 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockDamage.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockDamage.java
@@ -16,13 +16,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 
 /**
  * @author Zealar
@@ -48,10 +47,4 @@ public final class BlockDamage extends AbstractEffect
 	{
 		return _type == BlockType.HP ? EffectFlag.BLOCK_HP.getMask() : EffectFlag.BLOCK_MP.getMask();
 	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.BLOCK_DAMAGE;
-	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockDebuff.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockDebuff.java
similarity index 84%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockDebuff.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockDebuff.java
index e51f4e1319..769c03b840 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockDebuff.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockDebuff.java
@@ -16,13 +16,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 
 /**
  * @author Zealar
@@ -39,10 +38,4 @@ public final class BlockDebuff extends AbstractEffect
 	{
 		return EffectFlag.BLOCK_DEBUFF.getMask();
 	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.BLOCK_DEBUFF;
-	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockParty.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockParty.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockParty.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockParty.java
index 36458c29c8..a3cef76e3c 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockParty.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockParty.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.instancemanager.PunishmentManager;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockResurrection.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/BlockResurrection.java
index 54959cda2f..e9457d6bfb 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/BlockResurrection.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java b/dist/game/data/scripts/handlers/effecthandlers/pump/ChangeFishingMastery.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/ChangeFishingMastery.java
index 2d5811e549..fb7d11a185 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ChangeFishingMastery.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/ChangeFishingMastery.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java b/dist/game/data/scripts/handlers/effecthandlers/pump/CrystalGradeModify.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/CrystalGradeModify.java
index 2bc99797ec..31ba965440 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CrystalGradeModify.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/CrystalGradeModify.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/CubicMastery.java b/dist/game/data/scripts/handlers/effecthandlers/pump/CubicMastery.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/CubicMastery.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/CubicMastery.java
index 667850012e..f5d5a99931 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/CubicMastery.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/CubicMastery.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DefenceTrait.java b/dist/game/data/scripts/handlers/effecthandlers/pump/DefenceTrait.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/DefenceTrait.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/DefenceTrait.java
index a06c9eac33..94c58f7530 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DefenceTrait.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/DefenceTrait.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Disarm.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Disarm.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Disarm.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Disarm.java
index 40cb8f8636..db8c7d07af 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Disarm.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Disarm.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/EnableCloak.java b/dist/game/data/scripts/handlers/effecthandlers/pump/EnableCloak.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/EnableCloak.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/EnableCloak.java
index c2760afa1e..3e80be0d40 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/EnableCloak.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/EnableCloak.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Fear.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Fear.java
similarity index 84%
rename from dist/game/data/scripts/handlers/effecthandlers/Fear.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Fear.java
index 52aa09a551..b60ac684fe 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Fear.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Fear.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.enums.Race;
@@ -44,9 +44,10 @@ public final class Fear extends AbstractEffect
 	@Override
 	public boolean canStart(BuffInfo info)
 	{
-		return info.getEffected().isPlayer() || info.getEffected().isSummon() || (info.getEffected().isAttackable() && //
-		!((info.getEffected() instanceof L2DefenderInstance) || (info.getEffected() instanceof L2FortCommanderInstance) || //
-			(info.getEffected() instanceof L2SiegeFlagInstance) || (info.getEffected().getTemplate().getRace() == Race.SIEGE_WEAPON)));
+		return info.getEffected().isPlayer() || info.getEffected().isSummon()
+			|| (info.getEffected().isAttackable() && //
+				!((info.getEffected() instanceof L2DefenderInstance) || (info.getEffected() instanceof L2FortCommanderInstance) || //
+					(info.getEffected() instanceof L2SiegeFlagInstance) || (info.getEffected().getTemplate().getRace() == Race.SIEGE_WEAPON)));
 	}
 	
 	@Override
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Hide.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Hide.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/Hide.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Hide.java
index c57c2b1b05..74868baa13 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Hide.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Hide.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Lucky.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Lucky.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Lucky.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Lucky.java
index d025470273..3f11ef76d0 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Lucky.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Lucky.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MaxCp.java b/dist/game/data/scripts/handlers/effecthandlers/pump/MaxCp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MaxCp.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/MaxCp.java
index bf8fefc6ef..eb0139bbe6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MaxCp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/MaxCp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java b/dist/game/data/scripts/handlers/effecthandlers/pump/MaxHp.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/MaxHp.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/MaxHp.java
index 0c56bd89fc..8c1e5b3cc3 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/MaxHp.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java b/dist/game/data/scripts/handlers/effecthandlers/pump/NoblesseBless.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/NoblesseBless.java
index 213c0ff827..dbb55d6bdc 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/NoblesseBless.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Passive.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Passive.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Passive.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Passive.java
index 50c947cb1f..cb7e009e51 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Passive.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Passive.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java b/dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalAttackMute.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalAttackMute.java
index 28dfae0a7c..71e8b8409d 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalAttackMute.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java b/dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalMute.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalMute.java
index 96d78dc605..d30e3374a9 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/PhysicalMute.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java b/dist/game/data/scripts/handlers/effecthandlers/pump/ProtectionBlessing.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/ProtectionBlessing.java
index a125da313d..82596b4ed5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/ProtectionBlessing.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java b/dist/game/data/scripts/handlers/effecthandlers/pump/ResistSkill.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/ResistSkill.java
index 430d88b644..e4fbb0faa6 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ResistSkill.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/ResistSkill.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ResurrectionSpecial.java b/dist/game/data/scripts/handlers/effecthandlers/pump/ResurrectionSpecial.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ResurrectionSpecial.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/ResurrectionSpecial.java
index a527c55303..2259a35265 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ResurrectionSpecial.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/ResurrectionSpecial.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ServitorShare.java b/dist/game/data/scripts/handlers/effecthandlers/pump/ServitorShare.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/ServitorShare.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/ServitorShare.java
index 6adac859c0..e5b9376133 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/ServitorShare.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/ServitorShare.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java b/dist/game/data/scripts/handlers/effecthandlers/pump/SingleTarget.java
similarity index 84%
rename from dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/SingleTarget.java
index e9bae5b289..35ba5aac5a 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SingleTarget.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/SingleTarget.java
@@ -16,13 +16,12 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.EffectFlag;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
 
 /**
  * @author Zealar
@@ -39,10 +38,4 @@ public final class SingleTarget extends AbstractEffect
 	{
 		return EffectFlag.SINGLE_TARGET.getMask();
 	}
-	
-	@Override
-	public L2EffectType getEffectType()
-	{
-		return L2EffectType.SINGLE_TARGET;
-	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java b/dist/game/data/scripts/handlers/effecthandlers/pump/SoulEating.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/SoulEating.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/SoulEating.java
index 9d63b3f5e2..a89568249b 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SoulEating.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/SoulEating.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Npc;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TalismanSlot.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TalismanSlot.java
index 53fda03638..974e6f5eae 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TalismanSlot.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TalismanSlot.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TargetMe.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TargetMe.java
similarity index 95%
rename from dist/game/data/scripts/handlers/effecthandlers/TargetMe.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TargetMe.java
index b2c980f70b..cd4c750d99 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TargetMe.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TargetMe.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Playable;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TransferDamage.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TransferDamage.java
index 7a750c5842..56f77f0926 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TransferDamage.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TransferDamage.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.actor.L2Playable;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/Transformation.java b/dist/game/data/scripts/handlers/effecthandlers/pump/Transformation.java
similarity index 94%
rename from dist/game/data/scripts/handlers/effecthandlers/Transformation.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/Transformation.java
index 2a19102e4d..28ff3cf9be 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/Transformation.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.data.xml.impl.TransformData;
 import com.l2jserver.gameserver.model.StatsSet;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAttack.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAttack.java
index 32d288fcde..abe80431d5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAttack.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAttack.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.handler.ITargetTypeHandler;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAvoid.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAvoid.java
index e02fcfbecf..c2004e1ce4 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByAvoid.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByAvoid.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.handler.ITargetTypeHandler;
 import com.l2jserver.gameserver.handler.TargetHandler;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByDamage.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByDamage.java
index 419fee52a1..eacf2af4c5 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillByDamage.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.handler.ITargetTypeHandler;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillBySkill.java
similarity index 96%
rename from dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java
rename to dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillBySkill.java
index 7922557c4f..02f1f28ede 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/pump/TriggerSkillBySkill.java
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.pump;
 
 import com.l2jserver.gameserver.handler.ITargetTypeHandler;
 import com.l2jserver.gameserver.handler.TargetHandler;
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ticks/TickHp.java b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickHp.java
new file mode 100644
index 0000000000..be5fa073dc
--- /dev/null
+++ b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickHp.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2004-2018 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers.ticks;
+
+import com.l2jserver.gameserver.enums.EffectCalculationType;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.skills.AbnormalType;
+import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.network.serverpackets.ExRegenMax;
+
+/**
+ * Tick Hp effect implementation.
+ * @author Adry_85
+ * @since 2.6.0.0
+ */
+public final class TickHp extends AbstractEffect
+{
+	private final double _power;
+	private final EffectCalculationType _mode;
+	
+	public TickHp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	{
+		super(attachCond, applyCond, set, params);
+		
+		_power = params.getDouble("power", 0);
+		_mode = params.getEnum("mode", EffectCalculationType.class, EffectCalculationType.DIFF);
+		setTicks(params.getInt("ticks"));
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.DMG_OVER_TIME;
+	}
+	
+	@Override
+	public boolean onActionTime(BuffInfo info)
+	{
+		if (info.getEffected().isDead())
+		{
+			return false;
+		}
+		
+		final L2Character target = info.getEffected();
+		double power = 0;
+		double hp = target.getCurrentHp();
+		switch (_mode)
+		{
+			case DIFF:
+			{
+				power = _power * getTicksMultiplier();
+				break;
+			}
+			case PER:
+			{
+				power = hp * _power * getTicksMultiplier();
+				break;
+			}
+		}
+		
+		if (power < 0)
+		{
+			power = Math.abs(power);
+			if (power >= (target.getCurrentHp() - 1))
+			{
+				power = target.getCurrentHp() - 1;
+			}
+			
+			info.getEffected().reduceCurrentHpByDOT(power, info.getEffector(), info.getSkill());
+			info.getEffected().notifyDamageReceived(power, info.getEffector(), info.getSkill(), false, true, false);
+		}
+		else
+		{
+			final double maxHp = target.getMaxRecoverableHp();
+			
+			// Not needed to set the HP and send update packet if player is already at max HP
+			if (hp > maxHp)
+			{
+				return true;
+			}
+			
+			target.setCurrentHp(Math.min(hp + power, maxHp));
+		}
+		return false;
+	}
+	
+	@Override
+	public void onStart(BuffInfo info)
+	{
+		if (info.getEffected().isPlayer() && (getTicks() > 0) && (info.getSkill().getAbnormalType() == AbnormalType.HP_RECOVER))
+		{
+			info.getEffected().sendPacket(new ExRegenMax(info.getAbnormalTime(), getTicks(), _power));
+		}
+	}
+}
diff --git a/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickHpFatal.java
similarity index 61%
rename from dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java
rename to dist/game/data/scripts/handlers/effecthandlers/ticks/TickHpFatal.java
index 08f38a3799..d15fb7fe2e 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/DamOverTime.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickHpFatal.java
@@ -16,29 +16,33 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-package handlers.effecthandlers;
+package handlers.effecthandlers.ticks;
 
+import com.l2jserver.gameserver.enums.EffectCalculationType;
 import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.network.SystemMessageId;
 
 /**
- * Dam Over Time effect implementation.
+ * Tick Hp Fatal effect implementation.
+ * @author Adry_85
+ * @since 2.6.0.0
  */
-public final class DamOverTime extends AbstractEffect
+public final class TickHpFatal extends AbstractEffect
 {
-	private final boolean _canKill;
 	private final double _power;
+	private final EffectCalculationType _mode;
 	
-	public DamOverTime(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	public TickHpFatal(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
-		_canKill = params.getBoolean("canKill", false);
 		_power = params.getDouble("power", 0);
+		_mode = params.getEnum("mode", EffectCalculationType.class, EffectCalculationType.DIFF);
+		setTicks(params.getInt("ticks"));
 	}
 	
 	@Override
@@ -55,29 +59,24 @@ public final class DamOverTime extends AbstractEffect
 			return false;
 		}
 		
-		double damage = _power * getTicksMultiplier();
-		if (damage >= (info.getEffected().getCurrentHp() - 1))
+		final L2Character target = info.getEffected();
+		double damage = 0;
+		switch (_mode)
 		{
-			if (info.getSkill().isToggle())
+			case DIFF:
 			{
-				info.getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_HP);
-				return false;
+				damage = _power * getTicksMultiplier();
+				break;
 			}
-			
-			// For DOT skills that will not kill effected player.
-			if (!_canKill)
+			case PER:
 			{
-				// Fix for players dying by DOTs if HP < 1 since reduceCurrentHP method will kill them
-				if (info.getEffected().getCurrentHp() <= 1)
-				{
-					return info.getSkill().isToggle();
-				}
-				damage = info.getEffected().getCurrentHp() - 1;
+				damage = target.getCurrentHp() * _power * getTicksMultiplier();
+				break;
 			}
 		}
 		
 		info.getEffected().reduceCurrentHpByDOT(damage, info.getEffector(), info.getSkill());
 		info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, true, false);
-		return info.getSkill().isToggle();
+		return false;
 	}
 }
diff --git a/dist/game/data/scripts/handlers/effecthandlers/ticks/TickMp.java b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickMp.java
new file mode 100644
index 0000000000..3ca2f2dd2b
--- /dev/null
+++ b/dist/game/data/scripts/handlers/effecthandlers/ticks/TickMp.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2004-2018 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers.ticks;
+
+import com.l2jserver.gameserver.enums.EffectCalculationType;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.skills.BuffInfo;
+
+/**
+ * Tick Mp effect implementation.
+ * @author Adry_85
+ * @since 2.6.0.0
+ */
+public final class TickMp extends AbstractEffect
+{
+	private final double _power;
+	private final EffectCalculationType _mode;
+	
+	public TickMp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
+	{
+		super(attachCond, applyCond, set, params);
+		
+		_power = params.getDouble("power", 0);
+		_mode = params.getEnum("mode", EffectCalculationType.class, EffectCalculationType.DIFF);
+		setTicks(params.getInt("ticks"));
+	}
+	
+	@Override
+	public boolean onActionTime(BuffInfo info)
+	{
+		if (info.getEffected().isDead())
+		{
+			return false;
+		}
+		
+		final L2Character target = info.getEffected();
+		double power = 0;
+		double mp = target.getCurrentMp();
+		switch (_mode)
+		{
+			case DIFF:
+			{
+				power = _power * getTicksMultiplier();
+				break;
+			}
+			case PER:
+			{
+				power = mp * _power * getTicksMultiplier();
+				break;
+			}
+		}
+		
+		if (power < 0)
+		{
+			target.reduceCurrentMp(Math.abs(power));
+		}
+		else
+		{
+			double maxMp = target.getMaxRecoverableMp();
+			
+			// Not needed to set the MP and send update packet if player is already at max MP
+			if (mp >= maxMp)
+			{
+				return true;
+			}
+			
+			target.setCurrentMp(Math.min(mp + power, maxMp));
+		}
+		return false;
+	}
+}
diff --git a/dist/game/data/stats/skills/00000-00099.xml b/dist/game/data/stats/skills/00000-00099.xml
index 5602a221cb..8b42b24334 100644
--- a/dist/game/data/stats/skills/00000-00099.xml
+++ b/dist/game/data/stats/skills/00000-00099.xml
@@ -1836,8 +1836,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="FakeDeath" ticks="5">
+			<effect name="ConsumeFakeDeath">
 				<param power="10" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2312,7 +2313,7 @@
 	</skill>
 	<skill id="84" levels="3" name="Poison Blade Dance" enchantGroup1="2" enchantGroup2="2">
 		<table name="#abnormalLvls"> 6 7 8 </table>
-		<table name="#dot"> 50 58 63 </table>
+		<table name="#dot"> -50 -58 -63 </table>
 		<table name="#effectPoints"> -523 -566 -646 </table>
 		<table name="#magicLvl"> 55 60 72 </table>
 		<table name="#mpConsume2"> 38 42 50 </table>
@@ -2355,8 +2356,9 @@
 			<effect name="PhysicalAttack">
 				<param power="1" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2679,13 +2681,13 @@
 	</skill>
 	<skill id="96" levels="6" name="Bleed" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
 		<table name="#abnormalLvls"> 3 4 5 6 7 8 </table>
-		<table name="#dot"> 25 34 44 54 62 67 </table>
+		<table name="#dot"> -25 -34 -44 -54 -62 -67 </table>
 		<table name="#effectPoints"> -119 -154 -237 -279 -311 -323 </table>
 		<table name="#magicLvl"> 24 32 49 58 66 70 </table>
 		<table name="#mpConsume2"> 28 37 60 73 83 89 </table>
 		<table name="#ench1MpConsume2"> 88 86 85 83 82 80 79 77 76 74 73 71 70 68 67 65 64 62 61 59 58 56 55 53 52 50 49 47 46 44 </table>
 		<table name="#ench2Sap"> 24 49 74 99 124 148 173 198 223 248 273 297 322 347 372 397 422 446 471 496 521 546 570 595 620 645 670 695 719 744 </table>
-		<table name="#ench3dot"> 69 70 71 72 74 75 76 77 79 80 81 82 83 85 86 87 88 90 91 92 93 95 96 97 98 100 101 102 103 105 </table>
+		<table name="#ench3dot"> -69 -70 -71 -72 -74 -75 -76 -77 -79 -80 -81 -82 -83 -85 -86 -87 -88 -90 -91 -92 -93 -95 -96 -97 -98 -100 -101 -102 -103 -105 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -2718,8 +2720,9 @@
 			<using kind="DAGGER,DUALDAGGER" />
 		</cond>
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</effects>
@@ -2727,14 +2730,16 @@
 			<effect name="HpByLevel">
 				<param power="#ench2Sap" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="67" />
+			<effect name="TickHp">
+				<param power="-67" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</enchant2Effects>
 		<enchant3Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench3dot" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</enchant3Effects>
diff --git a/dist/game/data/stats/skills/00100-00199.xml b/dist/game/data/stats/skills/00100-00199.xml
index ff0f1de425..72a05d57b9 100644
--- a/dist/game/data/stats/skills/00100-00199.xml
+++ b/dist/game/data/stats/skills/00100-00199.xml
@@ -190,7 +190,7 @@
 	</skill>
 	<skill id="103" levels="4" name="Corpse Plague">
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
-		<table name="#dot"> 41 50 58 63 </table>
+		<table name="#dot"> -41 -50 -58 -63 </table>
 		<table name="#effectPoints"> -438 -549 -582 -635 </table>
 		<table name="#magicLvl"> 46 58 62 70 </table>
 		<table name="#mpConsume2"> 22 28 29 33 </table>
@@ -218,8 +218,9 @@
 		<set name="targetType" val="AREA_CORPSE_MOB" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 			<effect name="ConsumeBody" />
 		</effects>
@@ -863,7 +864,7 @@
 	</skill>
 	<skill id="129" levels="5" name="Poison">
 		<table name="#abnormalLvls"> 3 5 6 7 8 </table>
-		<table name="#dot"> 24 41 50 58 63 </table>
+		<table name="#dot"> -24 -41 -50 -58 -63 </table>
 		<table name="#effectPoints"> -204 -467 -549 -611 -655 </table>
 		<table name="#magicLvl"> 20 49 58 66 74 </table>
 		<table name="#mpConsume2"> 8 18 22 25 28 </table>
@@ -892,8 +893,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00200-00299.xml b/dist/game/data/stats/skills/00200-00299.xml
index de0d8e954e..0190c6a42f 100644
--- a/dist/game/data/stats/skills/00200-00299.xml
+++ b/dist/game/data/stats/skills/00200-00299.xml
@@ -422,14 +422,18 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="SilentMove" ticks="5">
-				<param power="9" />
+			<effect name="SilentMove" />
+			<effect name="ConsumeMp">
+				<param power="-9" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.6" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="SilentMove" ticks="5">
-				<param power="9" />
+			<effect name="SilentMove" />
+			<effect name="ConsumeMp">
+				<param power="-9" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="#ench1Penalty" />
 			</effect>
 		</enchant1Effects>
@@ -444,15 +448,16 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="DamOverTime" ticks="2">
+			<effect name="ConsumeHp">
 				<param power="12" />
+				<param ticks="2" />
 				<mul stat="pAtkSpd" val="1.25" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="223" levels="49" name="Sting" enchantGroup1="2" enchantGroup2="2">
 		<table name="#abnormalLvls"> 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 </table>
-		<table name="#dot"> 25 25 25 25 25 25 34 34 34 34 34 34 34 34 44 44 44 44 44 44 44 44 44 44 54 54 54 54 54 54 54 54 54 54 62 62 62 62 62 62 62 62 62 62 67 67 67 67 67 </table>
+		<table name="#dot"> -25 -25 -25 -25 -25 -25 -34 -34 -34 -34 -34 -34 -34 -34 -44 -44 -44 -44 -44 -44 -44 -44 -44 -44 -54 -54 -54 -54 -54 -54 -54 -54 -54 -54 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -67 -67 -67 -67 -67 </table>
 		<table name="#effectPoints"> -111 -115 -119 -128 -132 -136 -145 -150 -154 -164 -169 -173 -183 -188 -193 -198 -203 -208 -213 -218 -223 -228 -233 -237 -242 -247 -252 -257 -261 -266 -271 -275 -279 -284 -288 -292 -296 -300 -304 -307 -311 -314 -317 -320 -323 -326 -328 -331 -333 </table>
 		<table name="#magicLvl"> 22 23 24 26 27 28 30 31 32 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 </table>
 		<table name="#mpConsume2"> 21 22 23 25 26 27 28 28 29 32 33 34 36 37 38 38 40 41 42 43 44 46 47 48 50 50 51 52 53 55 56 57 58 60 61 61 62 63 65 66 67 68 69 70 71 72 73 74 75 </table>
@@ -495,16 +500,18 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant2Effects>
 			<effect name="PhysicalAttack">
 				<param power="#ench2Power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="67" />
+			<effect name="TickHp">
+				<param power="-67" />
+				<param ticks="5" />
 			</effect>
 		</enchant2Effects>
 	</skill>
@@ -536,8 +543,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="Relax" ticks="3">
+			<effect name="ConsumeRest">
 				<param power="1" />
+				<param ticks="3" />
 				<add stat="regHp" val="5" />
 			</effect>
 		</effects>
@@ -1360,8 +1368,9 @@
 			<effect name="Spoil" />
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="118" />
+			<effect name="TickHp">
+				<param power="-118" />
+				<param ticks="5" />
 			</effect>
 			<effect name="Spoil" />
 		</enchant2Effects>
@@ -1412,14 +1421,16 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.4" />
+				<param ticks="5" />
 				<add stat="accCombat" val="3" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench1val" />
+				<param ticks="5" />
 				<add stat="accCombat" val="3" />
 			</effect>
 		</enchant1Effects>
@@ -2797,22 +2808,25 @@
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="2" />
+				<param ticks="5" />
 				<add stat="pDef" val="#pDef" />
 				<mul stat="rShld" val="1.5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="2" />
+				<param ticks="5" />
 				<add stat="pDef" val="#ench1pDef" />
 				<mul stat="rShld" val="1.5" />
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2val" />
+				<param ticks="5" />
 				<add stat="pDef" val="256" />
 				<mul stat="rShld" val="1.5" />
 			</effect>
@@ -3051,8 +3065,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="ChameleonRest" ticks="5">
+			<effect name="ConsumeChameleonRest">
 				<param power="2" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00300-00399.xml b/dist/game/data/stats/skills/00300-00399.xml
index b7de80712f..502791d26d 100644
--- a/dist/game/data/stats/skills/00300-00399.xml
+++ b/dist/game/data/stats/skills/00300-00399.xml
@@ -107,8 +107,9 @@
 			<effect name="Spoil" />
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="118" />
+			<effect name="TickHp">
+				<param power="-118" />
+				<param ticks="5" />
 			</effect>
 			<effect name="Spoil" />
 		</enchant2Effects>
@@ -423,20 +424,23 @@
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.8" />
+				<param ticks="5" />
 				<add stat="critDmgAdd" val="#crit" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.8" />
+				<param ticks="5" />
 				<add stat="critDmgAdd" val="#ench1crit" />
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2val" />
+				<param ticks="5" />
 				<add stat="critDmgAdd" val="609" />
 			</effect>
 		</enchant2Effects>
@@ -883,20 +887,23 @@
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume2" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.8" />
+				<param ticks="5" />
 				<add stat="sDef" val="#sDef" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.8" />
+				<param ticks="5" />
 				<add stat="sDef" val="#ench1sDef" />
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2val" />
+				<param ticks="5" />
 				<add stat="sDef" val="560" />
 			</effect>
 		</enchant2Effects>
@@ -1154,8 +1161,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="2" />
+				<param ticks="5" />
 				<mul stat="skillCriticalProbability" val="11" />
 			</effect>
 		</effects>
@@ -1177,18 +1185,30 @@
 				<param SHOCK="30" />
 				<param PARALYZE="30" />
 			</effect>
+			<effect name="ConsumeMpByLevel">
+				<param power="1" />
+				<param ticks="5" />
+			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="DefenceTrait">
 				<param SHOCK="#enchTraits" />
 				<param PARALYZE="30" />
 			</effect>
+			<effect name="ConsumeMpByLevel">
+				<param power="1" />
+				<param ticks="5" />
+			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
 			<effect name="DefenceTrait">
 				<param SHOCK="30" />
 				<param PARALYZE="#enchTraits" />
 			</effect>
+			<effect name="ConsumeMpByLevel">
+				<param power="1" />
+				<param ticks="5" />
+			</effect>
 		</enchant2Effects>
 	</skill>
 	<skill id="336" levels="1" name="Arcane Wisdom" enchantGroup1="5">
@@ -1203,15 +1223,17 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="mAtkSpd" val="0.9" />
 				<mul stat="magicalMpConsumeRate" val="0.7" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="mAtkSpd" val="0.9" />
 				<mul stat="magicalMpConsumeRate" val="#ench1MpConsume2" />
 			</effect>
@@ -1229,15 +1251,17 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="magicalMpConsumeRate" val="1.1" />
 				<mul stat="mAtk" val="1.3" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="magicalMpConsumeRate" val="1.1" />
 				<mul stat="mAtk" val="#ench1mAtk" />
 			</effect>
@@ -1257,24 +1281,27 @@
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="mAtkSpd" val="1.2" />
 				<mul stat="mReuse" val="0.9" />
 				<mul stat="magicalMpConsumeRate" val="1.1" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="mAtkSpd" val="#ench1mAtkSpd" />
 				<mul stat="mReuse" val="0.9" />
 				<mul stat="magicalMpConsumeRate" val="1.1" />
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="ConsumeHp">
 				<param power="50" />
+				<param ticks="5" />
 				<mul stat="mAtkSpd" val="1.2" />
 				<mul stat="mReuse" val="#ench2mReuse" />
 				<mul stat="magicalMpConsumeRate" val="1.1" />
@@ -1293,8 +1320,9 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="1" />
+				<param ticks="5" />
 				<mul stat="pDef" val="1.25" />
 				<mul stat="mDef" val="1.25" />
 				<mul stat="pAtkSpd" val="0.8" />
@@ -1303,8 +1331,9 @@
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="1" />
+				<param ticks="5" />
 				<mul stat="pDef" val="#enchDef" />
 				<mul stat="mDef" val="#enchDef" />
 				<mul stat="pAtkSpd" val="0.8" />
@@ -1322,8 +1351,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="1" />
+				<param ticks="5" />
 				<add stat="reflectDam" val="30" />
 				<add stat="reflectSkillPhysic" val="30" />
 				<add stat="reflectSkillMagic" val="30" />
@@ -1369,8 +1399,9 @@
 				<sub stat="debuffVuln" val="30" />
 				<mul stat="healEffect" val="1.3" />
 			</effect>
-			<effect name="HealOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="50" />
+				<param ticks="5" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="50" />
diff --git a/dist/game/data/stats/skills/00400-00499.xml b/dist/game/data/stats/skills/00400-00499.xml
index 85961793b2..ac7bd99f46 100644
--- a/dist/game/data/stats/skills/00400-00499.xml
+++ b/dist/game/data/stats/skills/00400-00499.xml
@@ -956,13 +956,11 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="Mp">
 				<param amount="#ench1amount" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1113,24 +1111,27 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.5" />
+				<param ticks="5" />
 				<add stat="accCombat" val="#accCombat">
 					<using kind="POLE" />
 				</add>
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.5" />
+				<param ticks="5" />
 				<add stat="accCombat" val="#ench1accCombat">
 					<using kind="POLE" />
 				</add>
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2MpConsume2" />
+				<param ticks="5" />
 				<add stat="accCombat" val="4">
 					<using kind="POLE" />
 				</add>
@@ -1178,8 +1179,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="1" />
+				<param ticks="5" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SHOCK="#trait_shock" />
@@ -1187,8 +1189,9 @@
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="1" />
+				<param ticks="5" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SHOCK="#ench1Trait_shock" />
@@ -1196,8 +1199,9 @@
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2MpConsume2" />
+				<param ticks="5" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SHOCK="15" />
@@ -1655,13 +1659,11 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="1000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="Cp">
 				<param amount="#ench1amount" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1686,11 +1688,13 @@
 			<effect name="Paralyze">
 				<mul stat="pDef" val="0.2" />
 			</effect>
-			<effect name="HealOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="60" />
+				<param ticks="5" />
 			</effect>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="10" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2621,8 +2625,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.2" />
+				<param ticks="5" />
 				<add stat="vengeancePdam" val="3" />
 			</effect>
 		</effects>
@@ -2759,8 +2764,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.4" />
+				<param ticks="5" />
 				<add stat="runSpd" val="20" />
 			</effect>
 		</effects>
@@ -3267,13 +3273,13 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 6 6 7 7 7 7 8 8 8 8 </table>
 		<table name="#castRange"> 400 500 500 500 500 500 600 600 600 600 </table>
-		<table name="#dot"> 107 107 123 123 123 123 123 134 134 134 </table>
+		<table name="#dot"> -107 -107 -123 -123 -123 -123 -123 -134 -134 -134 </table>
 		<table name="#effectPoints"> -266 -279 -288 -296 -304 -311 -317 -323 -328 -333 </table>
 		<table name="#effectRange"> 600 700 700 700 700 700 800 800 800 800 </table>
 		<table name="#magicLvl"> 55 58 60 62 64 66 68 70 72 74 </table>
 		<table name="#mpConsume1"> 65 70 73 75 77 80 83 85 88 90 </table>
 		<table name="#ench1AbnormalLvl"> 8 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 </table>
-		<table name="#ench1Power"> 134 135 135 135 135 135 135 136 136 136 136 136 136 137 137 137 137 137 137 138 138 138 138 138 138 139 139 139 139 139 </table>
+		<table name="#ench1Power"> -134 -135 -135 -135 -135 -135 -135 -136 -136 -136 -136 -136 -136 -137 -137 -137 -137 -137 -137 -138 -138 -138 -138 -138 -138 -139 -139 -139 -139 -139 </table>
 		<table name="#ench2ActivateRates"> 51 52 54 55 56 58 59 60 62 63 64 66 67 68 70 71 72 74 75 76 78 79 80 82 83 84 86 87 88 90 </table>
 		<table name="#ench3Cost"> 88 87 85 84 82 81 79 78 76 75 73 72 70 69 67 66 64 63 61 60 58 57 55 54 52 51 49 48 46 45 </table>
 		<table name="#ench4Duel"> 16 22 29 35 41 48 54 60 67 73 79 86 92 98 105 111 117 124 130 136 143 149 155 162 168 174 181 187 193 200 </table>
@@ -3320,16 +3326,18 @@
 			<effect name="PhysicalSoulAttack">
 				<param power="1" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="PhysicalSoulAttack">
 				<param power="1" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1Power" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 		<enchant4Effects>
@@ -3338,16 +3346,18 @@
 			<effect name="PhysicalSoulAttack">
 				<param power="#ench4Duel" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="134" />
+			<effect name="TickHp">
+				<param power="-134" />
+				<param ticks="5" />
 			</effect>
 		</enchant4pvpEffects>
 		<enchant4pveEffects>
 			<effect name="PhysicalSoulAttack">
 				<param power="1" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="134" />
+			<effect name="TickHp">
+				<param power="-134" />
+				<param ticks="5" />
 			</effect>
 		</enchant4pveEffects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00500-00599.xml b/dist/game/data/stats/skills/00500-00599.xml
index 58dd4c8c53..0f333350b7 100644
--- a/dist/game/data/stats/skills/00500-00599.xml
+++ b/dist/game/data/stats/skills/00500-00599.xml
@@ -18,8 +18,9 @@
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.4" />
+				<param ticks="5" />
 				<mul stat="pAtk" val="#amount" />
 				<mul stat="pAtkSpd" val="#amount" />
 				<add stat="accCombat" val="#amount2" />
@@ -28,8 +29,9 @@
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.4" />
+				<param ticks="5" />
 				<mul stat="pAtk" val="#ench1Power" />
 				<mul stat="pAtkSpd" val="1.08" />
 				<add stat="accCombat" val="#ench1Power2" />
@@ -38,8 +40,9 @@
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="#ench2Cost" />
+				<param ticks="5" />
 				<mul stat="pAtk" val="1.08" />
 				<mul stat="pAtkSpd" val="1.08" />
 				<add stat="accCombat" val="4" />
@@ -516,7 +519,7 @@
 	</skill>
 	<skill id="509" levels="34" name="Bleeding Shot" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2">
 		<!-- Confirmed CT2.5 -->
-		<table name="#dot"> 44 44 44 44 44 44 44 44 44 54 54 54 54 54 54 54 54 54 54 62 62 62 62 62 62 62 62 62 62 67 67 67 67 67 </table>
+		<table name="#dot"> -44 -44 -44 -44 -44 -44 -44 -44 -44 -54 -54 -54 -54 -54 -54 -54 -54 -54 -54 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -67 -67 -67 -67 -67 </table>
 		<table name="#effectPoints"> -395 -405 -415 -425 -435 -445 -455 -465 -474 -484 -494 -503 -513 -522 -532 -541 -550 -558 -567 -575 -583 -591 -599 -607 -614 -621 -627 -634 -640 -646 -651 -656 -661 -665 </table>
 		<table name="#magicLvl"> 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 </table>
 		<table name="#mpConsume2"> 56 58 59 61 63 65 66 68 70 72 72 74 76 78 80 81 83 85 87 88 89 91 92 94 96 97 99 100 102 103 105 106 108 109 </table>
@@ -563,8 +566,9 @@
 				<param power="#power" />
 				<param ignoreShieldDefence="true" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
@@ -572,8 +576,9 @@
 				<param power="#ench1Power" />
 				<param ignoreShieldDefence="true" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="67" />
+			<effect name="TickHp">
+				<param power="-67" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1097,7 +1102,7 @@
 	<skill id="523" levels="7" name="Imbue Dark Seed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#calledSkillLevel"> 1 2 3 4 5 6 7 </table>
-		<table name="#dot"> 76 76 76 76 83 83 83 </table>
+		<table name="#dot"> -76 -76 -76 -76 -83 -83 -83 </table>
 		<table name="#effectLevel"> 1 2 3 4 5 6 7 </table>
 		<table name="#effectPoints"> -296 -304 -311 -317 -323 -328 -333 </table>
 		<table name="#magicLvl"> 62 64 66 68 70 72 74 </table>
@@ -1127,8 +1132,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -2130,8 +2136,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="123" />
+			<effect name="TickHp">
+				<param power="-123" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2435,8 +2442,9 @@
 		<set name="targetType" val="AREA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="58" />
+			<effect name="TickHp">
+				<param power="-58" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2607,7 +2615,7 @@
 	<skill id="578" levels="4" name="Blaze Quake">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 6 6 7 7 </table>
-		<table name="#dot"> 27 27 31 31 </table>
+		<table name="#dot"> -27 -27 -31 -31 </table>
 		<table name="#effectPoints"> -477 -532 -582 -630 </table>
 		<table name="#magicLvl"> 60 63 66 69 </table>
 		<table name="#mpConsume2"> 61 63 67 70 </table>
@@ -2638,8 +2646,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2766,8 +2775,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="123" />
+			<effect name="TickHp">
+				<param power="-123" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2885,7 +2895,7 @@
 	</skill>
 	<skill id="588" levels="2" name="Curse of Darkness">
 		<!-- Confirmed CT2.5 -->
-		<table name="#dot"> 88 101 </table>
+		<table name="#dot"> -88 -101 </table>
 		<table name="#magicLvl"> 59 63 </table>
 		<table name="#mpConsume2"> 54 58 </table>
 		<set name="abnormalLvl" val="1" />
@@ -2907,8 +2917,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00600-00699.xml b/dist/game/data/stats/skills/00600-00699.xml
index 60fe7385f7..572585cb3c 100644
--- a/dist/game/data/stats/skills/00600-00699.xml
+++ b/dist/game/data/stats/skills/00600-00699.xml
@@ -1855,8 +1855,9 @@
 			<effect name="PhysicalAttack">
 				<param power="1549" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="139" />
+			<effect name="TickHp">
+				<param power="-139" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00700-00799.xml b/dist/game/data/stats/skills/00700-00799.xml
index 6e2882d6fb..e922e4f24d 100644
--- a/dist/game/data/stats/skills/00700-00799.xml
+++ b/dist/game/data/stats/skills/00700-00799.xml
@@ -17,8 +17,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="PARTY" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="27" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="400" />
@@ -338,8 +339,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.4" />
+				<param ticks="5" />
 				<add stat="transDam" val="50" />
 			</effect>
 		</effects>
@@ -462,7 +464,6 @@
 			</effect>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
  			</effect>
 		</effects>
 	</skill>
@@ -974,8 +975,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="351" />
+			<effect name="TickHp">
+				<param power="-351" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1114,8 +1116,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="52" />
+			<effect name="TickHp">
+				<param power="-52" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1430,8 +1433,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="134" />
+			<effect name="TickHp">
+				<param power="-134" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2085,8 +2089,9 @@
 				<param power="4500" />
 				<param criticalChance="20" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2368,8 +2373,9 @@
 				<sub stat="debuffVuln" val="30" />
 				<mul stat="healEffect" val="1.3" />
 			</effect>
-			<effect name="HealOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="50" />
+				<param ticks="5" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="50" />
@@ -2759,8 +2765,9 @@
 			<effect name="PhysicalAttack">
 				<param power="1689" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="69" />
+			<effect name="TickHp">
+				<param power="-69" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/00800-00899.xml b/dist/game/data/stats/skills/00800-00899.xml
index be58539db7..3b36cdcbe9 100644
--- a/dist/game/data/stats/skills/00800-00899.xml
+++ b/dist/game/data/stats/skills/00800-00899.xml
@@ -799,7 +799,7 @@
 		<table name="#calledSkillLevel"> 1 2 3 4 </table>
 		<table name="#effectPoints"> -317 -323 -328 -333 </table>
 		<table name="#magicLvl"> 68 70 72 74 </table>
-		<table name="#mdot"> 16 17 17 17 </table>
+		<table name="#mdot"> -16 -17 -17 -17 </table>
 		<set name="abnormalLvl" val="8" />
 		<set name="abnormalTime" val="20" />
 		<set name="abnormalType" val="DARK_SEED" />
@@ -826,8 +826,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
diff --git a/dist/game/data/stats/skills/00900-00999.xml b/dist/game/data/stats/skills/00900-00999.xml
index b297de27a7..3d55351615 100644
--- a/dist/game/data/stats/skills/00900-00999.xml
+++ b/dist/game/data/stats/skills/00900-00999.xml
@@ -147,16 +147,18 @@
 			<effect name="MagicalAttack">
 				<param power="#pvpPower" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="230" />
+			<effect name="TickHp">
+				<param power="-230" />
+				<param ticks="5" />
 			</effect>
 		</pvpEffects>
 		<pveEffects>
 			<effect name="MagicalAttack">
 				<param power="#pvePower" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="230" />
+			<effect name="TickHp">
+				<param power="-230" />
+				<param ticks="5" />
 			</effect>
 		</pveEffects>
 	</skill>
@@ -312,8 +314,9 @@
 			<effect name="MagicalAttack">
 				<param power="#pvpPower" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="230" />
+			<effect name="TickHp">
+				<param power="-230" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.3" />
 				<mul stat="pAtkSpd" val="0.8" />
 				<mul stat="mAtkSpd" val="0.8" />
@@ -323,8 +326,9 @@
 			<effect name="MagicalAttack">
 				<param power="#pvePower" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="230" />
+			<effect name="TickHp">
+				<param power="-230" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.3" />
 				<mul stat="pAtkSpd" val="0.8" />
 				<mul stat="mAtkSpd" val="0.8" />
@@ -759,7 +763,7 @@
 	<skill id="927" levels="14" name="Burning Chop" enchantGroup1="2">
 		<!-- High Five Confirmed -->
 		<table name="#abnormalLvls"> 5 5 5 6 6 6 7 7 7 7 7 8 8 8 </table>
-		<table name="#dot"> 43 43 43 53 53 53 61 61 61 61 61 66 66 66 </table>
+		<table name="#dot"> -43 -43 -43 -53 -53 -53 -61 -61 -61 -61 -61 -66 -66 -66 </table>
 		<table name="#effectPoints"> -193 -213 -233 -252 -271 -279 -288 -296 -304 -311 -317 -323 -328 -333 </table>
 		<table name="#magicLvl"> 40 44 48 52 56 58 60 62 64 66 68 70 72 74 </table>
 		<table name="#power"> 167 210 261 319 384 419 455 492 531 570 610 651 691 731 </table>
@@ -800,8 +804,9 @@
 				<param power="#power" />
 				<param criticalChance="10" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 		<enchant1Effects>
@@ -809,8 +814,9 @@
 				<param power="#ench1Power" />
 				<param criticalChance="10" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="66" />
+			<effect name="TickHp">
+				<param power="-66" />
+				<param ticks="1" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1271,8 +1277,9 @@
 			<effect name="PhysicalAttack">
 				<param power="4312" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="92" />
+			<effect name="TickHp">
+				<param power="-92" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -1406,8 +1413,9 @@
 			<effect name="PhysicalAttack">
 				<param power="1649" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="52" />
+			<effect name="TickHp">
+				<param power="-52" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/01000-01099.xml b/dist/game/data/stats/skills/01000-01099.xml
index e747e2f384..e6ee0fe433 100644
--- a/dist/game/data/stats/skills/01000-01099.xml
+++ b/dist/game/data/stats/skills/01000-01099.xml
@@ -17,14 +17,16 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="ConsumeMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 				<add stat="pAtk" val="#pAtk" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="ConsumeMp">
 				<param power="4" />
+				<param ticks="5" />
 				<add stat="pAtk" val="#ench1patk" />
 			</effect>
 		</enchant1Effects>
@@ -1995,7 +1997,7 @@
 	</skill>
 	<skill id="1095" levels="5" name="Venom">
 		<table name="#abnormalLvls"> 1 2 3 5 6 </table>
-		<table name="#dot"> 11 16 24 41 50 </table>
+		<table name="#dot"> -11 -16 -24 -41 -50 </table>
 		<table name="#effectPoints"> -121 -162 -204 -379 -495 </table>
 		<table name="#magicLvl"> 7 14 20 40 52 </table>
 		<table name="#mpConsume2"> 8 12 16 28 38 </table>
@@ -2024,8 +2026,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/01100-01199.xml b/dist/game/data/stats/skills/01100-01199.xml
index 48b1f76a97..da19958363 100644
--- a/dist/game/data/stats/skills/01100-01199.xml
+++ b/dist/game/data/stats/skills/01100-01199.xml
@@ -2,7 +2,7 @@
 <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/skills.xsd">
 	<skill id="1100" levels="2" name="Chill Flame">
 		<table name="#abnormalLvls"> 1 2 </table>
-		<table name="#dot"> 27 40 </table>
+		<table name="#dot"> -27 -40 </table>
 		<table name="#effectPoints"> -121 -162 </table>
 		<table name="#magicLvl"> 7 14 </table>
 		<table name="#mpConsume2"> 12 18 </table>
@@ -32,14 +32,15 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="1101" levels="2" name="Blaze Quake">
 		<table name="#abnormalLvls"> 3 4 </table>
-		<table name="#dot"> 58 79 </table>
+		<table name="#dot"> -58 -79 </table>
 		<table name="#effectPoints"> -243 -331 </table>
 		<table name="#magicLvl"> 25 35 </table>
 		<table name="#mpConsume2"> 40 54 </table>
@@ -68,8 +69,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -77,7 +79,7 @@
 		<table name="#abnormalLvls"> 3 4 5 6 7 8 </table>
 		<table name="#effectPoints"> -243 -331 -418 -495 -597 -635 </table>
 		<table name="#magicLvl"> 25 35 44 52 64 70 </table>
-		<table name="#mdot"> 8 10 13 16 20 22 </table>
+		<table name="#mdot"> -8 -10 -13 -16 -20 -22 </table>
 		<table name="#mpConsume2"> 27 36 47 55 71 78 </table>
 		<table name="#mpConsume1"> 7 9 12 15 18 20 </table>
 		<table name="#power"> 16 22 29 36 46 51 </table>
@@ -107,8 +109,9 @@
 			<effect name="MagicalAttackMp">
 				<param power="#power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -181,7 +184,7 @@
 	</skill>
 	<skill id="1107" levels="2" name="Frost Flame">
 		<table name="#abnormalLvls"> 3 4 </table>
-		<table name="#dot"> 58 79 </table>
+		<table name="#dot"> -58 -79 </table>
 		<table name="#effectPoints"> -204 -285 </table>
 		<table name="#magicLvl"> 20 30 </table>
 		<table name="#mpConsume2"> 23 32 </table>
@@ -211,14 +214,15 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="1108" levels="4" name="Seal of Flame">
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
-		<table name="#dot"> 60 73 84 92 </table>
+		<table name="#dot"> -60 -73 -84 -92 </table>
 		<table name="#effectPoints"> -286 -333 -390 -409 </table>
 		<table name="#magicLvl"> 48 56 68 74 </table>
 		<table name="#mpConsume2"> 77 92 113 122 </table>
@@ -245,8 +249,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -780,7 +785,6 @@
 		<enchant2selfEffects>
 			<effect name="Cp">
 				<param amount="#ench2Bravery" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant2selfEffects>
 	</skill>
@@ -915,23 +919,19 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="Mp">
 				<param amount="#ench1amount" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant1Effects>
 		<enchant3Effects>
 			<effect name="Cp">
 				<param amount="#ench3Bravery" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="Mp">
 				<param amount="61" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant3Effects>
 	</skill>
@@ -1123,12 +1123,12 @@
 	</skill>
 	<skill id="1167" levels="6" name="Poisonous Cloud" enchantGroup1="1" enchantGroup2="1" enchantGroup3="1">
 		<table name="#abnormalLvls"> 3 4 5 6 7 8 </table>
-		<table name="#dot"> 24 32 41 50 58 63 </table>
+		<table name="#dot"> -24 -32 -41 -50 -58 -63 </table>
 		<table name="#effectPoints"> -243 -331 -457 -532 -597 -655 </table>
 		<table name="#magicLvl"> 25 35 48 56 64 74 </table>
 		<table name="#mpConsume2"> 27 36 52 61 71 82 </table>
 		<table name="#mpConsume1"> 7 9 13 16 18 21 </table>
-		<table name="#ench1dot"> 64 65 65 66 67 67 68 69 69 70 70 71 72 72 73 74 74 75 76 76 77 77 78 79 79 80 81 81 82 83 </table>
+		<table name="#ench1dot"> -64 -65 -65 -66 -67 -67 -68 -69 -69 -70 -70 -71 -72 -72 -73 -74 -74 -75 -76 -76 -77 -77 -78 -79 -79 -80 -81 -81 -82 -83 </table>
 		<table name="#ench2MpConsume2"> 82 79 78 78 75 74 74 71 70 70 67 66 64 63 62 60 59 58 56 55 54 52 51 50 48 47 46 44 43 42 </table>
 		<table name="#ench2MpConsume1"> 20 20 20 19 19 19 18 18 18 17 17 17 16 16 16 15 15 15 14 14 14 13 13 13 12 12 11 11 11 10 </table>
 		<table name="#ench3ActivateRates"> 36 38 39 41 42 44 45 47 48 50 51 53 54 56 57 59 60 62 63 65 66 68 69 71 72 74 75 77 78 80 </table>
@@ -1164,19 +1164,21 @@
 		<enchant3 name="activateRate" val="#ench3ActivateRates" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1dot" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 	</skill>
 	<skill id="1168" levels="7" name="Curse: Poison">
 		<table name="#abnormalLvls"> 1 3 4 5 6 7 8 </table>
-		<table name="#dot"> 11 24 32 41 50 58 63 </table>
+		<table name="#dot"> -11 -24 -32 -41 -50 -58 -63 </table>
 		<table name="#effectPoints"> -121 -204 -285 -418 -495 -582 -646 </table>
 		<table name="#magicLvl"> 7 20 30 44 52 62 72 </table>
 		<table name="#mpConsume2"> 8 16 21 31 38 46 53 </table>
@@ -1205,8 +1207,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1650,7 +1653,7 @@
 	</skill>
 	<skill id="1183" levels="4" name="Freezing Shackle">
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
-		<table name="#dot"> 102 125 144 157 </table>
+		<table name="#dot"> -102 -125 -144 -157 </table>
 		<table name="#effectPoints"> -523 -619 -746 -818 </table>
 		<table name="#magicLvl"> 44 52 64 74 </table>
 		<table name="#mpConsume2"> 47 56 71 82 </table>
@@ -1680,8 +1683,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/01200-01299.xml b/dist/game/data/stats/skills/01200-01299.xml
index ac35ae4158..ff7c9de19b 100644
--- a/dist/game/data/stats/skills/01200-01299.xml
+++ b/dist/game/data/stats/skills/01200-01299.xml
@@ -185,7 +185,7 @@
 	</skill>
 	<skill id="1209" levels="6" name="Seal of Poison">
 		<table name="#abnormalLvls"> 3 4 5 6 7 8 </table>
-		<table name="#dot"> 14 19 24 30 34 37 </table>
+		<table name="#dot"> -14 -19 -24 -30 -34 -37 </table>
 		<table name="#effectPoints"> -204 -285 -379 -495 -582 -635 </table>
 		<table name="#magicLvl"> 20 30 40 52 62 70 </table>
 		<table name="#mpConsume2"> 23 32 42 56 69 78 </table>
@@ -213,8 +213,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -222,7 +223,7 @@
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
 		<table name="#effectPoints"> -418 -495 -597 -646 </table>
 		<table name="#magicLvl"> 44 52 64 72 </table>
-		<table name="#mdot"> 9 11 14 15 </table>
+		<table name="#mdot"> -9 -11 -14 -15 </table>
 		<table name="#mpConsume2"> 70 84 107 120 </table>
 		<table name="#mpConsume1"> 18 21 27 30 </table>
 		<table name="#power"> 29 36 46 53 </table>
@@ -251,8 +252,9 @@
 			<effect name="MagicalAttackMp">
 				<param power="#power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -335,16 +337,18 @@
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hotValue" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="#amount" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="32" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="#ench1amount" />
@@ -424,16 +428,18 @@
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hotValue" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="#amount" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="26" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="#ench1amount" />
@@ -825,13 +831,15 @@
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#ench1hot" />
+				<param ticks="1" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1013,7 +1021,7 @@
 	</skill>
 	<skill id="1233" levels="4" name="Decay">
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
-		<table name="#dot"> 102 125 144 157 </table>
+		<table name="#dot"> -102 -125 -144 -157 </table>
 		<table name="#effectPoints"> -457 -532 -597 -655 </table>
 		<table name="#magicLvl"> 48 56 64 74 </table>
 		<table name="#mpConsume2"> 52 61 71 82 </table>
@@ -1043,8 +1051,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -1245,7 +1254,7 @@
 	</skill>
 	<skill id="1237" levels="17" name="Ice Dagger" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2">
 		<table name="#abnormalLvls"> 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 </table>
-		<table name="#dot"> 44 44 44 44 54 54 54 54 54 62 62 62 62 62 67 67 67 </table>
+		<table name="#dot"> -44 -44 -44 -44 -54 -54 -54 -54 -54 -62 -62 -62 -62 -62 -67 -67 -67 </table>
 		<table name="#effectPoints"> -399 -418 -438 -457 -477 -495 -514 -532 -549 -566 -582 -597 -611 -624 -635 -646 -653 </table>
 		<table name="#magicLvl"> 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 </table>
 		<table name="#mpConsume2"> 29 31 31 34 35 37 38 41 42 43 45 46 47 50 50 53 53 </table>
@@ -1293,24 +1302,27 @@
 			<effect name="MagicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="67" />
+			<effect name="TickHp">
+				<param power="-67" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 		<enchant2Effects>
 			<effect name="MagicalAttack">
 				<param power="#ench2Power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="67" />
+			<effect name="TickHp">
+				<param power="-67" />
+				<param ticks="5" />
 			</effect>
 		</enchant2Effects>
 	</skill>
@@ -1545,7 +1557,7 @@
 	</skill>
 	<skill id="1244" levels="4" name="Freezing Flame">
 		<table name="#abnormalLvls"> 5 6 7 8 </table>
-		<table name="#dot"> 102 125 144 157 </table>
+		<table name="#dot"> -102 -125 -144 -157 </table>
 		<table name="#effectPoints"> -379 -495 -597 -646 </table>
 		<table name="#magicLvl"> 40 52 64 72 </table>
 		<table name="#mpConsume2"> 42 56 71 80 </table>
@@ -1575,8 +1587,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2047,16 +2060,18 @@
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="#amount" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#ench1hot" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="172" />
@@ -2289,14 +2304,16 @@
 		<set name="targetType" val="SELF" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.2" />
+				<param ticks="5" />
 				<add stat="transDam" val="#power" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="MpConsumePerLevel" ticks="5">
+			<effect name="ConsumeMpByLevel">
 				<param power="0.2" />
+				<param ticks="5" />
 				<add stat="transDam" val="#ench1power" />
 			</effect>
 		</enchant1Effects>
@@ -2638,7 +2655,6 @@
 		<enchant2Effects>
 			<effect name="Cp">
 				<param amount="#ench2Bravery" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="100" />
@@ -3041,7 +3057,7 @@
 	<skill id="1283" levels="13" name="Soul Guard" enchantGroup1="1">
 		<table name="#def"> 293.3 333.2 375.9 421.4 445.2 469.7 494.9 520.1 546 571.9 598.5 625.8 653.1 </table>
 		<table name="#magicLvl"> 44 48 52 56 58 60 62 64 66 68 70 72 74 </table>
-		<table name="#mdot"> 5 6 6 7 8 8 8 8 9 9 9 10 10 </table>
+		<table name="#mdot"> 5 5 6 6 7 7 7 8 8 8 8 9 9 </table>
 		<table name="#mpConsume1"> 8 9 10 11 11 11 12 12 13 13 13 14 14 </table>
 		<table name="#ench1def"> 683.76 687.82 691.88 695.94 700 704.06 708.12 712.18 716.24 720.3 724.36 728.42 732.48 736.54 740.6 744.66 748.72 752.78 756.84 760.9 764.96 769.02 773.08 777.14 781.2 785.26 789.32 793.38 797.44 801.5 </table>
 		<set name="abnormalVisualEffect" val="NONE" />
@@ -3052,14 +3068,16 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="ConsumeMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 				<add stat="pDef" val="#def" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="10" />
+			<effect name="ConsumeMp">
+				<param power="9" />
+				<param ticks="5" />
 				<add stat="pDef" val="#ench1def" />
 			</effect>
 		</enchant1Effects>
@@ -3247,16 +3265,18 @@
 			<effect name="MagicalAttack">
 				<param power="150" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="60" />
+			<effect name="TickHp">
+				<param power="-60" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="60" />
+			<effect name="TickHp">
+				<param power="-60" />
+				<param ticks="1" />
 			</effect>
 		</enchant1Effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/01300-01399.xml b/dist/game/data/stats/skills/01300-01399.xml
index d19c911884..3dd12c7291 100644
--- a/dist/game/data/stats/skills/01300-01399.xml
+++ b/dist/game/data/stats/skills/01300-01399.xml
@@ -151,13 +151,11 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="Cp">
 				<param amount="#ench1amount" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -191,13 +189,11 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 		<enchant1Effects>
 			<effect name="Cp">
 				<param amount="#ench1amount" />
-				<param mode="DIFF" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -1088,8 +1084,9 @@
 		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<enchant2 name="mpConsume1" val="#ench2MpConsume1" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="24" />
+			<effect name="TickMp">
+				<param power="-24" />
+				<param ticks="5" />
 				<add stat="cancelVuln" val="30" />
 				<mul stat="magicalMpConsumeRate" val="1.3" />
 				<mul stat="physicalMpConsumeRate" val="1.1" />
@@ -1139,8 +1136,9 @@
 			<effect name="MagicalAttack">
 				<param power="140" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.9" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.9" />
@@ -1151,8 +1149,9 @@
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.9" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.9" />
@@ -1202,8 +1201,9 @@
 			<effect name="MagicalAttack">
 				<param power="140" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.7" />
 				<mul stat="pAtkSpd" val="0.9" />
 				<mul stat="mAtkSpd" val="0.9" />
@@ -1214,8 +1214,9 @@
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.7" />
 				<mul stat="pAtkSpd" val="0.9" />
 				<mul stat="mAtkSpd" val="0.9" />
@@ -1265,8 +1266,9 @@
 			<effect name="MagicalAttack">
 				<param power="140" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.9" />
 				<mul stat="pAtkSpd" val="0.9" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -1277,8 +1279,9 @@
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.9" />
 				<mul stat="pAtkSpd" val="0.9" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -1327,8 +1330,9 @@
 			<effect name="MagicalAttack">
 				<param power="139" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<sub stat="accCombat" val="6" />
 				<sub stat="holyRes" val="30" />
 			</effect>
@@ -1337,8 +1341,9 @@
 			<effect name="MagicalAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<sub stat="accCombat" val="6" />
 				<sub stat="holyRes" val="30" />
 			</effect>
@@ -1386,8 +1391,9 @@
 				<param power="139" />
 				<param drain="0.2" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<sub stat="accCombat" val="6" />
 				<sub stat="darkRes" val="30" />
 			</effect>
@@ -1397,8 +1403,9 @@
 				<param power="#ench1Power" />
 				<param drain="0.2" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<sub stat="accCombat" val="6" />
 				<sub stat="darkRes" val="30" />
 			</effect>
diff --git a/dist/game/data/stats/skills/01400-01499.xml b/dist/game/data/stats/skills/01400-01499.xml
index 1222c327d0..b69c4ec3b3 100644
--- a/dist/game/data/stats/skills/01400-01499.xml
+++ b/dist/game/data/stats/skills/01400-01499.xml
@@ -1034,8 +1034,9 @@
 			<effect name="Paralyze">
 				<mul stat="pDef" val="0.1" />
 			</effect>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mhot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1160,12 +1161,12 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 1 2 3 4 5 6 7 8 9 10 </table>
 		<table name="#amount"> 0.8 0.8 0.77 0.77 0.77 0.77 0.77 0.77 0.77 0.77 </table>
-		<table name="#dmg"> 24 32 41 41 50 50 58 58 63 63 </table>
+		<table name="#dmg"> -24 -32 -41 -41 -50 -50 -58 -58 -63 -63 </table>
 		<table name="#effectPoints"> -235 -303 -379 -438 -495 -549 -582 -611 -635 -655 </table>
 		<table name="#magicLvl"> 24 32 40 46 52 58 62 66 70 74 </table>
 		<table name="#mpConsume2"> 9 11 14 17 19 22 23 25 26 28 </table>
 		<table name="#mpConsume1"> 3 3 4 5 5 6 6 7 7 7 </table>
-		<table name="#ench1dmg"> 63 63 63 64 64 64 64 64 64 64 64 64 64 65 65 65 65 65 65 65 65 65 65 66 66 66 66 66 66 66 </table>
+		<table name="#ench1dmg"> -63 -63 -63 -64 -64 -64 -64 -64 -64 -64 -64 -64 -64 -65 -65 -65 -65 -65 -65 -65 -65 -65 -65 -66 -66 -66 -66 -66 -66 -66 </table>
 		<table name="#ench2ActivateRates"> 70 71 72 72 73 74 74 75 76 76 77 78 78 79 80 80 81 82 82 83 84 84 85 86 86 87 88 88 89 90 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1194,15 +1195,17 @@
 		<enchant2 name="activateRate" val="#ench2ActivateRates" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="5" />
 				<mul stat="pDef" val="#amount" />
 				<mul stat="mDef" val="#amount" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1dmg" />
+				<param ticks="5" />
 				<mul stat="pDef" val="0.77" />
 				<mul stat="mDef" val="0.77" />
 			</effect>
@@ -1994,7 +1997,7 @@
 		</enchant1Effects>
 	</skill>
 	<skill id="1452" levels="1" name="Count of Fire" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6">
-		<table name="#ench1Power"> 176 178 180 182 183 185 187 189 190 192 194 196 197 199 201 </table>
+		<table name="#ench1Power"> -176 -178 -180 -182 -183 -185 -187 -189 -190 -192 -194 -196 -197 -199 -201 </table>
 		<table name="#ench2MpConsume2"> 84 81 78 74 72 69 66 62 61 58 54 52 49 46 42 </table>
 		<table name="#ench2MpConsume1"> 21 20 19 19 18 17 16 16 15 14 14 13 12 11 11 </table>
 		<table name="#ench3AttributePower"> 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 </table>
@@ -2030,13 +2033,15 @@
 		<enchant3 name="attributePower" val="#ench3AttributePower" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="173" />
+			<effect name="TickHp">
+				<param power="-173" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1Power" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -2136,7 +2141,7 @@
 		</enchant1Effects>
 	</skill>
 	<skill id="1455" levels="1" name="Throne of Ice" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6">
-		<table name="#ench1Power"> 176 178 180 182 183 185 187 189 190 192 194 196 197 199 201 </table>
+		<table name="#ench1Power"> -176 -178 -180 -182 -183 -185 -187 -189 -190 -192 -194 -196 -197 -199 -201 </table>
 		<table name="#ench2MpConsume2"> 105 101 97 93 90 86 82 78 76 72 68 65 61 57 53 </table>
 		<table name="#ench3AttributePower"> 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 </table>
 		<table name="#enchMagicLvl"> 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
@@ -2169,13 +2174,15 @@
 		<enchant3 name="attributePower" val="#ench3AttributePower" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="173" />
+			<effect name="TickHp">
+				<param power="-173" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1Power" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -2252,7 +2259,7 @@
 		</effects>
 	</skill>
 	<skill id="1458" levels="1" name="Throne of Wind" enchantGroup1="6" enchantGroup2="6" enchantGroup3="6">
-		<table name="#ench1Power"> 176 178 180 182 183 185 187 189 190 192 194 196 197 199 201 </table>
+		<table name="#ench1Power"> -176 -178 -180 -182 -183 -185 -187 -189 -190 -192 -194 -196 -197 -199 -201 </table>
 		<table name="#ench2MpConsume2"> 105 101 97 93 90 86 82 78 76 72 68 65 61 57 53 </table>
 		<table name="#ench3AttributePower"> 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 </table>
 		<table name="#enchMagicLvl"> 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
@@ -2286,13 +2293,15 @@
 		<enchant3 name="attributePower" val="#ench3AttributePower" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="173" />
+			<effect name="TickHp">
+				<param power="-173" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#ench1Power" />
+				<param ticks="5" />
 			</effect>
 		</enchant1Effects>
 	</skill>
@@ -2553,8 +2562,9 @@
 			<effect name="MagicalAttack">
 				<param power="117" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="100" />
+			<effect name="TickHp">
+				<param power="-100" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2586,8 +2596,9 @@
 			<effect name="MagicalAttack">
 				<param power="117" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="100" />
+			<effect name="TickHp">
+				<param power="-100" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -3011,8 +3022,9 @@
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
 		<enchant3 name="reuseDelay" val="#ench3Reuse" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="1">
+			<effect name="TickMp">
 				<param power="200" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Paralyze">
 				<mul stat="pDef" val="0.1" />
@@ -3359,13 +3371,15 @@
 			</not>
 		</cond>
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 		<enchant1Effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#ench1Heal" />
+				<param ticks="1" />
 			</effect>
 		</enchant1Effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/01500-01599.xml b/dist/game/data/stats/skills/01500-01599.xml
index 688c9be569..2b7c0feb48 100644
--- a/dist/game/data/stats/skills/01500-01599.xml
+++ b/dist/game/data/stats/skills/01500-01599.xml
@@ -184,7 +184,6 @@
 			<effect name="BlockDebuff" />
 			<effect name="Cp">
 				<param amount="9000" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="100" />
@@ -217,7 +216,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="9000" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="100" />
@@ -282,11 +280,13 @@
 			<effect name="DefenceTrait">
 				<param HOLD="100" />
 			</effect>
-			<effect name="DamOverTime" ticks="1">
-				<param power="90" />
+			<effect name="TickHp">
+				<param power="-90" />
+				<param ticks="1" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="1">
-				<param power="30" />
+			<effect name="TickMp">
+				<param power="-30" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -433,8 +433,9 @@
 			<effect name="MagicalSoulAttack">
 				<param power="112" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -444,8 +445,9 @@
 			<effect name="MagicalSoulAttack">
 				<param power="#ench1Power" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -457,8 +459,9 @@
 			<effect name="MagicalSoulAttack">
 				<param power="#ench4Duel" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -468,8 +471,9 @@
 			<effect name="MagicalSoulAttack">
 				<param power="112" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="12" />
+			<effect name="TickMp">
+				<param power="-12" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 				<mul stat="pAtkSpd" val="0.7" />
 				<mul stat="mAtkSpd" val="0.7" />
@@ -932,7 +936,7 @@
 	<skill id="1525" levels="42" name="Divine Curse">
 		<!-- Confirmed CT2.5 -->
 		<!-- Inquisitor Stance Skill -->
-		<table name="#dot"> 9 9 9 9 9 9 11 11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 </table>
+		<table name="#dot"> -9 -9 -9 -9 -9 -9 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 </table>
 		<table name="#effectPoints"> -418 -428 -438 -448 -457 -467 -477 -486 -495 -505 -514 -523 -532 -541 -549 -558 -566 -574 -582 -590 -597 -604 -611 -617 -624 -630 -635 -641 -646 -650 -655 -659 -662 -666 -669 -673 -676 -679 -681 -684 -687 -689 </table>
 		<table name="#magicLvl"> 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 </table>
 		<table name="#mpConsume2"> 31 31 32 33 34 35 35 36 37 38 39 39 40 41 42 43 44 44 45 46 47 48 48 49 50 51 51 52 53 53 54 55 55 56 56 57 58 58 58 59 59 60 </table>
@@ -961,8 +965,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 				<mul stat="healEffect" val="0.5" />
 			</effect>
 		</effects>
@@ -1851,7 +1856,6 @@
 		<selfEffects>
 			<effect name="Mp">
 				<param amount="29" />
-				<param mode="DIFF" />
 			</effect>
 		</selfEffects>
 	</skill>
@@ -1883,7 +1887,6 @@
 		<selfEffects>
 			<effect name="Mp">
 				<param amount="25" />
-				<param mode="DIFF" />
 			</effect>
 		</selfEffects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02000-02099.xml b/dist/game/data/stats/skills/02000-02099.xml
index 8c3430f983..d4f41d974c 100644
--- a/dist/game/data/stats/skills/02000-02099.xml
+++ b/dist/game/data/stats/skills/02000-02099.xml
@@ -327,8 +327,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="8" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -344,8 +345,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="24" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -425,8 +427,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="50" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -439,7 +442,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="435" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02100-02199.xml b/dist/game/data/stats/skills/02100-02199.xml
index 6e4b17a418..804931d49b 100644
--- a/dist/game/data/stats/skills/02100-02199.xml
+++ b/dist/game/data/stats/skills/02100-02199.xml
@@ -897,7 +897,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02200-02299.xml b/dist/game/data/stats/skills/02200-02299.xml
index ff69775fc2..5ba450b567 100644
--- a/dist/game/data/stats/skills/02200-02299.xml
+++ b/dist/game/data/stats/skills/02200-02299.xml
@@ -997,7 +997,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="60" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="17" />
@@ -1021,7 +1020,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="20" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="MpPerMax">
 				<param power="4" />
@@ -1924,7 +1922,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1943,7 +1940,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1962,7 +1958,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02300-02399.xml b/dist/game/data/stats/skills/02300-02399.xml
index 3e3e7f1cba..8721e863e8 100644
--- a/dist/game/data/stats/skills/02300-02399.xml
+++ b/dist/game/data/stats/skills/02300-02399.xml
@@ -1881,7 +1881,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="1900" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02400-02499.xml b/dist/game/data/stats/skills/02400-02499.xml
index eb7f0536e3..711c24aa97 100644
--- a/dist/game/data/stats/skills/02400-02499.xml
+++ b/dist/game/data/stats/skills/02400-02499.xml
@@ -36,7 +36,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="360" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -54,7 +53,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="1000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -69,7 +67,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="1000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02800-02899.xml b/dist/game/data/stats/skills/02800-02899.xml
index 21f3dc62fc..8b14d567a8 100644
--- a/dist/game/data/stats/skills/02800-02899.xml
+++ b/dist/game/data/stats/skills/02800-02899.xml
@@ -1422,7 +1422,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1444,7 +1443,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1466,7 +1464,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1484,8 +1481,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="100" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1501,7 +1499,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="870" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/02900-02999.xml b/dist/game/data/stats/skills/02900-02999.xml
index a04bb1716a..826377808e 100644
--- a/dist/game/data/stats/skills/02900-02999.xml
+++ b/dist/game/data/stats/skills/02900-02999.xml
@@ -143,7 +143,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="1900" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -161,7 +160,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="360" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -179,7 +177,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="360" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/03000-03099.xml b/dist/game/data/stats/skills/03000-03099.xml
index 4a67f371aa..af34b01159 100644
--- a/dist/game/data/stats/skills/03000-03099.xml
+++ b/dist/game/data/stats/skills/03000-03099.xml
@@ -36,8 +36,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="44" />
+			<effect name="TickHp">
+				<param power="-44" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -228,7 +229,7 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 </table>
 		<table name="#activateRates"> 17 17 14 14 14 12 </table>
-		<table name="#dot"> 128 128 190 190 190 256 </table>
+		<table name="#dot"> -128 -128 -190 -190 -190 -256 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -245,15 +246,16 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="3021" levels="6" name="Special Ability: Critical Bleed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#activateRates"> 51 51 42 42 41 35 </table>
-		<table name="#dot"> 43 43 64 64 65 88 </table>
+		<table name="#dot"> -43 -43 -64 -64 -65 -88 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 </table>
 		<set name="abnormalLvl" val="5" />
 		<set name="abnormalTime" val="20" />
@@ -270,8 +272,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -316,7 +319,7 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 </table>
 		<table name="#activateRates"> 15 15 12 12 12 10 </table>
-		<table name="#dot"> 191 191 291 291 291 403 </table>
+		<table name="#dot"> -191 -191 -291 -291 -291 -403 </table>
 		<table name="#effectPoints"> -121 -203 -285 -418 -495 -582 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -340,8 +343,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -586,7 +590,7 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 </table>
 		<table name="#activateRates"> 17 17 14 14 14 12 </table>
-		<table name="#dot"> 168 168 249 249 249 336 </table>
+		<table name="#dot"> -168 -168 -249 -249 -249 -336 </table>
 		<table name="#effectPoints"> -121 -203 -285 -418 -495 -582 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -608,8 +612,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -617,7 +622,7 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 </table>
 		<table name="#activateRates"> 9 9 7 7 7 6 </table>
-		<table name="#dot"> 317 317 498 498 498 671 </table>
+		<table name="#dot"> -317 -317 -498 -498 -498 -671 </table>
 		<table name="#effectPoints"> -121 -203 -285 -418 -495 -582 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -639,8 +644,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -832,8 +838,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="74" />
+			<effect name="TickHp">
+				<param power="-74" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -855,8 +862,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="88" />
+			<effect name="TickHp">
+				<param power="-88" />
+				<param ticks="3" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</effects>
@@ -879,8 +887,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="256" />
+			<effect name="TickHp">
+				<param power="-256" />
+				<param ticks="3" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</effects>
@@ -903,8 +912,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="128" />
+			<effect name="TickHp">
+				<param power="-128" />
+				<param ticks="3" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</effects>
@@ -1002,7 +1012,7 @@
 	</skill>
 	<skill id="3061" levels="3" name="Special Ability: Critical Poison">
 		<!-- Confirmed CT2.5 -->
-		<table name="#dot"> 403 403 439 </table>
+		<table name="#dot"> -403 -403 -439 </table>
 		<table name="#magicLvl"> 64 67 70 </table>
 		<set name="abnormalLvl" val="7" />
 		<set name="abnormalTime" val="30" />
@@ -1022,8 +1032,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1047,8 +1058,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="224" />
+			<effect name="TickHp">
+				<param power="-224" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1691,7 +1703,7 @@
 	<skill id="3091" levels="10" name="Item Skill: Poison">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 41 41 50 50 50 58 58 58 63 63 </table>
+		<table name="#dot"> -41 -41 -50 -50 -50 -58 -58 -58 -63 -63 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
@@ -1713,15 +1725,16 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="3092" levels="10" name="Item Skill: Bleed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 44 44 54 54 54 62 62 62 67 67 </table>
+		<table name="#dot"> -44 -44 -54 -54 -54 -62 -62 -62 -67 -67 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -1744,8 +1757,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/03100-03199.xml b/dist/game/data/stats/skills/03100-03199.xml
index 0e5492ec32..fdf8c01fd0 100644
--- a/dist/game/data/stats/skills/03100-03199.xml
+++ b/dist/game/data/stats/skills/03100-03199.xml
@@ -134,7 +134,7 @@
 	<skill id="3104" levels="10" name="Item Skill: Poison">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 41 41 50 50 50 58 58 58 63 63 </table>
+		<table name="#dot"> -41 -41 -50 -50 -50 -58 -58 -58 -63 -63 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
@@ -157,15 +157,16 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="3105" levels="10" name="Item Skill: Bleed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 44 44 54 54 54 62 62 62 67 67 </table>
+		<table name="#dot"> -44 -44 -54 -54 -54 -62 -62 -62 -67 -67 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -189,8 +190,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -547,7 +549,7 @@
 	<skill id="3119" levels="10" name="Item Skill: Poison">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 41 41 50 50 50 58 58 58 63 63 </table>
+		<table name="#dot"> -41 -41 -50 -50 -50 -58 -58 -58 -63 -63 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
@@ -569,15 +571,16 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="3120" levels="10" name="Item Skill: Bleed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 44 44 54 54 54 62 62 62 67 67 </table>
+		<table name="#dot"> -44 -44 -54 -54 -54 -62 -62 -62 -67 -67 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -600,8 +603,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -866,7 +870,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -2679,7 +2682,7 @@
 	<skill id="3195" levels="10" name="Item Skill: Poison">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dmg"> 41 41 50 50 50 58 58 58 63 63 </table>
+		<table name="#dmg"> -41 -41 -50 -50 -50 -58 -58 -58 -63 -63 </table>
 		<table name="#effectPoints"> -436 -465 -493 -521 -547 -572 -595 -615 -633 -657 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<table name="#mpConsume2"> 33 35 38 40 43 45 48 50 52 55 </table>
@@ -2709,15 +2712,16 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="3196" levels="10" name="Item Skill: Bleed">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dmg"> 44 44 54 54 54 62 62 62 67 67 </table>
+		<table name="#dmg"> -44 -44 -54 -54 -54 -62 -62 -62 -67 -67 </table>
 		<table name="#effectPoints"> -436 -465 -493 -521 -547 -572 -595 -615 -633 -657 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<table name="#mpConsume2"> 33 35 38 40 43 45 48 50 52 55 </table>
@@ -2747,8 +2751,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/03200-03299.xml b/dist/game/data/stats/skills/03200-03299.xml
index 01ca56a0a6..ed2deaee73 100644
--- a/dist/game/data/stats/skills/03200-03299.xml
+++ b/dist/game/data/stats/skills/03200-03299.xml
@@ -1272,7 +1272,6 @@
 			</effect>
 			<effect name="Cp">
 				<param amount="200" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1406,8 +1405,9 @@
 			<effect name="Paralyze">
 				<mul stat="pDef" val="0.1" />
 			</effect>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="27" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/03400-03499.xml b/dist/game/data/stats/skills/03400-03499.xml
index 286fb6e0a0..e38d339894 100644
--- a/dist/game/data/stats/skills/03400-03499.xml
+++ b/dist/game/data/stats/skills/03400-03499.xml
@@ -1310,7 +1310,6 @@
 			</effect>
 			<effect name="Cp">
 				<param amount="100" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04000-04099.xml b/dist/game/data/stats/skills/04000-04099.xml
index c789ddb179..760726e4b9 100644
--- a/dist/game/data/stats/skills/04000-04099.xml
+++ b/dist/game/data/stats/skills/04000-04099.xml
@@ -246,8 +246,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="AREA" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param power="30" />
+			<effect name="TickHp">
+				<param power="-30" />
+				<param ticks="3" />
 				<mul stat="runSpd" val="0.7" />
 			</effect>
 		</effects>
@@ -556,7 +557,7 @@
 	<skill id="4035" levels="12" name="Poison">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dmg"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 13 20 27 35 45 55 65 69 73 83 77 78 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -582,15 +583,16 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="4036" levels="12" name="Poison">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dmg"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 18 29 40 53 68 83 98 104 109 113 115 117 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -616,8 +618,9 @@
 		<set name="targetType" val="AREA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -706,7 +709,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
  			</effect>
 		</effects>
 	</skill>
@@ -974,7 +976,7 @@
 		<!-- Cubic Skill -->
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 6 7 7 7 8 8 8 8 8 8 8 8 8 8 </table>
-		<table name="#dot"> 41 50 58 58 58 63 63 63 63 66 66 66 66 66 66 </table>
+		<table name="#dot"> -41 -50 -58 -58 -58 -63 -63 -63 -63 -66 -66 -66 -66 -66 -66 </table>
 		<table name="#effectPoints"> -467 -523 -566 -597 -624 -646 -655 -662 -669 -676 -679 -681 -684 -687 -689 </table>
 		<table name="#magicLvl"> 49 55 60 64 68 72 74 76 78 80 81 82 83 84 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -993,8 +995,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1618,8 +1621,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
-				<param canKill="true" power="30" />
+			<effect name="TickHpFatal">
+				<param power="-20" />
+				<param ticks="5" />
 			</effect>
 			<effect name="Root" />
 		</effects>
@@ -1706,7 +1710,7 @@
 	<skill id="4088" levels="12" name="Bleed">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#damage"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 13 20 28 38 50 61 71 76 80 83 84 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1733,8 +1737,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1926,8 +1931,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04100-04199.xml b/dist/game/data/stats/skills/04100-04199.xml
index 629fa4e1e7..df9c6f4046 100644
--- a/dist/game/data/stats/skills/04100-04199.xml
+++ b/dist/game/data/stats/skills/04100-04199.xml
@@ -105,7 +105,7 @@
 	<skill id="4104" levels="12" name="Flame">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 18 27 39 53 67 81 91 91 100 100 108 108 </table>
+		<table name="#dmg"> -18 -27 -39 -53 -67 -81 -91 -91 -100 -100 -108 -108 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 17 31 45 60 75 90 105 112 119 126 132 139 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -132,8 +132,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -924,7 +925,7 @@
 	<skill id="4140" levels="12" name="Contract Payment">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 1 2 3 4 5 6 7 7 8 8 9 9 </table>
-		<table name="#damage"> 1 1.1 1.2 1.3 1.4 1.5 1.6 1.6 1.7 1.7 1.8 1.8 </table>
+		<table name="#damage"> -1 -1.1 -1.2 -1.3 -1.4 -1.5 -1.6 -1.6 -1.7 -1.7 -1.8 -1.8 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="60" />
@@ -942,8 +943,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1083,7 +1085,7 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Zone Skill -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dot"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="5" />
@@ -1101,8 +1103,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1110,7 +1113,7 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Zone Skill -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#dot"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="5" />
@@ -1128,8 +1131,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1137,7 +1141,7 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Zone Skill -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 14 21 30 40 51 61 68 68 72 72 74 74 </table>
+		<table name="#dot"> -14 -21 -30 -40 -51 -61 -68 -68 -72 -72 -74 -74 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="5" />
@@ -1156,8 +1160,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1266,7 +1271,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
  			</effect>
 		</effects>
 	</skill>
@@ -1495,7 +1499,7 @@
 		<!-- Cubic skill -->
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 5 5 5 6 6 7 7 8 8 8 8 8 8 8 8 8 8 </table>
-		<table name="#dot"> 102 102 102 125 125 144 144 157 157 157 157 164 164 164 164 164 164 </table>
+		<table name="#dot"> -102 -102 -102 -125 -125 -144 -144 -157 -157 -157 -157 -164 -164 -164 -164 -164 -164 </table>
 		<table name="#magicLvl"> 40 44 48 52 56 62 66 70 74 76 78 80 81 82 83 84 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="15" />
@@ -1513,8 +1517,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -1887,7 +1892,7 @@
 	<skill id="4182" levels="12" name="Poison">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 13 18 25 32 39 45 49 49 52 52 53 53 </table>
+		<table name="#dmg"> -13 -18 -25 -32 -39 -45 -49 -49 -52 -52 -53 -53 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1908,8 +1913,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2047,7 +2053,7 @@
 	<skill id="4188" levels="12" name="Bleed">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 19 28 38 49 60 69 75 75 78 78 79 79 </table>
+		<table name="#damage"> -19 -28 -38 -49 -60 -69 -75 -75 -78 -78 -79 -79 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -2068,8 +2074,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2103,7 +2110,7 @@
 		<table name="#abnormalLvls"> 2 2 2 2 2 3 4 5 6 7 8 8 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
-		<table name="#mdot"> 2 2 2 2 2 4 5 7 8 10 12 12 </table>
+		<table name="#mdot"> -2 -2 -2 -2 -2 -4 -5 -7 -8 -10 -12 -12 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="DOT_MP" />
@@ -2121,8 +2128,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2297,7 +2305,7 @@
 	<skill id="4198" levels="12" name="Poison">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 13 18 25 32 39 45 49 49 52 52 53 53 </table>
+		<table name="#dmg"> -13 -18 -25 -32 -39 -45 -49 -49 -52 -52 -53 -53 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -2320,8 +2328,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04200-04299.xml b/dist/game/data/stats/skills/04200-04299.xml
index 92701b693c..3b4b1535c7 100644
--- a/dist/game/data/stats/skills/04200-04299.xml
+++ b/dist/game/data/stats/skills/04200-04299.xml
@@ -115,7 +115,7 @@
 	<skill id="4204" levels="12" name="Bleed">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 19 28 38 49 60 69 75 75 78 78 79 79 </table>
+		<table name="#damage"> -19 -28 -38 -49 -60 -69 -75 -75 -78 -78 -79 -79 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -138,8 +138,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -175,7 +176,7 @@
 		<table name="#abnormalLvls"> 2 2 2 2 2 3 4 5 6 7 8 8 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
-		<table name="#mdot"> 2 2 2 2 2 4 5 7 8 10 12 12 </table>
+		<table name="#mdot"> -2 -2 -2 -2 -2 -4 -5 -7 -8 -10 -12 -12 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="DOT_MP" />
@@ -195,8 +196,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -292,8 +294,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="3" />
@@ -456,7 +459,6 @@
 			</effect>
 			<effect name="Mp">
 				<param amount="-274" />
-				<param mode="DIFF" />
  			</effect>
 		</effects>
 	</skill>
@@ -920,8 +922,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ENEMY_ONLY" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="98" />
+			<effect name="TickHp">
+				<param power="-98" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1260,7 +1263,7 @@
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
 		<table name="#cast"> 500 600 600 750 750 750 750 750 750 750 750 750 </table>
-		<table name="#dot"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dot"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 18 29 40 53 68 83 98 104 109 113 115 117 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1287,8 +1290,9 @@
 		<set name="targetType" val="AREA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04300-04399.xml b/dist/game/data/stats/skills/04300-04399.xml
index 6ef4ece36e..3e4b836193 100644
--- a/dist/game/data/stats/skills/04300-04399.xml
+++ b/dist/game/data/stats/skills/04300-04399.xml
@@ -244,7 +244,7 @@
 	<skill id="4320" levels="12" name="Poison">
 		<!-- Freya retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dot"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 13 20 27 35 45 55 65 69 73 83 77 78 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -265,8 +265,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1255,8 +1256,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="9.26" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1271,8 +1273,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="18.52" />
+				<param ticks="5" />
 				<add stat="maxMp" val="5000" />
 			</effect>
 		</effects>
@@ -1288,8 +1291,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="27.78" />
+				<param ticks="5" />
 				<add stat="maxMp" val="10000" />
 			</effect>
 		</effects>
@@ -1305,8 +1309,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="61.11" />
+				<param ticks="5" />
 				<add stat="maxMp" val="28000" />
 			</effect>
 		</effects>
@@ -1322,8 +1327,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="116.7" />
+				<param ticks="5" />
 				<add stat="maxMp" val="58000" />
 			</effect>
 		</effects>
@@ -1339,8 +1345,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="200" />
+				<param ticks="5" />
 				<add stat="maxMp" val="103000" />
 			</effect>
 		</effects>
@@ -1356,8 +1363,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="205.6" />
+				<param ticks="5" />
 				<add stat="maxMp" val="106000" />
 			</effect>
 		</effects>
@@ -1373,8 +1381,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="288.9" />
+				<param ticks="5" />
 				<add stat="maxMp" val="151000" />
 			</effect>
 		</effects>
@@ -1390,8 +1399,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="372.2" />
+				<param ticks="5" />
 				<add stat="maxMp" val="196000" />
 			</effect>
 		</effects>
@@ -1478,7 +1488,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="5000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04500-04599.xml b/dist/game/data/stats/skills/04500-04599.xml
index b3db5bd631..40c5161524 100644
--- a/dist/game/data/stats/skills/04500-04599.xml
+++ b/dist/game/data/stats/skills/04500-04599.xml
@@ -1376,7 +1376,7 @@
 	</skill>
 	<skill id="4579" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#damage"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 25 40 56 76 99 121 142 151 159 165 168 170 </table>
 		<table name="#power"> 137 314 656 1249 2164 3408 4878 5627 6335 6960 7461 7850 </table>
@@ -1405,8 +1405,9 @@
 				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1469,7 +1470,7 @@
 	</skill>
 	<skill id="4582" levels="12" name="Poison">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dmg"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 24 39 54 73 94 116 136 144 152 158 161 163 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1493,8 +1494,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1907,7 +1909,7 @@
 	</skill>
 	<skill id="4596" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#damage"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 29 47 64 88 113 138 162 173 180 188 192 194 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1932,14 +1934,15 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="4597" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#damage"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 20 34 47 63 82 100 117 124 130 135 138 140 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1963,14 +1966,15 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="4598" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#damage"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#damage"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 20 34 47 63 82 100 117 124 130 135 138 140 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1994,8 +1998,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#damage" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04600-04699.xml b/dist/game/data/stats/skills/04600-04699.xml
index f8f6d9ae57..f2a866d51e 100644
--- a/dist/game/data/stats/skills/04600-04699.xml
+++ b/dist/game/data/stats/skills/04600-04699.xml
@@ -202,7 +202,7 @@
 	</skill>
 	<skill id="4606" levels="12" name="Poison">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dot"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 35 58 81 109 141 174 203 216 227 235 241 244 </table>
 		<table name="#power"> 46 106 219 417 722 1136 1626 1876 2112 2320 2487 2617 </table>
@@ -230,8 +230,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -424,7 +425,7 @@
 	</skill>
 	<skill id="4615" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dmg"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#dmg"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 19 30 42 57 74 91 106 114 119 124 126 128 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -449,8 +450,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1260,7 +1262,7 @@
 	</skill>
 	<skill id="4649" levels="12" name="Poison">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 16 24 32 41 50 58 63 63 66 66 68 68 </table>
+		<table name="#dot"> -16 -24 -32 -41 -50 -58 -63 -63 -66 -66 -68 -68 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 18 29 40 53 68 83 98 104 109 113 115 117 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1282,8 +1284,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -1356,7 +1359,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="ConsumeBody" />
 		</effects>
@@ -2087,8 +2089,9 @@
 			<effect name="MagicalAttack">
 				<param power="648" />
 			</effect>
-			<effect name="DamOverTime" ticks="3">
-				<param power="216" />
+			<effect name="TickHp">
+				<param power="-216" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -2121,8 +2124,9 @@
 			<effect name="MagicalAttack">
 				<param power="648" />
 			</effect>
-			<effect name="DamOverTime" ticks="3">
-				<param power="216" />
+			<effect name="TickHp">
+				<param power="-216" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/04700-04799.xml b/dist/game/data/stats/skills/04700-04799.xml
index 72c84d1d73..6ea3923f33 100644
--- a/dist/game/data/stats/skills/04700-04799.xml
+++ b/dist/game/data/stats/skills/04700-04799.xml
@@ -2020,8 +2020,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2046,8 +2047,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2072,8 +2074,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2098,8 +2101,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -2124,8 +2128,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN_MEMBER" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05000-05099.xml b/dist/game/data/stats/skills/05000-05099.xml
index c5849b5ba1..d29652dbc0 100644
--- a/dist/game/data/stats/skills/05000-05099.xml
+++ b/dist/game/data/stats/skills/05000-05099.xml
@@ -679,8 +679,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#hot" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
@@ -1437,8 +1438,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param canKill="true" power="12" />
+			<effect name="TickHpFatal">
+				<param power="-12" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05100-05199.xml b/dist/game/data/stats/skills/05100-05199.xml
index fdfc161ecf..9ddc265923 100644
--- a/dist/game/data/stats/skills/05100-05199.xml
+++ b/dist/game/data/stats/skills/05100-05199.xml
@@ -823,8 +823,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="109" />
+			<effect name="TickHp">
+				<param power="-109" />
+				<param ticks="5" />
 				<mul stat="pAtkSpd" val="0.77" />
 			</effect>
 		</effects>
@@ -1074,7 +1075,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1591,7 +1591,7 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Augmentation Skill (Trigger) -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 41 41 50 50 50 58 58 58 63 63 </table>
+		<table name="#dot"> -41 -41 -50 -50 -50 -58 -58 -58 -63 -63 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="30" />
@@ -1613,8 +1613,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1622,7 +1623,7 @@
 		<!-- Confirmed CT2.5 -->
 		<!-- Augmentation Skill (Trigger) -->
 		<table name="#abnormalLvls"> 5 5 6 6 6 7 7 7 8 8 </table>
-		<table name="#dot"> 44 44 54 54 54 62 62 62 67 67 </table>
+		<table name="#dot"> -44 -44 -54 -54 -54 -62 -62 -62 -67 -67 </table>
 		<table name="#magicLvl"> 46 49 52 55 58 61 64 67 70 75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -1645,8 +1646,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -2098,8 +2100,9 @@
 			<effect name="Heal">
 				<param power="#amount" />
 			</effect>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="#healOverTime" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05200-05299.xml b/dist/game/data/stats/skills/05200-05299.xml
index b354e14ca3..2f723dd682 100644
--- a/dist/game/data/stats/skills/05200-05299.xml
+++ b/dist/game/data/stats/skills/05200-05299.xml
@@ -1019,7 +1019,7 @@
 		<!-- CT2.5 retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
 		<table name="#calledSkillLevel"> 1 2 3 4 5 6 7 8 9 10 11 12 </table>
-		<table name="#dot"> 60 91 131 177 225 270 305 305 334 334 360 360 </table>
+		<table name="#dot"> -60 -91 -131 -177 -225 -270 -305 -305 -334 -334 -360 -360 </table>
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume2"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1046,8 +1046,9 @@
 		<set name="targetType" val="AREA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1133,7 +1134,7 @@
 		<!-- CT2.5 retail confirmed -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
 		<table name="#calledSkillLevel"> 1 2 3 4 5 6 7 8 9 10 11 12 </table>
-		<table name="#dot"> 32 47 63 82 100 115 126 126 132 132 132 135 </table>
+		<table name="#dot"> -32 -47 -63 -82 -100 -115 -126 -126 -132 -132 -132 -135 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 24 39 54 73 94 116 136 144 152 157 161 163 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1157,8 +1158,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1196,7 +1198,7 @@
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
 		<table name="#calledSkillLevel"> 1 2 3 4 5 6 7 8 9 10 11 12 </table>
-		<table name="#dot"> 35 50 68 87 107 123 134 134 139 139 142 142 </table>
+		<table name="#dot"> -35 -50 -68 -87 -107 -123 -134 -134 -139 -139 -142 -142 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 13 20 28 38 50 61 71 76 80 83 84 85 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1222,8 +1224,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1236,7 +1239,7 @@
 		<!-- CT2.5 retail confirmed -->
 		<table name="#abnormalLvls"> 2 2 2 2 2 3 4 5 6 7 8 8 </table>
 		<table name="#calledSkillLevel"> 1 2 3 4 5 6 7 8 9 10 11 12 </table>
-		<table name="#dot"> 4 6 8 11 14 17 20 21 22 23 23 23 </table>
+		<table name="#dot"> -4 -6 -8 -11 -14 -17 -20 -21 -22 -23 -23 -23 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mpConsume2"> 17 29 39 53 67 83 97 103 108 112 115 116 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
@@ -1259,8 +1262,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1591,7 +1595,7 @@
 	</skill>
 	<skill id="5268" levels="17" name="Poison">
 		<!-- Confirmed CT2.5 -->
-		<table name="#dmg"> 18 22 26 26 26 28 55 55 55 55 57 57 57 57 57 57 57 </table>
+		<table name="#dmg"> -18 -22 -26 -26 -26 -28 -55 -55 -55 -55 -57 -57 -57 -57 -57 -57 -57 </table>
 		<table name="#magicLvl"> 49 55 60 64 68 72 76 77 78 79 80 81 82 83 84 85 86 </table>
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="30" />
@@ -1611,8 +1615,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05300-05399.xml b/dist/game/data/stats/skills/05300-05399.xml
index f4525cbde8..fb6122fe33 100644
--- a/dist/game/data/stats/skills/05300-05399.xml
+++ b/dist/game/data/stats/skills/05300-05399.xml
@@ -60,7 +60,7 @@
 	<skill id="5302" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 286 286 314 314 314 338 338 338 338 </table>
+		<table name="#dot"> -286 -286 -314 -314 -314 -338 -338 -338 -338 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 13066 18040 18486 18623 18745 18844 18909 18909 18909 </table>
@@ -88,15 +88,16 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="5303" levels="9" name="Bleed">
 		<!-- Condition causing target to instantly decrease HP by bleeding. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 145 145 157 157 157 168 168 168 168 </table>
+		<table name="#dot"> -145 -145 -157 -157 -157 -168 -168 -168 -168 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 13066 18040 18486 18623 18745 18844 18909 18909 18909 </table>
@@ -124,8 +125,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -166,7 +168,7 @@
 	</skill>
 	<skill id="5305" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
-		<table name="#dot"> 381 381 418 418 418 450 450 450 450 </table>
+		<table name="#dot"> -381 -381 -418 -418 -418 -450 -450 -450 -450 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 13066 18040 18486 18623 18745 18844 18909 18909 18909 </table>
@@ -192,8 +194,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -265,7 +268,7 @@
 	<skill id="5308" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 286 286 314 314 314 338 338 338 338 </table>
+		<table name="#dot"> -286 -286 -314 -314 -314 -338 -338 -338 -338 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 13066 18040 18486 18623 18745 18844 18909 18909 18909 </table>
@@ -292,15 +295,16 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="5309" levels="9" name="Bleed">
 		<!-- Condition causing target to instantly decrease HP by bleeding. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 145 145 157 157 157 168 168 168 168 </table>
+		<table name="#dot"> -145 -145 -157 -157 -157 -168 -168 -168 -168 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 13066 18040 18486 18623 18745 18844 18909 18909 18909 </table>
@@ -327,8 +331,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1207,7 +1212,7 @@
 	<skill id="5363" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 286 286 314 314 314 338 338 338 338 </table>
+		<table name="#dot"> -286 -286 -314 -314 -314 -338 -338 -338 -338 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 12777 17637 18051 18163 18259 18333 18380 18380 18380 </table>
@@ -1235,15 +1240,16 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="5364" levels="9" name="Bleed">
 		<!-- Condition causing target to instantly decrease HP by bleeding. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 145 145 157 157 157 168 168 168 168 </table>
+		<table name="#dot"> -145 -145 -157 -157 -157 -168 -168 -168 -168 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 12777 17637 18051 18163 18259 18333 18380 18380 18380 </table>
@@ -1271,8 +1277,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1312,7 +1319,7 @@
 	</skill>
 	<skill id="5366" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
-		<table name="#dot"> 381 381 418 418 418 450 450 450 450 </table>
+		<table name="#dot"> -381 -381 -418 -418 -418 -450 -450 -450 -450 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 12777 17637 18051 18163 18259 18333 18380 18380 18380 </table>
@@ -1339,8 +1346,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1400,7 +1408,7 @@
 	<skill id="5369" levels="9" name="Poison">
 		<!-- Condition causing target to instantly decrease HP by poison. Effect 8-10. -->
 		<table name="#abnormalLvls"> 8 8 9 9 9 10 10 10 10 </table>
-		<table name="#dot"> 286 286 314 314 314 338 338 338 338 </table>
+		<table name="#dot"> -286 -286 -314 -314 -314 -338 -338 -338 -338 </table>
 		<table name="#magicLvl"> 75 78 81 84 87 90 93 96 99 </table>
 		<table name="#mpConsume2"> 76 78 80 82 84 84 85 86 87 </table>
 		<table name="#power"> 12777 17637 18051 18163 18259 18333 18380 18380 18380 </table>
@@ -1427,8 +1435,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1970,8 +1979,9 @@
 			</and>
 		</cond>
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="75" />
+			<effect name="TickHp">
+				<param power="-75" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05400-05499.xml b/dist/game/data/stats/skills/05400-05499.xml
index 7023cea83a..0ba83653d8 100644
--- a/dist/game/data/stats/skills/05400-05499.xml
+++ b/dist/game/data/stats/skills/05400-05499.xml
@@ -219,7 +219,7 @@
 	</skill>
 	<skill id="5422" levels="12" name="Flame">
 		<!-- Body is on fire. HP continually decreases. -->
-		<table name="#dot"> 6.45 11.1 20.39 30.49 30.49 60.43 77 85.7 94.66 103.89 113.38 123.15 </table>
+		<table name="#dot"> -6.45 -11.1 -20.39 -30.49 -30.49 -60.43 -77 -85.7 -94.66 -103.89 -113.38 -123.15 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<table name="#mAtk"> 9.16 15.36 27.82 41.49 61.66 84.61 111.26 126.31 142.73 160.7 180.46 201.65 </table>
 		<set name="abnormalLvl" val="3" />
@@ -240,8 +240,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 				<add stat="mAtk" val="#mAtk" />
 				<mul stat="runSpd" val="0.7" />
 			</effect>
@@ -249,7 +250,7 @@
 	</skill>
 	<skill id="5423" levels="12" name="Poison">
 		<!-- Condition causing target to be poisoned. -->
-		<table name="#dot"> 8 21 57 91 133 179 223 251 289 318 324 354 </table>
+		<table name="#dot"> -8 -21 -57 -91 -133 -179 -223 -251 -289 -318 -324 -354 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="30" />
@@ -269,15 +270,16 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.7" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="5424" levels="12" name="Bleed">
 		<!-- Condition causing target to instantly decrease HP by bleeding. Effect 2-10. -->
-		<table name="#dot"> 15 21 43 55 89 103 140 168 174 232 265 295 </table>
+		<table name="#dot"> -15 -21 -43 -55 -89 -103 -140 -168 -174 -232 -265 -295 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="30" />
@@ -297,8 +299,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.7" />
 			</effect>
 		</effects>
@@ -645,7 +648,7 @@
 		</effects>
 	</skill>
 	<skill id="5444" levels="2" name="Maul">
-		<table name="#dot"> 62 67 </table>
+		<table name="#dot"> -62 -67 </table>
 		<table name="#magicLvl"> 65 70 </table>
 		<table name="#mpConsume2"> 66 71 </table>
 		<table name="#power"> 917 1084 </table>
@@ -675,8 +678,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -765,7 +769,7 @@
 	<skill id="5450" levels="7" name="Thin Skin">
 		<!-- Confirmed CT2.5 -->
 		<table name="#abnormalLvls"> 4 5 5 6 7 8 8 </table>
-		<table name="#dot"> 218 266 266 307 307 335 335 </table>
+		<table name="#dot"> -218 -266 -266 -307 -307 -335 -335 </table>
 		<table name="#magicLvl"> 46 52 58 62 66 70 74 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="5" />
@@ -778,8 +782,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1325,8 +1330,9 @@
 			<effect name="PhysicalAttack">
 				<param power="2616" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="71" />
+			<effect name="TickHp">
+				<param power="-71" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1378,8 +1384,9 @@
 				<param power="2319" />
 			</effect>
 			<effect name="Stun" />
-			<effect name="DamOverTime" ticks="5">
-				<param power="52" />
+			<effect name="TickHp">
+				<param power="-52" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05500-05599.xml b/dist/game/data/stats/skills/05500-05599.xml
index 4cd581ad24..ee35c8adbd 100644
--- a/dist/game/data/stats/skills/05500-05599.xml
+++ b/dist/game/data/stats/skills/05500-05599.xml
@@ -29,8 +29,9 @@
 			<effect name="PhysicalAttack">
 				<param power="2616" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="52" />
+			<effect name="TickHp">
+				<param power="-52" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1854,7 +1855,7 @@
 				<param power="122" />
 				<param drain="0.8" />
 			</effect>
-			<effect name="ManaDamOverTime">
+			<effect name="MagicalAttackMp">
 				<param power="182" />
 			</effect>
 		</effects>
@@ -1913,8 +1914,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="1">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="1" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05600-05699.xml b/dist/game/data/stats/skills/05600-05699.xml
index 640991a4cf..4ae19e3d9e 100644
--- a/dist/game/data/stats/skills/05600-05699.xml
+++ b/dist/game/data/stats/skills/05600-05699.xml
@@ -291,7 +291,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1287,8 +1286,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="63" />
+			<effect name="TickHp">
+				<param power="-63" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1446,7 +1446,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="41" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1460,7 +1459,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="51" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1474,7 +1472,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="59" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1533,7 +1530,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="200" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1895,7 +1891,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/05700-05799.xml b/dist/game/data/stats/skills/05700-05799.xml
index 81762221f5..589b63dcf0 100644
--- a/dist/game/data/stats/skills/05700-05799.xml
+++ b/dist/game/data/stats/skills/05700-05799.xml
@@ -277,8 +277,9 @@
 			<effect name="MagicalAttack">
 				<param power="213" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="55" />
+			<effect name="TickHp">
+				<param power="-55" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.77" />
 			</effect>
 		</effects>
@@ -851,7 +852,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="5000" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="100" />
diff --git a/dist/game/data/stats/skills/05800-05899.xml b/dist/game/data/stats/skills/05800-05899.xml
index 634a88e34e..2f07d6fb5a 100644
--- a/dist/game/data/stats/skills/05800-05899.xml
+++ b/dist/game/data/stats/skills/05800-05899.xml
@@ -416,8 +416,9 @@
 			<effect name="PhysicalAttack">
 				<param power="4640" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="70" />
+			<effect name="TickHp">
+				<param power="-70" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -529,8 +530,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="270" />
+				<param ticks="1" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="20" />
@@ -731,7 +733,7 @@
 	</skill>
 	<skill id="5846" levels="12" name="Bleed">
 		<table name="#abnormalLvls"> 2 3 4 5 6 7 8 8 9 9 10 10 </table>
-		<table name="#dot"> 18 25 34 44 54 62 67 67 70 70 71 71 </table>
+		<table name="#dot"> -18 -25 -34 -44 -54 -62 -67 -67 -70 -70 -71 -71 </table>
 		<table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="20" />
@@ -753,8 +755,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1319,8 +1322,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="145" />
+			<effect name="TickHp">
+				<param power="-145" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1413,8 +1417,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="145" />
+			<effect name="TickHp">
+				<param power="-145" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/06200-06299.xml b/dist/game/data/stats/skills/06200-06299.xml
index 9ab702d33b..f747c8bfb8 100644
--- a/dist/game/data/stats/skills/06200-06299.xml
+++ b/dist/game/data/stats/skills/06200-06299.xml
@@ -154,7 +154,7 @@
 	</skill>
 	<skill id="6205" levels="19" name="Strider Bite">
 		<!-- Confirmed CT2.5 -->
-		<table name="#dot"> 65 75 75 82 82 82 82 82 85 85 85 85 85 85 85 85 85 85 87 </table>
+		<table name="#dot"> -65 -75 -75 -82 -82 -82 -82 -82 -85 -85 -85 -85 -85 -85 -85 -85 -85 -85 -87 </table>
 		<table name="#effectPoints"> -523 -566 -604 -635 -646 -655 -662 -669 -676 -679 -681 -684 -687 -689 -692 -694 -696 -698 -700 </table>
 		<table name="#magicLvl"> 55 60 65 70 72 74 76 78 80 81 82 83 84 85 86 87 88 89 90 </table>
 		<table name="#mpConsume2"> 68 76 82 89 91 94 96 98 100 100 101 102 103 103 104 104 105 105 105 </table>
@@ -186,8 +186,9 @@
 			<effect name="PhysicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/06300-06399.xml b/dist/game/data/stats/skills/06300-06399.xml
index 5bea7fffe2..bb0e6286b0 100644
--- a/dist/game/data/stats/skills/06300-06399.xml
+++ b/dist/game/data/stats/skills/06300-06399.xml
@@ -41,8 +41,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="5">
+			<effect name="TickMp">
 				<param power="#mdot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -170,8 +171,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="139" />
+			<effect name="TickHp">
+				<param power="-139" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -820,8 +822,9 @@
 			<effect name="PhysicalAttack">
 				<param power="4563" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -969,8 +972,9 @@
 			<effect name="PhysicalAttack">
 				<param power="4563" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1414,8 +1418,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="93" />
+			<effect name="TickHp">
+				<param power="-93" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1492,8 +1497,9 @@
 		<set name="targetType" val="FRONT_AREA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="95" />
+			<effect name="TickHp">
+				<param power="-95" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1730,8 +1736,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="93" />
+			<effect name="TickHp">
+				<param power="-93" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/06400-06499.xml b/dist/game/data/stats/skills/06400-06499.xml
index 7ed94c29c8..9ccf79fe31 100644
--- a/dist/game/data/stats/skills/06400-06499.xml
+++ b/dist/game/data/stats/skills/06400-06499.xml
@@ -46,7 +46,7 @@
 	</skill>
 	<skill id="6402" levels="5" name="Torumba Poison Strike">
 		<table name="#abnormalLvls"> 11 12 13 14 15 </table>
-		<table name="#dot"> 100 220 440 880 1600 </table>
+		<table name="#dot"> -100 -220 -440 -880 -1600 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="60" />
 		<set name="abnormalType" val="POISON" />
@@ -68,8 +68,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -97,8 +98,9 @@
 			<effect name="PhysicalAttack">
 				<param power="13688" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="58" />
+			<effect name="TickHp">
+				<param power="-58" />
+				<param ticks="5" />
 				<mul stat="runSpd" val="0.8" />
 			</effect>
 		</effects>
@@ -392,8 +394,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="FRONT_AREA" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="4" />
+			<effect name="TickMp">
+				<param power="-4" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -422,8 +425,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="4" />
+			<effect name="TickMp">
+				<param power="-4" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -452,11 +456,13 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="69" />
+			<effect name="TickHp">
+				<param power="-69" />
+				<param ticks="5" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="4" />
+			<effect name="TickMp">
+				<param power="-4" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -789,7 +795,7 @@
 		<!-- Zone Skill -->
 		<table name="#abnormalLvls"> 7 8 9 </table>
 		<table name="#cAtk"> 1.2 1.3 1.4 </table>
-		<table name="#dot"> 0.005 0.01 0.02 </table>
+		<table name="#dot"> -0.005 -0.01 -0.02 </table>
 		<table name="#rCrit"> 1.2 1.5 1.75 </table>
 		<set name="abnormalLvl" val="#abnormalLvls" />
 		<set name="abnormalTime" val="5" />
@@ -805,8 +811,10 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTimePercent" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param mode="PER" />
+				<param ticks="5" />
 				<mul stat="critRate" val="#rCrit">
 					<using kind="BOW,CROSSBOW" />
 				</mul>
@@ -833,8 +841,10 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTimePercent" ticks="5">
-				<param power="0.05" />
+			<effect name="TickHp">
+				<param power="-0.05" />
+				<param mode="PER" />
+				<param ticks="5" />
 				<mul stat="critRate" val="1.9">
 					<using kind="BOW,CROSSBOW" />
 				</mul>
@@ -845,7 +855,7 @@
 		</effects>
 	</skill>
 	<skill id="6437" levels="7" name="Area of Freezing Core">
-		<table name="#dot"> 30 60 90 150 250 350 500 </table>
+		<table name="#dot"> -30 -60 -90 -150 -250 -350 -500 </table>
 		<set name="abnormalLvl" val="10" />
 		<set name="abnormalTime" val="15" />
 		<set name="abnormalType" val="POISON" />
@@ -864,8 +874,9 @@
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#dot" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/06600-06699.xml b/dist/game/data/stats/skills/06600-06699.xml
index 54205232f9..1dfccdda69 100644
--- a/dist/game/data/stats/skills/06600-06699.xml
+++ b/dist/game/data/stats/skills/06600-06699.xml
@@ -890,8 +890,9 @@
 		<set name="targetType" val="SELF" />
 		<effects>
 			<effect name="Paralyze" />
-			<effect name="DamOverTime" ticks="#ticks">
-				<param power="115" />
+			<effect name="TickHp">
+				<param power="-115" />
+				<param ticks="#ticks" />
 			</effect>
 			<effect name="CallSkill">
 				<param skillId="6302" skillLevel="1" />
@@ -1365,8 +1366,10 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="CLAN" /> <!-- FIXME: Aura Friendly ? -->
 		<effects>
-			<effect name="DamOverTimePercent" ticks="5">
-				<param power="0.02" />
+			<effect name="TickHp">
+				<param power="-0.02" />
+				<param mode="PER" />
+				<param ticks="5" />
 				<mul stat="pAtkSpd" val="1.2" />
 			</effect>
 		</effects>
@@ -1489,11 +1492,13 @@
 		<set name="targetType" val="AURA" />
 		<effects>
 			<effect name="Paralyze" />
-			<effect name="DamOverTime" ticks="5">
-				<param power="115" />
+			<effect name="TickHp">
+				<param power="-115" />
+				<param ticks="5" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="5" />
+			<effect name="TickMp">
+				<param power="-5" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
diff --git a/dist/game/data/stats/skills/06700-06799.xml b/dist/game/data/stats/skills/06700-06799.xml
index 4703b2a0b4..5d6fa99331 100644
--- a/dist/game/data/stats/skills/06700-06799.xml
+++ b/dist/game/data/stats/skills/06700-06799.xml
@@ -332,8 +332,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="30" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="450" />
@@ -378,7 +379,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="687" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -584,8 +584,9 @@
 		<set name="targetType" val="ENEMY_ONLY" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="5" />
 				<sub stat="darkRes" val="50" />
 			</effect>
 		</effects>
@@ -758,8 +759,9 @@
 				<param blowChance="30" />
 				<param criticalChance="20" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="100" />
+			<effect name="TickHp">
+				<param power="-100" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1289,8 +1291,9 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="BLEED" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="200" />
+			<effect name="TickHp">
+				<param power="-200" />
+				<param ticks="5" />
 			</effect>
 			<effect name="Debuff">
 				<mul stat="runSpd" val="0.8" />
diff --git a/dist/game/data/stats/skills/06800-06899.xml b/dist/game/data/stats/skills/06800-06899.xml
index 1ef933ad62..e4814e84be 100644
--- a/dist/game/data/stats/skills/06800-06899.xml
+++ b/dist/game/data/stats/skills/06800-06899.xml
@@ -294,9 +294,8 @@
 	<skill id="6815" levels="16" name="Deadly Poison">
 		<!-- High Five Confirmed -->
 		<!-- "Poison seeps deeper and for 10 seconds, 800 HP is decreased every second. If not treated, the poison will worsen." -->
-		<!-- TODO(Zoey76): Power must be negative and effect HealOverTime. -->
 		<table name="#magicLvl"> 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 </table>
-		<table name="#power"> 330 370 400 440 480 520 560 600 640 680 720 760 780 780 800 800 </table>
+		<table name="#power"> -330 -370 -400 -440 -480 -520 -560 -600 -640 -680 -720 -760 -780 -780 -800 -800 </table>
 		<table name="#skillLevel"> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 </table>
 		<set name="abnormalLvl" val="10" />
 		<set name="abnormalTime" val="10" />
@@ -313,8 +312,9 @@
 		<set name="targetType" val="SELF" />
 		<set name="trait" val="POISON" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#power" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -326,9 +326,8 @@
 	<skill id="6816" levels="16" name="Deadly Bleed">
 		<!-- High Five Confirmed -->
 		<!-- "Bleed becomes deeper and for 10 seconds, 800 HP is decreased every second. If not treated, the bleed will worsen." -->
-		<!-- TODO(Zoey76): Power must be negative and effect HealOverTime. -->
 		<table name="#magicLvl"> 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 </table>
-		<table name="#power"> 330 370 400 440 480 520 560 600 640 680 720 760 780 780 800 800 </table>
+		<table name="#power"> -330 -370 -400 -440 -480 -520 -560 -600 -640 -680 -720 -760 -780 -780 -800 -800 </table>
 		<table name="#skillLevel"> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 </table>
 		<set name="abnormalTime" val="10" />
 		<set name="abnormalType" val="BLEEDING" />
@@ -343,8 +342,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
+			<effect name="TickHp">
 				<param power="#power" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -544,8 +544,9 @@
 			<effect name="MagicalAttack">
 				<param power="#power" />
 			</effect>
-			<effect name="HealOverTime" ticks="4">
+			<effect name="TickHp">
 				<param power="#hotValue" />
+				<param ticks="4" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1179,8 +1180,9 @@
 			<effect name="PhysicalAttack">
 				<param power="6723" />
 			</effect>
-			<effect name="DamOverTime" ticks="4">
-				<param power="100" />
+			<effect name="TickHp">
+				<param power="-100" />
+				<param ticks="4" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1211,8 +1213,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="AREA" />
 		<effects>
-			<effect name="DamOverTime" ticks="4">
-				<param power="120" />
+			<effect name="TickHp">
+				<param power="-120" />
+				<param ticks="4" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1248,8 +1251,9 @@
 			<effect name="PhysicalAttack">
 				<param power="6723" />
 			</effect>
-			<effect name="DamOverTime" ticks="4">
-				<param power="100" />
+			<effect name="TickHp">
+				<param power="-100" />
+				<param ticks="4" />
 			</effect>
 		</effects>
 		<endEffects>
@@ -1424,7 +1428,7 @@
 	</skill>
 	<skill id="6875" levels="2" name="Poison">
 		<!-- High Five Confirmed -->
-		<table name="#dmg"> 120 140 </table>
+		<table name="#dmg"> -120 -140 </table>
 		<set name="abnormalLvl" val="10" />
 		<set name="abnormalTime" val="8" />
 		<set name="abnormalType" val="POISON" />
@@ -1447,8 +1451,9 @@
 			<effect name="MagicalAttack">
 				<param power="122" />
 			</effect>
-			<effect name="DamOverTime" ticks="4">
+			<effect name="TickHp">
 				<param power="#dmg" />
+				<param ticks="4" />
 			</effect>
 		</effects>
 		<endEffects>
diff --git a/dist/game/data/stats/skills/06900-06999.xml b/dist/game/data/stats/skills/06900-06999.xml
index 6ccbfcfce3..39e3976aa8 100644
--- a/dist/game/data/stats/skills/06900-06999.xml
+++ b/dist/game/data/stats/skills/06900-06999.xml
@@ -128,11 +128,13 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AURA" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="500" />
+			<effect name="TickHp">
+				<param power="-500" />
+				<param ticks="5" />
 			</effect>
-			<effect name="ManaDamOverTime" ticks="5">
-				<param power="300" />
+			<effect name="TickMp">
+				<param power="-300" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/08300-08399.xml b/dist/game/data/stats/skills/08300-08399.xml
index f5a8b16e99..c27fa5adcf 100644
--- a/dist/game/data/stats/skills/08300-08399.xml
+++ b/dist/game/data/stats/skills/08300-08399.xml
@@ -213,7 +213,6 @@
 			</effect>
 			<effect name="Cp">
 				<param amount="1200" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -239,7 +238,6 @@
 			</effect>
 			<effect name="Cp">
 				<param amount="800" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -602,7 +600,6 @@
 			</effect>
 			<effect name="Cp">
 				<param amount="1500" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/09000-09099.xml b/dist/game/data/stats/skills/09000-09099.xml
index 6d8354c85b..eba5f2c1ea 100644
--- a/dist/game/data/stats/skills/09000-09099.xml
+++ b/dist/game/data/stats/skills/09000-09099.xml
@@ -1288,7 +1288,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="2300" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1550,7 +1549,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="300" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/21000-21099.xml b/dist/game/data/stats/skills/21000-21099.xml
index 3ccb167032..bf2ba93899 100644
--- a/dist/game/data/stats/skills/21000-21099.xml
+++ b/dist/game/data/stats/skills/21000-21099.xml
@@ -964,8 +964,9 @@
 		<set name="targetType" val="SELF" />
 		<set name="trait" val="ETC" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="30" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="444" />
@@ -1319,8 +1320,9 @@
 		<set name="targetType" val="SELF" />
 		<set name="trait" val="ETC" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="30" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="444" />
@@ -1497,8 +1499,9 @@
 		<set name="targetType" val="SELF" />
 		<set name="trait" val="ETC" />
 		<effects>
-			<effect name="HealOverTime" ticks="1">
+			<effect name="TickHp">
 				<param power="30" />
+				<param ticks="1" />
 			</effect>
 			<effect name="Heal">
 				<param power="444" />
diff --git a/dist/game/data/stats/skills/22000-22099.xml b/dist/game/data/stats/skills/22000-22099.xml
index 03583c220f..93dfb60e95 100644
--- a/dist/game/data/stats/skills/22000-22099.xml
+++ b/dist/game/data/stats/skills/22000-22099.xml
@@ -808,7 +808,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="200" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -829,7 +828,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/22100-22199.xml b/dist/game/data/stats/skills/22100-22199.xml
index dc9d28cc61..65ac88adce 100644
--- a/dist/game/data/stats/skills/22100-22199.xml
+++ b/dist/game/data/stats/skills/22100-22199.xml
@@ -1579,11 +1579,9 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="500" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="Mp">
 				<param amount="200" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/22200-22299.xml b/dist/game/data/stats/skills/22200-22299.xml
index 9083773c36..e5f53d7dd2 100644
--- a/dist/game/data/stats/skills/22200-22299.xml
+++ b/dist/game/data/stats/skills/22200-22299.xml
@@ -432,7 +432,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="20000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -450,7 +449,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="20000" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1096,7 +1094,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="1100" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1112,7 +1109,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="360" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/23100-23199.xml b/dist/game/data/stats/skills/23100-23199.xml
index dbca1b8653..2b2ba573a3 100644
--- a/dist/game/data/stats/skills/23100-23199.xml
+++ b/dist/game/data/stats/skills/23100-23199.xml
@@ -944,7 +944,6 @@
 			<effect name="BlockDebuff" />
 			<effect name="Cp">
 				<param amount="9000" />
-				<param mode="DIFF" />
 			</effect>
 			<effect name="HpPerMax">
 				<param power="100" />
diff --git a/dist/game/data/stats/skills/23200-23299.xml b/dist/game/data/stats/skills/23200-23299.xml
index b9297b4ca4..fdd9f8019a 100644
--- a/dist/game/data/stats/skills/23200-23299.xml
+++ b/dist/game/data/stats/skills/23200-23299.xml
@@ -200,7 +200,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="500" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -216,7 +215,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="500" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -1730,8 +1728,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="300" />
+			<effect name="TickHp">
+				<param power="-300" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -1747,8 +1746,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="300" />
+			<effect name="TickHp">
+				<param power="-300" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/23300-23399.xml b/dist/game/data/stats/skills/23300-23399.xml
index e417303890..13d47b0a33 100644
--- a/dist/game/data/stats/skills/23300-23399.xml
+++ b/dist/game/data/stats/skills/23300-23399.xml
@@ -12,8 +12,9 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="300" />
+			<effect name="TickHp">
+				<param power="-300" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -189,8 +190,9 @@
 			<effect name="PhysicalAttack">
 				<param power="5000" />
 			</effect>
-			<effect name="DamOverTime" ticks="5">
-				<param power="105" />
+			<effect name="TickHp">
+				<param power="-105" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
@@ -214,8 +216,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="ONE" />
 		<effects>
-			<effect name="DamOverTime" ticks="5">
-				<param power="88" />
+			<effect name="TickHp">
+				<param power="-88" />
+				<param ticks="5" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/26000-26099.xml b/dist/game/data/stats/skills/26000-26099.xml
index 6f98400165..0e64a84a6b 100644
--- a/dist/game/data/stats/skills/26000-26099.xml
+++ b/dist/game/data/stats/skills/26000-26099.xml
@@ -284,7 +284,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="435" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -301,8 +300,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="50" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -319,8 +319,9 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="HealOverTime" ticks="3">
+			<effect name="TickHp">
 				<param power="24" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -341,7 +342,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -362,7 +362,6 @@
 		<effects>
 			<effect name="Hp">
 				<param amount="#amount" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -376,7 +375,6 @@
 		<effects>
 			<effect name="Cp">
 				<param amount="50" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
@@ -392,7 +390,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="60" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/stats/skills/custom/10000-10099.xml b/dist/game/data/stats/skills/custom/10000-10099.xml
index de89962d72..fa80d5fb41 100644
--- a/dist/game/data/stats/skills/custom/10000-10099.xml
+++ b/dist/game/data/stats/skills/custom/10000-10099.xml
@@ -11,8 +11,9 @@
 		<set name="reuseDelay" val="10000" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="ManaHealOverTime" ticks="3">
+			<effect name="TickMp">
 				<param power="1.5" />
+				<param ticks="3" />
 			</effect>
 		</effects>
 	</skill>
@@ -28,7 +29,6 @@
 		<effects>
 			<effect name="Mp">
 				<param amount="100" />
-				<param mode="DIFF" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/dist/game/data/xsd/skills.xsd b/dist/game/data/xsd/skills.xsd
index d9f97c8989..63d2d3b250 100644
--- a/dist/game/data/xsd/skills.xsd
+++ b/dist/game/data/xsd/skills.xsd
@@ -510,7 +510,6 @@
 					<xs:enumeration value="CallParty" />
 					<xs:enumeration value="CallPc" />
 					<xs:enumeration value="CallSkill" />
-					<xs:enumeration value="ChameleonRest" />
 					<xs:enumeration value="ChangeFace" />
 					<xs:enumeration value="ChangeFishingMastery" />
 					<xs:enumeration value="ChangeHairColor" />
@@ -518,13 +517,16 @@
 					<xs:enumeration value="ClanGate" />
 					<xs:enumeration value="Confuse" />
 					<xs:enumeration value="ConsumeBody" />
+					<xs:enumeration value="ConsumeChameleonRest" />
+					<xs:enumeration value="ConsumeFakeDeath" />
+					<xs:enumeration value="ConsumeHp" />
+					<xs:enumeration value="ConsumeMp" />
+					<xs:enumeration value="ConsumeMpByLevel" />
+					<xs:enumeration value="ConsumeRest" />
 					<xs:enumeration value="ConvertItem" />
 					<xs:enumeration value="Cp" />
-					<xs:enumeration value="CpHealOverTime" />
 					<xs:enumeration value="CrystalGradeModify" />
 					<xs:enumeration value="CubicMastery" />
-					<xs:enumeration value="DamOverTime" />
-					<xs:enumeration value="DamOverTimePercent" />
 					<xs:enumeration value="DeathLink" />
 					<xs:enumeration value="Debuff" />
 					<xs:enumeration value="DefenceTrait" />
@@ -540,7 +542,6 @@
 					<xs:enumeration value="EnableCloak" />
 					<xs:enumeration value="EnergyAttack" />
 					<xs:enumeration value="Escape" />
-					<xs:enumeration value="FakeDeath" />
 					<xs:enumeration value="FatalBlow" />
 					<xs:enumeration value="Fear" />
 					<xs:enumeration value="Fishing" />
@@ -557,7 +558,6 @@
 					<xs:enumeration value="Harvesting" />
 					<xs:enumeration value="HeadquarterCreate" />
 					<xs:enumeration value="Heal" />
-					<xs:enumeration value="HealOverTime" />
 					<xs:enumeration value="Hide" />
 					<xs:enumeration value="Hp" />
 					<xs:enumeration value="HpByLevel" />
@@ -571,13 +571,10 @@
 					<xs:enumeration value="MagicalAttackByAbnormal" />
 					<xs:enumeration value="MagicalAttackMp" />
 					<xs:enumeration value="MagicalSoulAttack" />
-					<xs:enumeration value="ManaDamOverTime" />
 					<xs:enumeration value="ManaHealByLevel" />
-					<xs:enumeration value="ManaHealOverTime" />
 					<xs:enumeration value="MaxCp" />
 					<xs:enumeration value="MaxHp" />
 					<xs:enumeration value="Mp" />
-					<xs:enumeration value="MpConsumePerLevel" />
 					<xs:enumeration value="MpPerMax" />
 					<xs:enumeration value="Mute" />
 					<xs:enumeration value="NoblesseBless" />
@@ -602,7 +599,6 @@
 					<xs:enumeration value="Recovery" />
 					<xs:enumeration value="Reeling" />
 					<xs:enumeration value="RefuelAirship" />
-					<xs:enumeration value="Relax" />
 					<xs:enumeration value="ResistSkill" />
 					<xs:enumeration value="Restoration" />
 					<xs:enumeration value="RestorationRandom" />
@@ -641,6 +637,9 @@
 					<xs:enumeration value="Teleport" />
 					<xs:enumeration value="TeleportToTarget" />
 					<xs:enumeration value="ThrowUp" />
+					<xs:enumeration value="TickHp" />
+					<xs:enumeration value="TickHpFatal" />
+					<xs:enumeration value="TickMp" />
 					<xs:enumeration value="TransferDamage" />
 					<xs:enumeration value="TransferHate" />
 					<xs:enumeration value="Transformation" />
-- 
GitLab