Sync with L2JServer Feb 7th 2015.

This commit is contained in:
mobius
2015-02-07 23:48:56 +00:00
parent 1e166ca657
commit ecd17fdefb
1949 changed files with 3120 additions and 33466 deletions

View File

@@ -22,6 +22,7 @@ import hellbound.HellboundEngine;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder;
import com.l2jserver.gameserver.model.skills.BuffInfo;
import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
/**
* Manages Amaskari's and minions' chat and some skill usage.
@@ -78,7 +78,7 @@ public final class Amaskari extends AbstractNpcAI
{
if (event.equalsIgnoreCase("stop_toggle"))
{
broadcastNpcSay(npc, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[2]);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[2]);
((L2MonsterInstance) npc).clearAggroList();
((L2MonsterInstance) npc).getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
npc.setIsInvul(false);
@@ -88,11 +88,11 @@ public final class Amaskari extends AbstractNpcAI
{
if (getRandom(100) > 20)
{
broadcastNpcSay(npc, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[2]);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[2]);
}
else if (getRandom(100) > 40)
{
broadcastNpcSay(npc, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[3]);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[3]);
}
startQuestTimer("onspawn_msg", (getRandom(8) + 1) * 30000, npc, null);
}
@@ -104,12 +104,12 @@ public final class Amaskari extends AbstractNpcAI
{
if ((npc.getId() == AMASKARI) && (getRandom(1000) < 25))
{
broadcastNpcSay(npc, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[0]);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[0]);
for (L2MonsterInstance minion : ((L2MonsterInstance) npc).getMinionList().getSpawnedMinions())
{
if ((minion != null) && !minion.isDead() && (getRandom(10) == 0))
{
broadcastNpcSay(minion, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[0]);
broadcastNpcSay(minion, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[0]);
minion.setCurrentHp(minion.getCurrentHp() - (minion.getCurrentHp() / 5));
}
}
@@ -125,7 +125,7 @@ public final class Amaskari extends AbstractNpcAI
final L2MonsterInstance master = ((L2MonsterInstance) npc).getLeader();
if ((master != null) && !master.isDead())
{
broadcastNpcSay(master, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[1]);
broadcastNpcSay(master, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[1]);
final BuffInfo info = master.getEffectList().getBuffInfoBySkillId(BUFF_ID);
if ((info != null) && (info.getSkill().getAbnormalLvl() == 3) && master.isInvul())
{
@@ -145,7 +145,7 @@ public final class Amaskari extends AbstractNpcAI
}
else
{
broadcastNpcSay(master, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[3]);
broadcastNpcSay(master, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[3]);
// master.doCast(INVINCIBILITY.getSkill())
master.setIsInvul(true);
startQuestTimer("stop_toggle", 10000, master, null);
@@ -161,7 +161,7 @@ public final class Amaskari extends AbstractNpcAI
{
if (getRandom(1000) > 300)
{
broadcastNpcSay(minion, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[1]);
broadcastNpcSay(minion, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[1]);
}
HellboundEngine.getInstance().updateTrust(30, true);
minion.deleteMe();

View File

@@ -24,13 +24,13 @@ import java.util.concurrent.ConcurrentHashMap;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.L2Spawn;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
/**
* Manages Darion's Enforcer's and Darion's Executioner spawn/despawn
@@ -161,7 +161,7 @@ public final class Keltas extends AbstractNpcAI
final L2Npc keltas = _spawnedKeltas;
if ((keltas != null) && !keltas.isDead())
{
broadcastNpcSay(keltas, Say2.NPC_SHOUT, NpcStringId.THAT_IS_IT_FOR_TODAY_LET_S_RETREAT_EVERYONE_PULL_BACK);
broadcastNpcSay(keltas, ChatType.NPC_SHOUT, NpcStringId.THAT_IS_IT_FOR_TODAY_LET_S_RETREAT_EVERYONE_PULL_BACK);
keltas.deleteMe();
keltas.getSpawn().decreaseCount(keltas);
despawnMinions();
@@ -182,7 +182,7 @@ public final class Keltas extends AbstractNpcAI
public final String onSpawn(L2Npc npc)
{
_spawnedKeltas = (L2MonsterInstance) npc;
broadcastNpcSay(_spawnedKeltas, Say2.NPC_SHOUT, NpcStringId.GUYS_SHOW_THEM_OUR_POWER);
broadcastNpcSay(_spawnedKeltas, ChatType.NPC_SHOUT, NpcStringId.GUYS_SHOW_THEM_OUR_POWER);
spawnMinions();
startQuestTimer("despawn", 1800000, null, null);
return super.onSpawn(npc);

View File

@@ -18,13 +18,11 @@
*/
package hellbound.AI.NPC.Deltuva;
import quests.Q00132_MatrasCuriosity.Q00132_MatrasCuriosity;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.QuestState;
/**
* Deltuva AI.
@@ -49,11 +47,6 @@ public final class Deltuva extends AbstractNpcAI
{
if (event.equalsIgnoreCase("teleport"))
{
final QuestState hostQuest = player.getQuestState(Q00132_MatrasCuriosity.class.getSimpleName());
if ((hostQuest == null) || !hostQuest.isCompleted())
{
return "32313-02.htm";
}
player.teleToLocation(TELEPORT);
}
return super.onAdvEvent(event, npc, player);

View File

@@ -22,11 +22,11 @@ import hellbound.HellboundEngine;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
/**
* Natives AI.
@@ -110,7 +110,7 @@ public final class Natives extends AbstractNpcAI
if (getQuestItemsCount(player, MARK_OF_BETRAYAL) >= 10)
{
takeItems(player, MARK_OF_BETRAYAL, 10);
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ALRIGHT_NOW_LEODAS_IS_YOURS);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ALRIGHT_NOW_LEODAS_IS_YOURS);
HellboundEngine.getInstance().updateTrust(-50, true);
for (int doorId : DOORS)
@@ -148,7 +148,7 @@ public final class Natives extends AbstractNpcAI
}
else if ((npc.getId() == NATIVE) && event.equalsIgnoreCase("hungry_death"))
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HUN_HUNGRY);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HUN_HUNGRY);
npc.doDie(null);
}
else if (npc.getId() == INCASTLE)

View File

@@ -23,6 +23,7 @@ import ai.npc.AbstractNpcAI;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.ZoneManager;
import com.l2jserver.gameserver.model.actor.L2Attackable;
import com.l2jserver.gameserver.model.actor.L2Character;
@@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2QuestGuardInstance;
import com.l2jserver.gameserver.model.holders.ItemChanceHolder;
import com.l2jserver.gameserver.model.zone.L2ZoneType;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
/**
* Quarry AI.
@@ -103,7 +103,7 @@ public final class Quarry extends AbstractNpcAI
return null;
}
}
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HUN_HUNGRY);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HUN_HUNGRY);
npc.doDie(npc);
break;
}
@@ -176,7 +176,7 @@ public final class Quarry extends AbstractNpcAI
startQuestTimer("DECAY", 1000, npc, null);
try
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THANK_YOU_FOR_THE_RESCUE_IT_S_A_SMALL_GIFT);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THANK_YOU_FOR_THE_RESCUE_IT_S_A_SMALL_GIFT);
}
catch (Exception e)
{

View File

@@ -23,12 +23,12 @@ import java.util.Set;
import javolution.util.FastSet;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.util.MinionList;
/**
@@ -79,7 +79,7 @@ public final class Ranku extends AbstractNpcAI
{
if ((minion != null) && !minion.isDead() && !MY_TRACKING_SET.contains(minion.getObjectId()))
{
broadcastNpcSay(minion, Say2.NPC_ALL, NpcStringId.DON_T_KILL_ME_PLEASE_SOMETHING_S_STRANGLING_ME);
broadcastNpcSay(minion, ChatType.NPC_GENERAL, NpcStringId.DON_T_KILL_ME_PLEASE_SOMETHING_S_STRANGLING_ME);
startQuestTimer("checkup", 1000, npc, null);
MY_TRACKING_SET.add(minion.getObjectId());
}

View File

@@ -25,12 +25,12 @@ import java.util.List;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.taskmanager.DecayTaskManager;
/**
@@ -81,7 +81,7 @@ public final class Slaves extends AbstractNpcAI
slave.clearAggroList();
slave.abortAttack();
slave.abortCast();
broadcastNpcSay(slave, Say2.NPC_ALL, NpcStringId.THANK_YOU_FOR_SAVING_ME_FROM_THE_CLUTCHES_OF_EVIL);
broadcastNpcSay(slave, ChatType.NPC_GENERAL, NpcStringId.THANK_YOU_FOR_SAVING_ME_FROM_THE_CLUTCHES_OF_EVIL);
if ((HellboundEngine.getInstance().getLevel() >= 1) && (HellboundEngine.getInstance().getLevel() <= 2))
{
@@ -94,4 +94,4 @@ public final class Slaves extends AbstractNpcAI
}
return super.onKill(npc, killer, isSummon);
}
}
}

View File

@@ -27,6 +27,7 @@ import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.datatables.SpawnTable;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.model.L2Spawn;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Attackable;
@@ -35,7 +36,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
/**
* Anomic Foundry.
@@ -142,7 +142,7 @@ public final class AnomicFoundry extends AbstractNpcAI
int atkIndex = _atkIndex.containsKey(npc.getObjectId()) ? _atkIndex.get(npc.getObjectId()) : 0;
if (atkIndex == 0)
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ENEMY_INVASION_HURRY_UP);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ENEMY_INVASION_HURRY_UP);
cancelQuestTimer("return_laborer", npc, null);
startQuestTimer("return_laborer", 60000, npc, null);
@@ -183,7 +183,7 @@ public final class AnomicFoundry extends AbstractNpcAI
{
if (getRandom(10000) < 8000)
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.PROCESS_SHOULDN_T_BE_DELAYED_BECAUSE_OF_ME);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.PROCESS_SHOULDN_T_BE_DELAYED_BECAUSE_OF_ME);
if (respawnTime < respawnMax)
{
respawnTime += 10000;

View File

@@ -32,6 +32,7 @@ import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager;
import com.l2jserver.gameserver.instancemanager.ZoneManager;
import com.l2jserver.gameserver.model.L2Party;
@@ -43,7 +44,6 @@ import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.zone.L2ZoneType;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.util.MinionList;
import com.l2jserver.gameserver.util.Util;
@@ -612,7 +612,7 @@ public final class TowerOfNaia extends AbstractNpcAI
MinionList.spawnMinion(_lock, 18493);
MinionList.spawnMinion(_lock, 18493);
}
broadcastNpcSay(_controller, Say2.NPC_ALL, NpcStringId.EMERGENCY_EMERGENCY_THE_OUTER_WALL_IS_WEAKENING_RAPIDLY);
broadcastNpcSay(_controller, ChatType.NPC_GENERAL, NpcStringId.EMERGENCY_EMERGENCY_THE_OUTER_WALL_IS_WEAKENING_RAPIDLY);
_counter -= 10;
}
}
@@ -716,7 +716,7 @@ public final class TowerOfNaia extends AbstractNpcAI
{
if ((spore != null) && !spore.isDead() && (spore.getId() == npcId))
{
broadcastNpcSay(spore, Say2.NPC_ALL, SPORES_NPCSTRING_ID[getRandom(4)], el);
broadcastNpcSay(spore, ChatType.NPC_GENERAL, SPORES_NPCSTRING_ID[getRandom(4)], el);
}
}
}

View File

@@ -33,6 +33,7 @@ import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.data.xml.impl.DoorData;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager;
import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import com.l2jserver.gameserver.instancemanager.ZoneManager;
@@ -48,7 +49,6 @@ import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.zone.L2ZoneType;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.util.MinionList;
import com.l2jserver.gameserver.util.Util;
@@ -572,7 +572,7 @@ public final class TullyWorkshop extends AbstractNpcAI
{
if (postMortemSpawn.indexOf(npc) == 11)
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HA_HA_YOU_WERE_SO_AFRAID_OF_DEATH_LET_ME_SEE_IF_YOU_FIND_ME_IN_TIME_MAYBE_YOU_CAN_FIND_A_WAY);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HA_HA_YOU_WERE_SO_AFRAID_OF_DEATH_LET_ME_SEE_IF_YOU_FIND_ME_IN_TIME_MAYBE_YOU_CAN_FIND_A_WAY);
npc.deleteMe();
return null;
}
@@ -746,7 +746,7 @@ public final class TullyWorkshop extends AbstractNpcAI
if (event.equalsIgnoreCase("repair_device"))
{
broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.DE_ACTIVATE_THE_ALARM);
broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.DE_ACTIVATE_THE_ALARM);
brokenContraptions.remove(npc.getObjectId());
}
else if (event.equalsIgnoreCase("despawn_servant") && !npc.isDead())
@@ -1223,7 +1223,7 @@ public final class TullyWorkshop extends AbstractNpcAI
{
if ((_npc != null) && (_npc.getId() == INGENIOUS_CONTRAPTION))
{
broadcastNpcSay(_npc, Say2.NPC_SHOUT, NpcStringId.S1_MINUTE_S_ARE_REMAINING, Integer.toString((countdownTime / 60000)));
broadcastNpcSay(_npc, ChatType.NPC_SHOUT, NpcStringId.S1_MINUTE_S_ARE_REMAINING, Integer.toString((countdownTime / 60000)));
}
}
}
@@ -1257,35 +1257,35 @@ public final class TullyWorkshop extends AbstractNpcAI
{
if ((_npc != null) && (_npc.getId() == INGENIOUS_CONTRAPTION))
{
broadcastNpcSay(_npc, Say2.NPC_SHOUT, NpcStringId.S1_SECOND_S_REMAINING, Integer.toString((countdownTime / 1000)));
broadcastNpcSay(_npc, ChatType.NPC_SHOUT, NpcStringId.S1_SECOND_S_REMAINING, Integer.toString((countdownTime / 1000)));
}
}
}, 60000, 10000);
broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.DETONATOR_INITIALIZATION_TIME_SET_FOR_S1_MINUTE_S_FROM_NOW, Integer.toString((countdownTime / 60000)));
broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.DETONATOR_INITIALIZATION_TIME_SET_FOR_S1_MINUTE_S_FROM_NOW, Integer.toString((countdownTime / 60000)));
}
else if ((npcId == TIMETWISTER_GOLEM) && (_countdown != null))
{
if (getRandom(1000) >= 700)
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED);
if (countdownTime > 180000)
{
countdownTime = Math.max(countdownTime - 180000, 60000);
if ((postMortemSpawn != null) && (postMortemSpawn.size() > 0) && (postMortemSpawn.get(0) != null) && (postMortemSpawn.get(0).getId() == INGENIOUS_CONTRAPTION))
{
broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_FORWARD_EFFECT_CREATED);
broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_FORWARD_EFFECT_CREATED);
}
}
}
else
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.TIME_RIFT_DEVICE_ACTIVATION_SUCCESSFUL);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TIME_RIFT_DEVICE_ACTIVATION_SUCCESSFUL);
if ((countdownTime > 0) && (countdownTime <= 420000))
{
countdownTime += 180000;
if ((postMortemSpawn != null) && (postMortemSpawn.size() > 0) && (postMortemSpawn.get(0) != null) && (postMortemSpawn.get(0).getId() == INGENIOUS_CONTRAPTION))
{
broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_RECURRENCE_EFFECT_CREATED);
broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_RECURRENCE_EFFECT_CREATED);
}
}
}
@@ -1367,11 +1367,11 @@ public final class TullyWorkshop extends AbstractNpcAI
if (((npc.getId() - 22404) == 3) || ((npc.getId() - 22404) == 6))
{
broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.I_FAILED_PLEASE_FORGIVE_ME_DARION);
broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.I_FAILED_PLEASE_FORGIVE_ME_DARION);
}
else
{
broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.S1_I_LL_BE_BACK_DON_T_GET_COMFORTABLE, killer.getName());
broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.S1_I_LL_BE_BACK_DON_T_GET_COMFORTABLE, killer.getName());
}
}
else if (((npcId == TEMENIR) || (npcId == DRAXIUS) || (npcId == KIRETCENAH)) && spawnedFollowers.contains(npc))
@@ -1446,7 +1446,7 @@ public final class TullyWorkshop extends AbstractNpcAI
}
else if ((npcId >= SERVANT_FIRST) && (npcId <= SERVANT_LAST) && (skillId == 5392))
{
broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.S1_THANK_YOU_FOR_GIVING_ME_YOUR_LIFE, player.getName());
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.S1_THANK_YOU_FOR_GIVING_ME_YOUR_LIFE, player.getName());
final int dmg = (int) (player.getCurrentHp() / (npc.getId() - 22404));
player.reduceCurrentHp(dmg, null, null);
npc.setCurrentHp((npc.getCurrentHp() + 10) - (npc.getId() - 22404));