Addition of upgrade equipment system.

This commit is contained in:
MobiusDevelopment
2019-06-20 00:49:47 +00:00
parent 712e10dc92
commit fc2c52f965
27 changed files with 4823 additions and 15654 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
<html><body>Head Blacksmith Ferris:<br>
Have you heard of the crystals that contain the desires of spirits? They've been appearing in various places throughout Aden, and the elders and blacksmiths found out that they can be used to increase the level of equipment.<br>
I learned from the elders how to bring out the power from the crystals, and I'm able to upgrade equipment with that. Are you ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 30847002"><font color="LEVEL">"Upgrade Warrior, Knight and Wizard Circlet"</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 30847001"><font color="LEVEL">"Exchange Krishna/Leviathan Equipment"</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_UpgradeEquipment"><font color="LEVEL">"Upgrade equipment."</font></Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</Button>
</body></html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<npcs>
<npc>30847</npc> <!-- Ferris (Aden) -->
</npcs>
<item>
<ingredient count="1" id="48202" enchantmentLevel="5" /><!-- Warrior's Circlet -->
<ingredient count="1" id="48212" /> <!-- Noble Circlet Upgrade Stone -->
<production count="1" id="48203" /><!-- Noble Warrior's Circlet -->
</item>
<item>
<ingredient count="1" id="48203" enchantmentLevel="5" /><!-- Noble Warrior's Circlet -->
<ingredient count="1" id="48213" /> <!-- Radiant Circlet Upgrade Stone -->
<production count="1" id="48204" /><!-- Radiant Warrior's Circlet -->
</item>
<item>
<ingredient count="1" id="48205" enchantmentLevel="5" /><!-- Wizard's Circlet -->
<ingredient count="1" id="48212" /> <!-- Noble Circlet Upgrade Stone -->
<production count="1" id="48206" /><!-- Noble Wizard's Circlet -->
</item>
<item>
<ingredient count="1" id="48206" enchantmentLevel="5" /><!-- Noble Wizard's Circlet -->
<ingredient count="1" id="48213" /> <!-- Radiant Circlet Upgrade Stone -->
<production count="1" id="48207" /><!-- Radiant Wizard's Circlet -->
</item>
<item>
<ingredient count="1" id="48208" enchantmentLevel="5" /><!-- Knight's Circlet -->
<ingredient count="1" id="48212" /> <!-- Noble Circlet Upgrade Stone -->
<production count="1" id="48209" /><!-- Noble Knight's Circlet -->
</item>
<item>
<ingredient count="1" id="48209" enchantmentLevel="5" /><!-- Noble Knight's Circlet -->
<ingredient count="1" id="48213" /> <!-- Radiant Circlet Upgrade Stone -->
<production count="1" id="48210" /><!-- Radiant Knight's Circlet -->
</item>
<item>
<ingredient count="1" id="48491" enchantmentLevel="5" /><!-- Dragon Skin Shirt -->
<ingredient count="1" id="48495" /> <!-- Noble Leather Upgrade Stone -->
<production count="1" id="48492" /><!-- Dragon Leather Shirt -->
</item>
<item>
<ingredient count="1" id="48492" enchantmentLevel="5" /><!-- Dragon Leather Shirt -->
<ingredient count="1" id="48496" /> <!-- Radiant Rind Upgrade Stone -->
<production count="1" id="48493" /><!-- Dragon Rind Leather Shirt -->
</item>
</list>

View File

@@ -159,6 +159,7 @@ import handlers.bypasshandlers.ReleaseAttribute;
import handlers.bypasshandlers.SkillList;
import handlers.bypasshandlers.TerritoryStatus;
import handlers.bypasshandlers.TutorialClose;
import handlers.bypasshandlers.UpgradeEquipment;
import handlers.bypasshandlers.VoiceCommand;
import handlers.bypasshandlers.Wear;
import handlers.chathandlers.ChatAlliance;
@@ -498,6 +499,7 @@ public class MasterHandler
SkillList.class,
TerritoryStatus.class,
TutorialClose.class,
UpgradeEquipment.class,
VoiceCommand.class,
Wear.class,
},

View File

@@ -0,0 +1,53 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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 org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.serverpackets.equipmentupgrade.ExShowUpgradeSystem;
/**
* @author Mobius
*/
public class UpgradeEquipment implements IBypassHandler
{
private static final int FERRIS = 30847;
private static final String[] COMMANDS =
{
"UpgradeEquipment"
};
@Override
public boolean useBypass(String command, PlayerInstance player, Creature target)
{
if ((target == null) || !target.isNpc() || (((Npc) target).getId() != FERRIS))
{
return false;
}
player.sendPacket(new ExShowUpgradeSystem());
return true;
}
@Override
public String[] getBypassList()
{
return COMMANDS;
}
}

View File

@@ -0,0 +1,21 @@
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="upgrade" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:short" name="id" use="required"/>
<xs:attribute type="xs:string" name="item" use="optional"/>
<xs:attribute type="xs:string" name="materials" use="optional"/>
<xs:attribute type="xs:long" name="adena" use="optional"/>
<xs:attribute type="xs:string" name="result" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>