فهرست منبع

Unhardcoding invulnerable flag set from L2Character.
By default all L2Playable and L2Attackable are not invulnerable now.
All L2NpcInstance are mortal too, but their HP can't be decreased :)

_DS_ 15 سال پیش
والد
کامیت
9a49930fe1

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Attackable.java

@@ -277,6 +277,7 @@ public class L2Attackable extends L2Npc
 	public L2Attackable(int objectId, L2NpcTemplate template)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 		_mustGiveExpSp = true;
 	}
 

+ 1 - 24
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java

@@ -61,26 +61,12 @@ import net.sf.l2j.gameserver.model.L2Skill.SkillTargetType;
 import net.sf.l2j.gameserver.model.actor.instance.L2AirShipInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2ArtefactInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2BoatInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2ControlTowerInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2DecoyInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2DoorInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2EffectPointInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2FortCommanderInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2FortSiegeGuardInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2FriendlyMobInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2GuardInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2MinionInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2NpcWalkerInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2RiftInvaderInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2SiegeFlagInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2SiegeGuardInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2SiegeSummonInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2SummonInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2TrapInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.SkillDat;
 import net.sf.l2j.gameserver.model.actor.knownlist.CharKnownList;
 import net.sf.l2j.gameserver.model.actor.position.CharPosition;
@@ -394,16 +380,7 @@ public abstract class L2Character extends L2Object
 			Formulas.addFuncsToNewCharacter(this);
 		}
 
-		if (!(this instanceof L2PcInstance) && !(this instanceof L2MonsterInstance) &&
-			!(this instanceof L2GuardInstance) && !(this instanceof L2SiegeGuardInstance) &&
-			!(this instanceof L2ControlTowerInstance) && !(this instanceof L2DoorInstance) &&
-			!(this instanceof L2TrapInstance) && !(this instanceof L2FriendlyMobInstance) &&
-			!(this instanceof L2DecoyInstance) && !(this instanceof L2SiegeSummonInstance) &&
-			!(this instanceof L2PetInstance) && !(this instanceof L2SummonInstance) &&
-			!(this instanceof L2SiegeFlagInstance) && !(this instanceof L2EffectPointInstance) &&
-			!(this instanceof L2FortCommanderInstance) && !(this instanceof L2NpcInstance) &&
-			!(this instanceof L2FortSiegeGuardInstance))
-			setIsInvul(true);
+		setIsInvul(true);
 	}
 
 	protected void initCharStatusUpdateValues()

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Decoy.java

@@ -35,6 +35,7 @@ public abstract class L2Decoy extends L2Character
         super(objectId, template);
         _owner = owner;
         setXYZInvisible(owner.getX(), owner.getY(), owner.getZ());
+        setIsInvul(false);
     }
     
     @Override

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Playable.java

@@ -57,6 +57,7 @@ public abstract class L2Playable extends L2Character
 	public L2Playable(int objectId, L2CharTemplate template)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 	}
 
     @Override

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Trap.java

@@ -37,6 +37,7 @@ public class L2Trap extends L2Character
 	public L2Trap(int objectId, L2CharTemplate template, L2PcInstance owner)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 		_owner = owner;
 		setXYZInvisible(owner.getX(), owner.getY(), owner.getZ());
 	}

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2ControlTowerInstance.java

@@ -35,6 +35,7 @@ public class L2ControlTowerInstance extends L2Npc
 	public L2ControlTowerInstance(int objectId, L2NpcTemplate template)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 	}
 
     @Override

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2DoorInstance.java

@@ -202,6 +202,7 @@ public class L2DoorInstance extends L2Character
 	public L2DoorInstance(int objectId, L2CharTemplate template, int doorId, String name, boolean unlockable)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 		_doorId = doorId;
 		_name = name;
 		_unlockable = unlockable;

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2EffectPointInstance.java

@@ -27,6 +27,7 @@ public class L2EffectPointInstance extends L2Npc
     public L2EffectPointInstance(int objectId, L2NpcTemplate template, L2Character owner)
     {
     	super(objectId, template);
+    	setIsInvul(false);
     	_owner = owner;
     }
     

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2FortBallistaInstance.java

@@ -32,6 +32,7 @@ public class L2FortBallistaInstance extends L2Npc
 	public L2FortBallistaInstance(int objectId, L2NpcTemplate template)
     {
         super(objectId, template);
+        setIsInvul(false);
     }
 	
     @Override

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java

@@ -44,6 +44,7 @@ public class L2NpcInstance extends L2Npc
 	public L2NpcInstance(int objectId, L2NpcTemplate template)
 	{
 		super(objectId, template);
+		setIsInvul(false);
 		_classesToTeach = template.getTeachInfo();
 	}
 

+ 1 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2SiegeFlagInstance.java

@@ -62,6 +62,7 @@ public class L2SiegeFlagInstance extends L2Npc
 		}
 		_isAdvanced = advanced;
 		getStatus();
+		setIsInvul(false);
     }
     
     /**