[Classic] Missing updates.

This commit is contained in:
MobiusDev 2015-05-22 04:38:57 +00:00
parent 13e5560585
commit 95c8b1345c
9 changed files with 97 additions and 12 deletions

View File

@ -0,0 +1,11 @@
<html><body>Test Server Helper:<br>
What item do you need?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175601">Soulshot, shared item or other supplies.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175602">No-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175603">D-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175604">C-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175605">B-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175606">A-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175607">S-grade recipe.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy 3175608">Ordinary manufacturing recipe.</Button>
</body></html>

View File

@ -0,0 +1,13 @@
<html><body>Test Server Helper:<br>
How may I assist you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_1stClass">Complete the first class transfer.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_2ndClass">Complete the second class transfer.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_3rdClass">Complete the third class transfer.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_4thClass">Complete the fourth class transfer.</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_become_noble">Become Noblesse</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 201">Purchase wearable items</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_increase_clan_level">Raise the clan's level</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_learn_skills">Learn all skills</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Purchase items</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 202">Purchase quest items and rare spellbooks</Button>
</body></html>

View File

@ -6,5 +6,5 @@ Item(s) required for class change:
%req_items%
</table>
<br><br>
<a action="link COXX">Ask me next time.</a>
<a action="bypass -h AlternateClassMaster close_window">Ask me next time.</a>
</body></html>

View File

@ -109,6 +109,7 @@ import handlers.admincommandhandlers.AdminTvTEvent;
import handlers.admincommandhandlers.AdminUnblockIp;
import handlers.admincommandhandlers.AdminVitality;
import handlers.admincommandhandlers.AdminZone;
import handlers.bypasshandlers.AlternateClassMaster;
import handlers.bypasshandlers.ArcanCityMovie;
import handlers.bypasshandlers.Augment;
import handlers.bypasshandlers.Buy;
@ -243,6 +244,7 @@ import handlers.usercommandhandlers.ChannelLeave;
import handlers.usercommandhandlers.ClanPenalty;
import handlers.usercommandhandlers.ClanWarsList;
import handlers.usercommandhandlers.Dismount;
import handlers.usercommandhandlers.ExperienceGain;
import handlers.usercommandhandlers.InstanceZone;
import handlers.usercommandhandlers.Loc;
import handlers.usercommandhandlers.Mount;
@ -411,6 +413,7 @@ public class MasterHandler
},
{
// Bypass Handlers
AlternateClassMaster.class,
ArcanCityMovie.class,
Augment.class,
Buy.class,
@ -515,6 +518,7 @@ public class MasterHandler
ClanPenalty.class,
ClanWarsList.class,
Dismount.class,
ExperienceGain.class,
Unstuck.class,
InstanceZone.class,
Loc.class,

View File

@ -72,7 +72,7 @@ public class L2PcInstanceAction implements IActionHandler
// Aggression target lock effect
if (activeChar.isLockedTarget() && (activeChar.getLockedTarget() != target))
{
activeChar.sendPacket(SystemMessageId.FAILED_CHANGE_TARGET);
activeChar.sendPacket(SystemMessageId.FAILED_TO_CHANGE_ENMITY);
return false;
}

View File

@ -0,0 +1,48 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.bypasshandlers;
import com.l2jserver.gameserver.handler.IBypassHandler;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.instance.L2ClassMasterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
/**
* @author Mobius
*/
public class AlternateClassMaster implements IBypassHandler
{
private static final String[] COMMANDS =
{
"AlternateClassMaster",
};
@Override
public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)
{
L2ClassMasterInstance.onTutorialLink(activeChar, command);
return false;
}
@Override
public String[] getBypassList()
{
return COMMANDS;
}
}

View File

@ -93,7 +93,7 @@ public final class Fishing extends AbstractEffect
}
else
{
player.endFishing(false);
player.endFishing(false, false);
}
player.sendPacket(SystemMessageId.YOUR_ATTEMPT_AT_FISHING_HAS_BEEN_CANCELLED);

View File

@ -16,7 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package custom.listeners.ExperienceGain;
package handlers.usercommandhandlers;
import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
import com.l2jserver.gameserver.model.actor.L2Playable;
@ -33,28 +33,28 @@ public final class ExperienceGain implements IVoicedCommandHandler
{
private final String[] COMMANDS = new String[]
{
"xpoff",
"xpon",
"expoff",
"expon",
};
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
{
if (command.equals("xpoff"))
if (command.equals("expoff"))
{
if (!activeChar.getVariables().getBoolean("XPOFF", false))
if (!activeChar.getVariables().getBoolean("EXPOFF", false))
{
activeChar.addListener(new FunctionEventListener(activeChar, EventType.ON_PLAYABLE_EXP_CHANGED, (OnPlayableExpChanged event) -> onExperienceReceived(event.getActiveChar(), event.getNewExp() - event.getOldExp()), this));
activeChar.getVariables().set("XPOFF", true);
activeChar.getVariables().set("EXPOFF", true);
activeChar.sendMessage("Experience gain is disabled.");
}
}
else if (command.equals("xpon"))
else if (command.equals("expon"))
{
if (activeChar.getVariables().getBoolean("XPOFF", false))
if (activeChar.getVariables().getBoolean("EXPOFF", false))
{
activeChar.removeListenerIf(EventType.ON_PLAYABLE_EXP_CHANGED, listener -> listener.getOwner() == this);
activeChar.getVariables().set("XPOFF", false);
activeChar.getVariables().set("EXPOFF", false);
activeChar.sendMessage("Experience gain is enabled.");
}
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/npcs.xsd">
<npc id="31756" displayId="14200" name="Mr. Cat" usingServerSideName="true" title="Class Master" usingServerSideTitle="true" type="L2ClassMaster">
<collision>
<radius normal="8" />
<height normal="15" />
</collision>
</npc>
</list>