actual freya branch

This commit is contained in:
2026-09-12 15:39:57 +00:00
parent 9fa534b20e
commit 8049e0a882
18540 changed files with 1228200 additions and 0 deletions
@@ -0,0 +1,35 @@
package transformations;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Akamanah extends L2Transformation
{
public Akamanah()
{
// TODO: Unhardcode Akamanah and Zariche transformations as much as we can
// id, colRadius, colHeight
super(302, 10, 32.73);
}
@Override
public void onTransform()
{
// Set charachter name to transformed name
getPlayer().getAppearance().setVisibleName("Akamanah");
getPlayer().getAppearance().setVisibleTitle("");
}
@Override
public void onUntransform()
{
// set character back to true name.
getPlayer().getAppearance().setVisibleName(null);
getPlayer().getAppearance().setVisibleTitle(null);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Akamanah());
}
}
@@ -0,0 +1,76 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Anakim extends L2Transformation
{
private static final int[] SKILLS = new int[]{720,721,722,723,724,5491,619};
public Anakim()
{
// id, colRadius, colHeight
super(306, 15.5, 29);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 306 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Anakim Holy Light Burst (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(720, 2), false);
// Anakim Energy Attack (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(721, 2), false);
// Anakim Holy Beam (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(722, 2), false);
// Anakim Sunshine
getPlayer().addSkill(SkillTable.getInstance().getInfo(723, 1), false);
// Anakim Cleanse
getPlayer().addSkill(SkillTable.getInstance().getInfo(724, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Anakim Holy Light Burst (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(720, 2), false);
// Anakim Energy Attack (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(721, 2), false);
// Anakim Holy Beam (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(722, 2), false);
// Anakim Sunshine
getPlayer().removeSkill(SkillTable.getInstance().getInfo(723, 1), false);
// Anakim Cleanse
getPlayer().removeSkill(SkillTable.getInstance().getInfo(724, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Anakim());
}
}
@@ -0,0 +1,52 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class AquaElf extends L2Transformation
{
private static final int[] SKILLS = new int[]{619};
public AquaElf()
{
// id, colRadius, colHeight
super(125, 12, 27.50);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 125 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new AquaElf());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class ArcherCaptain extends L2Transformation
{
private static final int[] SKILLS = new int[]{5491, 619};
public ArcherCaptain()
{
// id, colRadius, colHeight
super(17, 10, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 17 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new ArcherCaptain());
}
}
@@ -0,0 +1,103 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class AurabirdFalcon extends L2Transformation
{
private static final int[] SKILLS = new int[]{884,885,886,888,890,891,894,911,932,619};
public AurabirdFalcon()
{
// id, colRadius, colHeight
super(8, 38, 14.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 8 || getPlayer().isCursedWeaponEquipped())
return;
getPlayer().setIsFlyingMounted(true);
transformedSkills();
}
public void transformedSkills()
{
// Air Blink
if (getPlayer().getLevel() >= 75)
getPlayer().addSkill(SkillTable.getInstance().getInfo(885, 1), false);
// Exhilarate
if (getPlayer().getLevel() >= 83)
getPlayer().addSkill(SkillTable.getInstance().getInfo(894, 1), false);
int lvl = getPlayer().getLevel() -74;
if (lvl > 0)
{
// Air Assault (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(884, lvl), false);
// Air Shock Bomb (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(886, lvl), false);
// Energy Storm (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(888, lvl), false);
// Prodigious Flare (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(890, lvl), false);
// Energy Shot (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(891, lvl), false);
// Energy Burst (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(911, lvl), false);
}
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
getPlayer().setIsFlyingMounted(false);
removeSkills();
}
public void removeSkills()
{
// Air Blink
getPlayer().removeSkill(SkillTable.getInstance().getInfo(885, 1), false);
// Exhilarate
getPlayer().removeSkill(SkillTable.getInstance().getInfo(894, 1), false);
int lvl = getPlayer().getLevel() -74;
if (lvl > 0)
{
// Air Assault (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(884, lvl), false);
// Air Shock Bomb (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(886, lvl), false);
// Energy Storm (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(888, lvl), false);
// Prodigious Flare (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(890, lvl), false);
// Energy Shot (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(891, lvl), false);
// Energy Burst (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(911, lvl), false);
}
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new AurabirdFalcon());
}
}
@@ -0,0 +1,103 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class AurabirdOwl extends L2Transformation
{
private static final int[] SKILLS = new int[]{884,885,887,889,892,893,895,911,932,619};
public AurabirdOwl()
{
// id, colRadius, colHeight
super(9, 40, 18.57);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 9 || getPlayer().isCursedWeaponEquipped())
return;
getPlayer().setIsFlyingMounted(true);
transformedSkills();
}
public void transformedSkills()
{
// Air Blink
if (getPlayer().getLevel() >= 75)
getPlayer().addSkill(SkillTable.getInstance().getInfo(885, 1), false);
// Exhilarate
if (getPlayer().getLevel() >= 83)
getPlayer().addSkill(SkillTable.getInstance().getInfo(895, 1), false);
int lvl = getPlayer().getLevel() -74;
if (lvl > 0)
{
// Air Assault (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(884, lvl), false);
// Sky Clutch (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(887, lvl), false);
// Energy Storm (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(889, lvl), false);
// Energy Shot (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(892, lvl), false);
// Concentrated Energy Shot (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(893, lvl), false);
// Energy Burst (up to 11 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(911, lvl), false);
}
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
getPlayer().setIsFlyingMounted(false);
removeSkills();
}
public void removeSkills()
{
// Air Blink
getPlayer().removeSkill(SkillTable.getInstance().getInfo(885, 1), false);
// Exhilarate
getPlayer().removeSkill(SkillTable.getInstance().getInfo(895, 1), false);
int lvl = getPlayer().getLevel() -74;
if (lvl > 0)
{
// Air Assault (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(884, lvl), false);
// Sky Clutch (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(887, lvl), false);
// Energy Storm (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(889, lvl), false);
// Energy Shot (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(892, lvl), false);
// Concentrated Energy Shot (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(893, lvl), false);
// Energy Burst (up to 11 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(911, lvl), false);
}
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new AurabirdOwl());
}
}
@@ -0,0 +1,68 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Benom extends L2Transformation
{
private static final int[] SKILLS = new int[]{725,726,727,5491,619};
public Benom()
{
// id, colRadius, colHeight
super(307, 20, 56);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 307 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Benom Power Smash
getPlayer().addSkill(SkillTable.getInstance().getInfo(725, 1), false);
// Benom Sonic Storm
getPlayer().addSkill(SkillTable.getInstance().getInfo(726, 1), false);
// Benom Disillusion
getPlayer().addSkill(SkillTable.getInstance().getInfo(727, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Benom Power Smash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(725, 1), false);
// Benom Sonic Storm
getPlayer().removeSkill(SkillTable.getInstance().getInfo(726, 1), false);
// Benom Disillusion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(727, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Benom());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Buffalo extends L2Transformation
{
private static final int[] SKILLS = new int[]{5437,619};
public Buffalo()
{
// id, colRadius, colHeight
super(103, 22, 31);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 103 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Buffalo());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DarkElfMercenary extends L2Transformation
{
private static final int[] SKILLS = new int[]{5491, 619};
public DarkElfMercenary()
{
// id, colRadius, colHeight
super(12, 8, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 12 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DarkElfMercenary());
}
}
@@ -0,0 +1,67 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DemonPrince extends L2Transformation
{
private static final int[] SKILLS = {735,736,737,5491,619};
public DemonPrince()
{
// id, colRadius, colHeight
super(311, 33, 49);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 311 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Devil Spinning Weapon
getPlayer().addSkill(SkillTable.getInstance().getInfo(735, 1), false);
// Devil Seed
getPlayer().addSkill(SkillTable.getInstance().getInfo(736, 1), false);
// Devil Ultimate Defense
getPlayer().addSkill(SkillTable.getInstance().getInfo(737, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Devil Spinning Weapon
getPlayer().removeSkill(SkillTable.getInstance().getInfo(735, 1), false);
// Devil Seed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(736, 1), false);
// Devil Ultimate Defense
getPlayer().removeSkill(SkillTable.getInstance().getInfo(737, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DemonPrince());
}
}
@@ -0,0 +1,81 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
/*
* TODO: Skill levels. How do they work? Transformation is given at level 83, there are 6 levels of the skill. How are they assigned? Based on player level somehow? Based on servitor?
*/
public class DemonRace extends L2Transformation
{
private static final int[] SKILLS = {901,902,903,904,905,5491,619};
public DemonRace()
{
// id, colRadius, colHeight
super(221, 11, 27);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 221 || getPlayer().isCursedWeaponEquipped())
return;
if (getPlayer().getPet() != null)
getPlayer().getPet().unSummon(getPlayer());
transformedSkills();
}
public void transformedSkills()
{
// Dark Strike (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(901, 4), false);
// Bursting Flame (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(902, 4), false);
// Stratum Explosion (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(903, 4), false);
// Corpse Burst (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(904, 4), false);
// Dark Detonation (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(905, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dark Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(901, 4), false);
// Bursting Flame
getPlayer().removeSkill(SkillTable.getInstance().getInfo(902, 4), false);
// Stratum Explosion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(903, 4), false);
// Corpse Burst
getPlayer().removeSkill(SkillTable.getInstance().getInfo(904, 4), false);
// Dark Detonation
getPlayer().removeSkill(SkillTable.getInstance().getInfo(905, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DemonRace());
}
}
@@ -0,0 +1,79 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineEnchanter extends L2Transformation
{
private static final int[] SKILLS = {704,705,706,707,708,709,5779,619};
public DivineEnchanter()
{
// id, colRadius, colHeight
super(257, 8, 18.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 257 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Divine Enchanter Water Spirit
getPlayer().addSkill(SkillTable.getInstance().getInfo(704, 1), false);
// Divine Enchanter Fire Spirit
getPlayer().addSkill(SkillTable.getInstance().getInfo(705, 1), false);
// Divine Enchanter Wind Spirit
getPlayer().addSkill(SkillTable.getInstance().getInfo(706, 1), false);
// Divine Enchanter Hero Spirit
getPlayer().addSkill(SkillTable.getInstance().getInfo(707, 1), false);
// Divine Enchanter Mass Binding
getPlayer().addSkill(SkillTable.getInstance().getInfo(708, 1), false);
// Sacrifice Enchanter
getPlayer().addSkill(SkillTable.getInstance().getInfo(709, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Divine Enchanter Water Spirit
getPlayer().removeSkill(SkillTable.getInstance().getInfo(704, 1), false, false);
// Divine Enchanter Fire Spirit
getPlayer().removeSkill(SkillTable.getInstance().getInfo(705, 1), false, false);
// Divine Enchanter Wind Spirit
getPlayer().removeSkill(SkillTable.getInstance().getInfo(706, 1), false, false);
// Divine Enchanter Hero Spirit
getPlayer().removeSkill(SkillTable.getInstance().getInfo(707, 1), false, false);
// Divine Enchanter Mass Binding
getPlayer().removeSkill(SkillTable.getInstance().getInfo(708, 1), false, false);
// Sacrifice Enchanter
getPlayer().removeSkill(SkillTable.getInstance().getInfo(709, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineEnchanter());
}
}
@@ -0,0 +1,79 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineHealer extends L2Transformation
{
private static final int[] SKILLS = {648,803,1490,698,699,700,701,702,703,5491,619};
public DivineHealer()
{
// id, colRadius, colHeight
super(255, 10, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 255 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Divine Healer Major Heal
getPlayer().addSkill(SkillTable.getInstance().getInfo(698, 1), false);
// Divine Healer Battle Heal
getPlayer().addSkill(SkillTable.getInstance().getInfo(699, 1), false);
// Divine Healer Group Heal
getPlayer().addSkill(SkillTable.getInstance().getInfo(700, 1), false);
// Divine Healer Resurrection
getPlayer().addSkill(SkillTable.getInstance().getInfo(701, 1), false);
// Divine Healer Cleanse
getPlayer().addSkill(SkillTable.getInstance().getInfo(702, 1), false);
// Sacrifice Healer
getPlayer().addSkill(SkillTable.getInstance().getInfo(703, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Divine Healer Major Heal
getPlayer().removeSkill(SkillTable.getInstance().getInfo(698, 1), false);
// Divine Healer Battle Heal
getPlayer().removeSkill(SkillTable.getInstance().getInfo(699, 1), false);
// Divine Healer Group Heal
getPlayer().removeSkill(SkillTable.getInstance().getInfo(700, 1), false);
// Divine Healer Resurrection
getPlayer().removeSkill(SkillTable.getInstance().getInfo(701, 1), false);
// Divine Healer Clans
getPlayer().removeSkill(SkillTable.getInstance().getInfo(702, 1), false);
// Sacrifice Healer
getPlayer().removeSkill(SkillTable.getInstance().getInfo(703, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineHealer());
}
}
@@ -0,0 +1,87 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineKnight extends L2Transformation
{
private static final int[] SKILLS = {680,681,682,683,684,685,795,796,5491,619};
public DivineKnight()
{
// id, colRadius, colHeight
super(252, 16, 30);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 252 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Divine Knight Hate
getPlayer().addSkill(SkillTable.getInstance().getInfo(680, 1), false);
// Divine Knight Hate Aura
getPlayer().addSkill(SkillTable.getInstance().getInfo(681, 1), false);
// Divine Knight Stun Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(682, 1), false);
// Divine Knight Thunder Storm
getPlayer().addSkill(SkillTable.getInstance().getInfo(683, 1), false);
// Divine Knight Ultimate Defense
getPlayer().addSkill(SkillTable.getInstance().getInfo(684, 1), false);
// Sacrifice Knight
getPlayer().addSkill(SkillTable.getInstance().getInfo(685, 1), false);
// Divine Knight Brandish
getPlayer().addSkill(SkillTable.getInstance().getInfo(795, 1), false);
// Divine Knight Explosion
getPlayer().addSkill(SkillTable.getInstance().getInfo(796, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Divine Knight Hate
getPlayer().removeSkill(SkillTable.getInstance().getInfo(680, 1), false);
// Divine Knight Hate Aura
getPlayer().removeSkill(SkillTable.getInstance().getInfo(681, 1), false);
// Divine Knight Stun Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(682, 1), false);
// Divine Knight Thunder Storm
getPlayer().removeSkill(SkillTable.getInstance().getInfo(683, 1), false);
// Divine Knight Ultimate Defense
getPlayer().removeSkill(SkillTable.getInstance().getInfo(684, 1), false, false);
// Sacrifice Knight
getPlayer().removeSkill(SkillTable.getInstance().getInfo(685, 1), false, false);
// Divine Knight Brandish
getPlayer().removeSkill(SkillTable.getInstance().getInfo(795, 1), false);
// Divine Knight Explosion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(796, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineKnight());
}
}
@@ -0,0 +1,83 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineRogue extends L2Transformation
{
private static final int[] SKILLS = {686,687,688,689,690,691,797,5491,619};
public DivineRogue()
{
// id, colRadius, colHeight
super(254, 10, 28);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 254 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Divine Rogue Stun Shot
getPlayer().addSkill(SkillTable.getInstance().getInfo(686, 1), false);
// Divine Rogue Double Shot
getPlayer().addSkill(SkillTable.getInstance().getInfo(687, 1), false);
// Divine Rogue Bleed Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(688, 1), false);
// Divine Rogue Deadly Blow
getPlayer().addSkill(SkillTable.getInstance().getInfo(689, 1), false);
// Divine Rogue Agility
getPlayer().addSkill(SkillTable.getInstance().getInfo(690, 1), false);
// Sacrifice Rogue
getPlayer().addSkill(SkillTable.getInstance().getInfo(691, 1), false);
// Divine Rogue Piercing Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(797, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Divine Rogue Stun Shot
getPlayer().removeSkill(SkillTable.getInstance().getInfo(686, 1), false);
// Divine Rogue Double Shot
getPlayer().removeSkill(SkillTable.getInstance().getInfo(687, 1), false);
// Divine Rogue Bleed Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(688, 1), false);
// Divine Rogue Deadly Blow
getPlayer().removeSkill(SkillTable.getInstance().getInfo(689, 1), false);
// Divine Rogue Agility
getPlayer().removeSkill(SkillTable.getInstance().getInfo(690, 1), false, false);
// Sacrifice Rogue
getPlayer().removeSkill(SkillTable.getInstance().getInfo(691, 1), false, false);
// Divine Rogue Piercing Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(797, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineRogue());
}
}
@@ -0,0 +1,81 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineSummoner extends L2Transformation
{
private static final int[] SKILLS = {710,711,712,713,714,5779,619};
public DivineSummoner()
{
// id, colRadius, colHeight
super(258, 10, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 258 || getPlayer().isCursedWeaponEquipped())
return;
if (getPlayer().getPet() != null)
getPlayer().getPet().unSummon(getPlayer());
transformedSkills();
}
public void transformedSkills()
{
// Divine Summoner Summon Divine Beast
getPlayer().addSkill(SkillTable.getInstance().getInfo(710, 1), false);
// Divine Summoner Transfer Pain
getPlayer().addSkill(SkillTable.getInstance().getInfo(711, 1), false);
// Divine Summoner Final Servitor
getPlayer().addSkill(SkillTable.getInstance().getInfo(712, 1), false);
// Divine Summoner Servitor Hill
getPlayer().addSkill(SkillTable.getInstance().getInfo(713, 1), false);
// Sacrifice Summoner
getPlayer().addSkill(SkillTable.getInstance().getInfo(714, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
if (getPlayer().getPet() != null)
getPlayer().getPet().unSummon(getPlayer());
removeSkills();
}
public void removeSkills()
{
// Divine Summoner Summon Divine Beast
getPlayer().removeSkill(SkillTable.getInstance().getInfo(710, 1), false);
// Divine Summoner Transfer Pain
getPlayer().removeSkill(SkillTable.getInstance().getInfo(711, 1), false);
// Divine Summoner Final Servitor
getPlayer().removeSkill(SkillTable.getInstance().getInfo(712, 1), false);
// Divine Summoner Servitor Hill
getPlayer().removeSkill(SkillTable.getInstance().getInfo(713, 1), false);
// Sacrifice Summoner
getPlayer().removeSkill(SkillTable.getInstance().getInfo(714, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineSummoner());
}
}
@@ -0,0 +1,79 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineWarrior extends L2Transformation
{
private static final int[] SKILLS = {675,676,677,678,679,798,5491,619};
public DivineWarrior()
{
// id, colRadius, colHeight
super(253, 14.5, 29);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 253 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Cross Slash
getPlayer().addSkill(SkillTable.getInstance().getInfo(675, 1), false);
// Sonic Blaster
getPlayer().addSkill(SkillTable.getInstance().getInfo(676, 1), false);
// Transfixition of Earth
getPlayer().addSkill(SkillTable.getInstance().getInfo(677, 1), false);
// Divine Warrior War Cry
getPlayer().addSkill(SkillTable.getInstance().getInfo(678, 1), false);
// Sacrifice Warrior
getPlayer().addSkill(SkillTable.getInstance().getInfo(679, 1), false);
// Divine Warrior Assault Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(798, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Cross Slash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(675, 1), false);
// Sonic Blaster
getPlayer().removeSkill(SkillTable.getInstance().getInfo(676, 1), false);
// Transfixition of Earth
getPlayer().removeSkill(SkillTable.getInstance().getInfo(677, 1), false);
// Divine Warrior War Cry
getPlayer().removeSkill(SkillTable.getInstance().getInfo(678, 1), false, false);
// Sacrifice Warrior
getPlayer().removeSkill(SkillTable.getInstance().getInfo(679, 1), false, false);
// Divine Warrior Assault Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(798, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineWarrior());
}
}
@@ -0,0 +1,79 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DivineWizard extends L2Transformation
{
private static final int[] SKILLS = {692,693,694,695,696,697,5491,619};
public DivineWizard()
{
// id, colRadius, colHeight
super(256, 10, 26);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 256 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Divine Wizard Holy Flare
getPlayer().addSkill(SkillTable.getInstance().getInfo(692, 1), false);
// Divine Wizard Holy Strike
getPlayer().addSkill(SkillTable.getInstance().getInfo(693, 1), false);
// Divine Wizard Holy Curtain
getPlayer().addSkill(SkillTable.getInstance().getInfo(694, 1), false);
// Divine Wizard Holy Cloud
getPlayer().addSkill(SkillTable.getInstance().getInfo(695, 1), false);
// Divine Wizard Surrender to Holy
getPlayer().addSkill(SkillTable.getInstance().getInfo(696, 1), false);
// Sacrifice Wizard
getPlayer().addSkill(SkillTable.getInstance().getInfo(697, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Divine Wizard Holy Flare
getPlayer().removeSkill(SkillTable.getInstance().getInfo(692, 1), false);
// Divine Wizard Holy Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(693, 1), false);
// Divine Wizard Holy Curtain
getPlayer().removeSkill(SkillTable.getInstance().getInfo(694, 1), false);
// Divine Wizard Holy Cloud
getPlayer().removeSkill(SkillTable.getInstance().getInfo(695, 1), false);
// Divine Wizard Surrender to Holy
getPlayer().removeSkill(SkillTable.getInstance().getInfo(696, 1), false);
// Sacrifice Wizard
getPlayer().removeSkill(SkillTable.getInstance().getInfo(697, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DivineWizard());
}
}
@@ -0,0 +1,103 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DollBlader extends L2Transformation
{
private static final int[] SKILLS = {752,753,754,5491,619};
public DollBlader()
{
// id, colRadius, colHeight
super(7, 6, 12);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 7 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Doll Blader Clairvoyance
getPlayer().addSkill(SkillTable.getInstance().getInfo(754, 1), false);
if (getPlayer().getLevel() >= 76)
{
// Doll Blader Sting (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(752, 3), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(753, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Doll Blader Sting (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(752, 2), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(753, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Doll Blader Sting (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(752, 1), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(753, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Doll Blader Clairvoyance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(754, 1), false, false);
if (getPlayer().getLevel() >= 76)
{
// Doll Blader Sting (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(752, 3), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(753, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Doll Blader Sting (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(752, 2), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(753, 2), false);
}
else
{
// Doll Blader Sting (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(752, 1), false);
// Doll Blader Throwing Knife (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(753, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DollBlader());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DoomWraith extends L2Transformation
{
private static final int[] SKILLS = {586,587,588,589,5491,619};
public DoomWraith()
{
// id, colRadius, colHeight
super(2, 13, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 2 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Rolling Attack (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(586, 2), false);
// Earth Storm (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(587, 2), false);
// Curse of Darkness (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(588, 2), false);
// Darkness Energy Drain (up to 2 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(589, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Rolling Attack (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(586, 2), false);
// Earth Storm (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(587, 2), false);
// Curse of Darkness (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(588, 2), false);
// Darkness Energy Drain (up to 2 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(589, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DoomWraith());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DragonBomberNormal extends L2Transformation
{
private static final int[] SKILLS = {580,581,582,583,5491,619};
public DragonBomberNormal()
{
// id, colRadius, colHeight
super(217, 16, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 217 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Death Blow (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(580, 3), false);
// Sand Cloud (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(581, 3), false);
// Scope Bleed (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(582, 3), false);
// Assimilation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(583, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Death Blow (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(580, 3), false);
// Sand Cloud (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(581, 3), false);
// Scope Bleed (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(582, 3), false);
// Assimilation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(583, 3), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DragonBomberNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DragonBomberStrong extends L2Transformation
{
private static final int[] SKILLS = {580,581,582,583,5491,619};
public DragonBomberStrong()
{
// id, colRadius, colHeight
super(216, 16, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 216 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Death Blow (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(580, 4), false);
// Sand Cloud (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(581, 4), false);
// Scope Bleed (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(582, 4), false);
// Assimilation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(583, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Death Blow (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(580, 4), false);
// Sand Cloud (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(581, 4), false);
// Scope Bleed (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(582, 4), false);
// Assimilation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(583, 4), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DragonBomberStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DragonBomberWeak extends L2Transformation
{
private static final int[] SKILLS = {580,581,582,583,5491,619};
public DragonBomberWeak()
{
// id, colRadius, colHeight
super(218, 16, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 218 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Death Blow (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(580, 2), false);
// Sand Cloud (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(581, 2), false);
// Scope Bleed (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(582, 2), false);
// Assimilation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(583, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Death Blow (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(580, 2), false);
// Sand Cloud (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(581, 2), false);
// Scope Bleed (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(582, 2), false);
// Assimilation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(583, 2), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DragonBomberWeak());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DwarfGolem extends L2Transformation
{
private static final int[] SKILLS = {806,807,808,809,5491,619};
public DwarfGolem()
{
// id, colRadius, colHeight
super(259, 31, 51.8);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 259 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Magic Obstacle
getPlayer().addSkill(SkillTable.getInstance().getInfo(806, 1), false);
// Over-hit
getPlayer().addSkill(SkillTable.getInstance().getInfo(807, 1), false);
// Golem Punch
getPlayer().addSkill(SkillTable.getInstance().getInfo(808, 1), false);
// Golem Tornado Swing
getPlayer().addSkill(SkillTable.getInstance().getInfo(809, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Magic Obstacle
getPlayer().removeSkill(SkillTable.getInstance().getInfo(806, 1), false);
// Over-hit
getPlayer().removeSkill(SkillTable.getInstance().getInfo(807, 1), false);
// Golem Punch
getPlayer().removeSkill(SkillTable.getInstance().getInfo(808, 1), false);
// Golem Tornado Swing
getPlayer().removeSkill(SkillTable.getInstance().getInfo(809, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DwarfGolem());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class DwarfMercenary extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public DwarfMercenary()
{
// id, colRadius, colHeight
super(14, 8, 19);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 14 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new DwarfMercenary());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class ElfMercenary extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public ElfMercenary()
{
// id, colRadius, colHeight
super(11, 8, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 11 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new ElfMercenary());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class EpicQuestChild extends L2Transformation
{
private static final int[] SKILLS = { 5437, 960 };
public EpicQuestChild()
{
// id, colRadius, colHeight
super(112, 5, 12.3);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 112 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Race Running
getPlayer().addSkill(SkillTable.getInstance().getInfo(960, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Race Running
getPlayer().removeSkill(SkillTable.getInstance().getInfo(960, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new EpicQuestChild());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class EpicQuestFrog extends L2Transformation
{
private static final int[] SKILLS = { 5437, 959 };
public EpicQuestFrog()
{
// id, colRadius, colHeight
super(111, 20, 10);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 111 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Frog Jump
getPlayer().addSkill(SkillTable.getInstance().getInfo(959, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Frog Jump
getPlayer().removeSkill(SkillTable.getInstance().getInfo(959, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new EpicQuestFrog());
}
}
@@ -0,0 +1,56 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class EpicQuestNative extends L2Transformation
{
private static final int[] SKILLS = { 5437, 961 };
public EpicQuestNative()
{
// id, colRadius, colHeight
super(124, 8, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 124 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Swift Dash
getPlayer().addSkill(SkillTable.getInstance().getInfo(961, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 1), false);
// Swift Dash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(961, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new EpicQuestNative());
}
}
@@ -0,0 +1,87 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class FlyingFinalForm extends L2Transformation
{
private static final int[] SKILLS = {932,950,951,953,1544,1545,619};
public FlyingFinalForm()
{
// id, colRadius, colHeight
super(260, 9, 38);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 260 || getPlayer().isCursedWeaponEquipped())
return;
getPlayer().setIsFlyingMounted(true);
transformedSkills();
}
public void transformedSkills()
{
// Life to Soul
getPlayer().addSkill(SkillTable.getInstance().getInfo(953, 1), false);
// Soul Sucking
getPlayer().addSkill(SkillTable.getInstance().getInfo(1545, 1), false);
int lvl = getPlayer().getLevel() -78;
if (lvl > 0)
{
// Nail Attack (up to 7 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(950, lvl), false);
// Wing Assault (up to 7 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(951, lvl), false);
// Death Beam (up to 7 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(1544, lvl), false);
}
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
getPlayer().setIsFlyingMounted(false);
removeSkills();
}
public void removeSkills()
{
// Life to Soul
getPlayer().removeSkill(SkillTable.getInstance().getInfo(953, 1), false);
// Soul Sucking
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1545, 1), false);
int lvl = getPlayer().getLevel() -78;
if (lvl > 0)
{
// Nail Attack (up to 7 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(950, lvl), false);
// Wing Assault (up to 7 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(951, lvl), false);
// Death Beam (up to 7 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1544, lvl), false);
}
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new FlyingFinalForm());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class FortressCaptain extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public FortressCaptain()
{
// id, colRadius, colHeight
super(21, 10, 26.99);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 21 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new FortressCaptain());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GolemGuardianNormal extends L2Transformation
{
private static final int[] SKILLS = {572,573,574,575,5491,619};
public GolemGuardianNormal()
{
// id, colRadius, colHeight
super(211, 13, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 211 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(572, 3), false);
// Earthquake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(573, 3), false);
// Bomb Installation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(574, 3), false);
// Steel Cutter (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(575, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(572, 3), false);
// Earthquake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(573, 3), false);
// Bomb Installation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(574, 3), false);
// Steel Cutter (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(575, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GolemGuardianNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GolemGuardianStrong extends L2Transformation
{
private static final int[] SKILLS = {572,573,574,575,5491,619};
public GolemGuardianStrong()
{
// id, colRadius, colHeight
super(210, 13, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 210 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(572, 4), false);
// Earthquake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(573, 4), false);
// Bomb Installation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(574, 4), false);
// Steel Cutter (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(575, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(572, 4), false);
// Earthquake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(573, 4), false);
// Bomb Installation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(574, 4), false);
// Steel Cutter (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(575, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GolemGuardianStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GolemGuardianWeak extends L2Transformation
{
private static final int[] SKILLS = {572,573,574,575,5491,619};
public GolemGuardianWeak()
{
// id, colRadius, colHeight
super(212, 13, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 212 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(572, 2), false);
// Earthquake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(573, 2), false);
// Bomb Installation (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(574, 2), false);
// Steel Cutter (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(575, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Double Slasher (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(572, 2), false);
// Earthquake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(573, 2), false);
// Bomb Installation (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(574, 2), false);
// Steel Cutter (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(575, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GolemGuardianWeak());
}
}
@@ -0,0 +1,67 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Gordon extends L2Transformation
{
private static final int[] SKILLS = {728,729,730,5491,619};
public Gordon()
{
// id, colRadius, colHeight
super(308, 43, 46.6);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 308 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Gordon Beast Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(728, 1), false);
// Gordon Sword Stab
getPlayer().addSkill(SkillTable.getInstance().getInfo(729, 1), false);
// Gordon Press
getPlayer().addSkill(SkillTable.getInstance().getInfo(730, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Gordon Beast Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(728, 1), false);
// Gordon Sword Stab
getPlayer().removeSkill(SkillTable.getInstance().getInfo(729, 1), false);
// Gordon Press
getPlayer().removeSkill(SkillTable.getInstance().getInfo(730, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Gordon());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GrailApostleNormal extends L2Transformation
{
private static final int[] SKILLS = {559,560,561,562,5491,619};
public GrailApostleNormal()
{
// id, colRadius, colHeight
super(202, 10, 35);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 202 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Spear (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(559, 3), false);
// Power Slash (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(560, 3), false);
// Bless of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(561, 3), false);
// Wind of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(562, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Spear (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(559, 3), false);
// Power Slash (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(560, 3), false);
// Bless of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(561, 3), false, false);
// Wind of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(562, 3), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GrailApostleNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GrailApostleStrong extends L2Transformation
{
private static final int[] SKILLS = {559,560,561,562,5491,619};
public GrailApostleStrong()
{
// id, colRadius, colHeight
super(201, 10, 35);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 201 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Spear (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(559, 4), false);
// Power Slash (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(560, 4), false);
// Bless of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(561, 4), false);
// Wind of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(562, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Spear (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(559, 4), false);
// Power Slash (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(560, 4), false);
// Bless of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(561, 4), false, false);
// Wind of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(562, 4), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GrailApostleStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GrailApostleWeak extends L2Transformation
{
private static final int[] SKILLS = {559,560,561,562,5491,619};
public GrailApostleWeak()
{
// id, colRadius, colHeight
super(203, 10, 35);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 203 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Spear (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(559, 2), false);
// Power Slash (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(560, 2), false);
// Bless of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(561, 2), false);
// Wind of Angel (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(562, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Spear (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(559, 2), false);
// Power Slash (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(560, 2), false);
// Bless of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(561, 2), false, false);
// Wind of Angel (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(562, 2), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GrailApostleWeak());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GrizzlyBear extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public GrizzlyBear()
{
// id, colRadius, colHeight
super(320, 21, 40);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 320 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GrizzlyBear());
}
}
@@ -0,0 +1,51 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GuardianStrider extends L2Transformation
{
private static final int[] SKILLS = {839};
public GuardianStrider()
{
// id, colRadius, colHeight
super(123, 13, 40);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 123 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Dismount
getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Dismount
getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GuardianStrider());
}
}
@@ -0,0 +1,59 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class GuardsoftheDawn extends L2Transformation
{
private static final int[] SKILLS = {5491,619,963};
public GuardsoftheDawn()
{
// id, colRadius, colHeight
super(113, 8, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 113 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
// Guard Ambush
getPlayer().addSkill(SkillTable.getInstance().getInfo(963, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
// Guard's Ambush
getPlayer().removeSkill(SkillTable.getInstance().getInfo(963, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new GuardsoftheDawn());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class HeavyTow extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public HeavyTow()
{
// id, colRadius, colHeight
super(119, 4.4, 8.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 119 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new HeavyTow());
}
}
@@ -0,0 +1,121 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Heretic extends L2Transformation
{
private static final int[] SKILLS = {738,739,740,741,5491,619};
public Heretic()
{
// id, colRadius, colHeight
super(3, 7.7, 28.4);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 3 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Heretic Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(738, 3), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(739, 3), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(740, 3), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(741, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Heretic Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(738, 2), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(739, 2), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(740, 2), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(741, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Heretic Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(738, 1), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(739, 1), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(740, 1), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(741, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Heretic Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(738, 3), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(739, 3), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(740, 3), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(741, 3), false, false);
}
else if (getPlayer().getLevel() >= 73)
{
// Heretic Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(738, 2), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(739, 2), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(740, 2), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(741, 2), false, false);
}
else
{
// Heretic Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(738, 1), false);
// Heretic Battle Heal (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(739, 1), false);
// Heretic Resurrection (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(740, 1), false);
// Heretic Heal Side Effect (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(741, 1), false, false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Heretic());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class HumanMercenary extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public HumanMercenary()
{
// id, colRadius, colHeight
super(10, 8, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 10 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new HumanMercenary());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InfernoDrakeNormal extends L2Transformation
{
private static final int[] SKILLS = {619,5491,576,577,578,579};
public InfernoDrakeNormal()
{
// id, colRadius, colHeight
super(214, 15, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 214 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(576, 3), false);
// Fire Breath (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(577, 3), false);
// Blaze Quake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(578, 3), false);
// Fire Armor (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(579, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(576, 3), false);
// Fire Breath (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(577, 3), false);
// Blaze Quake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(578, 3), false);
// Fire Armor (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(579, 3), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InfernoDrakeNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InfernoDrakeStrong extends L2Transformation
{
private static final int[] SKILLS = {576,577,578,579,5491,619};
public InfernoDrakeStrong()
{
// id, colRadius, colHeight
super(213, 15, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 213 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(576, 4), false);
// Fire Breath (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(577, 4), false);
// Blaze Quake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(578, 4), false);
// Fire Armor (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(579, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(576, 4), false);
// Fire Breath (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(577, 4), false);
// Blaze Quake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(578, 4), false);
// Fire Armor (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(579, 4), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InfernoDrakeStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InfernoDrakeWeak extends L2Transformation
{
private static final int[] SKILLS = {576,577,578,579,5491,619};
public InfernoDrakeWeak()
{
// id, colRadius, colHeight
super(215, 15, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 215 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(576, 2), false);
// Fire Breath (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(577, 2), false);
// Blaze Quake (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(578, 2), false);
// Fire Armor (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(579, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Paw Strike (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(576, 2), false);
// Fire Breath (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(577, 2), false);
// Blaze Quake (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(578, 2), false);
// Fire Armor (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(579, 2), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InfernoDrakeWeak());
}
}
@@ -0,0 +1,74 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InquisitorBishop extends L2Transformation
{
public InquisitorBishop()
{
// id
super(316);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 316 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().addSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().addSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Surrender to the Holy
getPlayer().addSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().addSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{838,1523,1528,1524,1525,1430,1043,1042,1400,1418});
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Surrender to the Holy
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InquisitorBishop());
}
}
@@ -0,0 +1,74 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InquisitorElvenElder extends L2Transformation
{
public InquisitorElvenElder()
{
// id
super(317);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 317 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().addSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().addSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Surrender to the Holy
getPlayer().addSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().addSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{838,1523,1528,1524,1525,1430,1043,1400,1303});
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Surrender to the Holy
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InquisitorElvenElder());
}
}
@@ -0,0 +1,78 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class InquisitorShilienElder extends L2Transformation
{
public InquisitorShilienElder()
{
// id
super(318);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 318 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().addSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().addSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Holy Weapon
getPlayer().addSkill(SkillTable.getInstance().getInfo(1043, 1), false);
// Surrender to the Holy
getPlayer().addSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().addSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{838,1523,1528,1524,1525,1430,1303,1059,1043});
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 43)
lvl = (getPlayer().getLevel() - 43);
// Divine Punishment
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1523, lvl), false);
// Divine Flash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1528, lvl), false);
// Holy Weapon
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1043, 1), false, false);
// Surrender to the Holy
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1524, lvl), false);
// Divine Curse
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1525, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new InquisitorShilienElder());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class JetBike extends L2Transformation
{
private static final int[] SKILLS = {5491,839};
public JetBike()
{
// id, colRadius, colHeight
super(20001, 21.5, 27);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 20001 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new JetBike());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Kadomas extends L2Transformation
{
private static final int[] SKILLS = {23154,619};
public Kadomas()
{
// id, colRadius, colHeight
super(20000, 24.5, 14);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 20000 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
//Kadomas Special Skill - Fireworks
getPlayer().addSkill(SkillTable.getInstance().getInfo(23154, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
//Kadomas Special Skill - Fireworks
getPlayer().removeSkill(SkillTable.getInstance().getInfo(23154, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Kadomas());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Kamael extends L2Transformation
{
private static final int[] SKILLS = {539,540,1471,1472,5491,619};
public Kamael()
{
// id, duration (secs), colRadius, colHeight
super(251, 9, 38);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 251 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Nail Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(539, 1), false);
// Wing Assault
getPlayer().addSkill(SkillTable.getInstance().getInfo(540, 1), false);
// Soul Sucking
getPlayer().addSkill(SkillTable.getInstance().getInfo(1471, 1), false);
// Death Beam
getPlayer().addSkill(SkillTable.getInstance().getInfo(1472, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Nail Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(539, 1), false);
// Wing Assault
getPlayer().removeSkill(SkillTable.getInstance().getInfo(540, 1), false);
// Soul Sucking
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1471, 1), false);
// Death Beam
getPlayer().removeSkill(SkillTable.getInstance().getInfo(1472, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Kamael());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class KamaelGuardCaptain extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public KamaelGuardCaptain()
{
// id, colRadius, colHeight
super(19, 13, 22.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 19 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new KamaelGuardCaptain());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class KamaelMercenary extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public KamaelMercenary()
{
// id, colRadius, colHeight
super(15, 13, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 15 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new KamaelMercenary());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Kiyachi extends L2Transformation
{
private static final int[] SKILLS = {733,734,5491,619};
public Kiyachi()
{
// id, colRadius, colHeight
super(310, 12, 29);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 310 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Kechi Double Cutter
getPlayer().addSkill(SkillTable.getInstance().getInfo(733, 1), false);
// Kechi Air Blade
getPlayer().addSkill(SkillTable.getInstance().getInfo(734, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Kechi Double Cutter
getPlayer().removeSkill(SkillTable.getInstance().getInfo(733, 1), false);
// Kechi Air Blade
getPlayer().removeSkill(SkillTable.getInstance().getInfo(734, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Kiyachi());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class KnightofDawn extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public KnightofDawn()
{
// id, colRadius, colHeight
super(20, 12, 24.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 20 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new KnightofDawn());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LavaGolem extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public LavaGolem()
{
// id, colRadius, colHeight
super(322, 22, 45);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 322 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LavaGolem());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LightPurpleManedHorse extends L2Transformation
{
private static final int[] SKILLS = {5491,839};
public LightPurpleManedHorse()
{
// id, colRadius, colHeight
super(106, 31, 32.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 106 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LightPurpleManedHorse());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LilimKnightNormal extends L2Transformation
{
private static final int[] SKILLS = {568,569,570,571,5491,619};
public LilimKnightNormal()
{
// id, colRadius, colHeight
super(208, 12, 25.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 208 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(568, 3), false);
// Attack Storm (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(569, 3), false);
// Attack Rage (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(570, 3), false);
// Poison Dust (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(571, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(568, 3), false);
// Attack Storm (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(569, 3), false);
// Attack Rage (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(570, 3), false);
// Poison Dust (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(571, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LilimKnightNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LilimKnightStrong extends L2Transformation
{
private static final int[] SKILLS = {568,569,570,571,5491,619};
public LilimKnightStrong()
{
// id, colRadius, colHeight
super(207, 12, 25.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 207 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(568, 4), false);
// Attack Storm (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(569, 4), false);
// Attack Rage (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(570, 4), false);
// Poison Dust (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(571, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(568, 4), false);
// Attack Storm (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(569, 4), false);
// Attack Rage (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(570, 4), false);
// Poison Dust (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(571, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LilimKnightStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LilimKnightWeak extends L2Transformation
{
private static final int[] SKILLS = {568,569,570,571,5491,619};
public LilimKnightWeak()
{
// id, colRadius, colHeight
super(209, 12, 25.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 209 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(568, 2), false);
// Attack Storm (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(569, 2), false);
// Attack Rage (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(570, 2), false);
// Poison Dust (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(571, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Attack Buster (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(568, 2), false);
// Attack Storm (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(569, 2), false);
// Attack Rage (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(570, 2), false);
// Poison Dust (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(571, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LilimKnightWeak());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class LureTow extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public LureTow()
{
// id, colRadius, colHeight
super(118, 4.4, 8.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 118 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new LureTow());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class MagicLeader extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public MagicLeader()
{
// id, colRadius, colHeight
super(18, 9, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 18 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new MagicLeader());
}
}
@@ -0,0 +1,81 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
/*
* TODO: Skill levels. How do they work? Transformation is given at level 83, there are 6 levels of the skill. How are they assigned? Based on player level somehow? Based on servitor?
*/
public class MyoRace extends L2Transformation
{
private static final int[] SKILLS = {896,897,898,899,900,5491,619};
public MyoRace()
{
// id, colRadius, colHeight
super(219, 10, 23);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 219 || getPlayer().isCursedWeaponEquipped())
return;
if (getPlayer().getPet() != null)
getPlayer().getPet().unSummon(getPlayer());
transformedSkills();
}
public void transformedSkills()
{
// Rolling Step (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(896, 4), false);
// Double Blast (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(897, 4), false);
// Tornado Slash (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(898, 4), false);
// Cat Roar (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(899, 4), false);
// Energy Blast (up to 6)
getPlayer().addSkill(SkillTable.getInstance().getInfo(900, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Rolling Step (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(896, 4), false);
// Double Blast (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(897, 4), false);
// Tornado Slash (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(898, 4), false);
// Cat Roar (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(899, 4), false);
// Energy Blast (up to 6)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(900, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new MyoRace());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Native extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public Native()
{
// id, colRadius, colHeight
super(101, 8, 23.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 101 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Native());
}
}
@@ -0,0 +1,105 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class OlMahum extends L2Transformation
{
private static final int[] SKILLS = {749,750,751,5491,619};
public OlMahum()
{
// id, colRadius, colHeight
super(6, 23, 61);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 6 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 3), false);
// Oel Mahum Ultimate Defense
getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 2), false);
// Oel Mahum Ultimate Defense
getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 1), false);
// Oel Mahum Ultimate Defense
getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 3), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 2), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Oel Mahum Stun Attack (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 1), false);
// Oel Mahum Arm Flourish (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 1), false);
}
// Oel Mahum Ultimate Defense
getPlayer().removeSkill(SkillTable.getInstance().getInfo(750, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new OlMahum());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class OnyxBeast extends L2Transformation
{
private static final int[] SKILLS = {584,585,5491,619};
public OnyxBeast()
{
// id, colRadius, colHeight
super(1, 14, 14.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 1 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Power Claw
getPlayer().addSkill(SkillTable.getInstance().getInfo(584, 1), false);
// Fast Moving
getPlayer().addSkill(SkillTable.getInstance().getInfo(585, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Power Claw
getPlayer().removeSkill(SkillTable.getInstance().getInfo(584, 1), false);
// Fast Moving
getPlayer().removeSkill(SkillTable.getInstance().getInfo(585, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new OnyxBeast());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class OrcMercenary extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public OrcMercenary()
{
// id, colRadius, colHeight
super(13, 8, 27);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 13 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new OrcMercenary());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Pig extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public Pig()
{
// id, colRadius, colHeight
super(104, 15, 18.3);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 104 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Pig());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Pixy extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public Pixy()
{
// id, colRadius, colHeight
super(304, 5, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 304 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Pixy());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class PumpkinGhost extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public PumpkinGhost()
{
// id, colRadius, colHeight
super(108, 12, 18);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 108 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new PumpkinGhost());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Rabbit extends L2Transformation
{
private static final int[] SKILLS = {629,630,5491,619};
public Rabbit()
{
// id, colRadius, colHeight
super(105, 5, 4.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 105 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Rabbit Magic Eye
getPlayer().addSkill(SkillTable.getInstance().getInfo(629, 1), false);
// Rabbit Tornado
getPlayer().addSkill(SkillTable.getInstance().getInfo(630, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Rabbit Magic Eye
getPlayer().removeSkill(SkillTable.getInstance().getInfo(629, 1), false);
// Rabbit Tornado
getPlayer().removeSkill(SkillTable.getInstance().getInfo(630, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Rabbit());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Ranku extends L2Transformation
{
private static final int[] SKILLS = {731,732,5491,619};
public Ranku()
{
// id, colRadius, colHeight
super(309, 13, 29);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 309 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Ranku Dark Explosion
getPlayer().addSkill(SkillTable.getInstance().getInfo(731, 1), false);
// Ranku Stun Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(732, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Ranku Dark Explosion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(731, 1), false);
// Ranku Stun Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(732, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Ranku());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class RoyalGuardCaptain extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public RoyalGuardCaptain()
{
// id, colRadius, colHeight
super(16, 8, 24);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 16 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new RoyalGuardCaptain());
}
}
@@ -0,0 +1,101 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class SaberToothTiger extends L2Transformation
{
private static final int[] SKILLS = {746,747,748,5491,619};
public SaberToothTiger()
{
// id, colRadius, colHeight
super(5, 34, 28);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 5 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(746, 3), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(747, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(746, 2), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(747, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(746, 1), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(747, 1), false);
}
// Saber Tooth Tiger Sprint
getPlayer().addSkill(SkillTable.getInstance().getInfo(748, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(746, 3), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(747, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(746, 2), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(747, 2), false);
}
else
{
// Saber Tooth Tiger Bite (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(746, 1), false);
// Saber Tooth Tiger Fear (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(747, 1), false);
}
// Saber Tooth Tiger Sprint
getPlayer().removeSkill(SkillTable.getInstance().getInfo(748, 1), false, false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new SaberToothTiger());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Scarecrow extends L2Transformation
{
private static final int[] SKILLS = {940,942,5437,619};
public Scarecrow()
{
// id, colRadius, colHeight
super(115, 13, 30);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 115 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Fake Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().addSkill(SkillTable.getInstance().getInfo(942, 1), false);
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Fake Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(942, 1), false);
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Scarecrow());
}
}
@@ -0,0 +1,69 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
/**
* TODO: Buffs disappear once you get transformed, but reappear after the transformed state wears off.
* Skills involved in the minigame but are not assigned directly to players:
* Flip Nearby Blocks - 5847 - For Flip Block, there are two skills, one for each side (makes sense). For this, there is only one skill. Thus it is probably not assigned to the transformation.
* Block Trigger Slow - 5848 - This may be assigned to players, unsure.
* Decrease Speed - 5849 - This is possibly assigned to all players to set all players to the same running speed for the duration of the game.
* Block Trigger Stun - 5849 - From L2Vault: "The squares gives drops of "bond" and "landmine". I wasn't able to figure out what the bond did as it wasn't anything that seemed to go into your inventory. However, Landmine did appear in your inventory which allows you to use it before flipping a square which will give the other team a state of stun when they attempt to flip the same square (from what I can gather, it all happens so quickly ;) "
* Shock - 5851 - Stun effect from 5849
* More Info: http://l2vault.ign.com/wiki/index.php/Handy%E2%80%99s_Block_Checker
*/
public class ScrollBlue extends L2Transformation
{
private static final int[] SKILLS = {5852,5491,619};
public ScrollBlue()
{
// id, colRadius, colHeight
super(122, 9, 28.3);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 122 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Flip Block
getPlayer().addSkill(SkillTable.getInstance().getInfo(5852, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
//getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Flip Block
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5852, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
//getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new ScrollBlue());
}
}
@@ -0,0 +1,69 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
/**
* TODO: Buffs disappear once you get transformed, but reappear after the transformed state wears off.
* Skills involved in the minigame but are not assigned directly to players:
* Flip Nearby Blocks - 5847 - For Flip Block, there are two skills, one for each side (makes sense). For this, there is only one skill. Thus it is probably not assigned to the transformation.
* Block Trigger Slow - 5848 - This may be assigned to players, unsure.
* Decrease Speed - 5849 - This is possibly assigned to all players to set all players to the same running speed for the duration of the game.
* Block Trigger Stun - 5849 - From L2Vault: "The squares gives drops of "bond" and "landmine". I wasn't able to figure out what the bond did as it wasn't anything that seemed to go into your inventory. However, Landmine did appear in your inventory which allows you to use it before flipping a square which will give the other team a state of stun when they attempt to flip the same square (from what I can gather, it all happens so quickly ;) "
* Shock - 5851 - Stun effect from 5849
* More Info: http://l2vault.ign.com/wiki/index.php/Handy%E2%80%99s_Block_Checker
*/
public class ScrollRed extends L2Transformation
{
private static final int[] SKILLS = {5853,5491,619};
public ScrollRed()
{
// id, colRadius, colHeight
super(121, 9, 28.3);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 121 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Flip Block
getPlayer().addSkill(SkillTable.getInstance().getInfo(5853, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
//getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Flip Block
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5853, 1), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
//getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new ScrollRed());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class SnowKung extends L2Transformation
{
private static final int[] SKILLS = {940,943,5437,619};
public SnowKung()
{
// id, colRadius, colHeight
super(114, 28, 30);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 114 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Fake Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().addSkill(SkillTable.getInstance().getInfo(943, 1), false);
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Fake Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(943, 1), false);
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new SnowKung());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class SteamBeatle extends L2Transformation
{
private static final int[] SKILLS = {5491,839};
public SteamBeatle()
{
// id, colRadius, colHeight
super(110, 40, 27.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 110 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new SteamBeatle());
}
}
@@ -0,0 +1,52 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class SujinChild extends L2Transformation
{
private static final int[] SKILLS = new int[]{619};
public SujinChild()
{
// id, colRadius, colHeight
super(20003, 10, 11.00);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 20003 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new SujinChild());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class TawnyManedLion extends L2Transformation
{
private static final int[] SKILLS = {5491,839};
public TawnyManedLion()
{
// id, colRadius, colHeight
super(109, 25, 22.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 109 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().addSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Dismount
getPlayer().removeSkill(SkillTable.getInstance().getInfo(839, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new TawnyManedLion());
}
}
@@ -0,0 +1,83 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Teleporter extends L2Transformation
{
private static final int[] SKILLS = {5656,5657,5658,5491,8248};
public Teleporter()
{
// id, colRadius, colHeight
super(319, 8, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 319 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
/*
Commented out until we figure out how to remove the skills properly.
What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up?
Then when we untransform, the script will look for the level 41 version of the skill, right?
Or will it still remove the level 40 skill? Needs to be tested.
// Gatekeeper Aura Flare
getPlayer().addSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false);
// Gatekeeper Prominence
getPlayer().addSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
// Gatekeeper Flame Strike
getPlayer().addSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false);
// Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?)
getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 1), false);
*/
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Cancel Gatekeeper Transformation
getPlayer().addSkill(SkillTable.getInstance().getInfo(8248, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
/*
Commented out until we figure out how to remove the skills properly.
What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up?
Then when we untransform, the script will look for the level 41 version of the skill, right?
Or will it still remove the level 40 skill? Needs to be tested.
// Gatekeeper Aura Flare
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false);
// Gatekeeper Prominence
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
// Gatekeeper Flame Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false);
// Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659, 1), false);
*/
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Cancel Gatekeeper Transformation
getPlayer().removeSkill(SkillTable.getInstance().getInfo(8248, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Teleporter());
}
}
@@ -0,0 +1,83 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Teleporter2 extends L2Transformation
{
private static final int[] SKILLS = {5656,5657,5658,5491,8248};
public Teleporter2()
{
// id, colRadius, colHeight
super(107, 8, 25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 107 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
/*
Commented out until we figure out how to remove the skills properly.
What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up?
Then when we untransform, the script will look for the level 41 version of the skill, right?
Or will it still remove the level 40 skill? Needs to be tested.
// Gatekeeper Aura Flare
getPlayer().addSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false);
// Gatekeeper Prominence
getPlayer().addSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
// Gatekeeper Flame Strike
getPlayer().addSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false);
// Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?)
getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 1), false);
*/
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Cancel Gatekeeper Transformation
getPlayer().addSkill(SkillTable.getInstance().getInfo(8248, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
/*
Commented out until we figure out how to remove the skills properly.
What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up?
Then when we untransform, the script will look for the level 41 version of the skill, right?
Or will it still remove the level 40 skill? Needs to be tested.
// Gatekeeper Aura Flare
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false);
// Gatekeeper Prominence
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
// Gatekeeper Flame Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false);
// Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659, 1), false);
*/
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Cancel Gatekeeper Transformation
getPlayer().removeSkill(SkillTable.getInstance().getInfo(8248, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Teleporter2());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Timitran extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public Timitran()
{
// id, colRadius, colHeight
super(321, 23, 90);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 321 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Timitran());
}
}
@@ -0,0 +1,63 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class TinGolem extends L2Transformation
{
private static final int[] SKILLS = {940,941,5437,619};
public TinGolem()
{
// id, colRadius, colHeight
super(116, 13, 18.5);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 116 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Fake Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().addSkill(SkillTable.getInstance().getInfo(941, 1), false);
// Dissonance
getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Fake Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(940, 1), false);
// Special Motion
getPlayer().removeSkill(SkillTable.getInstance().getInfo(941, 1), false);
// Dissonance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 2), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new TinGolem());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Tow extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public Tow()
{
// id, colRadius, colHeight
super(117, 4.4, 8.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 117 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Tow());
}
}
@@ -0,0 +1,52 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class TrejuoChild extends L2Transformation
{
private static final int[] SKILLS = new int[]{619};
public TrejuoChild()
{
// id, colRadius, colHeight
super(20002, 10, 13.00);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 20002 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new TrejuoChild());
}
}
@@ -0,0 +1,52 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class Treykan extends L2Transformation
{
private static final int[] SKILLS = new int[]{619};
public Treykan()
{
// id, colRadius, colHeight
super(126, 25, 27.00);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 126 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Treykan());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class UnicornNormal extends L2Transformation
{
private static final int[] SKILLS = {563,564,565,567,5491,619};
public UnicornNormal()
{
// id, colRadius, colHeight
super(205, 15, 28);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 205 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(563, 3), false);
// Gravity Control (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(564, 3), false);
// Horn Assault (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(565, 3), false);
// Light of Heal (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(567, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(563, 3), false);
// Gravity Control (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(564, 3), false);
// Horn Assault (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(565, 3), false);
// Light of Heal (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(567, 3), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new UnicornNormal());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class UnicornStrong extends L2Transformation
{
private static final int[] SKILLS = {563,564,565,567,5491,619};
public UnicornStrong()
{
// id, colRadius, colHeight
super(204, 15, 28);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 204 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(563, 4), false);
// Gravity Control (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(564, 4), false);
// Horn Assault (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(565, 4), false);
// Light of Heal (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(567, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(563, 4), false);
// Gravity Control (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(564, 4), false);
// Horn Assault (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(565, 4), false);
// Light of Heal (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(567, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new UnicornStrong());
}
}
@@ -0,0 +1,71 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class UnicornWeak extends L2Transformation
{
private static final int[] SKILLS = {563,564,565,567,5491,619};
public UnicornWeak()
{
// id, colRadius, colHeight
super(206, 15, 28);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 206 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(563, 2), false);
// Gravity Control (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(564, 2), false);
// Horn Assault (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(565, 2), false);
// Light of Heal (up to 4 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(567, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Horn of Doom (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(563, 2), false);
// Gravity Control (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(564, 2), false);
// Horn Assault (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(565, 2), false);
// Light of Heal (up to 4 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(567, 2), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new UnicornWeak());
}
}
@@ -0,0 +1,81 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
/*
* TODO: Skill levels. How do they work? Transformation is given at level 83, there are 6 levels of the skill. How are they assigned? Based on player level somehow? Based on servitor?
*/
public class Unicorniun extends L2Transformation
{
private static final int[] SKILLS = {906,907,908,909,910,5491,619};
public Unicorniun()
{
// id, colRadius, colHeight
super(220, 8, 30);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 220 || getPlayer().isCursedWeaponEquipped())
return;
if (getPlayer().getPet() != null)
getPlayer().getPet().unSummon(getPlayer());
transformedSkills();
}
public void transformedSkills()
{
// Lance Step (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(906, 4), false);
// Aqua Blast (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(907, 4), false);
// Spin Slash (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(908, 4), false);
// Ice Focus (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(909, 4), false);
// Water Jet (up to 6 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(910, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Lance Step (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(906, 4), false);
// Aqua Blast (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(907, 4), false);
// Spin Slash (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(908, 4), false);
// Ice Focus (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(909, 4), false);
// Water Jet (up to 6 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(910, 4), false);
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new Unicorniun());
}
}
@@ -0,0 +1,121 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class ValeMaster extends L2Transformation
{
private static final int[] SKILLS = {742,743,744,745,5491,619};
public ValeMaster()
{
// id, colRadius, colHeight
super(4, 12, 40);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 4 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 3), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 3), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 3), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 2), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 2), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 2), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 2), false);
}
else if (getPlayer().getLevel() >= 70)
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 1), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 1), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 1), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
if (getPlayer().getLevel() >= 76)
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 3), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 3), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 3), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 3), false);
}
else if (getPlayer().getLevel() >= 73)
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 2), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 2), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 2), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 2), false);
}
else
{
// Vale Master Bursting Flame (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 1), false);
// Vale Master Dark Explosion (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 1), false);
// Vale Master Dark Flare (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 1), false);
// Vale Master Dark Cure (up to 3 levels)
getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 1), false);
}
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new ValeMaster());
}
}
@@ -0,0 +1,78 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class VanguardDarkAvenger extends L2Transformation
{
public VanguardDarkAvenger()
{
// id
super(313);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 313 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Dual Weapon Mastery
getPlayer().addSkill(SkillTable.getInstance().getInfo(144, lvl), false);
// Blade Hurricane
getPlayer().addSkill(SkillTable.getInstance().getInfo(815, lvl), false);
// Double Strike
getPlayer().addSkill(SkillTable.getInstance().getInfo(817, lvl), false);
// Boost Morale
getPlayer().addSkill(SkillTable.getInstance().getInfo(956, lvl), false);
// Triple Blade Slash
getPlayer().addSkill(SkillTable.getInstance().getInfo(958, lvl), false);
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{18,28,65,86,144,283,815,817,838,956,958,401});
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Dual Weapon Mastery
getPlayer().removeSkill(SkillTable.getInstance().getInfo(144, lvl), false);
// Blade Hurricane
getPlayer().removeSkill(SkillTable.getInstance().getInfo(815, lvl), false);
// Double Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(817, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
// Boost Morale
getPlayer().removeSkill(SkillTable.getInstance().getInfo(956, lvl), false, false);
// Triple Blade Slash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(958, lvl), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new VanguardDarkAvenger());
}
}
@@ -0,0 +1,78 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class VanguardPaladin extends L2Transformation
{
public VanguardPaladin()
{
// id
super(312);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 312 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Two handed mastery
getPlayer().addSkill(SkillTable.getInstance().getInfo(293, lvl), false);
// Full Swing
getPlayer().addSkill(SkillTable.getInstance().getInfo(814, lvl), false);
// Power Divide
getPlayer().addSkill(SkillTable.getInstance().getInfo(816, lvl), false);
// Boost Morale
getPlayer().addSkill(SkillTable.getInstance().getInfo(956, lvl), false);
// Guillotine Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(957, lvl), false);
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{18,28,196,197,293,400,406,814,816,838,956,957});
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Two handed mastery
getPlayer().removeSkill(SkillTable.getInstance().getInfo(293, lvl), false);
// Full Swing
getPlayer().removeSkill(SkillTable.getInstance().getInfo(814, lvl), false);
// Power Divide
getPlayer().removeSkill(SkillTable.getInstance().getInfo(816, lvl), false);
// Boost Morale
getPlayer().removeSkill(SkillTable.getInstance().getInfo(956, lvl), false, false);
// Guillotine Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(957, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new VanguardPaladin());
}
}
@@ -0,0 +1,78 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class VanguardShilienKnight extends L2Transformation
{
public VanguardShilienKnight()
{
// id
super(315);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 315 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Dual Weapon Mastery
getPlayer().addSkill(SkillTable.getInstance().getInfo(144, lvl), false);
// Blade Hurricane
getPlayer().addSkill(SkillTable.getInstance().getInfo(815, lvl), false);
// Double Strike
getPlayer().addSkill(SkillTable.getInstance().getInfo(817, lvl), false);
// Boost Morale
getPlayer().addSkill(SkillTable.getInstance().getInfo(956, lvl), false);
// Triple Blade Slash
getPlayer().addSkill(SkillTable.getInstance().getInfo(958, lvl), false);
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{18,22,28,33,144,278,279,289,401,815,817,838,956,958});
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Dual Weapon Mastery
getPlayer().removeSkill(SkillTable.getInstance().getInfo(144, lvl), false);
// Blade Hurricane
getPlayer().removeSkill(SkillTable.getInstance().getInfo(815, lvl), false);
// Double Strike
getPlayer().removeSkill(SkillTable.getInstance().getInfo(817, lvl), false);
// Boost Morale
getPlayer().removeSkill(SkillTable.getInstance().getInfo(956, lvl), false, false);
// Triple Blade Slash
getPlayer().removeSkill(SkillTable.getInstance().getInfo(958, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new VanguardShilienKnight());
}
}
@@ -0,0 +1,78 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class VanguardTempleKnight extends L2Transformation
{
public VanguardTempleKnight()
{
// id
super(314);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 314 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Two handed mastery
getPlayer().addSkill(SkillTable.getInstance().getInfo(293, lvl), false);
// Full Swing
getPlayer().addSkill(SkillTable.getInstance().getInfo(814, lvl), false);
// Power Divide
getPlayer().addSkill(SkillTable.getInstance().getInfo(816, lvl), false);
// Boost Morale
getPlayer().addSkill(SkillTable.getInstance().getInfo(956, lvl), false);
// Guillotine Attack
getPlayer().addSkill(SkillTable.getInstance().getInfo(957, lvl), false);
// Switch Stance
getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
// Set allowed skills
getPlayer().setTransformAllowedSkills(new int[]{10,18,28,67,197,293,400,449,814,816,838,956,957});
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
int lvl = 1;
if (getPlayer().getLevel() > 42)
lvl = (getPlayer().getLevel() - 42);
// Two handed mastery
getPlayer().removeSkill(SkillTable.getInstance().getInfo(293, lvl), false);
// Full Swing
getPlayer().removeSkill(SkillTable.getInstance().getInfo(814, lvl), false);
// Power Divide
getPlayer().removeSkill(SkillTable.getInstance().getInfo(816, lvl), false);
// Boost Morale
getPlayer().removeSkill(SkillTable.getInstance().getInfo(956, lvl), false, false);
// Guillotine Attack
getPlayer().removeSkill(SkillTable.getInstance().getInfo(957, lvl), false);
// Switch Stance
getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new VanguardTempleKnight());
}
}
@@ -0,0 +1,55 @@
package transformations;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.model.L2Transformation;
public class WingTow extends L2Transformation
{
private static final int[] SKILLS = {5491,619};
public WingTow()
{
// id, colRadius, colHeight
super(120, 4.4, 8.25);
}
@Override
public void onTransform()
{
if (getPlayer().getTransformationId() != 120 || getPlayer().isCursedWeaponEquipped())
return;
transformedSkills();
}
public void transformedSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(SKILLS);
}
@Override
public void onUntransform()
{
removeSkills();
}
public void removeSkills()
{
// Decrease Bow/Crossbow Attack Speed
getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
// Transform Dispel
getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
}
public static void main(String[] args)
{
TransformationManager.getInstance().registerTransformation(new WingTow());
}
}

Some files were not shown because too many files have changed in this diff Show More