Browse Source

BETA: Fixing Knoriks's shouts (Bad usage of bitmasks..)
* Reported by: TheLegend
* Also updating npc shouts to use Say2.NPC_SHOUT (instead of Say2.SHOUT) in order to make npc chat filter to work properly.

Rumen Nikiforov 12 years ago
parent
commit
5a9f1f7006

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/GiantScouts.java

@@ -61,7 +61,7 @@ public class GiantScouts extends AbstractNpcAI
 		{
 			if (!npc.isInCombat() && (npc.getTarget() == null))
 			{
-				npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.SHOUT, npc.getName(), NpcStringId.OH_GIANTS_AN_INTRUDER_HAS_BEEN_DISCOVERED));
+				npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.NPC_SHOUT, npc.getName(), NpcStringId.OH_GIANTS_AN_INTRUDER_HAS_BEEN_DISCOVERED));
 			}
 			
 			npc.setTarget(target);

+ 3 - 8
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Knoriks.java

@@ -47,7 +47,6 @@ public class Knoriks extends AbstractNpcAI
 		34,
 		35
 	};
-	private long CAN_TALK = 0;
 	
 	private Knoriks(String name, String descr)
 	{
@@ -71,10 +70,6 @@ public class Knoriks extends AbstractNpcAI
 		for (int element : ROUTE_ID)
 		{
 			WalkingManager.getInstance().startMoving(npc, element);
-			if ((CAN_TALK & npc.getObjectId()) < 1)
-			{
-				CAN_TALK |= npc.getObjectId();
-			}
 		}
 		
 		return super.onSpawn(npc);
@@ -83,13 +78,13 @@ public class Knoriks extends AbstractNpcAI
 	@Override
 	public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		if (((CAN_TALK & npc.getObjectId()) > 0) && (Rnd.get(100) < 60))
+		if ((npc.isScriptValue(0)) && (Rnd.get(100) < 60))
 		{
 			if (Rnd.get(100) < 50)
 			{
-				CAN_TALK &= ~npc.getObjectId();
+				npc.setScriptValue(1);
 			}
-			npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.SHOUT, npc.getNpcId(), NpcStringId.WHOS_THERE_IF_YOU_DISTURB_THE_TEMPER_OF_THE_GREAT_LAND_DRAGON_ANTHARAS_I_WILL_NEVER_FORGIVE_YOU), 1000);
+			npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_SHOUT, npc.getNpcId(), NpcStringId.WHOS_THERE_IF_YOU_DISTURB_THE_TEMPER_OF_THE_GREAT_LAND_DRAGON_ANTHARAS_I_WILL_NEVER_FORGIVE_YOU), 1000);
 		}
 		
 		return super.onAggroRangeEnter(npc, player, isPet);

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java

@@ -186,7 +186,7 @@ public final class Venom extends AbstractNpcAI
 				if (CastleManager.getInstance().getCastleById(CASTLE).getSiege().getControlTowerCount() <= 1)
 				{
 					changeLocation(MoveTo.THRONE);
-					broadcastNpcSay(_massymore, Say2.SHOUT, NpcStringId.OH_NO_THE_DEFENSES_HAVE_FAILED_IT_IS_TOO_DANGEROUS_TO_REMAIN_INSIDE_THE_CASTLE_FLEE_EVERY_MAN_FOR_HIMSELF);
+					broadcastNpcSay(_massymore, Say2.NPC_SHOUT, NpcStringId.OH_NO_THE_DEFENSES_HAVE_FAILED_IT_IS_TOO_DANGEROUS_TO_REMAIN_INSIDE_THE_CASTLE_FLEE_EVERY_MAN_FOR_HIMSELF);
 					cancelQuestTimer("tower_check", npc, null);
 					startQuestTimer("raid_check", 10000, npc, null, true);
 				}
@@ -312,7 +312,7 @@ public final class Venom extends AbstractNpcAI
 			else
 			{
 				npc.doRevive();
-				broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.WHO_DARES_TO_COVET_THE_THRONE_OF_OUR_CASTLE_LEAVE_IMMEDIATELY_OR_YOU_WILL_PAY_THE_PRICE_OF_YOUR_AUDACITY_WITH_YOUR_VERY_OWN_BLOOD);
+				broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.WHO_DARES_TO_COVET_THE_THRONE_OF_OUR_CASTLE_LEAVE_IMMEDIATELY_OR_YOU_WILL_PAY_THE_PRICE_OF_YOUR_AUDACITY_WITH_YOUR_VERY_OWN_BLOOD);
 			}
 		}
 		return super.onSpawn(npc);
@@ -349,7 +349,7 @@ public final class Venom extends AbstractNpcAI
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
 		updateStatus(DEAD);
-		broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.ITS_NOT_OVER_YET_IT_WONT_BE_OVER_LIKE_THIS_NEVER);
+		broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.ITS_NOT_OVER_YET_IT_WONT_BE_OVER_LIKE_THIS_NEVER);
 		if (!CastleManager.getInstance().getCastleById(CASTLE).getSiege().getIsInProgress())
 		{
 			L2Npc cube = addSpawn(TELEPORT_CUBE, CUBE, false, 0);

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java

@@ -840,7 +840,7 @@ public class RainbowSpringsChateau extends Quest
 		else
 		{
 			_usedTextPassages.put(message, new ArrayList<L2Clan>());
-			int shout = Say2.SHOUT;
+			int shout = Say2.NPC_SHOUT;
 			int objId = npc.getObjectId();
 			NpcSay say = new NpcSay(objId, shout, npc.getNpcId(), message);
 			npc.broadcastPacket(say);