Przeglądaj źródła

smaller fixes and cleanups by kerb

nBd 16 lat temu
rodzic
commit
6793f9cebd

+ 2 - 3
L2_GameServer/java/net/sf/l2j/gameserver/ai/L2AttackableAI.java

@@ -47,7 +47,6 @@ 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.L2PcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2RiftInvaderInstance;
 import net.sf.l2j.gameserver.model.quest.Quest;
 import net.sf.l2j.gameserver.taskmanager.DecayTaskManager;
@@ -168,7 +167,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 		if (target instanceof L2PlayableInstance)
 		{
 			// Check if the AI isn't a Raid Boss and the target isn't in silent move mode
-			if (!(me instanceof L2RaidBossInstance) && ((L2PlayableInstance) target).isSilentMoving())
+			if (!(me.isRaid()) && ((L2PlayableInstance) target).isSilentMoving())
 				return false;
 		}
 		
@@ -566,7 +565,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 			}
 		}
 		// Order to the L2MonsterInstance to random walk (1/100)
-		else if (npc.getSpawn() != null && Rnd.nextInt(RANDOM_WALK_RATE) == 0 && !(_actor instanceof L2RaidBossInstance || _actor instanceof L2MinionInstance || _actor instanceof L2GrandBossInstance))
+		else if (npc.getSpawn() != null && Rnd.nextInt(RANDOM_WALK_RATE) == 0 && !(_actor.isRaid() || _actor instanceof L2MinionInstance))
 		{
 			int x1, y1, z1;
 			int range = Config.MAX_DRIFT_RANGE;

+ 5 - 6
L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Seed.java

@@ -18,17 +18,16 @@ import net.sf.l2j.gameserver.datatables.MapRegionTable;
 import net.sf.l2j.gameserver.datatables.SkillTable;
 import net.sf.l2j.gameserver.handler.IItemHandler;
 import net.sf.l2j.gameserver.instancemanager.CastleManorManager;
+import net.sf.l2j.gameserver.model.L2Character;
 import net.sf.l2j.gameserver.model.L2ItemInstance;
 import net.sf.l2j.gameserver.model.L2Manor;
 import net.sf.l2j.gameserver.model.L2Object;
 import net.sf.l2j.gameserver.model.L2Skill;
 import net.sf.l2j.gameserver.model.actor.instance.L2ChestInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2GrandBossInstance;
 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.L2PcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
 import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
@@ -89,16 +88,16 @@ public class Seed implements IItemHandler
 			return;
 		
 		_activeChar = (L2PcInstance) playable;
-		L2Object target = _activeChar.getTarget();
+		L2Object target_ = _activeChar.getTarget();
 		
-		if (!(target instanceof L2NpcInstance))
+		if (!(target_ instanceof L2NpcInstance))
 		{
 			_activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
 			_activeChar.sendPacket(ActionFailed.STATIC_PACKET);
 			return;
 		}
-		
-		if (!(target instanceof L2MonsterInstance) || (target instanceof L2ChestInstance) || (target instanceof L2GrandBossInstance) || (target instanceof L2RaidBossInstance))
+		L2Character target = ((L2Character)target_);
+		if (!(target instanceof L2MonsterInstance) || target instanceof L2ChestInstance || target.isRaid())
 		{
 			_activeChar.sendPacket(new SystemMessage(SystemMessageId.THE_TARGET_IS_UNAVAILABLE_FOR_SEEDING));
 			_activeChar.sendPacket(ActionFailed.STATIC_PACKET);

+ 1 - 2
L2_GameServer/java/net/sf/l2j/gameserver/handler/skillhandlers/Mdam.java

@@ -28,7 +28,6 @@ import net.sf.l2j.gameserver.model.L2Summon;
 import net.sf.l2j.gameserver.model.actor.instance.L2CubicInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
 import net.sf.l2j.gameserver.skills.Formulas;
@@ -178,7 +177,7 @@ public class Mdam implements ISkillHandler
 				if (Config.LOG_GAME_DAMAGE && damage > 5000 && activeChar instanceof L2PcInstance)
 				{
 					String name = "";
-					if (target instanceof L2RaidBossInstance)
+					if (target.isRaid())
 						name = "RaidBoss ";
 					if (target instanceof L2NpcInstance)
 						name += target.getName() + "(" + ((L2NpcInstance) target).getTemplate().npcId + ")";

+ 1 - 2
L2_GameServer/java/net/sf/l2j/gameserver/handler/skillhandlers/Pdam.java

@@ -27,7 +27,6 @@ import net.sf.l2j.gameserver.model.L2Object;
 import net.sf.l2j.gameserver.model.L2Skill;
 import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.network.serverpackets.EtcStatusUpdate;
 import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
@@ -161,7 +160,7 @@ public class Pdam implements ISkillHandler
 						if (Config.LOG_GAME_DAMAGE && damage > 5000 && activeChar instanceof L2PcInstance)
 						{
 							String name = "";
-							if (target instanceof L2RaidBossInstance)
+							if (target.isRaid())
 								name = "RaidBoss ";
 							if (target instanceof L2NpcInstance)
 								name += target.getName() + "(" + ((L2NpcInstance) target).getTemplate().npcId + ")";

+ 2 - 3
L2_GameServer/java/net/sf/l2j/gameserver/model/L2Attackable.java

@@ -41,7 +41,6 @@ import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
 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.L2PlayableInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2SiegeGuardInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2SummonInstance;
 import net.sf.l2j.gameserver.model.actor.knownlist.AttackableKnownList;
@@ -807,7 +806,7 @@ public class L2Attackable extends L2NpcInstance
     public void addDamage(L2Character attacker, int damage)
     {
         // Notify the L2Attackable AI with EVT_ATTACKED
-        if (damage > 0)
+        if (damage > 0 && !this.isDead())
         {
             try {
                 if (attacker instanceof L2PcInstance || attacker instanceof L2Summon)
@@ -1361,7 +1360,7 @@ public class L2Attackable extends L2NpcInstance
 					 else dropItem(player, item); // drop the item on the ground
 
 					 // Broadcast message if RaidBoss was defeated
-		             if(this instanceof L2RaidBossInstance)
+		             if(isRaid() && !(this instanceof L2MinionInstance))
 		             {
 		                 SystemMessage sm;
 		                 sm = new SystemMessage(SystemMessageId.S1_DIED_DROPPED_S3_S2);

+ 1 - 3
L2_GameServer/java/net/sf/l2j/gameserver/model/L2CommandChannel.java

@@ -17,9 +17,7 @@ package net.sf.l2j.gameserver.model;
 import java.util.List;
 
 import javolution.util.FastList;
-import net.sf.l2j.gameserver.model.actor.instance.L2GrandBossInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
-import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
 import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
 import net.sf.l2j.gameserver.network.serverpackets.ExCloseMPCC;
 import net.sf.l2j.gameserver.network.serverpackets.ExMPCCPartyInfoUpdate;
@@ -205,7 +203,7 @@ public class L2CommandChannel
 	 */
 	public boolean meetRaidWarCondition(L2Object obj)
 	{
-		if (!(obj instanceof L2RaidBossInstance) || !(obj instanceof L2GrandBossInstance))
+		if (!(obj instanceof L2Character && ((L2Character)obj).isRaid()))
 			return false;
 		int npcId = ((L2Attackable)obj).getNpcId();
 		switch(npcId)

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

@@ -53,7 +53,7 @@ public final class L2MinionInstance extends L2MonsterInstance
 	@Override
 	public boolean isRaid()
 	{
-		return (getLeader() instanceof L2RaidBossInstance);
+		return (getLeader().isRaid());
 	}
 
 	/**

+ 2 - 2
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2MonsterInstance.java

@@ -183,7 +183,7 @@ public class L2MonsterInstance extends L2Attackable
                     // Trigger the aggro condition of the minion
                     if (minion != null && !minion.isDead())
                     {
-                        if(this instanceof L2RaidBossInstance)
+                        if(isRaid())
                         	minion.addDamage(attacker, 100);
                         else minion.addDamage(attacker, 1);
                     }
@@ -201,7 +201,7 @@ public class L2MonsterInstance extends L2Attackable
     	if (_minionMaintainTask != null)
             _minionMaintainTask.cancel(true); // doesn't do it?
 
-        if (this instanceof L2RaidBossInstance)
+        if (isRaid() && !(this instanceof L2MinionInstance))
         	deleteSpawnedMinions();
         return true;
     }

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

@@ -11445,7 +11445,7 @@ public final class L2PcInstance extends L2PlayableInstance
     {
     	if(Rnd.get(100) <= Config.DEATH_PENALTY_CHANCE 
     			&& !(killer instanceof L2PcInstance) && !(this.isGM())
-    			&& !(this.getCharmOfLuck() && (killer instanceof L2GrandBossInstance || killer instanceof L2RaidBossInstance))
+    			&& !(this.getCharmOfLuck() && killer.isRaid())
     			&& !isPhoenixBlessed()
     			&& !(TvTEvent.isStarted() && TvTEvent.isPlayerParticipant(getObjectId()))) 
     		

+ 1 - 2
L2_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/CharSelectionInfo.java

@@ -184,8 +184,7 @@ public class CharSelectionInfo extends L2GameServerPacket
             
             writeC(charInfoPackage.getEnchantEffect() > 127 ? 127 : charInfoPackage.getEnchantEffect());
             
-            writeH(charInfoPackage.getAugmentationId());
-            writeH(0x00); // this is for augmentation too
+            writeD(charInfoPackage.getAugmentationId());
             
             //writeD(charInfoPackage.getTransformId()); // Used to display Transformations
             writeD(0x00); // Currently on retail when you are on character select you don't see your transformation.