From 2c4af6d91df246eda4ff79519cd4eeeee7d33d50 Mon Sep 17 00:00:00 2001 From: Rogiel Date: Thu, 19 May 2011 01:40:53 -0300 Subject: [PATCH] Several improvements Signed-off-by: Rogiel --- data/script/ai/ai.xml | 23 --- .../actor/character/AbyssWalkerTemplate.java | 4 +- .../actor/character/AdventurerTemplate.java | 4 +- .../actor/character/ArbalesterTemplate.java | 4 +- .../actor/character/ArcanaLordTemplate.java | 4 +- .../actor/character/ArchmageTemplate.java | 4 +- .../actor/character/ArtisanTemplate.java | 4 +- .../actor/character/AssassinTemplate.java | 4 +- .../actor/character/BersekerTemplate.java | 4 +- .../actor/character/BishopTemplate.java | 4 +- .../actor/character/BladedancerTemplate.java | 4 +- .../actor/character/BountyHunterTemplate.java | 4 +- .../actor/character/CardinalTemplate.java | 4 +- .../actor/character/ClericTemplate.java | 4 +- .../actor/character/DarkAvengerTemplate.java | 4 +- .../actor/character/DarkFighterTemplate.java | 4 +- .../actor/character/DarkMysticTemplate.java | 4 +- .../actor/character/DarkWizardTemplate.java | 4 +- .../actor/character/DestroyerTemplate.java | 4 +- .../actor/character/DominatorTemplate.java | 4 +- .../actor/character/DoombringerTemplate.java | 4 +- .../actor/character/DoomcryerTemplate.java | 4 +- .../actor/character/DreadnoughtTemplate.java | 4 +- .../actor/character/DuelistTemplate.java | 4 +- .../character/DwarvenFighterTemplate.java | 4 +- .../actor/character/ElderTemplate.java | 4 +- .../character/ElementalMasterTemplate.java | 4 +- .../character/ElementalSummonerTemplate.java | 4 +- .../actor/character/ElvenFighterTemplate.java | 4 +- .../actor/character/ElvenKnightTemplate.java | 4 +- .../actor/character/ElvenMysticTemplate.java | 4 +- .../actor/character/ElvenScoutTemplate.java | 4 +- .../actor/character/ElvenWizardTemplate.java | 4 +- .../actor/character/EvaSaintTemplate.java | 4 +- .../actor/character/EvaTemplarTemplate.java | 4 +- .../character/FemaleSoldierTemplate.java | 4 +- .../character/FemaleSoulbreakerTemplate.java | 4 +- .../character/FemaleSouldhoundTemplate.java | 4 +- .../character/FortuneSeekerTemplate.java | 4 +- .../actor/character/GhostHunterTemplate.java | 4 +- .../character/GhostSentinelTemplate.java | 4 +- .../actor/character/GladiatorTemplate.java | 4 +- .../character/GrandKhauatariTemplate.java | 4 +- .../actor/character/HawkeyeTemplate.java | 4 +- .../actor/character/HellKnightTemplate.java | 4 +- .../actor/character/HierophantTemplate.java | 4 +- .../actor/character/HumanFighterTemplate.java | 4 +- .../actor/character/HumanMysticTemplate.java | 4 +- .../actor/character/InspectorTemplate.java | 4 +- .../actor/character/JudicatorTemplate.java | 4 +- .../actor/character/KnightTemplate.java | 4 +- .../actor/character/MaestroTemplate.java | 4 +- .../actor/character/MaleSoldierTemplate.java | 4 +- .../character/MaleSoulbreakerTemplate.java | 4 +- .../character/MaleSouldhoundTemplate.java | 4 +- .../character/MoonlightSentinelTemplate.java | 4 +- .../actor/character/MysticMuseTemplate.java | 4 +- .../actor/character/NecromancerTemplate.java | 4 +- .../actor/character/OracleTemplate.java | 4 +- .../actor/character/OrcFighterTemplate.java | 4 +- .../actor/character/OrcMonkTemplate.java | 4 +- .../actor/character/OrcMysticTemplate.java | 4 +- .../actor/character/OrcRaiderTemplate.java | 4 +- .../actor/character/OrcShamanTemplate.java | 4 +- .../actor/character/OverlordTemplate.java | 4 +- .../actor/character/PaladinTemplate.java | 4 +- .../actor/character/PalusKnightTemplate.java | 4 +- .../character/PhantomRangerTemplate.java | 4 +- .../character/PhantomSummonerTemplate.java | 4 +- .../character/PhoenixKnightTemplate.java | 4 +- .../actor/character/PlainsWalkerTemplate.java | 4 +- .../actor/character/ProphetTemplate.java | 4 +- .../actor/character/RogueTemplate.java | 4 +- .../actor/character/SagittariusTemplate.java | 4 +- .../actor/character/ScavengerTemplate.java | 4 +- .../character/ShillieanSaintTemplate.java | 4 +- .../character/ShillienElderTemplate.java | 4 +- .../character/ShillienKnightTemplate.java | 4 +- .../character/ShillienOracleTemplate.java | 4 +- .../character/ShillienTemplarTemplate.java | 4 +- .../actor/character/SilverRangerTemplate.java | 4 +- .../actor/character/SorcerorTemplate.java | 4 +- .../actor/character/SoultakerTemplate.java | 4 +- .../character/SpectralMasterTemplate.java | 4 +- .../character/SpectraldancerTemplate.java | 4 +- .../actor/character/SpellhowlerTemplate.java | 4 +- .../actor/character/SpellsingerTemplate.java | 4 +- .../character/StormScreamerTemplate.java | 4 +- .../actor/character/SwordMuseTemplate.java | 4 +- .../actor/character/SwordSingerTemplate.java | 4 +- .../actor/character/TempleKnightTemplate.java | 4 +- .../actor/character/TitanTemplate.java | 4 +- .../character/TreasureHunterTemplate.java | 4 +- .../actor/character/TricksterTemplate.java | 4 +- .../actor/character/TrooperTemplate.java | 4 +- .../actor/character/TyrantTemplate.java | 4 +- .../actor/character/WarcryerTemplate.java | 4 +- .../actor/character/WarderTemplate.java | 4 +- .../actor/character/WarlockTemplate.java | 4 +- .../actor/character/WarlordTemplate.java | 4 +- .../actor/character/WarriorTemplate.java | 4 +- .../actor/character/WarsmithTemplate.java | 4 +- .../actor/character/WindRiderTemplate.java | 4 +- .../actor/character/WizardTemplate.java | 4 +- .../actor/monster/WolfMonsterTemplate.java | 39 +++++ .../template/item/AdenaItemTemplate.java | 4 +- .../item/armor/Dummy2ArmorTemplate.java | 4 +- .../item/armor/DummyArmorTemplate.java | 4 +- .../item/potion/RedPotionTemplate.java | 4 +- .../item/weapon/LongSwordTemplate.java | 4 +- .../item/weapon/ShortSwordTemplate.java | 4 +- .../template/skill/TestSkillTemplate.java | 4 +- .../db/dao/mysql5/MySQL5CharacterDAO.java | 24 +-- .../dao/mysql5/MySQL5CharacterFriendDAO.java | 6 +- .../db/dao/mysql5/MySQL5ClanDAO.java | 12 +- .../db/dao/mysql5/MySQL5ItemDAO.java | 18 +-- .../java/com/l2jserver/GameServerModule.java | 4 +- .../java/com/l2jserver/L2JGameServerMain.java | 32 +++- .../game/net/Lineage2Connection.java | 2 + .../game/net/codec/Lineage2PacketReader.java | 5 +- .../net/packet/client/AuthLoginPacket.java | 6 +- .../packet/client/CharacterActionPacket.java | 99 ++++++++++++ .../packet/client/CharacterCreatePacket.java | 12 +- .../RequestCharacterTemplatesPacket.java | 6 +- ...t.java => CharacterInformationPacket.java} | 6 +- .../server/CharacterTargetSelectedPacket.java | 61 +++++++ .../packet/server/NPCInformationPacket.java | 106 ++++++++++++ .../net/packet/server/ServerObjectPacket.java | 67 ++++++++ src/main/java/com/l2jserver/model/id/ID.java | 1 - .../java/com/l2jserver/model/id/ObjectID.java | 36 ++++- .../model/id/factory/IDFactoryModule.java | 69 -------- .../com/l2jserver/model/id/object/NPCID.java | 49 ++++++ .../object/allocator/BitSetIDAllocator.java | 5 + .../id/object/allocator/IDAllocator.java | 5 + .../CharacterIDProvider.java} | 29 +++- .../ClanIDProvider.java} | 29 +++- .../ItemIDProvider.java} | 31 +++- .../id/object/provider/NPCIDProvider.java | 92 +++++++++++ .../ObjectIDProvider.java} | 8 +- .../id/object/provider/ObjectIDResolver.java | 77 +++++++++ .../PetIDProvider.java} | 29 +++- .../AccountIDProvider.java} | 4 +- .../CastleIDProvider.java} | 4 +- .../FortIDProvider.java} | 4 +- .../IDProvider.java} | 4 +- .../model/id/provider/IDProviderModule.java | 79 +++++++++ .../model/id/template/NPCTemplateID.java | 2 +- .../CharacterTemplateIDProvider.java} | 6 +- .../ItemTemplateIDProvider.java} | 6 +- .../provider/NPCTemplateIDProvider.java | 28 ++++ .../SkillTemplateIDProvider.java} | 6 +- .../TemplateIDProvider.java} | 8 +- .../model/template/ActorTemplate.java | 2 +- .../l2jserver/model/template/NPCTemplate.java | 106 +++++++++++- .../model/template/item/WeaponTemplate.java | 32 ++-- .../template/npc/AdventurerNPCTemplate.java | 2 +- .../template/npc/ArtefactNPCTemplate.java | 2 +- .../template/npc/AuctioneerNPCTemplate.java | 2 +- .../template/npc/BabyPetNPCTemplate.java | 2 +- .../model/template/npc/BlockNPCTemplate.java | 2 +- .../template/npc/CabaleBufferNPCTemplate.java | 2 +- .../npc/CastleBlacksmithNPCTemplate.java | 2 +- .../npc/CastleChamberlainNPCTemplate.java | 2 +- .../npc/CastleDoormenNPCTemplate.java | 2 +- .../npc/CastleMagicianNPCTemplate.java | 2 +- .../npc/CastleWyvernManagerNPCTemplate.java | 2 +- .../model/template/npc/ChestNPCTemplate.java | 2 +- .../npc/ChristmasTreeNPCTemplate.java | 2 +- .../template/npc/ClanTraderNPCTemplate.java | 2 +- .../npc/ClanhallDoormenNPCTemplate.java | 2 +- .../npc/ClanhallManagerNPCTemplate.java | 2 +- .../template/npc/ClassMasterNPCTemplate.java | 2 +- .../template/npc/ControlTowerNPCTemplate.java | 2 +- .../npc/DarkElfVillageMasterNPCTemplate.java | 2 +- .../template/npc/DawnPriestNPCTemplate.java | 2 +- .../model/template/npc/DecoyNPCTemplate.java | 2 +- .../template/npc/DefenderNPCTemplate.java | 2 +- .../template/npc/DoormenNPCTemplate.java | 2 +- .../npc/DungeonGatekeeperNPCTemplate.java | 2 +- .../template/npc/DuskPriestNPCTemplate.java | 2 +- .../npc/DwarfVillageMasterNPCTemplate.java | 2 +- .../template/npc/EffectPointNPCTemplate.java | 2 +- .../template/npc/EventChestNPCTemplate.java | 2 +- .../template/npc/FameManagerNPCTemplate.java | 2 +- .../npc/FeedableBeastNPCTemplate.java | 2 +- .../npc/FestivalGuideNPCTemplate.java | 2 +- .../npc/FestivalMonsterNPCTemplate.java | 2 +- .../npc/FightherVillageMasterNPCTemplate.java | 2 +- .../template/npc/FishermanNPCTemplate.java | 2 +- .../template/npc/FlameTowerNPCTemplate.java | 2 +- .../template/npc/FlyMonsterNPCTemplate.java | 2 +- .../model/template/npc/FlyNPCTemplate.java | 2 +- .../template/npc/FlyRaidBossNPCTemplate.java | 2 +- .../npc/FlyTerrainObjectNPCTemplate.java | 2 +- .../template/npc/FortBallistaNPCTemplate.java | 2 +- .../npc/FortCommanderNPCTemplate.java | 2 +- .../template/npc/FortDoormenNPCTemplate.java | 2 +- .../template/npc/FortEnvoyNPCTemplate.java | 2 +- .../npc/FortLogisticsNPCTemplate.java | 2 +- .../template/npc/FortManagerNPCTemplate.java | 2 +- .../template/npc/FortSiegeNPCTemplate.java | 2 +- .../npc/FortSupportCaptainNPCTemplate.java | 2 +- .../npc/FortWyvernManagerNPCTemplate.java | 2 +- .../npc/FriendlyMonsterNPCTemplate.java | 2 +- .../template/npc/GrandeBossNPCTemplate.java | 2 +- .../model/template/npc/GuardNPCTemplate.java | 2 +- .../npc/KamaelVillageMasterNPCTemplate.java | 2 +- .../template/npc/ManorManagerNPCTemplate.java | 2 +- .../template/npc/MercManagerNPCTemplate.java | 2 +- .../npc/MercenaryManagerNPCTemplate.java | 2 +- .../template/npc/MerchantNPCTemplate.java | 2 +- .../npc/MerchantSummonNPCTemplate.java | 2 +- .../template/npc/MonsterNPCTemplate.java | 19 ++- .../template/npc/ObservationNPCTemplate.java | 2 +- .../npc/OlympiadManagerNPCTemplate.java | 2 +- .../npc/OrcVillageMasterNPCTemplate.java | 2 +- .../template/npc/PenaltyNPCTemplate.java | 2 +- .../template/npc/PetManagerNPCTemplate.java | 2 +- .../npc/PriestVillageMasterNPCTemplate.java | 2 +- .../template/npc/RaidBossNPCTemplate.java | 2 +- .../template/npc/RiftInvaderNPCTemplate.java | 2 +- .../npc/SepulcherMonsterNPCTemplate.java | 2 +- .../model/template/npc/SiegeNPCTemplate.java | 2 +- .../template/npc/SiegeSummonNPCTemplate.java | 2 +- .../template/npc/SignsPriestsNPCTemplate.java | 2 +- .../template/npc/SymbolMakerNPCTemplate.java | 2 +- .../template/npc/TamedBeastNPCTemplate.java | 2 +- .../template/npc/TeleporterNPCTemplate.java | 2 +- .../npc/TerrainObjectNPCTemplate.java | 2 +- .../npc/TerritoryWardNPCTemplate.java | 2 +- .../template/npc/TownPetNPCTemplate.java | 2 +- .../template/npc/TrainerNPCTemplate.java | 2 +- .../npc/TransformManagerNPCTemplate.java | 2 +- .../model/template/npc/WalkerNPCTemplate.java | 2 +- .../template/npc/WarehouseNPCTemplate.java | 2 +- .../l2jserver/model/world/L2Character.java | 35 ++++ .../java/com/l2jserver/model/world/NPC.java | 43 +++++ .../event/CharacterTargetDeselectedEvent.java | 84 ++++++++++ .../event/CharacterTargetSelectedEvent.java | 85 ++++++++++ .../com/l2jserver/service/ServiceModule.java | 4 + .../database/MySQLDatabaseService.java | 5 +- .../service/game/CharacterService.java | 11 ++ .../service/game/CharacterServiceImpl.java | 52 +++++- .../game/world/id/CachedWorldIDService.java | 128 +++++++++++++++ .../service/game/world/id/WorldIDService.java | 49 ++++++ .../java/com/l2jserver/util/RGBColor.java | 2 +- .../l2jserver/util/calculator/Calculator.java | 152 +++++++++++++++--- ...onOperation.java => DivisionFunction.java} | 8 +- .../{Operation.java => Function.java} | 14 +- ...lusOperation.java => ModulusFunction.java} | 6 +- ...ation.java => MultiplicationFunction.java} | 8 +- ...gateOperation.java => NegateFunction.java} | 6 +- ...entOperation.java => PercentFunction.java} | 6 +- ...RoundOperation.java => RoundFunction.java} | 6 +- .../{SetOperation.java => SetFunction.java} | 8 +- ...ctOperation.java => SubtractFunction.java} | 8 +- .../{SumOperation.java => SumFunction.java} | 8 +- .../db/dao/mysql5/MySQL5CharacterDAOTest.java | 6 +- .../model/id/factory/IDFactoryTest.java | 9 +- .../character/CharacterFriendListTest.java | 10 +- .../template/StaticTemplateServiceTest.java | 10 +- .../world/WorldEventDispatcherImplTest.java | 33 +--- .../util/calculator/CalculatorTest.java | 106 +++++++----- 263 files changed, 2135 insertions(+), 663 deletions(-) delete mode 100644 data/script/ai/ai.xml create mode 100644 data/script/template/script/template/actor/monster/WolfMonsterTemplate.java create mode 100644 src/main/java/com/l2jserver/game/net/packet/client/CharacterActionPacket.java rename src/main/java/com/l2jserver/game/net/packet/server/{UserInformationPacket.java => CharacterInformationPacket.java} (98%) create mode 100644 src/main/java/com/l2jserver/game/net/packet/server/CharacterTargetSelectedPacket.java create mode 100644 src/main/java/com/l2jserver/game/net/packet/server/NPCInformationPacket.java create mode 100644 src/main/java/com/l2jserver/game/net/packet/server/ServerObjectPacket.java delete mode 100644 src/main/java/com/l2jserver/model/id/factory/IDFactoryModule.java create mode 100644 src/main/java/com/l2jserver/model/id/object/NPCID.java rename src/main/java/com/l2jserver/model/id/object/{factory/CharacterIDFactory.java => provider/CharacterIDProvider.java} (70%) rename src/main/java/com/l2jserver/model/id/object/{factory/ClanIDFactory.java => provider/ClanIDProvider.java} (70%) rename src/main/java/com/l2jserver/model/id/object/{factory/ItemIDFactory.java => provider/ItemIDProvider.java} (70%) create mode 100644 src/main/java/com/l2jserver/model/id/object/provider/NPCIDProvider.java rename src/main/java/com/l2jserver/model/id/object/{factory/ObjectIDFactory.java => provider/ObjectIDProvider.java} (83%) create mode 100644 src/main/java/com/l2jserver/model/id/object/provider/ObjectIDResolver.java rename src/main/java/com/l2jserver/model/id/object/{factory/PetIDFactory.java => provider/PetIDProvider.java} (70%) rename src/main/java/com/l2jserver/model/id/{factory/AccountIDFactory.java => provider/AccountIDProvider.java} (87%) rename src/main/java/com/l2jserver/model/id/{factory/CastleIDFactory.java => provider/CastleIDProvider.java} (87%) rename src/main/java/com/l2jserver/model/id/{factory/FortIDFactory.java => provider/FortIDProvider.java} (88%) rename src/main/java/com/l2jserver/model/id/{factory/IDFactory.java => provider/IDProvider.java} (91%) create mode 100644 src/main/java/com/l2jserver/model/id/provider/IDProviderModule.java rename src/main/java/com/l2jserver/model/id/template/{factory/CharacterTemplateIDFactory.java => provider/CharacterTemplateIDProvider.java} (85%) rename src/main/java/com/l2jserver/model/id/template/{factory/ItemTemplateIDFactory.java => provider/ItemTemplateIDProvider.java} (86%) create mode 100644 src/main/java/com/l2jserver/model/id/template/provider/NPCTemplateIDProvider.java rename src/main/java/com/l2jserver/model/id/template/{factory/SkillTemplateIDFactory.java => provider/SkillTemplateIDProvider.java} (86%) rename src/main/java/com/l2jserver/model/id/template/{factory/TemplateIDFactory.java => provider/TemplateIDProvider.java} (82%) create mode 100644 src/main/java/com/l2jserver/model/world/character/event/CharacterTargetDeselectedEvent.java create mode 100644 src/main/java/com/l2jserver/model/world/character/event/CharacterTargetSelectedEvent.java create mode 100644 src/main/java/com/l2jserver/service/game/world/id/CachedWorldIDService.java create mode 100644 src/main/java/com/l2jserver/service/game/world/id/WorldIDService.java rename src/main/java/com/l2jserver/util/calculator/{DivisionOperation.java => DivisionFunction.java} (81%) rename src/main/java/com/l2jserver/util/calculator/{Operation.java => Function.java} (68%) rename src/main/java/com/l2jserver/util/calculator/{ModulusOperation.java => ModulusFunction.java} (83%) rename src/main/java/com/l2jserver/util/calculator/{MultiplicationOperation.java => MultiplicationFunction.java} (80%) rename src/main/java/com/l2jserver/util/calculator/{NegateOperation.java => NegateFunction.java} (82%) rename src/main/java/com/l2jserver/util/calculator/{PercentOperation.java => PercentFunction.java} (83%) rename src/main/java/com/l2jserver/util/calculator/{RoundOperation.java => RoundFunction.java} (84%) rename src/main/java/com/l2jserver/util/calculator/{SetOperation.java => SetFunction.java} (81%) rename src/main/java/com/l2jserver/util/calculator/{SubtractOperation.java => SubtractFunction.java} (81%) rename src/main/java/com/l2jserver/util/calculator/{SumOperation.java => SumFunction.java} (82%) diff --git a/data/script/ai/ai.xml b/data/script/ai/ai.xml deleted file mode 100644 index ba472b608..000000000 --- a/data/script/ai/ai.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/data/script/template/script/template/actor/character/AbyssWalkerTemplate.java b/data/script/template/script/template/actor/character/AbyssWalkerTemplate.java index cf1c036fd..2d63c79a2 100644 --- a/data/script/template/script/template/actor/character/AbyssWalkerTemplate.java +++ b/data/script/template/script/template/actor/character/AbyssWalkerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public AbyssWalkerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ABYSS_WALKER.id), CharacterClass.ABYSS_WALKER, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/AdventurerTemplate.java b/data/script/template/script/template/actor/character/AdventurerTemplate.java index 7db1a47f6..976cd97ea 100644 --- a/data/script/template/script/template/actor/character/AdventurerTemplate.java +++ b/data/script/template/script/template/actor/character/AdventurerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public AdventurerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ADVENTURER.id), CharacterClass.ADVENTURER, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/ArbalesterTemplate.java b/data/script/template/script/template/actor/character/ArbalesterTemplate.java index e879c2251..6eb04f5b0 100644 --- a/data/script/template/script/template/actor/character/ArbalesterTemplate.java +++ b/data/script/template/script/template/actor/character/ArbalesterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ArbalesterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ARBALESTER.id), CharacterClass.ARBALESTER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/ArcanaLordTemplate.java b/data/script/template/script/template/actor/character/ArcanaLordTemplate.java index c1e4db813..e572f6b3f 100644 --- a/data/script/template/script/template/actor/character/ArcanaLordTemplate.java +++ b/data/script/template/script/template/actor/character/ArcanaLordTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ArcanaLordTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ARCANA_LORD.id), CharacterClass.ARCANA_LORD, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/ArchmageTemplate.java b/data/script/template/script/template/actor/character/ArchmageTemplate.java index fda10a911..1e88bffe9 100644 --- a/data/script/template/script/template/actor/character/ArchmageTemplate.java +++ b/data/script/template/script/template/actor/character/ArchmageTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ArchmageTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ARCHMAGE.id), CharacterClass.ARCHMAGE, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/ArtisanTemplate.java b/data/script/template/script/template/actor/character/ArtisanTemplate.java index 20a935742..ca6bd8c31 100644 --- a/data/script/template/script/template/actor/character/ArtisanTemplate.java +++ b/data/script/template/script/template/actor/character/ArtisanTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ArtisanTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ARTISAN.id), CharacterClass.ARTISAN, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/AssassinTemplate.java b/data/script/template/script/template/actor/character/AssassinTemplate.java index c06cc5798..3c1509306 100644 --- a/data/script/template/script/template/actor/character/AssassinTemplate.java +++ b/data/script/template/script/template/actor/character/AssassinTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public AssassinTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ASSASSIN.id), CharacterClass.ASSASSIN, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/BersekerTemplate.java b/data/script/template/script/template/actor/character/BersekerTemplate.java index 2cca37730..998fb75f6 100644 --- a/data/script/template/script/template/actor/character/BersekerTemplate.java +++ b/data/script/template/script/template/actor/character/BersekerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public BersekerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.BERSEKER.id), CharacterClass.BERSEKER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/BishopTemplate.java b/data/script/template/script/template/actor/character/BishopTemplate.java index a472bb06a..9cc902f66 100644 --- a/data/script/template/script/template/actor/character/BishopTemplate.java +++ b/data/script/template/script/template/actor/character/BishopTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public BishopTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.BISHOP.id), CharacterClass.BISHOP, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/BladedancerTemplate.java b/data/script/template/script/template/actor/character/BladedancerTemplate.java index 4366b032a..e0f24caaa 100644 --- a/data/script/template/script/template/actor/character/BladedancerTemplate.java +++ b/data/script/template/script/template/actor/character/BladedancerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public BladedancerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.BLADEDANCER.id), CharacterClass.BLADEDANCER, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/BountyHunterTemplate.java b/data/script/template/script/template/actor/character/BountyHunterTemplate.java index 8f3c18f13..978c06cc1 100644 --- a/data/script/template/script/template/actor/character/BountyHunterTemplate.java +++ b/data/script/template/script/template/actor/character/BountyHunterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public BountyHunterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.BOUNTY_HUNTER.id), CharacterClass.BOUNTY_HUNTER, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/CardinalTemplate.java b/data/script/template/script/template/actor/character/CardinalTemplate.java index 62166ee43..fb010d2e8 100644 --- a/data/script/template/script/template/actor/character/CardinalTemplate.java +++ b/data/script/template/script/template/actor/character/CardinalTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public CardinalTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.CARDINAL.id), CharacterClass.CARDINAL, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/ClericTemplate.java b/data/script/template/script/template/actor/character/ClericTemplate.java index 0e93158eb..80b8777a8 100644 --- a/data/script/template/script/template/actor/character/ClericTemplate.java +++ b/data/script/template/script/template/actor/character/ClericTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ClericTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.CLERIC.id), CharacterClass.CLERIC, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/DarkAvengerTemplate.java b/data/script/template/script/template/actor/character/DarkAvengerTemplate.java index 8e1da9f8d..ac95a5e45 100644 --- a/data/script/template/script/template/actor/character/DarkAvengerTemplate.java +++ b/data/script/template/script/template/actor/character/DarkAvengerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DarkAvengerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DARK_AVENGER.id), CharacterClass.DARK_AVENGER, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/DarkFighterTemplate.java b/data/script/template/script/template/actor/character/DarkFighterTemplate.java index 1364c18c2..caef40da3 100644 --- a/data/script/template/script/template/actor/character/DarkFighterTemplate.java +++ b/data/script/template/script/template/actor/character/DarkFighterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DarkFighterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DARK_FIGHTER.id), CharacterClass.DARK_FIGHTER, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/DarkMysticTemplate.java b/data/script/template/script/template/actor/character/DarkMysticTemplate.java index f98740d9d..5fb6437f3 100644 --- a/data/script/template/script/template/actor/character/DarkMysticTemplate.java +++ b/data/script/template/script/template/actor/character/DarkMysticTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DarkMysticTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DARK_MYSTIC.id), CharacterClass.DARK_MYSTIC, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/DarkWizardTemplate.java b/data/script/template/script/template/actor/character/DarkWizardTemplate.java index 370c6d5e5..a9ad19805 100644 --- a/data/script/template/script/template/actor/character/DarkWizardTemplate.java +++ b/data/script/template/script/template/actor/character/DarkWizardTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DarkWizardTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DARK_WIZARD.id), CharacterClass.DARK_WIZARD, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/DestroyerTemplate.java b/data/script/template/script/template/actor/character/DestroyerTemplate.java index 748c670c4..13018f434 100644 --- a/data/script/template/script/template/actor/character/DestroyerTemplate.java +++ b/data/script/template/script/template/actor/character/DestroyerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DestroyerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DESTROYER.id), CharacterClass.DESTROYER, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/DominatorTemplate.java b/data/script/template/script/template/actor/character/DominatorTemplate.java index f4faef44b..8c0bff6b0 100644 --- a/data/script/template/script/template/actor/character/DominatorTemplate.java +++ b/data/script/template/script/template/actor/character/DominatorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DominatorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DOMINATOR.id), CharacterClass.DOMINATOR, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/DoombringerTemplate.java b/data/script/template/script/template/actor/character/DoombringerTemplate.java index 3d69ca6fa..1f681dbaa 100644 --- a/data/script/template/script/template/actor/character/DoombringerTemplate.java +++ b/data/script/template/script/template/actor/character/DoombringerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DoombringerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DOOMBRINGER.id), CharacterClass.DOOMBRINGER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/DoomcryerTemplate.java b/data/script/template/script/template/actor/character/DoomcryerTemplate.java index 83cd5d9e3..b758fda17 100644 --- a/data/script/template/script/template/actor/character/DoomcryerTemplate.java +++ b/data/script/template/script/template/actor/character/DoomcryerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DoomcryerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DOOMCRYER.id), CharacterClass.DOOMCRYER, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/DreadnoughtTemplate.java b/data/script/template/script/template/actor/character/DreadnoughtTemplate.java index 10bae9960..43202f886 100644 --- a/data/script/template/script/template/actor/character/DreadnoughtTemplate.java +++ b/data/script/template/script/template/actor/character/DreadnoughtTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DreadnoughtTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DREADNOUGHT.id), CharacterClass.DREADNOUGHT, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/DuelistTemplate.java b/data/script/template/script/template/actor/character/DuelistTemplate.java index 3682e4cc3..567a531f5 100644 --- a/data/script/template/script/template/actor/character/DuelistTemplate.java +++ b/data/script/template/script/template/actor/character/DuelistTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DuelistTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DUELIST.id), CharacterClass.DUELIST, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/DwarvenFighterTemplate.java b/data/script/template/script/template/actor/character/DwarvenFighterTemplate.java index ac43894d0..6a865d67d 100644 --- a/data/script/template/script/template/actor/character/DwarvenFighterTemplate.java +++ b/data/script/template/script/template/actor/character/DwarvenFighterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public DwarvenFighterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.DWARVEN_FIGHTER.id), CharacterClass.DWARVEN_FIGHTER, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/ElderTemplate.java b/data/script/template/script/template/actor/character/ElderTemplate.java index b56c852f7..8b0f580cc 100644 --- a/data/script/template/script/template/actor/character/ElderTemplate.java +++ b/data/script/template/script/template/actor/character/ElderTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElderTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELDER.id), CharacterClass.ELDER, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/ElementalMasterTemplate.java b/data/script/template/script/template/actor/character/ElementalMasterTemplate.java index 29d87e2be..91aa58d2d 100644 --- a/data/script/template/script/template/actor/character/ElementalMasterTemplate.java +++ b/data/script/template/script/template/actor/character/ElementalMasterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElementalMasterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELEMENTAL_MASTER.id), CharacterClass.ELEMENTAL_MASTER, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/ElementalSummonerTemplate.java b/data/script/template/script/template/actor/character/ElementalSummonerTemplate.java index a91e7052f..eee2d9311 100644 --- a/data/script/template/script/template/actor/character/ElementalSummonerTemplate.java +++ b/data/script/template/script/template/actor/character/ElementalSummonerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElementalSummonerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELEMENTAL_SUMMONER.id), CharacterClass.ELEMENTAL_SUMMONER, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/ElvenFighterTemplate.java b/data/script/template/script/template/actor/character/ElvenFighterTemplate.java index b110b25f4..60d25a76a 100644 --- a/data/script/template/script/template/actor/character/ElvenFighterTemplate.java +++ b/data/script/template/script/template/actor/character/ElvenFighterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElvenFighterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELVEN_FIGHTER.id), CharacterClass.ELVEN_FIGHTER, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/ElvenKnightTemplate.java b/data/script/template/script/template/actor/character/ElvenKnightTemplate.java index ff8b74b58..e8c6b700a 100644 --- a/data/script/template/script/template/actor/character/ElvenKnightTemplate.java +++ b/data/script/template/script/template/actor/character/ElvenKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElvenKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELVEN_KNIGHT.id), CharacterClass.ELVEN_KNIGHT, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/ElvenMysticTemplate.java b/data/script/template/script/template/actor/character/ElvenMysticTemplate.java index 4e1356342..e6eff9263 100644 --- a/data/script/template/script/template/actor/character/ElvenMysticTemplate.java +++ b/data/script/template/script/template/actor/character/ElvenMysticTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElvenMysticTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELVEN_MYSTIC.id), CharacterClass.ELVEN_MYSTIC, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/ElvenScoutTemplate.java b/data/script/template/script/template/actor/character/ElvenScoutTemplate.java index fb34f3144..e23003ddb 100644 --- a/data/script/template/script/template/actor/character/ElvenScoutTemplate.java +++ b/data/script/template/script/template/actor/character/ElvenScoutTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElvenScoutTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELVEN_SCOUT.id), CharacterClass.ELVEN_SCOUT, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/ElvenWizardTemplate.java b/data/script/template/script/template/actor/character/ElvenWizardTemplate.java index 3350ea25a..1513705f3 100644 --- a/data/script/template/script/template/actor/character/ElvenWizardTemplate.java +++ b/data/script/template/script/template/actor/character/ElvenWizardTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ElvenWizardTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ELVEN_WIZARD.id), CharacterClass.ELVEN_WIZARD, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/EvaSaintTemplate.java b/data/script/template/script/template/actor/character/EvaSaintTemplate.java index 2e924e9b3..b67b43b24 100644 --- a/data/script/template/script/template/actor/character/EvaSaintTemplate.java +++ b/data/script/template/script/template/actor/character/EvaSaintTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public EvaSaintTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.EVA_SAINT.id), CharacterClass.EVA_SAINT, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/EvaTemplarTemplate.java b/data/script/template/script/template/actor/character/EvaTemplarTemplate.java index fd242f188..7f176ad79 100644 --- a/data/script/template/script/template/actor/character/EvaTemplarTemplate.java +++ b/data/script/template/script/template/actor/character/EvaTemplarTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public EvaTemplarTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.EVA_TEMPLAR.id), CharacterClass.EVA_TEMPLAR, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/FemaleSoldierTemplate.java b/data/script/template/script/template/actor/character/FemaleSoldierTemplate.java index 125cc82ed..7b7f98c62 100644 --- a/data/script/template/script/template/actor/character/FemaleSoldierTemplate.java +++ b/data/script/template/script/template/actor/character/FemaleSoldierTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public FemaleSoldierTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.FEMALE_SOLDIER.id), CharacterClass.FEMALE_SOLDIER, Point.fromXYZ(-125517, 38267, 1176)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/FemaleSoulbreakerTemplate.java b/data/script/template/script/template/actor/character/FemaleSoulbreakerTemplate.java index 9565ffa21..bddd22aa4 100644 --- a/data/script/template/script/template/actor/character/FemaleSoulbreakerTemplate.java +++ b/data/script/template/script/template/actor/character/FemaleSoulbreakerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public FemaleSoulbreakerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.FEMALE_SOULBREAKER.id), CharacterClass.FEMALE_SOULBREAKER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/FemaleSouldhoundTemplate.java b/data/script/template/script/template/actor/character/FemaleSouldhoundTemplate.java index 3447f8cbe..77c1c7fb5 100644 --- a/data/script/template/script/template/actor/character/FemaleSouldhoundTemplate.java +++ b/data/script/template/script/template/actor/character/FemaleSouldhoundTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public FemaleSouldhoundTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.FEMALE_SOULDHOUND.id), CharacterClass.FEMALE_SOULDHOUND, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/FortuneSeekerTemplate.java b/data/script/template/script/template/actor/character/FortuneSeekerTemplate.java index da7756912..ee7bbd0c0 100644 --- a/data/script/template/script/template/actor/character/FortuneSeekerTemplate.java +++ b/data/script/template/script/template/actor/character/FortuneSeekerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public FortuneSeekerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.FORTUNE_SEEKER.id), CharacterClass.FORTUNE_SEEKER, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/GhostHunterTemplate.java b/data/script/template/script/template/actor/character/GhostHunterTemplate.java index f001640b9..778b1a2a3 100644 --- a/data/script/template/script/template/actor/character/GhostHunterTemplate.java +++ b/data/script/template/script/template/actor/character/GhostHunterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public GhostHunterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.GHOST_HUNTER.id), CharacterClass.GHOST_HUNTER, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/GhostSentinelTemplate.java b/data/script/template/script/template/actor/character/GhostSentinelTemplate.java index 41ab94496..558bc8e19 100644 --- a/data/script/template/script/template/actor/character/GhostSentinelTemplate.java +++ b/data/script/template/script/template/actor/character/GhostSentinelTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public GhostSentinelTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.GHOST_SENTINEL.id), CharacterClass.GHOST_SENTINEL, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/GladiatorTemplate.java b/data/script/template/script/template/actor/character/GladiatorTemplate.java index cc20abd82..a0f087bd2 100644 --- a/data/script/template/script/template/actor/character/GladiatorTemplate.java +++ b/data/script/template/script/template/actor/character/GladiatorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public GladiatorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.GLADIATOR.id), CharacterClass.GLADIATOR, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/GrandKhauatariTemplate.java b/data/script/template/script/template/actor/character/GrandKhauatariTemplate.java index 8a6ec782a..254d2bacf 100644 --- a/data/script/template/script/template/actor/character/GrandKhauatariTemplate.java +++ b/data/script/template/script/template/actor/character/GrandKhauatariTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public GrandKhauatariTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.GRAND_KHAUATARI.id), CharacterClass.GRAND_KHAUATARI, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/HawkeyeTemplate.java b/data/script/template/script/template/actor/character/HawkeyeTemplate.java index 6d60536a2..48fe35191 100644 --- a/data/script/template/script/template/actor/character/HawkeyeTemplate.java +++ b/data/script/template/script/template/actor/character/HawkeyeTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public HawkeyeTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.HAWKEYE.id), CharacterClass.HAWKEYE, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/HellKnightTemplate.java b/data/script/template/script/template/actor/character/HellKnightTemplate.java index 6b6a2819c..046ef693a 100644 --- a/data/script/template/script/template/actor/character/HellKnightTemplate.java +++ b/data/script/template/script/template/actor/character/HellKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public HellKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.HELL_KNIGHT.id), CharacterClass.HELL_KNIGHT, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/HierophantTemplate.java b/data/script/template/script/template/actor/character/HierophantTemplate.java index 60d2ce990..71cf24797 100644 --- a/data/script/template/script/template/actor/character/HierophantTemplate.java +++ b/data/script/template/script/template/actor/character/HierophantTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public HierophantTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.HIEROPHANT.id), CharacterClass.HIEROPHANT, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/HumanFighterTemplate.java b/data/script/template/script/template/actor/character/HumanFighterTemplate.java index 7c270665f..3a98c1163 100644 --- a/data/script/template/script/template/actor/character/HumanFighterTemplate.java +++ b/data/script/template/script/template/actor/character/HumanFighterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; import com.l2jserver.util.dimensional.Point; public class HumanFighterTemplate extends AbstractHumanCharacterTemplate { @Inject - public HumanFighterTemplate(CharacterTemplateIDFactory factory) { + public HumanFighterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.HUMAN_FIGHTER.id), CharacterClass.HUMAN_FIGHTER, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/HumanMysticTemplate.java b/data/script/template/script/template/actor/character/HumanMysticTemplate.java index 37d6f353f..f73190cf5 100644 --- a/data/script/template/script/template/actor/character/HumanMysticTemplate.java +++ b/data/script/template/script/template/actor/character/HumanMysticTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterClass; import com.l2jserver.util.dimensional.Point; public class HumanMysticTemplate extends AbstractHumanCharacterTemplate { @Inject - public HumanMysticTemplate(CharacterTemplateIDFactory factory) { + public HumanMysticTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.HUMAN_MYSTIC.id), CharacterClass.HUMAN_MYSTIC, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/InspectorTemplate.java b/data/script/template/script/template/actor/character/InspectorTemplate.java index 884b8f9d5..da1aae465 100644 --- a/data/script/template/script/template/actor/character/InspectorTemplate.java +++ b/data/script/template/script/template/actor/character/InspectorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public InspectorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.INSPECTOR.id), CharacterClass.INSPECTOR, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/JudicatorTemplate.java b/data/script/template/script/template/actor/character/JudicatorTemplate.java index f1ab27b46..c45a2e900 100644 --- a/data/script/template/script/template/actor/character/JudicatorTemplate.java +++ b/data/script/template/script/template/actor/character/JudicatorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public JudicatorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.JUDICATOR.id), CharacterClass.JUDICATOR, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/KnightTemplate.java b/data/script/template/script/template/actor/character/KnightTemplate.java index 55426ffb5..7fb955c03 100644 --- a/data/script/template/script/template/actor/character/KnightTemplate.java +++ b/data/script/template/script/template/actor/character/KnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public KnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.KNIGHT.id), CharacterClass.KNIGHT, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/MaestroTemplate.java b/data/script/template/script/template/actor/character/MaestroTemplate.java index 306609896..7e02ba9bd 100644 --- a/data/script/template/script/template/actor/character/MaestroTemplate.java +++ b/data/script/template/script/template/actor/character/MaestroTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MaestroTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MAESTRO.id), CharacterClass.MAESTRO, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/MaleSoldierTemplate.java b/data/script/template/script/template/actor/character/MaleSoldierTemplate.java index cb7b3cba8..2278bf7c8 100644 --- a/data/script/template/script/template/actor/character/MaleSoldierTemplate.java +++ b/data/script/template/script/template/actor/character/MaleSoldierTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MaleSoldierTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MALE_SOLDIER.id), CharacterClass.MALE_SOLDIER, Point.fromXYZ(-125464, 37776, 1176)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/MaleSoulbreakerTemplate.java b/data/script/template/script/template/actor/character/MaleSoulbreakerTemplate.java index eee750070..2e71949d1 100644 --- a/data/script/template/script/template/actor/character/MaleSoulbreakerTemplate.java +++ b/data/script/template/script/template/actor/character/MaleSoulbreakerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MaleSoulbreakerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MALE_SOULBREAKER.id), CharacterClass.MALE_SOULBREAKER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/MaleSouldhoundTemplate.java b/data/script/template/script/template/actor/character/MaleSouldhoundTemplate.java index 1f5219409..f78e2ed7f 100644 --- a/data/script/template/script/template/actor/character/MaleSouldhoundTemplate.java +++ b/data/script/template/script/template/actor/character/MaleSouldhoundTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MaleSouldhoundTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MALE_SOULDHOUND.id), CharacterClass.MALE_SOULDHOUND, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/MoonlightSentinelTemplate.java b/data/script/template/script/template/actor/character/MoonlightSentinelTemplate.java index f3dda0241..624b14b76 100644 --- a/data/script/template/script/template/actor/character/MoonlightSentinelTemplate.java +++ b/data/script/template/script/template/actor/character/MoonlightSentinelTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MoonlightSentinelTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MOONLIGHT_SENTINEL.id), CharacterClass.MOONLIGHT_SENTINEL, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/MysticMuseTemplate.java b/data/script/template/script/template/actor/character/MysticMuseTemplate.java index a21425c5e..9dcdee281 100644 --- a/data/script/template/script/template/actor/character/MysticMuseTemplate.java +++ b/data/script/template/script/template/actor/character/MysticMuseTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public MysticMuseTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.MYSTIC_MUSE.id), CharacterClass.MYSTIC_MUSE, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/NecromancerTemplate.java b/data/script/template/script/template/actor/character/NecromancerTemplate.java index 042e368c0..ccbd5db57 100644 --- a/data/script/template/script/template/actor/character/NecromancerTemplate.java +++ b/data/script/template/script/template/actor/character/NecromancerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public NecromancerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.NECROMANCER.id), CharacterClass.NECROMANCER, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/OracleTemplate.java b/data/script/template/script/template/actor/character/OracleTemplate.java index 7ec1f3ff1..fee970009 100644 --- a/data/script/template/script/template/actor/character/OracleTemplate.java +++ b/data/script/template/script/template/actor/character/OracleTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OracleTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORACLE.id), CharacterClass.ORACLE, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/OrcFighterTemplate.java b/data/script/template/script/template/actor/character/OrcFighterTemplate.java index 3ea40da2d..72f136658 100644 --- a/data/script/template/script/template/actor/character/OrcFighterTemplate.java +++ b/data/script/template/script/template/actor/character/OrcFighterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OrcFighterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORC_FIGHTER.id), CharacterClass.ORC_FIGHTER, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/OrcMonkTemplate.java b/data/script/template/script/template/actor/character/OrcMonkTemplate.java index cbe39d1e6..566283409 100644 --- a/data/script/template/script/template/actor/character/OrcMonkTemplate.java +++ b/data/script/template/script/template/actor/character/OrcMonkTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OrcMonkTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORC_MONK.id), CharacterClass.ORC_MONK, Point.fromXYZ(-56682, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/OrcMysticTemplate.java b/data/script/template/script/template/actor/character/OrcMysticTemplate.java index 6c983fb87..4228dfda5 100644 --- a/data/script/template/script/template/actor/character/OrcMysticTemplate.java +++ b/data/script/template/script/template/actor/character/OrcMysticTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OrcMysticTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORC_MYSTIC.id), CharacterClass.ORC_MYSTIC, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/OrcRaiderTemplate.java b/data/script/template/script/template/actor/character/OrcRaiderTemplate.java index a48a227fa..68be761bd 100644 --- a/data/script/template/script/template/actor/character/OrcRaiderTemplate.java +++ b/data/script/template/script/template/actor/character/OrcRaiderTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OrcRaiderTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORC_RAIDER.id), CharacterClass.ORC_RAIDER, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/OrcShamanTemplate.java b/data/script/template/script/template/actor/character/OrcShamanTemplate.java index b783b060a..16b2f9076 100644 --- a/data/script/template/script/template/actor/character/OrcShamanTemplate.java +++ b/data/script/template/script/template/actor/character/OrcShamanTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OrcShamanTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ORC_SHAMAN.id), CharacterClass.ORC_SHAMAN, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/OverlordTemplate.java b/data/script/template/script/template/actor/character/OverlordTemplate.java index e7586b5be..c739900f1 100644 --- a/data/script/template/script/template/actor/character/OverlordTemplate.java +++ b/data/script/template/script/template/actor/character/OverlordTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public OverlordTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.OVERLORD.id), CharacterClass.OVERLORD, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/PaladinTemplate.java b/data/script/template/script/template/actor/character/PaladinTemplate.java index 2fcdc5dc1..cae7b137d 100644 --- a/data/script/template/script/template/actor/character/PaladinTemplate.java +++ b/data/script/template/script/template/actor/character/PaladinTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PaladinTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PALADIN.id), CharacterClass.PALADIN, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/PalusKnightTemplate.java b/data/script/template/script/template/actor/character/PalusKnightTemplate.java index 187ece6ff..2a4848fe4 100644 --- a/data/script/template/script/template/actor/character/PalusKnightTemplate.java +++ b/data/script/template/script/template/actor/character/PalusKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PalusKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PALUS_KNIGHT.id), CharacterClass.PALUS_KNIGHT, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/PhantomRangerTemplate.java b/data/script/template/script/template/actor/character/PhantomRangerTemplate.java index 9626edf35..be16d3187 100644 --- a/data/script/template/script/template/actor/character/PhantomRangerTemplate.java +++ b/data/script/template/script/template/actor/character/PhantomRangerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PhantomRangerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PHANTOM_RANGER.id), CharacterClass.PHANTOM_RANGER, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/PhantomSummonerTemplate.java b/data/script/template/script/template/actor/character/PhantomSummonerTemplate.java index cf8daf234..01a809dab 100644 --- a/data/script/template/script/template/actor/character/PhantomSummonerTemplate.java +++ b/data/script/template/script/template/actor/character/PhantomSummonerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PhantomSummonerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PHANTOM_SUMMONER.id), CharacterClass.PHANTOM_SUMMONER, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/PhoenixKnightTemplate.java b/data/script/template/script/template/actor/character/PhoenixKnightTemplate.java index f7472e4c6..438c58e81 100644 --- a/data/script/template/script/template/actor/character/PhoenixKnightTemplate.java +++ b/data/script/template/script/template/actor/character/PhoenixKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PhoenixKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PHOENIX_KNIGHT.id), CharacterClass.PHOENIX_KNIGHT, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/PlainsWalkerTemplate.java b/data/script/template/script/template/actor/character/PlainsWalkerTemplate.java index 9ccf8c501..328380560 100644 --- a/data/script/template/script/template/actor/character/PlainsWalkerTemplate.java +++ b/data/script/template/script/template/actor/character/PlainsWalkerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public PlainsWalkerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PLAINS_WALKER.id), CharacterClass.PLAINS_WALKER, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/ProphetTemplate.java b/data/script/template/script/template/actor/character/ProphetTemplate.java index 2256f05dd..4267a098b 100644 --- a/data/script/template/script/template/actor/character/ProphetTemplate.java +++ b/data/script/template/script/template/actor/character/ProphetTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ProphetTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.PROPHET.id), CharacterClass.PROPHET, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/RogueTemplate.java b/data/script/template/script/template/actor/character/RogueTemplate.java index 1773f3af5..5421c8b52 100644 --- a/data/script/template/script/template/actor/character/RogueTemplate.java +++ b/data/script/template/script/template/actor/character/RogueTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public RogueTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.ROGUE.id), CharacterClass.ROGUE, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/SagittariusTemplate.java b/data/script/template/script/template/actor/character/SagittariusTemplate.java index 05fcdb01d..f694feff4 100644 --- a/data/script/template/script/template/actor/character/SagittariusTemplate.java +++ b/data/script/template/script/template/actor/character/SagittariusTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SagittariusTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SAGITTARIUS.id), CharacterClass.SAGITTARIUS, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/ScavengerTemplate.java b/data/script/template/script/template/actor/character/ScavengerTemplate.java index c2628439e..963f49e0a 100644 --- a/data/script/template/script/template/actor/character/ScavengerTemplate.java +++ b/data/script/template/script/template/actor/character/ScavengerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ScavengerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SCAVENGER.id), CharacterClass.SCAVENGER, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/ShillieanSaintTemplate.java b/data/script/template/script/template/actor/character/ShillieanSaintTemplate.java index 0f4b894c5..f91785bdd 100644 --- a/data/script/template/script/template/actor/character/ShillieanSaintTemplate.java +++ b/data/script/template/script/template/actor/character/ShillieanSaintTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ShillieanSaintTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SHILLIEAN_SAINT.id), CharacterClass.SHILLIEAN_SAINT, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/ShillienElderTemplate.java b/data/script/template/script/template/actor/character/ShillienElderTemplate.java index 5db855d25..472d10535 100644 --- a/data/script/template/script/template/actor/character/ShillienElderTemplate.java +++ b/data/script/template/script/template/actor/character/ShillienElderTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ShillienElderTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SHILLIEN_ELDER.id), CharacterClass.SHILLIEN_ELDER, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/ShillienKnightTemplate.java b/data/script/template/script/template/actor/character/ShillienKnightTemplate.java index 42af9f396..4a021444a 100644 --- a/data/script/template/script/template/actor/character/ShillienKnightTemplate.java +++ b/data/script/template/script/template/actor/character/ShillienKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ShillienKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SHILLIEN_KNIGHT.id), CharacterClass.SHILLIEN_KNIGHT, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/ShillienOracleTemplate.java b/data/script/template/script/template/actor/character/ShillienOracleTemplate.java index f3264ec0d..4b2bd5f3d 100644 --- a/data/script/template/script/template/actor/character/ShillienOracleTemplate.java +++ b/data/script/template/script/template/actor/character/ShillienOracleTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ShillienOracleTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SHILLIEN_ORACLE.id), CharacterClass.SHILLIEN_ORACLE, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/ShillienTemplarTemplate.java b/data/script/template/script/template/actor/character/ShillienTemplarTemplate.java index 5efaba2cc..c1eb98b34 100644 --- a/data/script/template/script/template/actor/character/ShillienTemplarTemplate.java +++ b/data/script/template/script/template/actor/character/ShillienTemplarTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public ShillienTemplarTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SHILLIEN_TEMPLAR.id), CharacterClass.SHILLIEN_TEMPLAR, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/SilverRangerTemplate.java b/data/script/template/script/template/actor/character/SilverRangerTemplate.java index 0af74ab95..ebdc67894 100644 --- a/data/script/template/script/template/actor/character/SilverRangerTemplate.java +++ b/data/script/template/script/template/actor/character/SilverRangerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SilverRangerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SILVER_RANGER.id), CharacterClass.SILVER_RANGER, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/SorcerorTemplate.java b/data/script/template/script/template/actor/character/SorcerorTemplate.java index 382d75416..0f1a29c61 100644 --- a/data/script/template/script/template/actor/character/SorcerorTemplate.java +++ b/data/script/template/script/template/actor/character/SorcerorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SorcerorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SORCEROR.id), CharacterClass.SORCEROR, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/SoultakerTemplate.java b/data/script/template/script/template/actor/character/SoultakerTemplate.java index 21596a85b..1d44b75f6 100644 --- a/data/script/template/script/template/actor/character/SoultakerTemplate.java +++ b/data/script/template/script/template/actor/character/SoultakerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SoultakerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SOULTAKER.id), CharacterClass.SOULTAKER, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/SpectralMasterTemplate.java b/data/script/template/script/template/actor/character/SpectralMasterTemplate.java index f424503d2..887af0e32 100644 --- a/data/script/template/script/template/actor/character/SpectralMasterTemplate.java +++ b/data/script/template/script/template/actor/character/SpectralMasterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SpectralMasterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SPECTRAL_MASTER.id), CharacterClass.SPECTRAL_MASTER, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/SpectraldancerTemplate.java b/data/script/template/script/template/actor/character/SpectraldancerTemplate.java index f79469505..554ed7be2 100644 --- a/data/script/template/script/template/actor/character/SpectraldancerTemplate.java +++ b/data/script/template/script/template/actor/character/SpectraldancerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SpectraldancerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.spectralDancer.id), CharacterClass.spectralDancer, Point.fromXYZ(28377, 10916, -4224)); // ATTRIBUTES attributes.intelligence = 25; diff --git a/data/script/template/script/template/actor/character/SpellhowlerTemplate.java b/data/script/template/script/template/actor/character/SpellhowlerTemplate.java index 76a034ebf..b7cbf15e0 100644 --- a/data/script/template/script/template/actor/character/SpellhowlerTemplate.java +++ b/data/script/template/script/template/actor/character/SpellhowlerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SpellhowlerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SPELLHOWLER.id), CharacterClass.SPELLHOWLER, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/SpellsingerTemplate.java b/data/script/template/script/template/actor/character/SpellsingerTemplate.java index c4aba69ea..60fe5def6 100644 --- a/data/script/template/script/template/actor/character/SpellsingerTemplate.java +++ b/data/script/template/script/template/actor/character/SpellsingerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SpellsingerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SPELLSINGER.id), CharacterClass.SPELLSINGER, Point.fromXYZ(46182, 41198, -3440)); // ATTRIBUTES attributes.intelligence = 37; diff --git a/data/script/template/script/template/actor/character/StormScreamerTemplate.java b/data/script/template/script/template/actor/character/StormScreamerTemplate.java index ca2fadd54..7fad2023a 100644 --- a/data/script/template/script/template/actor/character/StormScreamerTemplate.java +++ b/data/script/template/script/template/actor/character/StormScreamerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public StormScreamerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.STORM_SCREAMER.id), CharacterClass.STORM_SCREAMER, Point.fromXYZ(28295, 11063, -4224)); // ATTRIBUTES attributes.intelligence = 44; diff --git a/data/script/template/script/template/actor/character/SwordMuseTemplate.java b/data/script/template/script/template/actor/character/SwordMuseTemplate.java index a56a57045..68b7922ad 100644 --- a/data/script/template/script/template/actor/character/SwordMuseTemplate.java +++ b/data/script/template/script/template/actor/character/SwordMuseTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SwordMuseTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SWORD_MUSE.id), CharacterClass.SWORD_MUSE, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/SwordSingerTemplate.java b/data/script/template/script/template/actor/character/SwordSingerTemplate.java index fb49c55ed..48e5f803a 100644 --- a/data/script/template/script/template/actor/character/SwordSingerTemplate.java +++ b/data/script/template/script/template/actor/character/SwordSingerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public SwordSingerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.SWORD_SINGER.id), CharacterClass.SWORD_SINGER, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/TempleKnightTemplate.java b/data/script/template/script/template/actor/character/TempleKnightTemplate.java index d6a0c8acd..0d168e127 100644 --- a/data/script/template/script/template/actor/character/TempleKnightTemplate.java +++ b/data/script/template/script/template/actor/character/TempleKnightTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TempleKnightTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TEMPLE_KNIGHT.id), CharacterClass.TEMPLE_KNIGHT, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/TitanTemplate.java b/data/script/template/script/template/actor/character/TitanTemplate.java index ee450a261..fab3bc8c7 100644 --- a/data/script/template/script/template/actor/character/TitanTemplate.java +++ b/data/script/template/script/template/actor/character/TitanTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TitanTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TITAN.id), CharacterClass.TITAN, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/TreasureHunterTemplate.java b/data/script/template/script/template/actor/character/TreasureHunterTemplate.java index 08e97f697..40fd97928 100644 --- a/data/script/template/script/template/actor/character/TreasureHunterTemplate.java +++ b/data/script/template/script/template/actor/character/TreasureHunterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TreasureHunterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TREASURE_HUNTER.id), CharacterClass.TREASURE_HUNTER, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/TricksterTemplate.java b/data/script/template/script/template/actor/character/TricksterTemplate.java index 7ed064ce9..fd99c9c43 100644 --- a/data/script/template/script/template/actor/character/TricksterTemplate.java +++ b/data/script/template/script/template/actor/character/TricksterTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TricksterTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TRICKSTER.id), CharacterClass.TRICKSTER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/TrooperTemplate.java b/data/script/template/script/template/actor/character/TrooperTemplate.java index dded8fe66..7a87bcf44 100644 --- a/data/script/template/script/template/actor/character/TrooperTemplate.java +++ b/data/script/template/script/template/actor/character/TrooperTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TrooperTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TROOPER.id), CharacterClass.TROOPER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 29; diff --git a/data/script/template/script/template/actor/character/TyrantTemplate.java b/data/script/template/script/template/actor/character/TyrantTemplate.java index e19ce5133..268447d3a 100644 --- a/data/script/template/script/template/actor/character/TyrantTemplate.java +++ b/data/script/template/script/template/actor/character/TyrantTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public TyrantTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.TYRANT.id), CharacterClass.TYRANT, Point.fromXYZ(-56693, -113610, -690)); // ATTRIBUTES attributes.intelligence = 18; diff --git a/data/script/template/script/template/actor/character/WarcryerTemplate.java b/data/script/template/script/template/actor/character/WarcryerTemplate.java index ce61f3e20..365c2e6a6 100644 --- a/data/script/template/script/template/actor/character/WarcryerTemplate.java +++ b/data/script/template/script/template/actor/character/WarcryerTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarcryerTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARCRYER.id), CharacterClass.WARCRYER, Point.fromXYZ(-56682, -113730, -690)); // ATTRIBUTES attributes.intelligence = 31; diff --git a/data/script/template/script/template/actor/character/WarderTemplate.java b/data/script/template/script/template/actor/character/WarderTemplate.java index d3bfc1c5c..0337ba459 100644 --- a/data/script/template/script/template/actor/character/WarderTemplate.java +++ b/data/script/template/script/template/actor/character/WarderTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarderTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARDER.id), CharacterClass.WARDER, Point.fromXYZ(-125533, 38114, 1142)); // ATTRIBUTES attributes.intelligence = 28; diff --git a/data/script/template/script/template/actor/character/WarlockTemplate.java b/data/script/template/script/template/actor/character/WarlockTemplate.java index bb2bc57a4..527bf37d6 100644 --- a/data/script/template/script/template/actor/character/WarlockTemplate.java +++ b/data/script/template/script/template/actor/character/WarlockTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarlockTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARLOCK.id), CharacterClass.WARLOCK, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/character/WarlordTemplate.java b/data/script/template/script/template/actor/character/WarlordTemplate.java index 22902b57a..3338f965f 100644 --- a/data/script/template/script/template/actor/character/WarlordTemplate.java +++ b/data/script/template/script/template/actor/character/WarlordTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarlordTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARLORD.id), CharacterClass.WARLORD, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/WarriorTemplate.java b/data/script/template/script/template/actor/character/WarriorTemplate.java index 0a24424ad..4024e0504 100644 --- a/data/script/template/script/template/actor/character/WarriorTemplate.java +++ b/data/script/template/script/template/actor/character/WarriorTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarriorTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARRIOR.id), CharacterClass.WARRIOR, Point.fromXYZ(-71338, 258271, -3104)); // ATTRIBUTES attributes.intelligence = 21; diff --git a/data/script/template/script/template/actor/character/WarsmithTemplate.java b/data/script/template/script/template/actor/character/WarsmithTemplate.java index 78e69d451..5ca565732 100644 --- a/data/script/template/script/template/actor/character/WarsmithTemplate.java +++ b/data/script/template/script/template/actor/character/WarsmithTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WarsmithTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WARSMITH.id), CharacterClass.WARSMITH, Point.fromXYZ(108512, -174026, -400)); // ATTRIBUTES attributes.intelligence = 20; diff --git a/data/script/template/script/template/actor/character/WindRiderTemplate.java b/data/script/template/script/template/actor/character/WindRiderTemplate.java index d1bccd95e..5afc094a3 100644 --- a/data/script/template/script/template/actor/character/WindRiderTemplate.java +++ b/data/script/template/script/template/actor/character/WindRiderTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WindRiderTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WIND_RIDER.id), CharacterClass.WIND_RIDER, Point.fromXYZ(45978, 41196, -3440)); // ATTRIBUTES attributes.intelligence = 23; diff --git a/data/script/template/script/template/actor/character/WizardTemplate.java b/data/script/template/script/template/actor/character/WizardTemplate.java index ba2b6bb50..5aca7fe75 100644 --- a/data/script/template/script/template/actor/character/WizardTemplate.java +++ b/data/script/template/script/template/actor/character/WizardTemplate.java @@ -18,14 +18,14 @@ package script.template.actor.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.id.template.provider.CharacterTemplateIDProvider; 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) { + public WizardTemplate(CharacterTemplateIDProvider factory) { super(factory.createID(CharacterClass.WIZARD.id), CharacterClass.WIZARD, Point.fromXYZ(-90890, 248027, -3570)); // ATTRIBUTES attributes.intelligence = 41; diff --git a/data/script/template/script/template/actor/monster/WolfMonsterTemplate.java b/data/script/template/script/template/actor/monster/WolfMonsterTemplate.java new file mode 100644 index 000000000..806e9cdfc --- /dev/null +++ b/data/script/template/script/template/actor/monster/WolfMonsterTemplate.java @@ -0,0 +1,39 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package script.template.actor.monster; + +import com.google.inject.Inject; +import com.l2jserver.model.id.template.provider.NPCTemplateIDProvider; +import com.l2jserver.model.template.npc.MonsterNPCTemplate; + +/** + * @author Rogiel + */ +public class WolfMonsterTemplate extends MonsterNPCTemplate { + public static final int ID = 12077; + + @Inject + protected WolfMonsterTemplate(NPCTemplateIDProvider provider) { + super(provider.createID(ID)); + this.name = "Wolf"; + this.title = "Test Monster"; + this.attackable = true; + this.maxHp = 200; + this.collisionRadius = 13.00; + this.collisionHeigth = 9.00; + } +} diff --git a/data/script/template/script/template/item/AdenaItemTemplate.java b/data/script/template/script/template/item/AdenaItemTemplate.java index d5ad9c9de..de3a80acc 100644 --- a/data/script/template/script/template/item/AdenaItemTemplate.java +++ b/data/script/template/script/template/item/AdenaItemTemplate.java @@ -17,7 +17,7 @@ package script.template.item; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.template.ItemTemplate; import com.l2jserver.model.template.capability.Stackable; import com.l2jserver.model.world.Item; @@ -26,7 +26,7 @@ public class AdenaItemTemplate extends ItemTemplate implements Stackable { public static final int ID = 57; @Inject - public AdenaItemTemplate(ItemTemplateIDFactory factory) { + public AdenaItemTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID)); this.icon = "icon.etc_adena_i00"; this.immediateEffect = true; diff --git a/data/script/template/script/template/item/armor/Dummy2ArmorTemplate.java b/data/script/template/script/template/item/armor/Dummy2ArmorTemplate.java index 68ee3d152..74d9b9b59 100644 --- a/data/script/template/script/template/item/armor/Dummy2ArmorTemplate.java +++ b/data/script/template/script/template/item/armor/Dummy2ArmorTemplate.java @@ -17,7 +17,7 @@ package script.template.item.armor; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.world.capability.Attackable; import com.l2jserver.model.world.capability.Attacker; import com.l2jserver.model.world.capability.Damagable; @@ -31,7 +31,7 @@ public class Dummy2ArmorTemplate extends AbstractGradeAArmorTemplate { private static final int MAX_ENCHANT = 10; @Inject - public Dummy2ArmorTemplate(ItemTemplateIDFactory factory) { + public Dummy2ArmorTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID)); } diff --git a/data/script/template/script/template/item/armor/DummyArmorTemplate.java b/data/script/template/script/template/item/armor/DummyArmorTemplate.java index 40e732f69..442522ea8 100644 --- a/data/script/template/script/template/item/armor/DummyArmorTemplate.java +++ b/data/script/template/script/template/item/armor/DummyArmorTemplate.java @@ -17,7 +17,7 @@ package script.template.item.armor; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.world.capability.Attackable; import com.l2jserver.model.world.capability.Attacker; import com.l2jserver.model.world.capability.Damagable; @@ -29,7 +29,7 @@ public class DummyArmorTemplate extends AbstractNoGradeArmorTemplate { private static final int REDUCED_DAMAGE_MAGICAL = 10; @Inject - public DummyArmorTemplate(ItemTemplateIDFactory factory) { + public DummyArmorTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID)); } diff --git a/data/script/template/script/template/item/potion/RedPotionTemplate.java b/data/script/template/script/template/item/potion/RedPotionTemplate.java index 65f5e7c3e..0048d81b2 100644 --- a/data/script/template/script/template/item/potion/RedPotionTemplate.java +++ b/data/script/template/script/template/item/potion/RedPotionTemplate.java @@ -17,7 +17,7 @@ package script.template.item.potion; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.template.item.PotionTemplate; import com.l2jserver.model.world.capability.Attackable; import com.l2jserver.model.world.capability.Attacker; @@ -26,7 +26,7 @@ public class RedPotionTemplate extends PotionTemplate { public static final int ID = 15; @Inject - public RedPotionTemplate(ItemTemplateIDFactory factory) { + public RedPotionTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID), "icon.etc_potion_red_i00"); this.weight = 80; this.price = 40; diff --git a/data/script/template/script/template/item/weapon/LongSwordTemplate.java b/data/script/template/script/template/item/weapon/LongSwordTemplate.java index 642922d13..15907f56e 100644 --- a/data/script/template/script/template/item/weapon/LongSwordTemplate.java +++ b/data/script/template/script/template/item/weapon/LongSwordTemplate.java @@ -22,7 +22,7 @@ import static com.l2jserver.model.template.item.WeaponTemplate.WeaponAttributeTy import static com.l2jserver.model.template.item.WeaponTemplate.WeaponAttributeType.R_CRITICAL; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.world.capability.Attackable; import com.l2jserver.model.world.capability.Attacker; import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll; @@ -31,7 +31,7 @@ public class LongSwordTemplate extends AbstractNoGradeWeaponTemplate { public static final int ID = 2; @Inject - public LongSwordTemplate(ItemTemplateIDFactory factory) { + public LongSwordTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID), "icon.weapon_long_sword_i00", ItemMaterial.STEEL, InventoryPaperdoll.RIGHT_HAND, WeaponType.SWORD); diff --git a/data/script/template/script/template/item/weapon/ShortSwordTemplate.java b/data/script/template/script/template/item/weapon/ShortSwordTemplate.java index 7ef0fd987..b827ea80f 100644 --- a/data/script/template/script/template/item/weapon/ShortSwordTemplate.java +++ b/data/script/template/script/template/item/weapon/ShortSwordTemplate.java @@ -22,7 +22,7 @@ import static com.l2jserver.model.template.item.WeaponTemplate.WeaponAttributeTy import static com.l2jserver.model.template.item.WeaponTemplate.WeaponAttributeType.R_CRITICAL; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.world.capability.Attackable; import com.l2jserver.model.world.capability.Attacker; import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll; @@ -31,7 +31,7 @@ public class ShortSwordTemplate extends AbstractNoGradeWeaponTemplate { public static final int ID = 1; @Inject - public ShortSwordTemplate(ItemTemplateIDFactory factory) { + public ShortSwordTemplate(ItemTemplateIDProvider factory) { super(factory.createID(ID), "icon.weapon_small_sword_i00", ItemMaterial.STEEL, InventoryPaperdoll.RIGHT_HAND, WeaponType.SWORD); diff --git a/data/script/template/script/template/skill/TestSkillTemplate.java b/data/script/template/script/template/skill/TestSkillTemplate.java index c963f4ecb..578d316bf 100644 --- a/data/script/template/script/template/skill/TestSkillTemplate.java +++ b/data/script/template/script/template/skill/TestSkillTemplate.java @@ -17,7 +17,7 @@ package script.template.skill; import com.google.inject.Inject; -import com.l2jserver.model.id.template.factory.SkillTemplateIDFactory; +import com.l2jserver.model.id.template.provider.SkillTemplateIDProvider; import com.l2jserver.model.template.SkillTemplate; import com.l2jserver.model.world.capability.Castable; import com.l2jserver.model.world.capability.Caster; @@ -27,7 +27,7 @@ public class TestSkillTemplate extends SkillTemplate { public static final int ID = 10; @Inject - public TestSkillTemplate(SkillTemplateIDFactory factory) { + public TestSkillTemplate(SkillTemplateIDProvider factory) { super(factory.createID(ID)); this.maximumLevel = 1; } 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 1e38c3421..f56934f3b 100644 --- a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java +++ b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAO.java @@ -25,13 +25,13 @@ import java.util.List; import com.google.inject.Inject; import com.l2jserver.db.dao.CharacterDAO; import com.l2jserver.model.id.AccountID; -import com.l2jserver.model.id.factory.AccountIDFactory; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.ClanID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; -import com.l2jserver.model.id.object.factory.ClanIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.object.provider.ClanIDProvider; +import com.l2jserver.model.id.provider.AccountIDProvider; import com.l2jserver.model.id.template.CharacterTemplateID; -import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.id.template.provider.CharacterTemplateIDProvider; import com.l2jserver.model.template.CharacterTemplate; import com.l2jserver.model.world.AbstractActor.Race; import com.l2jserver.model.world.AbstractActor.Sex; @@ -60,19 +60,19 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO /** * The {@link CharacterID} factory */ - private final CharacterIDFactory idFactory; + private final CharacterIDProvider idFactory; /** * The {@link CharacterTemplateID} factory */ - private final CharacterTemplateIDFactory templateIdFactory; + private final CharacterTemplateIDProvider templateIdFactory; /** * The {@link AccountID} factory */ - private final AccountIDFactory accountIdFactory; + private final AccountIDProvider accountIdFactory; /** * The {@link ClanID} factory */ - private final ClanIDFactory clanIdFactory; + private final ClanIDProvider clanIdFactory; /** * Character table name @@ -103,9 +103,9 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO @Inject public MySQL5CharacterDAO(DatabaseService database, - final CharacterIDFactory idFactory, - CharacterTemplateIDFactory templateIdFactory, - AccountIDFactory accountIdFactory, ClanIDFactory clanIdFactory) { + final CharacterIDProvider idFactory, + CharacterTemplateIDProvider templateIdFactory, + AccountIDProvider accountIdFactory, ClanIDProvider clanIdFactory) { super(database); this.idFactory = idFactory; this.templateIdFactory = templateIdFactory; @@ -270,7 +270,7 @@ public class MySQL5CharacterDAO extends AbstractMySQL5DAO return database.query(new SelectListQuery() { @Override protected String query() { - return "SELECT `" + CHAR_ID + " FROM `" + TABLE + "`"; + return "SELECT `" + CHAR_ID + "` FROM `" + TABLE + "`"; } @Override diff --git a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterFriendDAO.java b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterFriendDAO.java index 922dbe8c8..83e368f80 100644 --- a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterFriendDAO.java +++ b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5CharacterFriendDAO.java @@ -24,7 +24,7 @@ import java.util.List; import com.google.inject.Inject; import com.l2jserver.db.dao.CharacterFriendDAO; import com.l2jserver.model.id.object.CharacterID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.character.CharacterFriendList; import com.l2jserver.service.database.DatabaseService; @@ -42,7 +42,7 @@ public class MySQL5CharacterFriendDAO extends AbstractMySQL5DAO /** * The {@link CharacterID} factory */ - private final CharacterIDFactory idFactory; + private final CharacterIDProvider idFactory; /** * Character table name @@ -55,7 +55,7 @@ public class MySQL5CharacterFriendDAO extends AbstractMySQL5DAO @Inject public MySQL5CharacterFriendDAO(DatabaseService database, - final CharacterIDFactory idFactory) { + final CharacterIDProvider idFactory) { super(database); this.idFactory = idFactory; } diff --git a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ClanDAO.java b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ClanDAO.java index 9e2557f43..608b02db9 100644 --- a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ClanDAO.java +++ b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ClanDAO.java @@ -26,8 +26,8 @@ import com.l2jserver.db.dao.CharacterDAO; import com.l2jserver.db.dao.ClanDAO; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.ClanID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; -import com.l2jserver.model.id.object.factory.ClanIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.object.provider.ClanIDProvider; import com.l2jserver.model.world.Clan; import com.l2jserver.service.database.DatabaseService; import com.l2jserver.service.database.MySQLDatabaseService.CachedMapper; @@ -45,11 +45,11 @@ public class MySQL5ClanDAO extends AbstractMySQL5DAO implements ClanDAO { /** * The {@link ClanID} factory */ - private final ClanIDFactory idFactory; + private final ClanIDProvider idFactory; /** * The {@link CharacterID} factory */ - private final CharacterIDFactory charIdFactory; + private final CharacterIDProvider charIdFactory; /** * Character table name @@ -60,8 +60,8 @@ public class MySQL5ClanDAO extends AbstractMySQL5DAO implements ClanDAO { public static final String CHAR_ID_LEADER = "character_id_leader"; @Inject - public MySQL5ClanDAO(DatabaseService database, ClanIDFactory clanIdFactory, - final CharacterIDFactory idFactory) { + public MySQL5ClanDAO(DatabaseService database, ClanIDProvider clanIdFactory, + final CharacterIDProvider idFactory) { super(database); this.idFactory = clanIdFactory; this.charIdFactory = idFactory; diff --git a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ItemDAO.java b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ItemDAO.java index b2bcdc6a2..c95095d84 100644 --- a/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ItemDAO.java +++ b/src/dao/mysql5/com/l2jserver/db/dao/mysql5/MySQL5ItemDAO.java @@ -25,10 +25,10 @@ import com.google.inject.Inject; import com.l2jserver.db.dao.ItemDAO; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.ItemID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; -import com.l2jserver.model.id.object.factory.ItemIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.object.provider.ItemIDProvider; import com.l2jserver.model.id.template.ItemTemplateID; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.template.ItemTemplate; import com.l2jserver.model.world.Item; import com.l2jserver.model.world.L2Character; @@ -48,15 +48,15 @@ public class MySQL5ItemDAO extends AbstractMySQL5DAO implements ItemDAO { /** * The {@link ItemID} factory */ - private final ItemIDFactory idFactory; + private final ItemIDProvider idFactory; /** * The {@link ItemTemplateID} factory */ - private final ItemTemplateIDFactory templateIdFactory; + private final ItemTemplateIDProvider templateIdFactory; /** * The {@link CharacterID} factory */ - private final CharacterIDFactory charIdFactory; + private final CharacterIDProvider charIdFactory; /** * Character table name @@ -69,9 +69,9 @@ public class MySQL5ItemDAO extends AbstractMySQL5DAO implements ItemDAO { @Inject public MySQL5ItemDAO(DatabaseService database, - final ItemIDFactory idFactory, - ItemTemplateIDFactory templateIdFactory, - CharacterIDFactory charIdFactory) { + final ItemIDProvider idFactory, + ItemTemplateIDProvider templateIdFactory, + CharacterIDProvider charIdFactory) { super(database); this.idFactory = idFactory; this.templateIdFactory = templateIdFactory; diff --git a/src/main/java/com/l2jserver/GameServerModule.java b/src/main/java/com/l2jserver/GameServerModule.java index 2c2249338..d721e8b79 100644 --- a/src/main/java/com/l2jserver/GameServerModule.java +++ b/src/main/java/com/l2jserver/GameServerModule.java @@ -19,7 +19,7 @@ package com.l2jserver; import com.google.inject.AbstractModule; import com.google.inject.Module; import com.l2jserver.db.dao.MySQL5DAOModule; -import com.l2jserver.model.id.factory.IDFactoryModule; +import com.l2jserver.model.id.provider.IDProviderModule; import com.l2jserver.service.ServiceModule; /** @@ -31,7 +31,7 @@ public class GameServerModule extends AbstractModule { @Override protected void configure() { install(new ServiceModule()); - install(new IDFactoryModule()); + install(new IDProviderModule()); install(new MySQL5DAOModule()); } } diff --git a/src/main/java/com/l2jserver/L2JGameServerMain.java b/src/main/java/com/l2jserver/L2JGameServerMain.java index d63f0812b..dae1a3319 100644 --- a/src/main/java/com/l2jserver/L2JGameServerMain.java +++ b/src/main/java/com/l2jserver/L2JGameServerMain.java @@ -16,6 +16,11 @@ */ package com.l2jserver; +import com.google.inject.Injector; +import com.l2jserver.model.id.object.provider.NPCIDProvider; +import com.l2jserver.model.id.template.NPCTemplateID; +import com.l2jserver.model.id.template.provider.NPCTemplateIDProvider; +import com.l2jserver.model.world.NPC; import com.l2jserver.service.ServiceManager; import com.l2jserver.service.cache.CacheService; import com.l2jserver.service.configuration.ConfigurationService; @@ -23,8 +28,11 @@ import com.l2jserver.service.database.DatabaseService; import com.l2jserver.service.game.chat.ChatService; import com.l2jserver.service.game.scripting.ScriptingService; import com.l2jserver.service.game.template.TemplateService; +import com.l2jserver.service.game.world.WorldService; +import com.l2jserver.service.game.world.id.WorldIDService; import com.l2jserver.service.network.NetworkService; import com.l2jserver.service.network.keygen.BlowfishKeygenService; +import com.l2jserver.util.dimensional.Point; public class L2JGameServerMain { /** @@ -40,6 +48,7 @@ public class L2JGameServerMain { serviceManager.start(CacheService.class); serviceManager.start(ConfigurationService.class); serviceManager.start(DatabaseService.class); + serviceManager.start(WorldIDService.class); serviceManager.start(ScriptingService.class); serviceManager.start(TemplateService.class); @@ -48,12 +57,33 @@ public class L2JGameServerMain { serviceManager.start(BlowfishKeygenService.class); serviceManager.start(NetworkService.class); + + staticSpawn(server.getInjector()); } catch (Exception e) { System.out.println("GameServer could not be started!"); e.printStackTrace(); } - Thread.sleep(60 * 60 * 1000); + // Thread.sleep(60 * 60 * 1000); } + /** + * This method does an static spawn for an object + */ + private static void staticSpawn(Injector injector) { + final NPCTemplateIDProvider templateProvider = injector + .getInstance(NPCTemplateIDProvider.class); + final NPCIDProvider provider = injector + .getInstance(NPCIDProvider.class); + final WorldService world = injector.getInstance(WorldService.class); + + final NPCTemplateID id = templateProvider.createID(12077); + final NPC npc = id.getTemplate().create(); + + npc.setID(provider.createID()); + // close to char spawn + npc.setPoint(Point.fromXYZ(-71301, 258259, -3134)); + + world.add(npc); + } } diff --git a/src/main/java/com/l2jserver/game/net/Lineage2Connection.java b/src/main/java/com/l2jserver/game/net/Lineage2Connection.java index a81f90526..f1ef471d9 100644 --- a/src/main/java/com/l2jserver/game/net/Lineage2Connection.java +++ b/src/main/java/com/l2jserver/game/net/Lineage2Connection.java @@ -261,6 +261,8 @@ public class Lineage2Connection { .iterable(new CharacterBroadcastFilter(characterID.getObject()))) { final Lineage2Connection conn = networkService.discover(character .getID()); + if(conn == null) + continue; futures.add(conn.write(packet)); } return futures; diff --git a/src/main/java/com/l2jserver/game/net/codec/Lineage2PacketReader.java b/src/main/java/com/l2jserver/game/net/codec/Lineage2PacketReader.java index 0ca6a5e9b..2c83f36b0 100644 --- a/src/main/java/com/l2jserver/game/net/codec/Lineage2PacketReader.java +++ b/src/main/java/com/l2jserver/game/net/codec/Lineage2PacketReader.java @@ -28,8 +28,10 @@ import com.google.inject.Injector; import com.l2jserver.game.net.Lineage2Connection; import com.l2jserver.game.net.packet.ClientPacket; import com.l2jserver.game.net.packet.client.AuthLoginPacket; +import com.l2jserver.game.net.packet.client.CharacterActionPacket; import com.l2jserver.game.net.packet.client.CharacterChatMessagePacket; import com.l2jserver.game.net.packet.client.CharacterCreatePacket; +import com.l2jserver.game.net.packet.client.CharacterRequestMovePacket; import com.l2jserver.game.net.packet.client.CharacterSelectPacket; import com.l2jserver.game.net.packet.client.CharacterValidatePositionPacket; import com.l2jserver.game.net.packet.client.EnterWorld; @@ -40,7 +42,6 @@ import com.l2jserver.game.net.packet.client.RequestCharacterTemplatesPacket; import com.l2jserver.game.net.packet.client.RequestGotoLobbyPacket; import com.l2jserver.game.net.packet.client.RequestKeyMappingPacket; import com.l2jserver.game.net.packet.client.RequestManorListPacket; -import com.l2jserver.game.net.packet.client.CharacterRequestMovePacket; import com.l2jserver.game.net.packet.client.RequestRestartPacket; /** @@ -160,6 +161,8 @@ public class Lineage2PacketReader extends OneToOneDecoder { return CharacterValidatePositionPacket.class; case EnterWorld.OPCODE: return EnterWorld.class; + case CharacterActionPacket.OPCODE: + return CharacterActionPacket.class; default: logger.warn("Unknown opcode: 0x{}", Integer.toHexString(opcode)); break; diff --git a/src/main/java/com/l2jserver/game/net/packet/client/AuthLoginPacket.java b/src/main/java/com/l2jserver/game/net/packet/client/AuthLoginPacket.java index f57e39f8c..1d6078abc 100644 --- a/src/main/java/com/l2jserver/game/net/packet/client/AuthLoginPacket.java +++ b/src/main/java/com/l2jserver/game/net/packet/client/AuthLoginPacket.java @@ -27,7 +27,7 @@ import com.l2jserver.game.net.Lineage2Session; import com.l2jserver.game.net.packet.AbstractClientPacket; import com.l2jserver.game.net.packet.server.CharacterSelectionListPacket; import com.l2jserver.model.id.AccountID; -import com.l2jserver.model.id.factory.AccountIDFactory; +import com.l2jserver.model.id.provider.AccountIDProvider; import com.l2jserver.model.world.L2Character; import com.l2jserver.util.BufferUtils; @@ -51,7 +51,7 @@ public class AuthLoginPacket extends AbstractClientPacket { /** * The {@link AccountID} factory */ - private final AccountIDFactory accountIdFactory; + private final AccountIDProvider accountIdFactory; // packet /** @@ -65,7 +65,7 @@ public class AuthLoginPacket extends AbstractClientPacket { @Inject public AuthLoginPacket(CharacterDAO characterDao, - AccountIDFactory accountIdFactory) { + AccountIDProvider accountIdFactory) { this.characterDao = characterDao; this.accountIdFactory = accountIdFactory; } diff --git a/src/main/java/com/l2jserver/game/net/packet/client/CharacterActionPacket.java b/src/main/java/com/l2jserver/game/net/packet/client/CharacterActionPacket.java new file mode 100644 index 000000000..c10baacda --- /dev/null +++ b/src/main/java/com/l2jserver/game/net/packet/client/CharacterActionPacket.java @@ -0,0 +1,99 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.game.net.packet.client; + +import org.jboss.netty.buffer.ChannelBuffer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.inject.Inject; +import com.l2jserver.game.net.Lineage2Connection; +import com.l2jserver.game.net.packet.AbstractClientPacket; +import com.l2jserver.model.id.ObjectID; +import com.l2jserver.model.id.object.NPCID; +import com.l2jserver.model.id.object.provider.ObjectIDResolver; +import com.l2jserver.model.world.NPC; +import com.l2jserver.service.game.world.WorldService; +import com.l2jserver.util.dimensional.Coordinate; + +/** + * Completes the creation of an character. Creates the object, inserts into the + * database and notifies the client about the status of the operation. + * + * @author Rogiel + */ +public class CharacterActionPacket extends AbstractClientPacket { + /** + * The packet OPCODE + */ + public static final int OPCODE = 0x1f; + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + private final WorldService worldService; + private final ObjectIDResolver idResolver; + + private int objectId; + private Coordinate origin; + private CharacterAction action; + + public enum CharacterAction { + CLICK(0), + /** + * This is the right click action. + */ + RIGHT_CLICK(1); + + public final int id; + + CharacterAction(int id) { + this.id = id; + } + + public static CharacterAction fromID(int id) { + for (final CharacterAction action : values()) + if (action.id == id) + return action; + return null; + } + } + + @Inject + public CharacterActionPacket(WorldService worldService, + ObjectIDResolver idResolver) { + this.worldService = worldService; + this.idResolver = idResolver; + } + + @Override + public void read(Lineage2Connection conn, ChannelBuffer buffer) { + this.objectId = buffer.readInt(); + this.origin = Coordinate.fromXYZ(buffer.readInt(), buffer.readInt(), + buffer.readInt()); + this.action = CharacterAction.fromID(buffer.readByte()); + } + + @Override + public void process(final Lineage2Connection conn) { + // since this is an erasure type, this is safe. + final ObjectID id = idResolver.resolve(objectId); + if (!(id instanceof NPCID)) + return; + final NPC npc = id.getObject(); + npc.action(conn.getCharacter(), action); + } +} diff --git a/src/main/java/com/l2jserver/game/net/packet/client/CharacterCreatePacket.java b/src/main/java/com/l2jserver/game/net/packet/client/CharacterCreatePacket.java index 9e58c92ee..b3a49447e 100644 --- a/src/main/java/com/l2jserver/game/net/packet/client/CharacterCreatePacket.java +++ b/src/main/java/com/l2jserver/game/net/packet/client/CharacterCreatePacket.java @@ -27,9 +27,9 @@ import com.l2jserver.game.net.packet.AbstractClientPacket; import com.l2jserver.game.net.packet.server.CharacterCreateFailPacket; import com.l2jserver.game.net.packet.server.CharacterCreateOkPacket; import com.l2jserver.model.id.object.CharacterID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; import com.l2jserver.model.id.template.CharacterTemplateID; -import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.id.template.provider.CharacterTemplateIDProvider; import com.l2jserver.model.template.CharacterTemplate; import com.l2jserver.model.world.AbstractActor.Race; import com.l2jserver.model.world.AbstractActor.Sex; @@ -66,11 +66,11 @@ public class CharacterCreatePacket extends AbstractClientPacket { /** * The {@link CharacterID} factory */ - private final CharacterIDFactory characterIdFactory; + private final CharacterIDProvider characterIdFactory; /** * The {@link CharacterTemplateID} factory */ - private final CharacterTemplateIDFactory characterTemplateIdFactory; + private final CharacterTemplateIDProvider characterTemplateIdFactory; // packet /** @@ -136,8 +136,8 @@ public class CharacterCreatePacket extends AbstractClientPacket { @Inject public CharacterCreatePacket(CharacterDAO characterDao, - CharacterIDFactory characterIdFactory, - CharacterTemplateIDFactory characterTemplateIdFactory) { + CharacterIDProvider characterIdFactory, + CharacterTemplateIDProvider characterTemplateIdFactory) { this.characterDao = characterDao; this.characterIdFactory = characterIdFactory; this.characterTemplateIdFactory = characterTemplateIdFactory; diff --git a/src/main/java/com/l2jserver/game/net/packet/client/RequestCharacterTemplatesPacket.java b/src/main/java/com/l2jserver/game/net/packet/client/RequestCharacterTemplatesPacket.java index 893fe8264..50a2c51b5 100644 --- a/src/main/java/com/l2jserver/game/net/packet/client/RequestCharacterTemplatesPacket.java +++ b/src/main/java/com/l2jserver/game/net/packet/client/RequestCharacterTemplatesPacket.java @@ -25,7 +25,7 @@ import com.l2jserver.game.net.Lineage2Connection; import com.l2jserver.game.net.packet.AbstractClientPacket; import com.l2jserver.game.net.packet.server.CharacterTemplatePacket; import com.l2jserver.model.id.template.CharacterTemplateID; -import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; +import com.l2jserver.model.id.template.provider.CharacterTemplateIDProvider; import com.l2jserver.model.template.CharacterTemplate; import com.l2jserver.model.world.character.CharacterClass; @@ -62,10 +62,10 @@ public class RequestCharacterTemplatesPacket extends AbstractClientPacket { /** * The {@link CharacterTemplateID} factory */ - private final CharacterTemplateIDFactory idFactory; + private final CharacterTemplateIDProvider idFactory; @Inject - public RequestCharacterTemplatesPacket(CharacterTemplateIDFactory idFactory) { + public RequestCharacterTemplatesPacket(CharacterTemplateIDProvider idFactory) { this.idFactory = idFactory; } diff --git a/src/main/java/com/l2jserver/game/net/packet/server/UserInformationPacket.java b/src/main/java/com/l2jserver/game/net/packet/server/CharacterInformationPacket.java similarity index 98% rename from src/main/java/com/l2jserver/game/net/packet/server/UserInformationPacket.java rename to src/main/java/com/l2jserver/game/net/packet/server/CharacterInformationPacket.java index 87ad80a98..bca855341 100644 --- a/src/main/java/com/l2jserver/game/net/packet/server/UserInformationPacket.java +++ b/src/main/java/com/l2jserver/game/net/packet/server/CharacterInformationPacket.java @@ -57,7 +57,7 @@ import com.l2jserver.util.BufferUtils; * * @author Rogiel */ -public class UserInformationPacket extends AbstractServerPacket { +public class CharacterInformationPacket extends AbstractServerPacket { /** * The packet OPCODE */ @@ -68,7 +68,7 @@ public class UserInformationPacket extends AbstractServerPacket { */ private L2Character character; - public UserInformationPacket(L2Character character) { + public CharacterInformationPacket(L2Character character) { super(OPCODE); this.character = character; } @@ -95,7 +95,7 @@ public class UserInformationPacket extends AbstractServerPacket { buffer.writeInt(character.getAttributes().getWitness()); buffer.writeInt(character.getAttributes().getMentality()); buffer.writeInt(200); // max hp - buffer.writeInt((int) 200); // cur hp + buffer.writeInt(character.getHP()); // cur hp buffer.writeInt(200); // max mp buffer.writeInt((int) 200); // cur mp buffer.writeInt(0); // sp diff --git a/src/main/java/com/l2jserver/game/net/packet/server/CharacterTargetSelectedPacket.java b/src/main/java/com/l2jserver/game/net/packet/server/CharacterTargetSelectedPacket.java new file mode 100644 index 000000000..4df7e3ab1 --- /dev/null +++ b/src/main/java/com/l2jserver/game/net/packet/server/CharacterTargetSelectedPacket.java @@ -0,0 +1,61 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.game.net.packet.server; + +import org.jboss.netty.buffer.ChannelBuffer; + +import com.l2jserver.game.net.Lineage2Connection; +import com.l2jserver.game.net.packet.AbstractServerPacket; +import com.l2jserver.game.net.packet.server.CharacterCreateFailPacket.Reason; +import com.l2jserver.model.world.capability.Actor; + +/** + * This packet notifies the client that the chosen character has been + * successfully selected. + * + * @author Rogiel + * @see Reason + */ +public class CharacterTargetSelectedPacket extends AbstractServerPacket { + /** + * The packet OPCODE + */ + public static final int OPCODE = 0xb9; + + /** + * The selected character + */ + private final Actor object; + private int color; + + public CharacterTargetSelectedPacket(Actor object, int color) { + super(OPCODE); + this.object = object; + this.color = color; + } + + public CharacterTargetSelectedPacket(Actor object) { + this(object, 0); + } + + @Override + public void write(Lineage2Connection conn, ChannelBuffer buffer) { + buffer.writeInt(object.getID().getID()); + buffer.writeShort(color); + buffer.writeInt(0x00); + } +} diff --git a/src/main/java/com/l2jserver/game/net/packet/server/NPCInformationPacket.java b/src/main/java/com/l2jserver/game/net/packet/server/NPCInformationPacket.java new file mode 100644 index 000000000..3eb6ff9f0 --- /dev/null +++ b/src/main/java/com/l2jserver/game/net/packet/server/NPCInformationPacket.java @@ -0,0 +1,106 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.game.net.packet.server; + +import org.jboss.netty.buffer.ChannelBuffer; + +import com.l2jserver.game.net.Lineage2Connection; +import com.l2jserver.game.net.packet.AbstractServerPacket; +import com.l2jserver.model.template.NPCTemplate; +import com.l2jserver.model.world.NPC; +import com.l2jserver.util.BufferUtils; + +/** + * This packet sends to the client an actor information about an actor (except + * players) + * + * @author Rogiel + */ +public class NPCInformationPacket extends AbstractServerPacket { + /** + * The packet OPCODE + */ + public static final int OPCODE = 0x0c; + + private final NPC npc; + + public NPCInformationPacket(NPC npc) { + super(OPCODE); + this.npc = npc; + } + + @Override + public void write(Lineage2Connection conn, ChannelBuffer buffer) { + final NPCTemplate template = npc.getTemplate(); + + buffer.writeInt(npc.getID().getID()); + buffer.writeInt(template.getID().getID() + 1000000); // npctype id + buffer.writeInt((template.isAttackable() ? 0x01 : 0x00)); + buffer.writeInt(npc.getPoint().getX()); + buffer.writeInt(npc.getPoint().getY()); + buffer.writeInt(npc.getPoint().getZ()); + buffer.writeInt((int) npc.getPoint().getAngle()); + buffer.writeInt(0x00); // unk + buffer.writeInt(template.getCastSpeed()); + buffer.writeInt(template.getAttackSpeed()); + buffer.writeInt((int) template.getMoveSpeed()); + buffer.writeInt((int) template.getMoveSpeed()); + buffer.writeInt((int) template.getMoveSpeed()); // swim run speed + buffer.writeInt((int) template.getMoveSpeed()); // swim walk speed + buffer.writeInt((int) template.getMoveSpeed()); // swim run speed + buffer.writeInt((int) template.getMoveSpeed()); // swim walk speed + buffer.writeInt((int) template.getMoveSpeed()); // fly run speed + buffer.writeInt((int) template.getMoveSpeed()); // fly run speed + buffer.writeDouble(template.getMovementSpeedMultiplier()); + buffer.writeDouble(template.getAttackSpeedMultiplier()); + buffer.writeDouble(template.getCollisionRadius()); + buffer.writeDouble(template.getCollisionHeigth()); + buffer.writeInt(0x00); // right hand weapon + buffer.writeInt(0x00); // chest + buffer.writeInt(0x00); // left hand weapon + buffer.writeByte(1); // name above char 1=true ... ?? + buffer.writeByte(0x00); // is running + buffer.writeByte(0x00); // is in combat + buffer.writeByte(0x00); // is like dead (faking) + buffer.writeByte(0x00); // 0=teleported 1=default 2=summoned + BufferUtils.writeString(buffer, template.getName()); + BufferUtils.writeString(buffer, template.getTitle()); + buffer.writeInt(0x00); // Title color 0=client default + buffer.writeInt(0x00); // pvp flag + buffer.writeInt(0x00); // karma + + buffer.writeInt(0x00); // C2 - abnormal effect + buffer.writeInt(0x00); // clan id + buffer.writeInt(0x00); // crest id + buffer.writeInt(0x00); // ally id + buffer.writeInt(0x00); // all crest + buffer.writeByte(0x00); // C2 - is flying + buffer.writeByte(0x00); // title color 0=client + + buffer.writeDouble(template.getCollisionRadius()); + buffer.writeDouble(template.getCollisionHeigth()); + buffer.writeInt(0x00); // C4 - enchant effect + buffer.writeInt(0x00); // C6 -- is flying + buffer.writeInt(0x00); // unk + buffer.writeInt(0x00);// CT1.5 Pet form and skills, Color effect + buffer.writeByte(0x00); // hide name + buffer.writeByte(0x00); // hide name, again + + buffer.writeInt(0x00); // special effects + buffer.writeInt(0x00); // display effect + } +} diff --git a/src/main/java/com/l2jserver/game/net/packet/server/ServerObjectPacket.java b/src/main/java/com/l2jserver/game/net/packet/server/ServerObjectPacket.java new file mode 100644 index 000000000..48187359d --- /dev/null +++ b/src/main/java/com/l2jserver/game/net/packet/server/ServerObjectPacket.java @@ -0,0 +1,67 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.game.net.packet.server; + +import org.jboss.netty.buffer.ChannelBuffer; + +import com.l2jserver.game.net.Lineage2Connection; +import com.l2jserver.game.net.packet.AbstractServerPacket; +import com.l2jserver.model.template.NPCTemplate; +import com.l2jserver.model.world.NPC; +import com.l2jserver.util.BufferUtils; + +/** + * This packet sends to the client an actor information about an actor (except + * players) + * + * @author Rogiel + */ +public class ServerObjectPacket extends AbstractServerPacket { + /** + * The packet OPCODE + */ + public static final int OPCODE = 0x92; + + private final NPC npc; + + public ServerObjectPacket(NPC npc) { + super(OPCODE); + this.npc = npc; + } + + @Override + public void write(Lineage2Connection conn, ChannelBuffer buffer) { + final NPCTemplate template = npc.getTemplate(); + + buffer.writeInt(npc.getID().getID()); // obj id + buffer.writeInt(npc.getTemplateID().getID() + 1000000); // template id + BufferUtils.writeString(buffer, template.getName()); // name + buffer.writeInt((template.isAttackable() ? 0x01 : 0x00)); // attackable + buffer.writeInt(npc.getPoint().getX()); // x + buffer.writeInt(npc.getPoint().getY()); // y + buffer.writeInt(npc.getPoint().getZ()); // z + buffer.writeInt((int) npc.getPoint().getAngle()); // angle + buffer.writeDouble(template.getMovementSpeedMultiplier()); + buffer.writeDouble(template.getAttackSpeedMultiplier()); + buffer.writeDouble(template.getCollisionRadius()); // coll radius + buffer.writeDouble(template.getCollisionHeigth()); // coll height + buffer.writeInt((template.isAttackable() ? npc.getHP() : 0x00)); + buffer.writeInt((template.isAttackable() ? template.getMaxHP() : 0x00)); + buffer.writeInt(0x01); // object type + buffer.writeInt(0x00); // special effects + } +} diff --git a/src/main/java/com/l2jserver/model/id/ID.java b/src/main/java/com/l2jserver/model/id/ID.java index 28c972d86..7a6f62c78 100644 --- a/src/main/java/com/l2jserver/model/id/ID.java +++ b/src/main/java/com/l2jserver/model/id/ID.java @@ -71,5 +71,4 @@ public abstract class ID { return false; return true; } - } diff --git a/src/main/java/com/l2jserver/model/id/ObjectID.java b/src/main/java/com/l2jserver/model/id/ObjectID.java index da31d4500..dfc507d04 100644 --- a/src/main/java/com/l2jserver/model/id/ObjectID.java +++ b/src/main/java/com/l2jserver/model/id/ObjectID.java @@ -16,12 +16,13 @@ */ package com.l2jserver.model.id; -import com.l2jserver.model.id.factory.IDFactory; +import com.google.inject.assistedinject.Assisted; +import com.l2jserver.model.id.provider.IDProvider; import com.l2jserver.model.world.WorldObject; /** * {@link ObjectID}s cannot be instantiated directly. This must be done through - * an {@link IDFactory}. The {@link ObjectID} provides a facility + * an {@link IDProvider}. The {@link ObjectID} provides a facility * {@link #getObject() method} that allows easily fetch this object from * database without the need to directly use DAOs. * @@ -37,7 +38,7 @@ public abstract class ObjectID extends ID { * @param id * the raw id */ - protected ObjectID(int id) { + protected ObjectID(@Assisted int id) { super(id); } @@ -47,4 +48,33 @@ public abstract class ObjectID extends ID { * @return the {@link WorldObject} if existent, null otherwise */ public abstract T getObject(); + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + // this way we generate an unique hash code for all ObjectID and another + // ID with same id number will still generate another hash code. + result = prime * result + id.hashCode() + ObjectID.class.hashCode(); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + // we have unique id across all objects + // accept all subclasses of ObjectID is a requirement + if (!(obj instanceof ObjectID)) + return false; + @SuppressWarnings("rawtypes") + ObjectID other = (ObjectID) obj; + if (other.id != null) + return false; + if (!id.equals(other.id)) + return false; + return true; + } } diff --git a/src/main/java/com/l2jserver/model/id/factory/IDFactoryModule.java b/src/main/java/com/l2jserver/model/id/factory/IDFactoryModule.java deleted file mode 100644 index 4ae180b46..000000000 --- a/src/main/java/com/l2jserver/model/id/factory/IDFactoryModule.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * This file is part of l2jserver . - * - * l2jserver is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * l2jserver is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with l2jserver. If not, see . - */ -package com.l2jserver.model.id.factory; - -import com.google.inject.AbstractModule; -import com.google.inject.Module; -import com.google.inject.Scopes; -import com.google.inject.assistedinject.FactoryModuleBuilder; -import com.l2jserver.model.id.object.allocator.BitSetIDAllocator; -import com.l2jserver.model.id.object.allocator.IDAllocator; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; -import com.l2jserver.model.id.object.factory.CharacterIDFactory.CharacterIDGuiceFactory; -import com.l2jserver.model.id.object.factory.ClanIDFactory; -import com.l2jserver.model.id.object.factory.ClanIDFactory.ClanIDGuiceFactory; -import com.l2jserver.model.id.object.factory.ItemIDFactory; -import com.l2jserver.model.id.object.factory.ItemIDFactory.ItemIDGuiceFactory; -import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; -import com.l2jserver.model.id.template.factory.SkillTemplateIDFactory; - -/** - * Google Guice {@link IDFactory} {@link Module} - * - * @author Rogiel - */ -public class IDFactoryModule extends AbstractModule { - @Override - protected void configure() { - bind(IDAllocator.class).to(BitSetIDAllocator.class) - .in(Scopes.SINGLETON); - - // OBJECT IDS - bind(CharacterIDFactory.class).in(Scopes.SINGLETON); - install(new FactoryModuleBuilder().build(CharacterIDGuiceFactory.class)); - - bind(ItemIDFactory.class).in(Scopes.SINGLETON); - install(new FactoryModuleBuilder().build(ItemIDGuiceFactory.class)); - - bind(ClanIDFactory.class).in(Scopes.SINGLETON); - install(new FactoryModuleBuilder().build(ClanIDGuiceFactory.class)); - - // bind(PetIDFactory.class).in(Scopes.SINGLETON); - // install(new FactoryModuleBuilder().build(PetIDGuiceFactory.class)); - - // MISC OBJECTS - install(new FactoryModuleBuilder().build(AccountIDFactory.class)); - install(new FactoryModuleBuilder().build(FortIDFactory.class)); - - // TEMPLATE IDS - install(new FactoryModuleBuilder().build(ItemTemplateIDFactory.class)); - install(new FactoryModuleBuilder().build(SkillTemplateIDFactory.class)); - install(new FactoryModuleBuilder() - .build(CharacterTemplateIDFactory.class)); - } -} diff --git a/src/main/java/com/l2jserver/model/id/object/NPCID.java b/src/main/java/com/l2jserver/model/id/object/NPCID.java new file mode 100644 index 000000000..d9b2f3f33 --- /dev/null +++ b/src/main/java/com/l2jserver/model/id/object/NPCID.java @@ -0,0 +1,49 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.id.object; + +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; +import com.l2jserver.model.id.ObjectID; +import com.l2jserver.model.world.NPC; +import com.l2jserver.service.database.DataAccessObject; +import com.l2jserver.service.game.world.WorldService; + +/** + * An {@link ObjectID} instance representing an {@link NPC} object. Since NPC + * instances are stores in run-time only, the search is performed in the + * {@link WorldService} instead of using a {@link DataAccessObject}. + * + * @author Rogiel + */ +public final class NPCID extends ActorID { + /** + * {@link WorldService} used to locate objects + */ + private final WorldService worldService; + + @Inject + public NPCID(@Assisted int id, WorldService worldService) { + super(id); + this.worldService = worldService; + } + + @Override + public NPC getObject() { + return worldService.find(this); + } +} diff --git a/src/main/java/com/l2jserver/model/id/object/allocator/BitSetIDAllocator.java b/src/main/java/com/l2jserver/model/id/object/allocator/BitSetIDAllocator.java index 1fc419a48..886675753 100644 --- a/src/main/java/com/l2jserver/model/id/object/allocator/BitSetIDAllocator.java +++ b/src/main/java/com/l2jserver/model/id/object/allocator/BitSetIDAllocator.java @@ -134,6 +134,11 @@ public class BitSetIDAllocator implements IDAllocator { lock.unlock(); } } + + @Override + public void clear() { + ids.clear(); + } /** * Increases the {@link BitSet} capacity diff --git a/src/main/java/com/l2jserver/model/id/object/allocator/IDAllocator.java b/src/main/java/com/l2jserver/model/id/object/allocator/IDAllocator.java index 16946ab10..1854e9ab8 100644 --- a/src/main/java/com/l2jserver/model/id/object/allocator/IDAllocator.java +++ b/src/main/java/com/l2jserver/model/id/object/allocator/IDAllocator.java @@ -59,6 +59,11 @@ public interface IDAllocator { */ void release(int id); + /** + * Release all allocated IDs + */ + void clear(); + /** * Get the amount of already allocated IDs * diff --git a/src/main/java/com/l2jserver/model/id/object/factory/CharacterIDFactory.java b/src/main/java/com/l2jserver/model/id/object/provider/CharacterIDProvider.java similarity index 70% rename from src/main/java/com/l2jserver/model/id/object/factory/CharacterIDFactory.java rename to src/main/java/com/l2jserver/model/id/object/provider/CharacterIDProvider.java index 3df166934..267d37844 100644 --- a/src/main/java/com/l2jserver/model/id/object/factory/CharacterIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/object/provider/CharacterIDProvider.java @@ -14,49 +14,62 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.object.factory; +package com.l2jserver.model.id.object.provider; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; -import com.l2jserver.model.id.factory.IDFactory; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.provider.IDProvider; +import com.l2jserver.service.game.world.id.WorldIDService; /** - * {@link IDFactory} for {@link CharacterID}. + * {@link IDProvider} for {@link CharacterID}. * * @author Rogiel */ -public class CharacterIDFactory implements ObjectIDFactory { +public class CharacterIDProvider implements ObjectIDProvider { /** * The ID allocator */ private final IDAllocator allocator; + /** + * The {@link WorldIDService} instance. Used to locate existing IDs. + */ + private final WorldIDService idService; /** * The Guice Factory */ private final CharacterIDGuiceFactory factory; @Inject - public CharacterIDFactory(IDAllocator allocator, + public CharacterIDProvider(IDAllocator allocator, WorldIDService idService, CharacterIDGuiceFactory factory) { - super(); this.allocator = allocator; + this.idService = idService; this.factory = factory; } @Override public CharacterID createID() { - return createID(allocator.allocate()); + final CharacterID id = factory.create(allocator.allocate()); + idService.add(id); + return id; } @Override public CharacterID createID(Integer id) { - return factory.create(id); + CharacterID idObject = idService.resolve(id); + if (idObject == null) { + idObject = factory.create(id); + idService.add(idObject); + } + return idObject; } @Override public void destroy(CharacterID id) { + idService.remove(id); allocator.release(id.getID()); } diff --git a/src/main/java/com/l2jserver/model/id/object/factory/ClanIDFactory.java b/src/main/java/com/l2jserver/model/id/object/provider/ClanIDProvider.java similarity index 70% rename from src/main/java/com/l2jserver/model/id/object/factory/ClanIDFactory.java rename to src/main/java/com/l2jserver/model/id/object/provider/ClanIDProvider.java index a25347dae..a5a525649 100644 --- a/src/main/java/com/l2jserver/model/id/object/factory/ClanIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/object/provider/ClanIDProvider.java @@ -14,48 +14,63 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.object.factory; +package com.l2jserver.model.id.object.provider; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; -import com.l2jserver.model.id.factory.IDFactory; import com.l2jserver.model.id.object.ClanID; import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.provider.IDProvider; +import com.l2jserver.service.game.world.id.WorldIDService; /** - * {@link IDFactory} for {@link ClanID}. + * {@link IDProvider} for {@link ClanID}. * * @author Rogiel */ -public class ClanIDFactory implements ObjectIDFactory { +public class ClanIDProvider implements ObjectIDProvider { /** * The ID allocator */ private final IDAllocator allocator; + /** + * The {@link WorldIDService} + */ + private final WorldIDService idService; /** * The Guice factory */ private final ClanIDGuiceFactory factory; @Inject - public ClanIDFactory(IDAllocator allocator, ClanIDGuiceFactory factory) { + public ClanIDProvider(IDAllocator allocator, WorldIDService idService, + ClanIDGuiceFactory factory) { super(); this.allocator = allocator; + this.idService = idService; this.factory = factory; } @Override public ClanID createID() { - return createID(allocator.allocate()); + final ClanID id = factory.create(allocator.allocate()); + idService.add(id); + return id; } @Override public ClanID createID(Integer id) { - return factory.create(id); + ClanID idObject = idService.resolve(id); + if (idObject == null) { + idObject = factory.create(id); + idService.add(idObject); + } + return idObject; } @Override public void destroy(ClanID id) { + idService.remove(id); allocator.release(id.getID()); } diff --git a/src/main/java/com/l2jserver/model/id/object/factory/ItemIDFactory.java b/src/main/java/com/l2jserver/model/id/object/provider/ItemIDProvider.java similarity index 70% rename from src/main/java/com/l2jserver/model/id/object/factory/ItemIDFactory.java rename to src/main/java/com/l2jserver/model/id/object/provider/ItemIDProvider.java index c6c0ebf08..ff68659e0 100644 --- a/src/main/java/com/l2jserver/model/id/object/factory/ItemIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/object/provider/ItemIDProvider.java @@ -14,48 +14,63 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.object.factory; +package com.l2jserver.model.id.object.provider; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; -import com.l2jserver.model.id.factory.IDFactory; import com.l2jserver.model.id.object.ItemID; import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.provider.IDProvider; +import com.l2jserver.service.game.world.id.WorldIDService; /** - * {@link IDFactory} for {@link ItemID}. + * {@link IDProvider} for {@link ItemID}. * * @author Rogiel */ -public class ItemIDFactory implements ObjectIDFactory { +public class ItemIDProvider implements ObjectIDProvider { /** * The ID allocator */ private final IDAllocator allocator; + /** + * The {@link WorldIDService} + */ + private final WorldIDService idService; /** * The Guice factory */ private final ItemIDGuiceFactory factory; @Inject - public ItemIDFactory(IDAllocator allocator, ItemIDGuiceFactory factory) { + public ItemIDProvider(IDAllocator allocator, WorldIDService idService, + ItemIDGuiceFactory factory) { super(); this.allocator = allocator; + this.idService = idService; this.factory = factory; } @Override public ItemID createID() { - return createID(allocator.allocate()); + final ItemID id = factory.create(allocator.allocate()); + idService.add(id); + return id; } @Override public ItemID createID(Integer id) { - return factory.create(id); + ItemID idObject = idService.resolve(id); + if (idObject == null) { + idObject = factory.create(id); + idService.add(idObject); + } + return idObject; } - + @Override public void destroy(ItemID id) { + idService.remove(id); allocator.release(id.getID()); } diff --git a/src/main/java/com/l2jserver/model/id/object/provider/NPCIDProvider.java b/src/main/java/com/l2jserver/model/id/object/provider/NPCIDProvider.java new file mode 100644 index 000000000..f4459b031 --- /dev/null +++ b/src/main/java/com/l2jserver/model/id/object/provider/NPCIDProvider.java @@ -0,0 +1,92 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.id.object.provider; + +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; +import com.l2jserver.model.id.object.NPCID; +import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.provider.IDProvider; +import com.l2jserver.service.game.world.id.WorldIDService; + +/** + * {@link IDProvider} for {@link NPCID}. + * + * @author Rogiel + */ +public class NPCIDProvider implements ObjectIDProvider { + /** + * The ID allocator + */ + private final IDAllocator allocator; + /** + * The {@link WorldIDService} instance. Used to locate existing IDs. + */ + private final WorldIDService idService; + /** + * The Guice Factory + */ + private final NPCIDGuiceFactory factory; + + @Inject + public NPCIDProvider(IDAllocator allocator, WorldIDService idService, + NPCIDGuiceFactory factory) { + this.allocator = allocator; + this.idService = idService; + this.factory = factory; + } + + @Override + public NPCID createID() { + final NPCID id = factory.create(allocator.allocate()); + idService.add(id); + return id; + } + + @Override + public NPCID createID(Integer id) { + NPCID idObject = idService.resolve(id); + if (idObject == null) { + idObject = factory.create(id); + idService.add(idObject); + } + return idObject; + } + + @Override + public void destroy(NPCID id) { + idService.remove(id); + allocator.release(id.getID()); + } + + /** + * This is an Google Guice factory. Assistect Inject extension will + * automatically implement it and create the injected instances. + * + * @author Rogiel + */ + public interface NPCIDGuiceFactory { + /** + * Creates a new ID instance + * + * @param id + * the numeric ID + * @return the new ID created by injection + */ + NPCID create(@Assisted int id); + } +} diff --git a/src/main/java/com/l2jserver/model/id/object/factory/ObjectIDFactory.java b/src/main/java/com/l2jserver/model/id/object/provider/ObjectIDProvider.java similarity index 83% rename from src/main/java/com/l2jserver/model/id/object/factory/ObjectIDFactory.java rename to src/main/java/com/l2jserver/model/id/object/provider/ObjectIDProvider.java index 1b9df05af..37321a2bf 100644 --- a/src/main/java/com/l2jserver/model/id/object/factory/ObjectIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/object/provider/ObjectIDProvider.java @@ -14,13 +14,13 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.object.factory; +package com.l2jserver.model.id.object.provider; import com.l2jserver.model.id.ObjectID; -import com.l2jserver.model.id.factory.IDFactory; +import com.l2jserver.model.id.provider.IDProvider; -public interface ObjectIDFactory> extends - IDFactory { +public interface ObjectIDProvider> extends + IDProvider { /** * Generates a new ID * diff --git a/src/main/java/com/l2jserver/model/id/object/provider/ObjectIDResolver.java b/src/main/java/com/l2jserver/model/id/object/provider/ObjectIDResolver.java new file mode 100644 index 000000000..cc8fbad66 --- /dev/null +++ b/src/main/java/com/l2jserver/model/id/object/provider/ObjectIDResolver.java @@ -0,0 +1,77 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.id.object.provider; + +import com.google.inject.Inject; +import com.l2jserver.model.id.ObjectID; +import com.l2jserver.service.game.world.id.WorldIDService; + +/** + *

THIS PROVIDER IS READ ONLY!

+ *

+ * This is an ID resolver that will lookup for IDs in {@link WorldIDService}. + * Since this is only a resolver, only read operations can be performed and + * {@link #createID()} and {@link #destroy(ObjectID)} will throw + * {@link UnsupportedOperationException}. + *

+ * Another important aspect is that in {@link #createID(Integer)} if the ID is + * not found, it will NOT be created, instead null will be + * returned. You must use specific a {@link ObjectIDProvider} for that. + * + * @author Rogiel + */ +public class ObjectIDResolver implements ObjectIDProvider> { + /** + * The {@link WorldIDService} + */ + private final WorldIDService idService; + + @Inject + public ObjectIDResolver(WorldIDService idService) { + this.idService = idService; + } + + @Override + public ObjectID createID() { + throw new UnsupportedOperationException(); + } + + @Override + public ObjectID createID(Integer id) { + return idService.resolve(id); + } + + /** + * Resolves an integer ID to an {@link ObjectID}. If the ID does not exists + * null is returned. + * + * @param + * the ID type + * @param id + * the id + * @return the id found, null if non existent + */ + @SuppressWarnings("unchecked") + public > T resolve(Integer id) { + return (T) createID(id); + } + + @Override + public void destroy(ObjectID id) { + throw new UnsupportedOperationException(); + } +} diff --git a/src/main/java/com/l2jserver/model/id/object/factory/PetIDFactory.java b/src/main/java/com/l2jserver/model/id/object/provider/PetIDProvider.java similarity index 70% rename from src/main/java/com/l2jserver/model/id/object/factory/PetIDFactory.java rename to src/main/java/com/l2jserver/model/id/object/provider/PetIDProvider.java index 757edd686..48eefd14f 100644 --- a/src/main/java/com/l2jserver/model/id/object/factory/PetIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/object/provider/PetIDProvider.java @@ -14,48 +14,63 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.object.factory; +package com.l2jserver.model.id.object.provider; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; -import com.l2jserver.model.id.factory.IDFactory; import com.l2jserver.model.id.object.PetID; import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.provider.IDProvider; +import com.l2jserver.service.game.world.id.WorldIDService; /** - * {@link IDFactory} for {@link PetID}. + * {@link IDProvider} for {@link PetID}. * * @author Rogiel */ -public class PetIDFactory implements ObjectIDFactory { +public class PetIDProvider implements ObjectIDProvider { /** * The ID allocator */ private final IDAllocator allocator; + /** + * The {@link WorldIDService} + */ + private final WorldIDService idService; /** * The Guice factory */ private final PetIDGuiceFactory factory; @Inject - public PetIDFactory(IDAllocator allocator, PetIDGuiceFactory factory) { + public PetIDProvider(IDAllocator allocator, WorldIDService idService, + PetIDGuiceFactory factory) { super(); this.allocator = allocator; + this.idService = idService; this.factory = factory; } @Override public PetID createID() { - return createID(allocator.allocate()); + final PetID id = factory.create(allocator.allocate()); + idService.add(id); + return id; } @Override public PetID createID(Integer id) { - return factory.create(id); + PetID idObject = idService.resolve(id); + if (idObject == null) { + idObject = factory.create(id); + idService.add(idObject); + } + return idObject; } @Override public void destroy(PetID id) { + idService.remove(id); allocator.release(id.getID()); } diff --git a/src/main/java/com/l2jserver/model/id/factory/AccountIDFactory.java b/src/main/java/com/l2jserver/model/id/provider/AccountIDProvider.java similarity index 87% rename from src/main/java/com/l2jserver/model/id/factory/AccountIDFactory.java rename to src/main/java/com/l2jserver/model/id/provider/AccountIDProvider.java index 6205eec0e..e622c789d 100644 --- a/src/main/java/com/l2jserver/model/id/factory/AccountIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/provider/AccountIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.factory; +package com.l2jserver.model.id.provider; import com.l2jserver.model.id.AccountID; @@ -23,5 +23,5 @@ import com.l2jserver.model.id.AccountID; * * @author Rogiel */ -public interface AccountIDFactory extends IDFactory { +public interface AccountIDProvider extends IDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/factory/CastleIDFactory.java b/src/main/java/com/l2jserver/model/id/provider/CastleIDProvider.java similarity index 87% rename from src/main/java/com/l2jserver/model/id/factory/CastleIDFactory.java rename to src/main/java/com/l2jserver/model/id/provider/CastleIDProvider.java index 36576831b..8333cc88a 100644 --- a/src/main/java/com/l2jserver/model/id/factory/CastleIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/provider/CastleIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.factory; +package com.l2jserver.model.id.provider; import com.l2jserver.model.id.CastleID; @@ -23,5 +23,5 @@ import com.l2jserver.model.id.CastleID; * * @author Rogiel */ -public interface CastleIDFactory extends IDFactory { +public interface CastleIDProvider extends IDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/factory/FortIDFactory.java b/src/main/java/com/l2jserver/model/id/provider/FortIDProvider.java similarity index 88% rename from src/main/java/com/l2jserver/model/id/factory/FortIDFactory.java rename to src/main/java/com/l2jserver/model/id/provider/FortIDProvider.java index 6769a1ec0..699f524f8 100644 --- a/src/main/java/com/l2jserver/model/id/factory/FortIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/provider/FortIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.factory; +package com.l2jserver.model.id.provider; import com.l2jserver.model.id.FortID; @@ -23,5 +23,5 @@ import com.l2jserver.model.id.FortID; * * @author Rogiel */ -public interface FortIDFactory extends IDFactory { +public interface FortIDProvider extends IDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/factory/IDFactory.java b/src/main/java/com/l2jserver/model/id/provider/IDProvider.java similarity index 91% rename from src/main/java/com/l2jserver/model/id/factory/IDFactory.java rename to src/main/java/com/l2jserver/model/id/provider/IDProvider.java index bd6dfe6d7..c7fab6795 100644 --- a/src/main/java/com/l2jserver/model/id/factory/IDFactory.java +++ b/src/main/java/com/l2jserver/model/id/provider/IDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.factory; +package com.l2jserver.model.id.provider; import com.l2jserver.model.id.ID; @@ -24,7 +24,7 @@ import com.l2jserver.model.id.ID; * * @author Rogiel */ -public interface IDFactory> { +public interface IDProvider> { /** * Creates the ID object for an EXISTING ID. * diff --git a/src/main/java/com/l2jserver/model/id/provider/IDProviderModule.java b/src/main/java/com/l2jserver/model/id/provider/IDProviderModule.java new file mode 100644 index 000000000..13704b5f5 --- /dev/null +++ b/src/main/java/com/l2jserver/model/id/provider/IDProviderModule.java @@ -0,0 +1,79 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.id.provider; + +import com.google.inject.AbstractModule; +import com.google.inject.Module; +import com.google.inject.Scopes; +import com.google.inject.assistedinject.FactoryModuleBuilder; +import com.l2jserver.model.id.object.allocator.BitSetIDAllocator; +import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.object.provider.CharacterIDProvider.CharacterIDGuiceFactory; +import com.l2jserver.model.id.object.provider.ClanIDProvider; +import com.l2jserver.model.id.object.provider.ClanIDProvider.ClanIDGuiceFactory; +import com.l2jserver.model.id.object.provider.ItemIDProvider; +import com.l2jserver.model.id.object.provider.ItemIDProvider.ItemIDGuiceFactory; +import com.l2jserver.model.id.object.provider.NPCIDProvider; +import com.l2jserver.model.id.object.provider.NPCIDProvider.NPCIDGuiceFactory; +import com.l2jserver.model.id.object.provider.ObjectIDResolver; +import com.l2jserver.model.id.template.provider.CharacterTemplateIDProvider; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; +import com.l2jserver.model.id.template.provider.NPCTemplateIDProvider; +import com.l2jserver.model.id.template.provider.SkillTemplateIDProvider; + +/** + * Google Guice {@link IDProvider} {@link Module} + * + * @author Rogiel + */ +public class IDProviderModule extends AbstractModule { + @Override + protected void configure() { + bind(IDAllocator.class).to(BitSetIDAllocator.class) + .in(Scopes.SINGLETON); + + // OBJECT IDS + bind(ObjectIDResolver.class).in(Scopes.SINGLETON); // read-only! + + bind(CharacterIDProvider.class).in(Scopes.SINGLETON); + install(new FactoryModuleBuilder().build(CharacterIDGuiceFactory.class)); + + bind(NPCIDProvider.class).in(Scopes.SINGLETON); + install(new FactoryModuleBuilder().build(NPCIDGuiceFactory.class)); + + bind(ItemIDProvider.class).in(Scopes.SINGLETON); + install(new FactoryModuleBuilder().build(ItemIDGuiceFactory.class)); + + bind(ClanIDProvider.class).in(Scopes.SINGLETON); + install(new FactoryModuleBuilder().build(ClanIDGuiceFactory.class)); + + // bind(PetIDFactory.class).in(Scopes.SINGLETON); + // install(new FactoryModuleBuilder().build(PetIDGuiceFactory.class)); + + // MISC OBJECTS + install(new FactoryModuleBuilder().build(AccountIDProvider.class)); + install(new FactoryModuleBuilder().build(FortIDProvider.class)); + + // TEMPLATE IDS + install(new FactoryModuleBuilder().build(ItemTemplateIDProvider.class)); + install(new FactoryModuleBuilder().build(SkillTemplateIDProvider.class)); + install(new FactoryModuleBuilder() + .build(CharacterTemplateIDProvider.class)); + install(new FactoryModuleBuilder().build(NPCTemplateIDProvider.class)); + } +} diff --git a/src/main/java/com/l2jserver/model/id/template/NPCTemplateID.java b/src/main/java/com/l2jserver/model/id/template/NPCTemplateID.java index f2402914b..7b541201b 100644 --- a/src/main/java/com/l2jserver/model/id/template/NPCTemplateID.java +++ b/src/main/java/com/l2jserver/model/id/template/NPCTemplateID.java @@ -27,7 +27,7 @@ import com.l2jserver.service.game.template.TemplateService; * * @author Rogiel */ -public class NPCTemplateID extends ActorTemplateID> { +public class NPCTemplateID extends ActorTemplateID { @Inject protected NPCTemplateID(@Assisted int id, TemplateService templateService) { super(id, templateService); diff --git a/src/main/java/com/l2jserver/model/id/template/factory/CharacterTemplateIDFactory.java b/src/main/java/com/l2jserver/model/id/template/provider/CharacterTemplateIDProvider.java similarity index 85% rename from src/main/java/com/l2jserver/model/id/template/factory/CharacterTemplateIDFactory.java rename to src/main/java/com/l2jserver/model/id/template/provider/CharacterTemplateIDProvider.java index 96110330c..de82eddb0 100644 --- a/src/main/java/com/l2jserver/model/id/template/factory/CharacterTemplateIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/template/provider/CharacterTemplateIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.template.factory; +package com.l2jserver.model.id.template.provider; import com.l2jserver.model.id.template.CharacterTemplateID; @@ -23,6 +23,6 @@ import com.l2jserver.model.id.template.CharacterTemplateID; * * @author Rogiel */ -public interface CharacterTemplateIDFactory extends - TemplateIDFactory { +public interface CharacterTemplateIDProvider extends + TemplateIDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/template/factory/ItemTemplateIDFactory.java b/src/main/java/com/l2jserver/model/id/template/provider/ItemTemplateIDProvider.java similarity index 86% rename from src/main/java/com/l2jserver/model/id/template/factory/ItemTemplateIDFactory.java rename to src/main/java/com/l2jserver/model/id/template/provider/ItemTemplateIDProvider.java index 26abd86b5..a68686a9b 100644 --- a/src/main/java/com/l2jserver/model/id/template/factory/ItemTemplateIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/template/provider/ItemTemplateIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.template.factory; +package com.l2jserver.model.id.template.provider; import com.l2jserver.model.id.template.ItemTemplateID; @@ -23,6 +23,6 @@ import com.l2jserver.model.id.template.ItemTemplateID; * * @author Rogiel */ -public interface ItemTemplateIDFactory extends - TemplateIDFactory { +public interface ItemTemplateIDProvider extends + TemplateIDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/template/provider/NPCTemplateIDProvider.java b/src/main/java/com/l2jserver/model/id/template/provider/NPCTemplateIDProvider.java new file mode 100644 index 000000000..96b3901c8 --- /dev/null +++ b/src/main/java/com/l2jserver/model/id/template/provider/NPCTemplateIDProvider.java @@ -0,0 +1,28 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.id.template.provider; + +import com.l2jserver.model.id.template.NPCTemplateID; + +/** + * Creates new {@link NPCTemplateID} instances + * + * @author Rogiel + */ +public interface NPCTemplateIDProvider extends + TemplateIDProvider { +} diff --git a/src/main/java/com/l2jserver/model/id/template/factory/SkillTemplateIDFactory.java b/src/main/java/com/l2jserver/model/id/template/provider/SkillTemplateIDProvider.java similarity index 86% rename from src/main/java/com/l2jserver/model/id/template/factory/SkillTemplateIDFactory.java rename to src/main/java/com/l2jserver/model/id/template/provider/SkillTemplateIDProvider.java index 95e569940..2ca9bc914 100644 --- a/src/main/java/com/l2jserver/model/id/template/factory/SkillTemplateIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/template/provider/SkillTemplateIDProvider.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.template.factory; +package com.l2jserver.model.id.template.provider; import com.l2jserver.model.id.template.SkillTemplateID; @@ -23,6 +23,6 @@ import com.l2jserver.model.id.template.SkillTemplateID; * * @author Rogiel */ -public interface SkillTemplateIDFactory extends - TemplateIDFactory { +public interface SkillTemplateIDProvider extends + TemplateIDProvider { } diff --git a/src/main/java/com/l2jserver/model/id/template/factory/TemplateIDFactory.java b/src/main/java/com/l2jserver/model/id/template/provider/TemplateIDProvider.java similarity index 82% rename from src/main/java/com/l2jserver/model/id/template/factory/TemplateIDFactory.java rename to src/main/java/com/l2jserver/model/id/template/provider/TemplateIDProvider.java index 913abca49..896581a8c 100644 --- a/src/main/java/com/l2jserver/model/id/template/factory/TemplateIDFactory.java +++ b/src/main/java/com/l2jserver/model/id/template/provider/TemplateIDProvider.java @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with l2jserver. If not, see . */ -package com.l2jserver.model.id.template.factory; +package com.l2jserver.model.id.template.provider; import com.l2jserver.model.id.TemplateID; -import com.l2jserver.model.id.factory.IDFactory; +import com.l2jserver.model.id.provider.IDProvider; /** * Creates a new {@link TemplateID} @@ -27,6 +27,6 @@ import com.l2jserver.model.id.factory.IDFactory; * @param * the subclass of {@link TemplateID} that will be createdF */ -public interface TemplateIDFactory> extends - IDFactory { +public interface TemplateIDProvider> extends + IDProvider { } diff --git a/src/main/java/com/l2jserver/model/template/ActorTemplate.java b/src/main/java/com/l2jserver/model/template/ActorTemplate.java index 8f4734f74..652e63400 100644 --- a/src/main/java/com/l2jserver/model/template/ActorTemplate.java +++ b/src/main/java/com/l2jserver/model/template/ActorTemplate.java @@ -59,7 +59,7 @@ public abstract class ActorTemplate extends return actor; } - public abstract T createInstance(); + protected abstract T createInstance(); /** * @return the race diff --git a/src/main/java/com/l2jserver/model/template/NPCTemplate.java b/src/main/java/com/l2jserver/model/template/NPCTemplate.java index 82944f4b8..3b6f45230 100644 --- a/src/main/java/com/l2jserver/model/template/NPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/NPCTemplate.java @@ -16,23 +16,123 @@ */ package com.l2jserver.model.template; +import com.google.inject.Inject; +import com.l2jserver.game.net.Lineage2Connection; +import com.l2jserver.game.net.packet.client.CharacterActionPacket.CharacterAction; import com.l2jserver.model.id.template.NPCTemplateID; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.model.world.AbstractActor.Race; +import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.NPC; +import com.l2jserver.service.game.CharacterService; +import com.l2jserver.service.network.NetworkService; /** * Template for {@link NPC} * * @author Rogiel */ -public abstract class NPCTemplate extends ActorTemplate { +public abstract class NPCTemplate extends ActorTemplate { + @Inject + protected NetworkService networkService; + @Inject + protected CharacterService charService; + @Inject + protected ItemTemplateIDProvider itemTemplateIdProvider; + + protected String name = null; + protected String title = null; + protected boolean attackable = false; + + protected double movementSpeedMultiplier = 1.0; + protected double attackSpeedMultiplier = 1.0; + + protected double collisionRadius = 0; + protected double collisionHeigth = 0; + + protected int maxHp; + protected NPCTemplate(NPCTemplateID id) { super(id, null); } + /** + * Performs an interaction with this NPC. This is normally invoked from + * npc instance. + * + * @param character + * the interacting character + * @param action + * the action performed + */ + public void action(NPC npc, L2Character character, CharacterAction action) { + final Lineage2Connection conn = networkService.discover(character + .getID()); + if (conn == null) + return; + System.out.println(action); + charService.target(character, npc); + } + @Override - public T createInstance() { - return null; + public NPC createInstance() { + return new NPC(this.getID()); + } + + /** + * @return the name + */ + public String getName() { + return name; + } + + /** + * @return the title + */ + public String getTitle() { + return title; + } + + /** + * @return the attackable + */ + public boolean isAttackable() { + return attackable; + } + + /** + * @return the movementSpeedMultiplier + */ + public double getMovementSpeedMultiplier() { + return movementSpeedMultiplier; + } + + /** + * @return the attackSpeedMultiplier + */ + public double getAttackSpeedMultiplier() { + return attackSpeedMultiplier; + } + + /** + * @return the collisionRadius + */ + public double getCollisionRadius() { + return collisionRadius; + } + + /** + * @return the collisionHeigth + */ + public double getCollisionHeigth() { + return collisionHeigth; + } + + /** + * @return the maxHp + */ + public int getMaxHP() { + return maxHp; } /** diff --git a/src/main/java/com/l2jserver/model/template/item/WeaponTemplate.java b/src/main/java/com/l2jserver/model/template/item/WeaponTemplate.java index 0ffc8500b..40b5a7e6c 100644 --- a/src/main/java/com/l2jserver/model/template/item/WeaponTemplate.java +++ b/src/main/java/com/l2jserver/model/template/item/WeaponTemplate.java @@ -25,12 +25,12 @@ import com.l2jserver.model.template.capability.Attackable; import com.l2jserver.model.world.Item; import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll; import com.l2jserver.util.calculator.Calculator; -import com.l2jserver.util.calculator.DivisionOperation; -import com.l2jserver.util.calculator.MultiplicationOperation; -import com.l2jserver.util.calculator.Operation; -import com.l2jserver.util.calculator.SetOperation; -import com.l2jserver.util.calculator.SubtractOperation; -import com.l2jserver.util.calculator.SumOperation; +import com.l2jserver.util.calculator.DivisionFunction; +import com.l2jserver.util.calculator.MultiplicationFunction; +import com.l2jserver.util.calculator.Function; +import com.l2jserver.util.calculator.SetFunction; +import com.l2jserver.util.calculator.SubtractFunction; +import com.l2jserver.util.calculator.SumFunction; import com.l2jserver.util.factory.CollectionFactory; /** @@ -151,7 +151,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * @author Rogiel */ public class WeaponAttribute { - private final Map>> operations = CollectionFactory + private final Map>> operations = CollectionFactory .newMap(null, null); /** @@ -165,7 +165,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the value to set */ public void set(WeaponAttributeType type, int order, double value) { - getMap(type).put(order, new SetOperation(value)); + getMap(type).put(order, new SetFunction(value)); } /** @@ -179,7 +179,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the value to be summed */ public void add(WeaponAttributeType type, int order, double value) { - getMap(type).put(order, new SumOperation(value)); + getMap(type).put(order, new SumFunction(value)); } /** @@ -193,7 +193,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the value to be subtracted */ public void sub(WeaponAttributeType type, int order, double value) { - getMap(type).put(order, new SubtractOperation(value)); + getMap(type).put(order, new SubtractFunction(value)); } /** @@ -207,7 +207,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the value to be multiplied */ public void mult(WeaponAttributeType type, int order, double value) { - getMap(type).put(order, new MultiplicationOperation(value)); + getMap(type).put(order, new MultiplicationFunction(value)); } /** @@ -221,7 +221,7 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the value to be divided by */ public void div(WeaponAttributeType type, int order, double value) { - getMap(type).put(order, new DivisionOperation(value)); + getMap(type).put(order, new DivisionFunction(value)); } /** @@ -245,8 +245,8 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the type * @return the order-operation map */ - private Map> getMap(WeaponAttributeType type) { - Map> map = operations.get(type); + private Map> getMap(WeaponAttributeType type) { + Map> map = operations.get(type); if (map == null) { map = CollectionFactory.newMap(null, null); operations.put(type, map); @@ -263,9 +263,9 @@ public abstract class WeaponTemplate extends ItemTemplate implements Attackable * the calculator */ private void calculator(WeaponAttributeType type, Calculator calculator) { - final Map> operations = this.operations + final Map> operations = this.operations .get(type); - for (final Entry> entry : operations + for (final Entry> entry : operations .entrySet()) { calculator.add(entry.getKey(), entry.getValue()); } diff --git a/src/main/java/com/l2jserver/model/template/npc/AdventurerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/AdventurerNPCTemplate.java index 14bb40b65..db6f5f243 100644 --- a/src/main/java/com/l2jserver/model/template/npc/AdventurerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/AdventurerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class AdventurerNPCTemplate extends NPCTemplate { +public class AdventurerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ArtefactNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ArtefactNPCTemplate.java index 97556440f..3f4c080ae 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ArtefactNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ArtefactNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ArtefactNPCTemplate extends NPCTemplate { +public class ArtefactNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/AuctioneerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/AuctioneerNPCTemplate.java index 7d22e3423..a2f624a3f 100644 --- a/src/main/java/com/l2jserver/model/template/npc/AuctioneerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/AuctioneerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class AuctioneerNPCTemplate extends NPCTemplate { +public class AuctioneerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/BabyPetNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/BabyPetNPCTemplate.java index a91ae83f9..c848b6f41 100644 --- a/src/main/java/com/l2jserver/model/template/npc/BabyPetNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/BabyPetNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class BabyPetNPCTemplate extends NPCTemplate { +public class BabyPetNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/BlockNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/BlockNPCTemplate.java index 5d5b3677b..217a33910 100644 --- a/src/main/java/com/l2jserver/model/template/npc/BlockNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/BlockNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class BlockNPCTemplate extends NPCTemplate { +public class BlockNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CabaleBufferNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CabaleBufferNPCTemplate.java index 7c858c41b..5578e2c4e 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CabaleBufferNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CabaleBufferNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CabaleBufferNPCTemplate extends NPCTemplate { +public class CabaleBufferNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CastleBlacksmithNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CastleBlacksmithNPCTemplate.java index d2db01c81..b1f51e34b 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CastleBlacksmithNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CastleBlacksmithNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CastleBlacksmithNPCTemplate extends NPCTemplate { +public class CastleBlacksmithNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CastleChamberlainNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CastleChamberlainNPCTemplate.java index 5f6d5c9f9..6255364ea 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CastleChamberlainNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CastleChamberlainNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CastleChamberlainNPCTemplate extends NPCTemplate { +public class CastleChamberlainNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CastleDoormenNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CastleDoormenNPCTemplate.java index acb52c098..121d434ad 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CastleDoormenNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CastleDoormenNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CastleDoormenNPCTemplate extends NPCTemplate { +public class CastleDoormenNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CastleMagicianNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CastleMagicianNPCTemplate.java index 240a50609..855fbb94c 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CastleMagicianNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CastleMagicianNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CastleMagicianNPCTemplate extends NPCTemplate { +public class CastleMagicianNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/CastleWyvernManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/CastleWyvernManagerNPCTemplate.java index e38e49962..1a568cab4 100644 --- a/src/main/java/com/l2jserver/model/template/npc/CastleWyvernManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/CastleWyvernManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class CastleWyvernManagerNPCTemplate extends NPCTemplate { +public class CastleWyvernManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ChestNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ChestNPCTemplate.java index aefcc7dac..32034f2ff 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ChestNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ChestNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ChestNPCTemplate extends NPCTemplate { +public class ChestNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ChristmasTreeNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ChristmasTreeNPCTemplate.java index ba63165b2..14597a777 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ChristmasTreeNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ChristmasTreeNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ChristmasTreeNPCTemplate extends NPCTemplate { +public class ChristmasTreeNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ClanTraderNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ClanTraderNPCTemplate.java index baf409f93..6ea6f6564 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ClanTraderNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ClanTraderNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ClanTraderNPCTemplate extends NPCTemplate { +public class ClanTraderNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ClanhallDoormenNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ClanhallDoormenNPCTemplate.java index d77cb493c..c15c7cb97 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ClanhallDoormenNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ClanhallDoormenNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ClanhallDoormenNPCTemplate extends NPCTemplate { +public class ClanhallDoormenNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ClanhallManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ClanhallManagerNPCTemplate.java index 2821e7d48..b75b8b15f 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ClanhallManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ClanhallManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ClanhallManagerNPCTemplate extends NPCTemplate { +public class ClanhallManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ClassMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ClassMasterNPCTemplate.java index 5d8bd89f8..db907a37a 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ClassMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ClassMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ClassMasterNPCTemplate extends NPCTemplate { +public class ClassMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ControlTowerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ControlTowerNPCTemplate.java index c2cc4557b..3a98788f1 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ControlTowerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ControlTowerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ControlTowerNPCTemplate extends NPCTemplate { +public class ControlTowerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DarkElfVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DarkElfVillageMasterNPCTemplate.java index 4ef834931..22f5a6faa 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DarkElfVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DarkElfVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DarkElfVillageMasterNPCTemplate extends NPCTemplate { +public class DarkElfVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DawnPriestNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DawnPriestNPCTemplate.java index f8e4cd690..e2c111107 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DawnPriestNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DawnPriestNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DawnPriestNPCTemplate extends NPCTemplate { +public class DawnPriestNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DecoyNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DecoyNPCTemplate.java index fb19c229b..cdc272879 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DecoyNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DecoyNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DecoyNPCTemplate extends NPCTemplate { +public class DecoyNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DefenderNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DefenderNPCTemplate.java index 1679094bb..f09b04f3d 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DefenderNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DefenderNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DefenderNPCTemplate extends NPCTemplate { +public class DefenderNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DoormenNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DoormenNPCTemplate.java index 183fde994..f2bff1b88 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DoormenNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DoormenNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DoormenNPCTemplate extends NPCTemplate { +public class DoormenNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DungeonGatekeeperNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DungeonGatekeeperNPCTemplate.java index b6575bc41..7660cb407 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DungeonGatekeeperNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DungeonGatekeeperNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DungeonGatekeeperNPCTemplate extends NPCTemplate { +public class DungeonGatekeeperNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DuskPriestNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DuskPriestNPCTemplate.java index f1a361682..8d18cbca2 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DuskPriestNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DuskPriestNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DuskPriestNPCTemplate extends NPCTemplate { +public class DuskPriestNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/DwarfVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/DwarfVillageMasterNPCTemplate.java index 8188e9842..d30695cc1 100644 --- a/src/main/java/com/l2jserver/model/template/npc/DwarfVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/DwarfVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class DwarfVillageMasterNPCTemplate extends NPCTemplate { +public class DwarfVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/EffectPointNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/EffectPointNPCTemplate.java index cb9e1bc50..5e0efc6b3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/EffectPointNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/EffectPointNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class EffectPointNPCTemplate extends NPCTemplate { +public class EffectPointNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/EventChestNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/EventChestNPCTemplate.java index 4384bec97..67b536226 100644 --- a/src/main/java/com/l2jserver/model/template/npc/EventChestNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/EventChestNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class EventChestNPCTemplate extends NPCTemplate { +public class EventChestNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FameManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FameManagerNPCTemplate.java index 7849488d0..c40402ee7 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FameManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FameManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FameManagerNPCTemplate extends NPCTemplate { +public class FameManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FeedableBeastNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FeedableBeastNPCTemplate.java index c409117f9..078b55e2c 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FeedableBeastNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FeedableBeastNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FeedableBeastNPCTemplate extends NPCTemplate { +public class FeedableBeastNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FestivalGuideNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FestivalGuideNPCTemplate.java index 5971cc890..1e215eb4e 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FestivalGuideNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FestivalGuideNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FestivalGuideNPCTemplate extends NPCTemplate { +public class FestivalGuideNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FestivalMonsterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FestivalMonsterNPCTemplate.java index ed7b329c8..4abb14198 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FestivalMonsterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FestivalMonsterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FestivalMonsterNPCTemplate extends NPCTemplate { +public class FestivalMonsterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FightherVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FightherVillageMasterNPCTemplate.java index 753363727..929386422 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FightherVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FightherVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FightherVillageMasterNPCTemplate extends NPCTemplate { +public class FightherVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FishermanNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FishermanNPCTemplate.java index b1dee033e..4ed02ff5c 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FishermanNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FishermanNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FishermanNPCTemplate extends NPCTemplate { +public class FishermanNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FlameTowerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FlameTowerNPCTemplate.java index 5461abe03..d2b633d3c 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FlameTowerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FlameTowerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FlameTowerNPCTemplate extends NPCTemplate { +public class FlameTowerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FlyMonsterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FlyMonsterNPCTemplate.java index 916c425e1..227552576 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FlyMonsterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FlyMonsterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FlyMonsterNPCTemplate extends NPCTemplate { +public class FlyMonsterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FlyNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FlyNPCTemplate.java index ec2f43b93..e5a231a29 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FlyNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FlyNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FlyNPCTemplate extends NPCTemplate { +public class FlyNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FlyRaidBossNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FlyRaidBossNPCTemplate.java index 3b5849d3a..4f54326bf 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FlyRaidBossNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FlyRaidBossNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FlyRaidBossNPCTemplate extends NPCTemplate { +public class FlyRaidBossNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FlyTerrainObjectNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FlyTerrainObjectNPCTemplate.java index 7635db4f4..021a1e193 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FlyTerrainObjectNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FlyTerrainObjectNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FlyTerrainObjectNPCTemplate extends NPCTemplate { +public class FlyTerrainObjectNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortBallistaNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortBallistaNPCTemplate.java index 78c3557ee..a02e87714 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortBallistaNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortBallistaNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortBallistaNPCTemplate extends NPCTemplate { +public class FortBallistaNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortCommanderNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortCommanderNPCTemplate.java index d8fd2f55b..4a8f83988 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortCommanderNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortCommanderNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortCommanderNPCTemplate extends NPCTemplate { +public class FortCommanderNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortDoormenNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortDoormenNPCTemplate.java index 836038116..fc54236ce 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortDoormenNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortDoormenNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortDoormenNPCTemplate extends NPCTemplate { +public class FortDoormenNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortEnvoyNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortEnvoyNPCTemplate.java index 3a18117c0..6035f4ff3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortEnvoyNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortEnvoyNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortEnvoyNPCTemplate extends NPCTemplate { +public class FortEnvoyNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortLogisticsNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortLogisticsNPCTemplate.java index e31013187..355070ee9 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortLogisticsNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortLogisticsNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortLogisticsNPCTemplate extends NPCTemplate { +public class FortLogisticsNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortManagerNPCTemplate.java index 4738cdecb..0969dacd9 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortManagerNPCTemplate extends NPCTemplate { +public class FortManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortSiegeNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortSiegeNPCTemplate.java index dd1ec0a2d..e1f8f1706 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortSiegeNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortSiegeNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortSiegeNPCTemplate extends NPCTemplate { +public class FortSiegeNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortSupportCaptainNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortSupportCaptainNPCTemplate.java index 11379ebd6..56e4d87fa 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortSupportCaptainNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortSupportCaptainNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortSupportCaptainNPCTemplate extends NPCTemplate { +public class FortSupportCaptainNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FortWyvernManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FortWyvernManagerNPCTemplate.java index 4d629470b..5308a59e1 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FortWyvernManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FortWyvernManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FortWyvernManagerNPCTemplate extends NPCTemplate { +public class FortWyvernManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/FriendlyMonsterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/FriendlyMonsterNPCTemplate.java index 6fdf4572b..6dcbfb135 100644 --- a/src/main/java/com/l2jserver/model/template/npc/FriendlyMonsterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/FriendlyMonsterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class FriendlyMonsterNPCTemplate extends NPCTemplate { +public class FriendlyMonsterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/GrandeBossNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/GrandeBossNPCTemplate.java index fc96241b0..deda403f0 100644 --- a/src/main/java/com/l2jserver/model/template/npc/GrandeBossNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/GrandeBossNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class GrandeBossNPCTemplate extends NPCTemplate { +public class GrandeBossNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/GuardNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/GuardNPCTemplate.java index 676e57546..8649cb4a2 100644 --- a/src/main/java/com/l2jserver/model/template/npc/GuardNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/GuardNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class GuardNPCTemplate extends NPCTemplate { +public class GuardNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/KamaelVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/KamaelVillageMasterNPCTemplate.java index c3356e7aa..3d0c8515f 100644 --- a/src/main/java/com/l2jserver/model/template/npc/KamaelVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/KamaelVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class KamaelVillageMasterNPCTemplate extends NPCTemplate { +public class KamaelVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/ManorManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ManorManagerNPCTemplate.java index b78221210..517cb73ee 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ManorManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ManorManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ManorManagerNPCTemplate extends NPCTemplate { +public class ManorManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/MercManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/MercManagerNPCTemplate.java index d3b14a7a7..829961fca 100644 --- a/src/main/java/com/l2jserver/model/template/npc/MercManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/MercManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class MercManagerNPCTemplate extends NPCTemplate { +public class MercManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/MercenaryManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/MercenaryManagerNPCTemplate.java index 75e2b111a..54afb8f97 100644 --- a/src/main/java/com/l2jserver/model/template/npc/MercenaryManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/MercenaryManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class MercenaryManagerNPCTemplate extends NPCTemplate { +public class MercenaryManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/MerchantNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/MerchantNPCTemplate.java index b1e27e1ca..c89ff4115 100644 --- a/src/main/java/com/l2jserver/model/template/npc/MerchantNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/MerchantNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class MerchantNPCTemplate extends NPCTemplate { +public class MerchantNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/MerchantSummonNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/MerchantSummonNPCTemplate.java index 877c69429..696128ef3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/MerchantSummonNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/MerchantSummonNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class MerchantSummonNPCTemplate extends NPCTemplate { +public class MerchantSummonNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/MonsterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/MonsterNPCTemplate.java index bb7a7f6d9..27d7029d3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/MonsterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/MonsterNPCTemplate.java @@ -16,15 +16,17 @@ */ package com.l2jserver.model.template.npc; +import com.l2jserver.game.net.packet.client.CharacterActionPacket.CharacterAction; import com.l2jserver.model.id.template.NPCTemplateID; import com.l2jserver.model.template.NPCTemplate; +import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.NPC; /** * @author Rogiel * */ -public class MonsterNPCTemplate extends NPCTemplate { +public class MonsterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * @@ -36,4 +38,19 @@ public class MonsterNPCTemplate extends NPCTemplate { protected MonsterNPCTemplate(NPCTemplateID id) { super(id); } + + @Override + public void action(NPC npc, L2Character character, CharacterAction action) { + super.action(npc, character, action); + } + + /** + * Called when an character is executing an attack action + * + * @param attacker + * the attacking character + */ + public void attack(L2Character attacker) { + + } } diff --git a/src/main/java/com/l2jserver/model/template/npc/ObservationNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/ObservationNPCTemplate.java index a4fe7685f..ee6ee6075 100644 --- a/src/main/java/com/l2jserver/model/template/npc/ObservationNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/ObservationNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class ObservationNPCTemplate extends NPCTemplate { +public class ObservationNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/OlympiadManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/OlympiadManagerNPCTemplate.java index a1b0de9c1..4eb73badd 100644 --- a/src/main/java/com/l2jserver/model/template/npc/OlympiadManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/OlympiadManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class OlympiadManagerNPCTemplate extends NPCTemplate { +public class OlympiadManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/OrcVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/OrcVillageMasterNPCTemplate.java index 9ed615010..f7694be5f 100644 --- a/src/main/java/com/l2jserver/model/template/npc/OrcVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/OrcVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class OrcVillageMasterNPCTemplate extends NPCTemplate { +public class OrcVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/PenaltyNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/PenaltyNPCTemplate.java index 43e9e62a0..a01666ba3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/PenaltyNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/PenaltyNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class PenaltyNPCTemplate extends NPCTemplate { +public class PenaltyNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/PetManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/PetManagerNPCTemplate.java index fdd34291b..310675a89 100644 --- a/src/main/java/com/l2jserver/model/template/npc/PetManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/PetManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class PetManagerNPCTemplate extends NPCTemplate { +public class PetManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/PriestVillageMasterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/PriestVillageMasterNPCTemplate.java index ceadf4d1d..0657ff40e 100644 --- a/src/main/java/com/l2jserver/model/template/npc/PriestVillageMasterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/PriestVillageMasterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class PriestVillageMasterNPCTemplate extends NPCTemplate { +public class PriestVillageMasterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/RaidBossNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/RaidBossNPCTemplate.java index eb881ea07..db3ccb9cf 100644 --- a/src/main/java/com/l2jserver/model/template/npc/RaidBossNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/RaidBossNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class RaidBossNPCTemplate extends NPCTemplate { +public class RaidBossNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/RiftInvaderNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/RiftInvaderNPCTemplate.java index e3a44dfe9..9b8812927 100644 --- a/src/main/java/com/l2jserver/model/template/npc/RiftInvaderNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/RiftInvaderNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class RiftInvaderNPCTemplate extends NPCTemplate { +public class RiftInvaderNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/SepulcherMonsterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/SepulcherMonsterNPCTemplate.java index 4f773cab9..b22f1ec5d 100644 --- a/src/main/java/com/l2jserver/model/template/npc/SepulcherMonsterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/SepulcherMonsterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class SepulcherMonsterNPCTemplate extends NPCTemplate { +public class SepulcherMonsterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/SiegeNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/SiegeNPCTemplate.java index 86ade8841..090c9dd11 100644 --- a/src/main/java/com/l2jserver/model/template/npc/SiegeNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/SiegeNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class SiegeNPCTemplate extends NPCTemplate { +public class SiegeNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/SiegeSummonNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/SiegeSummonNPCTemplate.java index 0c44ca630..63529bca3 100644 --- a/src/main/java/com/l2jserver/model/template/npc/SiegeSummonNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/SiegeSummonNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class SiegeSummonNPCTemplate extends NPCTemplate { +public class SiegeSummonNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/SignsPriestsNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/SignsPriestsNPCTemplate.java index 53d75f8fd..2b0452b58 100644 --- a/src/main/java/com/l2jserver/model/template/npc/SignsPriestsNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/SignsPriestsNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class SignsPriestsNPCTemplate extends NPCTemplate { +public class SignsPriestsNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/SymbolMakerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/SymbolMakerNPCTemplate.java index b32b035ed..735a8b57e 100644 --- a/src/main/java/com/l2jserver/model/template/npc/SymbolMakerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/SymbolMakerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class SymbolMakerNPCTemplate extends NPCTemplate { +public class SymbolMakerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TamedBeastNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TamedBeastNPCTemplate.java index 0d722594a..1667db07a 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TamedBeastNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TamedBeastNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TamedBeastNPCTemplate extends NPCTemplate { +public class TamedBeastNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TeleporterNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TeleporterNPCTemplate.java index 583522f96..6d7b53695 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TeleporterNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TeleporterNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TeleporterNPCTemplate extends NPCTemplate { +public class TeleporterNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TerrainObjectNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TerrainObjectNPCTemplate.java index 6b413d78d..20bafbf7b 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TerrainObjectNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TerrainObjectNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TerrainObjectNPCTemplate extends NPCTemplate { +public class TerrainObjectNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TerritoryWardNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TerritoryWardNPCTemplate.java index f73c7c652..53a28f7f7 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TerritoryWardNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TerritoryWardNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TerritoryWardNPCTemplate extends NPCTemplate { +public class TerritoryWardNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TownPetNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TownPetNPCTemplate.java index 49ace570b..d23a4e750 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TownPetNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TownPetNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TownPetNPCTemplate extends NPCTemplate { +public class TownPetNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TrainerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TrainerNPCTemplate.java index b8edcc84b..6edf5ab54 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TrainerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TrainerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TrainerNPCTemplate extends NPCTemplate { +public class TrainerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/TransformManagerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/TransformManagerNPCTemplate.java index 0a622e8c4..2ef93d765 100644 --- a/src/main/java/com/l2jserver/model/template/npc/TransformManagerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/TransformManagerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class TransformManagerNPCTemplate extends NPCTemplate { +public class TransformManagerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/WalkerNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/WalkerNPCTemplate.java index 51c446c34..72f31e912 100644 --- a/src/main/java/com/l2jserver/model/template/npc/WalkerNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/WalkerNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class WalkerNPCTemplate extends NPCTemplate { +public class WalkerNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/template/npc/WarehouseNPCTemplate.java b/src/main/java/com/l2jserver/model/template/npc/WarehouseNPCTemplate.java index b7c0611e6..e4aa820fc 100644 --- a/src/main/java/com/l2jserver/model/template/npc/WarehouseNPCTemplate.java +++ b/src/main/java/com/l2jserver/model/template/npc/WarehouseNPCTemplate.java @@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC; * @author Rogiel * */ -public class WarehouseNPCTemplate extends NPCTemplate { +public class WarehouseNPCTemplate extends NPCTemplate { /** * Creates a new instance of this template * diff --git a/src/main/java/com/l2jserver/model/world/L2Character.java b/src/main/java/com/l2jserver/model/world/L2Character.java index 1922717b0..7d2feb0eb 100644 --- a/src/main/java/com/l2jserver/model/world/L2Character.java +++ b/src/main/java/com/l2jserver/model/world/L2Character.java @@ -19,11 +19,13 @@ package com.l2jserver.model.world; import java.sql.Date; import com.l2jserver.model.id.AccountID; +import com.l2jserver.model.id.object.ActorID; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.ClanID; import com.l2jserver.model.id.object.PetID; import com.l2jserver.model.template.CharacterTemplate; import com.l2jserver.model.world.actor.ActorAttributes; +import com.l2jserver.model.world.capability.Actor; import com.l2jserver.model.world.character.CharacterAppearance; import com.l2jserver.model.world.character.CharacterCalculatedAttributes; import com.l2jserver.model.world.character.CharacterClass; @@ -92,12 +94,21 @@ public class L2Character extends Player { * Date of character's last access */ private Date lastAccess; + + // //////////////////////////////////// + // / RUNTIME + // //////////////////////////////////// + /** * The character walk mode. *

* This field is not persisted. */ private CharacterMoveType moveType = CharacterMoveType.WALK; + /** + * The character target, if any. + */ + private ActorID targetID; /** * The character walking mode @@ -263,6 +274,30 @@ public class L2Character extends Player { this.moveType = moveType; } + /** + * @return the target ID + */ + public ActorID getTargetID() { + return targetID; + } + + /** + * @return the target + */ + public Actor getTarget() { + if (targetID == null) + return null; + return targetID.getObject(); + } + + /** + * @param target + * the target ID to set + */ + public void setTargetID(ActorID target) { + this.targetID = target; + } + /** * @return the inventory */ diff --git a/src/main/java/com/l2jserver/model/world/NPC.java b/src/main/java/com/l2jserver/model/world/NPC.java index e78a12dec..1e37e9208 100644 --- a/src/main/java/com/l2jserver/model/world/NPC.java +++ b/src/main/java/com/l2jserver/model/world/NPC.java @@ -16,10 +16,53 @@ */ package com.l2jserver.model.world; +import com.l2jserver.game.net.packet.client.CharacterActionPacket.CharacterAction; +import com.l2jserver.model.id.object.NPCID; +import com.l2jserver.model.id.template.NPCTemplateID; +import com.l2jserver.model.template.NPCTemplate; + /** * @author Rogiel * */ public class NPC extends AbstractActor { + /** + * The NPC template ID + */ + private final NPCTemplateID templateID; + public NPC(NPCTemplateID templateID) { + this.templateID = templateID; + } + + /** + * Executes an action on this NPC + * + * @param character + * the interacting character + * @param action + * the action + */ + public void action(L2Character character, CharacterAction action) { + getTemplate().action(this, character, action); + } + + /** + * @return the NPC template ID + */ + public NPCTemplateID getTemplateID() { + return templateID; + } + + /** + * @return the NPC template + */ + public NPCTemplate getTemplate() { + return templateID.getTemplate(); + } + + @Override + public NPCID getID() { + return (NPCID) super.getID(); + } } diff --git a/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetDeselectedEvent.java b/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetDeselectedEvent.java new file mode 100644 index 000000000..e60bf085f --- /dev/null +++ b/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetDeselectedEvent.java @@ -0,0 +1,84 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.world.character.event; + +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.Player; +import com.l2jserver.model.world.WorldObject; +import com.l2jserver.model.world.capability.Actor; +import com.l2jserver.model.world.capability.Listenable; + +/** + * Event triggered once a character moves + * + * @author Rogiel + */ +public class CharacterTargetDeselectedEvent implements CharacterEvent { + /** + * The character that is logging in + */ + private final L2Character character; + /** + * The object target + */ + private final Actor oldTarget; + + /** + * Creates a new instance + * + * @param character + * the character + * @param target + * the character target + */ + public CharacterTargetDeselectedEvent(L2Character character, Actor oldTarget) { + this.character = character; + this.oldTarget = oldTarget; + } + + /** + * @return the old target + */ + public Actor getOldTarget() { + return oldTarget; + } + + @Override + public Player getPlayer() { + return character; + } + + @Override + public Actor getActor() { + return character; + } + + @Override + public WorldObject getObject() { + return character; + } + + @Override + public L2Character getCharacter() { + return character; + } + + @Override + public Listenable[] getDispatchableObjects() { + return new Listenable[] { character }; + } +} diff --git a/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetSelectedEvent.java b/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetSelectedEvent.java new file mode 100644 index 000000000..cb7f8f813 --- /dev/null +++ b/src/main/java/com/l2jserver/model/world/character/event/CharacterTargetSelectedEvent.java @@ -0,0 +1,85 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.model.world.character.event; + +import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.Player; +import com.l2jserver.model.world.WorldObject; +import com.l2jserver.model.world.capability.Actor; +import com.l2jserver.model.world.capability.Listenable; + +/** + * Event triggered once a character moves + * + * @author Rogiel + */ +public class CharacterTargetSelectedEvent implements CharacterEvent { + /** + * The character that is logging in + */ + private final L2Character character; + /** + * The object target + */ + private final Actor target; + + /** + * Creates a new instance + * + * @param character + * the character + * @param target + * the character target + */ + public CharacterTargetSelectedEvent(L2Character character, + Actor target) { + this.character = character; + this.target = target; + } + + /** + * @return the target + */ + public Actor getTarget() { + return target; + } + + @Override + public Player getPlayer() { + return character; + } + + @Override + public Actor getActor() { + return character; + } + + @Override + public WorldObject getObject() { + return character; + } + + @Override + public L2Character getCharacter() { + return character; + } + + @Override + public Listenable[] getDispatchableObjects() { + return new Listenable[] { character }; + } +} diff --git a/src/main/java/com/l2jserver/service/ServiceModule.java b/src/main/java/com/l2jserver/service/ServiceModule.java index aba759b20..851a76417 100644 --- a/src/main/java/com/l2jserver/service/ServiceModule.java +++ b/src/main/java/com/l2jserver/service/ServiceModule.java @@ -39,6 +39,8 @@ import com.l2jserver.service.game.world.WorldService; import com.l2jserver.service.game.world.WorldServiceImpl; import com.l2jserver.service.game.world.event.WorldEventDispatcher; import com.l2jserver.service.game.world.event.WorldEventDispatcherImpl; +import com.l2jserver.service.game.world.id.CachedWorldIDService; +import com.l2jserver.service.game.world.id.WorldIDService; import com.l2jserver.service.logging.Log4JLoggingService; import com.l2jserver.service.logging.LoggingService; import com.l2jserver.service.network.NettyNetworkService; @@ -62,6 +64,8 @@ public class ServiceModule extends AbstractModule { bind(CacheService.class).to(EhCacheService.class).in(Scopes.SINGLETON); bind(DatabaseService.class).to(MySQLDatabaseService.class).in( Scopes.SINGLETON); + bind(WorldIDService.class).to(CachedWorldIDService.class).in( + Scopes.SINGLETON); bind(BlowfishKeygenService.class).to(SecureBlowfishKeygenService.class) .in(Scopes.SINGLETON); diff --git a/src/main/java/com/l2jserver/service/database/MySQLDatabaseService.java b/src/main/java/com/l2jserver/service/database/MySQLDatabaseService.java index 98440f3e6..a8e244bd4 100644 --- a/src/main/java/com/l2jserver/service/database/MySQLDatabaseService.java +++ b/src/main/java/com/l2jserver/service/database/MySQLDatabaseService.java @@ -41,6 +41,7 @@ import org.slf4j.LoggerFactory; import com.google.inject.Inject; import com.l2jserver.model.id.ObjectID; +import com.l2jserver.model.id.object.allocator.IDAllocator; import com.l2jserver.model.world.WorldObject; import com.l2jserver.service.AbstractService; import com.l2jserver.service.AbstractService.Depends; @@ -116,8 +117,10 @@ public class MySQLDatabaseService extends AbstractService implements connectionFactory, connectionPool, null, null, false, true); dataSource = new PoolingDataSource(connectionPool); + // cache must be large enough for all world objects, to avoid + // duplication... this would endanger non-persistent states objectCache = new Cache(new CacheConfiguration("database-service", - 10 * 1000) + IDAllocator.ALLOCABLE_IDS) .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LRU) .overflowToDisk(true).eternal(false).timeToLiveSeconds(60) .timeToIdleSeconds(30).diskPersistent(false) diff --git a/src/main/java/com/l2jserver/service/game/CharacterService.java b/src/main/java/com/l2jserver/service/game/CharacterService.java index 15c150dbd..dd73b5e38 100644 --- a/src/main/java/com/l2jserver/service/game/CharacterService.java +++ b/src/main/java/com/l2jserver/service/game/CharacterService.java @@ -17,6 +17,7 @@ package com.l2jserver.service.game; import com.l2jserver.model.world.L2Character; +import com.l2jserver.model.world.capability.Actor; import com.l2jserver.service.Service; import com.l2jserver.util.dimensional.Coordinate; @@ -42,6 +43,16 @@ public interface CharacterService extends Service { */ void leaveWorld(L2Character character); + /** + * Set the target of this character + * + * @param character + * the character + * @param actor + * the targeted actor + */ + void target(L2Character character, Actor actor); + /** * Moves the given character to coordinate * diff --git a/src/main/java/com/l2jserver/service/game/CharacterServiceImpl.java b/src/main/java/com/l2jserver/service/game/CharacterServiceImpl.java index f9922531f..e9638400f 100644 --- a/src/main/java/com/l2jserver/service/game/CharacterServiceImpl.java +++ b/src/main/java/com/l2jserver/service/game/CharacterServiceImpl.java @@ -21,17 +21,24 @@ import com.l2jserver.game.net.Lineage2Connection; import com.l2jserver.game.net.packet.client.CharacterChatMessagePacket.MessageDestination; import com.l2jserver.game.net.packet.server.ActorChatMessagePacket; import com.l2jserver.game.net.packet.server.ActorMovementPacket; +import com.l2jserver.game.net.packet.server.CharacterInformationPacket; import com.l2jserver.game.net.packet.server.CharacterMovementTypePacket; +import com.l2jserver.game.net.packet.server.CharacterTargetSelectedPacket; import com.l2jserver.game.net.packet.server.GameGuardQueryPacket; import com.l2jserver.game.net.packet.server.InventoryPacket; -import com.l2jserver.game.net.packet.server.UserInformationPacket; +import com.l2jserver.game.net.packet.server.NPCInformationPacket; import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.L2Character.CharacterMoveType; +import com.l2jserver.model.world.NPC; +import com.l2jserver.model.world.WorldObject; +import com.l2jserver.model.world.capability.Actor; import com.l2jserver.model.world.character.event.CharacterEnterWorldEvent; import com.l2jserver.model.world.character.event.CharacterEvent; import com.l2jserver.model.world.character.event.CharacterLeaveWorldEvent; import com.l2jserver.model.world.character.event.CharacterListener; +import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent; +import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent; import com.l2jserver.service.AbstractService; import com.l2jserver.service.AbstractService.Depends; import com.l2jserver.service.game.ai.AIService; @@ -40,6 +47,7 @@ import com.l2jserver.service.game.chat.channel.ChatChannel; import com.l2jserver.service.game.chat.channel.ChatChannelListener; import com.l2jserver.service.game.world.WorldService; import com.l2jserver.service.game.world.event.WorldEventDispatcher; +import com.l2jserver.service.game.world.filter.impl.KnownListFilter; import com.l2jserver.service.network.NetworkService; import com.l2jserver.util.dimensional.Coordinate; @@ -81,17 +89,12 @@ public class CharacterServiceImpl extends AbstractService implements @Inject public CharacterServiceImpl(WorldService worldService, WorldEventDispatcher eventDispatcher, ChatService chatService, - NetworkService networkService, SpawnService spawnService/* - * , - * AIService - * aiService - */) { + NetworkService networkService, SpawnService spawnService) { this.worldService = worldService; this.eventDispatcher = eventDispatcher; this.chatService = chatService; this.networkService = networkService; this.spawnService = spawnService; - // this.aiService = aiService; } @Override @@ -134,13 +137,24 @@ public class CharacterServiceImpl extends AbstractService implements globalChatListener); // send this user information - conn.write(new UserInformationPacket(character)); + conn.write(new CharacterInformationPacket(character)); // TODO game guard enforcing conn.write(new GameGuardQueryPacket()); conn.write(new InventoryPacket(character.getInventory())); + // characters start in run mode run(character); + // broadcast knownlist -- trashy implementation + // TODO should be moved to world service + for (final WorldObject o : worldService.iterable(new KnownListFilter( + character))) { + if (o instanceof NPC) { + conn.write(new NPCInformationPacket((NPC) o)); + // conn.write(new ServerObjectPacket((NPC) o)); + } + } + // dispatch enter world event eventDispatcher.dispatch(new CharacterEnterWorldEvent(character)); @@ -169,6 +183,28 @@ public class CharacterServiceImpl extends AbstractService implements eventDispatcher.dispatch(new CharacterLeaveWorldEvent(character)); } + @Override + public void target(L2Character character, Actor target) { + final CharacterID id = character.getID(); + final Lineage2Connection conn = networkService.discover(id); + + if (target == null && character.getTargetID() != null) { + final Actor oldTarget = character.getTarget(); + character.setTargetID(null); + eventDispatcher.dispatch(new CharacterTargetDeselectedEvent( + character, oldTarget)); + } else if (target != null && !target.getID().equals(character.getID())) { + if (character.getTargetID() != null) { + eventDispatcher.dispatch(new CharacterTargetDeselectedEvent( + character, character.getTarget())); + } + character.setTargetID(null); + eventDispatcher.dispatch(new CharacterTargetSelectedEvent( + character, target)); + conn.write(new CharacterTargetSelectedPacket(target)); + } + } + @Override public void walk(L2Character character) { final CharacterID id = character.getID(); diff --git a/src/main/java/com/l2jserver/service/game/world/id/CachedWorldIDService.java b/src/main/java/com/l2jserver/service/game/world/id/CachedWorldIDService.java new file mode 100644 index 000000000..7aa15cce0 --- /dev/null +++ b/src/main/java/com/l2jserver/service/game/world/id/CachedWorldIDService.java @@ -0,0 +1,128 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.service.game.world.id; + +import java.util.Collection; + +import net.sf.ehcache.Cache; +import net.sf.ehcache.Element; +import net.sf.ehcache.config.CacheConfiguration; +import net.sf.ehcache.store.MemoryStoreEvictionPolicy; + +import com.google.inject.Inject; +import com.l2jserver.db.dao.CharacterDAO; +import com.l2jserver.model.id.ID; +import com.l2jserver.model.id.ObjectID; +import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.service.AbstractService; +import com.l2jserver.service.AbstractService.Depends; +import com.l2jserver.service.ServiceStartException; +import com.l2jserver.service.ServiceStopException; +import com.l2jserver.service.cache.CacheService; +import com.l2jserver.service.database.DatabaseService; + +/** + * Implementation for {@link IDService} that caches all {@link ID} objects in + * memory. + * + * @author Rogiel + */ +@Depends({ DatabaseService.class, CacheService.class }) +public class CachedWorldIDService extends AbstractService implements + WorldIDService { + /** + * The cache service + */ + private final CacheService cacheService; + /** + * The {@link IDAllocator} + */ + private final IDAllocator allocator; + + // DAOS + /** + * The {@link CharacterDAO} + */ + private final CharacterDAO characterDao; + + /** + * The ID cache + */ + private Cache cache; + + @Inject + public CachedWorldIDService(CacheService cacheService, + IDAllocator allocator, CharacterDAO characterDao) { + this.cacheService = cacheService; + this.allocator = allocator; + this.characterDao = characterDao; + } + + @Override + protected void doStart() throws ServiceStartException { + // we allocate an cache which can fit all ids + cache = new Cache(new CacheConfiguration("id-cache", + IDAllocator.ALLOCABLE_IDS) + .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LRU) + .overflowToDisk(true).eternal(false).timeToLiveSeconds(60) + .timeToIdleSeconds(30).diskPersistent(false) + .diskExpiryThreadIntervalSeconds(0)); + cacheService.register(cache); + + // load all ids + load(characterDao.listIDs()); + } + + /** + * Load the pre-existing ids + * + * @param ids + * an collection of ids + */ + private void load(Collection> ids) { + for (final ObjectID id : ids) { + allocator.allocate(id.getID()); + add(id); + } + } + + @Override + @SuppressWarnings("unchecked") + public > I resolve(int id) { + final Element element = cache.get(id); + if (element == null) + return null; + return (I) element.getObjectValue(); + } + + @Override + public > void add(I id) { + cache.put(new Element(id.getID(), id)); + } + + @Override + public > void remove(I id) { + cache.remove(id.getID()); + } + + @Override + protected void doStop() throws ServiceStopException { + cacheService.unregister(cache); + cache = null; + allocator.clear(); + } +} diff --git a/src/main/java/com/l2jserver/service/game/world/id/WorldIDService.java b/src/main/java/com/l2jserver/service/game/world/id/WorldIDService.java new file mode 100644 index 000000000..ea75116c6 --- /dev/null +++ b/src/main/java/com/l2jserver/service/game/world/id/WorldIDService.java @@ -0,0 +1,49 @@ +/* + * This file is part of l2jserver . + * + * l2jserver is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * l2jserver is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with l2jserver. If not, see . + */ +package com.l2jserver.service.game.world.id; + +import com.l2jserver.model.id.ObjectID; +import com.l2jserver.model.id.object.allocator.IDAllocator; +import com.l2jserver.service.Service; +import com.l2jserver.service.database.DatabaseService; + +/** + * This service manages all {@link ObjectID} related tasks. Please note that + * this service must be started right after the {@link DatabaseService} has + * started, since the database depends on {@link ObjectID} but the + * {@link IDAllocator} depends on database data. + * + * @author Rogiel + */ +public interface WorldIDService extends Service { + /** + * Tries to resolve an ID based on its raw value + * + * @param + * the raw ID type + * @param + * the ID type + * @param id + * the id raw value + * @return the id located + */ + > I resolve(int id); + + > void add(I id); + + > void remove(I id); +} diff --git a/src/main/java/com/l2jserver/util/RGBColor.java b/src/main/java/com/l2jserver/util/RGBColor.java index 969ef255e..ecce26ae8 100644 --- a/src/main/java/com/l2jserver/util/RGBColor.java +++ b/src/main/java/com/l2jserver/util/RGBColor.java @@ -77,7 +77,7 @@ public class RGBColor { * @return the color integer */ public int toInteger() { - return red >> 24 + green >> 16 + blue >> 8; + return (red >> 24) + (green >> 16) + (blue >> 8); } public static RGBColor fromByteArray(byte[] rgb) { diff --git a/src/main/java/com/l2jserver/util/calculator/Calculator.java b/src/main/java/com/l2jserver/util/calculator/Calculator.java index c63ee3b03..900fdf92c 100644 --- a/src/main/java/com/l2jserver/util/calculator/Calculator.java +++ b/src/main/java/com/l2jserver/util/calculator/Calculator.java @@ -16,50 +16,166 @@ */ package com.l2jserver.util.calculator; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import com.l2jserver.util.factory.CollectionFactory; /** * An calculator is used to compute data and outputs its result. Note also, that - * an calculator is also an operation, that way you can nest calculators. + * an calculator is also an function, that way you can nest calculators. * * @author Rogiel */ -public class Calculator implements Operation { +public class Calculator implements Function { /** * List of operations in this calculator */ - private final List> operations = CollectionFactory + private final List functions = CollectionFactory .newList(null); /** - * Adds a new operation to this calculator. Operations with the same order - * are replaced. - * - * @param order - * the operation order, starting at 0. - * @param operation - * the operation + * Creates a new empty calculator. Functions can be add using + * {@link #add(int, Function)}. */ - public void add(int order, Operation operation) { - operations.add(order, operation); + public Calculator() { } /** - * Computes the result and output it + * Creates a new calculator with functions in the declaration + * order. + * + * @param functions + * the calculator functions + */ + public Calculator(Function... functions) { + for (int i = 0; i < functions.length; i++) { + this.functions.add(new FunctionContainer(i, functions[i])); + } + } + + /** + * Adds a new function to this calculator. Executing order for functions + * with the same order is undefined. + *

+ * Once a new function is added, sorting will be performed automatically. + * + * @param order + * the operation order, starting at 0. + * @param function + * the operation + */ + public void add(int order, Function function) { + functions.add(new FunctionContainer(order, function)); + Collections.sort(functions); + } + + /** + * Imports all functions in the given calculator. This is useful to + * preserve right calculation ordering but changes to original + * calculator will no reflect in this one. + *

+ * This method will heuristically search for nested calculators. + * + * @param calculator + * the calculator + */ + public void importFunctions(Calculator calculator) { + for (final FunctionContainer container : calculator.functions) { + if (container.function instanceof Calculator) { + importFunctions((Calculator) container.function); + } else { + functions.add(container); + } + } + } + + /** + * Computes the result and output it. Input value is 0. * * @return the computed value + * @see #calculate(Double) */ - public double compute() { - return perform(0.00); + public double calculate() { + return calculate(0.00); } @Override - public Double perform(Double result) { - for (final Operation operation : operations) { - result = operation.perform(result); + public Double calculate(Double input) { + double result = input; + for (final FunctionContainer container : functions) { + result = container.function.calculate(result); } return result; } + + /** + *

-- Internal use only --

Container used to sort calculator + * functions. This class implements {@link Comparable} and can be used to + * sort lists using {@link Collections#sort(List)} or + * {@link Arrays#sort(Object[])}. + * + * @author Rogiel + */ + private static class FunctionContainer implements + Comparable { + /** + * The execution order + */ + protected final int order; + /** + * The function object + */ + protected final Function function; + + /** + * Creates a new instance + * + * @param order + * the execution order + * @param function + * the function + */ + public FunctionContainer(int order, Function function) { + this.order = order; + this.function = function; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((function == null) ? 0 : function.hashCode()); + result = prime * result + order; + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + FunctionContainer other = (FunctionContainer) obj; + if (function == null) { + if (other.function != null) + return false; + } else if (!function.equals(other.function)) + return false; + if (order != other.order) + return false; + return true; + } + + @Override + public int compareTo(FunctionContainer o) { + if (this.equals(o)) + return 0; + return this.order - o.order; + } + } } \ No newline at end of file diff --git a/src/main/java/com/l2jserver/util/calculator/DivisionOperation.java b/src/main/java/com/l2jserver/util/calculator/DivisionFunction.java similarity index 81% rename from src/main/java/com/l2jserver/util/calculator/DivisionOperation.java rename to src/main/java/com/l2jserver/util/calculator/DivisionFunction.java index 68748374e..cf0ebea85 100644 --- a/src/main/java/com/l2jserver/util/calculator/DivisionOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/DivisionFunction.java @@ -17,23 +17,23 @@ package com.l2jserver.util.calculator; /** - * This operation performs a division:
chain value / + * This function performs a division:
chain value / * value
* * @author Rogiel */ -public class DivisionOperation implements Operation { +public class DivisionFunction implements Function { /** * The value */ private final double value; - public DivisionOperation(double value) { + public DivisionFunction(double value) { this.value = value; } @Override - public Double perform(Double value) { + public Double calculate(Double value) { return value / this.value; } } diff --git a/src/main/java/com/l2jserver/util/calculator/Operation.java b/src/main/java/com/l2jserver/util/calculator/Function.java similarity index 68% rename from src/main/java/com/l2jserver/util/calculator/Operation.java rename to src/main/java/com/l2jserver/util/calculator/Function.java index cff949b32..e0ed0fce5 100644 --- a/src/main/java/com/l2jserver/util/calculator/Operation.java +++ b/src/main/java/com/l2jserver/util/calculator/Function.java @@ -17,15 +17,21 @@ package com.l2jserver.util.calculator; /** + * An function is nothing more than a mathematical operation. + * * @author Rogiel */ -public interface Operation { +public interface Function { /** - * Performs the operation in the calculation process + * Performs the operation in the calculation process. + *

+ * The value in the argument is normally used for calculation, but + * an {@link Function} can ignore the value if required to (i.e. + * {@link SetFunction}) * * @param value - * the chain input value + * the input value * @return the output value */ - T perform(T value); + T calculate(T value); } diff --git a/src/main/java/com/l2jserver/util/calculator/ModulusOperation.java b/src/main/java/com/l2jserver/util/calculator/ModulusFunction.java similarity index 83% rename from src/main/java/com/l2jserver/util/calculator/ModulusOperation.java rename to src/main/java/com/l2jserver/util/calculator/ModulusFunction.java index 2a11fbc81..3908b0a93 100644 --- a/src/main/java/com/l2jserver/util/calculator/ModulusOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/ModulusFunction.java @@ -17,14 +17,14 @@ package com.l2jserver.util.calculator; /** - * This operation performs an modulus:

|chain value| + * This function performs an modulus:
|chain value| *
* * @author Rogiel */ -public class ModulusOperation implements Operation { +public class ModulusFunction implements Function { @Override - public Double perform(Double value) { + public Double calculate(Double value) { if (value < 0) return value * -1; return value; diff --git a/src/main/java/com/l2jserver/util/calculator/MultiplicationOperation.java b/src/main/java/com/l2jserver/util/calculator/MultiplicationFunction.java similarity index 80% rename from src/main/java/com/l2jserver/util/calculator/MultiplicationOperation.java rename to src/main/java/com/l2jserver/util/calculator/MultiplicationFunction.java index fa747dab7..99b8a26e5 100644 --- a/src/main/java/com/l2jserver/util/calculator/MultiplicationOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/MultiplicationFunction.java @@ -17,23 +17,23 @@ package com.l2jserver.util.calculator; /** - * This operation performs an multiplication:
chain value * + * This function performs an multiplication:
chain value * * value
* * @author Rogiel */ -public class MultiplicationOperation implements Operation { +public class MultiplicationFunction implements Function { /** * The value */ private final double value; - public MultiplicationOperation(double value) { + public MultiplicationFunction(double value) { this.value = value; } @Override - public Double perform(Double value) { + public Double calculate(Double value) { return value * this.value; } } diff --git a/src/main/java/com/l2jserver/util/calculator/NegateOperation.java b/src/main/java/com/l2jserver/util/calculator/NegateFunction.java similarity index 82% rename from src/main/java/com/l2jserver/util/calculator/NegateOperation.java rename to src/main/java/com/l2jserver/util/calculator/NegateFunction.java index bcfbec3ff..6edb4c3ff 100644 --- a/src/main/java/com/l2jserver/util/calculator/NegateOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/NegateFunction.java @@ -17,14 +17,14 @@ package com.l2jserver.util.calculator; /** - * This operation performs an negate:
-chain value + * This function performs an negate:
-chain value *
* * @author Rogiel */ -public class NegateOperation implements Operation { +public class NegateFunction implements Function { @Override - public Double perform(Double value) { + public Double calculate(Double value) { return -value; } } diff --git a/src/main/java/com/l2jserver/util/calculator/PercentOperation.java b/src/main/java/com/l2jserver/util/calculator/PercentFunction.java similarity index 83% rename from src/main/java/com/l2jserver/util/calculator/PercentOperation.java rename to src/main/java/com/l2jserver/util/calculator/PercentFunction.java index af1e434e0..8cca8aee0 100644 --- a/src/main/java/com/l2jserver/util/calculator/PercentOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/PercentFunction.java @@ -17,16 +17,16 @@ package com.l2jserver.util.calculator; /** - * This operation performs a multiplication:
chain value * + * This function performs a multiplication:
chain value * * (value / 100)
* * @author Rogiel */ -public class PercentOperation extends MultiplicationOperation { +public class PercentFunction extends MultiplicationFunction { /** * The value */ - public PercentOperation(double value) { + public PercentFunction(double value) { super(value / 100); } } diff --git a/src/main/java/com/l2jserver/util/calculator/RoundOperation.java b/src/main/java/com/l2jserver/util/calculator/RoundFunction.java similarity index 84% rename from src/main/java/com/l2jserver/util/calculator/RoundOperation.java rename to src/main/java/com/l2jserver/util/calculator/RoundFunction.java index bd0477dff..f3d4d48c0 100644 --- a/src/main/java/com/l2jserver/util/calculator/RoundOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/RoundFunction.java @@ -17,13 +17,13 @@ package com.l2jserver.util.calculator; /** - * This operation performs an rounding in the number. + * This function performs an rounding in the number. * * @author Rogiel */ -public class RoundOperation implements Operation { +public class RoundFunction implements Function { @Override - public Double perform(Double value) { + public Double calculate(Double value) { return (double) Math.round(value); } } diff --git a/src/main/java/com/l2jserver/util/calculator/SetOperation.java b/src/main/java/com/l2jserver/util/calculator/SetFunction.java similarity index 81% rename from src/main/java/com/l2jserver/util/calculator/SetOperation.java rename to src/main/java/com/l2jserver/util/calculator/SetFunction.java index 2493cd8ba..9f89e0f6c 100644 --- a/src/main/java/com/l2jserver/util/calculator/SetOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/SetFunction.java @@ -17,23 +17,23 @@ package com.l2jserver.util.calculator; /** - * This operation performs an set. It ignores the input value and return its + * This function performs an set. It ignores the input value and return its * own. * * @author Rogiel */ -public class SetOperation implements Operation { +public class SetFunction implements Function { /** * The value */ private final double value; - public SetOperation(double value) { + public SetFunction(double value) { this.value = value; } @Override - public Double perform(Double value) { + public Double calculate(Double value) { return this.value; } } diff --git a/src/main/java/com/l2jserver/util/calculator/SubtractOperation.java b/src/main/java/com/l2jserver/util/calculator/SubtractFunction.java similarity index 81% rename from src/main/java/com/l2jserver/util/calculator/SubtractOperation.java rename to src/main/java/com/l2jserver/util/calculator/SubtractFunction.java index d3aa9010b..929601365 100644 --- a/src/main/java/com/l2jserver/util/calculator/SubtractOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/SubtractFunction.java @@ -17,23 +17,23 @@ package com.l2jserver.util.calculator; /** - * This operation performs an subtraction:
chain value - + * This function performs an subtraction:
chain value - * value
* * @author Rogiel */ -public class SubtractOperation implements Operation { +public class SubtractFunction implements Function { /** * The value */ private final double value; - public SubtractOperation(double value) { + public SubtractFunction(double value) { this.value = value; } @Override - public Double perform(Double value) { + public Double calculate(Double value) { return value - this.value; } } diff --git a/src/main/java/com/l2jserver/util/calculator/SumOperation.java b/src/main/java/com/l2jserver/util/calculator/SumFunction.java similarity index 82% rename from src/main/java/com/l2jserver/util/calculator/SumOperation.java rename to src/main/java/com/l2jserver/util/calculator/SumFunction.java index 768e6b1b8..7b5c2166d 100644 --- a/src/main/java/com/l2jserver/util/calculator/SumOperation.java +++ b/src/main/java/com/l2jserver/util/calculator/SumFunction.java @@ -17,23 +17,23 @@ package com.l2jserver.util.calculator; /** - * This operation performs a sum:
chain value + + * This function performs a sum:
chain value + * value
* * @author Rogiel */ -public class SumOperation implements Operation { +public class SumFunction implements Function { /** * The value */ private final double value; - public SumOperation(double value) { + public SumFunction(double value) { this.value = value; } @Override - public Double perform(Double value) { + public Double calculate(Double value) { return value + this.value; } } diff --git a/src/test/java/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAOTest.java b/src/test/java/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAOTest.java index c050e4964..aa06c6881 100644 --- a/src/test/java/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAOTest.java +++ b/src/test/java/com/l2jserver/db/dao/mysql5/MySQL5CharacterDAOTest.java @@ -24,7 +24,7 @@ import com.google.inject.Guice; import com.google.inject.Injector; import com.l2jserver.GameServerModule; import com.l2jserver.db.dao.CharacterDAO; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; import com.l2jserver.model.world.L2Character; import com.l2jserver.service.ServiceManager; import com.l2jserver.service.ServiceStartException; @@ -42,9 +42,9 @@ public class MySQL5CharacterDAOTest { final CharacterDAO dao = injector.getInstance(CharacterDAO.class); final L2Character char1 = dao.load(injector.getInstance( - CharacterIDFactory.class).createID(268437456)); + CharacterIDProvider.class).createID(268437456)); final L2Character char2 = dao.load(injector.getInstance( - CharacterIDFactory.class).createID(268437456)); + CharacterIDProvider.class).createID(268437456)); Assert.assertSame(char1, char2); } diff --git a/src/test/java/com/l2jserver/model/id/factory/IDFactoryTest.java b/src/test/java/com/l2jserver/model/id/factory/IDFactoryTest.java index 8e69aaad6..4c29aaa16 100644 --- a/src/test/java/com/l2jserver/model/id/factory/IDFactoryTest.java +++ b/src/test/java/com/l2jserver/model/id/factory/IDFactoryTest.java @@ -26,7 +26,8 @@ import com.google.inject.Injector; import com.l2jserver.db.dao.MySQL5DAOModule; import com.l2jserver.model.id.ID; import com.l2jserver.model.id.object.CharacterID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.provider.IDProviderModule; import com.l2jserver.model.world.L2Character; import com.l2jserver.service.ServiceModule; import com.l2jserver.service.ServiceStartException; @@ -36,9 +37,9 @@ import com.l2jserver.service.game.template.TemplateService; public class IDFactoryTest { private final Injector injector = Guice.createInjector(new ServiceModule(), - new MySQL5DAOModule(), new IDFactoryModule()); - private final CharacterIDFactory charIdFactory = injector - .getInstance(CharacterIDFactory.class); + new MySQL5DAOModule(), new IDProviderModule()); + private final CharacterIDProvider charIdFactory = injector + .getInstance(CharacterIDProvider.class); @Test public void testCreateID() { diff --git a/src/test/java/com/l2jserver/model/world/character/CharacterFriendListTest.java b/src/test/java/com/l2jserver/model/world/character/CharacterFriendListTest.java index 67ade3c59..4c98f02b8 100644 --- a/src/test/java/com/l2jserver/model/world/character/CharacterFriendListTest.java +++ b/src/test/java/com/l2jserver/model/world/character/CharacterFriendListTest.java @@ -25,9 +25,9 @@ import com.google.inject.Guice; import com.google.inject.Injector; import com.l2jserver.db.dao.CharacterFriendDAO; import com.l2jserver.db.dao.MySQL5DAOModule; -import com.l2jserver.model.id.factory.IDFactoryModule; import com.l2jserver.model.id.object.CharacterID; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.provider.IDProviderModule; import com.l2jserver.model.world.L2Character; import com.l2jserver.service.ServiceModule; import com.l2jserver.service.ServiceStartException; @@ -37,9 +37,9 @@ import com.l2jserver.service.game.template.TemplateService; public class CharacterFriendListTest { private final Injector injector = Guice.createInjector(new ServiceModule(), - new MySQL5DAOModule(), new IDFactoryModule()); - private final CharacterIDFactory charIdFactory = injector - .getInstance(CharacterIDFactory.class); + new MySQL5DAOModule(), new IDProviderModule()); + private final CharacterIDProvider charIdFactory = injector + .getInstance(CharacterIDProvider.class); @Test public void testIterator() throws ServiceStartException { diff --git a/src/test/java/com/l2jserver/service/game/template/StaticTemplateServiceTest.java b/src/test/java/com/l2jserver/service/game/template/StaticTemplateServiceTest.java index 27d92d419..3b2ffa831 100644 --- a/src/test/java/com/l2jserver/service/game/template/StaticTemplateServiceTest.java +++ b/src/test/java/com/l2jserver/service/game/template/StaticTemplateServiceTest.java @@ -23,18 +23,18 @@ import script.template.item.AdenaItemTemplate; import com.google.inject.Guice; import com.google.inject.Injector; import com.l2jserver.db.dao.MySQL5DAOModule; -import com.l2jserver.model.id.factory.IDFactoryModule; -import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory; +import com.l2jserver.model.id.provider.IDProviderModule; +import com.l2jserver.model.id.template.provider.ItemTemplateIDProvider; import com.l2jserver.service.ServiceModule; import com.l2jserver.service.ServiceStartException; public class StaticTemplateServiceTest { private final Injector injector = Guice.createInjector(new ServiceModule(), - new IDFactoryModule(), new MySQL5DAOModule()); + new IDProviderModule(), new MySQL5DAOModule()); private final TemplateService service = injector .getInstance(TemplateService.class); - private final ItemTemplateIDFactory factory = injector - .getInstance(ItemTemplateIDFactory.class); + private final ItemTemplateIDProvider factory = injector + .getInstance(ItemTemplateIDProvider.class); @Test public void testAdena() throws ServiceStartException { diff --git a/src/test/java/com/l2jserver/service/world/WorldEventDispatcherImplTest.java b/src/test/java/com/l2jserver/service/world/WorldEventDispatcherImplTest.java index cd99e52b3..b62c13a93 100644 --- a/src/test/java/com/l2jserver/service/world/WorldEventDispatcherImplTest.java +++ b/src/test/java/com/l2jserver/service/world/WorldEventDispatcherImplTest.java @@ -23,14 +23,11 @@ import junit.framework.Assert; import org.junit.Before; import org.junit.Test; -import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Injector; -import com.google.inject.Scopes; -import com.l2jserver.db.dao.MySQL5DAOModule; -import com.l2jserver.model.id.factory.IDFactoryModule; -import com.l2jserver.model.id.object.factory.CharacterIDFactory; -import com.l2jserver.model.id.object.factory.ItemIDFactory; +import com.l2jserver.GameServerModule; +import com.l2jserver.model.id.object.provider.CharacterIDProvider; +import com.l2jserver.model.id.object.provider.ItemIDProvider; import com.l2jserver.model.world.Item; import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.item.ItemDropEvent; @@ -39,37 +36,23 @@ import com.l2jserver.model.world.item.ItemListener; import com.l2jserver.model.world.player.event.PlayerEvent; import com.l2jserver.model.world.player.event.PlayerListener; import com.l2jserver.model.world.player.event.PlayerSpawnEvent; -import com.l2jserver.service.ServiceModule; import com.l2jserver.service.ServiceStartException; import com.l2jserver.service.game.world.WorldService; -import com.l2jserver.service.game.world.WorldServiceImpl; import com.l2jserver.service.game.world.event.WorldEventDispatcher; -import com.l2jserver.service.game.world.event.WorldEventDispatcherImpl; public class WorldEventDispatcherImplTest { private WorldService world; private WorldEventDispatcher dispatcher; - private CharacterIDFactory cidFactory; - private ItemIDFactory iidFactory; + private CharacterIDProvider cidFactory; + private ItemIDProvider iidFactory; @Before public void tearUp() throws ServiceStartException { - Injector injector = Guice.createInjector(new ServiceModule(), - new MySQL5DAOModule(), new IDFactoryModule(), - new AbstractModule() { - @Override - protected void configure() { - bind(WorldService.class).to(WorldServiceImpl.class).in( - Scopes.SINGLETON); - bind(WorldEventDispatcher.class).to( - WorldEventDispatcherImpl.class).in( - Scopes.SINGLETON); - } - }); + Injector injector = Guice.createInjector(new GameServerModule()); - cidFactory = injector.getInstance(CharacterIDFactory.class); - iidFactory = injector.getInstance(ItemIDFactory.class); + cidFactory = injector.getInstance(CharacterIDProvider.class); + iidFactory = injector.getInstance(ItemIDProvider.class); world = injector.getInstance(WorldService.class); dispatcher = injector.getInstance(WorldEventDispatcher.class); diff --git a/src/test/java/com/l2jserver/util/calculator/CalculatorTest.java b/src/test/java/com/l2jserver/util/calculator/CalculatorTest.java index c13ddfb5c..10f53477c 100644 --- a/src/test/java/com/l2jserver/util/calculator/CalculatorTest.java +++ b/src/test/java/com/l2jserver/util/calculator/CalculatorTest.java @@ -29,76 +29,110 @@ public class CalculatorTest { public void testSimple() { final Calculator calc = new Calculator(); - calc.add(0, new SetOperation(10)); - calc.add(1, new MultiplicationOperation(2)); - calc.add(2, new SetOperation(30)); + calc.add(0, new SetFunction(10)); + calc.add(1, new MultiplicationFunction(2)); + calc.add(2, new SetFunction(30)); - Assert.assertEquals(30.0, calc.compute()); + Assert.assertEquals(30.0, calc.calculate()); } @Test public void testPercent() { final Calculator calc = new Calculator(); - calc.add(0, new SetOperation(10)); - calc.add(1, new MultiplicationOperation(2)); - calc.add(2, new PercentOperation(75)); + calc.add(0, new SetFunction(10)); + calc.add(1, new MultiplicationFunction(2)); + calc.add(2, new PercentFunction(75)); - Assert.assertEquals(15.0, calc.compute()); + Assert.assertEquals(15.0, calc.calculate()); } @Test public void testComplex() { final Calculator calc = new Calculator(); - calc.add(0, new SetOperation(10)); - calc.add(1, new MultiplicationOperation(2)); - calc.add(2, new PercentOperation(75)); - calc.add(3, new SumOperation(3)); - calc.add(4, new SubtractOperation(8)); - calc.add(5, new DivisionOperation(2)); + calc.add(0, new SetFunction(10)); + calc.add(1, new MultiplicationFunction(2)); + calc.add(2, new PercentFunction(75)); + calc.add(3, new SumFunction(3)); + calc.add(4, new SubtractFunction(8)); + calc.add(5, new DivisionFunction(2)); - Assert.assertEquals(5.0, calc.compute()); + Assert.assertEquals(5.0, calc.calculate()); } @Test public void testNesting() { final Calculator calc1 = new Calculator(); - calc1.add(0, new SetOperation(10)); - calc1.add(1, new MultiplicationOperation(2)); - calc1.add(2, new PercentOperation(75)); - calc1.add(3, new SumOperation(3)); - calc1.add(4, new SubtractOperation(8)); - calc1.add(5, new DivisionOperation(2)); - Assert.assertEquals(5.0, calc1.compute()); + calc1.add(0, new SetFunction(10)); + calc1.add(1, new MultiplicationFunction(2)); + calc1.add(2, new PercentFunction(75)); + calc1.add(3, new SumFunction(3)); + calc1.add(4, new SubtractFunction(8)); + calc1.add(5, new DivisionFunction(2)); + Assert.assertEquals(5.0, calc1.calculate()); final Calculator calc2 = new Calculator(); - calc2.add(0, new MultiplicationOperation(2)); - calc2.add(1, new PercentOperation(75)); - calc2.add(2, new SumOperation(3)); - calc2.add(3, new SubtractOperation(8)); - calc2.add(4, new DivisionOperation(2)); - Assert.assertEquals(-2.5, calc2.compute()); + calc2.add(0, new MultiplicationFunction(2)); + calc2.add(1, new PercentFunction(75)); + calc2.add(2, new SumFunction(3)); + calc2.add(3, new SubtractFunction(8)); + calc2.add(4, new DivisionFunction(2)); + Assert.assertEquals(-2.5, calc2.calculate()); final Calculator calc3 = new Calculator(); calc3.add(0, calc1); calc3.add(1, calc2); - Assert.assertEquals(1.25, calc3.compute()); + // this should be executed + calc2.add(5, new SumFunction(1)); + + Assert.assertEquals(2.25, calc3.calculate()); + } + + @Test + public void testImporting() { + final Calculator calc1 = new Calculator(); + + calc1.add(0, new SetFunction(10)); + calc1.add(2, new MultiplicationFunction(2)); + calc1.add(4, new PercentFunction(75)); + calc1.add(6, new SumFunction(3)); + calc1.add(8, new SubtractFunction(8)); + calc1.add(10, new DivisionFunction(2)); + Assert.assertEquals(5.0, calc1.calculate()); + + final Calculator calc2 = new Calculator(); + + calc2.add(1, new MultiplicationFunction(2)); + calc2.add(3, new PercentFunction(75)); + calc2.add(5, new SumFunction(3)); + calc2.add(7, new SubtractFunction(8)); + calc2.add(9, new DivisionFunction(2)); + Assert.assertEquals(-2.5, calc2.calculate()); + + final Calculator calc3 = new Calculator(); + calc3.importFunctions(calc1); + calc3.importFunctions(calc2); + + // this should not be executed + calc2.add(5, new SumFunction(50)); + + Assert.assertEquals(1.25, calc3.calculate()); } @Test public void testRounding() { final Calculator calc1 = new Calculator(); - calc1.add(0, new MultiplicationOperation(2)); - calc1.add(1, new PercentOperation(75)); - calc1.add(2, new SumOperation(3)); - calc1.add(3, new SubtractOperation(8.1)); - calc1.add(4, new DivisionOperation(2)); - calc1.add(5, new RoundOperation()); - Assert.assertEquals(-3.0, calc1.compute()); + calc1.add(0, new MultiplicationFunction(2)); + calc1.add(1, new PercentFunction(75)); + calc1.add(2, new SumFunction(3)); + calc1.add(3, new SubtractFunction(8.1)); + calc1.add(4, new DivisionFunction(2)); + calc1.add(5, new RoundFunction()); + Assert.assertEquals(-3.0, calc1.calculate()); } }