Fishing Championship Tournament.

This commit is contained in:
mobius
2015-01-02 11:32:08 +00:00
parent 6e0be1da25
commit b6bdcefdfa
43 changed files with 793 additions and 70 deletions

View File

@ -20,13 +20,17 @@ package com.l2jserver.gameserver.model.actor.instance;
import java.util.List;
import com.l2jserver.Config;
import com.l2jserver.gameserver.datatables.SkillTreesData;
import com.l2jserver.gameserver.enums.InstanceType;
import com.l2jserver.gameserver.instancemanager.FishingChampionshipManager;
import com.l2jserver.gameserver.model.L2SkillLearn;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
import com.l2jserver.gameserver.model.base.AcquireSkillType;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
public final class L2FishermanInstance extends L2MerchantInstance
@ -61,6 +65,35 @@ public final class L2FishermanInstance extends L2MerchantInstance
{
showFishSkillList(player);
}
else if (command.startsWith("FishingChampionship"))
{
if (Config.ALT_FISH_CHAMPIONSHIP_ENABLED)
{
FishingChampionshipManager.getInstance().showChampScreen(player, this);
}
else
{
sendHtml(player, this, "no_fish_event001.htm");
}
}
else if (command.startsWith("FishingReward"))
{
if (Config.ALT_FISH_CHAMPIONSHIP_ENABLED)
{
if (FishingChampionshipManager.getInstance().isWinner(player.getName()))
{
FishingChampionshipManager.getInstance().getReward(player);
}
else
{
sendHtml(player, this, "no_fish_event_reward001.htm");
}
}
else
{
sendHtml(player, this, "no_fish_event001.htm");
}
}
else
{
super.onBypassFeedback(player, command);
@ -90,4 +123,11 @@ public final class L2FishermanInstance extends L2MerchantInstance
player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.FISHING));
}
}
private static void sendHtml(L2PcInstance player, L2Npc npc, String htmlName)
{
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
html.setFile(player.getHtmlPrefix(), "data/html/fisherman/championship/" + htmlName);
player.sendPacket(html);
}
}

View File

@ -11938,7 +11938,7 @@ public final class L2PcInstance extends L2Playable
public void startFishCombat(boolean isNoob, boolean isUpperGrade)
{
_fishCombat = new L2Fishing(this, _fish, isNoob, isUpperGrade);
_fishCombat = new L2Fishing(this, _fish, isNoob, isUpperGrade, _lure.getId());
}
public void endFishing(boolean win)

View File

@ -22,6 +22,7 @@ import java.util.concurrent.Future;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.FishingMonstersData;
import com.l2jserver.gameserver.instancemanager.FishingChampionshipManager;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.events.AbstractScript;
@ -49,6 +50,7 @@ public class L2Fishing implements Runnable
private int _fishCurHp;
private final double _regenHp;
private final boolean _isUpperGrade;
private final int _lureId;
@Override
public void run()
@ -76,7 +78,7 @@ public class L2Fishing implements Runnable
}
}
public L2Fishing(L2PcInstance Fisher, L2Fish fish, boolean isNoob, boolean isUpperGrade)
public L2Fishing(L2PcInstance Fisher, L2Fish fish, boolean isNoob, boolean isUpperGrade, int lureId)
{
_fisher = Fisher;
_fishMaxHp = fish.getFishHp();
@ -85,6 +87,7 @@ public class L2Fishing implements Runnable
_fishId = fish.getItemId();
_time = fish.getCombatDuration();
_isUpperGrade = isUpperGrade;
_lureId = lureId;
final int lureType;
if (isUpperGrade)
{
@ -160,6 +163,7 @@ public class L2Fishing implements Runnable
{
_fisher.sendPacket(SystemMessageId.YOU_CAUGHT_SOMETHING);
_fisher.addItem("Fishing", _fishId, 1, null, true);
FishingChampionshipManager.getInstance().newFish(_fisher, _lureId);
}
}
}