- Implemented Appearance Stones with engine.

- Fixed Private Stores, not showing items enchant level, attributes, appearance.
 - Fixed RelationChange packet, with reputation, for green name for normal players on login.
This commit is contained in:
erlandys56
2015-01-26 21:09:25 +00:00
parent 095d3bb620
commit eb8567590a
37 changed files with 1142 additions and 42 deletions

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/AppearanceStones.xsd">
<stone id="22403" type="normal" itemType="weapon" maxGrade="s84" price="800000" />
</list>

View File

@@ -170,6 +170,7 @@ import handlers.itemhandlers.EventItem;
import handlers.itemhandlers.ExtractableItems;
import handlers.itemhandlers.FishShots;
import handlers.itemhandlers.Harvester;
import handlers.itemhandlers.ItemAppearance;
import handlers.itemhandlers.ItemSkills;
import handlers.itemhandlers.ItemSkillsTemplate;
import handlers.itemhandlers.ManaPotion;
@@ -474,6 +475,7 @@ public class MasterHandler
ExtractableItems.class,
FishShots.class,
Harvester.class,
ItemAppearance.class,
ItemSkills.class,
ItemSkillsTemplate.class,
ManaPotion.class,

View File

@@ -0,0 +1,44 @@
/*
* 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.itemhandlers;
import com.l2jserver.gameserver.handler.IItemHandler;
import com.l2jserver.gameserver.model.actor.L2Playable;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
import com.l2jserver.gameserver.network.serverpackets.itemappearance.ExChoose_Shape_Shifting_Item;
/**
* @author Erlandys
*/
public class ItemAppearance implements IItemHandler
{
@Override
public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
{
if (!(playable instanceof L2PcInstance))
{
return false;
}
final L2PcInstance activeChar = (L2PcInstance) playable;
if ((item == null) || !item.isEtcItem() || (item.isEtcItem() && (item.getEtcItem().getAppearanceStone() == null)))
{
return false;
}
activeChar.sendPacket(new ExChoose_Shape_Shifting_Item(item.getEtcItem().getAppearanceStone()));
activeChar.setUsingAppearanceStone(item);
return true;
}
}

View File

@@ -20,6 +20,7 @@
<!-- Changes the appearance of an S-grade weapon to that of a different weapon of the same grade or a lower grade. You need an appearance item, which is destroyed after its appearance is extracted. An appearance-modified item has no change in abilities. Double-click to use. -->
<set name="icon" val="BranchSys3.icon.g_wp_processing_stone_s" />
<set name="is_stackable" val="true" />
<set name="handler" val="ItemAppearance" />
</item>
<item id="22404" name="Weapon Appearance Stone (A-grade)" additionalName="" type="EtcItem">
<!-- Changes the appearance of an A-grade weapon to that of a different weapon of the same grade or a lower grade. You need an appearance item, which is destroyed after its appearance is extracted. An appearance-modified item has no change in abilities. Double-click to use. -->

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="stone" minOccurs="1">
<xs:complexType>
<xs:attribute type="xs:integer" name="id" />
<xs:attribute type="xs:string" name="type" />
<xs:attribute type="xs:string" name="itemType" />
<xs:attribute type="xs:string" name="maxGrade" />
<xs:attribute type="xs:integer" name="price" />
<xs:attribute type="xs:integer" name="targetItem" />
<xs:attribute type="xs:integer" name="time" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -11,6 +11,8 @@ CREATE TABLE IF NOT EXISTS `items` (
`custom_type2` INT DEFAULT 0,
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`time` decimal(13) NOT NULL DEFAULT 0,
`appearance_id` int(11) NOT NULL DEFAULT 0,
`appearance_time` decimal(13) NOT NULL DEFAULT -1,
PRIMARY KEY (`object_id`),
KEY `owner_id` (`owner_id`),
KEY `item_id` (`item_id`),