瀏覽代碼

BETA: Typo fixes for [10404]:
* Missing bypass update.
* Reported by: valanths1990
* Patch by: valanths1990
* Missing index validation.
* Reported by: UnAfraid

Zoey76 10 年之前
父節點
當前提交
efba77b228

+ 10 - 10
L2J_DataPack_BETA/dist/game/data/html/olympiad/olympiad_5buffs.htm

@@ -5,16 +5,16 @@
 	<tr><td height=24></td></tr>
 	<tr><td><center>
 <br><center>
-<a action="bypass -h npc_%objectId%_OlyBuff 4357">Haste Lv2</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4342">Wind Walk Lv2</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4356">Empower Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4355">Acumen Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4351">Concentration Lv6</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4345">Might Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4358">Guidance Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4359">Focus Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4360">Death Whisper Lv3</a><br>
-<a action="bypass -h npc_%objectId%_OlyBuff 4352">Berserker Spirit Lv2</a>
+<a action="bypass -h npc_%objectId%_OlyBuff 0">Haste Lv2</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 1">Wind Walk Lv2</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 2">Empower Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 3">Acumen Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 4">Concentration Lv6</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 5">Might Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 6">Guidance Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 7">Focus Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 8">Death Whisper Lv3</a><br>
+<a action="bypass -h npc_%objectId%_OlyBuff 9">Berserker Spirit Lv2</a>
 	</center></td></tr>
 	<tr><td height=24></td></tr>
 </table>

+ 8 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/OlympiadManagerLink.java

@@ -257,7 +257,14 @@ public class OlympiadManagerLink implements IBypassHandler
 					return false;
 				}
 				
-				final NpcBufferData npcBuffGroupInfo = NpcBufferTable.getInstance().getSkillInfo(target.getId(), BUFFS[Integer.parseInt(params[1])]);
+				final int index = Integer.parseInt(params[1]);
+				if ((index < 0) || (index > BUFFS.length))
+				{
+					_log.warning("Olympiad Buffer Warning: npcId = " + target.getId() + " has invalid index sent in the bypass: " + index);
+					return false;
+				}
+				
+				final NpcBufferData npcBuffGroupInfo = NpcBufferTable.getInstance().getSkillInfo(target.getId(), BUFFS[index]);
 				if (npcBuffGroupInfo == null)
 				{
 					_log.warning("Olympiad Buffer Warning: npcId = " + target.getId() + " Location: " + target.getX() + ", " + target.getY() + ", " + target.getZ() + " Player: " + activeChar.getName() + " has tried to use skill group (" + params[1] + ") not assigned to the NPC Buffer!");