Pārlūkot izejas kodu

Abort any kind of attack when player get a raid curse.
Broadcast on enter world messages like invul/silense mode ONLY for gm characters.

Charus 15 gadi atpakaļ
vecāks
revīzija
c1cdda1a4b

+ 15 - 0
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -5179,7 +5179,12 @@ public abstract class L2Character extends L2Object
 					L2Skill skill = SkillTable.getInstance().getInfo(4515, 1);
 
 					if (skill != null)
+					{
+						abortAttack();
+						abortCast();
+						getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 						skill.getEffects(target, this);
+					}
 					else
 						_log.warning("Skill 4515 at level 1 is missing in DP.");
 
@@ -6389,7 +6394,12 @@ public abstract class L2Character extends L2Object
 						{
 							L2Skill tempSkill = SkillTable.getInstance().getInfo(4215, 1);
 							if(tempSkill != null)
+							{
+								abortAttack();
+								abortCast();
+								getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 								tempSkill.getEffects(target, this);
+							}
 							else
 								_log.warning("Skill 4215 at level 1 is missing in DP.");
 						}
@@ -6397,7 +6407,12 @@ public abstract class L2Character extends L2Object
 						{
 							L2Skill tempSkill = SkillTable.getInstance().getInfo(4515, 1);
 							if(tempSkill != null)
+							{
+								abortAttack();
+								abortCast();
+								getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 								tempSkill.getEffects(target, this);
+							}
 							else
 								_log.warning("Skill 4515 at level 1 is missing in DP.");
 						}

+ 9 - 6
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -10907,12 +10907,15 @@ public final class L2PcInstance extends L2Playable
         // jail task
         updatePunishState();
 
-        if (_isInvul)
-        	sendMessage("Entering world in Invulnerable mode.");
-        if (getAppearance().getInvisible())
-            sendMessage("Entering world in Invisible mode.");
-        if (isSilenceMode())
-            sendMessage("Entering world in Silence mode.");
+        if (isGM())
+        {
+        	if (_isInvul)
+        		sendMessage("Entering world in Invulnerable mode.");
+        	if (getAppearance().getInvisible())
+        		sendMessage("Entering world in Invisible mode.");
+        	if (isSilenceMode())
+        		sendMessage("Entering world in Silence mode.");
+        }
 
 		revalidateZone(true);