Addition of symbol seal data.

Contributed by NviX.
This commit is contained in:
MobiusDevelopment
2019-10-14 16:05:02 +00:00
parent ef88526bef
commit 3f2c76f960
22 changed files with 2250 additions and 202 deletions

View File

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/SymbolSealData.xsd">
<class id="148"> <!-- Sigel Phoenix Knight -->
<symbol id="1" skillId="35410" />
<symbol id="2" skillId="35446" />
<symbol id="3" skillId="35482" />
</class>
<class id="149"> <!-- Sigel Hell Knight -->
<symbol id="1" skillId="35411" />
<symbol id="2" skillId="35447" />
<symbol id="3" skillId="35483" />
</class>
<class id="150"> <!-- Sigel Eva's Templar -->
<symbol id="1" skillId="35419" />
<symbol id="2" skillId="35455" />
<symbol id="3" skillId="35491" />
</class>
<class id="151"> <!-- Sigel Shillien Templar -->
<symbol id="1" skillId="35426" />
<symbol id="2" skillId="35462" />
<symbol id="3" skillId="35498" />
</class>
<class id="152"> <!-- Tyrr Duelist -->
<symbol id="1" skillId="35408" />
<symbol id="2" skillId="35444" />
<symbol id="3" skillId="35480" />
</class>
<class id="153"> <!-- Tyrr Dreadnought -->
<symbol id="1" skillId="35409" />
<symbol id="2" skillId="35445" />
<symbol id="3" skillId="35481" />
</class>
<class id="154"> <!-- Tyrr Titan -->
<symbol id="1" skillId="35433" />
<symbol id="2" skillId="35469" />
<symbol id="3" skillId="35505" />
</class>
<class id="155"> <!-- Tyrr Grand Khavatari -->
<symbol id="1" skillId="35434" />
<symbol id="2" skillId="35470" />
<symbol id="3" skillId="35506" />
</class>
<class id="156"> <!-- Tyrr Maestro -->
<symbol id="1" skillId="35438" />
<symbol id="2" skillId="35474" />
<symbol id="3" skillId="35510" />
</class>
<class id="157"> <!-- Tyrr Doombringer -->
<symbol id="1" skillId="35439" />
<symbol id="2" skillId="35475" />
<symbol id="3" skillId="35511" />
</class>
<class id="158"> <!-- Othell Adventurer -->
<symbol id="1" skillId="35412" />
<symbol id="2" skillId="35448" />
<symbol id="3" skillId="35484" />
</class>
<class id="159"> <!-- Othell Wind Rider -->
<symbol id="1" skillId="35413" />
<symbol id="2" skillId="35449" />
<symbol id="3" skillId="35493" />
</class>
<class id="160"> <!-- Othell Ghost Hunter -->
<symbol id="1" skillId="35421" />
<symbol id="2" skillId="35457" />
<symbol id="3" skillId="35500" />
</class>
<class id="161"> <!-- Othell Fortune Seeker -->
<symbol id="1" skillId="35422" />
<symbol id="2" skillId="35458" />
<symbol id="3" skillId="35509" />
</class>
<class id="162"> <!-- Yul Sagittarius -->
<symbol id="1" skillId="35428" />
<symbol id="2" skillId="35464" />
<symbol id="3" skillId="35485" />
</class>
<class id="163"> <!-- Yul Moonlight Sentinel -->
<symbol id="1" skillId="35429" />
<symbol id="2" skillId="35465" />
<symbol id="3" skillId="35494" />
</class>
<class id="164"> <!-- Yul Ghost Sentinel -->
<symbol id="1" skillId="35437" />
<symbol id="2" skillId="35473" />
<symbol id="3" skillId="35501" />
</class>
<class id="165"> <!-- Yul Trickster -->
<symbol id="1" skillId="35441" />
<symbol id="2" skillId="35477" />
<symbol id="3" skillId="35513" />
</class>
<class id="166"> <!-- Feoh Archmage -->
<symbol id="1" skillId="35414" />
<symbol id="2" skillId="35450" />
<symbol id="3" skillId="35486" />
</class>
<class id="167"> <!-- Feoh Soultaker -->
<symbol id="1" skillId="35415" />
<symbol id="2" skillId="35451" />
<symbol id="3" skillId="35487" />
</class>
<class id="168"> <!-- Feoh Mystic Muse -->
<symbol id="1" skillId="35423" />
<symbol id="2" skillId="35452" />
<symbol id="3" skillId="35495" />
</class>
<class id="169"> <!-- Feoh Storm Screamer -->
<symbol id="1" skillId="35430" />
<symbol id="2" skillId="35459" />
<symbol id="3" skillId="35502" />
</class>
<class id="170"> <!-- Feoh Soulhound -->
<symbol id="1" skillId="35440" />
<symbol id="2" skillId="35460" />
<symbol id="3" skillId="35512" />
</class>
<class id="171"> <!-- Iss Hierophant -->
<symbol id="1" skillId="35416" />
<symbol id="2" skillId="35454" />
<symbol id="3" skillId="35490" />
</class>
<class id="172"> <!-- Iss Sword Muse -->
<symbol id="1" skillId="35418" />
<symbol id="2" skillId="35456" />
<symbol id="3" skillId="35492" />
</class>
<class id="173"> <!-- Iss Spectral Dancer -->
<symbol id="1" skillId="35420" />
<symbol id="2" skillId="35463" />
<symbol id="3" skillId="35499" />
</class>
<class id="174"> <!-- Iss Dominator -->
<symbol id="1" skillId="35424" />
<symbol id="2" skillId="35471" />
<symbol id="3" skillId="35507" />
</class>
<class id="175"> <!-- Iss Doomcryer -->
<symbol id="1" skillId="35427" />
<symbol id="2" skillId="35472" />
<symbol id="3" skillId="35508" />
</class>
<class id="176"> <!-- Wynn Arcana Lord -->
<symbol id="1" skillId="35431" />
<symbol id="2" skillId="35466" />
<symbol id="3" skillId="35488" />
</class>
<class id="177"> <!-- Wynn Elemental Master -->
<symbol id="1" skillId="35435" />
<symbol id="2" skillId="35467" />
<symbol id="3" skillId="35496" />
</class>
<class id="178"> <!-- Wynn Spectral Master -->
<symbol id="1" skillId="35436" />
<symbol id="2" skillId="35476" />
<symbol id="3" skillId="35503" />
</class>
<class id="179"> <!-- Aeore Cardinal -->
<symbol id="1" skillId="35417" />
<symbol id="2" skillId="35453" />
<symbol id="3" skillId="35489" />
</class>
<class id="180"> <!-- Aeore Eva's Saint -->
<symbol id="1" skillId="35425" />
<symbol id="2" skillId="35461" />
<symbol id="3" skillId="35497" />
</class>
<class id="181"> <!-- Aeore Shillien Saint -->
<symbol id="1" skillId="35432" />
<symbol id="2" skillId="35468" />
<symbol id="3" skillId="35504" />
</class>
<class id="188"> <!-- Eviscerator -->
<symbol id="1" skillId="35442" />
<symbol id="2" skillId="35478" />
<symbol id="3" skillId="35514" />
</class>
<class id="189"> <!-- Sayha's Seer -->
<symbol id="1" skillId="35443" />
<symbol id="2" skillId="35479" />
<symbol id="3" skillId="35515" />
</class>
</list>

View File

@@ -293,6 +293,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("ResistSkill", ResistSkill::new);
EffectHandler.getInstance().registerHandler("Restoration", Restoration::new);
EffectHandler.getInstance().registerHandler("RestorationRandom", RestorationRandom::new);
EffectHandler.getInstance().registerHandler("RestoreSymbolSeal", RestoreSymbolSeal::new);
EffectHandler.getInstance().registerHandler("Resurrection", Resurrection::new);
EffectHandler.getInstance().registerHandler("ResurrectionSpecial", ResurrectionSpecial::new);
EffectHandler.getInstance().registerHandler("Reuse", Reuse::new);

View File

@@ -84,6 +84,7 @@ public class ClassChange extends AbstractEffect
msg.addClassId(player.getClassId().getId());
player.sendPacket(msg);
player.updateSymbolSealSkills();
player.broadcastUserInfo();
player.sendPacket(new AcquireSkillList(player));
player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED));

View File

@@ -0,0 +1,82 @@
/*
* 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.effecthandlers;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.StatModifierType;
import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author NviX
*/
public class RestoreSymbolSeal extends AbstractEffect
{
private final int _amount;
private final StatModifierType _mode;
public RestoreSymbolSeal(StatsSet params)
{
_amount = params.getInt("amount", 0);
_mode = params.getEnum("mode", StatModifierType.class, StatModifierType.PER);
}
@Override
public boolean isInstant()
{
return true;
}
@Override
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
{
if (effected.isDead() || effected.isDoor())
{
return;
}
PlayerInstance player = effected.getActingPlayer();
int basicAmount = _amount;
double amount = 0;
switch (_mode)
{
case DIFF:
{
amount = Math.min(basicAmount, Config.MAX_SYMBOL_SEAL_POINTS - player.getSymbolSealPoints());
break;
}
case PER:
{
amount = Math.min((Config.MAX_SYMBOL_SEAL_POINTS * basicAmount) / 100, Config.MAX_SYMBOL_SEAL_POINTS - player.getSymbolSealPoints());
break;
}
}
if (amount > 0)
{
final double newSymbolSealPoints = amount + effected.getActingPlayer().getSymbolSealPoints();
player.setSymbolSealPoints((int) newSymbolSealPoints);
player.updateSymbolSealSkills();
player.sendSkillList();
player.broadcastUserInfo();
}
}
}

View File

@@ -1206,14 +1206,24 @@
<set name="is_stackable" val="true" />
</item>
<item id="80762" name="Dye Powder" type="EtcItem">
<!-- Powder that replenish the Dye Engraving Gauge. Restores 25% of the full gauge. -->
<set name="icon" val="icon.dye_charge_meal" />
<set name="default_action" val="SKILL_REDUCE" />
<set name="material" val="PAPER" />
<set name="etcitem_type" val="POTION" />
<set name="immediate_effect" val="true" />
<set name="material" val="LIQUID" />
<set name="weight" val="10" />
<set name="price" val="7500000" />
<set name="is_sellable" val="false" />
<set name="reuse_delay" val="500" />
<set name="is_stackable" val="true" />
<set name="is_oly_restricted" val="true" />
<set name="handler" val="ItemSkills" />
<set name="is_coc_restricted" val="true" />
<set name="commissionItemType" val="POTION" />
<cond>
<player symbolsealpoints="7800" />
</cond>
<skills>
<skill id="39494" level="1" /> <!-- Dye Powder -->
</skills>
</item>
<item id="80763" name="Elite Monster Reward Box" type="EtcItem">
<!-- Box that can be obtained by defeating elite monsters. Use it to obtain various items including Dark Armor Enhancement Stones and Bloody Armor Enhancement Stones. -->

File diff suppressed because it is too large Load Diff

View File

@@ -989,7 +989,19 @@
<reuseDelay>60000</reuseDelay>
</skill>
<skill id="39494" toLevel="1" name="Dye Powder">
<isMagic>2</isMagic> <!-- Static Skill -->
<magicLvl>1</magicLvl>
<operateType>A1</operateType>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<effects>
<effect name="RestoreSymbolSeal">
<amount>25</amount>
<mode>PER</mode>
</effect>
</effects>
</skill>
<skill id="39495" toLevel="1" name="For reducing the Dye Recharge Gauge speed">
<!-- Reduces the Dye Recharge Gauge's consumption rate -->

View File

@@ -0,0 +1,21 @@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element name="class" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="symbol" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute type="xs:integer" name="id" use="required" />
<xs:attribute type="xs:integer" name="skillId" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:integer" name="id" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -186,6 +186,7 @@
<xs:attribute name="pkCount" type="xs:int" />
<xs:attribute name="vehicleMounted" type="xs:boolean" />
<xs:attribute name="MinimumVitalityPoints" type="xs:int" />
<xs:attribute name="symbolsealpoints" type="xs:int" />
</xs:complexType>
<xs:complexType name="andType">
<xs:choice maxOccurs="unbounded" minOccurs="0">