diff --git a/.gitignore b/.gitignore index ea8c4bf7f..56fca1436 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +/generated diff --git a/data/script/template/script/template/character/AbstractCharacterTemplate.java b/data/script/template/script/template/character/AbstractCharacterTemplate.java index 0ab9cb5b7..b6d77f5ea 100644 --- a/data/script/template/script/template/character/AbstractCharacterTemplate.java +++ b/data/script/template/script/template/character/AbstractCharacterTemplate.java @@ -4,7 +4,7 @@ import com.l2jserver.model.id.template.CharacterTemplateID; import com.l2jserver.model.template.CharacterTemplate; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; public abstract class AbstractCharacterTemplate extends CharacterTemplate { protected AbstractCharacterTemplate(CharacterTemplateID id, @@ -13,7 +13,7 @@ public abstract class AbstractCharacterTemplate extends CharacterTemplate { int physicalAttack, int magicalAttack, int physicalDefense, int magicalDefense, int attackSpeed, int castSpeed, int accuracy, int criticalChance, int evasionChance, int moveSpeed, - int maxWeigth, boolean craft, Coordinate spawnLocation) { + int maxWeigth, boolean craft, Point spawnLocation) { super(id, characterClass, intelligence, strength, concentration, mentality, dexterity, witness, physicalAttack, magicalAttack, physicalDefense, magicalDefense, attackSpeed, castSpeed, diff --git a/data/script/template/script/template/character/AbstractDarkElfCharacterTemplate.java b/data/script/template/script/template/character/AbstractDarkElfCharacterTemplate.java new file mode 100644 index 000000000..3bd23e3ad --- /dev/null +++ b/data/script/template/script/template/character/AbstractDarkElfCharacterTemplate.java @@ -0,0 +1,30 @@ +package script.template.character; + +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public abstract class AbstractDarkElfCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractDarkElfCharacterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + false, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AbstractDwarfCharacterTemplate.java b/data/script/template/script/template/character/AbstractDwarfCharacterTemplate.java new file mode 100644 index 000000000..b3f0d37cf --- /dev/null +++ b/data/script/template/script/template/character/AbstractDwarfCharacterTemplate.java @@ -0,0 +1,30 @@ +package script.template.character; + +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public abstract class AbstractDwarfCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractDwarfCharacterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + false, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/HumanCharacterTemplate.java b/data/script/template/script/template/character/AbstractElfCharacterTemplate.java similarity index 78% rename from data/script/template/script/template/character/HumanCharacterTemplate.java rename to data/script/template/script/template/character/AbstractElfCharacterTemplate.java index 4b1916d6c..058f5770a 100644 --- a/data/script/template/script/template/character/HumanCharacterTemplate.java +++ b/data/script/template/script/template/character/AbstractElfCharacterTemplate.java @@ -3,16 +3,17 @@ package script.template.character; import com.l2jserver.model.id.template.CharacterTemplateID; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; -public abstract class HumanCharacterTemplate extends AbstractCharacterTemplate { - protected HumanCharacterTemplate(CharacterTemplateID id, +public abstract class AbstractElfCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractElfCharacterTemplate(CharacterTemplateID id, CharacterClass characterClass, int intelligence, int strength, int concentration, int mentality, int dexterity, int witness, int physicalAttack, int magicalAttack, int physicalDefense, int magicalDefense, int attackSpeed, int castSpeed, int accuracy, int criticalChance, int evasionChance, int moveSpeed, - int maxWeigth, boolean craft, Coordinate spawnLocation) { + int maxWeigth, boolean craft, Point spawnLocation) { super(id, characterClass, intelligence, strength, concentration, mentality, dexterity, witness, physicalAttack, magicalAttack, physicalDefense, magicalDefense, attackSpeed, castSpeed, diff --git a/data/script/template/script/template/character/AbstractHumanCharacterTemplate.java b/data/script/template/script/template/character/AbstractHumanCharacterTemplate.java new file mode 100644 index 000000000..cb6383a7a --- /dev/null +++ b/data/script/template/script/template/character/AbstractHumanCharacterTemplate.java @@ -0,0 +1,30 @@ +package script.template.character; + +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public abstract class AbstractHumanCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractHumanCharacterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + false, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AbstractKamaelCharacterTemplate.java b/data/script/template/script/template/character/AbstractKamaelCharacterTemplate.java new file mode 100644 index 000000000..f0804dfde --- /dev/null +++ b/data/script/template/script/template/character/AbstractKamaelCharacterTemplate.java @@ -0,0 +1,30 @@ +package script.template.character; + +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public abstract class AbstractKamaelCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractKamaelCharacterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + false, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AbstractOrcCharacterTemplate.java b/data/script/template/script/template/character/AbstractOrcCharacterTemplate.java new file mode 100644 index 000000000..b60d32784 --- /dev/null +++ b/data/script/template/script/template/character/AbstractOrcCharacterTemplate.java @@ -0,0 +1,30 @@ +package script.template.character; + +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public abstract class AbstractOrcCharacterTemplate extends + AbstractCharacterTemplate { + protected AbstractOrcCharacterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + false, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AbyssWalkerTemplate.java b/data/script/template/script/template/character/AbyssWalkerTemplate.java new file mode 100644 index 000000000..5aefa542b --- /dev/null +++ b/data/script/template/script/template/character/AbyssWalkerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class AbyssWalkerTemplate extends AssassinTemplate { + @Inject + public AbyssWalkerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ABYSS_WALKER.id), + CharacterClass.ABYSS_WALKER, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected AbyssWalkerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AdventurerTemplate.java b/data/script/template/script/template/character/AdventurerTemplate.java new file mode 100644 index 000000000..d4329ebb9 --- /dev/null +++ b/data/script/template/script/template/character/AdventurerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class AdventurerTemplate extends TreasureHunterTemplate { + @Inject + public AdventurerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.adventurer.id), + CharacterClass.adventurer, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected AdventurerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ArbalesterTemplate.java b/data/script/template/script/template/character/ArbalesterTemplate.java new file mode 100644 index 000000000..28d03bb09 --- /dev/null +++ b/data/script/template/script/template/character/ArbalesterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ArbalesterTemplate extends WarderTemplate { + @Inject + public ArbalesterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ARBALESTER.id), + CharacterClass.ARBALESTER, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected ArbalesterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ArcanaLordTemplate.java b/data/script/template/script/template/character/ArcanaLordTemplate.java new file mode 100644 index 000000000..569a5e46e --- /dev/null +++ b/data/script/template/script/template/character/ArcanaLordTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ArcanaLordTemplate extends WarlockTemplate { + @Inject + public ArcanaLordTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ARCANA_LORD.id), + CharacterClass.ARCANA_LORD, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected ArcanaLordTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ArchmageTemplate.java b/data/script/template/script/template/character/ArchmageTemplate.java new file mode 100644 index 000000000..15c62a09e --- /dev/null +++ b/data/script/template/script/template/character/ArchmageTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ArchmageTemplate extends SorcerorTemplate { + @Inject + public ArchmageTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ARCHMAGE.id), + CharacterClass.ARCHMAGE, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected ArchmageTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ArtisanTemplate.java b/data/script/template/script/template/character/ArtisanTemplate.java new file mode 100644 index 000000000..69a6c20f4 --- /dev/null +++ b/data/script/template/script/template/character/ArtisanTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ArtisanTemplate extends DwarvenFighterTemplate { + @Inject + public ArtisanTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ARTISAN.id), + CharacterClass.ARTISAN, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected ArtisanTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/AssassinTemplate.java b/data/script/template/script/template/character/AssassinTemplate.java new file mode 100644 index 000000000..039b5f9d7 --- /dev/null +++ b/data/script/template/script/template/character/AssassinTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class AssassinTemplate extends DarkFighterTemplate { + @Inject + public AssassinTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ASSASSIN.id), + CharacterClass.ASSASSIN, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected AssassinTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/BersekerTemplate.java b/data/script/template/script/template/character/BersekerTemplate.java new file mode 100644 index 000000000..30e92ef93 --- /dev/null +++ b/data/script/template/script/template/character/BersekerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class BersekerTemplate extends TrooperTemplate { + @Inject + public BersekerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.BERSEKER.id), + CharacterClass.BERSEKER, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected BersekerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/BishopTemplate.java b/data/script/template/script/template/character/BishopTemplate.java new file mode 100644 index 000000000..913d54ebe --- /dev/null +++ b/data/script/template/script/template/character/BishopTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class BishopTemplate extends ClericTemplate { + @Inject + public BishopTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.BISHOP.id), + CharacterClass.BISHOP, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected BishopTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/BladedancerTemplate.java b/data/script/template/script/template/character/BladedancerTemplate.java new file mode 100644 index 000000000..082a97476 --- /dev/null +++ b/data/script/template/script/template/character/BladedancerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class BladedancerTemplate extends PalusKnightTemplate { + @Inject + public BladedancerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.BLADEDANCER.id), + CharacterClass.BLADEDANCER, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected BladedancerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/BountyHunterTemplate.java b/data/script/template/script/template/character/BountyHunterTemplate.java new file mode 100644 index 000000000..cdbcc607f --- /dev/null +++ b/data/script/template/script/template/character/BountyHunterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class BountyHunterTemplate extends ScavengerTemplate { + @Inject + public BountyHunterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.BOUNTY_HUNTER.id), + CharacterClass.BOUNTY_HUNTER, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected BountyHunterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/CardinalTemplate.java b/data/script/template/script/template/character/CardinalTemplate.java new file mode 100644 index 000000000..1e74cd2b0 --- /dev/null +++ b/data/script/template/script/template/character/CardinalTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class CardinalTemplate extends BishopTemplate { + @Inject + public CardinalTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.CARDINAL.id), + CharacterClass.CARDINAL, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected CardinalTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ClericTemplate.java b/data/script/template/script/template/character/ClericTemplate.java new file mode 100644 index 000000000..151617c82 --- /dev/null +++ b/data/script/template/script/template/character/ClericTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ClericTemplate extends HumanMysticTemplate { + @Inject + public ClericTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.CLERIC.id), + CharacterClass.CLERIC, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected ClericTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DarkAvengerTemplate.java b/data/script/template/script/template/character/DarkAvengerTemplate.java new file mode 100644 index 000000000..07e4fce2e --- /dev/null +++ b/data/script/template/script/template/character/DarkAvengerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DarkAvengerTemplate extends KnightTemplate { + @Inject + public DarkAvengerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DARK_AVENGER.id), + CharacterClass.DARK_AVENGER, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected DarkAvengerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DarkFighterTemplate.java b/data/script/template/script/template/character/DarkFighterTemplate.java new file mode 100644 index 000000000..cfc3e99de --- /dev/null +++ b/data/script/template/script/template/character/DarkFighterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DarkFighterTemplate extends AbstractDarkElfCharacterTemplate { + @Inject + public DarkFighterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DARK_FIGHTER.id), + CharacterClass.DARK_FIGHTER, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected DarkFighterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DarkMysticTemplate.java b/data/script/template/script/template/character/DarkMysticTemplate.java new file mode 100644 index 000000000..9119f32d9 --- /dev/null +++ b/data/script/template/script/template/character/DarkMysticTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DarkMysticTemplate extends AbstractDarkElfCharacterTemplate { + @Inject + public DarkMysticTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DARK_MYSTIC.id), + CharacterClass.DARK_MYSTIC, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected DarkMysticTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DarkWizardTemplate.java b/data/script/template/script/template/character/DarkWizardTemplate.java new file mode 100644 index 000000000..1d3e477a4 --- /dev/null +++ b/data/script/template/script/template/character/DarkWizardTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DarkWizardTemplate extends DarkMysticTemplate { + @Inject + public DarkWizardTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DARK_WIZARD.id), + CharacterClass.DARK_WIZARD, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected DarkWizardTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DestroyerTemplate.java b/data/script/template/script/template/character/DestroyerTemplate.java new file mode 100644 index 000000000..09afd3be3 --- /dev/null +++ b/data/script/template/script/template/character/DestroyerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DestroyerTemplate extends OrcRaiderTemplate { + @Inject + public DestroyerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DESTROYER.id), + CharacterClass.DESTROYER, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected DestroyerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DominatorTemplate.java b/data/script/template/script/template/character/DominatorTemplate.java new file mode 100644 index 000000000..0c7e5cf5c --- /dev/null +++ b/data/script/template/script/template/character/DominatorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DominatorTemplate extends OverlordTemplate { + @Inject + public DominatorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DOMINATOR.id), + CharacterClass.DOMINATOR, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected DominatorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DoombringerTemplate.java b/data/script/template/script/template/character/DoombringerTemplate.java new file mode 100644 index 000000000..876983728 --- /dev/null +++ b/data/script/template/script/template/character/DoombringerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DoombringerTemplate extends BersekerTemplate { + @Inject + public DoombringerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DOOMBRINGER.id), + CharacterClass.DOOMBRINGER, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected DoombringerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DoomcryerTemplate.java b/data/script/template/script/template/character/DoomcryerTemplate.java new file mode 100644 index 000000000..60212ace0 --- /dev/null +++ b/data/script/template/script/template/character/DoomcryerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DoomcryerTemplate extends WarcryerTemplate { + @Inject + public DoomcryerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DOOMCRYER.id), + CharacterClass.DOOMCRYER, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected DoomcryerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DreadnoughtTemplate.java b/data/script/template/script/template/character/DreadnoughtTemplate.java new file mode 100644 index 000000000..b0c600212 --- /dev/null +++ b/data/script/template/script/template/character/DreadnoughtTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DreadnoughtTemplate extends WarlordTemplate { + @Inject + public DreadnoughtTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DREADNOUGHT.id), + CharacterClass.DREADNOUGHT, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected DreadnoughtTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DuelistTemplate.java b/data/script/template/script/template/character/DuelistTemplate.java new file mode 100644 index 000000000..f34450e3d --- /dev/null +++ b/data/script/template/script/template/character/DuelistTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DuelistTemplate extends GladiatorTemplate { + @Inject + public DuelistTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DUELIST.id), + CharacterClass.DUELIST, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected DuelistTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/DwarvenFighterTemplate.java b/data/script/template/script/template/character/DwarvenFighterTemplate.java new file mode 100644 index 000000000..b0b37fd1c --- /dev/null +++ b/data/script/template/script/template/character/DwarvenFighterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class DwarvenFighterTemplate extends AbstractDwarfCharacterTemplate { + @Inject + public DwarvenFighterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.DWARVEN_FIGHTER.id), + CharacterClass.DWARVEN_FIGHTER, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected DwarvenFighterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElderTemplate.java b/data/script/template/script/template/character/ElderTemplate.java new file mode 100644 index 000000000..3e75c2d46 --- /dev/null +++ b/data/script/template/script/template/character/ElderTemplate.java @@ -0,0 +1,57 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElderTemplate extends OracleTemplate { + @Inject + public ElderTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELDER.id), CharacterClass.ELDER, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected ElderTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElementalMasterTemplate.java b/data/script/template/script/template/character/ElementalMasterTemplate.java new file mode 100644 index 000000000..4af791ac2 --- /dev/null +++ b/data/script/template/script/template/character/ElementalMasterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElementalMasterTemplate extends ElementalSummonerTemplate { + @Inject + public ElementalMasterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELEMENTAL_MASTER.id), + CharacterClass.ELEMENTAL_MASTER, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected ElementalMasterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElementalSummonerTemplate.java b/data/script/template/script/template/character/ElementalSummonerTemplate.java new file mode 100644 index 000000000..79f3a1ddb --- /dev/null +++ b/data/script/template/script/template/character/ElementalSummonerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElementalSummonerTemplate extends ElvenWizardTemplate { + @Inject + public ElementalSummonerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELEMENTAL_SUMMONER.id), + CharacterClass.ELEMENTAL_SUMMONER, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected ElementalSummonerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElvenFighterTemplate.java b/data/script/template/script/template/character/ElvenFighterTemplate.java new file mode 100644 index 000000000..343028c50 --- /dev/null +++ b/data/script/template/script/template/character/ElvenFighterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElvenFighterTemplate extends AbstractElfCharacterTemplate { + @Inject + public ElvenFighterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELVEN_FIGHTER.id), + CharacterClass.ELVEN_FIGHTER, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected ElvenFighterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElvenKnightTemplate.java b/data/script/template/script/template/character/ElvenKnightTemplate.java new file mode 100644 index 000000000..1662e0cc7 --- /dev/null +++ b/data/script/template/script/template/character/ElvenKnightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElvenKnightTemplate extends ElvenFighterTemplate { + @Inject + public ElvenKnightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELVEN_KNIGHT.id), + CharacterClass.ELVEN_KNIGHT, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected ElvenKnightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElvenMysticTemplate.java b/data/script/template/script/template/character/ElvenMysticTemplate.java new file mode 100644 index 000000000..4b88c7612 --- /dev/null +++ b/data/script/template/script/template/character/ElvenMysticTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElvenMysticTemplate extends AbstractElfCharacterTemplate { + @Inject + public ElvenMysticTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELVEN_MYSTIC.id), + CharacterClass.ELVEN_MYSTIC, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected ElvenMysticTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElvenScoutTemplate.java b/data/script/template/script/template/character/ElvenScoutTemplate.java new file mode 100644 index 000000000..a4c692e64 --- /dev/null +++ b/data/script/template/script/template/character/ElvenScoutTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElvenScoutTemplate extends ElvenFighterTemplate { + @Inject + public ElvenScoutTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELVEN_SCOUT.id), + CharacterClass.ELVEN_SCOUT, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected ElvenScoutTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ElvenWizardTemplate.java b/data/script/template/script/template/character/ElvenWizardTemplate.java new file mode 100644 index 000000000..2fd0111cf --- /dev/null +++ b/data/script/template/script/template/character/ElvenWizardTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ElvenWizardTemplate extends ElvenMysticTemplate { + @Inject + public ElvenWizardTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ELVEN_WIZARD.id), + CharacterClass.ELVEN_WIZARD, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected ElvenWizardTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/EvaSaintTemplate.java b/data/script/template/script/template/character/EvaSaintTemplate.java new file mode 100644 index 000000000..afcc8cbd0 --- /dev/null +++ b/data/script/template/script/template/character/EvaSaintTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class EvaSaintTemplate extends ElderTemplate { + @Inject + public EvaSaintTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.EVA_SAINT.id), + CharacterClass.EVA_SAINT, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected EvaSaintTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/EvaTemplarTemplate.java b/data/script/template/script/template/character/EvaTemplarTemplate.java new file mode 100644 index 000000000..1786d9bee --- /dev/null +++ b/data/script/template/script/template/character/EvaTemplarTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class EvaTemplarTemplate extends TempleKnightTemplate { + @Inject + public EvaTemplarTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.EVA_TEMPLAR.id), + CharacterClass.EVA_TEMPLAR, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected EvaTemplarTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/FemaleSoldierTemplate.java b/data/script/template/script/template/character/FemaleSoldierTemplate.java new file mode 100644 index 000000000..cae6f1e08 --- /dev/null +++ b/data/script/template/script/template/character/FemaleSoldierTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class FemaleSoldierTemplate extends AbstractKamaelCharacterTemplate { + @Inject + public FemaleSoldierTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.FEMALE_SOLDIER.id), + CharacterClass.FEMALE_SOLDIER, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125517, 38267, 1176)// spawn location + ); + } + + protected FemaleSoldierTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/FemaleSoulbreakerTemplate.java b/data/script/template/script/template/character/FemaleSoulbreakerTemplate.java new file mode 100644 index 000000000..56a16e6e4 --- /dev/null +++ b/data/script/template/script/template/character/FemaleSoulbreakerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class FemaleSoulbreakerTemplate extends WarderTemplate { + @Inject + public FemaleSoulbreakerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.FEMALE_SOULBREAKER.id), + CharacterClass.FEMALE_SOULBREAKER, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected FemaleSoulbreakerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/FemaleSouldhoundTemplate.java b/data/script/template/script/template/character/FemaleSouldhoundTemplate.java new file mode 100644 index 000000000..d2d5cbda7 --- /dev/null +++ b/data/script/template/script/template/character/FemaleSouldhoundTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class FemaleSouldhoundTemplate extends FemaleSoulbreakerTemplate { + @Inject + public FemaleSouldhoundTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.FEMALE_SOULDHOUND.id), + CharacterClass.FEMALE_SOULDHOUND, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected FemaleSouldhoundTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/FortuneSeekerTemplate.java b/data/script/template/script/template/character/FortuneSeekerTemplate.java new file mode 100644 index 000000000..92c9fcc6e --- /dev/null +++ b/data/script/template/script/template/character/FortuneSeekerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class FortuneSeekerTemplate extends BountyHunterTemplate { + @Inject + public FortuneSeekerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.FORTUNE_SEEKER.id), + CharacterClass.FORTUNE_SEEKER, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected FortuneSeekerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/GhosthunterTemplate.java b/data/script/template/script/template/character/GhosthunterTemplate.java new file mode 100644 index 000000000..74e73b92d --- /dev/null +++ b/data/script/template/script/template/character/GhosthunterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class GhosthunterTemplate extends AbyssWalkerTemplate { + @Inject + public GhosthunterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ghostHunter.id), + CharacterClass.ghostHunter, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected GhosthunterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/GhostsentinelTemplate.java b/data/script/template/script/template/character/GhostsentinelTemplate.java new file mode 100644 index 000000000..036bfc74a --- /dev/null +++ b/data/script/template/script/template/character/GhostsentinelTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class GhostsentinelTemplate extends PhantomRangerTemplate { + @Inject + public GhostsentinelTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ghostSentinel.id), + CharacterClass.ghostSentinel, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected GhostsentinelTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/GladiatorTemplate.java b/data/script/template/script/template/character/GladiatorTemplate.java new file mode 100644 index 000000000..585ab1b7b --- /dev/null +++ b/data/script/template/script/template/character/GladiatorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class GladiatorTemplate extends WarriorTemplate { + @Inject + public GladiatorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.GLADIATOR.id), + CharacterClass.GLADIATOR, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected GladiatorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/GrandKhauatariTemplate.java b/data/script/template/script/template/character/GrandKhauatariTemplate.java new file mode 100644 index 000000000..11d275bea --- /dev/null +++ b/data/script/template/script/template/character/GrandKhauatariTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class GrandKhauatariTemplate extends TyrantTemplate { + @Inject + public GrandKhauatariTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.GRAND_KHAUATARI.id), + CharacterClass.GRAND_KHAUATARI, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected GrandKhauatariTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/HawkeyeTemplate.java b/data/script/template/script/template/character/HawkeyeTemplate.java new file mode 100644 index 000000000..439ed330b --- /dev/null +++ b/data/script/template/script/template/character/HawkeyeTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class HawkeyeTemplate extends RogueTemplate { + @Inject + public HawkeyeTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.HAWKEYE.id), + CharacterClass.HAWKEYE, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected HawkeyeTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/HellknightTemplate.java b/data/script/template/script/template/character/HellknightTemplate.java new file mode 100644 index 000000000..c3ded0ee2 --- /dev/null +++ b/data/script/template/script/template/character/HellknightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class HellknightTemplate extends DarkAvengerTemplate { + @Inject + public HellknightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.hellKnight.id), + CharacterClass.hellKnight, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected HellknightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/HierophantTemplate.java b/data/script/template/script/template/character/HierophantTemplate.java new file mode 100644 index 000000000..d67635316 --- /dev/null +++ b/data/script/template/script/template/character/HierophantTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class HierophantTemplate extends ProphetTemplate { + @Inject + public HierophantTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.HIEROPHANT.id), + CharacterClass.HIEROPHANT, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected HierophantTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/HumanFighterTemplate.java b/data/script/template/script/template/character/HumanFighterTemplate.java index 83df753e4..5ee81e9ec 100644 --- a/data/script/template/script/template/character/HumanFighterTemplate.java +++ b/data/script/template/script/template/character/HumanFighterTemplate.java @@ -1,12 +1,13 @@ package script.template.character; import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; -public class HumanFighterTemplate extends HumanCharacterTemplate { +public class HumanFighterTemplate extends AbstractHumanCharacterTemplate { @Inject public HumanFighterTemplate(CharacterTemplateIDFactory factory) { super(factory.createID(CharacterClass.HUMAN_FIGHTER.id), @@ -21,7 +22,7 @@ public class HumanFighterTemplate extends HumanCharacterTemplate { 4,// physical attack 6,// magical attack 80,// physical def - 4,// magical def + 41,// magical def 300,// attack speed 333,// cast speed 33,// accuracy @@ -30,10 +31,24 @@ public class HumanFighterTemplate extends HumanCharacterTemplate { 115,// move speed 81900,// max inventory weight false,// can craft - Coordinate.fromXYZ(-71338, 258271, -3104)// spawn location + Point.fromXYZ(-71338, 258271, -3104)// spawn location ); } + protected HumanFighterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + @Override public L2Character create() { final L2Character character = super.create(); diff --git a/data/script/template/script/template/character/HumanMysticTemplate.java b/data/script/template/script/template/character/HumanMysticTemplate.java index 0637693df..dda5c1c19 100644 --- a/data/script/template/script/template/character/HumanMysticTemplate.java +++ b/data/script/template/script/template/character/HumanMysticTemplate.java @@ -1,39 +1,54 @@ package script.template.character; import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; -public class HumanMysticTemplate extends HumanCharacterTemplate { +public class HumanMysticTemplate extends AbstractHumanCharacterTemplate { @Inject public HumanMysticTemplate(CharacterTemplateIDFactory factory) { - super(factory.createID(CharacterClass.HUMAN_FIGHTER.id), - CharacterClass.HUMAN_FIGHTER, + super(factory.createID(CharacterClass.HUMAN_MYSTIC.id), + CharacterClass.HUMAN_MYSTIC, // ATTRIBUTES - 21,// INT - 40,// STR - 43,// CON - 25,// MEN - 30,// DEX - 11,// WIT - 4,// physical attack + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack 6,// magical attack - 80,// physical def - 4,// magical def + 54,// physical def + 41,// magical def 300,// attack speed 333,// cast speed - 33,// accuracy - 44,// critical - 33,// evasion - 115,// move speed - 81900,// max inventory weight + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight false,// can craft - Coordinate.fromXYZ(-71338, 258271, -3104)// spawn location + Point.fromXYZ(-90890, 248027, -3570)// spawn location ); } + protected HumanMysticTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + @Override public L2Character create() { final L2Character character = super.create(); diff --git a/data/script/template/script/template/character/InspectorTemplate.java b/data/script/template/script/template/character/InspectorTemplate.java new file mode 100644 index 000000000..13894f71e --- /dev/null +++ b/data/script/template/script/template/character/InspectorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class InspectorTemplate extends WarderTemplate { + @Inject + public InspectorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.INSPECTOR.id), + CharacterClass.INSPECTOR, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected InspectorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/JudicatorTemplate.java b/data/script/template/script/template/character/JudicatorTemplate.java new file mode 100644 index 000000000..b46ac6882 --- /dev/null +++ b/data/script/template/script/template/character/JudicatorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class JudicatorTemplate extends InspectorTemplate { + @Inject + public JudicatorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.JUDICATOR.id), + CharacterClass.JUDICATOR, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected JudicatorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/KnightTemplate.java b/data/script/template/script/template/character/KnightTemplate.java new file mode 100644 index 000000000..d13bca09b --- /dev/null +++ b/data/script/template/script/template/character/KnightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class KnightTemplate extends HumanFighterTemplate { + @Inject + public KnightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.KNIGHT.id), + CharacterClass.KNIGHT, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected KnightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MaestroTemplate.java b/data/script/template/script/template/character/MaestroTemplate.java new file mode 100644 index 000000000..8ca10818e --- /dev/null +++ b/data/script/template/script/template/character/MaestroTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MaestroTemplate extends WarsmithTemplate { + @Inject + public MaestroTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MAESTRO.id), + CharacterClass.MAESTRO, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected MaestroTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MaleSoldierTemplate.java b/data/script/template/script/template/character/MaleSoldierTemplate.java new file mode 100644 index 000000000..2b1e58eb1 --- /dev/null +++ b/data/script/template/script/template/character/MaleSoldierTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MaleSoldierTemplate extends AbstractKamaelCharacterTemplate { + @Inject + public MaleSoldierTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MALE_SOLDIER.id), + CharacterClass.MALE_SOLDIER, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125464, 37776, 1176)// spawn location + ); + } + + protected MaleSoldierTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MaleSoulbreakerTemplate.java b/data/script/template/script/template/character/MaleSoulbreakerTemplate.java new file mode 100644 index 000000000..72ec83080 --- /dev/null +++ b/data/script/template/script/template/character/MaleSoulbreakerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MaleSoulbreakerTemplate extends TrooperTemplate { + @Inject + public MaleSoulbreakerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MALE_SOULBREAKER.id), + CharacterClass.MALE_SOULBREAKER, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected MaleSoulbreakerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MaleSouldhoundTemplate.java b/data/script/template/script/template/character/MaleSouldhoundTemplate.java new file mode 100644 index 000000000..a7e875656 --- /dev/null +++ b/data/script/template/script/template/character/MaleSouldhoundTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MaleSouldhoundTemplate extends MaleSoulbreakerTemplate { + @Inject + public MaleSouldhoundTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MALE_SOULDHOUND.id), + CharacterClass.MALE_SOULDHOUND, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected MaleSouldhoundTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MoonlightSentinelTemplate.java b/data/script/template/script/template/character/MoonlightSentinelTemplate.java new file mode 100644 index 000000000..865df6509 --- /dev/null +++ b/data/script/template/script/template/character/MoonlightSentinelTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MoonlightSentinelTemplate extends SilverRangerTemplate { + @Inject + public MoonlightSentinelTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MOONLIGHT_SENTINEL.id), + CharacterClass.MOONLIGHT_SENTINEL, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected MoonlightSentinelTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/MysticMuseTemplate.java b/data/script/template/script/template/character/MysticMuseTemplate.java new file mode 100644 index 000000000..5f07b780b --- /dev/null +++ b/data/script/template/script/template/character/MysticMuseTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class MysticMuseTemplate extends SpellsingerTemplate { + @Inject + public MysticMuseTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.MYSTIC_MUSE.id), + CharacterClass.MYSTIC_MUSE, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected MysticMuseTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/NecromancerTemplate.java b/data/script/template/script/template/character/NecromancerTemplate.java new file mode 100644 index 000000000..0e213ad9b --- /dev/null +++ b/data/script/template/script/template/character/NecromancerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class NecromancerTemplate extends WizardTemplate { + @Inject + public NecromancerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.NECROMANCER.id), + CharacterClass.NECROMANCER, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected NecromancerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OracleTemplate.java b/data/script/template/script/template/character/OracleTemplate.java new file mode 100644 index 000000000..c76c7ad7b --- /dev/null +++ b/data/script/template/script/template/character/OracleTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OracleTemplate extends ElvenMysticTemplate { + @Inject + public OracleTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORACLE.id), + CharacterClass.ORACLE, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected OracleTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OrcFighterTemplate.java b/data/script/template/script/template/character/OrcFighterTemplate.java new file mode 100644 index 000000000..a26c35c55 --- /dev/null +++ b/data/script/template/script/template/character/OrcFighterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OrcFighterTemplate extends AbstractOrcCharacterTemplate { + @Inject + public OrcFighterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORC_FIGHTER.id), + CharacterClass.ORC_FIGHTER, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected OrcFighterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OrcMonkTemplate.java b/data/script/template/script/template/character/OrcMonkTemplate.java new file mode 100644 index 000000000..f694a9507 --- /dev/null +++ b/data/script/template/script/template/character/OrcMonkTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OrcMonkTemplate extends OrcFighterTemplate { + @Inject + public OrcMonkTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORC_MONK.id), + CharacterClass.ORC_MONK, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113610, -690)// spawn location + ); + } + + protected OrcMonkTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OrcMysticTemplate.java b/data/script/template/script/template/character/OrcMysticTemplate.java new file mode 100644 index 000000000..338c34050 --- /dev/null +++ b/data/script/template/script/template/character/OrcMysticTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OrcMysticTemplate extends AbstractOrcCharacterTemplate { + @Inject + public OrcMysticTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORC_MYSTIC.id), + CharacterClass.ORC_MYSTIC, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected OrcMysticTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OrcRaiderTemplate.java b/data/script/template/script/template/character/OrcRaiderTemplate.java new file mode 100644 index 000000000..acef61a0f --- /dev/null +++ b/data/script/template/script/template/character/OrcRaiderTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OrcRaiderTemplate extends OrcFighterTemplate { + @Inject + public OrcRaiderTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORC_RAIDER.id), + CharacterClass.ORC_RAIDER, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected OrcRaiderTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OrcShamanTemplate.java b/data/script/template/script/template/character/OrcShamanTemplate.java new file mode 100644 index 000000000..2df99006e --- /dev/null +++ b/data/script/template/script/template/character/OrcShamanTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OrcShamanTemplate extends OrcMysticTemplate { + @Inject + public OrcShamanTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ORC_SHAMAN.id), + CharacterClass.ORC_SHAMAN, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected OrcShamanTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/OverlordTemplate.java b/data/script/template/script/template/character/OverlordTemplate.java new file mode 100644 index 000000000..d5266627a --- /dev/null +++ b/data/script/template/script/template/character/OverlordTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class OverlordTemplate extends OrcShamanTemplate { + @Inject + public OverlordTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.OVERLORD.id), + CharacterClass.OVERLORD, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected OverlordTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PaladinTemplate.java b/data/script/template/script/template/character/PaladinTemplate.java new file mode 100644 index 000000000..cef756ac2 --- /dev/null +++ b/data/script/template/script/template/character/PaladinTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PaladinTemplate extends KnightTemplate { + @Inject + public PaladinTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PALADIN.id), + CharacterClass.PALADIN, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected PaladinTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PalusKnightTemplate.java b/data/script/template/script/template/character/PalusKnightTemplate.java new file mode 100644 index 000000000..b3f9b8a68 --- /dev/null +++ b/data/script/template/script/template/character/PalusKnightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PalusKnightTemplate extends DarkFighterTemplate { + @Inject + public PalusKnightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PALUS_KNIGHT.id), + CharacterClass.PALUS_KNIGHT, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected PalusKnightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PhantomRangerTemplate.java b/data/script/template/script/template/character/PhantomRangerTemplate.java new file mode 100644 index 000000000..4336e1117 --- /dev/null +++ b/data/script/template/script/template/character/PhantomRangerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PhantomRangerTemplate extends AssassinTemplate { + @Inject + public PhantomRangerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PHANTOM_RANGER.id), + CharacterClass.PHANTOM_RANGER, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected PhantomRangerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PhantomSummonerTemplate.java b/data/script/template/script/template/character/PhantomSummonerTemplate.java new file mode 100644 index 000000000..f4d807b66 --- /dev/null +++ b/data/script/template/script/template/character/PhantomSummonerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PhantomSummonerTemplate extends DarkWizardTemplate { + @Inject + public PhantomSummonerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PHANTOM_SUMMONER.id), + CharacterClass.PHANTOM_SUMMONER, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected PhantomSummonerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PhoenixknightTemplate.java b/data/script/template/script/template/character/PhoenixknightTemplate.java new file mode 100644 index 000000000..cf28a6e11 --- /dev/null +++ b/data/script/template/script/template/character/PhoenixknightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PhoenixknightTemplate extends PaladinTemplate { + @Inject + public PhoenixknightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.phoenixKnight.id), + CharacterClass.phoenixKnight, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected PhoenixknightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/PlainsWalkerTemplate.java b/data/script/template/script/template/character/PlainsWalkerTemplate.java new file mode 100644 index 000000000..e32bf68d7 --- /dev/null +++ b/data/script/template/script/template/character/PlainsWalkerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class PlainsWalkerTemplate extends ElvenScoutTemplate { + @Inject + public PlainsWalkerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PLAINS_WALKER.id), + CharacterClass.PLAINS_WALKER, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected PlainsWalkerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ProphetTemplate.java b/data/script/template/script/template/character/ProphetTemplate.java new file mode 100644 index 000000000..8b4fade2e --- /dev/null +++ b/data/script/template/script/template/character/ProphetTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ProphetTemplate extends ClericTemplate { + @Inject + public ProphetTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.PROPHET.id), + CharacterClass.PROPHET, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected ProphetTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/RogueTemplate.java b/data/script/template/script/template/character/RogueTemplate.java new file mode 100644 index 000000000..1feb05a8e --- /dev/null +++ b/data/script/template/script/template/character/RogueTemplate.java @@ -0,0 +1,57 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class RogueTemplate extends HumanFighterTemplate { + @Inject + public RogueTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.ROGUE.id), CharacterClass.ROGUE, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected RogueTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SagittariusTemplate.java b/data/script/template/script/template/character/SagittariusTemplate.java new file mode 100644 index 000000000..ebfaa8e6e --- /dev/null +++ b/data/script/template/script/template/character/SagittariusTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SagittariusTemplate extends HawkeyeTemplate { + @Inject + public SagittariusTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.sagittarius.id), + CharacterClass.sagittarius, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected SagittariusTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ScavengerTemplate.java b/data/script/template/script/template/character/ScavengerTemplate.java new file mode 100644 index 000000000..edb64aab0 --- /dev/null +++ b/data/script/template/script/template/character/ScavengerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ScavengerTemplate extends DwarvenFighterTemplate { + @Inject + public ScavengerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SCAVENGER.id), + CharacterClass.SCAVENGER, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected ScavengerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ShillieanSaintTemplate.java b/data/script/template/script/template/character/ShillieanSaintTemplate.java new file mode 100644 index 000000000..3cf047792 --- /dev/null +++ b/data/script/template/script/template/character/ShillieanSaintTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ShillieanSaintTemplate extends ShillienElderTemplate { + @Inject + public ShillieanSaintTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SHILLIEAN_SAINT.id), + CharacterClass.SHILLIEAN_SAINT, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected ShillieanSaintTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ShillienElderTemplate.java b/data/script/template/script/template/character/ShillienElderTemplate.java new file mode 100644 index 000000000..426bd7f83 --- /dev/null +++ b/data/script/template/script/template/character/ShillienElderTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ShillienElderTemplate extends ShillienOracleTemplate { + @Inject + public ShillienElderTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SHILLIEN_ELDER.id), + CharacterClass.SHILLIEN_ELDER, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected ShillienElderTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ShillienKnightTemplate.java b/data/script/template/script/template/character/ShillienKnightTemplate.java new file mode 100644 index 000000000..455d44e07 --- /dev/null +++ b/data/script/template/script/template/character/ShillienKnightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ShillienKnightTemplate extends PalusKnightTemplate { + @Inject + public ShillienKnightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SHILLIEN_KNIGHT.id), + CharacterClass.SHILLIEN_KNIGHT, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected ShillienKnightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ShillienOracleTemplate.java b/data/script/template/script/template/character/ShillienOracleTemplate.java new file mode 100644 index 000000000..777ae995e --- /dev/null +++ b/data/script/template/script/template/character/ShillienOracleTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ShillienOracleTemplate extends DarkMysticTemplate { + @Inject + public ShillienOracleTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SHILLIEN_ORACLE.id), + CharacterClass.SHILLIEN_ORACLE, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected ShillienOracleTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/ShillienTemplarTemplate.java b/data/script/template/script/template/character/ShillienTemplarTemplate.java new file mode 100644 index 000000000..23a7a5072 --- /dev/null +++ b/data/script/template/script/template/character/ShillienTemplarTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ShillienTemplarTemplate extends ShillienKnightTemplate { + @Inject + public ShillienTemplarTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SHILLIEN_TEMPLAR.id), + CharacterClass.SHILLIEN_TEMPLAR, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected ShillienTemplarTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SilverRangerTemplate.java b/data/script/template/script/template/character/SilverRangerTemplate.java new file mode 100644 index 000000000..64b9ee08d --- /dev/null +++ b/data/script/template/script/template/character/SilverRangerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SilverRangerTemplate extends ElvenScoutTemplate { + @Inject + public SilverRangerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SILVER_RANGER.id), + CharacterClass.SILVER_RANGER, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected SilverRangerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SorcerorTemplate.java b/data/script/template/script/template/character/SorcerorTemplate.java new file mode 100644 index 000000000..4eab0ab3a --- /dev/null +++ b/data/script/template/script/template/character/SorcerorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SorcerorTemplate extends WizardTemplate { + @Inject + public SorcerorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SORCEROR.id), + CharacterClass.SORCEROR, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected SorcerorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SoultakerTemplate.java b/data/script/template/script/template/character/SoultakerTemplate.java new file mode 100644 index 000000000..7758de1af --- /dev/null +++ b/data/script/template/script/template/character/SoultakerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SoultakerTemplate extends NecromancerTemplate { + @Inject + public SoultakerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SOULTAKER.id), + CharacterClass.SOULTAKER, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected SoultakerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SpectralMasterTemplate.java b/data/script/template/script/template/character/SpectralMasterTemplate.java new file mode 100644 index 000000000..119368d21 --- /dev/null +++ b/data/script/template/script/template/character/SpectralMasterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SpectralMasterTemplate extends PhantomSummonerTemplate { + @Inject + public SpectralMasterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SPECTRAL_MASTER.id), + CharacterClass.SPECTRAL_MASTER, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected SpectralMasterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SpectraldancerTemplate.java b/data/script/template/script/template/character/SpectraldancerTemplate.java new file mode 100644 index 000000000..e1162aa2c --- /dev/null +++ b/data/script/template/script/template/character/SpectraldancerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SpectraldancerTemplate extends BladedancerTemplate { + @Inject + public SpectraldancerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.spectralDancer.id), + CharacterClass.spectralDancer, + // ATTRIBUTES + 25,// INT + 41,// STR + 32,// CON + 26,// MEN + 34,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 69000,// max inventory weight + false,// can craft + Point.fromXYZ(28377, 10916, -4224)// spawn location + ); + } + + protected SpectraldancerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SpellhowlerTemplate.java b/data/script/template/script/template/character/SpellhowlerTemplate.java new file mode 100644 index 000000000..77ce9b53c --- /dev/null +++ b/data/script/template/script/template/character/SpellhowlerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SpellhowlerTemplate extends DarkWizardTemplate { + @Inject + public SpellhowlerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SPELLHOWLER.id), + CharacterClass.SPELLHOWLER, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected SpellhowlerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SpellsingerTemplate.java b/data/script/template/script/template/character/SpellsingerTemplate.java new file mode 100644 index 000000000..3af4db08b --- /dev/null +++ b/data/script/template/script/template/character/SpellsingerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SpellsingerTemplate extends ElvenWizardTemplate { + @Inject + public SpellsingerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SPELLSINGER.id), + CharacterClass.SPELLSINGER, + // ATTRIBUTES + 37,// INT + 21,// STR + 25,// CON + 40,// MEN + 24,// DEX + 23,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 122,// move speed + 62400,// max inventory weight + false,// can craft + Point.fromXYZ(46182, 41198, -3440)// spawn location + ); + } + + protected SpellsingerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/StormScreamerTemplate.java b/data/script/template/script/template/character/StormScreamerTemplate.java new file mode 100644 index 000000000..977a72148 --- /dev/null +++ b/data/script/template/script/template/character/StormScreamerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class StormScreamerTemplate extends SpellhowlerTemplate { + @Inject + public StormScreamerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.STORM_SCREAMER.id), + CharacterClass.STORM_SCREAMER, + // ATTRIBUTES + 44,// INT + 23,// STR + 24,// CON + 37,// MEN + 23,// DEX + 19,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 29,// accuracy + 41,// critical + 29,// evasion + 122,// move speed + 61000,// max inventory weight + false,// can craft + Point.fromXYZ(28295, 11063, -4224)// spawn location + ); + } + + protected StormScreamerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SwordMuseTemplate.java b/data/script/template/script/template/character/SwordMuseTemplate.java new file mode 100644 index 000000000..c64e095d2 --- /dev/null +++ b/data/script/template/script/template/character/SwordMuseTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SwordMuseTemplate extends SwordSingerTemplate { + @Inject + public SwordMuseTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SWORD_MUSE.id), + CharacterClass.SWORD_MUSE, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected SwordMuseTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/SwordSingerTemplate.java b/data/script/template/script/template/character/SwordSingerTemplate.java new file mode 100644 index 000000000..d63ba896a --- /dev/null +++ b/data/script/template/script/template/character/SwordSingerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class SwordSingerTemplate extends ElvenKnightTemplate { + @Inject + public SwordSingerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.SWORD_SINGER.id), + CharacterClass.SWORD_SINGER, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected SwordSingerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TempleKnightTemplate.java b/data/script/template/script/template/character/TempleKnightTemplate.java new file mode 100644 index 000000000..69d430664 --- /dev/null +++ b/data/script/template/script/template/character/TempleKnightTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TempleKnightTemplate extends ElvenKnightTemplate { + @Inject + public TempleKnightTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TEMPLE_KNIGHT.id), + CharacterClass.TEMPLE_KNIGHT, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected TempleKnightTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TitanTemplate.java b/data/script/template/script/template/character/TitanTemplate.java new file mode 100644 index 000000000..250db4d7b --- /dev/null +++ b/data/script/template/script/template/character/TitanTemplate.java @@ -0,0 +1,57 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TitanTemplate extends DestroyerTemplate { + @Inject + public TitanTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TITAN.id), CharacterClass.TITAN, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected TitanTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TreasureHunterTemplate.java b/data/script/template/script/template/character/TreasureHunterTemplate.java new file mode 100644 index 000000000..57a32f12f --- /dev/null +++ b/data/script/template/script/template/character/TreasureHunterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TreasureHunterTemplate extends RogueTemplate { + @Inject + public TreasureHunterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TREASURE_HUNTER.id), + CharacterClass.TREASURE_HUNTER, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected TreasureHunterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TricksterTemplate.java b/data/script/template/script/template/character/TricksterTemplate.java new file mode 100644 index 000000000..86a1cc35d --- /dev/null +++ b/data/script/template/script/template/character/TricksterTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TricksterTemplate extends ArbalesterTemplate { + @Inject + public TricksterTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TRICKSTER.id), + CharacterClass.TRICKSTER, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected TricksterTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TrooperTemplate.java b/data/script/template/script/template/character/TrooperTemplate.java new file mode 100644 index 000000000..4026c7bdc --- /dev/null +++ b/data/script/template/script/template/character/TrooperTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TrooperTemplate extends MaleSoldierTemplate { + @Inject + public TrooperTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TROOPER.id), + CharacterClass.TROOPER, + // ATTRIBUTES + 29,// INT + 41,// STR + 31,// CON + 25,// MEN + 33,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected TrooperTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/TyrantTemplate.java b/data/script/template/script/template/character/TyrantTemplate.java new file mode 100644 index 000000000..5e16e6cad --- /dev/null +++ b/data/script/template/script/template/character/TyrantTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class TyrantTemplate extends OrcRaiderTemplate { + @Inject + public TyrantTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.TYRANT.id), + CharacterClass.TYRANT, + // ATTRIBUTES + 18,// INT + 40,// STR + 47,// CON + 27,// MEN + 26,// DEX + 12,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 31,// accuracy + 42,// critical + 31,// evasion + 117,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-56693, -113610, -690)// spawn location + ); + } + + protected TyrantTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarcryerTemplate.java b/data/script/template/script/template/character/WarcryerTemplate.java new file mode 100644 index 000000000..70e0f9d30 --- /dev/null +++ b/data/script/template/script/template/character/WarcryerTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarcryerTemplate extends OrcShamanTemplate { + @Inject + public WarcryerTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARCRYER.id), + CharacterClass.WARCRYER, + // ATTRIBUTES + 31,// INT + 27,// STR + 31,// CON + 42,// MEN + 24,// DEX + 15,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 30,// accuracy + 41,// critical + 30,// evasion + 121,// move speed + 68000,// max inventory weight + false,// can craft + Point.fromXYZ(-56682, -113730, -690)// spawn location + ); + } + + protected WarcryerTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarderTemplate.java b/data/script/template/script/template/character/WarderTemplate.java new file mode 100644 index 000000000..3e1c1d804 --- /dev/null +++ b/data/script/template/script/template/character/WarderTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarderTemplate extends FemaleSoldierTemplate { + @Inject + public WarderTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARDER.id), + CharacterClass.WARDER, + // ATTRIBUTES + 28,// INT + 39,// STR + 30,// CON + 27,// MEN + 35,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 35,// accuracy + 45,// critical + 35,// evasion + 122,// move speed + 87000,// max inventory weight + false,// can craft + Point.fromXYZ(-125533, 38114, 1142)// spawn location + ); + } + + protected WarderTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarlockTemplate.java b/data/script/template/script/template/character/WarlockTemplate.java new file mode 100644 index 000000000..363d22908 --- /dev/null +++ b/data/script/template/script/template/character/WarlockTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarlockTemplate extends WizardTemplate { + @Inject + public WarlockTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARLOCK.id), + CharacterClass.WARLOCK, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected WarlockTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarlordTemplate.java b/data/script/template/script/template/character/WarlordTemplate.java new file mode 100644 index 000000000..887d54062 --- /dev/null +++ b/data/script/template/script/template/character/WarlordTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarlordTemplate extends WarriorTemplate { + @Inject + public WarlordTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARLORD.id), + CharacterClass.WARLORD, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected WarlordTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarriorTemplate.java b/data/script/template/script/template/character/WarriorTemplate.java new file mode 100644 index 000000000..c449e7424 --- /dev/null +++ b/data/script/template/script/template/character/WarriorTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarriorTemplate extends HumanFighterTemplate { + @Inject + public WarriorTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARRIOR.id), + CharacterClass.WARRIOR, + // ATTRIBUTES + 21,// INT + 40,// STR + 43,// CON + 25,// MEN + 30,// DEX + 11,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 44,// critical + 33,// evasion + 115,// move speed + 81900,// max inventory weight + false,// can craft + Point.fromXYZ(-71338, 258271, -3104)// spawn location + ); + } + + protected WarriorTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WarsmithTemplate.java b/data/script/template/script/template/character/WarsmithTemplate.java new file mode 100644 index 000000000..5ca5b9fde --- /dev/null +++ b/data/script/template/script/template/character/WarsmithTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WarsmithTemplate extends ArtisanTemplate { + @Inject + public WarsmithTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WARSMITH.id), + CharacterClass.WARSMITH, + // ATTRIBUTES + 20,// INT + 39,// STR + 45,// CON + 27,// MEN + 29,// DEX + 10,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 33,// accuracy + 43,// critical + 33,// evasion + 115,// move speed + 83000,// max inventory weight + true,// can craft + Point.fromXYZ(108512, -174026, -400)// spawn location + ); + } + + protected WarsmithTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WindRiderTemplate.java b/data/script/template/script/template/character/WindRiderTemplate.java new file mode 100644 index 000000000..2a9904730 --- /dev/null +++ b/data/script/template/script/template/character/WindRiderTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WindRiderTemplate extends PlainsWalkerTemplate { + @Inject + public WindRiderTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WIND_RIDER.id), + CharacterClass.WIND_RIDER, + // ATTRIBUTES + 23,// INT + 36,// STR + 36,// CON + 26,// MEN + 35,// DEX + 14,// WIT + 4,// physical attack + 6,// magical attack + 80,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 36,// accuracy + 46,// critical + 36,// evasion + 125,// move speed + 73000,// max inventory weight + false,// can craft + Point.fromXYZ(45978, 41196, -3440)// spawn location + ); + } + + protected WindRiderTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/data/script/template/script/template/character/WizardTemplate.java b/data/script/template/script/template/character/WizardTemplate.java new file mode 100644 index 000000000..16787f0a0 --- /dev/null +++ b/data/script/template/script/template/character/WizardTemplate.java @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class WizardTemplate extends HumanMysticTemplate { + @Inject + public WizardTemplate(CharacterTemplateIDFactory factory) { + super(factory.createID(CharacterClass.WIZARD.id), + CharacterClass.WIZARD, + // ATTRIBUTES + 41,// INT + 22,// STR + 27,// CON + 39,// MEN + 21,// DEX + 20,// WIT + 3,// physical attack + 6,// magical attack + 54,// physical def + 41,// magical def + 300,// attack speed + 333,// cast speed + 28,// accuracy + 40,// critical + 28,// evasion + 120,// move speed + 62500,// max inventory weight + false,// can craft + Point.fromXYZ(-90890, 248027, -3570)// spawn location + ); + } + + protected WizardTemplate(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/pom.xml b/pom.xml index ce9dc899b..3420130e4 100644 --- a/pom.xml +++ b/pom.xml @@ -85,6 +85,13 @@ jar runtime + + org.apache.commons + commons-math + 2.2 + jar + runtime + diff --git a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java index fd5f07bf8..b65b6a2e4 100644 --- a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java +++ b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java @@ -27,7 +27,7 @@ import com.l2jserver.service.database.MySQLDatabaseService.InsertUpdateQuery; import com.l2jserver.service.database.MySQLDatabaseService.Mapper; import com.l2jserver.service.database.MySQLDatabaseService.SelectListQuery; import com.l2jserver.service.database.MySQLDatabaseService.SelectSingleQuery; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; /** * {@link CharacterDAO} implementation for MySQL5 @@ -66,9 +66,10 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO public static final String EXPERIENCE = "experience"; public static final String SP = "sp"; - public static final String COORD_X = "position_x"; - public static final String COORD_Y = "position_y"; - public static final String COORD_Z = "position_z"; + public static final String POINT_X = "point_x"; + public static final String POINT_Y = "point_y"; + public static final String POINT_Z = "point_z"; + public static final String POINT_ANGLE = "point_angle"; public static final String APPEARANCE_HAIR_STYLE = "appearance_hair_style"; public static final String APPEARANCE_HAIR_COLOR = "appearance_hair_color"; @@ -121,8 +122,9 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO // TODO load experience // TODO load sp - character.setPosition(Coordinate.fromXYZ(rs.getInt(COORD_X), - rs.getInt(COORD_Y), rs.getInt(COORD_Z))); + character.setPoint(Point.fromXYZA(rs.getInt(POINT_X), + rs.getInt(POINT_Y), rs.getInt(POINT_Z), + rs.getDouble(POINT_ANGLE))); // appearance character.getAppearance().setHairStyle( @@ -228,8 +230,8 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO protected String query() { return "INSERT INTO `" + TABLE + "` (`" + CHAR_ID + "`,`" + ACCOUNT_ID + "`,`" + NAME + "`,`" + RACE + "`,`" - + CLASS + "`,`" + SEX + "`,`" + LEVEL + "`,`" + COORD_X - + "`,`" + COORD_Y + "`,`" + COORD_Z + "`,`" + + CLASS + "`,`" + SEX + "`,`" + LEVEL + "`,`" + POINT_X + + "`,`" + POINT_Y + "`,`" + POINT_ANGLE + "`,`" + APPEARANCE_HAIR_STYLE + "`,`" + APPEARANCE_HAIR_COLOR + "`,`" + APPEARANCE_FACE + "`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)"; diff --git a/src/main/java/com/l2jserver/model/id/AccountID.java b/src/main/java/com/l2jserver/model/id/AccountID.java index 7b5c8d0d2..cdb10cfd6 100644 --- a/src/main/java/com/l2jserver/model/id/AccountID.java +++ b/src/main/java/com/l2jserver/model/id/AccountID.java @@ -1,5 +1,6 @@ package com.l2jserver.model.id; +import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; /** @@ -15,6 +16,7 @@ public class AccountID extends ID { * @param login * the login */ + @Inject public AccountID(@Assisted String login) { super(login); } diff --git a/src/main/java/com/l2jserver/model/template/CharacterTemplate.java b/src/main/java/com/l2jserver/model/template/CharacterTemplate.java index 0df05c138..127aa90cb 100644 --- a/src/main/java/com/l2jserver/model/template/CharacterTemplate.java +++ b/src/main/java/com/l2jserver/model/template/CharacterTemplate.java @@ -8,7 +8,7 @@ import com.l2jserver.model.world.AbstractActor.Race; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterBaseAttributes; import com.l2jserver.model.world.character.CharacterClass; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Point; /** * Template for {@link L2Character} @@ -33,7 +33,7 @@ public abstract class CharacterTemplate extends AbstractTemplate { /** * The initial location for the character to be spawned */ - protected final Coordinate spawnLocation; + protected final Point spawnLocation; /** * The base attributes instance */ @@ -45,7 +45,7 @@ public abstract class CharacterTemplate extends AbstractTemplate { int physicalAttack, int magicalAttack, int physicalDefense, int magicalDefense, int attackSpeed, int castSpeed, int accuracy, int criticalChance, int evasionChance, int moveSpeed, - int maxWeigth, boolean craft, Coordinate spawnLocation) { + int maxWeigth, boolean craft, Point spawnLocation) { super(id); this.race = characterClass.race; this.characterClass = characterClass; @@ -64,7 +64,7 @@ public abstract class CharacterTemplate extends AbstractTemplate { character.setRace(race); character.setCharacterClass(characterClass); - character.setPosition(spawnLocation); + character.setPoint(spawnLocation); // character.getBaseAttributes().setIntelligence(intelligence); // character.getBaseAttributes().setStrength(strength); @@ -91,9 +91,9 @@ public abstract class CharacterTemplate extends AbstractTemplate { } /** - * @return the spawnLocation + * @return the initial spawn location */ - public Coordinate getSpawnLocation() { + public Point getSpawnLocation() { return spawnLocation; } diff --git a/src/main/java/com/l2jserver/model/world/AbstractActor.java b/src/main/java/com/l2jserver/model/world/AbstractActor.java index ecc641790..70b37ef78 100644 --- a/src/main/java/com/l2jserver/model/world/AbstractActor.java +++ b/src/main/java/com/l2jserver/model/world/AbstractActor.java @@ -8,7 +8,8 @@ import com.l2jserver.model.world.capability.Attacker; import com.l2jserver.model.world.capability.Castable; import com.l2jserver.model.world.capability.Equipable; import com.l2jserver.model.world.capability.Equiper; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; +import com.l2jserver.util.dimensional.Point; /** * Abstract {@link Actor} class. @@ -83,9 +84,9 @@ public abstract class AbstractActor extends AbstractObject implements Actor { */ protected int hp; /** - * The actor coordinate + * The actor coordinate point */ - protected Coordinate position; + protected Point point; /** * The currently effects active on the actor */ @@ -138,14 +139,29 @@ public abstract class AbstractActor extends AbstractObject implements Actor { return false; } + /** + * @return the coordinate point + */ + public Point getPoint() { + return point; + } + + /** + * @param point + * the coordinate point to set + */ + public void setPoint(Point point) { + this.point = point; + } + @Override public Coordinate getPosition() { - return position; + return point.getCoordinate(); } @Override public void setPosition(Coordinate coord) { - this.position = coord; + this.point = new Point(coord, (point != null ? point.getAngle() : 0)); } /** diff --git a/src/main/java/com/l2jserver/model/world/Item.java b/src/main/java/com/l2jserver/model/world/Item.java index da1d71211..499d2b382 100644 --- a/src/main/java/com/l2jserver/model/world/Item.java +++ b/src/main/java/com/l2jserver/model/world/Item.java @@ -10,7 +10,7 @@ import com.l2jserver.model.world.character.CharacterInventory.InventoryLocation; import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll; import com.l2jserver.model.world.item.ItemEvent; import com.l2jserver.model.world.item.ItemListener; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * This class represents an {@link Item} in the Lineage II World. The item can diff --git a/src/main/java/com/l2jserver/model/world/Pet.java b/src/main/java/com/l2jserver/model/world/Pet.java index 67dda6b2d..b6f5fdb0a 100644 --- a/src/main/java/com/l2jserver/model/world/Pet.java +++ b/src/main/java/com/l2jserver/model/world/Pet.java @@ -3,7 +3,7 @@ package com.l2jserver.model.world; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.ItemID; import com.l2jserver.model.world.capability.Summonable; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * This class represents an Pet in the Lineage II World diff --git a/src/main/java/com/l2jserver/model/world/Player.java b/src/main/java/com/l2jserver/model/world/Player.java index 1e290ff52..38329625f 100644 --- a/src/main/java/com/l2jserver/model/world/Player.java +++ b/src/main/java/com/l2jserver/model/world/Player.java @@ -3,7 +3,7 @@ package com.l2jserver.model.world; import com.l2jserver.model.world.capability.Actor; import com.l2jserver.model.world.capability.Playable; import com.l2jserver.model.world.capability.Teleportable; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * {@link Player} is any object that can be controlled by the player. The most diff --git a/src/main/java/com/l2jserver/model/world/capability/Actor.java b/src/main/java/com/l2jserver/model/world/capability/Actor.java index 74cdbb36d..5c02915b8 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Actor.java +++ b/src/main/java/com/l2jserver/model/world/capability/Actor.java @@ -12,7 +12,7 @@ import com.l2jserver.model.world.actor.ActorListener; * @author Rogiel */ public interface Actor extends Listenable, - Spawnable, Positionable, Damagable, Attackable, Attacker, Castable, + Spawnable, Pointable, Damagable, Attackable, Attacker, Castable, Caster, Levelable, Killable, Equiper, Equipable { ActorEffects getEffects(); } diff --git a/src/main/java/com/l2jserver/model/world/capability/Dropable.java b/src/main/java/com/l2jserver/model/world/capability/Dropable.java index a7bd5c902..9d5400640 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Dropable.java +++ b/src/main/java/com/l2jserver/model/world/capability/Dropable.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Defines an {@link AbstractObject} that can be dropped on the ground. diff --git a/src/main/java/com/l2jserver/model/world/capability/Pointable.java b/src/main/java/com/l2jserver/model/world/capability/Pointable.java new file mode 100644 index 000000000..d826bb26a --- /dev/null +++ b/src/main/java/com/l2jserver/model/world/capability/Pointable.java @@ -0,0 +1,16 @@ +package com.l2jserver.model.world.capability; + +import com.l2jserver.model.world.AbstractObject; +import com.l2jserver.util.dimensional.Point; + +/** + * Defines an {@link AbstractObject} that can be positioned and pointed in the + * world. + * + * @author Rogiel + */ +public interface Pointable extends Positionable { + Point getPoint(); + + void setPoint(Point point); +} diff --git a/src/main/java/com/l2jserver/model/world/capability/Positionable.java b/src/main/java/com/l2jserver/model/world/capability/Positionable.java index 8feb0a92d..74e3b173d 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Positionable.java +++ b/src/main/java/com/l2jserver/model/world/capability/Positionable.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Defines an {@link AbstractObject} that can be positioned in the world. diff --git a/src/main/java/com/l2jserver/model/world/capability/Spawnable.java b/src/main/java/com/l2jserver/model/world/capability/Spawnable.java index 9609d512e..18d4eb17b 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Spawnable.java +++ b/src/main/java/com/l2jserver/model/world/capability/Spawnable.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Represents an {@link AbstractObject} that can be spawned. diff --git a/src/main/java/com/l2jserver/model/world/capability/Summonable.java b/src/main/java/com/l2jserver/model/world/capability/Summonable.java index 3da7f09ef..293cb29a2 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Summonable.java +++ b/src/main/java/com/l2jserver/model/world/capability/Summonable.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Represents an {@link AbstractObject} that can be summoned. diff --git a/src/main/java/com/l2jserver/model/world/capability/Teleportable.java b/src/main/java/com/l2jserver/model/world/capability/Teleportable.java index 296e159a4..3580d0da8 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Teleportable.java +++ b/src/main/java/com/l2jserver/model/world/capability/Teleportable.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Defines an {@link AbstractObject} that can be teleported by diff --git a/src/main/java/com/l2jserver/model/world/capability/Teleporter.java b/src/main/java/com/l2jserver/model/world/capability/Teleporter.java index 7912acebf..207078c5a 100644 --- a/src/main/java/com/l2jserver/model/world/capability/Teleporter.java +++ b/src/main/java/com/l2jserver/model/world/capability/Teleporter.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.capability; import com.l2jserver.model.world.AbstractObject; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Defines an {@link AbstractObject} that can teleport {@link Teleportable} diff --git a/src/main/java/com/l2jserver/model/world/character/CharacterClass.java b/src/main/java/com/l2jserver/model/world/character/CharacterClass.java index dda5b0f21..6ac9a2f50 100644 --- a/src/main/java/com/l2jserver/model/world/character/CharacterClass.java +++ b/src/main/java/com/l2jserver/model/world/character/CharacterClass.java @@ -285,7 +285,7 @@ public enum CharacterClass { * the class id * @return the {@link CharacterClass} instance found */ - public CharacterClass fromID(int id) { + public static CharacterClass fromID(int id) { for (final CharacterClass c : values()) { if (c.id == id) return c; diff --git a/src/main/java/com/l2jserver/model/world/event/SpawnEvent.java b/src/main/java/com/l2jserver/model/world/event/SpawnEvent.java index f585a7cae..bbfdd6ad8 100644 --- a/src/main/java/com/l2jserver/model/world/event/SpawnEvent.java +++ b/src/main/java/com/l2jserver/model/world/event/SpawnEvent.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.event; import com.l2jserver.model.world.capability.Spawnable; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Event for objects spawning diff --git a/src/main/java/com/l2jserver/model/world/filter/impl/RangeFilter.java b/src/main/java/com/l2jserver/model/world/filter/impl/RangeFilter.java index b5955c943..f5d3945fb 100644 --- a/src/main/java/com/l2jserver/model/world/filter/impl/RangeFilter.java +++ b/src/main/java/com/l2jserver/model/world/filter/impl/RangeFilter.java @@ -2,7 +2,7 @@ package com.l2jserver.model.world.filter.impl; import com.l2jserver.model.world.capability.Positionable; import com.l2jserver.model.world.filter.WorldObjectFilter; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Filter objects that are in the range of coordinate diff --git a/src/main/java/com/l2jserver/model/world/player/PlayerSpawnEvent.java b/src/main/java/com/l2jserver/model/world/player/PlayerSpawnEvent.java index 1fd5edbec..9fbaebfd4 100644 --- a/src/main/java/com/l2jserver/model/world/player/PlayerSpawnEvent.java +++ b/src/main/java/com/l2jserver/model/world/player/PlayerSpawnEvent.java @@ -5,7 +5,7 @@ import com.l2jserver.model.world.capability.Actor; import com.l2jserver.model.world.capability.Listenable; import com.l2jserver.model.world.capability.Spawnable; import com.l2jserver.model.world.event.SpawnEvent; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Event dispatcher once an player has spawned in the world diff --git a/src/main/java/com/l2jserver/model/world/player/PlayerTeleportEvent.java b/src/main/java/com/l2jserver/model/world/player/PlayerTeleportEvent.java index 0cfbc8ab3..3492a0c7c 100644 --- a/src/main/java/com/l2jserver/model/world/player/PlayerTeleportEvent.java +++ b/src/main/java/com/l2jserver/model/world/player/PlayerTeleportEvent.java @@ -1,7 +1,7 @@ package com.l2jserver.model.world.player; import com.l2jserver.model.world.Player; -import com.l2jserver.util.Coordinate; +import com.l2jserver.util.dimensional.Coordinate; /** * Event dispatched once an player is teleported. diff --git a/src/main/java/com/l2jserver/util/Coordinate.java b/src/main/java/com/l2jserver/util/dimensional/Coordinate.java similarity index 64% rename from src/main/java/com/l2jserver/util/Coordinate.java rename to src/main/java/com/l2jserver/util/dimensional/Coordinate.java index b0737f048..a5c7a27d7 100644 --- a/src/main/java/com/l2jserver/util/Coordinate.java +++ b/src/main/java/com/l2jserver/util/dimensional/Coordinate.java @@ -1,4 +1,6 @@ -package com.l2jserver.util; +package com.l2jserver.util.dimensional; + +import org.apache.commons.math.geometry.Vector3D; /** * Represents an coordinate in the game world. @@ -8,18 +10,12 @@ package com.l2jserver.util; * @author Rogiel */ public class Coordinate { + private static final long serialVersionUID = 1L; + /** - * The X point + * The backing vector of this Coordinate */ - private final int x; - /** - * The Y point - */ - private final int y; - /** - * The Z point - */ - private final int z; + protected final Vector3D vector; /** * Creates a new coordinate @@ -32,30 +28,19 @@ public class Coordinate { * the z point */ protected Coordinate(int x, int y, int z) { - this.x = x; - this.y = y; - this.z = z; + this.vector = new Vector3D(x, y, z); } - /** - * @return the x point - */ public int getX() { - return x; + return (int) vector.getX(); } - /** - * @return the y point - */ public int getY() { - return y; + return (int) vector.getY(); } - /** - * @return the z point - */ public int getZ() { - return z; + return (int) vector.getZ(); } /** @@ -63,12 +48,11 @@ public class Coordinate { * other * * @param other - * the other coodinate - * @return the computed distance + * the other coordinate + * @return the calculated distance */ - public int getDistance(Coordinate other) { - // TODO calculation - return x + y + z; + public double getDistance(Coordinate other) { + return Vector3D.distance(vector, other.vector); } /** diff --git a/src/main/java/com/l2jserver/util/dimensional/Point.java b/src/main/java/com/l2jserver/util/dimensional/Point.java new file mode 100644 index 000000000..d7604e76b --- /dev/null +++ b/src/main/java/com/l2jserver/util/dimensional/Point.java @@ -0,0 +1,142 @@ +package com.l2jserver.util.dimensional; + +import org.apache.commons.math.geometry.Rotation; + +/** + * An point is composed of an Coordinate and an angle. The angle represents the + * facing angle of the point, that is, the direction the point is "looking". + * + * @author Rogiel + */ +public class Point { + /** + * The point coordinate + */ + protected final Coordinate coordinate; + /** + * Te point rotation + */ + protected final Rotation rotation; + + /** + * Creates a new point + * + * @param coordinate + * the coordinate + * @param angle + * the angle + */ + public Point(Coordinate coordinate, double angle) { + this.coordinate = coordinate; + this.rotation = new Rotation(coordinate.vector, angle); + } + + /** + * @return the x + * @see com.l2jserver.util.dimensional.Coordinate#getX() + */ + public int getX() { + return coordinate.getX(); + } + + /** + * @return the y + * @see com.l2jserver.util.dimensional.Coordinate#getY() + */ + public int getY() { + return coordinate.getY(); + } + + /** + * @return the z + * @see com.l2jserver.util.dimensional.Coordinate#getZ() + */ + public int getZ() { + return coordinate.getZ(); + } + + /** + * @param other + * the other coordinate + * @return the distance + * @see com.l2jserver.util.dimensional.Coordinate#getDistance(com.l2jserver.util.dimensional.Coordinate) + */ + public double getDistance(Coordinate other) { + return coordinate.getDistance(other); + } + + /** + * @param other + * the other point + * @return the distance + * @see com.l2jserver.util.dimensional.Coordinate#getDistance(com.l2jserver.util.dimensional.Coordinate) + */ + public double getDistance(Point other) { + return coordinate.getDistance(other.coordinate); + } + + /** + * @return the angle + * @see org.apache.commons.math.geometry.Rotation#getAngle() + */ + public double getAngle() { + return rotation.getAngle(); + } + + /** + * @param other + * the other point + * @return the angle difference between the two points + * @see org.apache.commons.math.geometry.Rotation#distance(Rotation, + * Rotation) + */ + public double getAngleDifference(Point other) { + return Rotation.distance(this.rotation, other.rotation); + } + + /** + * @return the coordinate + */ + public Coordinate getCoordinate() { + return coordinate; + } + + /** + * @return the rotation + */ + public Rotation getRotation() { + return rotation; + } + + /** + * Creates a new instance from the 3 points and an angle + * + * @param x + * the x point + * @param y + * the y point + * @param z + * the z point + * @param angle + * the angle + * @return the new {@link Point} object created + */ + public static Point fromXYZA(int x, int y, int z, double angle) { + return new Point(Coordinate.fromXYZ(x, y, z), angle); + } + + /** + * Creates a new instance from the 3 points. The angle will be zero. + * + * @param x + * the x point + * @param y + * the y point + * @param z + * the z point + * @return the new {@link Point} object created + */ + public static Point fromXYZ(int x, int y, int z) { + return fromXYZA(x, y, z, 0); + } +} diff --git a/src/main/resources/sql/character.sql b/src/main/resources/sql/character.sql index b1b064e36..d421c58e3 100644 --- a/src/main/resources/sql/character.sql +++ b/src/main/resources/sql/character.sql @@ -8,9 +8,10 @@ CREATE TABLE `character` ( `level` int(3) NOT NULL, `experience` int(15) NOT NULL, `sp` int(15) NOT NULL, - `position_x` int(10) NOT NULL, - `position_y` int(10) NOT NULL, - `position_z` int(10) NOT NULL, + `point_x` int(10) NOT NULL, + `point_y` int(10) NOT NULL, + `point_z` int(10) NOT NULL, + `point_angle` DOUBLE NOT NULL, `appearance_hair_style` enum('STYLE_A','STYLE_B','STYLE_C','STYLE_D','STYLE_E') NOT NULL DEFAULT 'STYLE_A', `appearance_hair_color` enum('COLOR_A','COLOR_B','COLOR_C','COLOR_D') NOT NULL DEFAULT 'COLOR_A', `apperance_face` enum('FACE_A','FACE_B','FACE_C') NOT NULL DEFAULT 'FACE_A', diff --git a/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateBase.txt b/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateBase.txt new file mode 100644 index 000000000..46aef4915 --- /dev/null +++ b/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateBase.txt @@ -0,0 +1,58 @@ +package script.template.character; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.CharacterTemplateID; +import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.dimensional.Point; + +public class ${javaClassName}Template extends ${parent}Template { + @Inject + public ${javaClassName}Template(CharacterTemplateIDFactory factory) { + super(factory.createID(${ClassId}.id), + ${ClassId}, + // ATTRIBUTES + ${_INT},// INT + ${STR},// STR + ${CON},// CON + ${MEN},// MEN + ${DEX},// DEX + ${WIT},// WIT + ${P_ATK},// physical attack + ${M_ATK},// magical attack + ${P_DEF},// physical def + ${M_DEF},// magical def + ${P_SPD},// attack speed + ${M_SPD},// cast speed + ${ACC},// accuracy + ${CRITICAL},// critical + ${EVASION},// evasion + ${MOVE_SPD},// move speed + ${_LOAD},// max inventory weight + ${canCraft},// can craft + Point.fromXYZ(${x}, ${y}, ${z})// spawn location + ); + } + + protected ${javaClassName}Template(CharacterTemplateID id, + CharacterClass characterClass, int intelligence, int strength, + int concentration, int mentality, int dexterity, int witness, + int physicalAttack, int magicalAttack, int physicalDefense, + int magicalDefense, int attackSpeed, int castSpeed, int accuracy, + int criticalChance, int evasionChance, int moveSpeed, + int maxWeigth, boolean craft, Point spawnLocation) { + super(id, characterClass, intelligence, strength, concentration, + mentality, dexterity, witness, physicalAttack, magicalAttack, + physicalDefense, magicalDefense, attackSpeed, castSpeed, + accuracy, criticalChance, evasionChance, moveSpeed, maxWeigth, + craft, spawnLocation); + } + + @Override + public L2Character create() { + final L2Character character = super.create(); + // TODO register skills + return character; + } +} diff --git a/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateConverter.java b/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateConverter.java new file mode 100644 index 000000000..a4deafc75 --- /dev/null +++ b/src/tool/java/com/l2jserver/tool/conversor/CharacterTemplateConverter.java @@ -0,0 +1,110 @@ +package com.l2jserver.tool.conversor; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.io.IOUtils; + +import com.l2jserver.model.world.AbstractActor.Race; +import com.l2jserver.model.world.character.CharacterClass; +import com.l2jserver.util.factory.CollectionFactory; + +public class CharacterTemplateConverter { + private static final String JDBC_URL = "jdbc:mysql://localhost/l2j-old"; + private static final String JDBC_USERNAME = "l2j"; + private static final String JDBC_PASSWORD = "changeme"; + + private static String template; + + private static Map parents = CollectionFactory + .newMap(CharacterClass.class, String.class); + + public static void main(String[] args) throws SQLException, IOException, + ClassNotFoundException { + Class.forName("com.mysql.jdbc.Driver"); + + template = IOUtils.toString(CharacterTemplateConverter.class + .getResourceAsStream("CharacterTemplateBase.txt")); + System.out.println("Generating template classes..."); + + final Connection conn = DriverManager.getConnection(JDBC_URL, + JDBC_USERNAME, JDBC_PASSWORD); + try { + final PreparedStatement st = conn + .prepareStatement("SELECT * FROM char_templates"); + try { + st.execute(); + final ResultSet rs = st.getResultSet(); + while (rs.next()) { + String[] result = generateJavaClass(rs); + IOUtils.write(result[0], new FileOutputStream( + "generated/template/character/" + result[1])); + } + } finally { + st.close(); + } + } finally { + conn.close(); + } + } + + private static String[] generateJavaClass(ResultSet rs) throws SQLException { + String name = ""; + String template = CharacterTemplateConverter.template; + for (int i = 1; i < rs.getMetaData().getColumnCount() + 1; i++) { + template = replace(template, rs.getMetaData().getColumnName(i), + rs.getString(i)); + if (rs.getMetaData().getColumnName(i).equals("ClassId")) { + final CharacterClass c = CharacterClass.fromID(Integer + .parseInt(rs.getString(i))); + name = camelCase(c.name()) + "Template.java"; + } + } + return new String[] { template, name }; + } + + private static String replace(String template, String key, String value) { + if (key.equals("ClassId")) { + final CharacterClass c = CharacterClass.fromID(Integer + .parseInt(value)); + value = "CharacterClass." + c.name(); + String parent; + if (c.parent != null) { + parent = parents.get(c.parent); + } else { + parent = "Abstract" + camelCase(c.race.name()) + "Character"; + } + parents.put(c, camelCase(c.name())); + template = template.replaceAll("\\$\\{parent\\}", parent); + template = template.replaceAll("\\$\\{javaClassName\\}", + camelCase(c.name())); + } + if (key.equals("RaceId")) + value = Race.fromOption(Integer.parseInt(value)).name(); + if (key.equals("canCraft")) + value = (value.equals("1") ? "true" : "false"); + + return template.replaceAll("\\$\\{" + key + "\\}", value); + } + + private static String camelCase(String c) { + Pattern p = Pattern.compile("[a-zA-Z0-9]+"); + Matcher m = p.matcher(c.replaceAll("_", " ")); + StringBuffer result = new StringBuffer(); + String word; + while (m.find()) { + word = m.group(); + result.append(word.substring(0, 1).toUpperCase() + + word.substring(1).toLowerCase()); + } + return result.toString(); + } +}