Advertisement
Guest User

Untitled

a guest
Mar 25th, 2015
365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 366.09 KB | None | 0 0
  1. /*
  2. * Laszlo Develop Script
  3. */
  4. package laszloevents.STD;
  5.  
  6. import java.util.Calendar;
  7. import java.util.concurrent.ScheduledFuture;
  8. import java.util.logging.Level;
  9.  
  10. import javolution.text.TextBuilder;
  11.  
  12. import com.l2jserver.Config;
  13. import com.l2jserver.gameserver.Announcements;
  14. import com.l2jserver.gameserver.ThreadPoolManager;
  15. import com.l2jserver.gameserver.ai.CtrlIntention;
  16. import com.l2jserver.gameserver.datatables.CharNameTable;
  17. import com.l2jserver.gameserver.datatables.NpcTable;
  18. import com.l2jserver.gameserver.datatables.SkillTable;
  19. import com.l2jserver.gameserver.idfactory.IdFactory;
  20. import com.l2jserver.gameserver.instancemanager.GrandBossManager;
  21. import com.l2jserver.gameserver.instancemanager.InstanceManager;
  22. import com.l2jserver.gameserver.instancemanager.MapRegionManager;
  23. import com.l2jserver.gameserver.instancemanager.QuestManager;
  24. import com.l2jserver.gameserver.instancemanager.SiegeManager;
  25. import com.l2jserver.gameserver.instancemanager.ZoneManager;
  26. import com.l2jserver.gameserver.model.L2Object;
  27. import com.l2jserver.gameserver.model.L2Party;
  28. import com.l2jserver.gameserver.model.L2Party.messageType;
  29. import com.l2jserver.gameserver.model.L2Spawn;
  30. import com.l2jserver.gameserver.model.L2World;
  31. import com.l2jserver.gameserver.model.Location;
  32. import com.l2jserver.gameserver.model.actor.L2Character;
  33. import com.l2jserver.gameserver.model.actor.L2Npc;
  34. import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
  35. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  36. import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
  37. import com.l2jserver.gameserver.model.effects.L2Effect;
  38. import com.l2jserver.gameserver.model.entity.L2Event;
  39. import com.l2jserver.gameserver.model.entity.TvTEvent;
  40. import com.l2jserver.gameserver.model.event.LaszloEventEngine;
  41. import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
  42. import com.l2jserver.gameserver.model.quest.Quest;
  43. import com.l2jserver.gameserver.model.quest.QuestState;
  44. import com.l2jserver.gameserver.model.skills.L2Skill;
  45. import com.l2jserver.gameserver.model.zone.L2ZoneType;
  46. import com.l2jserver.gameserver.model.zone.ZoneId;
  47. import com.l2jserver.gameserver.network.clientpackets.Say2;
  48. import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
  49. import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
  50. import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
  51. import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
  52. import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
  53. import com.l2jserver.gameserver.network.serverpackets.SocialAction;
  54. import com.l2jserver.gameserver.util.Util;
  55. import com.l2jserver.util.Rnd;
  56. import com.l2jserver.util.StringUtil;
  57.  
  58. public class STD extends Quest
  59. {
  60. protected static boolean BombHelper1[] = new boolean[5];
  61. protected static boolean BombHelper2[] = new boolean[5];
  62. protected static boolean RespawnHelper[] = new boolean[5];
  63. private static int Points[] = new int[8];
  64. private static int PointStadisticNum[][] = new int[5][8];
  65. private static int PointStadisticId[][] = new int[5][8];
  66. private int DesertSkill;
  67. private int ShotgunSkill;
  68. private int SubfusilSkill;
  69. private int AssaultRSkill;
  70. private int SniperRSkill;
  71. private int HideSkill;
  72. private int NoHideSkill;
  73. private int BombSkill;
  74. private int unBombSkill;
  75. private int GrenadeSkill;
  76. private int KevlarSkill;
  77. private int AmmoSkill;
  78. private int HerbsSkill;
  79. private static int RedHelper = 0;
  80. private static int BlueHelper = 0;
  81. private static int instanceId = 50000;
  82. protected static L2Npc[] InscriptionNpc = new L2Npc[3];
  83. protected static L2Npc[] RedTargetBomb = new L2Npc[5];
  84. protected static L2Npc[] BlueTargetBomb = new L2Npc[5];
  85. protected static L2Npc[] RedBomb = new L2Npc[5];
  86. protected static L2Npc[] BlueBomb = new L2Npc[5];
  87. protected static L2ZoneType ZONE = null;
  88. private static String qn = "STD";
  89. private static String templateName = "LaszloEventInstance.xml";
  90. private static final int INSCRIPTION_NPC = 40005;
  91. private static final int RED_SMUG = 40006;
  92. private static final int BLUE_SMUG = 40007;
  93. private static final int RED_TARGET = 40008;
  94. private static final int BLUE_TARGET = 40009;
  95. private static final int RED_BOMB = 40010;
  96. private static final int BLUE_BOMB = 40011;
  97. private static final int DOOR[] =
  98. {
  99. 19260053,
  100. 19260054
  101. };
  102. private static final Location RED_ENTRY_POINT = new Location(-10705 + Rnd.get(50, -50), 273934 + Rnd.get(50, -50), -15009);
  103. private static final Location BLUE_ENTRY_POINT = new Location(-14315 + Rnd.get(50, -50), 273932 + Rnd.get(50, -50), -15009);
  104. private static final Location EXIT_POINT = new Location(82835 + Rnd.get(100, -100), 148599 + Rnd.get(100, -100), -3471);
  105. private static final int[] REWARDS_IDS =
  106. {
  107. Config.SHOOTER_EVENT_REWARD_ID,
  108. Config.SHOOTER_EVENT_REWARD_ID_LOSER,
  109. Config.SHOOTER_EVENT_REWARD_ID_TIE
  110. };
  111. private ShooterStartTask _task;
  112.  
  113. public STD(int questId, String name, String descr)
  114. {
  115. super(questId, name, descr);
  116. ZONE = ZoneManager.getInstance().getZoneById(50000);
  117. addEnterZoneId(50000);
  118. addFirstTalkId(INSCRIPTION_NPC);
  119. addStartNpc(INSCRIPTION_NPC);
  120. addTalkId(INSCRIPTION_NPC);
  121. addFirstTalkId(RED_SMUG);
  122. addStartNpc(RED_SMUG);
  123. addTalkId(RED_SMUG);
  124. addFirstTalkId(BLUE_SMUG);
  125. addStartNpc(BLUE_SMUG);
  126. addTalkId(BLUE_SMUG);
  127.  
  128. addFirstTalkId(RED_BOMB);
  129. addFirstTalkId(RED_TARGET);
  130. addFirstTalkId(BLUE_BOMB);
  131. addFirstTalkId(BLUE_TARGET);
  132.  
  133. addSkillSeeId(RED_BOMB);
  134. addSkillSeeId(BLUE_BOMB);
  135. addSkillSeeId(RED_TARGET);
  136. addSkillSeeId(BLUE_TARGET);
  137.  
  138. if (Config.SHOOTER_EVENT_ENABLE)
  139. {
  140. if (Config.SHOOTER_EVENT_AUTOMATIC)
  141. {
  142. scheduleShooterEventStart();
  143. _log.info("[Shot The Dog Event Engine]: Event Enabled - Scheduled Mode enabled.");
  144. }
  145. else
  146. {
  147. _log.info("[Shot The Dog Event Engine]: Event Enabled - Scheduled Mode disabled.");
  148. }
  149. }
  150. else
  151. {
  152. _log.info("[Shot The Dog Event Engine]: Event is disabled. Check your Config File 'LaszloEventsConfig.properties'");
  153. }
  154. }
  155.  
  156. public void scheduleShooterEventStart()
  157. {
  158. try
  159. {
  160. Calendar currentTime = Calendar.getInstance();
  161. Calendar nextStartTime = null;
  162. Calendar testStartTime = null;
  163. for (String timeOfDay : Config.SHOOTER_EVENT_INTERVAL)
  164. {
  165. testStartTime = Calendar.getInstance();
  166. testStartTime.setLenient(true);
  167. String[] splitTimeOfDay = timeOfDay.split(":");
  168. testStartTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0]));
  169. testStartTime.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1]));
  170. if (testStartTime.getTimeInMillis() < currentTime.getTimeInMillis())
  171. {
  172. testStartTime.add(Calendar.DAY_OF_MONTH, 1);
  173. }
  174. if ((nextStartTime == null) || (testStartTime.getTimeInMillis() < nextStartTime.getTimeInMillis()))
  175. {
  176. nextStartTime = testStartTime;
  177. }
  178. }
  179. if ((nextStartTime != null) && !LaszloEventEngine.isInPeriodShooterEvent())
  180. {
  181. _task = new ShooterStartTask(nextStartTime.getTimeInMillis());
  182. ThreadPoolManager.getInstance().executeTask(_task);
  183. }
  184. }
  185. catch (Exception e)
  186. {
  187. _log.warning("[Shot The Dog Event Engine]: Error calculating the start time. Check STDEventInterval in 'LaszloEventsConfig.properties' file.");
  188. }
  189. }
  190.  
  191. class ShooterStartTask implements Runnable
  192. {
  193. private long _startTime;
  194. public ScheduledFuture<?> nextRun;
  195.  
  196. public ShooterStartTask(long startTime)
  197. {
  198. _startTime = startTime;
  199. }
  200.  
  201. public void setStartTime(long startTime)
  202. {
  203. _startTime = startTime;
  204. }
  205.  
  206. @Override
  207. public void run()
  208. {
  209. int delay = (int) Math.round((_startTime - System.currentTimeMillis()) / 1000.0);
  210.  
  211. int nextMsg = 0;
  212. if (delay > 3600)
  213. {
  214. nextMsg = delay - 3600;
  215. }
  216. else if (delay > 1800)
  217. {
  218. nextMsg = delay - 1800;
  219. }
  220. else if (delay > 900)
  221. {
  222. nextMsg = delay - 900;
  223. }
  224. else if (delay > 600)
  225. {
  226. nextMsg = delay - 600;
  227. }
  228. else if (delay > 300)
  229. {
  230. nextMsg = delay - 300;
  231. }
  232. else if (delay > 60)
  233. {
  234. nextMsg = delay - 60;
  235. }
  236. else if (delay > 5)
  237. {
  238. nextMsg = delay - 5;
  239. }
  240. else if (delay > 0)
  241. {
  242. nextMsg = delay;
  243. }
  244. else
  245. {
  246. if (!LaszloEventEngine.isInPeriodShooterEvent())
  247. {
  248. StartPeriodShooterEvent();
  249. }
  250. }
  251.  
  252. if (delay > 0)
  253. {
  254. nextRun = ThreadPoolManager.getInstance().scheduleGeneral(this, nextMsg * 1000);
  255. }
  256. }
  257. }
  258.  
  259. @Override
  260. public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
  261. {
  262. Double InscriptionTime14double = Config.SHOOTER_EVENT_INSCRIPTION_TIME * 0.25;
  263. long InscriptionTime14 = InscriptionTime14double.longValue();
  264. Double EndingAlmostdouble = Config.SHOOTER_EVENT_PROCESS_TIME * 0.9;
  265. long EndingAlmost = EndingAlmostdouble.longValue();
  266. if (!Config.SHOOTER_EVENT_ENABLE)
  267. {
  268. _log.log(Level.WARNING, "ShooterEventEngine[ERROR]: exception: The Event was disabled during the perfomance.");
  269. }
  270. else
  271. {
  272. if ("ShooterInscription".equalsIgnoreCase(event))
  273. {
  274. ShooterRegistration(player);
  275. return "";
  276. }
  277. else if ("ShooterCancelInscription".equalsIgnoreCase(event))
  278. {
  279. ShooterUnRegistration(player);
  280. return "";
  281. }
  282. else if ("ShooterTutorial".equalsIgnoreCase(event))
  283. {
  284. final StringBuilder HtmlEventTuto = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  285. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  286. {
  287. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Bienvenido al tutorial.<br>Aquí podrás informarte sobre<br1>el funcionamiento del Evento.</td></tr></table><br><br><br><br>");
  288. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Objetivos\" action=\"bypass -h Quest STD ShooterTutorial1\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Apply_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Apply\"></td></tr></table><br>");
  289. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Skills de Evento\" action=\"bypass -h Quest STD ShooterTutorial2\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  290. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Comandos de Event\" action=\"bypass -h Quest STD ShooterTutorial3\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr></table><br>");
  291. }
  292. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  293. {
  294. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Welcome to the Tutorial.<br>Here you could inform about<br1>the Event operation.</td></tr></table><br><br><br><br>");
  295. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Objectives\" action=\"bypass -h Quest STD ShooterTutorial1\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Apply_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Apply\"></td></tr></table><br>");
  296. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Event Skills\" action=\"bypass -h Quest STD ShooterTutorial2\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  297. StringUtil.append(HtmlEventTuto, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Event Commands\" action=\"bypass -h Quest STD ShooterTutorial3\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr></table><br>");
  298. }
  299. return HtmlEventTuto.toString();
  300. }
  301. else if ("ShooterTutorial1".equalsIgnoreCase(event))
  302. {
  303. final StringBuilder HtmlEventTuto1 = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  304. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  305. {
  306. StringUtil.append(HtmlEventTuto1, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Los participantes se reparten en <font color=\"LEVEL\">2 equipos</font>.<br1> Estos deben <font color=\"LEVEL\">eliminar a la mayor cantidad <br1>de contrincantes</font> posibles<br1> en el periodo que dure el evento.<br><br> Para ello deberán usar y mejorar sus <br1><a action=\"bypass -h Quest STD ShooterTutorial2\">Skills de Evento</a> para conseguir ventaja<br1> frente a sus enemigos.</td></tr></table><br>");
  307. StringUtil.append(HtmlEventTuto1, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Atrás\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table></td></tr></table></body></html>");
  308. }
  309. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  310. {
  311. StringUtil.append(HtmlEventTuto1, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Participants are divided into <font color=\"LEVEL\">2 teams</font>.<br1>They must <font color=\"LEVEL\">kill as many enemies <br1></font>as they can during the Event.<br><br> To achieve it they must <br1>use and improve their<br1><a action=\"bypass -h Quest STD ShooterTutorial2\">Event Skills</a><br1> to take advantage<br1>againts their enemies.</td></tr></table><br>");
  312. StringUtil.append(HtmlEventTuto1, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Back\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table></td></tr></table></body></html>");
  313. }
  314. return HtmlEventTuto1.toString();
  315. }
  316. else if ("ShooterTutorial2".equalsIgnoreCase(event))
  317. {
  318. final StringBuilder HtmlEventTuto2 = StringUtil.startAppend(360, "<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  319. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  320. {
  321. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>En el Evento <font color=\"LEVEL\">solo se pueden utilizar<br1> Skills de Evento</font>. Estas Skills emulan a armas<br1> de fuego, y su uso consume maná,<br1> lo equivalente a municion.<br1> Son Skills de Armas<br1>Skills de Accesorios y Skills de Apoyo.<br1>Al principìo del Evento<br1> solo habrá las básicas.<br>Durante el Evento si eliminas<br1>enemigos recibes <font color=\"LEVEL\">Dollar Dogs</font>,<br1> que deben usarse durante el evento<br1> en los <font color=\"LEVEL\">NPCs Smug</font> para conseguirlas<br1> y tener ventaja fente al enemigo.</td></tr></table><br>");
  322. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Mirar Skills de Armas\" action=\"bypass -h Quest STD ShooterTutorialw\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table>");
  323. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Mirar Skills de Accesorios\" action=\"bypass -h Quest STD ShooterTutoriala\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table>");
  324. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Mirar Skills de Apoyo\" action=\"bypass -h Quest STD ShooterTutorials\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table>");
  325. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Atrás\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table>");
  326.  
  327. }
  328. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  329. {
  330. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>In the Event <font color=\"LEVEL\">you can only use<br1> Event SKills</font>. This skills are like firearms<br1> consuming mana like bullets.<br1> There are Weapon Skills<br1> Accessory Skills and Support Sills.<br1> In the beginning the players<br1> only get some of them.<br>Durint the Event, killing enemies<br1>will get you <font color=\"LEVEL\">Dollar Dogs</font>,<br1> that it must be spent<br1>in the <font color=\"LEVEL\">Smug NPCs</font> to have them and take<br1>advantage against your enemies.</td></tr></table><br>");
  331. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Look Weapon Skills\" action=\"bypass -h Quest STD ShooterTutorialw\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table>");
  332. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Look Accessory Skills\" action=\"bypass -h Quest STD ShooterTutoriala\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table>");
  333. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Look Support Skills\" action=\"bypass -h Quest STD ShooterTutorials\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Apply\"></td></tr></table>");
  334. StringUtil.append(HtmlEventTuto2, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Back\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table>");
  335. }
  336. StringUtil.append(HtmlEventTuto2, "<br><br></td></tr></table></body></html>");
  337. return HtmlEventTuto2.toString();
  338. }
  339. else if ("ShooterTutorialw".equalsIgnoreCase(event))
  340. {
  341. showShooterWeaponsTutorial(player);
  342. return "";
  343. }
  344. else if ("ShooterTutoriala".equalsIgnoreCase(event))
  345. {
  346. showShooterEtcTutorial(player);
  347. return "";
  348. }
  349. else if ("ShooterTutorials".equalsIgnoreCase(event))
  350. {
  351. showShooterSupportTutorial(player);
  352. return "";
  353. }
  354. else if ("ShooterTutorial3".equalsIgnoreCase(event))
  355. {
  356. final StringBuilder HtmlEventTuto3 = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  357. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  358. {
  359. StringUtil.append(HtmlEventTuto3, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>El Evento cuenta con una serie<br1>de comandos para facilitar<br1> la vida de los jugadores:<br>Inscribirse: <font color=\"LEVEL\">.join_STD</font><br1>Cancelar inscripción: <font color=\"LEVEL\">.cancel_STD</font><br1>Salir del Evento: <font color=\"LEVEL\">.leave_STD</font><br1>Ver Puntuaciones: <font color=\"LEVEL\">.score_STD</font><br1>Chat de Evento: <font color=\"LEVEL\">.ec &lt;texto><br1></td></tr></table><br>");
  360. StringUtil.append(HtmlEventTuto3, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Atrás\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table>");
  361. }
  362. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  363. {
  364. StringUtil.append(HtmlEventTuto3, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>The Event counts with some<br1>user commands to make easy<br1>the player's life:<br>Inscribe: <font color=\"LEVEL\">.join_STD</font><br1>Cancel inscription: <font color=\"LEVEL\">.cancel_STD</font><br1>Exit from the Event: <font color=\"LEVEL\">.leave_STD</font><br1>View Scores: <font color=\"LEVEL\">.score_STD</font><br1>Event Chat: <font color=\"LEVEL\">.ec &lt;text><br1></font><br1></td></tr></table><br>");
  365. StringUtil.append(HtmlEventTuto3, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Back\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table>");
  366. }
  367. return HtmlEventTuto3.toString();
  368. }
  369. else if ("ShooterFeatures".equalsIgnoreCase(event))
  370. {
  371. showShooterFeaturesMenu(player);
  372. return "";
  373. }
  374. else if ("ShooterObservation".equalsIgnoreCase(event))
  375. {
  376. showShooterObserverMenu(player);
  377. return "";
  378. }
  379. else if ("ShooterObserver1".equalsIgnoreCase(event))
  380. {
  381. player.setObserverShooterEvent(true);
  382. player.enterOlympiadObserverMode(new Location(-12511, 273257, -15001), 0);
  383. player.setInstanceId(50000);
  384. return "";
  385. }
  386. else if ("ShooterObserver2".equalsIgnoreCase(event))
  387. {
  388. player.setObserverShooterEvent(true);
  389. player.enterObserverMode(-12511, 273257, -15001);
  390. player.setInstanceId(50001);
  391. return "";
  392. }
  393. else if ("ShooterObserver3".equalsIgnoreCase(event))
  394. {
  395. player.setObserverShooterEvent(true);
  396. player.enterObserverMode(-12511, 273257, -15001);
  397. player.setInstanceId(50002);
  398. return "";
  399. }
  400. else if ("ShooterObserver4".equalsIgnoreCase(event))
  401. {
  402. player.enterObserverMode(-12511, 273257, -15001);
  403. player.setInstanceId(50003);
  404. return "";
  405. }
  406. else if ("ShooterObserver5".equalsIgnoreCase(event))
  407. {
  408. player.enterObserverMode(-12511, 273257, -15001);
  409. player.setInstanceId(50004);
  410. return "";
  411. }
  412. else if ("ShooterPuntuaciones".equalsIgnoreCase(event))
  413. {
  414. showShooterStadistics(player);
  415. return "";
  416. }
  417. else if ("start_event_announcment_1".equalsIgnoreCase(event))
  418. {
  419. LaszloEventEngine.setShooterReadTime(0, (System.currentTimeMillis() + Config.SHOOTER_EVENT_INSCRIPTION_TIME));
  420. if (InscriptionNpc[0] == null)
  421. {
  422. InscriptionNpc[0] = spawn(INSCRIPTION_NPC, new Location(Config.SHOOTER_EVENT_NPC_1_COORDINATES[0], Config.SHOOTER_EVENT_NPC_1_COORDINATES[1], Config.SHOOTER_EVENT_NPC_1_COORDINATES[2], Config.SHOOTER_EVENT_NPC_1_COORDINATES[3]));
  423. InscriptionNpc[0].broadcastPacket(new MagicSkillUse(InscriptionNpc[0], InscriptionNpc[0], 6799, 1, 1, 1));
  424. InscriptionNpc[0].broadcastPacket(new MagicSkillUse(InscriptionNpc[0], InscriptionNpc[0], 6798, 1, 1, 1));
  425. }
  426. if (InscriptionNpc[1] == null)
  427. {
  428. InscriptionNpc[1] = spawn(INSCRIPTION_NPC, new Location(Config.SHOOTER_EVENT_NPC_2_COORDINATES[0], Config.SHOOTER_EVENT_NPC_2_COORDINATES[1], Config.SHOOTER_EVENT_NPC_2_COORDINATES[2], Config.SHOOTER_EVENT_NPC_2_COORDINATES[3]));
  429. InscriptionNpc[1].broadcastPacket(new MagicSkillUse(InscriptionNpc[1], InscriptionNpc[1], 6799, 1, 1, 1));
  430. InscriptionNpc[1].broadcastPacket(new MagicSkillUse(InscriptionNpc[1], InscriptionNpc[1], 6798, 1, 1, 1));
  431. }
  432. if (InscriptionNpc[2] == null)
  433. {
  434. InscriptionNpc[2] = spawn(INSCRIPTION_NPC, new Location(Config.SHOOTER_EVENT_NPC_3_COORDINATES[0], Config.SHOOTER_EVENT_NPC_3_COORDINATES[1], Config.SHOOTER_EVENT_NPC_3_COORDINATES[2], Config.SHOOTER_EVENT_NPC_3_COORDINATES[3]));
  435. InscriptionNpc[2].broadcastPacket(new MagicSkillUse(InscriptionNpc[2], InscriptionNpc[2], 6799, 1, 1, 1));
  436. InscriptionNpc[2].broadcastPacket(new MagicSkillUse(InscriptionNpc[2], InscriptionNpc[2], 6798, 1, 1, 1));
  437. }
  438. ExShowScreenMessage StartedSpa = new ExShowScreenMessage("¡Evento Shot The Dog Iniciado!", 5000);
  439. ExShowScreenMessage StartedEng = new ExShowScreenMessage("Shot The Dog Event Initiated!", 5000);
  440. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  441. {
  442. if (ply != null)
  443. {
  444. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  445. {
  446. ply.sendPacket(StartedSpa);
  447. }
  448. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  449. {
  450. ply.sendPacket(StartedEng);
  451. }
  452. }
  453. }
  454. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  455. {
  456. Announcements.getInstance().announceToAll("Evento Shot The Dog iniciado. \nPara inscribirse acudir a " + InscriptionNpc[0].getName() + " en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o mediante el comando .join_STD. \nQuedan " + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).");
  457. }
  458. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  459. {
  460. Announcements.getInstance().announceToAll("Shot The Dog Event started. \nTo inscribe it go to " + InscriptionNpc[0].getName() + " in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or use the command .join_STD. \n" + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s) last.");
  461. }
  462. startQuestTimer("start_event_announcment_2", InscriptionTime14, null, null);
  463. return "";
  464. }
  465. else if ("start_event_announcment_2".equalsIgnoreCase(event))
  466. {
  467. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  468. {
  469. Announcements.getInstance().announceToAll("Evento Shot The Dog, inscripción en proceso. \nPara inscribirse acudir a " + InscriptionNpc[0].getName() + " en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o mediante el comando .join_STD. \nQuedan " + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).");
  470. }
  471. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  472. {
  473. Announcements.getInstance().announceToAll("Shot The Dog Event, inscription in process. \nTo inscribe it go to " + InscriptionNpc[0].getName() + " in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or use the command .join_STD. \n" + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s) last.");
  474. }
  475. startQuestTimer("start_event_announcment_3", InscriptionTime14, null, null);
  476. return "";
  477. }
  478. else if ("start_event_announcment_3".equalsIgnoreCase(event))
  479. {
  480. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  481. {
  482. Announcements.getInstance().announceToAll("Evento Shot The Dog, inscripción en proceso. \nPara inscribirse acudir a " + InscriptionNpc[0].getName() + " en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o mediante el comando .join_STD. \nQuedan " + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).");
  483. }
  484. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  485. {
  486. Announcements.getInstance().announceToAll("Shot The Dog Event, inscription in process. \nTo inscribe it go to " + InscriptionNpc[0].getName() + " in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or use the command .join_STD. \n" + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s) last.");
  487. }
  488. startQuestTimer("start_event_announcment_4", InscriptionTime14, null, null);
  489. return "";
  490. }
  491. else if ("start_event_announcment_4".equalsIgnoreCase(event))
  492. {
  493. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  494. {
  495. Announcements.getInstance().announceToAll("Evento Shot The Dog, inscripción en proceso. \nPara inscribirse acudir a " + InscriptionNpc[0].getName() + " en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o mediante el comando .join_STD. \nQuedan " + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).");
  496. }
  497. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  498. {
  499. Announcements.getInstance().announceToAll("Shot The Dog Event, inscription in process. \nTo inscribe it go to " + InscriptionNpc[0].getName() + " in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or use the command .join_STD. \n" + (long) Math.round((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 60000) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s) last.");
  500. }
  501. startQuestTimer("event_calculate_players", InscriptionTime14, null, null);
  502. return "";
  503. }
  504. else if ("event_calculate_players".equalsIgnoreCase(event))
  505. {
  506. LaszloEventEngine.setShooterRegistratedNum(0);
  507. _log.info("[Shot The Dog Event Engine]: Processing Players...");
  508. LaszloEventEngine.setShooterEventState(2);
  509. CalculatePlayersEvent(player);
  510. startQuestTimer("event_calculate_instances", 1000, null, null);
  511. return "";
  512. }
  513. else if ("player_cancel_event".equalsIgnoreCase(event))
  514. {
  515. for (int i = 0; i < 3; i++)
  516. {
  517. if (InscriptionNpc[i] != null)
  518. {
  519. InscriptionNpc[i].broadcastPacket(new MagicSkillUse(InscriptionNpc[i], InscriptionNpc[i], 2614, 1, 1, 1));
  520. InscriptionNpc[i].decayMe();
  521. InscriptionNpc[i] = null;
  522. }
  523. }
  524. for (int i = 0; i < 5; i++)
  525. {
  526. if (RedTargetBomb[i] != null)
  527. {
  528. RedTargetBomb[i].decayMe();
  529. RedTargetBomb[i] = null;
  530. }
  531. if (BlueTargetBomb[i] != null)
  532. {
  533. BlueTargetBomb[i].decayMe();
  534. BlueTargetBomb[i] = null;
  535. }
  536. }
  537. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  538. {
  539. Announcements.getInstance().announceToAll("Evento Shot The Dog ha sido cancelado debido a la falta de participantes.");
  540. }
  541. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  542. {
  543. Announcements.getInstance().announceToAll("Shot The Dog Event has been canceled due the lack of participants.");
  544. }
  545. _log.info("[Shot The Dog Event Engine]: Event Canceled due the lack of participants.");
  546. cleanEffects(player);
  547. startQuestTimer("player_cancel_event_2", 3000, null, null);
  548. return "";
  549. }
  550. else if ("player_cancel_event_2".equalsIgnoreCase(event))
  551. {
  552. PlayerCancelShooterEvent(player);
  553. CleanValuesPlayers(player);
  554. CleanValuesEvent();
  555. for (int i = 50000; i < 50005; i++)
  556. {
  557. InstanceManager.getInstance().destroyInstance(i);
  558. }
  559. if (Config.SHOOTER_EVENT_AUTOMATIC)
  560. {
  561. scheduleShooterEventStart();
  562. }
  563. return "";
  564. }
  565. else if ("leave_clean".equalsIgnoreCase(event))
  566. {
  567. if (player.isSitting())
  568. {
  569. player.standUp();
  570. }
  571. if (player.getParty() != null)
  572. {
  573. L2Party party = player.getParty();
  574. party.removePartyMember(player, messageType.Expelled);
  575. }
  576. if (player.isMounted() || player.isFlying())
  577. {
  578. player.dismount();
  579. }
  580. if (player.isFakeDeath())
  581. {
  582. player.stopFakeDeath(true);
  583. }
  584. if (player.hasSummon() || (player.hasSummon() && player.getSummon().isPet()))
  585. {
  586. player.getSummon().unSummon(player);
  587. }
  588. player.disableAllSkills();
  589. player.setTarget(null);
  590. player.stopMove(null);
  591. player.setIsImmobilized(true);
  592. player.stopAllEffects();
  593. player.stopCubics();
  594. player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  595. player.setCurrentCp(player.getMaxCp());
  596. return "";
  597. }
  598. else if ("leave_tele".equalsIgnoreCase(event))
  599. {
  600. player.enableAllSkills();
  601. player.setIsImmobilized(false);
  602. player.setTeam(0);
  603. teleportPlayer(player, EXIT_POINT, 0);
  604. if (player.isEnrolledShooterEvent())
  605. {
  606. player.setEnrolledShooterEvent(false);
  607. }
  608. if (player.getDollarsShooterEvent() > 0)
  609. {
  610. player.setDollarsShooterEvent(0);
  611. }
  612. if (player.getInstanceHelperShooterEvent() > 0)
  613. {
  614. player.setInstanceHelperShooterEvent(0);
  615. }
  616. if (player.getMatrixLocShooterEvent() > 0)
  617. {
  618. player.setMatrixLocShooterEvent(0);
  619. }
  620. if (player.getRachaShooterEvent() > 0)
  621. {
  622. player.setRachaShooterEvent(0);
  623. }
  624. for (int i = 0; i < 5; i++)
  625. {
  626. if (player.isRedPartakerShooterEvent(i))
  627. {
  628. player.setRedPartakerShooterEvent(i, false);
  629. }
  630. if (player.isBluePartakerShooterEvent(i))
  631. {
  632. player.setBluePartakerShooterEvent(i, false);
  633. }
  634. }
  635. for (int j = 0; j < 8; j++)
  636. {
  637. if (player.getMatrixStadisticsShooterEvent(j) > 0)
  638. {
  639. player.setMatrixStadisticsShooterEvent(j, 0);
  640. }
  641. }
  642. return "";
  643. }
  644. else if ("ShooterArmas".equalsIgnoreCase(event))
  645. {
  646. showShooterWeaponsMenu(player);
  647. return "";
  648. }
  649. else if ("ShooterAccesorios".equalsIgnoreCase(event))
  650. {
  651. showShooterEtcMenu(player);
  652. return "";
  653. }
  654. else if ("ShooterApoyo".equalsIgnoreCase(event))
  655. {
  656. showShooterSupportMenu(player);
  657. return "";
  658. }
  659. else if ("ShooterDesert".equalsIgnoreCase(event))
  660. {
  661. if (player.getDollarsShooterEvent() < 700)
  662. {
  663. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  664. {
  665. player.sendMessage("No tienes Dollars Dogs suficientes");
  666. }
  667. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  668. {
  669. player.sendMessage("You haven't got enough Dollars Dogs");
  670. }
  671. }
  672. else
  673. {
  674. player.addSkill(SkillTable.getInstance().getInfo(40002, 1), false);
  675. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 700);
  676. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  677. {
  678. player.sendMessage("Has adquirido una Desert Eagle. Acribilla a tus enemigos. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  679. }
  680. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  681. {
  682. player.sendMessage("You have adquired a Desert Eagle. Riddle your enemies. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  683. }
  684. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 700);
  685. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  686. {
  687. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  688. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  689. }
  690. player.broadcastUserInfo();
  691. showShooterWeaponsMenu(player);
  692. }
  693. return "";
  694. }
  695. else if ("ShooterShotgun".equalsIgnoreCase(event))
  696. {
  697. if (player.getDollarsShooterEvent() < 2000)
  698. {
  699. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  700. {
  701. player.sendMessage("No tienes Dollars Dogs suficientes");
  702. }
  703. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  704. {
  705. player.sendMessage("You haven't got enough Dollars Dogs");
  706. }
  707. }
  708. else
  709. {
  710. player.addSkill(SkillTable.getInstance().getInfo(40003, 1), false);
  711. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 2000);
  712. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  713. {
  714. player.sendMessage("Has adquirido una Escopeta Franchi SPAS-12. Acribilla a tus enemigos. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  715. }
  716. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  717. {
  718. player.sendMessage("You have adquired a Franchi SPAS-12 shotgun. Riddle your enemies. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  719. }
  720. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 2000);
  721. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  722. {
  723. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  724. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  725. }
  726. player.broadcastUserInfo();
  727. showShooterWeaponsMenu(player);
  728. }
  729. return "";
  730. }
  731. else if ("ShooterSubfusil".equalsIgnoreCase(event))
  732. {
  733. if (player.getDollarsShooterEvent() < 1600)
  734. {
  735. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  736. {
  737. player.sendMessage("No tienes Dollars Dogs suficientes");
  738. }
  739. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  740. {
  741. player.sendMessage("You haven't got enough Dollars Dogs");
  742. }
  743. }
  744. else
  745. {
  746. player.addSkill(SkillTable.getInstance().getInfo(40004, 1), false);
  747. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1600);
  748. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  749. {
  750. player.sendMessage("Has adquirido un subfusil MP-5. Acribilla a tus enemigos. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  751. }
  752. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  753. {
  754. player.sendMessage("You have adquired a MP-5 SMG. Riddle your enemies. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  755. }
  756. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1600);
  757. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  758. {
  759. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  760. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  761. }
  762. player.broadcastUserInfo();
  763. showShooterWeaponsMenu(player);
  764. }
  765. return "";
  766. }
  767. else if ("ShooterAssaultR".equalsIgnoreCase(event))
  768. {
  769. if (player.getDollarsShooterEvent() < 2200)
  770. {
  771. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  772. {
  773. player.sendMessage("No tienes Dollars Dogs suficientes");
  774. }
  775. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  776. {
  777. player.sendMessage("You haven't got enough Dollars Dogs");
  778. }
  779. }
  780. else
  781. {
  782. player.addSkill(SkillTable.getInstance().getInfo(40005, 1), false);
  783. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 2200);
  784. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  785. {
  786. player.sendMessage("Has adquirido un Rifle de Asalto AK-47. Acribilla a tus enemigos. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  787. }
  788. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  789. {
  790. player.sendMessage("You have adquired a AK-47 Assault Rifle. Riddle your enemies. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  791. }
  792. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 2200);
  793. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  794. {
  795. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  796. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  797. }
  798. player.broadcastUserInfo();
  799. showShooterWeaponsMenu(player);
  800. }
  801. return "";
  802. }
  803. else if ("ShooterSniperR".equalsIgnoreCase(event))
  804. {
  805. if (player.getDollarsShooterEvent() < 3000)
  806. {
  807. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  808. {
  809. player.sendMessage("No tienes Dollars Dogs suficientes");
  810. }
  811. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  812. {
  813. player.sendMessage("You haven't got enough Dollars Dogs");
  814. }
  815. }
  816. else
  817. {
  818. player.addSkill(SkillTable.getInstance().getInfo(40006, 1), false);
  819. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 3000);
  820. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  821. {
  822. player.sendMessage("Has adquirido un Rifle de Francotirador L69A1. Acribilla a tus enemigos. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  823. }
  824. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  825. {
  826. player.sendMessage("You have adquired a L69A1 Sniper Rifle. Riddle your enemies. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  827. }
  828. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 3000);
  829. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  830. {
  831. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  832. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  833. }
  834. player.broadcastUserInfo();
  835. showShooterWeaponsMenu(player);
  836. }
  837. return "";
  838. }
  839. else if ("ShooterCammo".equalsIgnoreCase(event))
  840. {
  841. if (player.getDollarsShooterEvent() < 1400)
  842. {
  843. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  844. {
  845. player.sendMessage("No tienes Dollars Dogs suficientes");
  846. }
  847. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  848. {
  849. player.sendMessage("You haven't got enough Dollars Dogs");
  850. }
  851. }
  852. else
  853. {
  854. player.addSkill(SkillTable.getInstance().getInfo(40011, 1), false);
  855. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1400);
  856. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  857. {
  858. player.sendMessage("Has adquirido un Traje de Camuflaje. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  859. }
  860. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  861. {
  862. player.sendMessage("You have adquired a Camouflage Suit. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  863. }
  864. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1400);
  865. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  866. {
  867. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  868. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  869. }
  870. player.broadcastUserInfo();
  871. showShooterEtcMenu(player);
  872. }
  873. return "";
  874. }
  875. else if ("ShooterLents".equalsIgnoreCase(event))
  876. {
  877. if (player.getDollarsShooterEvent() < 900)
  878. {
  879. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  880. {
  881. player.sendMessage("No tienes Dollars Dogs suficientes");
  882. }
  883. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  884. {
  885. player.sendMessage("You haven't got enough Dollars Dogs");
  886. }
  887. }
  888. else
  889. {
  890. player.addSkill(SkillTable.getInstance().getInfo(40012, 1), false);
  891. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 900);
  892. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  893. {
  894. player.sendMessage("Has adquirido unas Gafas de Visión Nocturna. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  895. }
  896. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  897. {
  898. player.sendMessage("You have adquired a Night Vision Glasses. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  899. }
  900. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 900);
  901. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  902. {
  903. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  904. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  905. }
  906. player.broadcastUserInfo();
  907. showShooterEtcMenu(player);
  908. }
  909. return "";
  910. }
  911. else if ("ShooterBombStore".equalsIgnoreCase(event))
  912. {
  913. if (player.getDollarsShooterEvent() < 4000)
  914. {
  915. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  916. {
  917. player.sendMessage("No tienes Dollars Dogs suficientes");
  918. }
  919. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  920. {
  921. player.sendMessage("You haven't got enough Dollars Dogs");
  922. }
  923. }
  924. else
  925. {
  926. player.addSkill(SkillTable.getInstance().getInfo(40009, 1), false);
  927. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 4000);
  928. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  929. {
  930. player.sendMessage("Has adquirido una Bomba con Temporizador. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  931. }
  932. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  933. {
  934. player.sendMessage("You have adquired a Time Bomb. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  935. }
  936. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 4000);
  937. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  938. {
  939. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  940. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  941. }
  942. player.broadcastUserInfo();
  943. showShooterEtcMenu(player);
  944. }
  945. return "";
  946. }
  947. else if ("ShooterDeactivation".equalsIgnoreCase(event))
  948. {
  949. if (player.getDollarsShooterEvent() < 1500)
  950. {
  951. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  952. {
  953. player.sendMessage("No tienes Dollars Dogs suficientes");
  954. }
  955. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  956. {
  957. player.sendMessage("You haven't got enough Dollars Dogs");
  958. }
  959. }
  960. else
  961. {
  962. player.addSkill(SkillTable.getInstance().getInfo(40010, 1), false);
  963. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1500);
  964. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  965. {
  966. player.sendMessage("Has adquirido un Kit de Desactivación. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  967. }
  968. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  969. {
  970. player.sendMessage("You have adquired a Deactivation Kit. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  971. }
  972. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1500);
  973. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  974. {
  975. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  976. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  977. }
  978. player.broadcastUserInfo();
  979. showShooterEtcMenu(player);
  980. }
  981. return "";
  982. }
  983. else if ("ShooterGrenade".equalsIgnoreCase(event))
  984. {
  985. if (player.getDollarsShooterEvent() < 2000)
  986. {
  987. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  988. {
  989. player.sendMessage("No tienes Dollars Dogs suficientes");
  990. }
  991. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  992. {
  993. player.sendMessage("You haven't got enough Dollars Dogs");
  994. }
  995. }
  996. else
  997. {
  998. player.addSkill(SkillTable.getInstance().getInfo(40018, 1), false);
  999. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 2000);
  1000. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1001. {
  1002. player.sendMessage("Has adquirido unas Granadas. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1003. }
  1004. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1005. {
  1006. player.sendMessage("You have adquired some Grenades. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1007. }
  1008. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 2000);
  1009. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  1010. {
  1011. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  1012. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  1013. }
  1014. player.broadcastUserInfo();
  1015. showShooterEtcMenu(player);
  1016. }
  1017. return "";
  1018. }
  1019. else if ("ShooterKevlar".equalsIgnoreCase(event))
  1020. {
  1021. if (player.getDollarsShooterEvent() < 1000)
  1022. {
  1023. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1024. {
  1025. player.sendMessage("No tienes Dollars Dogs suficientes");
  1026. }
  1027. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1028. {
  1029. player.sendMessage("You haven't got enough Dollars Dogs");
  1030. }
  1031. }
  1032. else
  1033. {
  1034. SkillTable.getInstance().getInfo(40015, 1).getEffects(player, player);
  1035. player.setCurrentCp(player.getMaxCp());
  1036. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1000);
  1037. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1038. {
  1039. player.sendMessage("Has adquirido un Chaleco Kevlar. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1040. }
  1041. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1042. {
  1043. player.sendMessage("You have adquired a Kevlar Vest. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1044. }
  1045. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1000);
  1046. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  1047. {
  1048. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  1049. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  1050. }
  1051. player.broadcastUserInfo();
  1052. showShooterSupportMenu(player);
  1053. }
  1054. return "";
  1055. }
  1056. else if ("ShooterHerbs".equalsIgnoreCase(event))
  1057. {
  1058. if (player.getDollarsShooterEvent() < 1000)
  1059. {
  1060. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1061. {
  1062. player.sendMessage("No tienes Dollars Dogs suficientes");
  1063. }
  1064. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1065. {
  1066. player.sendMessage("You haven't got enough Dollars Dogs");
  1067. }
  1068. }
  1069. else
  1070. {
  1071. SkillTable.getInstance().getInfo(40016, 1).getEffects(player, player);
  1072. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1000);
  1073. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1074. {
  1075. player.sendMessage("Has adquirido Hierbas Medicinales. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1076. }
  1077. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1078. {
  1079. player.sendMessage("You have adquired Medicinal Herbs. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1080. }
  1081. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1000);
  1082. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  1083. {
  1084. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  1085. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  1086. }
  1087. player.broadcastUserInfo();
  1088. showShooterSupportMenu(player);
  1089. }
  1090. return "";
  1091. }
  1092. else if ("ShooterAmmo".equalsIgnoreCase(event))
  1093. {
  1094. if (player.getDollarsShooterEvent() < 1000)
  1095. {
  1096. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1097. {
  1098. player.sendMessage("No tienes Dollars Dogs suficientes");
  1099. }
  1100. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1101. {
  1102. player.sendMessage("You haven't got enough Dollars Dogs");
  1103. }
  1104. }
  1105. else
  1106. {
  1107. SkillTable.getInstance().getInfo(40017, 1).getEffects(player, player);
  1108. player.setCurrentMp(player.getMaxMp());
  1109. player.setDollarsShooterEvent(player.getDollarsShooterEvent() - 1000);
  1110. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1111. {
  1112. player.sendMessage("Has adquirido Expansión de Munición. Te quedan " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1113. }
  1114. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1115. {
  1116. player.sendMessage("You have adquired Ammo Expansion. You get " + player.getDollarsShooterEvent() + " Dollars Dogs.");
  1117. }
  1118. player.setMatrixStadisticsShooterEvent(6, player.getMatrixStadisticsShooterEvent(6) + 1000);
  1119. if (Points[6] < player.getMatrixStadisticsShooterEvent(6))
  1120. {
  1121. Points[6] = player.getMatrixStadisticsShooterEvent(6);
  1122. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 7, Points[6]);
  1123. }
  1124. player.broadcastUserInfo();
  1125. showShooterSupportMenu(player);
  1126. }
  1127. return "";
  1128. }
  1129. else if ("player_cancel_event_menu".equalsIgnoreCase(event))
  1130. {
  1131. for (int i = 0; i < 3; i++)
  1132. {
  1133. if (InscriptionNpc[i] != null)
  1134. {
  1135. InscriptionNpc[i].broadcastPacket(new MagicSkillUse(InscriptionNpc[i], InscriptionNpc[i], 2614, 1, 1, 1));
  1136. InscriptionNpc[i].decayMe();
  1137. InscriptionNpc[i] = null;
  1138. }
  1139. }
  1140. for (int i = 0; i < 5; i++)
  1141. {
  1142. if (RedTargetBomb[i] != null)
  1143. {
  1144. RedTargetBomb[i].decayMe();
  1145. RedTargetBomb[i] = null;
  1146. }
  1147. if (BlueTargetBomb[i] != null)
  1148. {
  1149. BlueTargetBomb[i].decayMe();
  1150. BlueTargetBomb[i] = null;
  1151. }
  1152. if (RedBomb[i] != null)
  1153. {
  1154. RedBomb[i].decayMe();
  1155. RedBomb[i] = null;
  1156. }
  1157. if (BlueBomb[i] != null)
  1158. {
  1159. BlueBomb[i].decayMe();
  1160. BlueBomb[i] = null;
  1161. }
  1162. }
  1163. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1164. {
  1165. Announcements.getInstance().announceToAll("Evento Shot The Dog ha sido cancelado.");
  1166. }
  1167. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1168. {
  1169. Announcements.getInstance().announceToAll("Shot The Dog Event has been canceled.");
  1170. }
  1171. cleanEffects(player);
  1172. startQuestTimer("player_cancel_event_menu_2", 5000, null, null);
  1173. return "";
  1174. }
  1175. else if ("player_cancel_event_menu_2".equalsIgnoreCase(event))
  1176. {
  1177. PlayerCancelShooterEvent(player);
  1178. CleanValuesPlayers(player);
  1179. CleanValuesEvent();
  1180. for (int i = 50000; i < 50005; i++)
  1181. {
  1182. InstanceManager.getInstance().destroyInstance(i);
  1183. }
  1184. if (Config.SHOOTER_EVENT_AUTOMATIC)
  1185. {
  1186. scheduleShooterEventStart();
  1187. }
  1188. return "";
  1189. }
  1190. else if ("event_calculate_instances".equalsIgnoreCase(event))
  1191. {
  1192. _log.info("[Shot The Dog Event Engine]: Processing Instances...");
  1193. CalculateInstancesEvent();
  1194. return "";
  1195. }
  1196. else if ("event_create_instances".equalsIgnoreCase(event))
  1197. {
  1198. _log.info("[Shot The Dog Event Engine]: Creating Instances...");
  1199. createInstance();
  1200. return "";
  1201. }
  1202. else if ("event_calculate_teams".equalsIgnoreCase(event))
  1203. {
  1204. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  1205. _log.info("[Shot The Dog Event Engine]: Processing Teams...");
  1206. CalculateTeamsEvent(player);
  1207. startQuestTimer("event_ready_period_teleport", 2000, null, null);
  1208. startQuestTimer("event_open_door", 1000, null, null);
  1209. instanceId = 50000;
  1210. if ((RedTargetBomb[0] == null) && (BlueTargetBomb[0] == null))
  1211. {
  1212. RedTargetBomb[0] = spawn(RED_TARGET, new Location(-12350, 273935, -15301, 63477, instanceId));
  1213. BlueTargetBomb[0] = spawn(BLUE_TARGET, new Location(-12670, 273935, -15301, 32314, instanceId));
  1214. }
  1215. for (int k = 0; k < 4; k++)
  1216. {
  1217. if (LaszloEventEngine.isShooterEventInstancesSlot(k))
  1218. {
  1219. if ((RedTargetBomb[k + 1] == null) && (BlueTargetBomb[k + 1] == null))
  1220. {
  1221. instanceId += 1;
  1222. RedTargetBomb[k + 1] = spawn(RED_TARGET, new Location(-12350, 273935, -15301, 63477, instanceId));
  1223. BlueTargetBomb[k + 1] = spawn(BLUE_TARGET, new Location(-12670, 273935, -15301, 32314, instanceId));
  1224. }
  1225. }
  1226. }
  1227. return "";
  1228. }
  1229. else if ("event_open_door".equalsIgnoreCase(event))
  1230. {
  1231. startQuestTimer("event_open_door", 20000, null, null);
  1232. for (int i = 0; i < 2; i++)
  1233. {
  1234. for (int j = 50000; j < 50005; j++)
  1235. {
  1236. final L2DoorInstance door = getDoor(DOOR[i], j);
  1237. if (door != null)
  1238. {
  1239. door.setTargetable(true);
  1240. door.openMe();
  1241. }
  1242. }
  1243. }
  1244. return "";
  1245. }
  1246. else if ("event_ready_period_teleport".equalsIgnoreCase(event))
  1247. {
  1248. LaszloEventEngine.setShooterReadTime(1, (System.currentTimeMillis() + Config.SHOOTER_EVENT_PREPARATION_TIME));
  1249. _log.info("[Shot The Dog Event Engine]: Teleporting players...");
  1250. TeleportInTeamsShooterEvent(player);
  1251. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1252. {
  1253. Announcements.getInstance().announceToAll("El Evento Shot The Dog ha dado comienzo.");
  1254. }
  1255. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1256. {
  1257. Announcements.getInstance().announceToAll("Shot The Dog Event started.");
  1258. }
  1259. ExShowScreenMessage MsgStartedSpa = new ExShowScreenMessage("¡Empieza el Evento! \nTiempo de preparación de " + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " segundo(s). ", 6000);
  1260. ExShowScreenMessage MsgStartedEng = new ExShowScreenMessage("The Event starts! \nPreparation time: " + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " second(s).", 6000);
  1261. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1262. {
  1263. if (ply != null)
  1264. {
  1265. for (int i = 0; i < 5; i++)
  1266. {
  1267. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1268. {
  1269. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1270. {
  1271. ply.sendPacket(MsgStartedSpa);
  1272. }
  1273. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1274. {
  1275. ply.sendPacket(MsgStartedEng);
  1276. }
  1277. }
  1278. }
  1279. }
  1280. }
  1281. startQuestTimer("event_ready_period_ready", 4000, null, null);
  1282. return "";
  1283. }
  1284. else if ("event_ready_period_ready".equalsIgnoreCase(event))
  1285. {
  1286. LaszloEventEngine.setShooterReadTime(1, (System.currentTimeMillis() + Config.SHOOTER_EVENT_PREPARATION_TIME));
  1287. cleanEffects(player);
  1288. playerStop(player);
  1289. _log.info("[Shot The Dog Event Engine]: Transforming players...");
  1290. PreparationPeriodShooterEvent(player);
  1291. startQuestTimer("event_ready_period_fight", Config.SHOOTER_EVENT_PREPARATION_TIME, null, null);
  1292. return "";
  1293. }
  1294. else if ("event_ready_period_fight".equalsIgnoreCase(event))
  1295. {
  1296. LaszloEventEngine.setShooterReadTime(2, (System.currentTimeMillis() + Config.SHOOTER_EVENT_PROCESS_TIME));
  1297. _log.info("[Shot The Dog Event Engine]: Fight Period started.");
  1298. ExShowScreenMessage MsgFightNowSpa = new ExShowScreenMessage("¡Al turrón! \nDuración del Evento: " + (Config.SHOOTER_EVENT_PROCESS_TIME / 60000) + " minuto(s).", 6000);
  1299. ExShowScreenMessage MsgFightNowEng = new ExShowScreenMessage("To Victory! \nDuration of the Event: " + (Config.SHOOTER_EVENT_PROCESS_TIME / 60000) + " minut(s).", 6000);
  1300. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1301. {
  1302. if (ply != null)
  1303. {
  1304. for (int i = 0; i < 5; i++)
  1305. {
  1306. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1307. {
  1308. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1309. {
  1310. ply.sendPacket(MsgFightNowSpa);
  1311. }
  1312. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1313. {
  1314. ply.sendPacket(MsgFightNowEng);
  1315. }
  1316. }
  1317. }
  1318. }
  1319. }
  1320. GoFightShooterEvent(player);
  1321. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  1322. startQuestTimer("event_calculate_winner", Config.SHOOTER_EVENT_PROCESS_TIME, null, null);
  1323. startQuestTimer("event_almost_ended", EndingAlmost, null, null);
  1324. return "";
  1325. }
  1326. else if ("event_almost_ended".equalsIgnoreCase(event))
  1327. {
  1328. ExShowScreenMessage MsgAlmostEndSpa = new ExShowScreenMessage("¡Queda poco! \nTiempo restante de Evento: " + Math.round((Config.SHOOTER_EVENT_PROCESS_TIME * 0.1) / 1000) + " segundo(s).", 6000);
  1329. ExShowScreenMessage MsgAlmostEndEng = new ExShowScreenMessage("It almost ends! \nRemaining time: " + Math.round((Config.SHOOTER_EVENT_PROCESS_TIME * 0.1) / 1000) + " second(s).", 6000);
  1330. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1331. {
  1332. if (ply != null)
  1333. {
  1334. for (int i = 0; i < 5; i++)
  1335. {
  1336. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1337. {
  1338. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1339. {
  1340. ply.sendPacket(MsgAlmostEndSpa);
  1341. }
  1342. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1343. {
  1344. ply.sendPacket(MsgAlmostEndEng);
  1345. }
  1346. }
  1347. }
  1348. }
  1349. }
  1350. return "";
  1351. }
  1352. else if ("event_calculate_winner".equalsIgnoreCase(event))
  1353. {
  1354. _log.info("[Shot The Dog Event Engine]: Event Ended. Calculating winners...");
  1355. ExShowScreenMessage MsgEndSpa = new ExShowScreenMessage("¡Evento finalizado!", 6000);
  1356. ExShowScreenMessage MsgEndEng = new ExShowScreenMessage("Event ended!", 6000);
  1357. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1358. {
  1359. if (ply != null)
  1360. {
  1361. for (int i = 0; i < 5; i++)
  1362. {
  1363. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1364. {
  1365. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1366. {
  1367. ply.sendPacket(MsgEndSpa);
  1368. }
  1369. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1370. {
  1371. ply.sendPacket(MsgEndEng);
  1372. }
  1373. }
  1374. }
  1375. }
  1376. }
  1377. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1378. {
  1379. Announcements.getInstance().announceToAll("¡Evento Shot The Dog finalizado! \nDurante los próximos " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) se podrán visualizar las puntuaciones del Evento. ¡Gracias por participar!");
  1380. }
  1381. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1382. {
  1383. Announcements.getInstance().announceToAll("Shot The Dog Event has ended! \nDurint the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) it will be possible view the score of the Event. Thanks for playing!");
  1384. }
  1385. CalculateWinnerShooterEvent();
  1386. EndShooterEvent(player);
  1387. cleanEffects(player);
  1388. playerStop(player);
  1389. startQuestTimer("event_reward_social", 1000, null, null);
  1390. startQuestTimer("event_teleport_out", 5000, null, null);
  1391. for (int i = 0; i < 5; i++)
  1392. {
  1393. if (RedTargetBomb[i] != null)
  1394. {
  1395. RedTargetBomb[i].decayMe();
  1396. RedTargetBomb[i] = null;
  1397. }
  1398. if (BlueTargetBomb[i] != null)
  1399. {
  1400. BlueTargetBomb[i].decayMe();
  1401. BlueTargetBomb[i] = null;
  1402. }
  1403. if (RedBomb[i] != null)
  1404. {
  1405. RedBomb[i].decayMe();
  1406. RedBomb[i] = null;
  1407. }
  1408. if (BlueBomb[i] != null)
  1409. {
  1410. BlueBomb[i].decayMe();
  1411. BlueBomb[i] = null;
  1412. }
  1413. }
  1414. return "";
  1415. }
  1416. else if ("event_reward_social".equalsIgnoreCase(event))
  1417. {
  1418. for (int i = 0; i < 5; i++)
  1419. {
  1420. if (!Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  1421. {
  1422. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  1423. SocialAndRewardTeamsShooterEvent(player);
  1424. break;
  1425. }
  1426. LaszloEventEngine.setDistributingHelperShooterEvent(i);
  1427. SocialAndRewardTeamsShooterEvent(player);
  1428. }
  1429. return "";
  1430. }
  1431. else if ("event_teleport_out".equalsIgnoreCase(event))
  1432. {
  1433. LaszloEventEngine.setShooterReadTime(3, (System.currentTimeMillis() + Config.SHOOTER_EVENT_STADISTICS_TIME));
  1434. _log.info("[Shot The Dog Event Engine]: Teleporting out players...");
  1435. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  1436. for (int i = 0; i < 5; i++)
  1437. {
  1438. if (!Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  1439. {
  1440. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  1441. TeleportOutTeamsShooterEvent(player);
  1442. break;
  1443. }
  1444. LaszloEventEngine.setDistributingHelperShooterEvent(i);
  1445. TeleportOutTeamsShooterEvent(player);
  1446. }
  1447. startQuestTimer("event_final_end", Config.SHOOTER_EVENT_STADISTICS_TIME, null, null);
  1448. return "";
  1449. }
  1450. else if ("event_final_end".equalsIgnoreCase(event))
  1451. {
  1452. _log.info("[Shot The Dog Event Engine]: Score View closed.");
  1453. CleanValuesPlayers(player);
  1454. CleanValuesEvent();
  1455. for (int i = 0; i < 3; i++)
  1456. {
  1457. if (InscriptionNpc[i] != null)
  1458. {
  1459. InscriptionNpc[i].broadcastPacket(new MagicSkillUse(InscriptionNpc[i], InscriptionNpc[i], 2614, 1, 1, 1));
  1460. InscriptionNpc[i].decayMe();
  1461. InscriptionNpc[i] = null;
  1462. }
  1463. }
  1464. for (int i = 50000; i < 50005; i++)
  1465. {
  1466. InstanceManager.getInstance().destroyInstance(i);
  1467. }
  1468. if (Config.SHOOTER_EVENT_AUTOMATIC)
  1469. {
  1470. scheduleShooterEventStart();
  1471. }
  1472. }
  1473. else if (event.equals("victim_doing_res"))
  1474. {
  1475. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  1476. {
  1477. teleportPlayer(player, RED_ENTRY_POINT, (player.getInstanceHelperShooterEvent() + 50000));
  1478. }
  1479. else if (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  1480. {
  1481. teleportPlayer(player, BLUE_ENTRY_POINT, (player.getInstanceHelperShooterEvent() + 50000));
  1482. }
  1483. player.doRevive();
  1484. SkillTable.getInstance().getInfo(40021, 1).getEffects(player, player);
  1485. player.setCurrentCp(player.getMaxCp());
  1486. player.setCurrentHp(player.getMaxHp());
  1487. player.setCurrentMp(player.getMaxMp());
  1488.  
  1489. player.broadcastStatusUpdate();
  1490. player.broadcastUserInfo();
  1491. return "";
  1492. }
  1493. else if (event.equals("victim_doing_heal"))
  1494. {
  1495. player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  1496. player.setCurrentCp(player.getMaxCp());
  1497. return "";
  1498. }
  1499. else if (event.equals("red_bomb_explode_start"))
  1500. {
  1501. for (int i = 0; i < 5; i++)
  1502. {
  1503. if (BombHelper1[i] = true && (RedBomb[i] != null) && (BlueTargetBomb[i] != null))
  1504. {
  1505. CreatureSay MsgAlmostBombSpa = new CreatureSay(InscriptionNpc[0].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡Demasiado tarde! \n¡La bomba está explotando, sálvese quien pueda!");
  1506. CreatureSay MsgAlmostBombEng = new CreatureSay(InscriptionNpc[0].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nToo late! \nThe bomb is exploding, save us!");
  1507. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1508. {
  1509. if (ply != null)
  1510. {
  1511. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1512. {
  1513. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1514. {
  1515. ply.sendPacket(MsgAlmostBombSpa);
  1516. }
  1517. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1518. {
  1519. ply.sendPacket(MsgAlmostBombEng);
  1520. }
  1521. }
  1522. }
  1523. }
  1524. RedBomb[i].setTarget(BlueTargetBomb[i]);
  1525. RedBomb[i].setHeading(Util.calculateHeadingFrom(RedBomb[i], BlueTargetBomb[i]));
  1526. LaszloEventEngine.setBlueStoreDownShooterEvent(i, true);
  1527. LaszloEventEngine.setRedBombPlantedShooterEvent(i, false);
  1528. RedBomb[i].broadcastPacket(new MagicSkillUse(RedBomb[i], RedBomb[i], 4139, 1, 5000, 1));
  1529. BombHelper1[i] = false;
  1530. BombHelper2[i] = true;
  1531. }
  1532. }
  1533. }
  1534. else if (event.equals("blue_bomb_explode_start"))
  1535. {
  1536. for (int i = 0; i < 5; i++)
  1537. {
  1538. if (BombHelper1[i] = true && (BlueBomb[i] != null) && (RedTargetBomb[i] != null))
  1539. {
  1540. CreatureSay MsgAlmostBombSpa = new CreatureSay(InscriptionNpc[0].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡Demasiado tarde! \n¡La bomba está explotando, sálvese quien pueda!");
  1541. CreatureSay MsgAlmostBombEng = new CreatureSay(InscriptionNpc[0].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nToo late! \nThe bomb is exploding, save us!");
  1542. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1543. {
  1544. if (ply != null)
  1545. {
  1546. if (ply.isRedPartakerShooterEvent(i) || ply.isBluePartakerShooterEvent(i))
  1547. {
  1548. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1549. {
  1550. ply.sendPacket(MsgAlmostBombSpa);
  1551. }
  1552. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1553. {
  1554. ply.sendPacket(MsgAlmostBombEng);
  1555. }
  1556. }
  1557. }
  1558. }
  1559. BlueBomb[i].setTarget(RedTargetBomb[i]);
  1560. BlueBomb[i].setHeading(Util.calculateHeadingFrom(BlueBomb[i], RedTargetBomb[i]));
  1561. LaszloEventEngine.setRedStoreDownShooterEvent(i, true);
  1562. LaszloEventEngine.setBlueBombPlantedShooterEvent(i, false);
  1563. BlueBomb[i].broadcastPacket(new MagicSkillUse(BlueBomb[i], BlueBomb[i], 4139, 1, 5000, 1));
  1564. BombHelper1[i] = false;
  1565. BombHelper2[i] = true;
  1566. }
  1567. }
  1568. }
  1569. else if ("red_bomb_explode".equalsIgnoreCase(event))
  1570. {
  1571. for (int i = 0; i < 5; i++)
  1572. {
  1573. if (BombHelper2[i] = true && (RedBomb[i] != null) && (BlueTargetBomb[i] != null))
  1574. {
  1575. BlueTargetBomb[i].broadcastPacket(new MagicSkillUse(BlueTargetBomb[i], BlueTargetBomb[i], 6326, 1, 1, 1));
  1576. LaszloEventEngine.setShooterRedPoints(i, LaszloEventEngine.getShooterRedPoints(i) + 10);
  1577. CreatureSay bombexplodeSpa = new CreatureSay(RedBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡La Bomba del \nEquipo Rojo ha explotado y el Equipo Azul \nha perdido su suministro de armas \ndurante 60 segundos!");
  1578. CreatureSay bombexplodeEng = new CreatureSay(RedBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nThe Bomb of the \nRed Team has exploded and the Blue Team \nhas lost their weapon's supply \nduring 60 seconds!");
  1579. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1580. {
  1581. if (ply != null)
  1582. {
  1583. if (ply.getInstanceId() == (i + 50000))
  1584. {
  1585. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1586. {
  1587. ply.sendPacket(bombexplodeSpa);
  1588. }
  1589. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1590. {
  1591. ply.sendPacket(bombexplodeEng);
  1592. }
  1593. }
  1594. }
  1595. }
  1596. RedBomb[i].decayMe();
  1597. BlueTargetBomb[i].decayMe();
  1598. RedBomb[i] = null;
  1599. BlueTargetBomb[i] = null;
  1600. BombHelper2[i] = false;
  1601. RespawnHelper[i] = true;
  1602. }
  1603. }
  1604. return "";
  1605. }
  1606. else if ("blue_bomb_explode".equalsIgnoreCase(event))
  1607. {
  1608. for (int i = 0; i < 5; i++)
  1609. {
  1610. if (BombHelper2[i] = true && (BlueBomb[i] != null) && (RedTargetBomb[i] != null))
  1611. {
  1612. RedTargetBomb[i].broadcastPacket(new MagicSkillUse(RedTargetBomb[i], RedTargetBomb[i], 6326, 1, 1, 1));
  1613. LaszloEventEngine.setShooterBluePoints(i, LaszloEventEngine.getShooterBluePoints(i) + 10);
  1614. CreatureSay bombexplodeSpa = new CreatureSay(BlueBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡La Bomba del \nEquipo Azul ha explotado y el Equipo Rojo \nha perdido su suministro de armas \ndurante 60 segundos!");
  1615. CreatureSay bombexplodeEng = new CreatureSay(BlueBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nThe Bomb of the \nBlue Team has exploded and the Red Team \nhas lost their weapon's supply \nduring 60 seconds!");
  1616. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1617. {
  1618. if (ply != null)
  1619. {
  1620. if (ply.getInstanceId() == (i + 50000))
  1621. {
  1622. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1623. {
  1624. ply.sendPacket(bombexplodeSpa);
  1625. }
  1626. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1627. {
  1628. ply.sendPacket(bombexplodeEng);
  1629. }
  1630. }
  1631. }
  1632. }
  1633. BlueBomb[i].decayMe();
  1634. RedTargetBomb[i].decayMe();
  1635. BlueBomb[i] = null;
  1636. RedTargetBomb[i] = null;
  1637. BombHelper2[i] = false;
  1638. RespawnHelper[i] = true;
  1639. }
  1640. }
  1641. return "";
  1642. }
  1643. else if (event.equals("blue_target_respawn"))
  1644. {
  1645. for (int i = 0; i < 5; i++)
  1646. {
  1647. if (RespawnHelper[i] = true && (BlueTargetBomb[i] == null))
  1648. {
  1649. BlueTargetBomb[i] = spawn(BLUE_TARGET, new Location(-12670, 273935, -15301, 32314, (i + 50000)));
  1650. LaszloEventEngine.setBlueStoreDownShooterEvent(i, false);
  1651. CreatureSay resettargetSpa = new CreatureSay(BlueTargetBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nEl Centro de \nMando del Equipo Azul \nha sido restaurado");
  1652. CreatureSay resettargetEng = new CreatureSay(BlueTargetBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nThe Blue Team's \nConning Tower \nhas been restored");
  1653. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1654. {
  1655. if (ply != null)
  1656. {
  1657. if (ply.getInstanceId() == (i + 50000))
  1658. {
  1659. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1660. {
  1661. ply.sendPacket(resettargetSpa);
  1662. }
  1663. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1664. {
  1665. ply.sendPacket(resettargetEng);
  1666. }
  1667. }
  1668. }
  1669. }
  1670. RespawnHelper[i] = false;
  1671. }
  1672. }
  1673. return "";
  1674. }
  1675. else if (event.equals("red_target_respawn"))
  1676. {
  1677. for (int i = 0; i < 5; i++)
  1678. {
  1679. if (RespawnHelper[i] = true && (RedTargetBomb[i] == null))
  1680. {
  1681. RedTargetBomb[i] = spawn(RED_TARGET, new Location(-12350, 273935, -15301, 63477, (i + 50000)));
  1682. LaszloEventEngine.setRedStoreDownShooterEvent(i, false);
  1683. CreatureSay resettargetSpa = new CreatureSay(RedTargetBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nEl Centro de \nMando del Equipo Rojo \nha sido restaurado");
  1684. CreatureSay resettargetEng = new CreatureSay(RedTargetBomb[i].getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\nThe Red Team's \nConning Tower \nhas been restored");
  1685. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  1686. {
  1687. if (ply != null)
  1688. {
  1689. if (ply.getInstanceId() == (i + 50000))
  1690. {
  1691. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1692. {
  1693. ply.sendPacket(resettargetSpa);
  1694. }
  1695. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1696. {
  1697. ply.sendPacket(resettargetEng);
  1698. }
  1699. }
  1700. }
  1701. }
  1702. RespawnHelper[i] = false;
  1703. }
  1704. }
  1705. return "";
  1706. }
  1707. }
  1708. return event;
  1709. }
  1710.  
  1711. @Override
  1712. public final String onFirstTalk(L2Npc npc, L2PcInstance player)
  1713. {
  1714. if (!Config.SHOOTER_EVENT_ENABLE)
  1715. {
  1716. _log.log(Level.WARNING, "ShooterEventEngine[ERROR]: exception: The Event was disabled during the perfomance.");
  1717. }
  1718. else
  1719. {
  1720. if (npc.getNpcId() == INSCRIPTION_NPC)
  1721. {
  1722. final StringBuilder HtmlInscription = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  1723. if (!LaszloEventEngine.isInPeriodShooterEvent())
  1724. {
  1725. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1726. {
  1727. StringUtil.append(HtmlInscription, "<br>Actualmente el Evento esta deshabilitado<br>");
  1728. }
  1729. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1730. {
  1731. StringUtil.append(HtmlInscription, "<br>Actually the Event is disabled<br>");
  1732. }
  1733. }
  1734. else
  1735. {
  1736. if (LaszloEventEngine.getShooterEventState() == 1)
  1737. {
  1738. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1739. {
  1740. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Inscripcion:<br1>" + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table><br>");
  1741. if (player.isEnrolledShooterEvent())
  1742. {
  1743. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Cancelar Inscripcion\" action=\"bypass -h Quest STD ShooterCancelInscription\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table><br>");
  1744. }
  1745. else
  1746. {
  1747. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Inscribirse\" action=\"bypass -h Quest STD ShooterInscription\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr></table><br>");
  1748. }
  1749. }
  1750. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1751. {
  1752. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Inscription remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(0) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table><br>");
  1753. if (player.isEnrolledShooterEvent())
  1754. {
  1755. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Cancel Inscription\" action=\"bypass -h Quest STD ShooterCancelInscription\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Back\"></td></tr></table><br>");
  1756. }
  1757. else
  1758. {
  1759. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Inscribe me\" action=\"bypass -h Quest STD ShooterInscription\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_HeroConfirm\"></td></tr></table><br>");
  1760. }
  1761. }
  1762. }
  1763. else if (LaszloEventEngine.getShooterEventState() == 2)
  1764. {
  1765. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1766. {
  1767. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>La inscripción al evento ha acabado.<br>Espera unos segundos y podrás visualizarlo.</td></tr></table><br>");
  1768. }
  1769. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1770. {
  1771. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>The inscription period has ended.<br>Wait few seconds and you could view it.</td></tr></table><br>");
  1772. }
  1773. }
  1774. else if (LaszloEventEngine.getShooterEventState() == 3)
  1775. {
  1776. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1777. {
  1778. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table><br>");
  1779. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterObservation\" value=\"Observar Evento\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Watch_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Watch\"></td></tr></table><br>");
  1780. }
  1781. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1782. {
  1783. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table><br>");
  1784. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterObservation\" value=\"View the Event\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Watch_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Watch\"></td></tr></table><br>");
  1785. }
  1786. }
  1787. else if (LaszloEventEngine.getShooterEventState() == 4)
  1788. {
  1789. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1790. {
  1791. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterPuntuaciones\" value=\"Ver Puntuaciones\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Reward_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Reward\"></td></tr></table><br>");
  1792. }
  1793. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1794. {
  1795. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterPuntuaciones\" value=\"View Scores\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Reward_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Reward\"></td></tr></table><br>");
  1796. }
  1797. }
  1798. else
  1799. {
  1800. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1801. {
  1802. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Actualmente el Evento está deshabilitado.<br></td></tr></table>");
  1803. }
  1804. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1805. {
  1806. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Actually the Event is disabled.<br></td></tr></table>");
  1807. }
  1808.  
  1809. }
  1810. }
  1811. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1812. {
  1813. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Tutorial\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table><br>");
  1814. if (Config.SHOOTER_EVENT_FEATURE_VIEW)
  1815. {
  1816. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Características\" action=\"bypass -h Quest STD ShooterFeatures\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table><br>");
  1817. }
  1818. if ((LaszloEventEngine.getShooterEventState() != 0) && (LaszloEventEngine.getShooterEventState() != 4))
  1819. {
  1820. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Jugadores inscritos actualmente: " + LaszloEventEngine.getShooterRegistratedNum() + "<br></td></tr></table><br>");
  1821. }
  1822. }
  1823. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1824. {
  1825. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Tutorial\" action=\"bypass -h Quest STD ShooterTutorial\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table><br>");
  1826. if (Config.SHOOTER_EVENT_FEATURE_VIEW)
  1827. {
  1828. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Features\" action=\"bypass -h Quest STD ShooterFeatures\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table><br>");
  1829. }
  1830. if ((LaszloEventEngine.getShooterEventState() != 0) && (LaszloEventEngine.getShooterEventState() != 4))
  1831. {
  1832. StringUtil.append(HtmlInscription, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Players registred actually: " + LaszloEventEngine.getShooterRegistratedNum() + "<br></td></tr></table><br>");
  1833. }
  1834. }
  1835. StringUtil.append(HtmlInscription, "</td></tr></table></body></html>");
  1836. return HtmlInscription.toString();
  1837. }
  1838. else if (npc.getNpcId() == RED_SMUG)
  1839. {
  1840. final StringBuilder HtmlRedStore = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><br1><font color=\"LEVEL\">Shot The Dog</font><br>");
  1841. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 3))
  1842. {
  1843. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  1844. {
  1845. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1846. {
  1847. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table>");
  1848. }
  1849. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1850. {
  1851. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table>");
  1852. }
  1853. if (LaszloEventEngine.isRedStoreDownShooterEvent(player.getInstanceHelperShooterEvent()))
  1854. {
  1855. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1856. {
  1857. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>El Equipo Enemigo ha conseguido<br1> volar por los aires nuestro<br1> Centro de Mando y el suministro de armas<br1> está cortado. Tendrás que esperar a que<br1> restablezcamos el suministo.</td></tr></table><br><br><br>");
  1858. }
  1859. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1860. {
  1861. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>The enemy has succeeded<br1> in blowing up our <br1> Conning Tower and the weapon's supply<br1> is cut. You must wait until que<br1> we restore the supply.</td></tr></table><br><br><br>");
  1862. }
  1863. }
  1864. else
  1865. {
  1866. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1867. {
  1868. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Bienvenido " + player.getName() + "!<br1> Actualmente tienes " + player.getDollarsShooterEvent() + " Dollars Dog.<br1> ¡Inviértelos aquí para aplastar<br1> a tus enemigos!<br>¡Arriba el Equipo Rojo!</td></tr></table><br1>");
  1869. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterArmas\" value=\"Quiero Armas\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br1>");
  1870. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterAccesorios\" value=\"Quiero Accesorios\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br1>");
  1871. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD Shooter Apoyo\" value=\"Quiero Mejoras de Apoyo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br1>");
  1872. }
  1873. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1874. {
  1875. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Welcome " + player.getName() + "!<br1> Actually you have got " + player.getDollarsShooterEvent() + " Dollars Dog.<br1> Invest it here to smash<br1> your foes!<br>Hail the Red Team!</td></tr></table><br1>");
  1876. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterArmas\" value=\"I wanna Weapons\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br1>");
  1877. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterAccesorios\" value=\"I wanna Accessories\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br1>");
  1878. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD Shooter Apoyo\" value=\"I wanna Support\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br1>");
  1879. }
  1880. }
  1881. }
  1882. else
  1883. {
  1884. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1885. {
  1886. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Intruso!<br1>¡No te voy a vender nada, <br1> así que largo de aquí!<br1></td></tr></table></td></tr></table></body></html>");
  1887. }
  1888. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1889. {
  1890. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Intruder!<br1>I ain't gonna sell you nothing, <br1> so get out from here!<br1></td></tr></table></td></tr></table></body></html>");
  1891. }
  1892. return HtmlRedStore.toString();
  1893. }
  1894. }
  1895. else
  1896. {
  1897. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1898. {
  1899. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Lo sentimos.<br1>La tienda está cerrada.</td></tr></table></td></tr></table></body></html>");
  1900. }
  1901. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1902. {
  1903. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Sorry.<br1>The store are closed.</td></tr></table></td></tr></table></body></html>");
  1904. }
  1905. return HtmlRedStore.toString();
  1906. }
  1907. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1908. {
  1909. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Estadísticas actuales\" action=\"bypass -h Quest STD ShooterPuntuaciones\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table>");
  1910. }
  1911. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1912. {
  1913. StringUtil.append(HtmlRedStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Actual Scores\" action=\"bypass -h Quest STD ShooterPuntuaciones\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table>");
  1914. }
  1915. StringUtil.append(HtmlRedStore, "</td></tr></table></body></html>");
  1916. return HtmlRedStore.toString();
  1917. }
  1918. else if (npc.getNpcId() == BLUE_SMUG)
  1919. {
  1920. final StringBuilder HtmlBlueStore = StringUtil.startAppend(360, "<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><br>Bienvenido al Evento<br1><font color=\"LEVEL\">Shot The Dog</font><br>");
  1921. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 3))
  1922. {
  1923. if (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  1924. {
  1925. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1926. {
  1927. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table>");
  1928. }
  1929. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1930. {
  1931. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table>");
  1932. }
  1933. if (LaszloEventEngine.isBlueStoreDownShooterEvent(player.getInstanceHelperShooterEvent()))
  1934. {
  1935. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1936. {
  1937. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>El Equipo Enemigo ha conseguido<br1> volar por los aires nuestro<br1> Centro de Mando y el suministro<br1> de armas está cortado.<br1> Tendrás que esperar hasta a que<br1> restablezcamos el suministo.</td></tr></table><br><br><br>");
  1938. }
  1939. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1940. {
  1941. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>The enemy has succeeded<br1> in blowing up our <br1> Conning Tower and the weapon's supply<br1> is cut. You must wait until <br1> we restore the supply.</td></tr></table><br><br><br>");
  1942. }
  1943. }
  1944. else
  1945. {
  1946. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1947. {
  1948. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Bienvenido " + player.getName() + "!<br1> Actualmente tienes " + player.getDollarsShooterEvent() + " Dollars Dog.<br1> ¡Inviértelos aquí para aplastar<br1> a tus enemigos!<br>¡Arriba el Equipo Azul!</td></tr></table><br1>");
  1949. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterArmas\" value=\"Quiero Armas\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br1>");
  1950. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterAccesorios\" value=\"Quiero Accesorios\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br1>");
  1951. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD Shooter Apoyo\" value=\"Quiero Mejoras de Apoyo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br1>");
  1952. }
  1953. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1954. {
  1955. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Welcome " + player.getName() + "!<br1> Actually you have got " + player.getDollarsShooterEvent() + " Dollars Dog.<br1> Invest it here to smash<br1> your foes!<br>Hail the Blue Team!</td></tr></table><br1>");
  1956. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterArmas\" value=\"I wanna Weapons\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Fight1None_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br1>");
  1957. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD ShooterAccesorios\" value=\"I wanna Accessories\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br1>");
  1958. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button action=\"bypass -h Quest STD Shooter Apoyo\" value=\"I wanna Support\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br1>");
  1959. }
  1960. }
  1961. }
  1962. else
  1963. {
  1964. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1965. {
  1966. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Intruso!<br1>¡No te voy a vender nada, <br1> así que largo de aquí!<br1></td></tr></table></td></tr></table></body></html>");
  1967. }
  1968. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1969. {
  1970. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Intruder!<br1>I ain't gonna sell you nothing, <br1> so get out from here!<br1></td></tr></table></td></tr></table></body></html>");
  1971. }
  1972. return HtmlBlueStore.toString();
  1973. }
  1974. }
  1975. else
  1976. {
  1977. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1978. {
  1979. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Lo sentimos.<br1>La tienda está cerrada.</td></tr></table></td></tr></table></body></html>");
  1980. }
  1981. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1982. {
  1983. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Sorry.<br1>The store are closed.</td></tr></table></td></tr></table></body></html>");
  1984. }
  1985. return HtmlBlueStore.toString();
  1986. }
  1987. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  1988. {
  1989. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Estadísticas actuales\" action=\"bypass -h Quest STD ShooterPuntuaciones\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table>");
  1990. }
  1991. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  1992. {
  1993. StringUtil.append(HtmlBlueStore, "<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><button value=\"Actual Scores\" action=\"bypass -h Quest STD ShooterPuntuaciones\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Info_Down\" fore=\"L2UI_CT1.OlympiadWnd_DF_Info\"></td></tr></table>");
  1994. }
  1995. StringUtil.append(HtmlBlueStore, "</td></tr></table></body></html>");
  1996. return HtmlBlueStore.toString();
  1997. }
  1998. }
  1999. return "";
  2000. }
  2001.  
  2002. @Override
  2003. public String onDeath(L2Character killer, L2Character victim, QuestState qs)
  2004. {
  2005. if (victim instanceof L2PcInstance)
  2006. {
  2007. if (killer instanceof L2PcInstance)
  2008. {
  2009. L2PcInstance actingPlayer = killer.getActingPlayer();
  2010. L2PcInstance victimPlayer = victim.getActingPlayer();
  2011. if ((actingPlayer != null) && (qs.getPlayer() != null) && (LaszloEventEngine.isInPeriodShooterEvent()) && (LaszloEventEngine.getShooterEventState() == 3))
  2012. {
  2013. if ((actingPlayer.isInsideZone(ZoneId.ZONE_EVENT_LASZLO) && victimPlayer.isInsideZone(ZoneId.ZONE_EVENT_LASZLO)))
  2014. {
  2015. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  2016. if (ShooterQuest != null)
  2017. {
  2018. if (actingPlayer.isRedPartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()) && victimPlayer.isBluePartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()))
  2019. {
  2020. LaszloEventEngine.setShooterRedPoints(actingPlayer.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterRedPoints(actingPlayer.getInstanceHelperShooterEvent()) + 1);
  2021. victimPlayer.setRachaShooterEvent(0);
  2022. actingPlayer.setRachaShooterEvent(actingPlayer.getRachaShooterEvent() + 1);
  2023. actingPlayer.setMatrixStadisticsShooterEvent(0, actingPlayer.getMatrixStadisticsShooterEvent(0) + 1);
  2024. Points[0] = actingPlayer.getMatrixStadisticsShooterEvent(0);
  2025. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 1, Points[0]);
  2026. victimPlayer.setMatrixStadisticsShooterEvent(1, victimPlayer.getMatrixStadisticsShooterEvent(1) + 1);
  2027. Points[1] = victimPlayer.getMatrixStadisticsShooterEvent(1);
  2028. LaszloEventEngine.setCalculateStadisticsPoints(victimPlayer.getInstanceHelperShooterEvent(), victimPlayer.getMatrixLocShooterEvent(), 2, Points[1]);
  2029. if ((actingPlayer.getRachaShooterEvent() > 1) && (actingPlayer.getRachaShooterEvent() < 21))
  2030. {
  2031. actingPlayer.broadcastPacket(new MagicSkillUse(actingPlayer, actingPlayer, (23096 + actingPlayer.getRachaShooterEvent()), 1, 1, 1));
  2032. }
  2033. if (actingPlayer.getMatrixStadisticsShooterEvent(2) < actingPlayer.getRachaShooterEvent())
  2034. {
  2035. actingPlayer.setMatrixStadisticsShooterEvent(2, actingPlayer.getRachaShooterEvent());
  2036. Points[2] = actingPlayer.getMatrixStadisticsShooterEvent(2);
  2037. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 3, Points[2]);
  2038. }
  2039. actingPlayer.setDollarsShooterEvent(actingPlayer.getDollarsShooterEvent() + 500);
  2040. victimPlayer.setDollarsShooterEvent(victimPlayer.getDollarsShooterEvent() + 100);
  2041. CreatureSay shopannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "Tienes " + actingPlayer.getDollarsShooterEvent() + ". ¡No olvides invertir unos cuantos para mejorar la equipación durante el evento!");
  2042. CreatureSay shopannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have got " + actingPlayer.getDollarsShooterEvent() + ". Don't forget to spend some to improve your skills during the Event!");
  2043. if (actingPlayer.getDollarsShooterEvent() > 1000)
  2044. {
  2045. if (Rnd.get(100) < 10)
  2046. {
  2047. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2048. {
  2049. actingPlayer.sendPacket(shopannounceSpa);
  2050. }
  2051. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2052. {
  2053. actingPlayer.sendPacket(shopannounceEng);
  2054. }
  2055. }
  2056. }
  2057. if (actingPlayer.getMatrixStadisticsShooterEvent(5) < actingPlayer.getDollarsShooterEvent())
  2058. {
  2059. actingPlayer.setMatrixStadisticsShooterEvent(5, actingPlayer.getDollarsShooterEvent());
  2060. Points[5] = actingPlayer.getMatrixStadisticsShooterEvent(5);
  2061. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 6, Points[5]);
  2062. }
  2063. if (victimPlayer.getMatrixStadisticsShooterEvent(5) < victimPlayer.getDollarsShooterEvent())
  2064. {
  2065. victimPlayer.setMatrixStadisticsShooterEvent(5, victimPlayer.getDollarsShooterEvent());
  2066. Points[5] = victimPlayer.getMatrixStadisticsShooterEvent(5);
  2067. LaszloEventEngine.setCalculateStadisticsPoints(victimPlayer.getInstanceHelperShooterEvent(), victimPlayer.getMatrixLocShooterEvent(), 6, Points[5]);
  2068. }
  2069. CreatureSay killerannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has asesinado a " + victimPlayer.getName() + "!");
  2070. CreatureSay victimannounceSpa = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Te ha asesinado " + actingPlayer.getName() + "! ¡Venga tu muerte!");
  2071. CreatureSay killerannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have killed " + victimPlayer.getName() + "!");
  2072. CreatureSay victimannounceEng = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "" + actingPlayer.getName() + " has killed you! Revenge your death!");
  2073. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2074. {
  2075. actingPlayer.sendPacket(killerannounceSpa);
  2076. victimPlayer.sendPacket(victimannounceSpa);
  2077. }
  2078. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2079. {
  2080. actingPlayer.sendPacket(killerannounceEng);
  2081. victimPlayer.sendPacket(victimannounceEng);
  2082. }
  2083. for (int i = 40002; i < 40007; i++)
  2084. {
  2085. final L2Skill skill = SkillTable.getInstance().getInfo(i, 1);
  2086. CreatureSay stealannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡... Y le has robado " + skill.getName() + "!");
  2087. CreatureSay stealannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡... And you stole him " + skill.getName() + "!");
  2088. if (victimPlayer.getSkillLevel(i) > 0)
  2089. {
  2090. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2091. victimPlayer.broadcastUserInfo();
  2092. if (Rnd.get(100) < 50)
  2093. {
  2094. actingPlayer.addSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2095. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2096. {
  2097. actingPlayer.sendPacket(stealannounceSpa);
  2098. }
  2099. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2100. {
  2101. actingPlayer.sendPacket(stealannounceEng);
  2102. }
  2103. actingPlayer.setMatrixStadisticsShooterEvent(7, actingPlayer.getMatrixStadisticsShooterEvent(7) + 1);
  2104. Points[7] = actingPlayer.getMatrixStadisticsShooterEvent(7);
  2105. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 8, Points[7]);
  2106. actingPlayer.broadcastUserInfo();
  2107. }
  2108. }
  2109. }
  2110. for (int j = 40009; (j < 40019) && (j != 40013) && (j != 40014); j++)
  2111. {
  2112. if (victimPlayer.getSkillLevel(j) > 0)
  2113. {
  2114. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(j, 1), false);
  2115. victimPlayer.broadcastUserInfo();
  2116. }
  2117. }
  2118. ShooterQuest.startQuestTimer("victim_doing_res", 6000, null, victimPlayer);
  2119. ShooterQuest.startQuestTimer("victim_doing_heal", 9000, null, victimPlayer);
  2120. }
  2121. else if (actingPlayer.isBluePartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()) && victimPlayer.isRedPartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()))
  2122. {
  2123. LaszloEventEngine.setShooterBluePoints(actingPlayer.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterBluePoints(actingPlayer.getInstanceHelperShooterEvent()) + 1);
  2124. victimPlayer.setRachaShooterEvent(0);
  2125. actingPlayer.setRachaShooterEvent(actingPlayer.getRachaShooterEvent() + 1);
  2126. actingPlayer.setMatrixStadisticsShooterEvent(0, actingPlayer.getMatrixStadisticsShooterEvent(0) + 1);
  2127. Points[0] = actingPlayer.getMatrixStadisticsShooterEvent(0);
  2128. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 1, Points[0]);
  2129. victimPlayer.setMatrixStadisticsShooterEvent(1, victimPlayer.getMatrixStadisticsShooterEvent(1) + 1);
  2130. Points[1] = victimPlayer.getMatrixStadisticsShooterEvent(1);
  2131. LaszloEventEngine.setCalculateStadisticsPoints(victimPlayer.getInstanceHelperShooterEvent(), victimPlayer.getMatrixLocShooterEvent(), 2, Points[1]);
  2132. if ((actingPlayer.getRachaShooterEvent() > 1) && (actingPlayer.getRachaShooterEvent() < 21))
  2133. {
  2134. actingPlayer.broadcastPacket(new MagicSkillUse(actingPlayer, actingPlayer, (23096 + actingPlayer.getRachaShooterEvent()), 1, 1, 1));
  2135. }
  2136. if (actingPlayer.getMatrixStadisticsShooterEvent(2) < actingPlayer.getRachaShooterEvent())
  2137. {
  2138. actingPlayer.setMatrixStadisticsShooterEvent(2, actingPlayer.getRachaShooterEvent());
  2139. Points[2] = actingPlayer.getMatrixStadisticsShooterEvent(2);
  2140. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 3, Points[2]);
  2141. }
  2142. actingPlayer.setDollarsShooterEvent(actingPlayer.getDollarsShooterEvent() + 500);
  2143. victimPlayer.setDollarsShooterEvent(victimPlayer.getDollarsShooterEvent() + 100);
  2144. CreatureSay shopannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "Tienes " + actingPlayer.getDollarsShooterEvent() + ". ¡No olvides invertir unos cuantos para mejorar la equipación durante el evento!");
  2145. CreatureSay shopannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have got " + actingPlayer.getDollarsShooterEvent() + ". Don't forget to spend some to improve your skills during the Event!");
  2146. if (actingPlayer.getDollarsShooterEvent() > 1000)
  2147. {
  2148. if (Rnd.get(100) < 10)
  2149. {
  2150. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2151. {
  2152. actingPlayer.sendPacket(shopannounceSpa);
  2153. }
  2154. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2155. {
  2156. actingPlayer.sendPacket(shopannounceEng);
  2157. }
  2158. }
  2159. }
  2160. if (actingPlayer.getMatrixStadisticsShooterEvent(5) < actingPlayer.getDollarsShooterEvent())
  2161. {
  2162. actingPlayer.setMatrixStadisticsShooterEvent(5, actingPlayer.getDollarsShooterEvent());
  2163. Points[5] = actingPlayer.getMatrixStadisticsShooterEvent(5);
  2164. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 6, Points[5]);
  2165. }
  2166. if (victimPlayer.getMatrixStadisticsShooterEvent(5) < victimPlayer.getDollarsShooterEvent())
  2167. {
  2168. victimPlayer.setMatrixStadisticsShooterEvent(5, victimPlayer.getDollarsShooterEvent());
  2169. Points[5] = victimPlayer.getMatrixStadisticsShooterEvent(5);
  2170. LaszloEventEngine.setCalculateStadisticsPoints(victimPlayer.getInstanceHelperShooterEvent(), victimPlayer.getMatrixLocShooterEvent(), 6, Points[5]);
  2171. }
  2172. CreatureSay killerannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has asesinado a " + victimPlayer.getName() + "!");
  2173. CreatureSay victimannounceSpa = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Te ha asesinado " + actingPlayer.getName() + "! ¡Venga tu muerte!");
  2174. CreatureSay killerannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have killed " + victimPlayer.getName() + "!");
  2175. CreatureSay victimannounceEng = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "" + actingPlayer.getName() + " has killed you! Revenge your death!");
  2176. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2177. {
  2178. actingPlayer.sendPacket(killerannounceSpa);
  2179. victimPlayer.sendPacket(victimannounceSpa);
  2180. }
  2181. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2182. {
  2183. actingPlayer.sendPacket(killerannounceEng);
  2184. victimPlayer.sendPacket(victimannounceEng);
  2185. }
  2186. for (int i = 40002; i < 40007; i++)
  2187. {
  2188. final L2Skill skill = SkillTable.getInstance().getInfo(i, 1);
  2189. CreatureSay stealannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡... Y le has robado " + skill.getName() + "!");
  2190. CreatureSay stealannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡... And you stole him " + skill.getName() + "!");
  2191. if (victimPlayer.getSkillLevel(i) > 0)
  2192. {
  2193. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2194. victimPlayer.broadcastUserInfo();
  2195. if (Rnd.get(100) < 50)
  2196. {
  2197. actingPlayer.addSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2198. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2199. {
  2200. actingPlayer.sendPacket(stealannounceSpa);
  2201. }
  2202. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2203. {
  2204. actingPlayer.sendPacket(stealannounceEng);
  2205. }
  2206. actingPlayer.setMatrixStadisticsShooterEvent(7, actingPlayer.getMatrixStadisticsShooterEvent(7) + 1);
  2207. Points[7] = actingPlayer.getMatrixStadisticsShooterEvent(7);
  2208. LaszloEventEngine.setCalculateStadisticsPoints(actingPlayer.getInstanceHelperShooterEvent(), actingPlayer.getMatrixLocShooterEvent(), 8, Points[7]);
  2209. actingPlayer.broadcastUserInfo();
  2210. }
  2211. }
  2212. }
  2213. for (int j = 40009; (j < 40019) && (j != 40013) && (j != 40014); j++)
  2214. {
  2215. if (victimPlayer.getSkillLevel(j) > 0)
  2216. {
  2217. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(j, 1), false);
  2218. victimPlayer.broadcastUserInfo();
  2219. }
  2220. }
  2221. ShooterQuest.startQuestTimer("victim_doing_res", 6000, null, victimPlayer);
  2222. ShooterQuest.startQuestTimer("victim_doing_heal", 9000, null, victimPlayer);
  2223. }
  2224. else if ((actingPlayer.isBluePartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()) && victimPlayer.isBluePartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent())) || (actingPlayer.isRedPartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent()) && victimPlayer.isRedPartakerShooterEvent(actingPlayer.getInstanceHelperShooterEvent())))
  2225. {
  2226.  
  2227. CreatureSay killerannounceSpa = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has asesinado a " + victimPlayer.getName() + ", un miembro de tu equipo, y has sido penalizado: Contador de Racha a 0, has perdido tus armas y parte de tus Dollars Dogs!!");
  2228. CreatureSay victimannounceSpa = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Te ha asesinado " + actingPlayer.getName() + ", un miembro de tu equipo, pero ya ha sido penalizado!");
  2229. CreatureSay killerannounceEng = new CreatureSay(actingPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have killed " + victimPlayer.getName() + ", a member of your own team, you have been penalized: Kills Streaks to 0, and you have lost your weapons and some Dollars Dogs!");
  2230. CreatureSay victimannounceEng = new CreatureSay(victimPlayer.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "" + actingPlayer.getName() + ", a member of your own team has killed you, but he's just been penalized!");
  2231. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2232. {
  2233. actingPlayer.sendPacket(killerannounceSpa);
  2234. victimPlayer.sendPacket(victimannounceSpa);
  2235. }
  2236. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2237. {
  2238. actingPlayer.sendPacket(killerannounceEng);
  2239. victimPlayer.sendPacket(victimannounceEng);
  2240. }
  2241. for (int i = 40002; i < 40007; i++)
  2242. {
  2243. if (victimPlayer.getSkillLevel(i) > 0)
  2244. {
  2245. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2246. victimPlayer.broadcastUserInfo();
  2247. }
  2248. if (actingPlayer.getSkillLevel(i) > 0)
  2249. {
  2250. actingPlayer.removeSkill(SkillTable.getInstance().getInfo(i, 1), false);
  2251. actingPlayer.broadcastUserInfo();
  2252. }
  2253. }
  2254. for (int j = 40009; (j < 40019) && (j != 40013) && (j != 40014); j++)
  2255. {
  2256. if (victimPlayer.getSkillLevel(j) > 0)
  2257. {
  2258. victimPlayer.removeSkill(SkillTable.getInstance().getInfo(j, 1), false);
  2259. victimPlayer.broadcastUserInfo();
  2260. }
  2261. if (actingPlayer.getSkillLevel(j) > 0)
  2262. {
  2263. actingPlayer.removeSkill(SkillTable.getInstance().getInfo(j, 1), false);
  2264. actingPlayer.broadcastUserInfo();
  2265. }
  2266. }
  2267. victimPlayer.setRachaShooterEvent(0);
  2268. actingPlayer.setRachaShooterEvent(0);
  2269. actingPlayer.setDollarsShooterEvent(actingPlayer.getDollarsShooterEvent() - 1000);
  2270. victimPlayer.setDollarsShooterEvent(victimPlayer.getDollarsShooterEvent() + 100);
  2271. ShooterQuest.startQuestTimer("victim_doing_res", 6000, null, victimPlayer);
  2272. ShooterQuest.startQuestTimer("victim_doing_heal", 9000, null, victimPlayer);
  2273. }
  2274. }
  2275. }
  2276. }
  2277. }
  2278. }
  2279. return "";
  2280. }
  2281.  
  2282. @Override
  2283. public String onSkillSee(L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isSummon)
  2284. {
  2285. if (skill.getId() == 40009)
  2286. {
  2287. if ((targets.length > 0) && (targets[0] == npc))
  2288. {
  2289. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 3))
  2290. {
  2291. if (caster.isRedPartakerShooterEvent(caster.getInstanceHelperShooterEvent()))
  2292. {
  2293. if (LaszloEventEngine.isRedBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2294. {
  2295. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2296. {
  2297. caster.sendMessage("Ya hay una bomba plantada.");
  2298. }
  2299. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2300. {
  2301. caster.sendMessage("There is another bomb already planted.");
  2302. }
  2303. return "";
  2304. }
  2305. else if (LaszloEventEngine.isBlueBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2306. {
  2307. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2308. {
  2309. caster.sendMessage("La bomba del equipo enemigo esta plantada impidiendo que coloques la tuya.");
  2310. }
  2311. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2312. {
  2313. caster.sendMessage("The enemy's bomb is planted preventing you put yours.");
  2314. }
  2315. return "";
  2316. }
  2317. else if (LaszloEventEngine.isBlueStoreDownShooterEvent(caster.getInstanceHelperShooterEvent()))
  2318. {
  2319. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2320. {
  2321. caster.sendMessage("El Centro de Control del enemigo ya está destruido.");
  2322. }
  2323. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2324. {
  2325. caster.sendMessage("The enemy's Conning Tower is already destroyed.");
  2326. }
  2327. return "";
  2328. }
  2329. else
  2330. {
  2331. if (npc.getNpcId() == BLUE_TARGET)
  2332. {
  2333. if (RedBomb[caster.getInstanceHelperShooterEvent()] == null)
  2334. {
  2335. RedBomb[caster.getInstanceHelperShooterEvent()] = spawn(RED_BOMB, new Location(-12760 + Rnd.get(20, -20), 273932 + Rnd.get(20, -20), -15303, 1, (50000 + caster.getInstanceHelperShooterEvent())));
  2336. }
  2337. CreatureSay bombannounceSpa = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has plantado la bomba, ahora hay que protegerla!");
  2338. CreatureSay bombannounceEng = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "you planted the bomb, it's time to protect it!");
  2339. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2340. {
  2341. caster.sendPacket(bombannounceSpa);
  2342. }
  2343. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2344. {
  2345. caster.sendPacket(bombannounceEng);
  2346. }
  2347. CreatureSay bombwarningSpa = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡" + caster.getName() + " del \n Equipo Rojo ha plantado en \n la Zona " + (caster.getInstanceHelperShooterEvent() + 1) + "!");
  2348. CreatureSay bombwarningEng = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n" + caster.getName() + " of the \n Red Team has planted the bomb \n in Zone " + (caster.getInstanceHelperShooterEvent() + 1) + "!");
  2349. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  2350. {
  2351. if (ply != null)
  2352. {
  2353. if (ply.getInstanceId() == (caster.getInstanceHelperShooterEvent() + 50000))
  2354. {
  2355. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2356. {
  2357. ply.sendPacket(bombwarningSpa);
  2358. }
  2359. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2360. {
  2361. ply.sendPacket(bombwarningEng);
  2362. }
  2363. }
  2364. }
  2365. }
  2366. BombHelper1[caster.getInstanceHelperShooterEvent()] = true;
  2367. LaszloEventEngine.setRedBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent(), true);
  2368. caster.setMatrixStadisticsShooterEvent(3, caster.getMatrixStadisticsShooterEvent(3) + 1);
  2369. if (Points[3] < caster.getMatrixStadisticsShooterEvent(3))
  2370. {
  2371. Points[3] = caster.getMatrixStadisticsShooterEvent(3);
  2372. LaszloEventEngine.setCalculateStadisticsPoints(caster.getInstanceHelperShooterEvent(), caster.getMatrixLocShooterEvent(), 4, Points[3]);
  2373. }
  2374. caster.broadcastUserInfo();
  2375. startQuestTimer("red_bomb_explode_start", 30000, null, null);
  2376. startQuestTimer("red_bomb_explode", 35000, null, null);
  2377. startQuestTimer("blue_target_respawn", 95000, null, null);
  2378. caster.removeSkill(SkillTable.getInstance().getInfo(40009, 1), false);
  2379. caster.broadcastUserInfo();
  2380. }
  2381. else if (npc.getNpcId() == RED_TARGET)
  2382. {
  2383. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2384. {
  2385. caster.sendMessage("No puedes colocar una bomba en tu propio Centro de Control");
  2386. }
  2387. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2388. {
  2389. caster.sendMessage("You can't plant a bomb in your own Conning Tower");
  2390. }
  2391. }
  2392. }
  2393. }
  2394. else if (caster.isBluePartakerShooterEvent(caster.getInstanceHelperShooterEvent()))
  2395. {
  2396. if (LaszloEventEngine.isBlueBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2397. {
  2398. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2399. {
  2400. caster.sendMessage("Ya hay una bomba plantada.");
  2401. }
  2402. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2403. {
  2404. caster.sendMessage("There is another bomb already planted.");
  2405. }
  2406. return "";
  2407. }
  2408. else if (LaszloEventEngine.isRedBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2409. {
  2410. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2411. {
  2412. caster.sendMessage("La bomba del equipo enemigo esta plantada impidiendo que coloques la tuya.");
  2413. }
  2414. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2415. {
  2416. caster.sendMessage("The enemy's bomb is planted preventing you put yours.");
  2417. }
  2418. return "";
  2419. }
  2420. else if (LaszloEventEngine.isRedStoreDownShooterEvent(caster.getInstanceHelperShooterEvent()))
  2421. {
  2422. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2423. {
  2424. caster.sendMessage("El Centro de Control del enemigo ya está destruido.");
  2425. }
  2426. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2427. {
  2428. caster.sendMessage("The enemy's Conning Tower is already destroyed.");
  2429. }
  2430. return "";
  2431. }
  2432. else
  2433. {
  2434. if (npc.getNpcId() == RED_TARGET)
  2435. {
  2436. if (BlueBomb[caster.getInstanceHelperShooterEvent()] == null)
  2437. {
  2438. BlueBomb[caster.getInstanceHelperShooterEvent()] = spawn(BLUE_BOMB, new Location(-12284 + Rnd.get(20, -20), 273932 + Rnd.get(20, -20), -15301, 1, (50000 + caster.getInstanceHelperShooterEvent())));
  2439. }
  2440. CreatureSay bombannounceSpa = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has plantado la bomba, ahora hay que protegerla!");
  2441. CreatureSay bombannounceEng = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "you planted the bomb, it's time to protect it!");
  2442. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2443. {
  2444. caster.sendPacket(bombannounceSpa);
  2445. }
  2446. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2447. {
  2448. caster.sendPacket(bombannounceEng);
  2449. }
  2450. CreatureSay bombwarningSpa = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡" + caster.getName() + " del \n Equipo Azul ha plantado en \n la Zona " + (caster.getInstanceHelperShooterEvent() + 1) + "!");
  2451. CreatureSay bombwarningEng = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n" + caster.getName() + " of the \n Blue Team has planted the bomb \n in Zone " + (caster.getInstanceHelperShooterEvent() + 1) + "!");
  2452. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  2453. {
  2454. if (ply != null)
  2455. {
  2456. if (ply.getInstanceId() == (caster.getInstanceHelperShooterEvent() + 50000))
  2457. {
  2458. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2459. {
  2460. ply.sendPacket(bombwarningSpa);
  2461. }
  2462. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2463. {
  2464. ply.sendPacket(bombwarningEng);
  2465. }
  2466. }
  2467. }
  2468. }
  2469. BombHelper1[caster.getInstanceHelperShooterEvent()] = true;
  2470. LaszloEventEngine.setBlueBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent(), true);
  2471. caster.setMatrixStadisticsShooterEvent(3, caster.getMatrixStadisticsShooterEvent(3) + 1);
  2472. if (Points[3] < caster.getMatrixStadisticsShooterEvent(3))
  2473. {
  2474. Points[3] = caster.getMatrixStadisticsShooterEvent(3);
  2475. LaszloEventEngine.setCalculateStadisticsPoints(caster.getInstanceHelperShooterEvent(), caster.getMatrixLocShooterEvent(), 4, Points[3]);
  2476. }
  2477. caster.removeSkill(SkillTable.getInstance().getInfo(40009, 1), false);
  2478. caster.broadcastUserInfo();
  2479. startQuestTimer("blue_bomb_explode_start", 30000, null, null);
  2480. startQuestTimer("blue_bomb_explode", 35000, null, null);
  2481. startQuestTimer("red_target_respawn", 95000, null, null);
  2482. }
  2483. else if (npc.getNpcId() == RED_TARGET)
  2484. {
  2485. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2486. {
  2487. caster.sendMessage("No puedes colocar una bomba en tu propio Centro de Control");
  2488. }
  2489. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2490. {
  2491. caster.sendMessage("You can't plant a bomb in your own Conning Tower");
  2492. }
  2493. }
  2494. }
  2495. }
  2496. }
  2497. }
  2498. }
  2499. else if (skill.getId() == 40010)
  2500. {
  2501. if ((targets.length > 0) && (targets[0] == npc))
  2502. {
  2503. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 3))
  2504. {
  2505. if (caster.isRedPartakerShooterEvent(caster.getInstanceHelperShooterEvent()))
  2506. {
  2507. if (!LaszloEventEngine.isBlueBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2508. {
  2509. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2510. {
  2511. caster.sendMessage("No puedes desactivar nada si no hay bomba.");
  2512. }
  2513. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2514. {
  2515. caster.sendMessage("You can't deactivate nothing if there is no bomb.");
  2516. }
  2517. return "";
  2518. }
  2519. else if (LaszloEventEngine.isRedStoreDownShooterEvent(caster.getInstanceHelperShooterEvent()))
  2520. {
  2521. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2522. {
  2523. caster.sendMessage("Vuestro Centro de Mando aún está destruído.");
  2524. }
  2525. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2526. {
  2527. caster.sendMessage("Your Conning Tower is still destroyed.");
  2528. }
  2529. return "";
  2530. }
  2531. else
  2532. {
  2533. if (npc.getNpcId() == BLUE_BOMB)
  2534. {
  2535. if (BlueBomb[caster.getInstanceHelperShooterEvent()] != null)
  2536. {
  2537. BlueBomb[caster.getInstanceHelperShooterEvent()].decayMe();
  2538. BlueBomb[caster.getInstanceHelperShooterEvent()] = null;
  2539. CreatureSay deactivationannounceSpa = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has desactivado la bomba!");
  2540. CreatureSay deactivationannounceEng = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have deactivated the bomb!");
  2541. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2542. {
  2543. caster.sendPacket(deactivationannounceSpa);
  2544. }
  2545. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2546. {
  2547. caster.sendPacket(deactivationannounceEng);
  2548. }
  2549. CreatureSay deactivationwarningSpa = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡" + caster.getName() + " del \n Equipo Rojo ha desactivado \n la bomba en la Zona " + caster.getInstanceHelperShooterEvent() + "!");
  2550. CreatureSay deactivationwarningEng = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n" + caster.getName() + " of the \n Red Team has deactivated \n the bomb in Zone " + caster.getInstanceHelperShooterEvent() + "!");
  2551. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  2552. {
  2553. if (ply != null)
  2554. {
  2555. if (ply.getInstanceId() == (caster.getInstanceHelperShooterEvent() + 50000))
  2556. {
  2557. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2558. {
  2559. ply.sendPacket(deactivationwarningSpa);
  2560. }
  2561. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2562. {
  2563. ply.sendPacket(deactivationwarningEng);
  2564. }
  2565. }
  2566. }
  2567. }
  2568. cancelQuestTimer("blue_bomb_explode_start", null, null);
  2569. cancelQuestTimer("blue_bomb_explode", null, null);
  2570. cancelQuestTimer("red_target_respawn", null, null);
  2571. LaszloEventEngine.setBlueBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent(), false);
  2572. LaszloEventEngine.setShooterRedPoints(caster.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterRedPoints(caster.getInstanceHelperShooterEvent()) + 10);
  2573. caster.setMatrixStadisticsShooterEvent(4, caster.getMatrixStadisticsShooterEvent(4) + 1);
  2574. if (Points[4] < caster.getMatrixStadisticsShooterEvent(4))
  2575. {
  2576. Points[4] = caster.getMatrixStadisticsShooterEvent(4);
  2577. LaszloEventEngine.setCalculateStadisticsPoints(caster.getInstanceHelperShooterEvent(), caster.getMatrixLocShooterEvent(), 5, Points[4]);
  2578. }
  2579. caster.removeSkill(SkillTable.getInstance().getInfo(40010, 1), false);
  2580. caster.broadcastUserInfo();
  2581. }
  2582. }
  2583. }
  2584. }
  2585. else if (caster.isBluePartakerShooterEvent(caster.getInstanceHelperShooterEvent()))
  2586. {
  2587. if (!LaszloEventEngine.isRedBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent()))
  2588. {
  2589. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2590. {
  2591. caster.sendMessage("No puedes desactivar nada si no hay bomba.");
  2592. }
  2593. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2594. {
  2595. caster.sendMessage("You can't deactivate nothing if there is no bomb.");
  2596. }
  2597. return "";
  2598. }
  2599. else if (LaszloEventEngine.isBlueStoreDownShooterEvent(caster.getInstanceHelperShooterEvent()))
  2600. {
  2601. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2602. {
  2603. caster.sendMessage("Vuestro Centro de Mando aún está destruído.");
  2604. }
  2605. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2606. {
  2607. caster.sendMessage("Your Conning Tower is still destroyed.");
  2608. }
  2609. return "";
  2610. }
  2611. else
  2612. {
  2613. if (npc.getNpcId() == RED_BOMB)
  2614. {
  2615. if (RedBomb[caster.getInstanceHelperShooterEvent()] != null)
  2616. {
  2617. RedBomb[caster.getInstanceHelperShooterEvent()].decayMe();
  2618. RedBomb[caster.getInstanceHelperShooterEvent()] = null;
  2619. CreatureSay deactivationannounceSpa = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "¡Has desactivado la bomba!");
  2620. CreatureSay deactivationannounceEng = new CreatureSay(caster.getObjectId(), Say2.BATTLEFIELD, "Shot The Dog Event", "You have deactivated the bomb!");
  2621. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2622. {
  2623. caster.sendPacket(deactivationannounceSpa);
  2624. }
  2625. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2626. {
  2627. caster.sendPacket(deactivationannounceEng);
  2628. }
  2629. CreatureSay deactivationwarningSpa = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n¡" + caster.getName() + " del \n Equipo Azul ha desactivado \n la bomba en la Zona " + caster.getInstanceHelperShooterEvent() + "!");
  2630. CreatureSay deactivationwarningEng = new CreatureSay(caster.getObjectId(), Say2.PARTYROOM_COMMANDER, "Shot The Dog Event", "\n" + caster.getName() + " of the \n Blue Team has deactivated \n the bomb in Zone " + caster.getInstanceHelperShooterEvent() + "!");
  2631. for (L2PcInstance ply : L2World.getInstance().getAllPlayersArray())
  2632. {
  2633. if (ply != null)
  2634. {
  2635. if (ply.getInstanceId() == (caster.getInstanceHelperShooterEvent() + 50000))
  2636. {
  2637. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2638. {
  2639. ply.sendPacket(deactivationwarningSpa);
  2640. }
  2641. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2642. {
  2643. ply.sendPacket(deactivationwarningEng);
  2644. }
  2645. }
  2646. }
  2647. }
  2648. cancelQuestTimer("red_bomb_explode_start", null, null);
  2649. cancelQuestTimer("red_bomb_explode", null, null);
  2650. cancelQuestTimer("blue_target_respawn", null, null);
  2651. LaszloEventEngine.setRedBombPlantedShooterEvent(caster.getInstanceHelperShooterEvent(), false);
  2652. LaszloEventEngine.setShooterBluePoints(caster.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterBluePoints(caster.getInstanceHelperShooterEvent()) + 10);
  2653. caster.setMatrixStadisticsShooterEvent(4, caster.getMatrixStadisticsShooterEvent(4) + 1);
  2654. if (Points[4] < caster.getMatrixStadisticsShooterEvent(4))
  2655. {
  2656. Points[4] = caster.getMatrixStadisticsShooterEvent(4);
  2657. LaszloEventEngine.setCalculateStadisticsPoints(caster.getInstanceHelperShooterEvent(), caster.getMatrixLocShooterEvent(), 5, Points[4]);
  2658. }
  2659. caster.removeSkill(SkillTable.getInstance().getInfo(40010, 1), false);
  2660. caster.broadcastUserInfo();
  2661. }
  2662. }
  2663. }
  2664. }
  2665. }
  2666. }
  2667. }
  2668.  
  2669. return super.onSkillSee(npc, caster, skill, targets, isSummon);
  2670. }
  2671.  
  2672. public static void createInstance()
  2673. {
  2674. instanceId = 50000;
  2675. InstanceManager.getInstance().createInstanceFromTemplate(instanceId, templateName);
  2676. _log.info("[Shot The Dog Event Engine]: Created Event Instance: " + instanceId + " Zone 1 in " + templateName + ".");
  2677. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  2678. {
  2679. for (int i = 0; i < 4; i++)
  2680. {
  2681. if (LaszloEventEngine.isShooterEventInstancesSlot(i))
  2682. {
  2683. instanceId += 1;
  2684. InstanceManager.getInstance().createInstanceFromTemplate(instanceId, templateName);
  2685. _log.info("[Shot The Dog Event Engine]: Created Extra Event Instance: " + instanceId + " Zone " + (i + 2) + " in " + templateName + ".");
  2686. }
  2687. }
  2688. }
  2689. instanceId = 50000;
  2690. }
  2691.  
  2692. public static void StartPeriodShooterEvent()
  2693. {
  2694. if (!Config.SHOOTER_EVENT_ENABLE)
  2695. {
  2696. _log.info("[Shot The Dog Event Engine]: The Event isn't enabled. Check the file LaszloEventsConfig.properties");
  2697. }
  2698. else
  2699. {
  2700. if (LaszloEventEngine.isInPeriodShooterEvent())
  2701. {
  2702. _log.info("[Shot The Dog Event Engine]: The Event is currently running and it cannot be started again.");
  2703. }
  2704. else
  2705. {
  2706. LaszloEventEngine.setInPeriodShooterEvent(true);
  2707. LaszloEventEngine.setShooterEventState(1);
  2708. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  2709. if (ShooterQuest != null)
  2710. {
  2711. ShooterQuest.startQuestTimer("start_event_announcment_1", 1000, null, null);
  2712. }
  2713. _log.info("[Shot The Dog Event Engine]: The Event has started. Inscription Period: " + (Config.SHOOTER_EVENT_INSCRIPTION_TIME / 60000) + " minut(s).");
  2714. }
  2715. }
  2716. }
  2717.  
  2718. public static void PlayerLeaveShooterEvent(L2PcInstance activeChar)
  2719. {
  2720. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  2721. if (ShooterQuest != null)
  2722. {
  2723. ShooterQuest.startQuestTimer("leave_clean", 500, null, activeChar);
  2724. ShooterQuest.startQuestTimer("leave_tele", 2500, null, activeChar);
  2725. }
  2726. _log.info("[Shot The Dog Event Engine]: Player " + activeChar.getName() + " has defected from the Event.");
  2727. }
  2728.  
  2729. protected static L2Npc spawn(int npcId, Location loc)
  2730. {
  2731. try
  2732. {
  2733. L2NpcTemplate template = NpcTable.getInstance().getTemplate(npcId);
  2734. if (template != null)
  2735. {
  2736. L2Spawn spawn = new L2Spawn(template);
  2737. spawn.setInstanceId(loc.getInstanceId());
  2738. spawn.setLocation(loc);
  2739. spawn.setAmount(spawn.getAmount() + 1);
  2740. return spawn.doSpawn();
  2741. }
  2742. }
  2743. catch (Exception ignored)
  2744. {
  2745. }
  2746. return null;
  2747. }
  2748.  
  2749. public static void CancelShooterEvent()
  2750. {
  2751. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  2752. if (ShooterQuest != null)
  2753. {
  2754. ShooterQuest.startQuestTimer("player_cancel_event_menu", 1000, null, null);
  2755. ShooterQuest.cancelQuestTimer("start_event_announcment_1", null, null);
  2756. ShooterQuest.cancelQuestTimer("start_event_announcment_2", null, null);
  2757. ShooterQuest.cancelQuestTimer("start_event_announcment_3", null, null);
  2758. ShooterQuest.cancelQuestTimer("start_event_announcment_4", null, null);
  2759. ShooterQuest.cancelQuestTimer("event_calculate_players", null, null);
  2760. ShooterQuest.cancelQuestTimer("event_calculate_instances", null, null);
  2761. ShooterQuest.cancelQuestTimer("event_create_instances", null, null);
  2762. ShooterQuest.cancelQuestTimer("event_calculate_teams", null, null);
  2763. ShooterQuest.cancelQuestTimer("event_ready_period_teleport", null, null);
  2764. ShooterQuest.cancelQuestTimer("event_open_door", null, null);
  2765. ShooterQuest.cancelQuestTimer("event_ready_period_ready", null, null);
  2766. ShooterQuest.cancelQuestTimer("event_ready_period_fight", null, null);
  2767. ShooterQuest.cancelQuestTimer("event_calculate_winner", null, null);
  2768. ShooterQuest.cancelQuestTimer("event_almost_ended", null, null);
  2769. ShooterQuest.cancelQuestTimer("event_reward_social", null, null);
  2770. ShooterQuest.cancelQuestTimer("event_teleport_out", null, null);
  2771. ShooterQuest.cancelQuestTimer("event_final_end", null, null);
  2772. ShooterQuest.cancelQuestTimer("victim_doing_res", null, null);
  2773. ShooterQuest.cancelQuestTimer("victim_doing_heal", null, null);
  2774. ShooterQuest.cancelQuestTimer("red_bomb_explode_start", null, null);
  2775. ShooterQuest.cancelQuestTimer("red_bomb_explode", null, null);
  2776. ShooterQuest.cancelQuestTimer("blue_target_respawn", null, null);
  2777. ShooterQuest.cancelQuestTimer("blue_bomb_explode_start", null, null);
  2778. ShooterQuest.cancelQuestTimer("blue_bomb_explode", null, null);
  2779. ShooterQuest.cancelQuestTimer("red_target_respawn", null, null);
  2780. }
  2781. }
  2782.  
  2783. public static void AdvanceShooterEvent()
  2784. {
  2785. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  2786. if (ShooterQuest != null)
  2787. {
  2788. if (LaszloEventEngine.isInPeriodShooterEvent())
  2789. {
  2790. if (LaszloEventEngine.getShooterEventState() == 1)
  2791. {
  2792. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2793. {
  2794. Announcements.getInstance().announceToAll("El Periodo de Inscripción de Shot The Dog ha sido avanzado. El Evento empezará ahora.");
  2795. }
  2796. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2797. {
  2798. Announcements.getInstance().announceToAll("The Inscription Period has been advanced. The Event will start now.");
  2799. }
  2800. ShooterQuest.cancelQuestTimer("start_event_announcment_1", null, null);
  2801. ShooterQuest.cancelQuestTimer("start_event_announcment_2", null, null);
  2802. ShooterQuest.cancelQuestTimer("start_event_announcment_3", null, null);
  2803. ShooterQuest.cancelQuestTimer("start_event_announcment_4", null, null);
  2804. ShooterQuest.cancelQuestTimer("event_calculate_players", null, null);
  2805. ShooterQuest.startQuestTimer("event_calculate_players", 1000, null, null);
  2806. }
  2807. else if (LaszloEventEngine.getShooterEventState() == 3)
  2808. {
  2809. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2810. {
  2811. Announcements.getInstance().announceToAll("El Periodo de Pelea de Shot The Dog ha sido avanzado. La entrega de premios será ahora.");
  2812. }
  2813. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2814. {
  2815. Announcements.getInstance().announceToAll("The Fight Period has been advanced. The Event awards will be now.");
  2816. }
  2817. ShooterQuest.cancelQuestTimer("event_calculate_winner", null, null);
  2818. ShooterQuest.cancelQuestTimer("event_open_door", null, null);
  2819. ShooterQuest.cancelQuestTimer("event_almost_ended", null, null);
  2820. ShooterQuest.startQuestTimer("event_calculate_winner", 1000, null, null);
  2821. }
  2822. else if (LaszloEventEngine.getShooterEventState() == 4)
  2823. {
  2824. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2825. {
  2826. Announcements.getInstance().announceToAll("El Periodo de Visualizacion de Puntos ha finalizado.");
  2827. }
  2828. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  2829. {
  2830. Announcements.getInstance().announceToAll("The Score View Period has been ended.");
  2831. }
  2832. ShooterQuest.cancelQuestTimer("event_final_end", null, null);
  2833. ShooterQuest.startQuestTimer("event_final_end", 1000, null, null);
  2834. }
  2835. }
  2836. }
  2837. }
  2838.  
  2839. public void TeleportInTeamsShooterEvent(L2Character activeChar)
  2840. {
  2841. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  2842. {
  2843. if (player != null)
  2844. {
  2845. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  2846. {
  2847. teleportPlayer(player, RED_ENTRY_POINT, (player.getInstanceHelperShooterEvent() + 50000));
  2848. }
  2849. else if (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  2850. {
  2851. teleportPlayer(player, BLUE_ENTRY_POINT, (player.getInstanceHelperShooterEvent() + 50000));
  2852. }
  2853. }
  2854. }
  2855. }
  2856.  
  2857. public void PreparationPeriodShooterEvent(L2Character activeChar)
  2858. {
  2859. _log.info("[Shot The Dog Event Engine]: Preparation Period: " + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " second(s).");
  2860. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  2861. {
  2862. if (player != null)
  2863. {
  2864. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  2865. {
  2866. LaszloEventEngine.setShooterPartakerNum(player.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterPartakerNum(player.getInstanceHelperShooterEvent()) + 1);
  2867. player.setMatrixLocShooterEvent(LaszloEventEngine.getShooterPartakerNum(player.getInstanceHelperShooterEvent()));
  2868. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 0, player.getObjectId());
  2869. // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  2870. // _log.info("Participante apuntado: Zona: " +(player.getInstanceHelperShooterEvent()+1)+ " Num: " +player.getMatrixLocShooterEvent()+ " Player Id: " +LaszloEventEngine.getCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 0)+
  2871. // " Nombre: " +CharNameTable.getInstance().getNameById(LaszloEventEngine.getCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 0)));
  2872. // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  2873. showShooterPreparationHtml(player);
  2874. player.setTeam(2);
  2875. SkillTable.getInstance().getInfo(40000, 1).getEffects(player, player);
  2876. player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  2877. player.setCurrentCp(player.getMaxCp());
  2878. QuestState st = player.getQuestState(qn);
  2879. if (st == null)
  2880. {
  2881. st = newQuestState(player);
  2882. }
  2883. player.addNotifyQuestOfDeath(st);
  2884. }
  2885. else if (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  2886. {
  2887. LaszloEventEngine.setShooterPartakerNum(player.getInstanceHelperShooterEvent(), LaszloEventEngine.getShooterPartakerNum(player.getInstanceHelperShooterEvent()) + 1);
  2888. player.setMatrixLocShooterEvent(LaszloEventEngine.getShooterPartakerNum(player.getInstanceHelperShooterEvent()));
  2889. LaszloEventEngine.setCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 0, player.getObjectId());
  2890. // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  2891. // _log.info("Participante apuntado: Zona: " +(player.getInstanceHelperShooterEvent()+1)+ " Num: " +LaszloEventEngine.getShooterPartakerNum(player.getInstanceHelperShooterEvent())+ " Player Id: "
  2892. // +LaszloEventEngine.getCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(), player.getMatrixLocShooterEvent(), 0)+ " Nombre: " +CharNameTable.getInstance().getNameById(LaszloEventEngine.getCalculateStadisticsPoints(player.getInstanceHelperShooterEvent(),
  2893. // player.getMatrixLocShooterEvent(), 0)));
  2894. // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
  2895. showShooterPreparationHtml(player);
  2896. player.setTeam(1);
  2897. SkillTable.getInstance().getInfo(40000, 1).getEffects(player, player);
  2898. player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  2899. player.setCurrentCp(player.getMaxCp());
  2900. QuestState st = player.getQuestState(qn);
  2901. if (st == null)
  2902. {
  2903. st = newQuestState(player);
  2904. }
  2905. player.addNotifyQuestOfDeath(st);
  2906. }
  2907. }
  2908. }
  2909. }
  2910.  
  2911. public void GoFightShooterEvent(L2Character activeChar)
  2912. {
  2913. LaszloEventEngine.setShooterEventState(3);
  2914. _log.info("[Shot The Dog Event Engine]: Fight Period started: " + (Config.SHOOTER_EVENT_PROCESS_TIME / 60000) + " minut(s).");
  2915. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  2916. {
  2917. if (player != null)
  2918. {
  2919. if ((player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent())) || (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent())))
  2920. {
  2921. SkillTable.getInstance().getInfo(40021, 1).getEffects(player, player);
  2922. player.enableAllSkills();
  2923. player.setIsImmobilized(false);
  2924. }
  2925. else if (player.isGM() && player.isInsideZone(ZoneId.ZONE_EVENT_LASZLO))
  2926. {
  2927. _log.info("[GM] " + player.getName() + " is viewing the Event - Fight Period");
  2928. }
  2929. }
  2930. }
  2931. }
  2932.  
  2933. public void EndShooterEvent(L2Character activeChar)
  2934. {
  2935. LaszloEventEngine.setShooterEventState(4);
  2936. _log.info("[Shot The Dog Event Engine]: Event ended. Calculating Winners. Reward and View Score Period: " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s).");
  2937. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  2938. {
  2939. if (player != null)
  2940. {
  2941. if ((player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent())) || (player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent())))
  2942. {
  2943. if (player.isDead())
  2944. {
  2945. player.doRevive();
  2946. }
  2947. }
  2948. else if (player.isObserverShooterEvent())
  2949. {
  2950. player.setObserverShooterEvent(false);
  2951. player.leaveOlympiadObserverMode();
  2952. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2953. {
  2954. player.sendMessage("El Evento ha acabado y sales del modo Observador.");
  2955. }
  2956. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  2957. {
  2958. player.sendMessage("The Event is over and you exit from Observer mode.");
  2959. }
  2960. }
  2961. }
  2962. }
  2963. }
  2964.  
  2965. public void CalculateWinnerShooterEvent()
  2966. {
  2967. if (LaszloEventEngine.getShooterRedPoints(0) > LaszloEventEngine.getShooterBluePoints(0))
  2968. {
  2969. LaszloEventEngine.setWinnerRedShooterEvent(0, true);
  2970. }
  2971. else if (LaszloEventEngine.getShooterBluePoints(0) > LaszloEventEngine.getShooterRedPoints(0))
  2972. {
  2973. LaszloEventEngine.setWinnerBlueShooterEvent(0, true);
  2974. }
  2975. else if (LaszloEventEngine.getShooterRedPoints(0) == LaszloEventEngine.getShooterBluePoints(0))
  2976. {
  2977. LaszloEventEngine.setTieShooterEvent(0, true);
  2978. }
  2979. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  2980. {
  2981. for (int i = 1; i < 5; i++)
  2982. {
  2983. if (LaszloEventEngine.getShooterRedPoints(i) > LaszloEventEngine.getShooterBluePoints(i))
  2984. {
  2985. LaszloEventEngine.setWinnerRedShooterEvent(i, true);
  2986. }
  2987. else if (LaszloEventEngine.getShooterBluePoints(i) > LaszloEventEngine.getShooterRedPoints(i))
  2988. {
  2989. LaszloEventEngine.setWinnerBlueShooterEvent(i, true);
  2990. }
  2991. else if (LaszloEventEngine.getShooterRedPoints(i) == LaszloEventEngine.getShooterBluePoints(i))
  2992. {
  2993. LaszloEventEngine.setTieShooterEvent(i, true);
  2994. }
  2995. }
  2996. }
  2997. }
  2998.  
  2999. public void SocialAndRewardTeamsShooterEvent(L2Character activeChar)
  3000. {
  3001. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  3002. {
  3003. if (player != null)
  3004. {
  3005. if (LaszloEventEngine.isWinnerRedShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3006. {
  3007. if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3008. {
  3009. player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
  3010. player.broadcastPacket(new MagicSkillUse(player, player, 6234, 1, 1, 1));
  3011. showShooterWinnerHtml(player);
  3012. player.addItem("Loot", Config.SHOOTER_EVENT_REWARD_ID, Config.SHOOTER_EVENT_REWARD_QUANT, player, true);
  3013. }
  3014. else if (player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3015. {
  3016. player.broadcastPacket(new SocialAction(player.getObjectId(), 13));
  3017. showShooterLoserHtml(player);
  3018. if (Config.SHOOTER_EVENT_ENABLE_REWARD_LOSER)
  3019. {
  3020. player.addItem("Loot", Config.SHOOTER_EVENT_REWARD_ID_LOSER, Config.SHOOTER_EVENT_REWARD_QUANT_LOSER, player, true);
  3021. }
  3022. }
  3023. }
  3024. else if (LaszloEventEngine.isWinnerBlueShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3025. {
  3026. if (player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3027. {
  3028. player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
  3029. player.broadcastPacket(new MagicSkillUse(player, player, 6234, 1, 1, 1));
  3030. showShooterWinnerHtml(player);
  3031. player.addItem("Loot", Config.SHOOTER_EVENT_REWARD_ID, Config.SHOOTER_EVENT_REWARD_QUANT, player, true);
  3032. }
  3033. else if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3034. {
  3035. player.broadcastPacket(new SocialAction(player.getObjectId(), 13));
  3036. showShooterLoserHtml(player);
  3037. if (Config.SHOOTER_EVENT_ENABLE_REWARD_LOSER)
  3038. {
  3039. player.addItem("Loot", Config.SHOOTER_EVENT_REWARD_ID_LOSER, Config.SHOOTER_EVENT_REWARD_QUANT_LOSER, player, true);
  3040. }
  3041. }
  3042. }
  3043. else if (LaszloEventEngine.isTieShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3044. {
  3045. if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()) || player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3046. {
  3047. player.broadcastPacket(new SocialAction(player.getObjectId(), 8));
  3048. showShooterTieHtml(player);
  3049. if (Config.SHOOTER_EVENT_ENABLE_REWARD_TIE)
  3050. {
  3051. player.addItem("Loot", Config.SHOOTER_EVENT_REWARD_ID_TIE, Config.SHOOTER_EVENT_REWARD_QUANT_TIE, player, true);
  3052. }
  3053. }
  3054. }
  3055. }
  3056. }
  3057. }
  3058.  
  3059. public void TeleportOutTeamsShooterEvent(L2Character activeChar)
  3060. {
  3061. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  3062. {
  3063. if (player != null)
  3064. {
  3065. if (LaszloEventEngine.isWinnerRedShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3066. {
  3067. if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3068. {
  3069. player.enableAllSkills();
  3070. player.setIsImmobilized(false);
  3071. player.setTeam(0);
  3072. teleportPlayer(player, EXIT_POINT, 0);
  3073. player.setRedPartakerShooterEvent(0, false);
  3074. QuestState st = player.getQuestState(qn);
  3075. if (st != null)
  3076. {
  3077. player.removeNotifyQuestOfDeath(st);
  3078. }
  3079. }
  3080. else if (player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3081. {
  3082. player.enableAllSkills();
  3083. player.setIsImmobilized(false);
  3084. player.setTeam(0);
  3085. teleportPlayer(player, EXIT_POINT, 0);
  3086. player.setBluePartakerShooterEvent(0, false);
  3087. QuestState st = player.getQuestState(qn);
  3088. if (st != null)
  3089. {
  3090. player.removeNotifyQuestOfDeath(st);
  3091. }
  3092. }
  3093. }
  3094. else if (LaszloEventEngine.isWinnerBlueShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3095. {
  3096. if (player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3097. {
  3098. player.enableAllSkills();
  3099. player.setIsImmobilized(false);
  3100. player.setTeam(0);
  3101. teleportPlayer(player, EXIT_POINT, 0);
  3102. player.setBluePartakerShooterEvent(0, false);
  3103. QuestState st = player.getQuestState(qn);
  3104. if (st != null)
  3105. {
  3106. player.removeNotifyQuestOfDeath(st);
  3107. }
  3108. }
  3109. else if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3110. {
  3111. player.enableAllSkills();
  3112. player.setIsImmobilized(false);
  3113. player.setTeam(0);
  3114. teleportPlayer(player, EXIT_POINT, 0);
  3115. player.setRedPartakerShooterEvent(0, false);
  3116. QuestState st = player.getQuestState(qn);
  3117. if (st != null)
  3118. {
  3119. player.removeNotifyQuestOfDeath(st);
  3120. }
  3121. }
  3122. }
  3123. else if (LaszloEventEngine.isTieShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3124. {
  3125. if (player.isRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()) || player.isBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent()))
  3126. {
  3127. player.enableAllSkills();
  3128. player.setIsImmobilized(false);
  3129. player.setTeam(0);
  3130. teleportPlayer(player, EXIT_POINT, 0);
  3131. player.setRedPartakerShooterEvent(0, false);
  3132. player.setBluePartakerShooterEvent(0, false);
  3133. QuestState st = player.getQuestState(qn);
  3134. if (st != null)
  3135. {
  3136. player.removeNotifyQuestOfDeath(st);
  3137. }
  3138. }
  3139. }
  3140. }
  3141. }
  3142. }
  3143.  
  3144. public void showShooterPreparationHtml(L2PcInstance activeChar)
  3145. {
  3146. NpcHtmlMessage ShooterPreparationRed = new NpcHtmlMessage(5);
  3147. TextBuilder replyShooterPreparationRed = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3148. if (activeChar.isRedPartakerShooterEvent(activeChar.getInstanceHelperShooterEvent()))
  3149. {
  3150. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3151. {
  3152. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Equipo Rojo - Zona " + (activeChar.getInstanceHelperShooterEvent() + 1) + "!<br> Tiempo de preparación <br1>de <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " segundo(s)</font>.<br><br> Aprovecha este tiempo para colocar<br1> las Skills de Evento en la barra<br1> de skills y crear una Party.<br> Recuerda que si deseas salir del Evento<br1> en cualquier momento puedes usar<br1> el comando .leave_STD.<br><br><br><br><br></td></tr></table><br>");
  3153. }
  3154. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3155. {
  3156. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Red Team - Zone " + (activeChar.getInstanceHelperShooterEvent() + 1) + "!<br> Preparation Period of <br1>de <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " second(s)</font>.<br><br> Use this time to put your Event<br1>Skills in your Skill's Bar<br1> and create a Party.<br>Remember, if you want to exit from<br1>the Event, you can use the command<br1> .leave_STD.<br><br><br><br><br></td></tr></table><br>");
  3157. }
  3158. }
  3159. else if (activeChar.isBluePartakerShooterEvent(activeChar.getInstanceHelperShooterEvent()))
  3160. {
  3161. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3162. {
  3163. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Equipo Azul - Zona " + (activeChar.getInstanceHelperShooterEvent() + 1) + "!<br> Tiempo de preparacion <br1>de <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " segundo(s)</font>.<br><br> Aprovecha este tiempo para colocar<br1> las Skills de Evento en la barra<br1> de skills y crear una Party.<br> Recuerda que si deseas salir del Evento<br1> en cualquier momento puedes usar<br1> el comando .leave_STD.<br><br><br><br><br></td></tr></table><br>");
  3164. }
  3165. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3166. {
  3167. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Blue Team - Zone " + (activeChar.getInstanceHelperShooterEvent() + 1) + "!<br> Preparation Period of <br1>de <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + " second(s)</font>.<br><br> Use this time to put your Event<br1>Skills in your Skill's Bar<br1> and create a Party.<br>Remember, if you want to exit from<br1>the Event, you can use the command<br1> .leave_STD.<br><br><br><br><br></td></tr></table><br>");
  3168. }
  3169. }
  3170. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3171. {
  3172. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Disfruta del Evento!</td></tr></table></body></html>");
  3173. }
  3174. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3175. {
  3176. replyShooterPreparationRed.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Enjoy the Event!</td></tr></table></body></html>");
  3177. }
  3178. ShooterPreparationRed.setHtml(replyShooterPreparationRed.toString());
  3179. activeChar.sendPacket(ShooterPreparationRed);
  3180. }
  3181.  
  3182. public void showShooterWeaponsMenu(L2PcInstance activeChar)
  3183. {
  3184. NpcHtmlMessage ShooterWeaponStore = new NpcHtmlMessage(5);
  3185. TextBuilder replyWeaponStore = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3186. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3187. {
  3188. replyWeaponStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table><br1>");
  3189. replyWeaponStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Bienvenido " + activeChar.getName() + "!<br1> Actualmente tienes " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> ¿Que arma deseas?</td></tr></table><br><br>");
  3190. }
  3191. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3192. {
  3193. replyWeaponStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table><br1>");
  3194. replyWeaponStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Welcome " + activeChar.getName() + "!<br1> Actually you've got " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> What weapon do you want?</td></tr></table><br><br>");
  3195. }
  3196. DesertSkill = activeChar.getSkillLevel(40002);
  3197. ShotgunSkill = activeChar.getSkillLevel(40003);
  3198. SubfusilSkill = activeChar.getSkillLevel(40004);
  3199. AssaultRSkill = activeChar.getSkillLevel(40005);
  3200. SniperRSkill = activeChar.getSkillLevel(40006);
  3201. if (DesertSkill <= 0)
  3202. {
  3203. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3204. {
  3205. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3206. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Pistola Desert Eagle</font></td></tr></table>");
  3207. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>65 %</td></tr></table>");
  3208. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3209. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>100-750</td></tr></table>");
  3210. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>1 disp/s</td></tr></table>");
  3211. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3212. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>200 MP</td></tr></table>");
  3213. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>700 $</td></tr></table>");
  3214. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterDesert\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3215. }
  3216. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3217. {
  3218. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3219. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Desert Eagle Gun</font></td></tr></table>");
  3220. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>65 %</td></tr></table>");
  3221. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3222. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>100-750</td></tr></table>");
  3223. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>1 disp/s</td></tr></table>");
  3224. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3225. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>200 MP</td></tr></table>");
  3226. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>700 $</td></tr></table>");
  3227. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterDesert\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3228. }
  3229. }
  3230. else
  3231. {
  3232. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3233. {
  3234. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3235. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Pistola Desert Eagle</font></td></tr></table>");
  3236. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirida</td></tr></table><br>");
  3237. }
  3238. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3239. {
  3240. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3241. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Desert Eagle Gun</font></td></tr></table>");
  3242. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3243. }
  3244. }
  3245. if (ShotgunSkill <= 0)
  3246. {
  3247. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3248. {
  3249. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3250. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Escopeta Franchi SPAS-12</font></td></tr></table>");
  3251. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>100 %</td></tr></table>");
  3252. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>40 %</td></tr></table>");
  3253. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>40-450</td></tr></table>");
  3254. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.4 disp/s</td></tr></table>");
  3255. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>1 %</td></tr></table>");
  3256. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>400 MP</td></tr></table>");
  3257. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3258. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterShotgun\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3259. }
  3260. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3261. {
  3262. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3263. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Franchi SPAS-12 Shotgun</font></td></tr></table>");
  3264. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>100 %</td></tr></table>");
  3265. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>40 %</td></tr></table>");
  3266. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>40-450</td></tr></table>");
  3267. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rafe of Fire</td><td align=center valign=bottom width=60 height=25>0.4 disp/s</td></tr></table>");
  3268. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>1 %</td></tr></table>");
  3269. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>400 MP</td></tr></table>");
  3270. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3271. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterShotgun\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3272. }
  3273. }
  3274. else
  3275. {
  3276. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3277. {
  3278. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3279. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Escopeta Franchi SPAS-12</font></td></tr></table>");
  3280. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirida</td></tr></table><br>");
  3281. }
  3282. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3283. {
  3284. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3285. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Franchi SPAS-12 Shotgun</font></td></tr></table>");
  3286. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3287. }
  3288. }
  3289. if (SubfusilSkill <= 0)
  3290. {
  3291. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3292. {
  3293. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3294. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Subfusil MP-5</font></td></tr></table>");
  3295. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>15 %</td></tr></table>");
  3296. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>50 %</td></tr></table>");
  3297. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>150-750</td></tr></table>");
  3298. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>2 disp/s</td></tr></table>");
  3299. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>2 %</td></tr></table>");
  3300. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>40 MP</td></tr></table>");
  3301. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1600 $</td></tr></table>");
  3302. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterSubfusil\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3303. }
  3304. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3305. {
  3306. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3307. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">MP-5 SMG</font></td></tr></table>");
  3308. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>15 %</td></tr></table>");
  3309. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>50 %</td></tr></table>");
  3310. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>150-750</td></tr></table>");
  3311. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>2 disp/s</td></tr></table>");
  3312. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>2 %</td></tr></table>");
  3313. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>40 MP</td></tr></table>");
  3314. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1600 $</td></tr></table>");
  3315. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterSubfusil\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3316. }
  3317. }
  3318. else
  3319. {
  3320. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3321. {
  3322. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3323. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Subfusil MP-5</font></td></tr></table>");
  3324. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3325. }
  3326. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3327. {
  3328. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3329. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">MP-5 SMG</font></td></tr></table>");
  3330. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3331. }
  3332. }
  3333. if (AssaultRSkill <= 0)
  3334. {
  3335. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3336. {
  3337. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3338. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Asalto AK-47</font></td></tr></table>");
  3339. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>68 %</td></tr></table>");
  3340. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3341. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>200-850</td></tr></table>");
  3342. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.66 disp/s</td></tr></table>");
  3343. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3344. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>300 MP</td></tr></table>");
  3345. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2200 $</td></tr></table>");
  3346. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterAssaultR\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3347. }
  3348. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3349. {
  3350. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3351. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">AK-47 Assault Rifle</font></td></tr></table>");
  3352. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>68 %</td></tr></table>");
  3353. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3354. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>200-850</td></tr></table>");
  3355. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>0.66 disp/s</td></tr></table>");
  3356. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3357. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>300 MP</td></tr></table>");
  3358. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2200 $</td></tr></table>");
  3359. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterAssaultR\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3360. }
  3361. }
  3362. else
  3363. {
  3364. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3365. {
  3366. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3367. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Asalto AK-47</font></td></tr></table>");
  3368. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3369. }
  3370. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3371. {
  3372. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3373. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">AK-47 Assault Rifle</font></td></tr></table>");
  3374. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3375. }
  3376. }
  3377. if (SniperRSkill <= 0)
  3378. {
  3379. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3380. {
  3381. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3382. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Francotirador L69A1</font></td></tr></table>");
  3383. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>90 %</td></tr></table>");
  3384. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>95 %</td></tr></table>");
  3385. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>600-1500</td></tr></table>");
  3386. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.05 disp/s</td></tr></table>");
  3387. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>10 %</td></tr></table>");
  3388. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>800 MP</td></tr></table>");
  3389. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>3000 $</td></tr></table>");
  3390. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterSniperR\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3391. }
  3392. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3393. {
  3394. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3395. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">L69A1 Sniper Rifle</font></td></tr></table>");
  3396. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>90 %</td></tr></table>");
  3397. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>95 %</td></tr></table>");
  3398. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>600-1500</td></tr></table>");
  3399. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>0.05 disp/s</td></tr></table>");
  3400. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>10 %</td></tr></table>");
  3401. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>800 MP</td></tr></table>");
  3402. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>3000 $</td></tr></table>");
  3403. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterSniperR\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_Fight1None\" fore=\"L2UI_CT1.OlympiadWnd_DF_Fight1None\"></td></tr></table><br>");
  3404. }
  3405. }
  3406. else
  3407. {
  3408. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3409. {
  3410. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3411. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Francotirador L69A1</font></td></tr></table>");
  3412. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3413. }
  3414. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3415. {
  3416. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3417. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">L69A1 Sniper Rifle</font></td></tr></table>");
  3418. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3419. }
  3420. }
  3421. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3422. {
  3423. replyWeaponStore.append("<br><br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Disfruta del Evento!<br><br><br></td></tr></table></body></html>");
  3424. }
  3425. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3426. {
  3427. replyWeaponStore.append("<br><br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Enjoy the Event!<br><br><br></td></tr></table></body></html>");
  3428. }
  3429. ShooterWeaponStore.setHtml(replyWeaponStore.toString());
  3430. activeChar.sendPacket(ShooterWeaponStore);
  3431. }
  3432.  
  3433. public void showShooterWeaponsTutorial(L2PcInstance activeChar)
  3434. {
  3435. NpcHtmlMessage ShooterWeaponStore = new NpcHtmlMessage(5);
  3436. TextBuilder replyWeaponStore = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3437. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3438. {
  3439. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3440. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Pistola Desert Eagle</font></td></tr></table>");
  3441. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>65 %</td></tr></table>");
  3442. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3443. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>100-750</td></tr></table>");
  3444. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>1 disp/s</td></tr></table>");
  3445. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3446. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>200 MP</td></tr></table>");
  3447. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>700 $</td></tr></table>");
  3448. }
  3449. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3450. {
  3451. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3452. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Desert Eagle Gun</font></td></tr></table>");
  3453. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>65 %</td></tr></table>");
  3454. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3455. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>100-750</td></tr></table>");
  3456. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>1 disp/s</td></tr></table>");
  3457. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3458. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>200 MP</td></tr></table>");
  3459. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>700 $</td></tr></table>");
  3460. }
  3461. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3462. {
  3463. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3464. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Escopeta Franchi SPAS-12</font></td></tr></table>");
  3465. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>100 %</td></tr></table>");
  3466. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>40 %</td></tr></table>");
  3467. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>40-450</td></tr></table>");
  3468. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.4 disp/s</td></tr></table>");
  3469. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>1 %</td></tr></table>");
  3470. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>400 MP</td></tr></table>");
  3471. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3472. }
  3473. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3474. {
  3475. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3476. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Franchi SPAS-12 Shotgun</font></td></tr></table>");
  3477. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>100 %</td></tr></table>");
  3478. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>40 %</td></tr></table>");
  3479. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>40-450</td></tr></table>");
  3480. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rafe of Fire</td><td align=center valign=bottom width=60 height=25>0.4 disp/s</td></tr></table>");
  3481. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>1 %</td></tr></table>");
  3482. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>400 MP</td></tr></table>");
  3483. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3484. }
  3485. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3486. {
  3487. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3488. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Subfusil MP-5</font></td></tr></table>");
  3489. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>15 %</td></tr></table>");
  3490. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>50 %</td></tr></table>");
  3491. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>150-750</td></tr></table>");
  3492. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>2 disp/s</td></tr></table>");
  3493. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>2 %</td></tr></table>");
  3494. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>40 MP</td></tr></table>");
  3495. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1600 $</td></tr></table>");
  3496. }
  3497. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3498. {
  3499. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3500. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">MP-5 SMG</font></td></tr></table>");
  3501. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>15 %</td></tr></table>");
  3502. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>50 %</td></tr></table>");
  3503. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>150-750</td></tr></table>");
  3504. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>2 disp/s</td></tr></table>");
  3505. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>2 %</td></tr></table>");
  3506. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>40 MP</td></tr></table>");
  3507. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1600 $</td></tr></table>");
  3508. }
  3509. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3510. {
  3511. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3512. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Asalto AK-47</font></td></tr></table>");
  3513. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>68 %</td></tr></table>");
  3514. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3515. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>200-850</td></tr></table>");
  3516. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.66 disp/s</td></tr></table>");
  3517. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3518. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>300 MP</td></tr></table>");
  3519. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2200 $</td></tr></table>");
  3520. }
  3521. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3522. {
  3523. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3524. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">AK-47 Assault Rifle</font></td></tr></table>");
  3525. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>68 %</td></tr></table>");
  3526. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>85 %</td></tr></table>");
  3527. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>200-850</td></tr></table>");
  3528. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>0.66 disp/s</td></tr></table>");
  3529. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>5 %</td></tr></table>");
  3530. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>300 MP</td></tr></table>");
  3531. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2200 $</td></tr></table>");
  3532. }
  3533. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3534. {
  3535. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3536. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Rifle Francotirador L69A1</font></td></tr></table>");
  3537. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Potencia</td><td align=center valign=bottom width=60 height=25>90 %</td></tr></table>");
  3538. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precisión</td><td align=center valign=bottom width=60 height=25>95 %</td></tr></table>");
  3539. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Distancia Min-Max</td><td align=center valign=bottom width=60 height=25>600-1500</td></tr></table>");
  3540. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Cadencia de Fuego</td><td align=center valign=bottom width=60 height=25>0.05 disp/s</td></tr></table>");
  3541. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Probabilidad Head-Shot</td><td align=center valign=bottom width=60 height=25>10 %</td></tr></table>");
  3542. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Gasto de Munición</td><td align=center valign=bottom width=60 height=25>800 MP</td></tr></table>");
  3543. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>3000 $</td></tr></table>");
  3544. }
  3545. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3546. {
  3547. replyWeaponStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3548. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">L69A1 Sniper Rifle</font></td></tr></table>");
  3549. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Power</td><td align=center valign=bottom width=60 height=25>90 %</td></tr></table>");
  3550. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Accuracy</td><td align=center valign=bottom width=60 height=25>95 %</td></tr></table>");
  3551. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Min-Max Distance</td><td align=center valign=bottom width=60 height=25>600-1500</td></tr></table>");
  3552. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Rate of Fire</td><td align=center valign=bottom width=60 height=25>0.05 disp/s</td></tr></table>");
  3553. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Head-Shot Probability</td><td align=center valign=bottom width=60 height=25>10 %</td></tr></table>");
  3554. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Ammo Spending</td><td align=center valign=bottom width=60 height=25>800 MP</td></tr></table>");
  3555. replyWeaponStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>3000 $</td></tr></table>");
  3556. }
  3557. replyWeaponStore.append("<br><br></td></tr></table></body></html>");
  3558. ShooterWeaponStore.setHtml(replyWeaponStore.toString());
  3559. activeChar.sendPacket(ShooterWeaponStore);
  3560. }
  3561.  
  3562. public void showShooterEtcMenu(L2PcInstance activeChar)
  3563. {
  3564. NpcHtmlMessage ShooterEtcStore = new NpcHtmlMessage(5);
  3565. TextBuilder replyEtcStore = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3566. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3567. {
  3568. replyEtcStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table><br1>");
  3569. replyEtcStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Bienvenido " + activeChar.getName() + "!<br1> Actualmente tienes " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> ¿Que accesorio deseas?</td></tr></table><br><br>");
  3570. }
  3571. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3572. {
  3573. replyEtcStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table><br1>");
  3574. replyEtcStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Welcome " + activeChar.getName() + "!<br1> Actually you've got " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> What accessory do you want?</td></tr></table><br><br>");
  3575. }
  3576. BombSkill = activeChar.getSkillLevel(40009);
  3577. unBombSkill = activeChar.getSkillLevel(40010);
  3578. HideSkill = activeChar.getSkillLevel(40011);
  3579. NoHideSkill = activeChar.getSkillLevel(40012);
  3580. GrenadeSkill = activeChar.getSkillLevel(40019);
  3581. if (HideSkill <= 0)
  3582. {
  3583. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3584. {
  3585. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3586. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Camuflaje</font> que te oculta del<br1> enemigo durante unos segundos.<br1> Mientras dure el efecto <br1>se reduce tu velocidad.</td></tr></table>");
  3587. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1400 $</td></tr></table>");
  3588. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterCammo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3589. }
  3590. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3591. {
  3592. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3593. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Camouflage</font> that hides you from<br1> the enemy during seconds.<br1> While the effect is on <br1>your speed is decreaed.</td></tr></table>");
  3594. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1400 $</td></tr></table>");
  3595. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterCammo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3596. }
  3597. }
  3598. else
  3599. {
  3600. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3601. {
  3602. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3603. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Camuflaje</font></td></tr></table>");
  3604. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3605. }
  3606. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3607. {
  3608. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3609. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Camouflage</font></td></tr></table>");
  3610. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3611. }
  3612. }
  3613. if (NoHideSkill <= 0)
  3614. {
  3615. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3616. {
  3617. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3618. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=60><tr><td align=center valign=bottom width=200 height=60><font color=\"LEVEL\">Gafas de Visión Nocturna</font><br1> que perciben si hay cerca<br1>enemigos camuflados.</td></tr></table>");
  3619. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>900 $</td></tr></table>");
  3620. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterLents\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3621. }
  3622. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3623. {
  3624. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3625. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=60><tr><td align=center valign=bottom width=200 height=60><font color=\"LEVEL\">Night Vision Glasses</font><br1> that perceives if there are <br1>camouflaged enemies near.</td></tr></table>");
  3626. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>900 $</td></tr></table>");
  3627. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterLents\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3628. }
  3629. }
  3630. else
  3631. {
  3632. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3633. {
  3634. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3635. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Gafas Visión Nocturna</font></td></tr></table>");
  3636. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirida</td></tr></table><br>");
  3637. }
  3638. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3639. {
  3640. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3641. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Night Vision Glasses</font></td></tr></table>");
  3642. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3643. }
  3644. }
  3645. if (BombSkill <= 0)
  3646. {
  3647. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3648. {
  3649. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3650. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Bomba con Temporizador</font><br1> para colocar en el Centro de<br1>Mando del enemigo.<br1> Si la explosión tiene éxito,<br1> tu equipo conseguirá 10 puntos<br1> y el equipo enemigo no podrá<br1> comprar armas durante 1 minuto.<br1> NOTA: DE UN SOLO USO.<br1></td></tr></table>");
  3651. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>4000 $</td></tr></table>");
  3652. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterBombStore\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3653. }
  3654. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3655. {
  3656. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3657. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Time Bomb</font><br1> to plant near the enemy's <br1>Conning Tower.<br1> If it explodes succefully,<br1> your team will get 10 points<br1> and the enemy cannot<br1> buy supplies in 1 minut.<br1> NOTE: ONLY ONE USE.<br1></td></tr></table>");
  3658. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>4000 $</td></tr></table>");
  3659. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterBombStore\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3660. }
  3661. }
  3662. else
  3663. {
  3664. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3665. {
  3666. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3667. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Bomba con Temporizador</font></td></tr></table>");
  3668. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirida</td></tr></table><br>");
  3669. }
  3670. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3671. {
  3672. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3673. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Time Bomb</font></td></tr></table>");
  3674. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3675. }
  3676. }
  3677. if (unBombSkill <= 0)
  3678. {
  3679. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3680. {
  3681. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3682. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Kit de Desactivación</font><br1> para desactivar bombas<br1> colocadas en tu Centro de<br1> Mando. Si se desactiva <br1>con éxito, el equipo gana<br1> 10 puntos. <br1> NOTA: UN SOLO USO.<br1></td></tr></table>");
  3683. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1500 $</td></tr></table>");
  3684. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterDeactivation\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3685. }
  3686. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3687. {
  3688. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3689. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Deactivation Kit</font><br1> to deactivate bombs<br1> planted in our Conning de<br1> Tower. If it deactivates <br1>succefully, our team will get<br1> 10 points.<br1> NOTE: ONLY ONE USE.<br1></td></tr></table>");
  3690. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1500 $</td></tr></table>");
  3691. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterDeactivation\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3692. }
  3693. }
  3694. else
  3695. {
  3696. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3697. {
  3698. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3699. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Kit de Desactivación</font></td></tr></table>");
  3700. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3701. }
  3702. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3703. {
  3704. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3705. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Deactivation Kit</font></td></tr></table>");
  3706. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3707. }
  3708. }
  3709. if (GrenadeSkill <= 0)
  3710. {
  3711. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3712. {
  3713. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3714. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80>Pack de <font color=\"LEVEL\">Granadas</font> que explosionan<br1> cuando se agota la espoleta, <br1> causando daño en area.<br1> No puedes moverte mientras<br1> tiras la granada.<br1> ¡Cuidado de no alcanzar<br1> a tus compañeros!</td></tr></table>");
  3715. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3716. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterGrenade\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3717. }
  3718. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3719. {
  3720. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3721. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80>Pack de <font color=\"LEVEL\">Grenades</font> that explodes<br1> when the fuse is exhausted, <br1> dealing area damage.<br1> You can't move while you're<br1> throwing the granade.<br1> Be careful and don't<br1> damage your team partners!</td></tr></table>");
  3722. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3723. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterGrenade\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEtc\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEtc\"></td></tr></table><br>");
  3724. }
  3725. }
  3726. else
  3727. {
  3728. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3729. {
  3730. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3731. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Granadas</font></td></tr></table>");
  3732. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquiridas</td></tr></table><br>");
  3733. }
  3734. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3735. {
  3736. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3737. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Grenades</font></td></tr></table>");
  3738. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3739. }
  3740. }
  3741. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3742. {
  3743. replyEtcStore.append("<br><br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Disfruta del Evento!<br><br><br></td></tr></table></body></html>");
  3744. }
  3745. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3746. {
  3747. replyEtcStore.append("<br><br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Enjoy the Event!<br><br><br></td></tr></table></body></html>");
  3748. }
  3749. ShooterEtcStore.setHtml(replyEtcStore.toString());
  3750. activeChar.sendPacket(ShooterEtcStore);
  3751. }
  3752.  
  3753. public void showShooterEtcTutorial(L2PcInstance activeChar)
  3754. {
  3755. NpcHtmlMessage ShooterEtcStore = new NpcHtmlMessage(5);
  3756. TextBuilder replyEtcStore = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3757. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3758. {
  3759. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3760. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Camuflaje</font> que te oculta del<br1> enemigo durante unos segundos.<br1> Mientras dure el efecto <br1>se reduce tu velocidad.</td></tr></table>");
  3761. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1400 $</td></tr></table>");
  3762. }
  3763. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3764. {
  3765. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3766. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Camouflage</font> that hides you from<br1> the enemy during seconds.<br1> While the effect is on <br1>your speed is decreaed.</td></tr></table>");
  3767. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1400 $</td></tr></table>");
  3768. }
  3769. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3770. {
  3771. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3772. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=60><tr><td align=center valign=bottom width=200 height=60><font color=\"LEVEL\">Gafas de Visión Nocturna</font><br1> que perciben si hay cerca<br1>enemigos camuflados.</td></tr></table>");
  3773. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>900 $</td></tr></table>");
  3774. }
  3775. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3776. {
  3777. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3778. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=60><tr><td align=center valign=bottom width=200 height=60><font color=\"LEVEL\">Night Vision Glasses</font><br1> that perceives if there are <br1>camouflaged enemies near.</td></tr></table>");
  3779. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>900 $</td></tr></table>");
  3780. }
  3781. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3782. {
  3783. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3784. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Bomba con Temporizador</font><br1> para colocar en el Centro de<br1>Mando del enemigo.<br1> Si la explosión tiene éxito,<br1> tu equipo conseguirá 10 puntos<br1> y el equipo enemigo no podrá<br1> comprar armas durante 1 minuto.<br1> NOTA: DE UN SOLO USO.<br1></td></tr></table>");
  3785. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>4000 $</td></tr></table>");
  3786. }
  3787. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3788. {
  3789. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3790. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Time Bomb</font><br1> to plant near the enemy's <br1>Conning Tower.<br1> If it explodes succefully,<br1> your team will get 10 points<br1> and the enemy cannot<br1> buy supplies in 1 minut.<br1> NOTE: ONLY ONE USE.<br1></td></tr></table>");
  3791. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>4000 $</td></tr></table>");
  3792. }
  3793. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3794. {
  3795. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3796. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Kit de Desactivación</font><br1> para desactivar bombas<br1> colocadas en tu Centro de<br1> Mando. Si se desactiva <br1>con éxito, el equipo gana<br1> 10 puntos. <br1> NOTA: UN SOLO USO.<br1></td></tr></table>");
  3797. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1500 $</td></tr></table>");
  3798. }
  3799. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3800. {
  3801. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3802. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80><font color=\"LEVEL\">Deactivation Kit</font><br1> to deactivate bombs<br1> planted in our Conning de<br1> Tower. If it deactivates <br1>succefully, our team will get<br1> 10 points.<br1> NOTE: ONLY ONE USE.<br1></td></tr></table>");
  3803. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1500 $</td></tr></table>");
  3804. }
  3805. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3806. {
  3807. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3808. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80>Pack de <font color=\"LEVEL\">Granadas</font> que explosionan<br1> cuando se agota la espoleta, <br1> causando daño en area.<br1> No puedes moverte mientras<br1> tiras la granada.<br1> ¡Cuidado de no alcanzar<br1> a tus compañeros!</td></tr></table>");
  3809. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3810. }
  3811. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3812. {
  3813. replyEtcStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3814. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=80><tr><td align=center valign=bottom width=200 height=80>Pack de <font color=\"LEVEL\">Grenades</font> that explodes<br1> when the fuse is exhausted, <br1> dealing area damage.<br1> You can't move while you're<br1> throwing the granade.<br1> Be careful and don't<br1> damage your team partners!</td></tr></table>");
  3815. replyEtcStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>2000 $</td></tr></table>");
  3816. }
  3817. replyEtcStore.append("<br><br></td></tr></table></body></html>");
  3818. ShooterEtcStore.setHtml(replyEtcStore.toString());
  3819. activeChar.sendPacket(ShooterEtcStore);
  3820. }
  3821.  
  3822. public void showShooterSupportMenu(L2PcInstance activeChar)
  3823. {
  3824. NpcHtmlMessage ShooterSupportStore = new NpcHtmlMessage(5);
  3825. TextBuilder replySupStore = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3826. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3827. {
  3828. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo restante de Evento:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minuto(s) y " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " segundo(s).</td></tr></table><br1>");
  3829. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Bienvenido " + activeChar.getName() + "!<br1> Actualmente tienes " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> ¿Que apoyo deseas?</td></tr></table><br><br>");
  3830. }
  3831. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3832. {
  3833. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event remaining time:<br1>" + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60) + " minut(s) and " + (((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) - (((((LaszloEventEngine.getShooterReadTime(2) - System.currentTimeMillis()) / 1000) / 60)) * 60)) + " second(s).</td></tr></table><br1>");
  3834. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Welcome " + activeChar.getName() + "!<br1> Actually you've got " + activeChar.getDollarsShooterEvent() + " Dollars Dog.<br> What support do you want?</td></tr></table><br><br>");
  3835. }
  3836. KevlarSkill = 0;
  3837. HerbsSkill = 0;
  3838. AmmoSkill = 0;
  3839. L2Effect[] effects = activeChar.getAllEffects();
  3840. if ((effects != null) && (effects.length != 0))
  3841. {
  3842. for (L2Effect e : effects)
  3843. {
  3844. if (e.getSkill().getId() == 40015)
  3845. {
  3846. KevlarSkill = 1;
  3847. }
  3848. if (e.getSkill().getId() == 40016)
  3849. {
  3850. HerbsSkill = 1;
  3851. }
  3852. if (e.getSkill().getId() == 40017)
  3853. {
  3854. AmmoSkill = 1;
  3855. }
  3856. }
  3857. }
  3858. if (KevlarSkill == 0)
  3859. {
  3860. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3861. {
  3862. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3863. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=40><tr><td align=center valign=bottom width=200 height=40><font color=\"LEVEL\">Chaleco Kevlar</font> que aumenta<br1> tu defensa contra los disparos.</td></tr></table>");
  3864. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3865. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterKevlar\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3866. }
  3867. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3868. {
  3869. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3870. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=40><tr><td align=center valign=bottom width=200 height=40><font color=\"LEVEL\">Kevlar Vest</font> that increases<br1> your defenses against shots.</td></tr></table>");
  3871. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3872. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterKevlar\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3873. }
  3874. }
  3875. else
  3876. {
  3877. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3878. {
  3879. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3880. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Chaleco Kevlar</font></td></tr></table>");
  3881. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirido</td></tr></table><br>");
  3882. }
  3883. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3884. {
  3885. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3886. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Kevlar Vest</font></td></tr></table>");
  3887. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3888. }
  3889. }
  3890. if (HerbsSkill == 0)
  3891. {
  3892. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3893. {
  3894. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3895. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Hierbas Medicinales</font><br1> que aumentan tu capacidad<br1> de curación con First Aids.</td></tr></table>");
  3896. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3897. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterHerbs\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3898. }
  3899. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3900. {
  3901. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3902. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Medicinal Herbs</font><br1> that increases your healing<br1> power with First Aids.</td></tr></table>");
  3903. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3904. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterHerbs\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3905. }
  3906. }
  3907. else
  3908. {
  3909. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3910. {
  3911. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3912. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Hierbas Medicinales</font></td></tr></table>");
  3913. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquiridas</td></tr></table><br>");
  3914. }
  3915. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3916. {
  3917. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3918. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Medicinal Herbs</font></td></tr></table>");
  3919. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3920. }
  3921. }
  3922. if (AmmoSkill == 0)
  3923. {
  3924. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3925. {
  3926. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3927. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Expansión de Munición</font><br1> que te permite llevar<br1> el doble de munición.</td></tr></table>");
  3928. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3929. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Comprar\" action=\"bypass -h Quest STD ShooterAmmo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3930. }
  3931. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3932. {
  3933. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3934. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Ammo Expansion</font><br1> that allows you to double your<br1> ammo size.</td></tr></table>");
  3935. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3936. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30><button value=\"Buy\" action=\"bypass -h Quest STD ShooterAmmo\" width=200 height=31 back=\"L2UI_CT1.OlympiadWnd_DF_Back_BuyEquip\" fore=\"L2UI_CT1.OlympiadWnd_DF_BuyEquip\"></td></tr></table><br>");
  3937. }
  3938. }
  3939. else
  3940. {
  3941. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3942. {
  3943. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3944. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Expansión de Munición</font></td></tr></table>");
  3945. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Adquirida</td></tr></table><br>");
  3946. }
  3947. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3948. {
  3949. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3950. replySupStore.append("<table border=1 cellpadding=0 cellspacing=1 width=200 height=30><tr><td align=center valign=bottom width=200 height=30><font color=\"LEVEL\">Ammo Expansion</font></td></tr></table>");
  3951. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=30><tr><td align=center valign=bottom width=140 height=30>Acquired</td></tr></table><br>");
  3952. }
  3953. }
  3954. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3955. {
  3956. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Disfruta del Evento!<br><br><br></td></tr></table></body></html>");
  3957. }
  3958. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3959. {
  3960. replySupStore.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Enjoy the Event!<br><br><br></td></tr></table></body></html>");
  3961. }
  3962. ShooterSupportStore.setHtml(replySupStore.toString());
  3963. activeChar.sendPacket(ShooterSupportStore);
  3964. }
  3965.  
  3966. public void showShooterSupportTutorial(L2PcInstance activeChar)
  3967. {
  3968. NpcHtmlMessage ShooterSupportStore = new NpcHtmlMessage(5);
  3969. TextBuilder replySupStore = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  3970. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3971. {
  3972. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3973. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=40><tr><td align=center valign=bottom width=200 height=40><font color=\"LEVEL\">Chaleco Kevlar</font> que aumenta<br1> tu defensa contra los disparos.</td></tr></table>");
  3974. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3975. }
  3976. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3977. {
  3978. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3979. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=40><tr><td align=center valign=bottom width=200 height=40><font color=\"LEVEL\">Kevlar Vest</font> that increases<br1> your defenses against shots.</td></tr></table>");
  3980. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3981. }
  3982. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3983. {
  3984. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3985. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Hierbas Medicinales</font><br1> que aumentan tu capacidad<br1> de curación con First Aids.</td></tr></table>");
  3986. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3987. }
  3988. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  3989. {
  3990. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3991. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Medicinal Herbs</font><br1> that increases your healing<br1> power with First Aids.</td></tr></table>");
  3992. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3993. }
  3994. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  3995. {
  3996. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  3997. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Expansión de Munición</font><br1> que te permite llevar<br1> el doble de munición.</td></tr></table>");
  3998. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Precio</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  3999. }
  4000. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4001. {
  4002. replySupStore.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4003. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=70><tr><td align=center valign=bottom width=200 height=70><font color=\"LEVEL\">Ammo Expansion</font><br1> that allows you to double your<br1> ammo size.</td></tr></table>");
  4004. replySupStore.append("<table border=1 cellpadding=0 cellspacing=0 width=200 height=25><tr><td align=center valign=bottom width=140 height=25>Price</td><td align=center valign=bottom width=60 height=25>1000 $</td></tr></table>");
  4005. }
  4006. replySupStore.append("<br></td></tr></table></body></html>");
  4007. ShooterSupportStore.setHtml(replySupStore.toString());
  4008. activeChar.sendPacket(ShooterSupportStore);
  4009. }
  4010.  
  4011. public void showShooterWinnerHtml(L2PcInstance activeChar)
  4012. {
  4013. int itemId;
  4014. itemId = REWARDS_IDS[0];
  4015. L2ItemInstance itemwinner = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4016. NpcHtmlMessage ShooterWinner = new NpcHtmlMessage(5);
  4017. TextBuilder replyShooterWinner = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4018. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4019. {
  4020. replyShooterWinner.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Evento Finalizado!<br> <font color=\"LEVEL\">¡Enhorabuena, tu equipo ha ganado!</font><br><br> Aqui tienes tu recompensa:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT + "</font> unidades de <font color=\"LEVEL\">" + itemwinner.getItemName() + "</font>.<br>Durante los siguientes " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) podrás ver<br1> las puntuaciones del Evento.<br></td></tr></table><br>");
  4021. replyShooterWinner.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Para ver las puntuaciones acude a " + InscriptionNpc[0].getName() + " <br1>en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + "<br1>y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o con el comando .score_STD<br>¡Gracias por participar!<br></td></tr></table></td></tr></table></body></html>");
  4022. }
  4023. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4024. {
  4025. replyShooterWinner.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event Ended!<br> <font color=\"LEVEL\">Congratulations, your Team has won!</font><br><br> Here is your reward:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT + "</font> of <font color=\"LEVEL\">" + itemwinner.getItemName() + "</font>.<br>During the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) you could see <br1> the Event Score.<br></td></tr></table><br>");
  4026. replyShooterWinner.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>To see the scores go to " + InscriptionNpc[0].getName() + " <br1>in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + "<br1>and " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or using <br1>the command .score_STD<br>Thanks for playing!<br></td></tr></table></td></tr></table></body></html>");
  4027. }
  4028. ShooterWinner.setHtml(replyShooterWinner.toString());
  4029. activeChar.sendPacket(ShooterWinner);
  4030. }
  4031.  
  4032. public void showShooterLoserHtml(L2PcInstance activeChar)
  4033. {
  4034. int itemId;
  4035. itemId = REWARDS_IDS[1];
  4036. L2ItemInstance itemloser = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4037. NpcHtmlMessage ShooterLoser = new NpcHtmlMessage(5);
  4038. TextBuilder replyShooterLoser = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4039. if (Config.SHOOTER_EVENT_ENABLE_REWARD_LOSER)
  4040. {
  4041. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4042. {
  4043. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Evento Finalizado!<br1><font color=\"LEVEL\">¡Lástima, tu equipo ha perdido!</font><br><br> Premio de consolación:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_LOSER + "</font> unidades de <font color=\"LEVEL\">" + itemloser.getItemName() + "</font>.<br>Durante los siguientes " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) podrás ver<br1> las puntuaciones del Evento.<br></td></tr></table><br>");
  4044. }
  4045. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4046. {
  4047. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event Ended!<br1><font color=\"LEVEL\">So sad, your team has lost!</font><br><br> Consolation reward:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_LOSER + "</font> of <font color=\"LEVEL\">" + itemloser.getItemName() + "</font>.<br>During the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) you could see <br1> the Event Score.<br></td></tr></table><br>");
  4048. }
  4049. }
  4050. else
  4051. {
  4052. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4053. {
  4054. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Evento Finalizado! <br1><font color=\"LEVEL\">¡Lástima, tu equipo ha perdido!</font><br>Durante los siguientes " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) podrás ver<br1> las puntuaciones del Evento.<br></td></tr></table><br>");
  4055. }
  4056. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4057. {
  4058. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event Ended! <br1><font color=\"LEVEL\">So sad, your team has lost!</font><br>During the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) you could see <br1> the Event Score.<br></td></tr></table><br>");
  4059. }
  4060. }
  4061. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4062. {
  4063. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Para ver las puntuaciones acude a " + InscriptionNpc[0].getName() + " <br1>en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + "<br1>y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o con el comando .score_STD<br>¡Gracias por participar!<br></td></tr></table></td></tr></table></body></html>");
  4064. }
  4065. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4066. {
  4067. replyShooterLoser.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>To see the scores go to " + InscriptionNpc[0].getName() + " <br1>in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + "<br1>and " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or using <br1>the command .score_STD<br>Thanks for playing!<br></td></tr></table></td></tr></table></body></html>");
  4068. }
  4069. ShooterLoser.setHtml(replyShooterLoser.toString());
  4070. activeChar.sendPacket(ShooterLoser);
  4071. }
  4072.  
  4073. public void showShooterTieHtml(L2PcInstance activeChar)
  4074. {
  4075. int itemId;
  4076. itemId = REWARDS_IDS[2];
  4077. L2ItemInstance itemtie = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4078. NpcHtmlMessage ShooterTie = new NpcHtmlMessage(5);
  4079. TextBuilder replyShooterTie = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4080. if (Config.SHOOTER_EVENT_ENABLE_REWARD_TIE)
  4081. {
  4082. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4083. {
  4084. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Evento Finalizado!<br1><font color=\"LEVEL\">¡Los equipos han empatado!</font><br><br> Premio por participar:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_TIE + "</font> unidades de <font color=\"LEVEL\">" + itemtie.getItemName() + "</font>.<br>Durante los siguientes " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) podrás ver<br1> las puntuaciones del Evento.<br></td></tr></table><br>");
  4085. }
  4086. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4087. {
  4088. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event Ended!<br1><font color=\"LEVEL\">The teams are tied!</font><br><br> Reward for playing:<br1> <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_TIE + "</font> unidades de <font color=\"LEVEL\">" + itemtie.getItemName() + "</font>.<br>During the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) you could see <br1> the Event Score.<br></td></tr></table><br>");
  4089. }
  4090. }
  4091. else
  4092. {
  4093. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4094. {
  4095. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¡Evento Finalizado!<br1><font color=\"LEVEL\">¡Los equipos han empatado!</font><br>Durante los siguientes " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minuto(s) podrás ver<br1> las puntuaciones del Evento.<br></td></tr></table><br>");
  4096. }
  4097. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4098. {
  4099. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event Ended!<br1><font color=\"LEVEL\">The teams are tied!</font><br>During the following " + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + " minut(s) you could see <br1> the Event Score.<br></td></tr></table><br>");
  4100. }
  4101. }
  4102. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4103. {
  4104. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Para ver las puntuaciones acude a " + InscriptionNpc[0].getName() + " <br1>en " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + " <br1> y " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", o con el comando .score_STD<br>¡Gracias por participar!<br></td></tr></table></td></tr></table></body></html>");
  4105. }
  4106. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4107. {
  4108. replyShooterTie.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>To see the scores go to " + InscriptionNpc[0].getName() + " <br1>in " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[0]) + ", " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[1]) + "<br1>and " + MapRegionManager.getInstance().getClosestTownName(InscriptionNpc[2]) + ", or using <br1>the command .score_STD<br> Thanks for playing!<br></td></tr></table></td></tr></table></body></html>");
  4109. }
  4110. ShooterTie.setHtml(replyShooterTie.toString());
  4111. activeChar.sendPacket(ShooterTie);
  4112. }
  4113.  
  4114. public static void showShooterFeaturesMenu(L2PcInstance activeChar)
  4115. {
  4116. int itemId;
  4117. NpcHtmlMessage ShooterFeatures = new NpcHtmlMessage(5);
  4118. TextBuilder replyShooterFeatures = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4119. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4120. {
  4121. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Estas son las características del Evento:<br></td></tr></table><br1>");
  4122. if (Config.SHOOTER_EVENT_LEVEL_LIMIT)
  4123. {
  4124. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Level Min-Max permitido: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN + " - " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MAX + "</font></td></tr></table><br1>");
  4125. }
  4126. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Capacidad Máxima de Jugadores: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MAX_TOTAL + "</font></td></tr></table><br1>");
  4127. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Capacidad Mínima de Jugadores: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MIN + "</font></td></tr></table><br1>");
  4128. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Instances Multiples activas: ");
  4129. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  4130. {
  4131. replyShooterFeatures.append("<font color=\"LEVEL\">Activado</font></td></tr></table><br1>");
  4132. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Capacidad Máxima de Jugadores por Instance: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE + "</font></td></tr></table><br1>");
  4133. }
  4134. else
  4135. {
  4136. replyShooterFeatures.append("<font color=\"LEVEL\">Desactivado</font></td></tr></table><br1>");
  4137. }
  4138. itemId = REWARDS_IDS[0];
  4139. L2ItemInstance itemwinner = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4140. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Premio ganadores: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT + "</font> unidades de <font color=\"LEVEL\">" + itemwinner.getItemName() + "</font></td></tr></table><br1>");
  4141. if (Config.SHOOTER_EVENT_ENABLE_REWARD_LOSER)
  4142. {
  4143. itemId = REWARDS_IDS[1];
  4144. L2ItemInstance itemloser = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4145. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Premio para perdedores: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_LOSER + "</font> unidades de <font color=\"LEVEL\">" + itemloser.getItemName() + "</font></td></tr></table><br1>");
  4146. }
  4147. if (Config.SHOOTER_EVENT_ENABLE_REWARD_TIE)
  4148. {
  4149. itemId = REWARDS_IDS[2];
  4150. L2ItemInstance itemtie = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4151. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>En caso de empate: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_TIE + "</font> unidades de <font color=\"LEVEL\">" + itemtie.getItemName() + "</font></td></tr></table><br1>");
  4152. }
  4153. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo de Inscripción: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_INSCRIPTION_TIME / 60000) + "</font> minuto(s).</td></tr></table><br1>");
  4154. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo de Preparación: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + "</font> segundo(s)</td></tr></table><br1>");
  4155. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo de Batalla: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PROCESS_TIME / 60000) + "</font> minuto(s).</td></tr></table><br1>");
  4156. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Tiempo de Vis. de Puntuaciones: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + "</font> minuto(s).</td></tr></table><br1>");
  4157. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Fuego amigo: ");
  4158. if (Config.SHOOTER_EVENT_FIRE_FRIEND)
  4159. {
  4160. replyShooterFeatures.append("<font color=\"LEVEL\">Activado</font></td></tr></table><br1>");
  4161. }
  4162. else
  4163. {
  4164. replyShooterFeatures.append("<font color=\"LEVEL\">Desactivado</font></td></tr></table><br1>");
  4165. }
  4166. }
  4167. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4168. {
  4169. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Features of the Event:<br></td></tr></table><br1>");
  4170. if (Config.SHOOTER_EVENT_LEVEL_LIMIT)
  4171. {
  4172. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Level Min-Max allowed: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN + " - " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MAX + "</font></td></tr></table><br1>");
  4173. }
  4174. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Max number of players: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MAX_TOTAL + "</font></td></tr></table><br1>");
  4175. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Min number of players: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MIN + "</font></td></tr></table><br1>");
  4176. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Multiple Instance Mode: ");
  4177. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  4178. {
  4179. replyShooterFeatures.append("<font color=\"LEVEL\">Activated</font></td></tr></table><br1>");
  4180. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Max number of players/instance: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE + "</font></td></tr></table><br1>");
  4181. }
  4182. else
  4183. {
  4184. replyShooterFeatures.append("<font color=\"LEVEL\">Deactivated</font></td></tr></table><br1>");
  4185. }
  4186. itemId = REWARDS_IDS[0];
  4187. L2ItemInstance itemwinner = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4188. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Reward for winners: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT + "</font> of <font color=\"LEVEL\">" + itemwinner.getItemName() + "</font></td></tr></table><br1>");
  4189. if (Config.SHOOTER_EVENT_ENABLE_REWARD_LOSER)
  4190. {
  4191. itemId = REWARDS_IDS[1];
  4192. L2ItemInstance itemloser = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4193. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Reward for losers: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_LOSER + "</font> of <font color=\"LEVEL\">" + itemloser.getItemName() + "</font></td></tr></table><br1>");
  4194. }
  4195. if (Config.SHOOTER_EVENT_ENABLE_REWARD_TIE)
  4196. {
  4197. itemId = REWARDS_IDS[2];
  4198. L2ItemInstance itemtie = new L2ItemInstance(IdFactory.getInstance().getNextId(), itemId);
  4199. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Reward in tie: <font color=\"LEVEL\">" + Config.SHOOTER_EVENT_REWARD_QUANT_TIE + "</font> of <font color=\"LEVEL\">" + itemtie.getItemName() + "</font></td></tr></table><br1>");
  4200. }
  4201. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Inscription Period: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_INSCRIPTION_TIME / 60000) + "</font> minut(s).</td></tr></table><br1>");
  4202. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Preparation Period: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PREPARATION_TIME / 1000) + "</font> second(s)</td></tr></table><br1>");
  4203. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Fight Period: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_PROCESS_TIME / 60000) + "</font> minut(s).</td></tr></table><br1>");
  4204. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Score View Period: <font color=\"LEVEL\">" + (Config.SHOOTER_EVENT_STADISTICS_TIME / 60000) + "</font> minut(s).</td></tr></table><br1>");
  4205. replyShooterFeatures.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Fire friend: ");
  4206. if (Config.SHOOTER_EVENT_FIRE_FRIEND)
  4207. {
  4208. replyShooterFeatures.append("<font color=\"LEVEL\">Activated</font></td></tr></table><br1>");
  4209. }
  4210. else
  4211. {
  4212. replyShooterFeatures.append("<font color=\"LEVEL\">Deactivated</font></td></tr></table><br1>");
  4213. }
  4214. }
  4215. replyShooterFeatures.append("</td></tr></table></body></html>");
  4216. ShooterFeatures.setHtml(replyShooterFeatures.toString());
  4217. activeChar.sendPacket(ShooterFeatures);
  4218. }
  4219.  
  4220. public void showShooterObserverMenu(L2PcInstance activeChar)
  4221. {
  4222. NpcHtmlMessage ShooterObserver = new NpcHtmlMessage(5);
  4223. TextBuilder replyShooterObserver = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4224. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4225. {
  4226. replyShooterObserver.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>¿Que Zona deseas observar?<br><br1> ");
  4227. }
  4228. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4229. {
  4230. replyShooterObserver.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>What Zone do you want to view?<br><br1> ");
  4231. }
  4232. if (LaszloEventEngine.isInPeriodShooterEvent())
  4233. {
  4234. if (LaszloEventEngine.getShooterEventState() == 3)
  4235. {
  4236. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4237. {
  4238. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zona 1</td></tr></table>");
  4239. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"Observar\" action=\"bypass -h Quest STD ShooterObserver1\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4240. }
  4241. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4242. {
  4243. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zone 1</td></tr></table>");
  4244. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"View\" action=\"bypass -h Quest STD ShooterObserver1\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4245. }
  4246. }
  4247. if (LaszloEventEngine.isShooterEventInstancesSlot(0))
  4248. {
  4249. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4250. {
  4251. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4252. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zona 2</td></tr></table>");
  4253. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"Observar\" action=\"bypass -h Quest STD ShooterObserver2\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4254. }
  4255. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4256. {
  4257. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4258. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zone 2</td></tr></table>");
  4259. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"View\" action=\"bypass -h Quest STD ShooterObserver2\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4260. }
  4261. }
  4262. if (LaszloEventEngine.isShooterEventInstancesSlot(1))
  4263. {
  4264. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4265. {
  4266. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4267. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zona 3</td></tr></table>");
  4268. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"Observar\" action=\"bypass -h Quest STD ShooterObserver3\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4269. }
  4270. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4271. {
  4272. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4273. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zone 3</td></tr></table>");
  4274. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"View\" action=\"bypass -h Quest STD ShooterObserver3\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4275. }
  4276. }
  4277. if (LaszloEventEngine.isShooterEventInstancesSlot(2))
  4278. {
  4279. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4280. {
  4281. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4282. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zona 4</td></tr></table>");
  4283. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"Observar\" action=\"bypass -h Quest STD ShooterObserver4\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4284. }
  4285. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4286. {
  4287. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4288. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zone 4</td></tr></table>");
  4289. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"View\" action=\"bypass -h Quest STD ShooterObserver4\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4290. }
  4291. }
  4292. if (LaszloEventEngine.isShooterEventInstancesSlot(3))
  4293. {
  4294. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4295. {
  4296. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4297. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zona 5</td></tr></table>");
  4298. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"Observar\" action=\"bypass -h Quest STD ShooterObserver5\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4299. }
  4300. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4301. {
  4302. replyShooterObserver.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4303. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30>Zone 5</td></tr></table>");
  4304. replyShooterObserver.append("<table border=1 cellpadding=0 cellspacing=0 width=150 height=30><tr><td align=center valign=bottom width=150 height=30><button value=\"View\" action=\"bypass -h Quest STD ShooterObserver5\" width=150 height=30 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br1>");
  4305. }
  4306. }
  4307. }
  4308. replyShooterObserver.append("</td></tr></table></body></html>");
  4309. ShooterObserver.setHtml(replyShooterObserver.toString());
  4310. activeChar.sendPacket(ShooterObserver);
  4311. }
  4312.  
  4313. public static void showShooterStadistics(L2PcInstance activeChar)
  4314. {
  4315. NpcHtmlMessage ShooterStadistics = new NpcHtmlMessage(5);
  4316. TextBuilder replyShooterStadistics = new TextBuilder("<html><body><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=275 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4317. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4318. {
  4319. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Estado del Evento:<br1> ");
  4320. }
  4321. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4322. {
  4323. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>Event State:<br1> ");
  4324. }
  4325. if (LaszloEventEngine.isInPeriodShooterEvent())
  4326. {
  4327. if (LaszloEventEngine.getShooterEventState() == 3)
  4328. {
  4329. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4330. {
  4331. replyShooterStadistics.append("- Periodo de Batalla</td></tr></table><br>");
  4332. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>----- Estadisticas Actuales -----</td></tr></table><br>");
  4333. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zona 1</td><td align=center valign=bottom width=75 height=30>Equipo Rojo</td><td align=center valign=bottom width=75 height=30>Equipo Azul</td></tr>");
  4334. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participantes</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(0) + "</td></tr>");
  4335. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Puntuación</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(0) + "</td></tr></table><br>");
  4336. }
  4337. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4338. {
  4339. replyShooterStadistics.append("- Fight Period</td></tr></table><br>");
  4340. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>----- Current Stadistics -----</td></tr></table><br>");
  4341. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zone 1</td><td align=center valign=bottom width=75 height=30>Red Team</td><td align=center valign=bottom width=75 height=30>Blue Team</td></tr>");
  4342. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participants</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(0) + "</td></tr>");
  4343. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Score</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(0) + "</td></tr></table><br>");
  4344. }
  4345. for (int i = 0; i < 4; i++)
  4346. {
  4347. if (LaszloEventEngine.isShooterEventInstancesSlot(i))
  4348. {
  4349. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4350. {
  4351. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zona " + (i + 2) + " </td><td align=center valign=bottom width=75 height=30>Equipo Rojo</td><td align=center valign=bottom width=75 height=30>Equipo Azul</td></tr>");
  4352. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participantes</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(i + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(i + 1) + "</td></tr>");
  4353. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Puntuacion</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(i + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(i + 1) + "</td></tr></table><br>");
  4354. }
  4355. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4356. {
  4357. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zone " + (i + 2) + " </td><td align=center valign=bottom width=75 height=30>Red Team</td><td align=center valign=bottom width=75 height=30>Blue Team</td></tr>");
  4358. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participants</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(i + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(i + 1) + "</td></tr>");
  4359. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Score</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(i + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(i + 1) + "</td></tr></table><br>");
  4360. }
  4361. }
  4362. }
  4363. }
  4364. else if (LaszloEventEngine.getShooterEventState() == 4)
  4365. {
  4366. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4367. {
  4368. replyShooterStadistics.append("- Periodo de Entrega del Premio</td></tr></table><br>");
  4369. if ((activeChar.getMatrixStadisticsShooterEvent(0) != 0) || (activeChar.getMatrixStadisticsShooterEvent(1) != 0) || (activeChar.getMatrixStadisticsShooterEvent(2) != 0) || (activeChar.getMatrixStadisticsShooterEvent(3) != 0) || (activeChar.getMatrixStadisticsShooterEvent(4) != 0) || (activeChar.getMatrixStadisticsShooterEvent(5) != 0) || (activeChar.getMatrixStadisticsShooterEvent(6) != 0) || (activeChar.getMatrixStadisticsShooterEvent(7) != 0))
  4370. {
  4371. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>-------- Estadisticas Personales --------</td></tr></table><br>");
  4372. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Nombre del Jugador: " + activeChar.getName() + "</td></tr></table><br1>");
  4373. }
  4374. if (activeChar.getMatrixStadisticsShooterEvent(1) != 0)
  4375. {
  4376. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Veces Asesinado: " + activeChar.getMatrixStadisticsShooterEvent(1) + "</td></tr></table><br1>");
  4377. }
  4378. if (activeChar.getMatrixStadisticsShooterEvent(0) != 0)
  4379. {
  4380. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Jugadores Asesinados: " + activeChar.getMatrixStadisticsShooterEvent(0) + "</td></tr></table><br1>");
  4381. }
  4382. if (activeChar.getMatrixStadisticsShooterEvent(2) != 0)
  4383. {
  4384. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Mayor Racha: " + activeChar.getMatrixStadisticsShooterEvent(2) + "</td></tr></table><br1>");
  4385. }
  4386. if (activeChar.getMatrixStadisticsShooterEvent(3) != 0)
  4387. {
  4388. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Bombas plantadas: " + activeChar.getMatrixStadisticsShooterEvent(3) + "</td></tr></table><br1>");
  4389. }
  4390. if (activeChar.getMatrixStadisticsShooterEvent(4) != 0)
  4391. {
  4392. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Bombas desactivadas: " + activeChar.getMatrixStadisticsShooterEvent(4) + "</td></tr></table><br1>");
  4393. }
  4394. if (activeChar.getMatrixStadisticsShooterEvent(5) != 0)
  4395. {
  4396. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Dinero acumulado total: " + activeChar.getMatrixStadisticsShooterEvent(5) + "</td></tr></table><br1>");
  4397. }
  4398. if (activeChar.getMatrixStadisticsShooterEvent(6) != 0)
  4399. {
  4400. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Dinero gastado total: " + activeChar.getMatrixStadisticsShooterEvent(6) + "</td></tr></table><br1>");
  4401. }
  4402. if (activeChar.getMatrixStadisticsShooterEvent(7) != 0)
  4403. {
  4404. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Armas robadas: " + activeChar.getMatrixStadisticsShooterEvent(7) + "</td></tr></table><br1>");
  4405. }
  4406. replyShooterStadistics.append("<br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>-------- Estadisticas Finales --------</td></tr></table><br>");
  4407. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zona 1</td><td align=center valign=bottom width=75 height=30>Equipo Rojo</td><td align=center valign=bottom width=75 height=30>Equipo Azul</td></tr>");
  4408. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participantes</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(0) + "</td></tr>");
  4409. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Puntuacion</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(0) + "</td></tr></table>");
  4410. }
  4411. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4412. {
  4413. replyShooterStadistics.append("- Reward and Score View Period</td></tr></table><br>");
  4414. if ((activeChar.getMatrixStadisticsShooterEvent(0) != 0) || (activeChar.getMatrixStadisticsShooterEvent(1) != 0) || (activeChar.getMatrixStadisticsShooterEvent(2) != 0) || (activeChar.getMatrixStadisticsShooterEvent(3) != 0) || (activeChar.getMatrixStadisticsShooterEvent(4) != 0) || (activeChar.getMatrixStadisticsShooterEvent(5) != 0) || (activeChar.getMatrixStadisticsShooterEvent(6) != 0) || (activeChar.getMatrixStadisticsShooterEvent(7) != 0))
  4415. {
  4416. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center>-------- Personal Score --------</td></tr></table><br>");
  4417. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Player name: " + activeChar.getName() + "</td></tr></table><br1>");
  4418. }
  4419. if (activeChar.getMatrixStadisticsShooterEvent(1) != 0)
  4420. {
  4421. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Times dead: " + activeChar.getMatrixStadisticsShooterEvent(1) + "</td></tr></table><br1>");
  4422. }
  4423. if (activeChar.getMatrixStadisticsShooterEvent(0) != 0)
  4424. {
  4425. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Players killed: " + activeChar.getMatrixStadisticsShooterEvent(0) + "</td></tr></table><br1>");
  4426. }
  4427. if (activeChar.getMatrixStadisticsShooterEvent(2) != 0)
  4428. {
  4429. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>High kill strike: " + activeChar.getMatrixStadisticsShooterEvent(2) + "</td></tr></table><br1>");
  4430. }
  4431. if (activeChar.getMatrixStadisticsShooterEvent(3) != 0)
  4432. {
  4433. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Bombs planted: " + activeChar.getMatrixStadisticsShooterEvent(3) + "</td></tr></table><br1>");
  4434. }
  4435. if (activeChar.getMatrixStadisticsShooterEvent(4) != 0)
  4436. {
  4437. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Bombs deactivated: " + activeChar.getMatrixStadisticsShooterEvent(4) + "</td></tr></table><br1>");
  4438. }
  4439. if (activeChar.getMatrixStadisticsShooterEvent(5) != 0)
  4440. {
  4441. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Dollars acumulated: " + activeChar.getMatrixStadisticsShooterEvent(5) + "</td></tr></table><br1>");
  4442. }
  4443. if (activeChar.getMatrixStadisticsShooterEvent(6) != 0)
  4444. {
  4445. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Dollars spent: " + activeChar.getMatrixStadisticsShooterEvent(6) + "</td></tr></table><br1>");
  4446. }
  4447. if (activeChar.getMatrixStadisticsShooterEvent(7) != 0)
  4448. {
  4449. replyShooterStadistics.append("<table border=0 cellpadding=0 cellspacing=0><tr><td align=center>Weapons stolen: " + activeChar.getMatrixStadisticsShooterEvent(7) + "</td></tr></table><br1>");
  4450. }
  4451. replyShooterStadistics.append("<br><table border=0 cellpadding=0 cellspacing=2><tr><td align=center>-------- Final Stadistics --------</td></tr></table><br>");
  4452. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zone 1</td><td align=center valign=bottom width=75 height=30>Red Team</td><td align=center valign=bottom width=75 height=30>Blue Team</td></tr>");
  4453. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>participants</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(0) + "</td></tr>");
  4454. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Score</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(0) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(0) + "</td></tr></table>");
  4455. }
  4456. for (int i = 0; i <= Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE; i++)
  4457. {
  4458. for (int j = 0; j < 8; j++)
  4459. {
  4460. if (LaszloEventEngine.getCalculateStadisticsPoints(0, i, (j + 1)) > PointStadisticNum[0][j])
  4461. {
  4462. PointStadisticNum[0][j] = LaszloEventEngine.getCalculateStadisticsPoints(0, i, (j + 1));
  4463. PointStadisticId[0][j] = LaszloEventEngine.getCalculateStadisticsPoints(0, i, 0);
  4464. }
  4465. }
  4466. }
  4467. if (PointStadisticNum[0][0] != 0) // Lee Asesino
  4468. {
  4469. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4470. {
  4471. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Asesino</font>: Mas muertes causadas</td></tr></table>");
  4472. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][0]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][0] + " </td></tr></table>");
  4473. }
  4474. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4475. {
  4476. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Assassin</font>: More deaths caused</td></tr></table>");
  4477. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][0]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][0] + " </td></tr></table>");
  4478. }
  4479. }
  4480. if (PointStadisticNum[0][1] != 0) // Lee Victima
  4481. {
  4482. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4483. {
  4484. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">La Víctima</font>: Mas veces asesinado</td></tr></table>");
  4485. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][1]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][1] + "</td></tr></table>");
  4486. }
  4487. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4488. {
  4489. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Victim</font>: More tiems dead</td></tr></table>");
  4490. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][1]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][1] + "</td></tr></table>");
  4491. }
  4492. }
  4493. if (PointStadisticNum[0][2] != 0) // Lee Berserker
  4494. {
  4495. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4496. {
  4497. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Berserker</font>: Mayor racha de muertes</td></tr></table>");
  4498. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][2]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][2] + " </td></tr></table>");
  4499. }
  4500. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4501. {
  4502. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Berserker</font>: More kills streak</td></tr></table>");
  4503. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][2]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][2] + " </td></tr></table>");
  4504. }
  4505. }
  4506. if (PointStadisticNum[0][3] != 0) // Lee Bomberman
  4507. {
  4508. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4509. {
  4510. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Bomberman</font>: Mas bombas colocadas</td></tr></table>");
  4511. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][3]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][3] + " </td></tr></table>");
  4512. }
  4513. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4514. {
  4515. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Bomberman</font>: More bombs planted</td></tr></table>");
  4516. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][3]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][3] + " </td></tr></table>");
  4517. }
  4518. }
  4519. if (PointStadisticNum[0][4] != 0) // Lee Artificiero
  4520. {
  4521. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4522. {
  4523. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Artificiero</font>: Mas bombas desactivadas</td></tr></table>");
  4524. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][4]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][4] + " </td></tr></table>");
  4525. }
  4526. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4527. {
  4528. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Deactivator</font>: More bombs deactivated</td></tr></table>");
  4529. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][4]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][4] + " </td></tr></table>");
  4530. }
  4531. }
  4532. if (PointStadisticNum[0][5] != 0) // Lee Sr. Burns
  4533. {
  4534. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4535. {
  4536. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Sr. Burns</font>: Mas dinero acumulado</td></tr></table>");
  4537. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][5]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][5] + " </td></tr></table>");
  4538. }
  4539. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4540. {
  4541. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Mr. Burns</font>: More dollars joined</td></tr></table>");
  4542. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][5]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][5] + " </td></tr></table>");
  4543. }
  4544. }
  4545. if (PointStadisticNum[0][6] != 0) // Lee Derrochador
  4546. {
  4547. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4548. {
  4549. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Derrochador</font>: Mas dinero gastado</td></tr></table>");
  4550. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][6]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][6] + " </td></tr></table>");
  4551. }
  4552. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4553. {
  4554. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Wastrel</font>: More money spent</td></tr></table>");
  4555. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][6]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][6] + " </td></tr></table>");
  4556. }
  4557. }
  4558. if (PointStadisticNum[0][7] != 0) // Lee Chorizo
  4559. {
  4560. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4561. {
  4562. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Chorizo</font>: Mas armas robadas</td></tr></table>");
  4563. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][7]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][7] + " </td></tr></table>");
  4564. }
  4565. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4566. {
  4567. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Grabber</font>: More weapons stolen</td></tr></table>");
  4568. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[0][7]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[0][7] + " </td></tr></table>");
  4569. }
  4570. }
  4571. for (int o = 0; o < 4; o++)
  4572. {
  4573. if (LaszloEventEngine.isShooterEventInstancesSlot(o))
  4574. {
  4575. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4576. {
  4577. replyShooterStadistics.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4578. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zona " + (o + 2) + " </td><td align=center valign=bottom width=75 height=30>Equipo Rojo</td><td align=center valign=bottom width=75 height=30>Equipo Azul</td></tr>");
  4579. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participantes</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(o + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(o + 1) + "</td></tr>");
  4580. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Puntuacion</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(o + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(o + 1) + "</td></tr></table>");
  4581. }
  4582. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4583. {
  4584. replyShooterStadistics.append("<br1><table><tr><td><img src=\"L2UI.Squaregray\" width=\"240\" height=\"2\"></td></tr></table><br>");
  4585. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=90><tr><td align=center valign=bottom width=90 height=30>Zone " + (o + 2) + " </td><td align=center valign=bottom width=75 height=30>Red Team</td><td align=center valign=bottom width=75 height=30>Blue Team</td></tr>");
  4586. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Participants</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPartakerNum(o + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePartakerNum(o + 1) + "</td></tr>");
  4587. replyShooterStadistics.append("<tr><td align=center valign=bottom width=90 height=30>Score</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterRedPoints(o + 1) + "</td><td align=center valign=bottom width=75 height=30>" + LaszloEventEngine.getShooterBluePoints(o + 1) + "</td></tr></table>");
  4588. }
  4589. for (int i = 0; i <= Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE; i++)
  4590. {
  4591. for (int j = 0; j < 8; j++)
  4592. {
  4593. if (LaszloEventEngine.getCalculateStadisticsPoints((o + 1), i, (j + 1)) > PointStadisticNum[(o + 1)][j])
  4594. {
  4595. PointStadisticNum[(o + 1)][j] = LaszloEventEngine.getCalculateStadisticsPoints((o + 1), i, (j + 1));
  4596. PointStadisticId[(o + 1)][j] = LaszloEventEngine.getCalculateStadisticsPoints((o + 1), i, 0);
  4597. }
  4598. }
  4599. }
  4600. if (PointStadisticNum[(o + 1)][0] != 0) // Lee Asesino
  4601. {
  4602. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4603. {
  4604. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Asesino</font>: Mas muertes causadas</td></tr></table>");
  4605. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][0]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][0] + " </td></tr></table>");
  4606. }
  4607. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4608. {
  4609. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Assassin</font>: More deaths caused</td></tr></table>");
  4610. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][0]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][0] + " </td></tr></table>");
  4611. }
  4612. }
  4613. if (PointStadisticNum[(o + 1)][1] != 0) // Lee Victima
  4614. {
  4615. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4616. {
  4617. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">La Víctima</font>: Mas veces asesinado</td></tr></table>");
  4618. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][1]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][1] + "</td></tr></table>");
  4619. }
  4620. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4621. {
  4622. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Victim</font>: More tiems dead</td></tr></table>");
  4623. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][1]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][1] + "</td></tr></table>");
  4624. }
  4625. }
  4626. if (PointStadisticNum[(o + 1)][2] != 0) // Lee Berserker
  4627. {
  4628. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4629. {
  4630. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Berserker</font>: Mayor racha de muertes</td></tr></table>");
  4631. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][2]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][2] + " </td></tr></table>");
  4632. }
  4633. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4634. {
  4635. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Berserker</font>: More kills streak</td></tr></table>");
  4636. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][2]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][2] + " </td></tr></table>");
  4637. }
  4638. }
  4639. if (PointStadisticNum[(o + 1)][3] != 0) // Lee Bomberman
  4640. {
  4641. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4642. {
  4643. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Bomberman</font>: Mas bombas colocadas</td></tr></table>");
  4644. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][3]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][3] + " </td></tr></table>");
  4645. }
  4646. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4647. {
  4648. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Bomberman</font>: More bombs planted</td></tr></table>");
  4649. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][3]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][3] + " </td></tr></table>");
  4650. }
  4651. }
  4652. if (PointStadisticNum[(o + 1)][4] != 0) // Lee Artificiero
  4653. {
  4654. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4655. {
  4656. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Artificiero</font>: Mas bombas desactivadas</td></tr></table>");
  4657. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][4]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][4] + " </td></tr></table>");
  4658. }
  4659. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4660. {
  4661. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Deactivator</font>: More bombs deactivated</td></tr></table>");
  4662. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][4]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][4] + " </td></tr></table>");
  4663. }
  4664. }
  4665. if (PointStadisticNum[(o + 1)][5] != 0) // Lee Sr. Burns
  4666. {
  4667. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4668. {
  4669. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Sr. Burns</font>: Mas dinero acumulado</td></tr></table>");
  4670. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][5]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][5] + " </td></tr></table>");
  4671. }
  4672. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4673. {
  4674. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">Mr. Burns</font>: More dollars joined</td></tr></table>");
  4675. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][5]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][5] + " </td></tr></table>");
  4676. }
  4677. }
  4678. if (PointStadisticNum[(o + 1)][6] != 0) // Lee Derrochador
  4679. {
  4680. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4681. {
  4682. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Derrochador</font>: Mas dinero gastado</td></tr></table>");
  4683. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][6]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][6] + " </td></tr></table>");
  4684. }
  4685. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4686. {
  4687. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Wastrel</font>: More money spent</td></tr></table>");
  4688. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][6]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][6] + " </td></tr></table>");
  4689. }
  4690. }
  4691. if (PointStadisticNum[(o + 1)][7] != 0) // Lee Chorizo
  4692. {
  4693. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4694. {
  4695. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">El Chorizo</font>: Mas armas robadas</td></tr></table>");
  4696. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][7]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][7] + " </td></tr></table>");
  4697. }
  4698. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4699. {
  4700. replyShooterStadistics.append("<table border=2 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=240 height=30><font color=\"LEVEL\">The Grabber</font>: More weapons stolen</td></tr></table>");
  4701. replyShooterStadistics.append("<table border=1 cellpadding=0 cellspacing=0 width=240 height=30><tr><td align=center valign=bottom width=180 height=30>" + CharNameTable.getInstance().getNameById(PointStadisticId[(o + 1)][7]) + "</td><td align=center valign=bottom width=60 height=30> " + PointStadisticNum[(o + 1)][7] + " </td></tr></table>");
  4702. }
  4703. }
  4704. }
  4705. }
  4706. }
  4707. }
  4708. replyShooterStadistics.append("<br><br></td></tr><br><br></table></body></html>");
  4709. ShooterStadistics.setHtml(replyShooterStadistics.toString());
  4710. activeChar.sendPacket(ShooterStadistics);
  4711. }
  4712.  
  4713. public static void cleanEffects(L2Character activeChar)
  4714. {
  4715. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  4716. {
  4717. if (player != null)
  4718. {
  4719. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()) || player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()) || player.isEnrolledShooterEvent())
  4720. {
  4721. if (player.isSitting())
  4722. {
  4723. player.standUp();
  4724. }
  4725. if (player.getParty() != null)
  4726. {
  4727. L2Party party = player.getParty();
  4728. party.removePartyMember(player, messageType.Expelled);
  4729. }
  4730. if (player.isMounted() || player.isFlying())
  4731. {
  4732. player.dismount();
  4733. }
  4734. if (player.isFakeDeath())
  4735. {
  4736. player.stopFakeDeath(true);
  4737. }
  4738. if (player.hasSummon() || (player.hasSummon() && player.getSummon().isPet()))
  4739. {
  4740. player.getSummon().unSummon(player);
  4741. }
  4742. player.stopAllEffects();
  4743. player.stopCubics();
  4744. player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
  4745. player.setCurrentCp(player.getMaxCp());
  4746. }
  4747. }
  4748. }
  4749. }
  4750.  
  4751. public static void playerStop(L2Character activeChar)
  4752. {
  4753. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  4754. {
  4755. if (player != null)
  4756. {
  4757. if (player.isRedPartakerShooterEvent(player.getInstanceHelperShooterEvent()) || player.isBluePartakerShooterEvent(player.getInstanceHelperShooterEvent()))
  4758. {
  4759. player.abortAttack();
  4760. player.abortCast();
  4761. player.disableAllSkills();
  4762. player.setTarget(null);
  4763. player.stopMove(null);
  4764. player.setIsImmobilized(true);
  4765. player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
  4766. }
  4767. }
  4768. }
  4769. }
  4770.  
  4771. public void ShooterRegistration(L2PcInstance player)
  4772. {
  4773. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 1))
  4774. {
  4775. if (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_TOTAL > LaszloEventEngine.getShooterRegistratedNum())
  4776. {
  4777. if (CheckShooterConditions(player))
  4778. {
  4779. LaszloEventEngine.setShooterRegistratedNum(LaszloEventEngine.getShooterRegistratedNum() + 1);
  4780. player.broadcastPacket(new MagicSkillUse(player, player, Rnd.get(22131, 22136), 1, 1, 1));
  4781. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4782. {
  4783. player.sendMessage("Te has inscrito con exito al Evento Shot The Dog.");
  4784. }
  4785. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4786. {
  4787. player.sendMessage("You have been inscribed succesfully at Shot The Dog Event.");
  4788. }
  4789. player.setEnrolledShooterEvent(true);
  4790. NpcHtmlMessage ShooterInscription = new NpcHtmlMessage(5);
  4791. TextBuilder replyShooterInscription = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4792. if (System.currentTimeMillis() > player.getPenaltyCancelInscriptionShooterEvent())
  4793. {
  4794. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4795. {
  4796. replyShooterInscription.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>Te has inscrito correctamente.<br>En breves dará comienzo el evento.</td></tr></table>");
  4797. }
  4798. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4799. {
  4800. replyShooterInscription.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>You have been inscribed correctly.<br>The Event will start soon.</td></tr></table>");
  4801. }
  4802. }
  4803. else
  4804. {
  4805. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4806. {
  4807. replyShooterInscription.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>Has cancelado tu inscripcion hace poco.<br><br><br>Espera " + ((player.getPenaltyCancelInscriptionShooterEvent() - System.currentTimeMillis()) / 1000) + " segundo(s) para<br1>que puedas volver a inscribirte.</td></tr></table>");
  4808. }
  4809. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4810. {
  4811. replyShooterInscription.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>You have canceled your inscription recently.<br><br><br>Wait " + ((player.getPenaltyCancelInscriptionShooterEvent() - System.currentTimeMillis()) / 1000) + " second(s) and<br1>you will can inscribe again.</td></tr></table>");
  4812. }
  4813. }
  4814. replyShooterInscription.append("</td></tr></table></body></html>");
  4815. ShooterInscription.setHtml(replyShooterInscription.toString());
  4816. player.sendPacket(ShooterInscription);
  4817. }
  4818. else
  4819. {
  4820. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4821. {
  4822. player.sendMessage("No se han cumplido todas las condiciones para efectuar correctamente el registro al Evento Shot The Dog.");
  4823. }
  4824. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4825. {
  4826. player.sendMessage("The conditions to prosecute the registration haven't been fulfilled.");
  4827. }
  4828. return;
  4829. }
  4830. }
  4831. else
  4832. {
  4833. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4834. {
  4835. player.sendMessage("El numero maximo de participantes permitidos para el evento ha sido superado.");
  4836. }
  4837. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4838. {
  4839. player.sendMessage("The max number of participants allowed for the event has been reached.");
  4840. }
  4841. return;
  4842. }
  4843. }
  4844. else
  4845. {
  4846. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4847. {
  4848. player.sendMessage("El Periodo de Inscripción no está en proceso y no es posible registrarse.");
  4849. }
  4850. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4851. {
  4852. player.sendMessage("The Inscription Period has ended and it isn't possible to inscribe it.");
  4853. }
  4854. return;
  4855. }
  4856. }
  4857.  
  4858. public void ShooterUnRegistration(L2PcInstance player)
  4859. {
  4860. if (LaszloEventEngine.isInPeriodShooterEvent() && (LaszloEventEngine.getShooterEventState() == 1))
  4861. {
  4862. if (CheckShooterConditions(player))
  4863. {
  4864. LaszloEventEngine.setShooterRegistratedNum(LaszloEventEngine.getShooterRegistratedNum() - 1);
  4865. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4866. {
  4867. player.sendMessage("Has cancelado tu inscripción al Evento Shot The Dog.");
  4868. }
  4869. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4870. {
  4871. player.sendMessage("You have canceled your inscription succesfully at Shot The Dog Event.");
  4872. }
  4873. player.setPenaltyCancelInscriptionShooterEvent(System.currentTimeMillis() + (30000));
  4874. player.setEnrolledShooterEvent(false);
  4875. NpcHtmlMessage ShooterUnregistrer = new NpcHtmlMessage(5);
  4876. TextBuilder replyShooterUnregistrer = new TextBuilder("<html><body scroll=\"no\"><title>Shot The Dog Event</title><table border=0 cellpadding=0 cellspacing=0 width=292 height=358 background=\"L2UI_CH3.refinewnd_back_Pattern\"><tr><td valign=\"top\" align=\"center\"><br><font color=\"LEVEL\">Shot The Dog Event</font><br>");
  4877. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4878. {
  4879. replyShooterUnregistrer.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>Has cancelado tu inscripcion<br1> al evento correctamente.<br><br><br>Tendras que esperar " + ((player.getPenaltyCancelInscriptionShooterEvent() - System.currentTimeMillis()) / 1000) + " segundo(s)<br1> si deseas volver a inscribirte.</td></tr></table></td></tr></table></body></html>");
  4880. }
  4881. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4882. {
  4883. replyShooterUnregistrer.append("<table border=0 cellpadding=0 cellspacing=2><tr><td align=center><br><br>You have canceled your inscription<br1> to the event correctly.<br><br><br>You must wait <br1> if you want to inscribe again.</td></tr></table></td></tr></table></body></html>");
  4884. }
  4885. replyShooterUnregistrer.append("</td></tr></table></body></html>");
  4886. ShooterUnregistrer.setHtml(replyShooterUnregistrer.toString());
  4887. player.sendPacket(ShooterUnregistrer);
  4888. }
  4889. else
  4890. {
  4891. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4892. {
  4893. player.sendMessage("No se han cumplido todas las condiciones para cancelar correctamente el registro al Evento Shot The Dog.");
  4894. }
  4895. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4896. {
  4897. player.sendMessage("The conditions to cancel the registration haven't been fulfilled.");
  4898. }
  4899. return;
  4900. }
  4901. }
  4902. else
  4903. {
  4904. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4905. {
  4906. player.sendMessage("El Periodo de Inscripción no está en proceso y no es posible cancelar el registro.");
  4907. }
  4908. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4909. {
  4910. player.sendMessage("The Inscription Period isn't in process and it isn't possible to cancel the registration.");
  4911. }
  4912. return;
  4913. }
  4914. }
  4915.  
  4916. private boolean CheckShooterConditions(L2PcInstance player)
  4917. {
  4918. if (Config.SHOOTER_EVENT_LEVEL_LIMIT)
  4919. {
  4920. if (player.getLevel() < Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN)
  4921. {
  4922. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4923. {
  4924. player.sendMessage("No tienes el nivel necesario para inscribirte en el evento: " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN + ".");
  4925. }
  4926. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4927. {
  4928. player.sendMessage("You have not enough level to inscribe it: " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN + ".");
  4929. }
  4930. return false;
  4931. }
  4932. if (player.getLevel() > Config.SHOOTER_EVENT_LEVEL_LIMIT_MAX)
  4933. {
  4934. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4935. {
  4936. player.sendMessage("Tienes demasiado level para acceder al Evento: " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MAX + ".");
  4937. }
  4938. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4939. {
  4940. player.sendMessage("You have too much level to inscribe it: " + Config.SHOOTER_EVENT_LEVEL_LIMIT_MAX + ".");
  4941. }
  4942. return false;
  4943. }
  4944. }
  4945. if (GrandBossManager.getInstance().getZone(player) != null)
  4946. {
  4947. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4948. {
  4949. player.sendMessage("No puedes inscribirte mientras stas dentro de una Boss Zone.");
  4950. }
  4951. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4952. {
  4953. player.sendMessage("You cannot inscribe it while you are in a GrandBoss Zone.");
  4954. }
  4955. return false;
  4956. }
  4957. if (player.isCombatFlagEquipped())
  4958. {
  4959. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4960. {
  4961. player.sendMessage("No puedes inscribirte mientras estás en modo PvP");
  4962. }
  4963. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4964. {
  4965. player.sendMessage("You cannot inscribe it while you are in PvP mode.");
  4966. }
  4967. return false;
  4968. }
  4969. if (player.getPvpFlag() != 0)
  4970. {
  4971. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4972. {
  4973. player.sendMessage("No se pudo efectuar el comando: Estas en modo PvP");
  4974. }
  4975. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4976. {
  4977. player.sendMessage("You cannot inscribe it while you are in PvP mode.");
  4978. }
  4979. return false;
  4980. }
  4981. if (player.getKarma() > 0)
  4982. {
  4983. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4984. {
  4985. player.sendMessage("No se pudo efectuar el comando: estas en modo PK.");
  4986. }
  4987. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  4988. {
  4989. player.sendMessage("You cannot inscribe it while you are a PK.");
  4990. }
  4991. return false;
  4992. }
  4993. if (player.isCursedWeaponEquipped())
  4994. {
  4995. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  4996. {
  4997. player.sendMessage("No puedes inscribirte mientras posees una Cursed Weapon.");
  4998. }
  4999. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5000. {
  5001. player.sendMessage("You cannot inscribe it while you have a Cursed Weapon.");
  5002. }
  5003. return false;
  5004. }
  5005. if (player.isInJail())
  5006. {
  5007. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5008. {
  5009. player.sendMessage("No puedes inscribirte mientras estás en Jail.");
  5010. }
  5011. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5012. {
  5013. player.sendMessage("You cannot inscribe it while you are in Jail.");
  5014. }
  5015. return false;
  5016. }
  5017. if (player.isInOlympiadMode())
  5018. {
  5019. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5020. {
  5021. player.sendMessage("No puedes inscribirte mientras estás participando en las Olimpiadas.");
  5022. }
  5023. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5024. {
  5025. player.sendMessage("You cannot inscribe it while you are in Olympiads.");
  5026. }
  5027. return false;
  5028. }
  5029. if (L2Event.isParticipant(player))
  5030. {
  5031. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5032. {
  5033. player.sendMessage("No puedes inscribirte mientras estás participando en otro evento.");
  5034. }
  5035. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5036. {
  5037. player.sendMessage("You cannot inscribe it while you are participating in another Event.");
  5038. }
  5039. return false;
  5040. }
  5041. if (player.isInDuel())
  5042. {
  5043. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5044. {
  5045. player.sendMessage("No puedes inscribirte mientras estás batiendote en duelo.");
  5046. }
  5047. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5048. {
  5049. player.sendMessage("You cannot inscribe it while you are in duel.");
  5050. }
  5051. return false;
  5052. }
  5053. if (player.inObserverMode())
  5054. {
  5055. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5056. {
  5057. player.sendMessage("No puedes inscribirte mientras estás en modo observador.");
  5058. }
  5059. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5060. {
  5061. player.sendMessage("You cannot inscribe it while you are in observer mode.");
  5062. }
  5063. return false;
  5064. }
  5065. if ((SiegeManager.getInstance().getSiege(player) != null) && SiegeManager.getInstance().getSiege(player).getIsInProgress())
  5066. {
  5067. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5068. {
  5069. player.sendMessage("No puedes inscribirte mientras estás en una Siege.");
  5070. }
  5071. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5072. {
  5073. player.sendMessage("You cannot inscribe it while you are in a Siege.");
  5074. }
  5075. return false;
  5076. }
  5077. if (!TvTEvent.onEscapeUse(player.getObjectId()))
  5078. {
  5079. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5080. {
  5081. player.sendPacket(ActionFailed.STATIC_PACKET);
  5082. player.sendMessage("No puedes inscribirte ahora mismo.");
  5083. }
  5084. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5085. {
  5086. player.sendPacket(ActionFailed.STATIC_PACKET);
  5087. player.sendMessage("You cannot inscribe it right now.");
  5088. }
  5089. return false;
  5090. }
  5091. if (player.isInsideZone(ZoneId.NO_SUMMON_FRIEND) || player.isInsideZone(ZoneId.PVP) || player.isInsideZone(ZoneId.SIEGE))
  5092. {
  5093. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5094. {
  5095. player.sendMessage("No puedes inscribirte mientras estás en una zona prohibida para la inscripcion.");
  5096. }
  5097. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5098. {
  5099. player.sendMessage("You cannot inscribe it while you are in a forbidden zone for the inscription.");
  5100. }
  5101. return false;
  5102. }
  5103. if (TvTEvent.isPlayerParticipant(player.getObjectId()))
  5104. {
  5105. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5106. {
  5107. player.sendMessage("No puedes inscribirte mientras estás participando en un TvT.");
  5108. }
  5109. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5110. {
  5111. player.sendMessage("You cannot inscribe it while you are participating in a TvT.");
  5112. }
  5113. return false;
  5114. }
  5115. if (System.currentTimeMillis() < player.getPenaltyCancelInscriptionShooterEvent())
  5116. {
  5117. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5118. {
  5119. player.sendMessage("Has cancelado tu inscripción hace poco. Espera " + ((player.getPenaltyCancelInscriptionShooterEvent() - System.currentTimeMillis()) / 1000) + " segundo(s) y podras volver a inscribirte.");
  5120. }
  5121. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5122. {
  5123. player.sendMessage("You have canceled recently your inscription. Wait " + ((player.getPenaltyCancelInscriptionShooterEvent() - System.currentTimeMillis()) / 1000) + " second(s) and you will be able to inscribe it again.");
  5124. }
  5125. return false;
  5126. }
  5127. if (player.isInCombat())
  5128. {
  5129. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5130. {
  5131. player.sendMessage("No puedes inscribirte mientras estás en modo combate.");
  5132. }
  5133. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5134. {
  5135. player.sendMessage("You cannot inscribe it while you are in combat.");
  5136. }
  5137. return false;
  5138. }
  5139. if (player.isDead() || player.isAlikeDead())
  5140. {
  5141. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5142. {
  5143. player.sendMessage("No puedes inscribirte mientras estás muerto.");
  5144. }
  5145. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5146. {
  5147. player.sendMessage("You cannot inscribe it while you are dead.");
  5148. }
  5149. return false;
  5150. }
  5151. if (player.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_NONE)
  5152. {
  5153. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5154. {
  5155. player.sendMessage("No puedes inscribirte mientras estás formando una tienda.");
  5156. }
  5157. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5158. {
  5159. player.sendMessage("You cannot inscribe it while you are in a Shop.");
  5160. }
  5161. return false;
  5162. }
  5163. if (player.isMounted() || player.isInBoat())
  5164. {
  5165. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5166. {
  5167. player.sendMessage("No puedes inscribirte mientras estás montado o en un barco.");
  5168. }
  5169. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5170. {
  5171. player.sendMessage("You cannot inscribe it while you are mounted or in a boat.");
  5172. }
  5173. return false;
  5174. }
  5175. if (player.isFishing())
  5176. {
  5177. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5178. {
  5179. player.sendMessage("No puedes inscribirte mientras estás pescando.");
  5180. }
  5181. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5182. {
  5183. player.sendMessage("You cannot inscribe it while you are fishing.");
  5184. }
  5185. return false;
  5186. }
  5187. return true;
  5188. }
  5189.  
  5190. public void CalculatePlayersEvent(L2Character activeChar)
  5191. {
  5192. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  5193. {
  5194. if (player != null)
  5195. {
  5196. if (player.isEnrolledShooterEvent())
  5197. {
  5198. if (player.isCombatFlagEquipped() || player.isCursedWeaponEquipped() || player.isInJail() || player.isInOlympiadMode() || L2Event.isParticipant(player) || player.isInDuel() || player.inObserverMode() || TvTEvent.isPlayerParticipant(player.getObjectId()) || player.isInCombat() || player.isDead() || player.isAlikeDead() || player.isMounted() || player.isInBoat() || player.isFishing() || player.isInsideZone(ZoneId.NO_SUMMON_FRIEND) || player.isInsideZone(ZoneId.PVP) || player.isInsideZone(ZoneId.SIEGE) || ((SiegeManager.getInstance().getSiege(player) != null) && SiegeManager.getInstance().getSiege(player).getIsInProgress()) || (GrandBossManager.getInstance().getZone(player) != null) || (player.getKarma() > 0) || player.isProcessingTransaction() || (player.getPvpFlag() != 0) || (player.getLevel() < Config.SHOOTER_EVENT_LEVEL_LIMIT_MIN))
  5199. {
  5200. player.setEnrolledShooterEvent(false);
  5201. if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("spanish"))
  5202. {
  5203. player.sendMessage("Una o mas de las condiciones para participar en el Evento ha sido violada y tu inscripción se ha cancelado.");
  5204. }
  5205. else if (Config.SHOOTER_EVENT_LANG.equalsIgnoreCase("english"))
  5206. {
  5207. player.sendMessage("One or more conditions to participate in the Event has been violated and your inscription has been canceled.");
  5208. }
  5209. }
  5210. else
  5211. {
  5212. LaszloEventEngine.setShooterRegistratedNum(LaszloEventEngine.getShooterRegistratedNum() + 1);
  5213. }
  5214. }
  5215. }
  5216. }
  5217. }
  5218.  
  5219. public static void PlayerCancelShooterEvent(L2Character activeChar)
  5220. {
  5221. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  5222. {
  5223. if (player != null)
  5224. {
  5225. for (int i = 0; i < 5; i++)
  5226. {
  5227. if (player.isRedPartakerShooterEvent(i) || player.isBluePartakerShooterEvent(i))
  5228. {
  5229. if (player.isDead())
  5230. {
  5231. player.doRevive();
  5232. }
  5233. if (player.isSitting())
  5234. {
  5235. player.standUp();
  5236. }
  5237. if (player.getParty() != null)
  5238. {
  5239. L2Party party = player.getParty();
  5240. party.removePartyMember(player, messageType.Expelled);
  5241. }
  5242. if (player.isFakeDeath())
  5243. {
  5244. player.stopFakeDeath(true);
  5245. }
  5246. if (player.getTeam() > 0)
  5247. {
  5248. player.setTeam(0);
  5249. }
  5250. player.enableAllSkills();
  5251. player.setIsImmobilized(false);
  5252. player.teleToLocation(82693 + Rnd.get(100, -100), 148775 + Rnd.get(100, -100), -3468);
  5253. player.setInstanceId(0);
  5254. }
  5255. }
  5256. if (player.inObserverMode())
  5257. {
  5258. player.setObserverShooterEvent(false);
  5259. player.leaveOlympiadObserverMode();
  5260. player.sendMessage("El Evento ha sido cancelado.");
  5261. }
  5262. }
  5263. }
  5264. }
  5265.  
  5266. public void CalculateInstancesEvent()
  5267. {
  5268. Quest ShooterQuest = QuestManager.getInstance().getQuest(STD.qn);
  5269. if (ShooterQuest != null)
  5270. {
  5271. if (LaszloEventEngine.getShooterRegistratedNum() < (Config.SHOOTER_EVENT_PARTICIPANTS_MIN))
  5272. {
  5273. ShooterQuest.cancelQuestTimer("start_event_announcment_1", null, null);
  5274. ShooterQuest.cancelQuestTimer("start_event_announcment_2", null, null);
  5275. ShooterQuest.cancelQuestTimer("start_event_announcment_3", null, null);
  5276. ShooterQuest.cancelQuestTimer("start_event_announcment_4", null, null);
  5277. ShooterQuest.cancelQuestTimer("event_calculate_players", null, null);
  5278. ShooterQuest.cancelQuestTimer("event_calculate_instances", null, null);
  5279. ShooterQuest.cancelQuestTimer("event_calculate_teams", null, null);
  5280. ShooterQuest.cancelQuestTimer("event_ready_period_teleport", null, null);
  5281. ShooterQuest.cancelQuestTimer("event_ready_period_ready", null, null);
  5282. ShooterQuest.cancelQuestTimer("event_ready_period_fight", null, null);
  5283. ShooterQuest.cancelQuestTimer("event_open_door", null, null);
  5284. ShooterQuest.cancelQuestTimer("event_calculate_winner", null, null);
  5285. ShooterQuest.cancelQuestTimer("event_almost_ended", null, null);
  5286. ShooterQuest.cancelQuestTimer("event_reward_social", null, null);
  5287. ShooterQuest.cancelQuestTimer("event_teleport_out", null, null);
  5288. ShooterQuest.cancelQuestTimer("event_final_end", null, null);
  5289. LaszloEventEngine.setInPeriodShooterEvent(false);
  5290. LaszloEventEngine.setShooterEventState(0);
  5291. LaszloEventEngine.setShooterRegistratedNum(0);
  5292. LaszloEventEngine.setShooterEventExtraInstancesCreated(0);
  5293. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  5294. RedHelper = 0;
  5295. BlueHelper = 0;
  5296.  
  5297. for (int i = 0; i < 5; i++)
  5298. {
  5299. LaszloEventEngine.setShooterRedPoints(i, 0);
  5300. LaszloEventEngine.setShooterBluePoints(i, 0);
  5301. LaszloEventEngine.setShooterPartakerNum(i, 0);
  5302. LaszloEventEngine.setShooterRedPartakerNum(i, 0);
  5303. LaszloEventEngine.setShooterBluePartakerNum(i, 0);
  5304. LaszloEventEngine.setRedBombPlantedShooterEvent(i, false);
  5305. LaszloEventEngine.setBlueBombPlantedShooterEvent(i, false);
  5306. LaszloEventEngine.setRedStoreDownShooterEvent(i, false);
  5307. LaszloEventEngine.setBlueStoreDownShooterEvent(i, false);
  5308. LaszloEventEngine.setWinnerRedShooterEvent(i, false);
  5309. LaszloEventEngine.setWinnerBlueShooterEvent(i, false);
  5310. LaszloEventEngine.setTieShooterEvent(i, false);
  5311. BombHelper1[i] = false;
  5312. BombHelper2[i] = false;
  5313. RespawnHelper[i] = false;
  5314. for (int j = 0; j < 7; j++)
  5315. {
  5316. PointStadisticNum[i][j] = 0;
  5317. PointStadisticId[i][j] = 0;
  5318. }
  5319. for (int j = 0; j <= Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE; j++)
  5320. {
  5321. for (int h = 0; h < 8; h++)
  5322. {
  5323. LaszloEventEngine.setCalculateStadisticsPoints(i, j, h, 0);
  5324. }
  5325. }
  5326. }
  5327. for (int j = 0; j < 4; j++)
  5328. {
  5329. LaszloEventEngine.setShooterEventInstancesSlot(j, false);
  5330. }
  5331. for (int p = 0; p < 8; p++)
  5332. {
  5333. Points[p] = 0;
  5334. }
  5335. ShooterQuest.startQuestTimer("player_cancel_event", 1000, null, null);
  5336. }
  5337. else
  5338. {
  5339. ShooterQuest.startQuestTimer("event_calculate_teams", 2000, null, null);
  5340. ShooterQuest.startQuestTimer("event_create_instances", 1000, null, null);
  5341. if (LaszloEventEngine.getShooterRegistratedNum() <= (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE))
  5342. {
  5343. LaszloEventEngine.setShooterEventExtraInstancesCreated(0);
  5344. }
  5345. else if (LaszloEventEngine.getShooterRegistratedNum() > (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE))
  5346. {
  5347. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE)
  5348. {
  5349. if ((LaszloEventEngine.getShooterRegistratedNum() > (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE)) && (LaszloEventEngine.getShooterRegistratedNum() <= (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 2)))
  5350. {
  5351. LaszloEventEngine.setShooterEventExtraInstancesCreated(1);
  5352. LaszloEventEngine.setShooterEventInstancesSlot(0, true);
  5353. }
  5354. else if ((LaszloEventEngine.getShooterRegistratedNum() > (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 2)) && (LaszloEventEngine.getShooterRegistratedNum() <= (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 3)))
  5355. {
  5356. LaszloEventEngine.setShooterEventExtraInstancesCreated(2);
  5357. LaszloEventEngine.setShooterEventInstancesSlot(0, true);
  5358. LaszloEventEngine.setShooterEventInstancesSlot(1, true);
  5359. }
  5360. else if ((LaszloEventEngine.getShooterRegistratedNum() > (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 3)) && (LaszloEventEngine.getShooterRegistratedNum() <= (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 4)))
  5361. {
  5362. LaszloEventEngine.setShooterEventExtraInstancesCreated(3);
  5363. LaszloEventEngine.setShooterEventInstancesSlot(0, true);
  5364. LaszloEventEngine.setShooterEventInstancesSlot(1, true);
  5365. LaszloEventEngine.setShooterEventInstancesSlot(2, true);
  5366. }
  5367. else if ((LaszloEventEngine.getShooterRegistratedNum() > (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 4)) && (LaszloEventEngine.getShooterRegistratedNum() <= (Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE * 5)))
  5368. {
  5369. LaszloEventEngine.setShooterEventExtraInstancesCreated(4);
  5370. LaszloEventEngine.setShooterEventInstancesSlot(0, true);
  5371. LaszloEventEngine.setShooterEventInstancesSlot(1, true);
  5372. LaszloEventEngine.setShooterEventInstancesSlot(2, true);
  5373. LaszloEventEngine.setShooterEventInstancesSlot(3, true);
  5374. }
  5375. }
  5376. else
  5377. {
  5378. LaszloEventEngine.setShooterEventExtraInstancesCreated(0);
  5379. for (int h = 0; h < 4; h++)
  5380. {
  5381. LaszloEventEngine.setShooterEventInstancesSlot(h, false);
  5382. LaszloEventEngine.setShooterEventInstancesSlot(h, false);
  5383. LaszloEventEngine.setShooterEventInstancesSlot(h, false);
  5384. LaszloEventEngine.setShooterEventInstancesSlot(h, false);
  5385. }
  5386. }
  5387. }
  5388. }
  5389. }
  5390. }
  5391.  
  5392. public void CalculateTeamsEvent(L2Character activeChar)
  5393. {
  5394. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  5395. {
  5396. if (player != null)
  5397. {
  5398. if (player.isEnrolledShooterEvent())
  5399. {
  5400. if ((LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) == LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent())) && (LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) == 0) && (LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) == 0))
  5401. {
  5402. if (Rnd.get(100) < 50)
  5403. {
  5404. RedHelper += 1;
  5405. LaszloEventEngine.setShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), RedHelper);
  5406. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5407. player.setRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5408. }
  5409. else
  5410. {
  5411. BlueHelper += 1;
  5412. LaszloEventEngine.setShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), BlueHelper);
  5413. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5414. player.setBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5415. }
  5416. player.setEnrolledShooterEvent(false);
  5417. }
  5418. else if (LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) > LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()))
  5419. {
  5420. BlueHelper += 1;
  5421. LaszloEventEngine.setShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), BlueHelper);
  5422. player.setBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5423. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5424. player.setEnrolledShooterEvent(false);
  5425. }
  5426. else if (LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) > LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()))
  5427. {
  5428. RedHelper += 1;
  5429. LaszloEventEngine.setShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), RedHelper);
  5430. player.setRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5431. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5432. player.setEnrolledShooterEvent(false);
  5433. }
  5434. else if ((LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) == LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent())) && (LaszloEventEngine.getShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) != 0) && (LaszloEventEngine.getShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent()) != 0))
  5435. {
  5436. if (Config.SHOOTER_EVENT_MULTIPLE_INSTANCE && (LaszloEventEngine.getShooterEventExtraInstancesCreated() > 0))
  5437. {
  5438. if (LaszloEventEngine.getDistributingHelperShooterEvent() < LaszloEventEngine.getShooterEventExtraInstancesCreated())
  5439. {
  5440. LaszloEventEngine.setDistributingHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent() + 1);
  5441. RedHelper -= 1;
  5442. BlueHelper -= 1;
  5443. }
  5444. else if (LaszloEventEngine.getDistributingHelperShooterEvent() >= LaszloEventEngine.getShooterEventExtraInstancesCreated())
  5445. {
  5446. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  5447. }
  5448. }
  5449. if (Rnd.get(100) < 50)
  5450. {
  5451. RedHelper += 1;
  5452. LaszloEventEngine.setShooterRedPartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), RedHelper);
  5453. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5454. player.setRedPartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5455. player.sendMessage("Equipo Rojo, Instance Zone " + (player.getInstanceHelperShooterEvent() + 1) + ".");
  5456. }
  5457. else
  5458. {
  5459. BlueHelper += 1;
  5460. LaszloEventEngine.setShooterBluePartakerNum(LaszloEventEngine.getDistributingHelperShooterEvent(), BlueHelper);
  5461. player.setInstanceHelperShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent());
  5462. player.setBluePartakerShooterEvent(LaszloEventEngine.getDistributingHelperShooterEvent(), true);
  5463. }
  5464. player.setEnrolledShooterEvent(false);
  5465. }
  5466. }
  5467. }
  5468. }
  5469. }
  5470.  
  5471. public static void CleanValuesPlayers(L2Character activeChar)
  5472. {
  5473. for (L2PcInstance player : L2World.getInstance().getAllPlayersArray())
  5474. {
  5475. if (player != null)
  5476. {
  5477. if (player.isEnrolledShooterEvent())
  5478. {
  5479. player.setEnrolledShooterEvent(false);
  5480. }
  5481. if (player.getDollarsShooterEvent() > 0)
  5482. {
  5483. player.setDollarsShooterEvent(0);
  5484. }
  5485. if (player.getInstanceHelperShooterEvent() > 0)
  5486. {
  5487. player.setInstanceHelperShooterEvent(0);
  5488. }
  5489. if (player.getMatrixLocShooterEvent() > 0)
  5490. {
  5491. player.setMatrixLocShooterEvent(0);
  5492. }
  5493. if (player.getRachaShooterEvent() > 0)
  5494. {
  5495. player.setRachaShooterEvent(0);
  5496. }
  5497. for (int i = 0; i < 5; i++)
  5498. {
  5499. if (player.isRedPartakerShooterEvent(i))
  5500. {
  5501. player.setRedPartakerShooterEvent(i, false);
  5502. }
  5503. if (player.isBluePartakerShooterEvent(i))
  5504. {
  5505. player.setBluePartakerShooterEvent(i, false);
  5506. }
  5507. }
  5508. for (int j = 0; j < 8; j++)
  5509. {
  5510. if (player.getMatrixStadisticsShooterEvent(j) > 0)
  5511. {
  5512. player.setMatrixStadisticsShooterEvent(j, 0);
  5513. }
  5514. }
  5515. }
  5516. }
  5517. }
  5518.  
  5519. public static void CleanValuesEvent()
  5520. {
  5521. LaszloEventEngine.setInPeriodShooterEvent(false);
  5522. LaszloEventEngine.setShooterEventState(0);
  5523. LaszloEventEngine.setShooterRegistratedNum(0);
  5524. LaszloEventEngine.setShooterEventExtraInstancesCreated(0);
  5525. LaszloEventEngine.setDistributingHelperShooterEvent(0);
  5526. RedHelper = 0;
  5527. BlueHelper = 0;
  5528. for (int k = 0; k < 4; k++)
  5529. {
  5530. LaszloEventEngine.setShooterEventInstancesSlot(k, false);
  5531. LaszloEventEngine.setShooterReadTime(k, 0);
  5532. }
  5533. for (int p = 0; p < 8; p++)
  5534. {
  5535. Points[p] = 0;
  5536. }
  5537. for (int i = 0; i < 5; i++)
  5538. {
  5539. LaszloEventEngine.setShooterRedPoints(i, 0);
  5540. LaszloEventEngine.setShooterBluePoints(i, 0);
  5541. LaszloEventEngine.setShooterPartakerNum(i, 0);
  5542. LaszloEventEngine.setShooterRedPartakerNum(i, 0);
  5543. LaszloEventEngine.setShooterBluePartakerNum(i, 0);
  5544. LaszloEventEngine.setRedBombPlantedShooterEvent(i, false);
  5545. LaszloEventEngine.setBlueBombPlantedShooterEvent(i, false);
  5546. LaszloEventEngine.setRedStoreDownShooterEvent(i, false);
  5547. LaszloEventEngine.setBlueStoreDownShooterEvent(i, false);
  5548. LaszloEventEngine.setWinnerRedShooterEvent(i, false);
  5549. LaszloEventEngine.setWinnerBlueShooterEvent(i, false);
  5550. LaszloEventEngine.setTieShooterEvent(i, false);
  5551. BombHelper1[i] = false;
  5552. BombHelper2[i] = false;
  5553. RespawnHelper[i] = false;
  5554. for (int j = 0; j < 8; j++)
  5555. {
  5556. PointStadisticNum[i][j] = 0;
  5557. PointStadisticId[i][j] = 0;
  5558. }
  5559. for (int j = 0; j <= Config.SHOOTER_EVENT_PARTICIPANTS_MAX_INSTANCE; j++)
  5560. {
  5561. for (int h = 0; h < 9; h++)
  5562. {
  5563. LaszloEventEngine.setCalculateStadisticsPoints(i, j, h, 0);
  5564. }
  5565. }
  5566. }
  5567. }
  5568.  
  5569. public static void main(String[] args)
  5570. {
  5571. new STD(-1, "STD", "laszloevents");
  5572. }
  5573. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement