Addition of Chuseok Harvest Festival exploit checks.
This commit is contained in:
@@ -28,6 +28,8 @@ import org.l2jmobius.gameserver.model.actor.Npc;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
|
import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
|
||||||
|
import org.l2jmobius.gameserver.model.skill.SkillCaster;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @URL https://l2central.info/main/events_and_promos/1459.html
|
* @URL https://l2central.info/main/events_and_promos/1459.html
|
||||||
@@ -60,45 +62,58 @@ public class ChuseokHarvestFestival extends LongTimeEvent
|
|||||||
@Override
|
@Override
|
||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
String htmltext = event;
|
String htmltext = null;
|
||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "getTicket":
|
case "getTicket":
|
||||||
{
|
{
|
||||||
|
if (npc.getId() != FULL_MOON)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (player.getLevel() < PLAYER_LEVEL)
|
if (player.getLevel() < PLAYER_LEVEL)
|
||||||
{
|
{
|
||||||
htmltext = "no-level.htm";
|
htmltext = "no-level.htm";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (player.getVariables().getBoolean(CHUSEOK_HARVEST_FESTIVAL_VAR, false))
|
if (player.getVariables().getBoolean(CHUSEOK_HARVEST_FESTIVAL_VAR, false))
|
||||||
{
|
{
|
||||||
player.sendMessage("This character has already received a ticket. An account can receive a ticket once a day.");
|
player.sendPacket(SystemMessageId.YOU_HAVE_ALREADY_BEEN_REWARDED_FOR_ENTERING_A_WISH_YOU_CAN_ONLY_MAKE_1_WISH_PER_CHARACTER);
|
||||||
return null;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
giveItems(player, WISH_TICKET, 1);
|
|
||||||
player.getVariables().set(CHUSEOK_HARVEST_FESTIVAL_VAR, true);
|
|
||||||
player.getVariables().storeMe();
|
|
||||||
// htmltext = "34065-successful.htm"; // TODO: Addd retail html if any.
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.getVariables().set(CHUSEOK_HARVEST_FESTIVAL_VAR, true);
|
||||||
|
player.getVariables().storeMe();
|
||||||
|
giveItems(player, WISH_TICKET, 1);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case "getBuff":
|
case "getBuff":
|
||||||
{
|
{
|
||||||
|
if (npc.getId() != FULL_MOON)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (player.getLevel() < PLAYER_LEVEL)
|
if (player.getLevel() < PLAYER_LEVEL)
|
||||||
{
|
{
|
||||||
htmltext = "no-level.htm";
|
htmltext = "no-level.htm";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
npc.setTarget(player);
|
if (player.isAffectedBySkill(ENERGY_BUFF))
|
||||||
npc.doCast(ENERGY_BUFF.getSkill());
|
{
|
||||||
return null;
|
player.sendPacket(SystemMessageId.YOU_CANNOT_CHANGE_YOUR_WISH_ONCE_ENTERED_PROCEED);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
SkillCaster.triggerCast(npc, player, ENERGY_BUFF.getSkill());
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case "moveToTheMoon":
|
case "moveToTheMoon":
|
||||||
{
|
{
|
||||||
player.teleToLocation(FULL_MOON_LOC, true);
|
if (npc.getId() == MOON_RABBIT)
|
||||||
return "";
|
{
|
||||||
|
player.teleToLocation(FULL_MOON_LOC, true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case "schedule":
|
case "schedule":
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1026,34 +1026,34 @@
|
|||||||
</effect>
|
</effect>
|
||||||
</effects>
|
</effects>
|
||||||
<endEffects>
|
<endEffects>
|
||||||
<effect name="CallSkill" fromLevel="1" toLevel="23">
|
<effect name="CallSkill" fromLevel="1" toLevel="23">
|
||||||
<skillId>34288</skillId> <!-- Full Moon's Festive Energy -->
|
<skillId>34288</skillId> <!-- Full Moon's Festive Energy -->
|
||||||
<skillLevel>
|
<skillLevel>
|
||||||
<value level="1">2</value>
|
<value level="1">2</value>
|
||||||
<value level="2">3</value>
|
<value level="2">3</value>
|
||||||
<value level="3">4</value>
|
<value level="3">4</value>
|
||||||
<value level="4">5</value>
|
<value level="4">5</value>
|
||||||
<value level="5">6</value>
|
<value level="5">6</value>
|
||||||
<value level="6">7</value>
|
<value level="6">7</value>
|
||||||
<value level="7">8</value>
|
<value level="7">8</value>
|
||||||
<value level="8">9</value>
|
<value level="8">9</value>
|
||||||
<value level="9">10</value>
|
<value level="9">10</value>
|
||||||
<value level="10">11</value>
|
<value level="10">11</value>
|
||||||
<value level="11">12</value>
|
<value level="11">12</value>
|
||||||
<value level="12">13</value>
|
<value level="12">13</value>
|
||||||
<value level="13">14</value>
|
<value level="13">14</value>
|
||||||
<value level="14">15</value>
|
<value level="14">15</value>
|
||||||
<value level="15">16</value>
|
<value level="15">16</value>
|
||||||
<value level="16">17</value>
|
<value level="16">17</value>
|
||||||
<value level="17">18</value>
|
<value level="17">18</value>
|
||||||
<value level="18">19</value>
|
<value level="18">19</value>
|
||||||
<value level="19">20</value>
|
<value level="19">20</value>
|
||||||
<value level="20">21</value>
|
<value level="20">21</value>
|
||||||
<value level="21">22</value>
|
<value level="21">22</value>
|
||||||
<value level="22">23</value>
|
<value level="22">23</value>
|
||||||
<value level="23">24</value>
|
<value level="23">24</value>
|
||||||
</skillLevel>
|
</skillLevel>
|
||||||
</effect>
|
</effect>
|
||||||
</endEffects>
|
</endEffects>
|
||||||
</skill>
|
</skill>
|
||||||
<skill id="34289" toLevel="2" name="Atelia's Weak Energy">
|
<skill id="34289" toLevel="2" name="Atelia's Weak Energy">
|
||||||
|
|||||||
Reference in New Issue
Block a user