1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2026-01-29 06:02:48 +00:00

Several improvements

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-05-19 01:40:53 -03:00
parent 9bb83652e4
commit 2c4af6d91d
263 changed files with 2135 additions and 663 deletions

View File

@@ -59,7 +59,7 @@ public abstract class ActorTemplate<T extends Actor> extends
return actor;
}
public abstract T createInstance();
protected abstract T createInstance();
/**
* @return the race

View File

@@ -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 <a href="http://www.rogiel.com">Rogiel</a>
*/
public abstract class NPCTemplate<T extends NPC> extends ActorTemplate<T> {
public abstract class NPCTemplate extends ActorTemplate<NPC> {
@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
* <tt>npc</tt> 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;
}
/**

View File

@@ -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 <a href="http://www.rogiel.com">Rogiel</a>
*/
public class WeaponAttribute {
private final Map<WeaponAttributeType, Map<Integer, Operation<Double>>> operations = CollectionFactory
private final Map<WeaponAttributeType, Map<Integer, Function<Double>>> 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<Integer, Operation<Double>> getMap(WeaponAttributeType type) {
Map<Integer, Operation<Double>> map = operations.get(type);
private Map<Integer, Function<Double>> getMap(WeaponAttributeType type) {
Map<Integer, Function<Double>> 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<Integer, Operation<Double>> operations = this.operations
final Map<Integer, Function<Double>> operations = this.operations
.get(type);
for (final Entry<Integer, Operation<Double>> entry : operations
for (final Entry<Integer, Function<Double>> entry : operations
.entrySet()) {
calculator.add(entry.getKey(), entry.getValue());
}

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class AdventurerNPCTemplate extends NPCTemplate<NPC> {
public class AdventurerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ArtefactNPCTemplate extends NPCTemplate<NPC> {
public class ArtefactNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class AuctioneerNPCTemplate extends NPCTemplate<NPC> {
public class AuctioneerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class BabyPetNPCTemplate extends NPCTemplate<NPC> {
public class BabyPetNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class BlockNPCTemplate extends NPCTemplate<NPC> {
public class BlockNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CabaleBufferNPCTemplate extends NPCTemplate<NPC> {
public class CabaleBufferNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CastleBlacksmithNPCTemplate extends NPCTemplate<NPC> {
public class CastleBlacksmithNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CastleChamberlainNPCTemplate extends NPCTemplate<NPC> {
public class CastleChamberlainNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CastleDoormenNPCTemplate extends NPCTemplate<NPC> {
public class CastleDoormenNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CastleMagicianNPCTemplate extends NPCTemplate<NPC> {
public class CastleMagicianNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class CastleWyvernManagerNPCTemplate extends NPCTemplate<NPC> {
public class CastleWyvernManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ChestNPCTemplate extends NPCTemplate<NPC> {
public class ChestNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ChristmasTreeNPCTemplate extends NPCTemplate<NPC> {
public class ChristmasTreeNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ClanTraderNPCTemplate extends NPCTemplate<NPC> {
public class ClanTraderNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ClanhallDoormenNPCTemplate extends NPCTemplate<NPC> {
public class ClanhallDoormenNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ClanhallManagerNPCTemplate extends NPCTemplate<NPC> {
public class ClanhallManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ClassMasterNPCTemplate extends NPCTemplate<NPC> {
public class ClassMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ControlTowerNPCTemplate extends NPCTemplate<NPC> {
public class ControlTowerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DarkElfVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class DarkElfVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DawnPriestNPCTemplate extends NPCTemplate<NPC> {
public class DawnPriestNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DecoyNPCTemplate extends NPCTemplate<NPC> {
public class DecoyNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DefenderNPCTemplate extends NPCTemplate<NPC> {
public class DefenderNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DoormenNPCTemplate extends NPCTemplate<NPC> {
public class DoormenNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DungeonGatekeeperNPCTemplate extends NPCTemplate<NPC> {
public class DungeonGatekeeperNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DuskPriestNPCTemplate extends NPCTemplate<NPC> {
public class DuskPriestNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class DwarfVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class DwarfVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class EffectPointNPCTemplate extends NPCTemplate<NPC> {
public class EffectPointNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class EventChestNPCTemplate extends NPCTemplate<NPC> {
public class EventChestNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FameManagerNPCTemplate extends NPCTemplate<NPC> {
public class FameManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FeedableBeastNPCTemplate extends NPCTemplate<NPC> {
public class FeedableBeastNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FestivalGuideNPCTemplate extends NPCTemplate<NPC> {
public class FestivalGuideNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FestivalMonsterNPCTemplate extends NPCTemplate<NPC> {
public class FestivalMonsterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FightherVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class FightherVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FishermanNPCTemplate extends NPCTemplate<NPC> {
public class FishermanNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FlameTowerNPCTemplate extends NPCTemplate<NPC> {
public class FlameTowerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FlyMonsterNPCTemplate extends NPCTemplate<NPC> {
public class FlyMonsterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FlyNPCTemplate extends NPCTemplate<NPC> {
public class FlyNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FlyRaidBossNPCTemplate extends NPCTemplate<NPC> {
public class FlyRaidBossNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FlyTerrainObjectNPCTemplate extends NPCTemplate<NPC> {
public class FlyTerrainObjectNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortBallistaNPCTemplate extends NPCTemplate<NPC> {
public class FortBallistaNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortCommanderNPCTemplate extends NPCTemplate<NPC> {
public class FortCommanderNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortDoormenNPCTemplate extends NPCTemplate<NPC> {
public class FortDoormenNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortEnvoyNPCTemplate extends NPCTemplate<NPC> {
public class FortEnvoyNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortLogisticsNPCTemplate extends NPCTemplate<NPC> {
public class FortLogisticsNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortManagerNPCTemplate extends NPCTemplate<NPC> {
public class FortManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortSiegeNPCTemplate extends NPCTemplate<NPC> {
public class FortSiegeNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortSupportCaptainNPCTemplate extends NPCTemplate<NPC> {
public class FortSupportCaptainNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FortWyvernManagerNPCTemplate extends NPCTemplate<NPC> {
public class FortWyvernManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class FriendlyMonsterNPCTemplate extends NPCTemplate<NPC> {
public class FriendlyMonsterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class GrandeBossNPCTemplate extends NPCTemplate<NPC> {
public class GrandeBossNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class GuardNPCTemplate extends NPCTemplate<NPC> {
public class GuardNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class KamaelVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class KamaelVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ManorManagerNPCTemplate extends NPCTemplate<NPC> {
public class ManorManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class MercManagerNPCTemplate extends NPCTemplate<NPC> {
public class MercManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class MercenaryManagerNPCTemplate extends NPCTemplate<NPC> {
public class MercenaryManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class MerchantNPCTemplate extends NPCTemplate<NPC> {
public class MerchantNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class MerchantSummonNPCTemplate extends NPCTemplate<NPC> {
public class MerchantSummonNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -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 <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class MonsterNPCTemplate extends NPCTemplate<NPC> {
public class MonsterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*
@@ -36,4 +38,19 @@ public class MonsterNPCTemplate extends NPCTemplate<NPC> {
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) {
}
}

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class ObservationNPCTemplate extends NPCTemplate<NPC> {
public class ObservationNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class OlympiadManagerNPCTemplate extends NPCTemplate<NPC> {
public class OlympiadManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class OrcVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class OrcVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class PenaltyNPCTemplate extends NPCTemplate<NPC> {
public class PenaltyNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class PetManagerNPCTemplate extends NPCTemplate<NPC> {
public class PetManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class PriestVillageMasterNPCTemplate extends NPCTemplate<NPC> {
public class PriestVillageMasterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class RaidBossNPCTemplate extends NPCTemplate<NPC> {
public class RaidBossNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class RiftInvaderNPCTemplate extends NPCTemplate<NPC> {
public class RiftInvaderNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class SepulcherMonsterNPCTemplate extends NPCTemplate<NPC> {
public class SepulcherMonsterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class SiegeNPCTemplate extends NPCTemplate<NPC> {
public class SiegeNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class SiegeSummonNPCTemplate extends NPCTemplate<NPC> {
public class SiegeSummonNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class SignsPriestsNPCTemplate extends NPCTemplate<NPC> {
public class SignsPriestsNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class SymbolMakerNPCTemplate extends NPCTemplate<NPC> {
public class SymbolMakerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TamedBeastNPCTemplate extends NPCTemplate<NPC> {
public class TamedBeastNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TeleporterNPCTemplate extends NPCTemplate<NPC> {
public class TeleporterNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TerrainObjectNPCTemplate extends NPCTemplate<NPC> {
public class TerrainObjectNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TerritoryWardNPCTemplate extends NPCTemplate<NPC> {
public class TerritoryWardNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TownPetNPCTemplate extends NPCTemplate<NPC> {
public class TownPetNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TrainerNPCTemplate extends NPCTemplate<NPC> {
public class TrainerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class TransformManagerNPCTemplate extends NPCTemplate<NPC> {
public class TransformManagerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class WalkerNPCTemplate extends NPCTemplate<NPC> {
public class WalkerNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*

View File

@@ -24,7 +24,7 @@ import com.l2jserver.model.world.NPC;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*
*/
public class WarehouseNPCTemplate extends NPCTemplate<NPC> {
public class WarehouseNPCTemplate extends NPCTemplate {
/**
* Creates a new instance of this template
*