Dwarf buff, fake death, Noble Sacriface target and Shadow Evasion fixes.
Contributed by gamelike85.
This commit is contained in:
parent
88d90f55bd
commit
c9a1c7f4f6
@ -119,6 +119,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new);
|
||||
EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new);
|
||||
EffectHandler.getInstance().registerHandler("Detection", Detection::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarm", Disarm::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new);
|
||||
|
80
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
80
L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* @author Ofelin
|
||||
*/
|
||||
public class DisableSkill extends AbstractEffect
|
||||
{
|
||||
private final Set<Integer> disableSkills;
|
||||
private Skill knownSKill;
|
||||
|
||||
public DisableSkill(StatsSet params)
|
||||
{
|
||||
String disable = params.getString("disable");
|
||||
if ((disable != null) && !disable.isEmpty())
|
||||
{
|
||||
disableSkills = new HashSet<>();
|
||||
for (String slot : disable.split(";"))
|
||||
{
|
||||
disableSkills.add(Integer.parseInt(slot));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
disableSkills = Collections.<Integer> emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
for (int disableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(disableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.disableSkill(knownSKill, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||
{
|
||||
for (int enableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(enableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.enableSkill(knownSKill);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1842,13 +1842,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -28,6 +28,18 @@
|
||||
<magicType>0</magicType>
|
||||
<amount>90</amount>
|
||||
</effect>
|
||||
<effect name="PhysicalDefence" fromLevel="1" toLevel="1" fromSubLevel="1001" toSubLevel="1030">
|
||||
<amount>
|
||||
<value fromLevel="1" toLevel="1" fromSubLevel="1001" toSubLevel="1030">{0.6 + 0.4 * subIndex}</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicalDefence" fromLevel="1" toLevel="1" fromSubLevel="2001" toSubLevel="2030">
|
||||
<amount>
|
||||
<value fromLevel="1" toLevel="1" fromSubLevel="2001" toSubLevel="2030">{0.6 + 0.4 * subIndex}</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10607" toLevel="1" name="Maximum Mortality">
|
||||
@ -194,6 +206,21 @@
|
||||
<effect name="CounterPhysicalSkill">
|
||||
<amount>90</amount>
|
||||
</effect>
|
||||
<effect name="PhysicalDefence" fromLevel="1" toLevel="1" fromSubLevel="1001" toSubLevel="1030">
|
||||
<amount>
|
||||
<value fromLevel="1" toLevel="1" fromSubLevel="1001" toSubLevel="1030">{0.6 + 0.4 * subIndex}</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="MagicalDefence" fromLevel="1" toLevel="1" fromSubLevel="2001" toSubLevel="2030">
|
||||
<amount>
|
||||
<value fromLevel="1" toLevel="1" fromSubLevel="2001" toSubLevel="2030">{0.6 + 0.4 * subIndex}</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -89,6 +89,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you.
|
||||
DeleteTopAgro: Has a chance to delete target's most hated from the list.
|
||||
DetectHiddenObjects: Finds hidden doors
|
||||
Detection: Detects hidden creatures.
|
||||
DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius)
|
||||
DisableTargeting: Disables your target's ability to target.
|
||||
Disarm: Removes the weapon of target player.
|
||||
Disarmor: Removes the armor of target player.
|
||||
|
@ -451,29 +451,7 @@
|
||||
<xs:element minOccurs="0" name="classIds">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ARCANA_LORD" />
|
||||
<xs:element minOccurs="0" name="ELEMENTAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="DUELIST" />
|
||||
<xs:element minOccurs="0" name="DREADNOUGHT" />
|
||||
<xs:element minOccurs="0" name="TITAN" />
|
||||
<xs:element minOccurs="0" name="GRAND_KHAVATARI" />
|
||||
<xs:element minOccurs="0" name="FORTUNE_SEEKER" />
|
||||
<xs:element minOccurs="0" name="MAESTRO" />
|
||||
<xs:element minOccurs="0" name="PHOENIX_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="HELL_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="EVA_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="SHILLIEN_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="ADVENTURER" />
|
||||
<xs:element minOccurs="0" name="SWORD_MUSE" />
|
||||
<xs:element minOccurs="0" name="WIND_RIDER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_DANCER" />
|
||||
<xs:element minOccurs="0" name="GHOST_HUNTER" />
|
||||
<xs:element minOccurs="0" name="MALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="FEMALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="DOOMBRINGER" />
|
||||
<xs:element minOccurs="0" name="TRICKSTER" />
|
||||
<xs:element maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
@ -1961,11 +1939,27 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="allowNormalAttack" type="xs:boolean" />
|
||||
<xs:element name="disable" type="xs:unsignedShort" />
|
||||
<xs:element name="saveHp" type="xs:unsignedByte" />
|
||||
<xs:element name="attackSkillId" type="xs:unsignedShort" />
|
||||
<xs:element name="summonPoints" type="xs:unsignedByte" />
|
||||
<xs:element name="abnormalType" type="xs:string" />
|
||||
<xs:element name="CRITICAL_DAMAGE" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="templates">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -2034,21 +2028,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="damageModifier" type="xs:decimal" />
|
||||
<xs:element name="animationSpeed" type="xs:unsignedShort" />
|
||||
<xs:element name="pAtkMod" type="xs:unsignedByte" />
|
||||
|
@ -119,6 +119,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new);
|
||||
EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new);
|
||||
EffectHandler.getInstance().registerHandler("Detection", Detection::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarm", Disarm::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new);
|
||||
|
80
L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
80
L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* @author Ofelin
|
||||
*/
|
||||
public class DisableSkill extends AbstractEffect
|
||||
{
|
||||
private final Set<Integer> disableSkills;
|
||||
private Skill knownSKill;
|
||||
|
||||
public DisableSkill(StatsSet params)
|
||||
{
|
||||
String disable = params.getString("disable");
|
||||
if ((disable != null) && !disable.isEmpty())
|
||||
{
|
||||
disableSkills = new HashSet<>();
|
||||
for (String slot : disable.split(";"))
|
||||
{
|
||||
disableSkills.add(Integer.parseInt(slot));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
disableSkills = Collections.<Integer> emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
for (int disableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(disableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.disableSkill(knownSKill, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||
{
|
||||
for (int enableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(enableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.enableSkill(knownSKill);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1848,13 +1848,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -89,6 +89,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you.
|
||||
DeleteTopAgro: Has a chance to delete target's most hated from the list.
|
||||
DetectHiddenObjects: Finds hidden doors
|
||||
Detection: Detects hidden creatures.
|
||||
DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius)
|
||||
DisableTargeting: Disables your target's ability to target.
|
||||
Disarm: Removes the weapon of target player.
|
||||
Disarmor: Removes the armor of target player.
|
||||
|
@ -455,29 +455,7 @@
|
||||
<xs:element minOccurs="0" name="classIds">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ARCANA_LORD" />
|
||||
<xs:element minOccurs="0" name="ELEMENTAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="DUELIST" />
|
||||
<xs:element minOccurs="0" name="DREADNOUGHT" />
|
||||
<xs:element minOccurs="0" name="TITAN" />
|
||||
<xs:element minOccurs="0" name="GRAND_KHAVATARI" />
|
||||
<xs:element minOccurs="0" name="FORTUNE_SEEKER" />
|
||||
<xs:element minOccurs="0" name="MAESTRO" />
|
||||
<xs:element minOccurs="0" name="PHOENIX_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="HELL_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="EVA_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="SHILLIEN_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="ADVENTURER" />
|
||||
<xs:element minOccurs="0" name="SWORD_MUSE" />
|
||||
<xs:element minOccurs="0" name="WIND_RIDER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_DANCER" />
|
||||
<xs:element minOccurs="0" name="GHOST_HUNTER" />
|
||||
<xs:element minOccurs="0" name="MALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="FEMALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="DOOMBRINGER" />
|
||||
<xs:element minOccurs="0" name="TRICKSTER" />
|
||||
<xs:element maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
@ -2007,11 +1985,27 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="allowNormalAttack" type="xs:boolean" />
|
||||
<xs:element name="disable" type="xs:unsignedShort" />
|
||||
<xs:element name="saveHp" type="xs:unsignedByte" />
|
||||
<xs:element name="attackSkillId" type="xs:unsignedShort" />
|
||||
<xs:element name="summonPoints" type="xs:unsignedByte" />
|
||||
<xs:element name="abnormalType" type="xs:string" />
|
||||
<xs:element name="CRITICAL_DAMAGE" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="templates">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -2093,21 +2087,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="debuffModifier" type="xs:decimal" />
|
||||
<xs:element name="damageModifier" type="xs:decimal" />
|
||||
<xs:element name="animationSpeed" type="xs:unsignedShort" />
|
||||
|
@ -119,6 +119,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new);
|
||||
EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new);
|
||||
EffectHandler.getInstance().registerHandler("Detection", Detection::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarm", Disarm::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new);
|
||||
|
80
L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
80
L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* @author Ofelin
|
||||
*/
|
||||
public class DisableSkill extends AbstractEffect
|
||||
{
|
||||
private final Set<Integer> disableSkills;
|
||||
private Skill knownSKill;
|
||||
|
||||
public DisableSkill(StatsSet params)
|
||||
{
|
||||
String disable = params.getString("disable");
|
||||
if ((disable != null) && !disable.isEmpty())
|
||||
{
|
||||
disableSkills = new HashSet<>();
|
||||
for (String slot : disable.split(";"))
|
||||
{
|
||||
disableSkills.add(Integer.parseInt(slot));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
disableSkills = Collections.<Integer> emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
for (int disableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(disableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.disableSkill(knownSKill, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||
{
|
||||
for (int enableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(enableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.enableSkill(knownSKill);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1841,13 +1841,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -89,6 +89,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you.
|
||||
DeleteTopAgro: Has a chance to delete target's most hated from the list.
|
||||
DetectHiddenObjects: Finds hidden doors
|
||||
Detection: Detects hidden creatures.
|
||||
DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius)
|
||||
DisableTargeting: Disables your target's ability to target.
|
||||
Disarm: Removes the weapon of target player.
|
||||
Disarmor: Removes the armor of target player.
|
||||
|
@ -455,29 +455,7 @@
|
||||
<xs:element minOccurs="0" name="classIds">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ARCANA_LORD" />
|
||||
<xs:element minOccurs="0" name="ELEMENTAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="DUELIST" />
|
||||
<xs:element minOccurs="0" name="DREADNOUGHT" />
|
||||
<xs:element minOccurs="0" name="TITAN" />
|
||||
<xs:element minOccurs="0" name="GRAND_KHAVATARI" />
|
||||
<xs:element minOccurs="0" name="FORTUNE_SEEKER" />
|
||||
<xs:element minOccurs="0" name="MAESTRO" />
|
||||
<xs:element minOccurs="0" name="PHOENIX_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="HELL_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="EVA_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="SHILLIEN_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="ADVENTURER" />
|
||||
<xs:element minOccurs="0" name="SWORD_MUSE" />
|
||||
<xs:element minOccurs="0" name="WIND_RIDER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_DANCER" />
|
||||
<xs:element minOccurs="0" name="GHOST_HUNTER" />
|
||||
<xs:element minOccurs="0" name="MALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="FEMALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="DOOMBRINGER" />
|
||||
<xs:element minOccurs="0" name="TRICKSTER" />
|
||||
<xs:element maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
@ -2039,11 +2017,27 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="allowNormalAttack" type="xs:boolean" />
|
||||
<xs:element name="disable" type="xs:unsignedShort" />
|
||||
<xs:element name="saveHp" type="xs:unsignedByte" />
|
||||
<xs:element name="attackSkillId" type="xs:unsignedShort" />
|
||||
<xs:element name="summonPoints" type="xs:unsignedByte" />
|
||||
<xs:element name="abnormalType" type="xs:string" />
|
||||
<xs:element name="CRITICAL_DAMAGE" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="templates">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -2124,21 +2118,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="debuffModifier" type="xs:decimal" />
|
||||
<xs:element name="damageModifier" type="xs:decimal" />
|
||||
<xs:element name="animationSpeed" type="xs:unsignedShort" />
|
||||
|
@ -123,6 +123,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new);
|
||||
EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new);
|
||||
EffectHandler.getInstance().registerHandler("Detection", Detection::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarm", Disarm::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new);
|
||||
|
80
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
80
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* @author Ofelin
|
||||
*/
|
||||
public class DisableSkill extends AbstractEffect
|
||||
{
|
||||
private final Set<Integer> disableSkills;
|
||||
private Skill knownSKill;
|
||||
|
||||
public DisableSkill(StatsSet params)
|
||||
{
|
||||
String disable = params.getString("disable");
|
||||
if ((disable != null) && !disable.isEmpty())
|
||||
{
|
||||
disableSkills = new HashSet<>();
|
||||
for (String slot : disable.split(";"))
|
||||
{
|
||||
disableSkills.add(Integer.parseInt(slot));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
disableSkills = Collections.<Integer> emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
for (int disableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(disableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.disableSkill(knownSKill, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||
{
|
||||
for (int enableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(enableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.enableSkill(knownSKill);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1914,13 +1914,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -397,6 +397,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -425,7 +426,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -93,6 +93,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you.
|
||||
DeleteTopAgro: Has a chance to delete target's most hated from the list.
|
||||
DetectHiddenObjects: Finds hidden doors
|
||||
Detection: Detects hidden creatures.
|
||||
DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius)
|
||||
DisableTargeting: Disables your target's ability to target.
|
||||
Disarm: Removes the weapon of target player.
|
||||
Disarmor: Removes the armor of target player.
|
||||
|
@ -457,29 +457,7 @@
|
||||
<xs:element minOccurs="0" name="classIds">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="ARCANA_LORD" />
|
||||
<xs:element minOccurs="0" name="ELEMENTAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_MASTER" />
|
||||
<xs:element minOccurs="0" name="DUELIST" />
|
||||
<xs:element minOccurs="0" name="DREADNOUGHT" />
|
||||
<xs:element minOccurs="0" name="TITAN" />
|
||||
<xs:element minOccurs="0" name="GRAND_KHAVATARI" />
|
||||
<xs:element minOccurs="0" name="FORTUNE_SEEKER" />
|
||||
<xs:element minOccurs="0" name="MAESTRO" />
|
||||
<xs:element minOccurs="0" name="PHOENIX_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="HELL_KNIGHT" />
|
||||
<xs:element minOccurs="0" name="EVA_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="SHILLIEN_TEMPLAR" />
|
||||
<xs:element minOccurs="0" name="ADVENTURER" />
|
||||
<xs:element minOccurs="0" name="SWORD_MUSE" />
|
||||
<xs:element minOccurs="0" name="WIND_RIDER" />
|
||||
<xs:element minOccurs="0" name="SPECTRAL_DANCER" />
|
||||
<xs:element minOccurs="0" name="GHOST_HUNTER" />
|
||||
<xs:element minOccurs="0" name="MALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="FEMALE_SOUL_HOUND" />
|
||||
<xs:element minOccurs="0" name="DOOMBRINGER" />
|
||||
<xs:element minOccurs="0" name="TRICKSTER" />
|
||||
<xs:element maxOccurs="unbounded" name="item" type="xs:string" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
@ -2055,11 +2033,27 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="allowNormalAttack" type="xs:boolean" />
|
||||
<xs:element name="disable" type="xs:unsignedShort" />
|
||||
<xs:element name="saveHp" type="xs:unsignedByte" />
|
||||
<xs:element name="attackSkillId" type="xs:unsignedShort" />
|
||||
<xs:element name="summonPoints" type="xs:unsignedByte" />
|
||||
<xs:element name="abnormalType" type="xs:string" />
|
||||
<xs:element name="CRITICAL_DAMAGE" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="templates">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -2115,21 +2109,6 @@
|
||||
<xs:element name="skills" type="xs:string" />
|
||||
<xs:element name="isSummonSpawn" type="xs:boolean" />
|
||||
<xs:element name="randomOffset" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="debuffModifier" type="xs:decimal" />
|
||||
<xs:element name="HATE">
|
||||
<xs:complexType mixed="true">
|
||||
@ -2431,7 +2410,6 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="mode" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="magicType" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="position" type="xs:string" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required" />
|
||||
@ -2568,7 +2546,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="chance" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element minOccurs="0" name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
@ -2587,7 +2564,6 @@
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required" />
|
||||
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
|
||||
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
|
||||
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
|
||||
</xs:complexType>
|
||||
@ -2606,21 +2582,7 @@
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element minOccurs="0" name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element minOccurs="0" name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="skillLevel" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="fullLethal" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="halfLethal" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="amount">
|
||||
@ -2705,21 +2667,7 @@
|
||||
<xs:element name="staticChance" type="xs:boolean" />
|
||||
<xs:element name="magicTypes" type="xs:string" />
|
||||
<xs:element name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="skillLevel" type="xs:unsignedByte" />
|
||||
<xs:element name="fullLethal" type="xs:unsignedByte" />
|
||||
<xs:element name="halfLethal" type="xs:unsignedByte" />
|
||||
<xs:element name="amount">
|
||||
|
@ -1414,13 +1414,8 @@
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<reuseDelay>300000</reuseDelay>
|
||||
<targetType>TARGET</targetType>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<conditions>
|
||||
<condition name="TargetMyParty">
|
||||
<includeMe>false</includeMe>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="TransferDamageToPlayer">
|
||||
<amount>
|
||||
@ -1435,13 +1430,11 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<skillId>10022</skillId> <!-- Last Patience -->
|
||||
<skillLevel>1</skillLevel>
|
||||
</effect>
|
||||
</endEffects>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10019" toLevel="5" name="Protection of Faith">
|
||||
<!-- For $s1, reduces the maximum damage received by party members to approximately $s2 in inverse proportion to your P. Def and increases Speed by $s3. Makes you immune to Hold and Stun. This effect cannot be stacked with the same effect or Nigh Aegis, and a limit applies after its duration is over. Requires a shield to be equipped. -->
|
||||
|
@ -1914,13 +1914,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -400,6 +400,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -428,7 +429,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -1414,13 +1414,8 @@
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<reuseDelay>300000</reuseDelay>
|
||||
<targetType>TARGET</targetType>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<conditions>
|
||||
<condition name="TargetMyParty">
|
||||
<includeMe>false</includeMe>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="TransferDamageToPlayer">
|
||||
<amount>
|
||||
@ -1435,13 +1430,11 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<skillId>10022</skillId> <!-- Last Patience -->
|
||||
<skillLevel>1</skillLevel>
|
||||
</effect>
|
||||
</endEffects>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10019" toLevel="5" name="Protection of Faith">
|
||||
<!-- For $s1, reduces the maximum damage received by party members to approximately $s2 in inverse proportion to your P. Def and increases Movement Speed by $s3. Makes you immune to Hold and Stun. This effect cannot be stacked with the same effect or Nigh Aegis, and a limit applies after its duration is over. Requires a shield to be equipped. -->
|
||||
|
@ -1914,13 +1914,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -400,6 +400,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -428,7 +429,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -1477,13 +1477,8 @@
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<reuseDelay>300000</reuseDelay>
|
||||
<targetType>TARGET</targetType>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<conditions>
|
||||
<condition name="TargetMyParty">
|
||||
<includeMe>false</includeMe>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="TransferDamageToPlayer">
|
||||
<amount>
|
||||
@ -1498,13 +1493,11 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<skillId>10022</skillId> <!-- Last Patience -->
|
||||
<skillLevel>1</skillLevel>
|
||||
</effect>
|
||||
</endEffects>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10019" toLevel="7" name="Protection of Faith">
|
||||
<!-- For $s1, reduces the maximum damage received by party members to approximately $s2 in inverse proportion to your P. Def. and increases Speed by $s3. Makes you immune to Hold and Stun. This effect cannot be stacked with the same effect or Nigh Aegis, and a limit applies after its duration is over. Requires a shield to be equipped. -->
|
||||
|
@ -2057,13 +2057,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>100</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -428,6 +428,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -456,7 +457,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -1445,7 +1445,7 @@
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10018" toLevel="3" name="Noble Sacrifice">
|
||||
<!-- For $s1, receives $s2 of the damage received by the ally and activates the Last Patience effect during that HP does not decrease below 1. -->
|
||||
<!-- For 10 sec., receives 30% of the damage received by the ally and activates the Last Patience effect during that HP does not decrease below 1. -->
|
||||
<icon>icon.skill10020</icon>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>
|
||||
@ -1477,13 +1477,8 @@
|
||||
<basicProperty>NONE</basicProperty>
|
||||
<hitCancelTime>0</hitCancelTime>
|
||||
<reuseDelay>300000</reuseDelay>
|
||||
<targetType>TARGET</targetType>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<conditions>
|
||||
<condition name="TargetMyParty">
|
||||
<includeMe>false</includeMe>
|
||||
</condition>
|
||||
</conditions>
|
||||
<effects>
|
||||
<effect name="TransferDamageToPlayer">
|
||||
<amount>
|
||||
@ -1498,13 +1493,11 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
<endEffects>
|
||||
<effect name="CallSkill">
|
||||
<skillId>10022</skillId> <!-- Last Patience -->
|
||||
<skillLevel>1</skillLevel>
|
||||
</effect>
|
||||
</endEffects>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10019" toLevel="7" name="Protection of Faith">
|
||||
<!-- For $s1, reduces the maximum damage received by party members to approximately $s2 depending on your P. Def. Speed +$s3. Makes you immune to obstruction and confusion. The effect cannot be stacked with the same effect or Nine Aegis. When it is over, the Limit of Sigel effect is applied. Requires a shield. -->
|
||||
|
@ -2057,13 +2057,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>100</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -428,6 +428,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -456,7 +457,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -119,6 +119,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new);
|
||||
EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new);
|
||||
EffectHandler.getInstance().registerHandler("Detection", Detection::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarm", Disarm::new);
|
||||
EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new);
|
||||
|
80
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
80
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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 java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatsSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* @author Ofelin
|
||||
*/
|
||||
public class DisableSkill extends AbstractEffect
|
||||
{
|
||||
private final Set<Integer> disableSkills;
|
||||
private Skill knownSKill;
|
||||
|
||||
public DisableSkill(StatsSet params)
|
||||
{
|
||||
String disable = params.getString("disable");
|
||||
if ((disable != null) && !disable.isEmpty())
|
||||
{
|
||||
disableSkills = new HashSet<>();
|
||||
for (String slot : disable.split(";"))
|
||||
{
|
||||
disableSkills.add(Integer.parseInt(slot));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
disableSkills = Collections.<Integer> emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
for (int disableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(disableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.disableSkill(knownSKill, 0);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||
{
|
||||
for (int enableSkillId : disableSkills)
|
||||
{
|
||||
knownSKill = effected.getKnownSkill(enableSkillId);
|
||||
if (knownSKill != null)
|
||||
{
|
||||
effected.enableSkill(knownSKill);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1914,13 +1914,14 @@
|
||||
<magicLvl>93</magicLvl>
|
||||
<operateType>T</operateType>
|
||||
<magicCriticalRate>5</magicCriticalRate>
|
||||
<mpInitialConsume>1</mpInitialConsume>
|
||||
<mpConsume>200</mpConsume>
|
||||
<mpInitialConsume>200</mpInitialConsume>
|
||||
<hitTime>800</hitTime>
|
||||
<targetType>NONE</targetType>
|
||||
<effects>
|
||||
<effect name="FakeDeath">
|
||||
<power>20</power>
|
||||
<ticks>5</ticks>
|
||||
<power>100</power>
|
||||
<ticks>1</ticks>
|
||||
</effect>
|
||||
<effect name="Untargetable" />
|
||||
</effects>
|
||||
|
@ -218,6 +218,9 @@
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
<effect name="DisableSkill">
|
||||
<disable>10517</disable>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="10654" toLevel="1" name="Maximum Mortality">
|
||||
|
@ -397,6 +397,7 @@
|
||||
<icon>icon.skill19307</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
<targetType>SELF</targetType>
|
||||
@ -425,7 +426,7 @@
|
||||
<icon>icon.skill19308</icon>
|
||||
<effectPoint>669</effectPoint>
|
||||
<operateType>A2</operateType>
|
||||
<abnormalType>BIG_HEAD</abnormalType>
|
||||
<abnormalType>DWARF_BUFF</abnormalType>
|
||||
<abnormalVisualEffect>BIG_HEAD</abnormalVisualEffect>
|
||||
<abnormalLvl>1</abnormalLvl>
|
||||
<abnormalTime>60</abnormalTime>
|
||||
|
@ -89,6 +89,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you.
|
||||
DeleteTopAgro: Has a chance to delete target's most hated from the list.
|
||||
DetectHiddenObjects: Finds hidden doors
|
||||
Detection: Detects hidden creatures.
|
||||
DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius)
|
||||
DisableTargeting: Disables your target's ability to target.
|
||||
Disarm: Removes the weapon of target player.
|
||||
Disarmor: Removes the armor of target player.
|
||||
|
@ -2018,11 +2018,27 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="allowNormalAttack" type="xs:boolean" />
|
||||
<xs:element name="disable" type="xs:unsignedShort" />
|
||||
<xs:element name="saveHp" type="xs:unsignedByte" />
|
||||
<xs:element name="attackSkillId" type="xs:unsignedShort" />
|
||||
<xs:element name="summonPoints" type="xs:unsignedByte" />
|
||||
<xs:element name="abnormalType" type="xs:string" />
|
||||
<xs:element name="CRITICAL_DAMAGE" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="templates">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@ -2079,21 +2095,6 @@
|
||||
<xs:element name="skills" type="xs:string" />
|
||||
<xs:element name="isSummonSpawn" type="xs:boolean" />
|
||||
<xs:element name="randomOffset" type="xs:unsignedByte" />
|
||||
<xs:element name="AGGRESSION">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="debuffModifier" type="xs:decimal" />
|
||||
<xs:element name="HATE">
|
||||
<xs:complexType mixed="true">
|
||||
@ -2395,7 +2396,6 @@
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="mode" type="xs:string" />
|
||||
<xs:element minOccurs="0" name="magicType" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="position" type="xs:string" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required" />
|
||||
@ -2532,7 +2532,6 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="chance" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element minOccurs="0" name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
@ -2551,7 +2550,6 @@
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="name" type="xs:string" use="required" />
|
||||
<xs:attribute name="abnormalTime" type="xs:unsignedByte" use="optional" />
|
||||
<xs:attribute name="fromLevel" type="xs:unsignedByte" use="optional" />
|
||||
<xs:attribute name="toLevel" type="xs:unsignedByte" use="optional" />
|
||||
</xs:complexType>
|
||||
@ -2570,21 +2568,7 @@
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element minOccurs="0" name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element minOccurs="0" name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="skillLevel" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="fullLethal" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="halfLethal" type="xs:unsignedByte" />
|
||||
<xs:element minOccurs="0" name="amount">
|
||||
@ -2669,21 +2653,7 @@
|
||||
<xs:element name="staticChance" type="xs:boolean" />
|
||||
<xs:element name="magicTypes" type="xs:string" />
|
||||
<xs:element name="skillId" type="xs:unsignedShort" />
|
||||
<xs:element name="skillLevel">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element maxOccurs="unbounded" name="value">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:unsignedByte">
|
||||
<xs:attribute name="level" type="xs:unsignedByte" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="skillLevel" type="xs:unsignedByte" />
|
||||
<xs:element name="fullLethal" type="xs:unsignedByte" />
|
||||
<xs:element name="halfLethal" type="xs:unsignedByte" />
|
||||
<xs:element name="amount">
|
||||
|
Loading…
Reference in New Issue
Block a user