Sync with L2jServer HighFive Mar 1st 2015.
This commit is contained in:
@@ -140,7 +140,7 @@ public final class CastleAmbassador extends AbstractNpcAI
|
||||
final int fortOwner = fortresss.getOwnerClan() == null ? 0 : fortresss.getOwnerClan().getId();
|
||||
String htmltext = null;
|
||||
|
||||
if (player.isClanLeader() && (player.getClan() != null) && (player.getClanId() == fortOwner))
|
||||
if (player.isClanLeader() && (player.getClanId() == fortOwner))
|
||||
{
|
||||
htmltext = (fortresss.isBorderFortress()) ? "ambassador-01.html" : "ambassador.html";
|
||||
}
|
||||
|
@@ -19,7 +19,6 @@
|
||||
package ai.npc.NpcBuffers;
|
||||
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.model.L2Party;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
@@ -133,32 +132,27 @@ public class NpcBufferAI implements Runnable
|
||||
return true;
|
||||
}
|
||||
|
||||
if (player.isInParty() && targetPlayer.isInParty())
|
||||
{
|
||||
final L2Party party = player.getParty();
|
||||
|
||||
if (party.containsPlayer(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (party.isInCommandChannel() && party.getCommandChannel().containsPlayer(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((player.getClanId() > 0) && (player.getClanId() == targetPlayer.getClanId()))
|
||||
if (player.isInPartyWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((player.getAllyId() > 0) && (player.getAllyId() == targetPlayer.getAllyId()))
|
||||
if (player.isInCommandChannelWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((player.getSiegeState() > 0) && player.isInsideZone(ZoneId.SIEGE) && (player.getSiegeState() == targetPlayer.getSiegeState()) && (player.getSiegeSide() == targetPlayer.getSiegeSide()))
|
||||
if (player.isInClanWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (player.isInAllyWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (player.isOnSameSiegeSideWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -205,7 +199,7 @@ public class NpcBufferAI implements Runnable
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((player.getClan() != null) && (targetPlayer.getClan() != null) && player.getClan().isAtWarWith(targetPlayer.getClan()))
|
||||
if (player.isAtWarWith(targetPlayer))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@@ -123,30 +123,34 @@ public final class WyvernManager extends AbstractNpcAI
|
||||
|
||||
private boolean isOwnerClan(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
switch (MANAGERS.get(npc.getId()))
|
||||
{
|
||||
case CASTLE:
|
||||
{
|
||||
if ((player.getClan() != null) && (npc.getCastle() != null))
|
||||
if (npc.getCastle() != null)
|
||||
{
|
||||
return (player.isClanLeader() && (player.getClanId() == npc.getCastle().getOwnerId()));
|
||||
return player.getClanId() == npc.getCastle().getOwnerId();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case CLAN_HALL:
|
||||
{
|
||||
if ((player.getClan() != null) && (npc.getConquerableHall() != null))
|
||||
if (npc.getConquerableHall() != null)
|
||||
{
|
||||
return (player.isClanLeader() && (player.getClanId() == npc.getConquerableHall().getOwnerId()));
|
||||
return player.getClanId() == npc.getConquerableHall().getOwnerId();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case FORT:
|
||||
{
|
||||
final Fort fort = npc.getFort();
|
||||
if ((player.getClan() != null) && (fort != null) && (fort.getOwnerClan() != null))
|
||||
if ((fort != null) && (fort.getOwnerClan() != null))
|
||||
{
|
||||
return (player.isClanLeader() && (player.getClanId() == npc.getFort().getOwnerClan().getId()));
|
||||
return player.getClanId() == npc.getFort().getOwnerClan().getId();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -124,6 +124,8 @@ public final class EffectMasterHandler
|
||||
ManaHealByLevel.class,
|
||||
ManaHealOverTime.class,
|
||||
ManaHealPercent.class,
|
||||
MaxCp.class,
|
||||
MaxHp.class,
|
||||
MpConsumePerLevel.class,
|
||||
Mute.class,
|
||||
NoblesseBless.class,
|
||||
|
@@ -283,7 +283,15 @@ public class ClanBoard implements IWriteBoardHandler
|
||||
@Override
|
||||
public boolean writeCommunityBoardCommand(L2PcInstance activeChar, String arg1, String arg2, String arg3, String arg4, String arg5)
|
||||
{
|
||||
// TODO: Implement.
|
||||
return false;
|
||||
// the only Write bypass that comes to this handler is "Write Notice Set _ Content Content Content";
|
||||
// arg1 = Set, arg2 = _
|
||||
final L2Clan clan = activeChar.getClan();
|
||||
|
||||
if ((clan != null) && activeChar.isClanLeader())
|
||||
{
|
||||
clan.setNotice(arg3);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -52,25 +52,21 @@ public final class Detection extends AbstractEffect
|
||||
|
||||
final L2PcInstance player = info.getEffector().getActingPlayer();
|
||||
final L2PcInstance target = info.getEffected().getActingPlayer();
|
||||
final boolean hasParty = player.isInParty();
|
||||
final boolean hasClan = player.getClanId() > 0;
|
||||
final boolean hasAlly = player.getAllyId() > 0;
|
||||
|
||||
if (target.isInvisible())
|
||||
{
|
||||
if (hasParty && (target.isInParty()) && (player.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId()))
|
||||
if (player.isInPartyWith(target))
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (hasClan && (player.getClanId() == target.getClanId()))
|
||||
if (player.isInClanWith(target))
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (hasAlly && (player.getAllyId() == target.getAllyId()))
|
||||
if (player.isInAllyWith(target))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove Hide.
|
||||
target.getEffectList().stopSkillEffects(true, AbnormalType.HIDE);
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ public final class HeadquarterCreate extends AbstractEffect
|
||||
public void onStart(BuffInfo info)
|
||||
{
|
||||
final L2PcInstance player = info.getEffector().getActingPlayer();
|
||||
if ((player.getClan() == null) || (player.getClan().getLeaderId() != player.getObjectId()))
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
107
trunk/dist/game/data/scripts/handlers/effecthandlers/MaxCp.java
vendored
Normal file
107
trunk/dist/game/data/scripts/handlers/effecthandlers/MaxCp.java
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* 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.effecthandlers;
|
||||
|
||||
import com.l2jserver.gameserver.enums.EffectCalculationType;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.stat.CharStat;
|
||||
import com.l2jserver.gameserver.model.conditions.Condition;
|
||||
import com.l2jserver.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jserver.gameserver.model.skills.BuffInfo;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncAdd;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncMul;
|
||||
|
||||
/**
|
||||
* @author Zealar
|
||||
*/
|
||||
public final class MaxCp extends AbstractEffect
|
||||
{
|
||||
private final double _power;
|
||||
private final EffectCalculationType _type;
|
||||
private final boolean _heal;
|
||||
|
||||
public MaxCp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
|
||||
{
|
||||
super(attachCond, applyCond, set, params);
|
||||
|
||||
_type = params.getEnum("type", EffectCalculationType.class, EffectCalculationType.DIFF);
|
||||
switch (_type)
|
||||
{
|
||||
case DIFF:
|
||||
{
|
||||
_power = params.getInt("power", 0);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
_power = 1 + (params.getInt("power", 0) / 100.0);
|
||||
}
|
||||
}
|
||||
_heal = params.getBoolean("heal", false);
|
||||
|
||||
if (params.isEmpty())
|
||||
{
|
||||
_log.warning(getClass().getSimpleName() + ": must have parameters.");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(BuffInfo info)
|
||||
{
|
||||
final CharStat charStat = info.getEffected().getStat();
|
||||
|
||||
synchronized (charStat)
|
||||
{
|
||||
final double currentCp = info.getEffected().getCurrentCp();
|
||||
switch (_type)
|
||||
{
|
||||
case DIFF:
|
||||
{
|
||||
charStat.getActiveChar().addStatFunc(new FuncAdd(Stats.MAX_CP, 1, this, _power, null));
|
||||
if (_heal)
|
||||
{
|
||||
info.getEffected().setCurrentCp((currentCp + _power));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PER:
|
||||
{
|
||||
charStat.getActiveChar().addStatFunc(new FuncMul(Stats.MAX_CP, 1, this, _power, null));
|
||||
if (_heal)
|
||||
{
|
||||
info.getEffected().setCurrentCp((currentCp * _power));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(BuffInfo info)
|
||||
{
|
||||
final CharStat charStat = info.getEffected().getStat();
|
||||
synchronized (charStat)
|
||||
{
|
||||
charStat.getActiveChar().removeStatsOwner(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
108
trunk/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java
vendored
Normal file
108
trunk/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* 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.effecthandlers;
|
||||
|
||||
import com.l2jserver.gameserver.enums.EffectCalculationType;
|
||||
import com.l2jserver.gameserver.model.StatsSet;
|
||||
import com.l2jserver.gameserver.model.actor.stat.CharStat;
|
||||
import com.l2jserver.gameserver.model.conditions.Condition;
|
||||
import com.l2jserver.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jserver.gameserver.model.skills.BuffInfo;
|
||||
import com.l2jserver.gameserver.model.stats.Stats;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncAdd;
|
||||
import com.l2jserver.gameserver.model.stats.functions.FuncMul;
|
||||
|
||||
/**
|
||||
* @author Zealar
|
||||
*/
|
||||
public final class MaxHp extends AbstractEffect
|
||||
{
|
||||
private final double _power;
|
||||
private final EffectCalculationType _type;
|
||||
private final boolean _heal;
|
||||
|
||||
public MaxHp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
|
||||
{
|
||||
super(attachCond, applyCond, set, params);
|
||||
|
||||
_type = params.getEnum("type", EffectCalculationType.class, EffectCalculationType.DIFF);
|
||||
switch (_type)
|
||||
{
|
||||
case DIFF:
|
||||
{
|
||||
_power = params.getInt("power", 0);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
_power = 1 + (params.getInt("power", 0) / 100.0);
|
||||
}
|
||||
}
|
||||
_heal = params.getBoolean("heal", false);
|
||||
|
||||
if (params.isEmpty())
|
||||
{
|
||||
_log.warning(getClass().getSimpleName() + ": must have parameters.");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart(BuffInfo info)
|
||||
{
|
||||
final CharStat charStat = info.getEffected().getStat();
|
||||
|
||||
synchronized (charStat)
|
||||
{
|
||||
final double currentHp = info.getEffected().getCurrentHp();
|
||||
switch (_type)
|
||||
{
|
||||
case DIFF:
|
||||
{
|
||||
charStat.getActiveChar().addStatFunc(new FuncAdd(Stats.MAX_HP, 1, this, _power, null));
|
||||
if (_heal)
|
||||
{
|
||||
info.getEffected().setCurrentHp((currentHp + _power));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PER:
|
||||
{
|
||||
charStat.getActiveChar().addStatFunc(new FuncMul(Stats.MAX_HP, 1, this, _power, null));
|
||||
if (_heal)
|
||||
{
|
||||
info.getEffected().setCurrentHp((currentHp * _power));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExit(BuffInfo info)
|
||||
{
|
||||
final CharStat charStat = info.getEffected().getStat();
|
||||
synchronized (charStat)
|
||||
{
|
||||
charStat.getActiveChar().removeStatsOwner(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -28,9 +28,11 @@ import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.handler.ITargetTypeHandler;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2SiegeFlagInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
|
||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
|
||||
/**
|
||||
@@ -42,9 +44,11 @@ public class AreaFriendly implements ITargetTypeHandler
|
||||
public L2Object[] getTargetList(Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
|
||||
{
|
||||
List<L2Character> targetList = new ArrayList<>();
|
||||
if (!checkTarget(activeChar, target) && (skill.getCastRange() >= 0))
|
||||
L2PcInstance player = activeChar.getActingPlayer();
|
||||
|
||||
if (!checkTarget(player, target) && (skill.getCastRange() >= 0))
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
|
||||
player.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
|
||||
return EMPTY_TARGET_LIST;
|
||||
}
|
||||
|
||||
@@ -56,11 +60,11 @@ public class AreaFriendly implements ITargetTypeHandler
|
||||
};
|
||||
}
|
||||
|
||||
if (activeChar.getActingPlayer().isInOlympiadMode())
|
||||
if (player.getActingPlayer().isInOlympiadMode())
|
||||
{
|
||||
return new L2Character[]
|
||||
{
|
||||
activeChar
|
||||
player
|
||||
};
|
||||
}
|
||||
targetList.add(target); // Add target to target list
|
||||
@@ -75,7 +79,7 @@ public class AreaFriendly implements ITargetTypeHandler
|
||||
|
||||
for (L2Character obj : objs)
|
||||
{
|
||||
if (!checkTarget(activeChar, obj) || (obj == activeChar))
|
||||
if (!checkTarget(player, obj) || (obj == activeChar))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -96,7 +100,7 @@ public class AreaFriendly implements ITargetTypeHandler
|
||||
return targetList.toArray(new L2Character[targetList.size()]);
|
||||
}
|
||||
|
||||
private boolean checkTarget(L2Character activeChar, L2Character target)
|
||||
private boolean checkTarget(L2PcInstance activeChar, L2Character target)
|
||||
{
|
||||
if (!GeoData.getInstance().canSeeTarget(activeChar, target))
|
||||
{
|
||||
@@ -108,29 +112,41 @@ public class AreaFriendly implements ITargetTypeHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target.getActingPlayer() != null) && (target.getActingPlayer() != activeChar) && (target.getActingPlayer().inObserverMode() || target.getActingPlayer().isInOlympiadMode()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (target.isPlayable())
|
||||
{
|
||||
if ((target != activeChar) && activeChar.isInParty() && target.isInParty())
|
||||
L2PcInstance targetPlayer = target.getActingPlayer();
|
||||
|
||||
if (activeChar == targetPlayer)
|
||||
{
|
||||
return (activeChar.getParty().getLeader() == target.getParty().getLeader());
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((activeChar.getClanId() != 0) && (target.getClanId() != 0))
|
||||
if (targetPlayer.inObserverMode() || targetPlayer.isInOlympiadMode())
|
||||
{
|
||||
return (activeChar.getClanId() == target.getClanId());
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((activeChar.getAllyId() != 0) && (target.getAllyId() != 0))
|
||||
if (activeChar.isInDuelWith(target))
|
||||
{
|
||||
return (activeChar.getAllyId() == target.getAllyId());
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((target != activeChar) && (target.getActingPlayer().getPvpFlag() > 0))
|
||||
if (activeChar.isInPartyWith(target))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (target.isInsideZone(ZoneId.PVP))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (activeChar.isInClanWith(target) || activeChar.isInAllyWith(target) || activeChar.isInCommandChannelWith(target))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((targetPlayer.getPvpFlag() > 0) || (targetPlayer.getKarma() > 0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@@ -601,7 +601,6 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill0015" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -2094,6 +2093,7 @@
|
||||
<set name="hitTime" val="1360" />
|
||||
<set name="hpConsume" val="#hpConsume" />
|
||||
<set name="icon" val="icon.skill0081" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="ignoreShld" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -674,10 +674,9 @@
|
||||
</skill>
|
||||
<skill id="121" levels="6" name="Battle Roar" enchantGroup1="1" enchantGroup2="1">
|
||||
<table name="#abnormalLvls"> 1 2 3 4 5 6 </table>
|
||||
<table name="#amount"> 10 15 20 25 30 35 </table>
|
||||
<table name="#power"> 10 15 20 25 30 35 </table>
|
||||
<table name="#effectPoints"> 268 379 467 549 597 635 </table>
|
||||
<table name="#magicLvl"> 28 40 49 58 64 70 </table>
|
||||
<table name="#maxHp"> 1.1 1.15 1.2 1.25 1.3 1.35 </table>
|
||||
<table name="#mpConsume"> 13 18 22 27 30 33 </table>
|
||||
<table name="#ench1Reuse"> 148000 145000 143000 140000 138000 135000 133000 130000 128000 125000 123000 120000 118000 115000 113000 110000 108000 105000 103000 100000 98000 95000 93000 90000 88000 85000 83000 80000 78000 75000 </table>
|
||||
<table name="#ench2pAtk"> 1 1 1 2 2 2 3 3 3 4 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 9 9 9 10 </table>
|
||||
@@ -698,20 +697,18 @@
|
||||
<enchant1 name="reuseDelay" val="#ench1Reuse" />
|
||||
<enchant2 name="magicLvl" val="#enchMagicLvl" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="#maxHp" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="#amount" />
|
||||
<effect name="MaxHp">
|
||||
<param power="#power" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant2for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.35" />
|
||||
<add stat="pAtk" val="#ench2pAtk" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<effect name="MaxHp">
|
||||
<param power="35" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="pAtk" val="#ench2pAtk" />
|
||||
</effect>
|
||||
</enchant2for>
|
||||
</skill>
|
||||
|
@@ -1541,7 +1541,6 @@
|
||||
<set name="hpConsume" val="340" />
|
||||
<set name="icon" val="icon.skill0347" />
|
||||
<set name="ignoreShld" val="true" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="78" />
|
||||
<set name="mpConsume" val="78" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
|
@@ -323,7 +323,6 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill0405" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1785" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1829,7 +1828,6 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill0450" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="1785" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -2463,6 +2463,7 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="1080" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
|
@@ -1592,7 +1592,6 @@
|
||||
<set name="effectRange" val="900" />
|
||||
<set name="hitTime" val="700" />
|
||||
<set name="icon" val="icon.skill_transform_etc" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="mpConsume" val="51" />
|
||||
@@ -1617,7 +1616,6 @@
|
||||
<set name="effectPoint" val="-6752" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill_transform_etc" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="mpConsume" val="144" />
|
||||
@@ -1911,6 +1909,7 @@
|
||||
<set name="effectRange" val="650" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="mpConsume" val="73" />
|
||||
|
@@ -366,12 +366,14 @@
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="SERVITOR" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<mul stat="rCrit" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
@@ -380,9 +382,6 @@
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="20" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="713" levels="1" name="Divine Summoner Servitor Hill">
|
||||
@@ -1249,6 +1248,7 @@
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1304,6 +1304,7 @@
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="1080" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1388,6 +1389,7 @@
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="1080" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -2472,6 +2474,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="1200" />
|
||||
<set name="icon" val="icon.skill0792" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="78" />
|
||||
|
@@ -123,6 +123,7 @@
|
||||
<set name="effectRange" val="400" />
|
||||
<set name="hitTime" val="830" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="83" />
|
||||
<set name="mpConsume" val="53" />
|
||||
@@ -1885,7 +1886,6 @@
|
||||
<set name="flyType" val="DUMMY" />
|
||||
<set name="hitTime" val="100" />
|
||||
<set name="icon" val="icon.skill_transform_etc" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="75" />
|
||||
<set name="mpConsume" val="50" />
|
||||
<set name="mpInitialConsume" val="50" />
|
||||
|
@@ -113,6 +113,7 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -147,6 +148,7 @@
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill_transform_debuff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -287,6 +289,7 @@
|
||||
<set name="fanRange" val="0,0,200,900" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill_transform_s_attack" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -695,6 +698,7 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="1080" />
|
||||
<set name="icon" val="icon.skill0927" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="19" />
|
||||
@@ -1597,6 +1601,7 @@
|
||||
<set name="abnormalType" val="SPEED_UP_SPECIAL" />
|
||||
<set name="effectPoint" val="495" />
|
||||
<set name="icon" val="icon.skill_transform_buff" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="mpConsume" val="30" />
|
||||
|
@@ -161,7 +161,6 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1105" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1015,7 +1014,6 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1163" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
|
@@ -263,7 +263,6 @@
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1213" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -880,6 +879,7 @@
|
||||
<enchant2 name="power" val="#ench2Power" />
|
||||
<enchant3 name="basicProperty" val="MEN" />
|
||||
<enchant3 name="magicLvl" val="#enchMagicLvl" />
|
||||
<enchant3 name="isDebuff" val="true" />
|
||||
<enchant4 name="elementPower" val="#ench4ElementPower" />
|
||||
<enchant4 name="magicLvl" val="#enchMagicLvl" />
|
||||
<for>
|
||||
@@ -911,6 +911,7 @@
|
||||
<set name="effectRange" val="650" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill1231" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1119,6 +1120,7 @@
|
||||
<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
|
||||
<enchant2 name="power" val="#ench2Power" />
|
||||
<enchant3 name="basicProperty" val="MEN" />
|
||||
<enchant3 name="isDebuff" val="true" />
|
||||
<enchant3 name="magicLvl" val="#enchMagicLvl" />
|
||||
<enchant4 name="elementPower" val="#ench4ElementPower" />
|
||||
<enchant4 name="magicLvl" val="#enchMagicLvl" />
|
||||
@@ -1345,6 +1347,7 @@
|
||||
<enchant2 name="magicLvl" val="#enchMagicLvl" />
|
||||
<enchant3 name="basicProperty" val="MEN" />
|
||||
<enchant3 name="magicLvl" val="#enchMagicLvl" />
|
||||
<enchant3 name="isDebuff" val="true" />
|
||||
<for>
|
||||
<effect name="MagicalAttack" />
|
||||
</for>
|
||||
|
@@ -344,10 +344,9 @@
|
||||
</skill>
|
||||
<skill id="1311" levels="6" name="Body of Avatar" enchantGroup1="1" enchantGroup2="1">
|
||||
<table name="#abnormalLvls"> 1 2 3 4 5 6 </table>
|
||||
<table name="#amount"> 10 15 20 25 30 35 </table>
|
||||
<table name="#MaxHp"> 10 15 20 25 30 35 </table>
|
||||
<table name="#effectPoints"> 457 532 566 597 624 646 </table>
|
||||
<table name="#magicLvl"> 48 56 60 64 68 72 </table>
|
||||
<table name="#maxHp"> 1.1 1.15 1.2 1.25 1.3 1.35 </table>
|
||||
<table name="#mpConsume"> 273 326 352 378 402 424 </table>
|
||||
<table name="#mpInitialConsume"> 69 82 88 95 101 106 </table>
|
||||
<table name="#ench1AbnormalTimes"> 1240 1280 1320 1360 1400 1440 1480 1520 1560 1600 1640 1680 1720 1760 1800 1840 1880 1920 1960 2000 2040 2080 2120 2160 2200 2240 2280 2320 2360 2400 </table>
|
||||
@@ -375,11 +374,10 @@
|
||||
<enchant2 name="mpConsume" val="#ench2MpConsume" />
|
||||
<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="#maxHp" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="#amount" />
|
||||
<effect name="MaxHp">
|
||||
<param power="#MaxHp" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
@@ -1568,12 +1566,14 @@
|
||||
<enchant2 name="mpConsume" val="#ench2mpConsume" />
|
||||
<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<mul stat="rCrit" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtkSpd" val="1.2" />
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="pDef" val="1.2" />
|
||||
@@ -1582,9 +1582,6 @@
|
||||
<mul stat="mAtkSpd" val="1.2" />
|
||||
<sub stat="debuffVuln" val="20" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="1350" levels="1" name="Warrior Bane">
|
||||
@@ -2146,8 +2143,10 @@
|
||||
<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
|
||||
<enchant3 name="magicLvl" val="#enchMagicLvl" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
@@ -2160,13 +2159,12 @@
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</for>
|
||||
<enchant3for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
@@ -2179,9 +2177,6 @@
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="runSpd" val="#ench3Spd" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</enchant3for>
|
||||
</skill>
|
||||
<skill id="1364" levels="1" name="Eye of Pa'agrio" enchantGroup1="5" enchantGroup2="5">
|
||||
|
@@ -19,7 +19,6 @@
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1400" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="3031" />
|
||||
@@ -658,7 +657,6 @@
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1417" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="itemConsumeCount" val="#itemConsumeCount" />
|
||||
<set name="itemConsumeId" val="3031" />
|
||||
@@ -2939,6 +2937,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="3000" />
|
||||
<set name="icon" val="icon.skill1482" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -2987,6 +2986,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="3000" />
|
||||
<set name="icon" val="icon.skill1483" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -3035,6 +3035,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="3000" />
|
||||
<set name="icon" val="icon.skill1484" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -1330,6 +1330,7 @@
|
||||
<set name="effectPoint" val="343" />
|
||||
<set name="hitTime" val="1200" />
|
||||
<set name="icon" val="icon.skill1540" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="81" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="600000" />
|
||||
@@ -1899,9 +1900,8 @@
|
||||
<skill id="1561" levels="5" name="Battle Cry">
|
||||
<!-- High Five Skill -->
|
||||
<table name="#abnormalLvls"> 2 3 4 5 6 </table>
|
||||
<table name="#amount"> 15 20 25 30 35 </table>
|
||||
<table name="#MaxHp"> 15 20 25 30 35 </table>
|
||||
<table name="#magicLvl"> 40 49 58 64 70 </table>
|
||||
<table name="#maxHp"> 1.15 1.2 1.25 1.3 1.35 </table>
|
||||
<table name="#mpConsume"> 18 22 27 30 33 </table>
|
||||
<set name="abnormalLvl" val="#abnormalLvls" />
|
||||
<set name="abnormalTime" val="600" />
|
||||
@@ -1916,11 +1916,10 @@
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="#maxHp" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="#amount" />
|
||||
<effect name="MaxHp">
|
||||
<param power="#MaxHp" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
@@ -754,6 +754,7 @@
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="hitTime" val="500" />
|
||||
<set name="icon" val="icon.etc_destory_soul_arrow_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="8192" /> <!-- Soul Breaking Arrow -->
|
||||
@@ -873,6 +874,7 @@
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="icon" val="icon.ect_piece_of_paper_white_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="8379" /> <!-- Petrification Scroll -->
|
||||
|
@@ -925,6 +925,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.etc_piece_holy_light" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="13855" /> <!-- Sacred Light Fragment -->
|
||||
|
@@ -99,7 +99,6 @@
|
||||
<skill id="2905" levels="1" name="Growth Accelerator">
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="14832" /> <!-- Growth Accelerator -->
|
||||
|
@@ -1273,6 +1273,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="effectRange" val="1500" />
|
||||
<set name="icon" val="icon.skill1170" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -685,11 +685,10 @@
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.03" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<effect name="MaxHp">
|
||||
<param power="3" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
@@ -529,7 +529,6 @@
|
||||
<set name="effectRange" val="500" />
|
||||
<set name="hitTime" val="25000" />
|
||||
<set name="icon" val="icon.weapon_seize_mace_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="8764" /> <!-- Trap Stone -->
|
||||
@@ -550,7 +549,6 @@
|
||||
<set name="effectRange" val="500" />
|
||||
<set name="hitTime" val="25000" />
|
||||
<set name="icon" val="icon.weapon_seize_mace_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="8764" /> <!-- Trap Stone -->
|
||||
@@ -571,7 +569,6 @@
|
||||
<set name="effectRange" val="500" />
|
||||
<set name="hitTime" val="25000" />
|
||||
<set name="icon" val="icon.weapon_seize_mace_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="itemConsumeCount" val="1" />
|
||||
<set name="itemConsumeId" val="8764" /> <!-- Trap Stone -->
|
||||
|
@@ -1747,8 +1747,7 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<table name="#accCombat"> 3 7 7 </table>
|
||||
<table name="#magicLvl"> 40 60 75 </table>
|
||||
<table name="#maxHp"> 1.14 1.21 1.21 </table>
|
||||
<table name="#maxHpHeal"> 14 21 21 </table>
|
||||
<table name="#MaxHp"> 14 21 21 </table>
|
||||
<table name="#mpConsume"> 18 18 19 </table>
|
||||
<table name="#pAtk"> 1.05 1.15 1.15 </table>
|
||||
<table name="#pDef"> 1.1 1.3 1.3 </table>
|
||||
@@ -1771,12 +1770,13 @@
|
||||
<mul stat="runSpd" val="#runSpd" />
|
||||
<mul stat="pAtk" val="#pAtk" />
|
||||
<mul stat="pDef" val="#pDef" />
|
||||
<mul stat="maxHp" val="#maxHp" />
|
||||
<sub stat="rEvas" val="#rEvas" />
|
||||
<add stat="accCombat" val="#accCombat" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="#maxHpHeal" />
|
||||
<effect name="MaxHp">
|
||||
<param power="#MaxHp" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
@@ -641,6 +641,7 @@
|
||||
<set name="castRange" val="600" />
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="icon" val="icon.skill0164" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="40" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
|
@@ -933,6 +933,7 @@
|
||||
<set name="abnormalLvl" val="1" />
|
||||
<set name="abnormalTime" val="1800" />
|
||||
<set name="abnormalType" val="PUBLIC_SLOT" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
|
@@ -1629,7 +1629,6 @@
|
||||
<set name="effectRange" val="1000" />
|
||||
<set name="hitTime" val="3200" />
|
||||
<set name="icon" val="icon.skill1043" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
|
@@ -308,11 +308,10 @@
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="ONE" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.3" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<effect name="MaxHp">
|
||||
<param power="30" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
@@ -647,6 +647,7 @@
|
||||
<set name="abnormalType" val="ALL_SPEED_DOWN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.etc_hot_spring_sulfur_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -659,6 +660,7 @@
|
||||
<set name="abnormalTime" val="9" />
|
||||
<set name="abnormalType" val="STUN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
|
@@ -447,6 +447,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="5000" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -481,6 +482,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -497,6 +499,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4047" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="10" />
|
||||
@@ -515,6 +518,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4038" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -615,6 +619,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1206" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1055,6 +1060,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="40" />
|
||||
@@ -1072,6 +1078,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill4038" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="40" />
|
||||
@@ -1089,6 +1096,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1206" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="40" />
|
||||
@@ -1106,6 +1114,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill4037" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="40" />
|
||||
@@ -1122,6 +1131,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="40" />
|
||||
|
@@ -897,7 +897,7 @@
|
||||
<set name="abnormalType" val="MULTI_DEBUFF" />
|
||||
<set name="affectRange" val="200" />
|
||||
<set name="icon" val="icon.skill1422" />
|
||||
<set name="isDebuff" val="1" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -923,6 +923,7 @@
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="hitTime" val="1200" />
|
||||
<set name="icon" val="icon.skill5243" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1393,6 +1394,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skilltransform3" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="60" />
|
||||
<set name="mpConsume" val="44" />
|
||||
<set name="mpInitialConsume" val="11" />
|
||||
@@ -1523,6 +1525,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1396" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -74,6 +74,7 @@
|
||||
<set name="effectRange" val="200" />
|
||||
<set name="hitTime" val="830" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -108,6 +109,7 @@
|
||||
<set name="effectRange" val="200" />
|
||||
<set name="hitTime" val="830" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -173,6 +175,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -206,6 +209,7 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1170" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -268,6 +272,7 @@
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="hitTime" val="4500" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -726,6 +731,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1178,6 +1184,7 @@
|
||||
<set name="effectRange" val="200" />
|
||||
<set name="hitTime" val="830" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1277,6 +1284,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1334,6 +1342,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="4500" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="75" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
@@ -1360,6 +1369,7 @@
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="hitTime" val="4500" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1388,6 +1398,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="4500" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1782,6 +1793,7 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
|
@@ -416,6 +416,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="40" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -855,6 +856,7 @@
|
||||
<set name="castRange" val="900" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="90" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
@@ -899,6 +901,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1170" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="99" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -916,6 +919,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="99" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1108,6 +1112,7 @@
|
||||
<set name="abnormalType" val="TRANSFORM_HANGOVER" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skilltransform3" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -1120,6 +1125,7 @@
|
||||
<set name="abnormalType" val="TRANSFORM_HANGOVER" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skilltransform3" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
|
@@ -601,6 +601,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1869,6 +1870,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4036" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1885,6 +1887,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -307,6 +307,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1200" />
|
||||
<set name="icon" val="icon.skill0122" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -321,6 +322,7 @@
|
||||
<set name="effectPoint" val="-707" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1201" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="51" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -335,6 +337,7 @@
|
||||
<set name="effectPoint" val="-707" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1201" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1000,7 +1003,6 @@
|
||||
<set name="effectRange" val="650" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1231" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="mpConsume" val="#mpConsume" />
|
||||
@@ -1147,6 +1149,7 @@
|
||||
<set name="abnormalTime" val="600" />
|
||||
<set name="abnormalType" val="ENTRY_FOR_GAME" />
|
||||
<set name="icon" val="icon.skill5661" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-2" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -1499,7 +1502,6 @@
|
||||
<skill id="5680" levels="1" name="Oblivion Trap">
|
||||
<set name="castRange" val="900" />
|
||||
<set name="effectRange" val="1400" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isTriggeredSkill" val="true" />
|
||||
<set name="magicLvl" val="79" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
@@ -1536,7 +1538,6 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="100" />
|
||||
<set name="icon" val="icon.skill1056" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isTriggeredSkill" val="true" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
@@ -1808,7 +1809,6 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="100" />
|
||||
<set name="icon" val="icon.skill0445" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isTriggeredSkill" val="true" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
@@ -1847,6 +1847,7 @@
|
||||
<set name="abnormalType" val="INVINCIBILITY" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skill0837" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="74" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="5000" />
|
||||
|
@@ -80,6 +80,7 @@
|
||||
<set name="effectPoint" val="-341" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="magicLvl" val="36" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="operateType" val="ACTIVE_WITH_TRIGGER" />
|
||||
<set name="reuseDelay" val="6000" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -113,6 +114,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill4036" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="61" />
|
||||
@@ -129,6 +131,7 @@
|
||||
<set name="abnormalVisualEffect" val="PARALYZE" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1170" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="61" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -289,6 +292,7 @@
|
||||
<set name="fanRange" val="0,0,1500,60" />
|
||||
<set name="hitTime" val="3000" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="73" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1198,6 +1202,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2060" />
|
||||
<set name="icon" val="icon.skill1092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1388,6 +1393,7 @@
|
||||
<set name="abnormalType" val="INVINCIBILITY" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skill0837" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="1000" />
|
||||
@@ -1536,6 +1542,7 @@
|
||||
<set name="fanRange" val="0,0,900,5" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -1554,6 +1561,7 @@
|
||||
<set name="effectPoint" val="-684" />
|
||||
<set name="hitTime" val="3000" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -1574,6 +1582,7 @@
|
||||
<set name="fanRange" val="0,0,900,30" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -1614,6 +1623,7 @@
|
||||
<set name="effectPoint" val="-689" />
|
||||
<set name="hitTime" val="1800" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
|
@@ -32,6 +32,7 @@
|
||||
<set name="fanRange" val="0,0,400,60" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -121,6 +122,7 @@
|
||||
<set name="fanRange" val="0,0,600,30" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="75" />
|
||||
@@ -729,6 +731,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -845,6 +848,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -860,6 +864,7 @@
|
||||
<set name="fanRange" val="0,0,300,90" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="80" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="1000" />
|
||||
@@ -959,6 +964,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill5860" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -974,6 +980,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill5861" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1034,6 +1041,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1055,6 +1063,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="fanRange" val="0,0,150,90" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1076,6 +1085,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1096,6 +1106,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4035" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
@@ -1115,6 +1126,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1135,6 +1147,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="fanRange" val="0,0,150,90" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1154,6 +1167,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="#magicLvl" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1170,6 +1184,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill5873" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1186,6 +1201,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="fanRange" val="0,0,150,90" />
|
||||
<set name="icon" val="icon.skill5873" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1203,6 +1219,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill5873" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1218,6 +1235,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill5876" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1296,6 +1314,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1312,6 +1331,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1479,6 +1499,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill1337" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1527,6 +1548,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="76" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1545,6 +1567,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0402" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="83" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1672,6 +1695,7 @@
|
||||
<set name="abnormalType" val="MA_UP" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="hitTime" val="#hitTime" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_WITH_TRIGGER" />
|
||||
|
@@ -12,6 +12,7 @@
|
||||
<set name="fanRange" val="0,0,150,90" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1481" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -42,6 +43,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="#hitTime" />
|
||||
<set name="icon" val="icon.skill1481" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -137,6 +139,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1064" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -164,6 +167,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="#hitTime" />
|
||||
<set name="icon" val="icon.skill1201" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -187,6 +191,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="#hitTime" />
|
||||
<set name="icon" val="icon.skill1201" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -242,6 +247,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1337" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -272,6 +278,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1337" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="83" />
|
||||
@@ -429,6 +436,7 @@
|
||||
<set name="effectRange" val="1100" />
|
||||
<set name="hitTime" val="22700" />
|
||||
<set name="icon" val="icon.skill1263" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -670,6 +678,7 @@
|
||||
<set name="abnormalType" val="STUN" />
|
||||
<set name="abnormalVisualEffect" val="STUN" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="NONE" />
|
||||
@@ -714,6 +723,7 @@
|
||||
<set name="abnormalType" val="MAX_HP_DOWN" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="icon" val="icon.skill0060" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -726,6 +736,7 @@
|
||||
<set name="abnormalType" val="HEAL_EFFECT_DOWN" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="icon" val="icon.skill0052" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -738,6 +749,7 @@
|
||||
<set name="abnormalType" val="MP_COST_UP" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="icon" val="icon.skill0103" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -750,6 +762,7 @@
|
||||
<set name="abnormalType" val="HIT_DOWN" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="icon" val="icon.skill0107" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -761,6 +774,7 @@
|
||||
<set name="abnormalTime" val="300" />
|
||||
<set name="abnormalType" val="MAX_MP_UP" />
|
||||
<set name="effectPoint" val="100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -927,6 +941,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4036" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="99" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -945,6 +960,7 @@
|
||||
<set name="effectPoint" val="-357" />
|
||||
<set name="hitTime" val="4000" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="99" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1001,6 +1017,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-7121" />
|
||||
<set name="icon" val="icon.skill0018" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="99" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1037,6 +1054,7 @@
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="hitTime" val="1360" />
|
||||
<set name="icon" val="icon.skill005969" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="64" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
@@ -1207,6 +1225,7 @@
|
||||
<set name="abnormalTime" val="300" />
|
||||
<set name="abnormalType" val="SPEED_DOWN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="51" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1282,6 +1301,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0122" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1420,6 +1440,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="#effectPoints" />
|
||||
<set name="icon" val="icon.skill0028" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1440,6 +1461,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1481" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
|
@@ -215,6 +215,7 @@
|
||||
<set name="abnormalType" val="PUBLIC_SLOT" />
|
||||
<set name="effectPoint" val="-10" />
|
||||
<set name="icon" val="icon.skill6024" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="14" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -351,6 +351,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1000" />
|
||||
<set name="icon" val="icon.skill0092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -371,6 +372,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="6000" />
|
||||
<set name="icon" val="icon.skill0092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -388,6 +390,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1160" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="95" />
|
||||
@@ -405,6 +408,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill4038" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
@@ -421,6 +425,7 @@
|
||||
<set name="activateRate" val="0" />
|
||||
<set name="effectPoint" val="-1" />
|
||||
<set name="icon" val="icon.skill2513" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -437,6 +442,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="1500" />
|
||||
<set name="icon" val="icon.skill4038" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
@@ -456,6 +462,7 @@
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="hitTime" val="6000" />
|
||||
<set name="icon" val="icon.skill0092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="95" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -523,6 +530,7 @@
|
||||
<set name="abnormalLvl" val="#abnormalLvls" />
|
||||
<set name="abnormalTime" val="3600" />
|
||||
<set name="abnormalType" val="SPEED_DOWN" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -534,6 +542,7 @@
|
||||
<set name="abnormalTime" val="-1" />
|
||||
<set name="abnormalType" val="ATTACK_TIME_UP" />
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -609,6 +618,7 @@
|
||||
<set name="abnormalLvl" val="3" />
|
||||
<set name="abnormalTime" val="300" />
|
||||
<set name="abnormalType" val="PD_DOWN" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -720,6 +730,7 @@
|
||||
<set name="abnormalType" val="PD_DOWN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="#icons" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -757,6 +768,7 @@
|
||||
<set name="abnormalType" val="SIGNAL_A" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="#icons" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -797,6 +809,7 @@
|
||||
<set name="abnormalVisualEffect" val="DOT_BLEEDING" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="#icons" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -813,6 +826,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4047" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="81" />
|
||||
@@ -832,6 +846,7 @@
|
||||
<set name="coolTime" val="800" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -849,6 +864,7 @@
|
||||
<set name="coolTime" val="800" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="10" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -504,6 +504,7 @@
|
||||
<set name="abnormalType" val="SIGNAL_D" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.etc_ashes_white_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="reuseDelay" val="1000" />
|
||||
@@ -625,6 +626,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-1111" />
|
||||
<set name="icon" val="icon.etc_ashes_red_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -780,6 +782,7 @@
|
||||
<set name="coolTime" val="500" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="77" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -816,6 +819,7 @@
|
||||
<set name="coolTime" val="500" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -847,6 +851,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4036" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -1163,6 +1163,7 @@
|
||||
<set name="abnormalType" val="DAMAGE_AMPLIFY" />
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-1" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -1202,6 +1203,7 @@
|
||||
<set name="abnormalType" val="DAMAGE_AMPLIFY" />
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-1" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -1261,6 +1263,7 @@
|
||||
<set name="activateRate" val="50" />
|
||||
<set name="effectPoint" val="-1000" />
|
||||
<set name="icon" val="icon.skill0347" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1279,6 +1282,7 @@
|
||||
<set name="effectPoint" val="-574" />
|
||||
<set name="fanRange" val="0,0,150,120" />
|
||||
<set name="icon" val="icon.skill0096" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
@@ -1484,7 +1488,6 @@
|
||||
<set name="elementPower" val="20" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="ignoreShld" val="true" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="mpConsume" val="121" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
|
@@ -135,7 +135,6 @@
|
||||
<set name="effectPoint" val="1000" />
|
||||
<set name="hitTime" val="2000" />
|
||||
<set name="icon" val="icon.skill1336" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="85" />
|
||||
@@ -842,6 +841,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4036" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -857,6 +857,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skill6439" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -887,6 +888,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skill6440" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -917,6 +919,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="icon.skill6441" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -320,6 +320,7 @@
|
||||
<set name="activateRate" val="98" />
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="icon" val="icon.skill0100" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="84" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -776,6 +777,7 @@
|
||||
<set name="abnormalType" val="SILENCE_ALL" />
|
||||
<set name="abnormalVisualEffect" val="FLESH_STONE" />
|
||||
<set name="icon" val="icon.skill4111" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -787,6 +789,7 @@
|
||||
<set name="abnormalType" val="SILENCE_ALL" />
|
||||
<set name="abnormalVisualEffect" val="FLESH_STONE" />
|
||||
<set name="icon" val="icon.skill4111" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -1136,6 +1139,7 @@
|
||||
<set name="basicProperty" val="MEN" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill4047" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="95" />
|
||||
@@ -1377,6 +1381,7 @@
|
||||
<set name="coolTime" val="2000" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill1201" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="magicLvl" val="83" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
|
@@ -100,6 +100,7 @@
|
||||
<set name="effectPoint" val="655" />
|
||||
<set name="effectRange" val="900" />
|
||||
<set name="hitTime" val="2500" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="mpConsume" val="272" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -952,8 +953,10 @@
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="ONE" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
@@ -966,9 +969,6 @@
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="7065" levels="1" name="Test - Charge">
|
||||
@@ -992,6 +992,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="coolTime" val="200" />
|
||||
<set name="hitTime" val="800" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="75" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
@@ -1012,6 +1013,7 @@
|
||||
<set name="basicProperty" val="CON" />
|
||||
<set name="coolTime" val="200" />
|
||||
<set name="hitTime" val="800" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="75" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
@@ -1116,6 +1118,7 @@
|
||||
<set name="hitTime" val="1080" />
|
||||
<set name="lvlBonusRate" val="2" />
|
||||
<set name="magicLvl" val="70" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="nextActionAttack" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
@@ -1128,6 +1131,7 @@
|
||||
<set name="abnormalType" val="STUN" />
|
||||
<set name="abnormalVisualEffect" val="STUN" />
|
||||
<set name="magicLvl" val="70" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="NONE" />
|
||||
@@ -1183,6 +1187,7 @@
|
||||
<set name="effectPoint" val="-1" />
|
||||
<set name="hitTime" val="2500" />
|
||||
<set name="magicLvl" val="70" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="NONE" />
|
||||
|
@@ -1005,6 +1005,7 @@
|
||||
<set name="effectPoint" val="-1300" />
|
||||
<set name="hitTime" val="2500" />
|
||||
<set name="icon" val="icon.weapon_long_spear_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="73" />
|
||||
<set name="mpConsume" val="149" />
|
||||
@@ -1569,6 +1570,7 @@
|
||||
<set name="fanRange" val="0,0,150,90" />
|
||||
<set name="hitTime" val="100" />
|
||||
<set name="icon" val="icon.skill0092" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="lvlBonusRate" val="1" />
|
||||
<set name="magicLvl" val="85" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -85,15 +85,15 @@
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.15" />
|
||||
<mul stat="maxCp" val="1.15" />
|
||||
</effect>
|
||||
<effect name="CpHealPercent">
|
||||
<effect name="MaxHp">
|
||||
<param power="15" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="15" />
|
||||
<effect name="MaxCp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
|
@@ -1289,6 +1289,7 @@
|
||||
<set name="blockedInOlympiad" val="true" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0211" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -1303,6 +1304,7 @@
|
||||
<set name="blockedInOlympiad" val="true" />
|
||||
<set name="effectPoint" val="-100" />
|
||||
<set name="icon" val="icon.skill0213" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -245,6 +245,7 @@
|
||||
<set name="coolTime" val="200" />
|
||||
<set name="effectPoint" val="-1" />
|
||||
<set name="icon" val="icon.skill_agathion_special" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -868,6 +869,7 @@
|
||||
<set name="abnormalType" val="BR_EVENT_BUF6" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="BranchSys2.icon.br_rosalia_rose_blue_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
@@ -882,6 +884,7 @@
|
||||
<set name="abnormalType" val="BR_EVENT_BUF7" />
|
||||
<set name="effectPoint" val="1" />
|
||||
<set name="icon" val="BranchSys2.icon.br_rosalia_rose_white_i00" />
|
||||
<set name="isDebuff" val="true" />
|
||||
<set name="isMagic" val="1" /> <!-- Magic Skill -->
|
||||
<set name="magicLvl" val="-1" />
|
||||
<set name="operateType" val="ACTIVE_CONTINUOUS" />
|
||||
|
@@ -1198,8 +1198,10 @@
|
||||
<set name="rideState" val="NONE" />
|
||||
<set name="targetType" val="AURA" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="maxHp" val="1.2" />
|
||||
<effect name="MaxHp">
|
||||
<param power="20" />
|
||||
<param type="PER" />
|
||||
<param heal="true" />
|
||||
<add stat="mCritRate" val="2" />
|
||||
<mul stat="cAtk" val="1.2" />
|
||||
<mul stat="pAtk" val="1.1" />
|
||||
@@ -1212,9 +1214,6 @@
|
||||
<add stat="accCombat" val="4" />
|
||||
<mul stat="runSpd" val="0.8" />
|
||||
</effect>
|
||||
<effect name="HealPercent">
|
||||
<param power="20" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="23277" levels="1" name="Master's Blessing - Improve Combat">
|
||||
|
8
trunk/dist/game/data/xsd/skills.xsd
vendored
8
trunk/dist/game/data/xsd/skills.xsd
vendored
@@ -151,12 +151,20 @@
|
||||
<xs:attribute type="xs:byte" name="addName" use="optional" />
|
||||
<xs:attribute type="xs:string" name="msg" use="optional" />
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="operation">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DIFF" />
|
||||
<xs:enumeration value="PER" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="paramType">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="side" use="optional" />
|
||||
<xs:attribute type="xs:string" name="chance" use="optional" />
|
||||
<xs:attribute type="xs:string" name="power" use="optional" />
|
||||
<xs:attribute type="operation" name="type" use="optional" />
|
||||
<xs:attribute type="xs:boolean" name="heal" use="optional" />
|
||||
<xs:attribute type="xs:string" name="index" use="optional" />
|
||||
<xs:attribute type="xs:byte" name="criticalChance" use="optional" />
|
||||
<xs:attribute type="xs:string" name="charge" use="optional" />
|
||||
|
@@ -131,9 +131,6 @@ public abstract class AbstractAI implements Ctrl
|
||||
/** The character that this AI manages */
|
||||
protected final L2Character _actor;
|
||||
|
||||
/** An accessor for private methods of the actor */
|
||||
protected final L2Character.AIAccessor _accessor;
|
||||
|
||||
/** Current long-term intention */
|
||||
protected CtrlIntention _intention = AI_INTENTION_IDLE;
|
||||
/** Current long-term intention parameter */
|
||||
@@ -166,14 +163,11 @@ public abstract class AbstractAI implements Ctrl
|
||||
|
||||
/**
|
||||
* Constructor of AbstractAI.
|
||||
* @param accessor The AI accessor of the L2Character
|
||||
* @param creature the creature
|
||||
*/
|
||||
protected AbstractAI(L2Character.AIAccessor accessor)
|
||||
protected AbstractAI(L2Character creature)
|
||||
{
|
||||
_accessor = accessor;
|
||||
|
||||
// Get the L2Character managed by this Accessor AI
|
||||
_actor = accessor.getActor();
|
||||
_actor = creature;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -542,13 +536,13 @@ public abstract class AbstractAI implements Ctrl
|
||||
_moveToPawnTimeout = GameTimeController.getInstance().getGameTicks();
|
||||
_moveToPawnTimeout += 1000 / GameTimeController.MILLIS_IN_TICK;
|
||||
|
||||
if ((pawn == null) || (_accessor == null))
|
||||
if (pawn == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Calculate movement data for a move to location action and add the actor to movingObjects of GameTimeController
|
||||
_accessor.moveTo(pawn.getX(), pawn.getY(), pawn.getZ(), offset);
|
||||
_actor.moveToLocation(pawn.getX(), pawn.getY(), pawn.getZ(), offset);
|
||||
|
||||
if (!_actor.isMoving())
|
||||
{
|
||||
@@ -597,7 +591,7 @@ public abstract class AbstractAI implements Ctrl
|
||||
_clientMovingToPawnOffset = 0;
|
||||
|
||||
// Calculate movement data for a move to location action and add the actor to movingObjects of GameTimeController
|
||||
_accessor.moveTo(x, y, z);
|
||||
_actor.moveToLocation(x, y, z, 0);
|
||||
|
||||
// Send a Server->Client packet CharMoveToLocation to the actor and all L2PcInstance in its _knownPlayers
|
||||
_actor.broadcastPacket(new MoveToLocation(_actor));
|
||||
@@ -619,7 +613,7 @@ public abstract class AbstractAI implements Ctrl
|
||||
// Stop movement of the L2Character
|
||||
if (_actor.isMoving())
|
||||
{
|
||||
_accessor.stopMove(loc);
|
||||
_actor.stopMove(loc);
|
||||
}
|
||||
|
||||
_clientMovingToPawnOffset = 0;
|
||||
|
@@ -29,9 +29,9 @@ import com.l2jserver.gameserver.network.serverpackets.ExStopMoveAirShip;
|
||||
*/
|
||||
public class L2AirShipAI extends L2VehicleAI
|
||||
{
|
||||
public L2AirShipAI(L2AirShipInstance.AIAccessor accessor)
|
||||
public L2AirShipAI(L2AirShipInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -40,7 +40,7 @@ public class L2AirShipAI extends L2VehicleAI
|
||||
if (!_actor.isMovementDisabled())
|
||||
{
|
||||
_clientMoving = true;
|
||||
_accessor.moveTo(x, y, z);
|
||||
_actor.moveToLocation(x, y, z, 0);
|
||||
_actor.broadcastPacket(new ExMoveToLocationAirShip(getActor()));
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public class L2AirShipAI extends L2VehicleAI
|
||||
{
|
||||
if (_actor.isMoving())
|
||||
{
|
||||
_accessor.stopMove(loc);
|
||||
_actor.stopMove(loc);
|
||||
}
|
||||
|
||||
if (_clientMoving || (loc != null))
|
||||
|
@@ -94,11 +94,11 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
||||
|
||||
/**
|
||||
* Constructor of L2AttackableAI.
|
||||
* @param accessor The AI accessor of the L2Character
|
||||
* @param creature the creature
|
||||
*/
|
||||
public L2AttackableAI(L2Character.AIAccessor accessor)
|
||||
public L2AttackableAI(L2Attackable creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
_skillrender = NpcData.getInstance().getTemplate(getActiveChar().getTemplate().getId());
|
||||
_attackTimeout = Integer.MAX_VALUE;
|
||||
_globalAggro = -10; // 10 seconds timeout of ATTACK after respawn
|
||||
@@ -352,7 +352,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
// Cancel the AI
|
||||
_accessor.detachAI();
|
||||
_actor.detachAI();
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -405,7 +405,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
clientStopMoving(null);
|
||||
setIntention(AI_INTENTION_ACTIVE);
|
||||
_accessor.doCast(_skill);
|
||||
_actor.doCast(_skill);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1280,7 +1280,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
}
|
||||
|
||||
_accessor.doAttack(getAttackTarget());
|
||||
_actor.doAttack(getAttackTarget());
|
||||
}
|
||||
|
||||
private boolean cast(Skill sk)
|
||||
|
@@ -30,9 +30,9 @@ import com.l2jserver.gameserver.network.serverpackets.VehicleStarted;
|
||||
*/
|
||||
public class L2BoatAI extends L2VehicleAI
|
||||
{
|
||||
public L2BoatAI(L2BoatInstance.AIAccessor accessor)
|
||||
public L2BoatAI(L2BoatInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,7 +46,7 @@ public class L2BoatAI extends L2VehicleAI
|
||||
}
|
||||
|
||||
_clientMoving = true;
|
||||
_accessor.moveTo(x, y, z);
|
||||
_actor.moveToLocation(x, y, z, 0);
|
||||
_actor.broadcastPacket(new VehicleDeparture(getActor()));
|
||||
}
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class L2BoatAI extends L2VehicleAI
|
||||
{
|
||||
if (_actor.isMoving())
|
||||
{
|
||||
_accessor.stopMove(loc);
|
||||
_actor.stopMove(loc);
|
||||
}
|
||||
|
||||
if (_clientMoving || (loc != null))
|
||||
|
@@ -120,11 +120,11 @@ public class L2CharacterAI extends AbstractAI
|
||||
|
||||
/**
|
||||
* Constructor of L2CharacterAI.
|
||||
* @param accessor The AI accessor of the L2Character
|
||||
* @param creature the creature
|
||||
*/
|
||||
public L2CharacterAI(L2Character.AIAccessor accessor)
|
||||
public L2CharacterAI(L2Character creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
public IntentionCommand getNextIntention()
|
||||
@@ -727,16 +727,16 @@ public class L2CharacterAI extends AbstractAI
|
||||
@Override
|
||||
protected void onEvtArrived()
|
||||
{
|
||||
_accessor.getActor().revalidateZone(true);
|
||||
_actor.revalidateZone(true);
|
||||
|
||||
if (_accessor.getActor().moveToNextRoutePoint())
|
||||
if (_actor.moveToNextRoutePoint())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_accessor.getActor() instanceof L2Attackable)
|
||||
if (_actor instanceof L2Attackable)
|
||||
{
|
||||
((L2Attackable) _accessor.getActor()).setisReturningToSpawnPoint(false);
|
||||
((L2Attackable) _actor).setisReturningToSpawnPoint(false);
|
||||
}
|
||||
clientStoppedMoving();
|
||||
|
||||
|
@@ -30,7 +30,6 @@ import com.l2jserver.gameserver.model.MobGroup;
|
||||
import com.l2jserver.gameserver.model.MobGroupTable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character.AIAccessor;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Playable;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2ControllableMobInstance;
|
||||
@@ -62,6 +61,12 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
private L2Character _forcedTarget;
|
||||
private MobGroup _targetGroup;
|
||||
|
||||
public L2ControllableMobAI(L2ControllableMobInstance creature)
|
||||
{
|
||||
super(creature);
|
||||
setAlternateAI(AI_IDLE);
|
||||
}
|
||||
|
||||
protected void thinkFollow()
|
||||
{
|
||||
L2Attackable me = (L2Attackable) _actor;
|
||||
@@ -153,7 +158,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
{
|
||||
if (Util.checkIfInRange(sk.getCastRange(), _actor, getAttackTarget(), true) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() > _actor.getStat().getMpConsume(sk)))
|
||||
{
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -203,7 +208,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
|
||||
if (((castRange * castRange) >= dist2) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() > _actor.getStat().getMpConsume(sk)))
|
||||
{
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -217,7 +222,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
|
||||
return;
|
||||
}
|
||||
_accessor.doAttack(target);
|
||||
_actor.doAttack(target);
|
||||
}
|
||||
|
||||
protected void thinkForceAttack()
|
||||
@@ -243,7 +248,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
|
||||
if (((castRange * castRange) >= dist2) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() > _actor.getStat().getMpConsume(sk)))
|
||||
{
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -258,7 +263,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
return;
|
||||
}
|
||||
|
||||
_accessor.doAttack(getForcedTarget());
|
||||
_actor.doAttack(getForcedTarget());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -316,7 +321,7 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
|
||||
if (((castRange * castRange) >= dist2) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() > _actor.getStat().getMpConsume(sk)))
|
||||
{
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -358,13 +363,13 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
|
||||
if (((castRange * castRange) >= dist2) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() < _actor.getStat().getMpConsume(sk)))
|
||||
{
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_accessor.doAttack(getAttackTarget());
|
||||
_actor.doAttack(getAttackTarget());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -494,12 +499,6 @@ public final class L2ControllableMobAI extends L2AttackableAI
|
||||
return getGroupTarget().getRandomMob();
|
||||
}
|
||||
|
||||
public L2ControllableMobAI(AIAccessor accessor)
|
||||
{
|
||||
super(accessor);
|
||||
setAlternateAI(AI_IDLE);
|
||||
}
|
||||
|
||||
public int getAlternateAI()
|
||||
{
|
||||
return _alternateAI;
|
||||
|
@@ -31,12 +31,11 @@ import com.l2jserver.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class L2DoorAI extends L2CharacterAI
|
||||
{
|
||||
public L2DoorAI(L2DoorInstance.AIAccessor accessor)
|
||||
public L2DoorAI(L2DoorInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
// rather stupid AI... well, it's for doors :D
|
||||
@Override
|
||||
protected void onIntentionIdle()
|
||||
{
|
||||
@@ -90,8 +89,7 @@ public class L2DoorAI extends L2CharacterAI
|
||||
@Override
|
||||
protected void onEvtAttacked(L2Character attacker)
|
||||
{
|
||||
L2DoorInstance me = (L2DoorInstance) _actor;
|
||||
ThreadPoolManager.getInstance().executeGeneral(new onEventAttackedDoorTask(me, attacker));
|
||||
ThreadPoolManager.getInstance().executeGeneral(new onEventAttackedDoorTask((L2DoorInstance) _actor, attacker));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -71,11 +71,11 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
|
||||
/**
|
||||
* Constructor of L2AttackableAI.
|
||||
* @param accessor The AI accessor of the L2Character
|
||||
* @param creature the creature
|
||||
*/
|
||||
public L2FortSiegeGuardAI(L2Character.AIAccessor accessor)
|
||||
public L2FortSiegeGuardAI(L2DefenderInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
_selfAnalysis.init();
|
||||
_attackTimeout = Integer.MAX_VALUE;
|
||||
_globalAggro = -10; // 10 seconds timeout of ATTACK after respawn
|
||||
@@ -227,7 +227,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
// Cancel the AI
|
||||
_accessor.detachAI();
|
||||
_actor.detachAI();
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -470,7 +470,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
L2Object OldTarget = _actor.getTarget();
|
||||
_actor.setTarget(cha);
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -529,7 +529,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
L2Object OldTarget = _actor.getTarget();
|
||||
_actor.setTarget(npc);
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -627,7 +627,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -772,14 +772,14 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Finally, do the physical attack itself
|
||||
_accessor.doAttack(attackTarget);
|
||||
_actor.doAttack(attackTarget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -963,7 +963,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
_aiTask.cancel(false);
|
||||
_aiTask = null;
|
||||
}
|
||||
_accessor.detachAI();
|
||||
_actor.detachAI();
|
||||
super.stopAITask();
|
||||
}
|
||||
}
|
@@ -20,7 +20,6 @@ package com.l2jserver.gameserver.ai;
|
||||
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character.AIAccessor;
|
||||
import com.l2jserver.gameserver.model.actor.L2Playable;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||
@@ -34,11 +33,11 @@ import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
public abstract class L2PlayableAI extends L2CharacterAI
|
||||
{
|
||||
/**
|
||||
* @param accessor
|
||||
* @param creature the creature
|
||||
*/
|
||||
public L2PlayableAI(AIAccessor accessor)
|
||||
public L2PlayableAI(L2Playable creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -29,7 +29,6 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_REST;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character.AIAccessor;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
@@ -39,11 +38,11 @@ public class L2PlayerAI extends L2PlayableAI
|
||||
{
|
||||
private boolean _thinking; // to prevent recursive thinking
|
||||
|
||||
IntentionCommand _nextIntention = null;
|
||||
private IntentionCommand _nextIntention = null;
|
||||
|
||||
public L2PlayerAI(AIAccessor accessor)
|
||||
public L2PlayerAI(L2PcInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
void saveNextIntention(CtrlIntention intention, Object arg0, Object arg1)
|
||||
@@ -240,7 +239,7 @@ public class L2PlayerAI extends L2PlayableAI
|
||||
return;
|
||||
}
|
||||
|
||||
_accessor.doAttack(target);
|
||||
_actor.doAttack(target);
|
||||
}
|
||||
|
||||
private void thinkCast()
|
||||
@@ -278,7 +277,7 @@ public class L2PlayerAI extends L2PlayableAI
|
||||
clientStopMoving(null);
|
||||
}
|
||||
|
||||
_accessor.doCast(_skill);
|
||||
_actor.doCast(_skill);
|
||||
}
|
||||
|
||||
private void thinkPickUp()
|
||||
@@ -297,7 +296,7 @@ public class L2PlayerAI extends L2PlayableAI
|
||||
return;
|
||||
}
|
||||
setIntention(AI_INTENTION_IDLE);
|
||||
((L2PcInstance.AIAccessor) _accessor).doPickupItem(target);
|
||||
_actor.getActingPlayer().doPickupItem(target);
|
||||
}
|
||||
|
||||
private void thinkInteract()
|
||||
@@ -317,7 +316,7 @@ public class L2PlayerAI extends L2PlayableAI
|
||||
}
|
||||
if (!(target instanceof L2StaticObjectInstance))
|
||||
{
|
||||
((L2PcInstance.AIAccessor) _accessor).doInteract((L2Character) target);
|
||||
_actor.getActingPlayer().doInteract((L2Character) target);
|
||||
}
|
||||
setIntention(AI_INTENTION_IDLE);
|
||||
}
|
||||
|
@@ -18,7 +18,6 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.ai;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2AirShipInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2ShuttleInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.shuttle.ExShuttleMove;
|
||||
|
||||
@@ -27,9 +26,9 @@ import com.l2jserver.gameserver.network.serverpackets.shuttle.ExShuttleMove;
|
||||
*/
|
||||
public class L2ShuttleAI extends L2VehicleAI
|
||||
{
|
||||
public L2ShuttleAI(L2AirShipInstance.AIAccessor accessor)
|
||||
public L2ShuttleAI(L2ShuttleInstance l2ShuttleInstance)
|
||||
{
|
||||
super(accessor);
|
||||
super(l2ShuttleInstance);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -38,7 +37,7 @@ public class L2ShuttleAI extends L2VehicleAI
|
||||
if (!_actor.isMovementDisabled())
|
||||
{
|
||||
_clientMoving = true;
|
||||
_accessor.moveTo(x, y, z);
|
||||
_actor.moveToLocation(x, y, z, 0);
|
||||
_actor.broadcastPacket(new ExShuttleMove(getActor(), x, y, z));
|
||||
}
|
||||
}
|
||||
|
@@ -71,11 +71,11 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
|
||||
/**
|
||||
* Constructor of L2AttackableAI.
|
||||
* @param accessor The AI accessor of the L2Character
|
||||
* @param creature the creature
|
||||
*/
|
||||
public L2SiegeGuardAI(L2Character.AIAccessor accessor)
|
||||
public L2SiegeGuardAI(L2DefenderInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
_selfAnalysis.init();
|
||||
_attackTimeout = Integer.MAX_VALUE;
|
||||
_globalAggro = -10; // 10 seconds timeout of ATTACK after respawn
|
||||
@@ -216,7 +216,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
// Cancel the AI
|
||||
_accessor.detachAI();
|
||||
_actor.detachAI();
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -449,7 +449,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
L2Object OldTarget = _actor.getTarget();
|
||||
_actor.setTarget(cha);
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -508,7 +508,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
L2Object OldTarget = _actor.getTarget();
|
||||
_actor.setTarget(npc);
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -600,7 +600,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -741,7 +741,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
}
|
||||
|
||||
clientStopMoving(null);
|
||||
_accessor.doCast(sk);
|
||||
_actor.doCast(sk);
|
||||
_actor.setTarget(OldTarget);
|
||||
return;
|
||||
}
|
||||
@@ -750,7 +750,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
// Finally, do the physical attack itself
|
||||
if (!_selfAnalysis.isHealer)
|
||||
{
|
||||
_accessor.doAttack(attackTarget);
|
||||
_actor.doAttack(attackTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -927,7 +927,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
|
||||
_aiTask.cancel(false);
|
||||
_aiTask = null;
|
||||
}
|
||||
_accessor.detachAI();
|
||||
_actor.detachAI();
|
||||
super.stopAITask();
|
||||
}
|
||||
}
|
||||
|
@@ -19,27 +19,27 @@
|
||||
package com.l2jserver.gameserver.ai;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character.AIAccessor;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2DefenderInstance;
|
||||
|
||||
/**
|
||||
* @author BiggBoss
|
||||
*/
|
||||
public final class L2SpecialSiegeGuardAI extends L2SiegeGuardAI
|
||||
{
|
||||
private final ArrayList<Integer> _allied;
|
||||
private final List<Integer> _allied = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* @param accessor
|
||||
* @param creature
|
||||
*/
|
||||
public L2SpecialSiegeGuardAI(AIAccessor accessor)
|
||||
public L2SpecialSiegeGuardAI(L2DefenderInstance creature)
|
||||
{
|
||||
super(accessor);
|
||||
_allied = new ArrayList<>();
|
||||
super(creature);
|
||||
}
|
||||
|
||||
public ArrayList<Integer> getAlly()
|
||||
public List<Integer> getAlly()
|
||||
{
|
||||
return _allied;
|
||||
}
|
||||
|
@@ -28,7 +28,6 @@ import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character.AIAccessor;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.util.Rnd;
|
||||
@@ -44,9 +43,9 @@ public class L2SummonAI extends L2PlayableAI implements Runnable
|
||||
private volatile boolean _startAvoid = false;
|
||||
private Future<?> _avoidTask = null;
|
||||
|
||||
public L2SummonAI(AIAccessor accessor)
|
||||
public L2SummonAI(L2Summon creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -99,7 +98,7 @@ public class L2SummonAI extends L2PlayableAI implements Runnable
|
||||
return;
|
||||
}
|
||||
clientStopMoving(null);
|
||||
_accessor.doAttack(getAttackTarget());
|
||||
_actor.doAttack(getAttackTarget());
|
||||
}
|
||||
|
||||
private void thinkCast()
|
||||
@@ -119,7 +118,7 @@ public class L2SummonAI extends L2PlayableAI implements Runnable
|
||||
summon.setFollowStatus(false);
|
||||
setIntention(AI_INTENTION_IDLE);
|
||||
_startFollow = val;
|
||||
_accessor.doCast(_skill);
|
||||
_actor.doCast(_skill);
|
||||
}
|
||||
|
||||
private void thinkPickUp()
|
||||
@@ -133,7 +132,7 @@ public class L2SummonAI extends L2PlayableAI implements Runnable
|
||||
return;
|
||||
}
|
||||
setIntention(AI_INTENTION_IDLE);
|
||||
((L2Summon.AIAccessor) _accessor).doPickupItem(getTarget());
|
||||
((L2Summon) _actor).doPickupItem(getTarget());
|
||||
}
|
||||
|
||||
private void thinkInteract()
|
||||
|
@@ -30,11 +30,11 @@ public abstract class L2VehicleAI extends L2CharacterAI
|
||||
{
|
||||
/**
|
||||
* Simple AI for vehicles
|
||||
* @param accessor
|
||||
* @param creature
|
||||
*/
|
||||
public L2VehicleAI(L2Vehicle.AIAccessor accessor)
|
||||
public L2VehicleAI(L2Vehicle creature)
|
||||
{
|
||||
super(accessor);
|
||||
super(creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -19,6 +19,7 @@
|
||||
package com.l2jserver.gameserver.ai;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Class for AI action after some event.<br>
|
||||
@@ -32,8 +33,8 @@ public class NextAction
|
||||
public void doWork();
|
||||
}
|
||||
|
||||
private ArrayList<CtrlEvent> _events;
|
||||
private ArrayList<CtrlIntention> _intentions;
|
||||
private List<CtrlEvent> _events;
|
||||
private List<CtrlIntention> _intentions;
|
||||
private NextActionCallback _callback;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class NextAction
|
||||
* @param intentions
|
||||
* @param callback
|
||||
*/
|
||||
public NextAction(ArrayList<CtrlEvent> events, ArrayList<CtrlIntention> intentions, NextActionCallback callback)
|
||||
public NextAction(List<CtrlEvent> events, List<CtrlIntention> intentions, NextActionCallback callback)
|
||||
{
|
||||
_events = events;
|
||||
_intentions = intentions;
|
||||
@@ -93,7 +94,7 @@ public class NextAction
|
||||
/**
|
||||
* @return the _event
|
||||
*/
|
||||
public ArrayList<CtrlEvent> getEvents()
|
||||
public List<CtrlEvent> getEvents()
|
||||
{
|
||||
// If null return empty list.
|
||||
if (_events == null)
|
||||
@@ -158,7 +159,7 @@ public class NextAction
|
||||
/**
|
||||
* @return the _intentions
|
||||
*/
|
||||
public ArrayList<CtrlIntention> getIntentions()
|
||||
public List<CtrlIntention> getIntentions()
|
||||
{
|
||||
// If null return empty list.
|
||||
if (_intentions == null)
|
||||
|
@@ -72,8 +72,6 @@ public final class AdminData implements IXmlReader
|
||||
NamedNodeMap attrs;
|
||||
Node attr;
|
||||
StatsSet set;
|
||||
L2AccessLevel level;
|
||||
L2AdminCommandAccessRight command;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -89,7 +87,7 @@ public final class AdminData implements IXmlReader
|
||||
attr = attrs.item(i);
|
||||
set.set(attr.getNodeName(), attr.getNodeValue());
|
||||
}
|
||||
level = new L2AccessLevel(set);
|
||||
final L2AccessLevel level = new L2AccessLevel(set);
|
||||
if (level.getLevel() > _highestLevel)
|
||||
{
|
||||
_highestLevel = level.getLevel();
|
||||
@@ -105,7 +103,7 @@ public final class AdminData implements IXmlReader
|
||||
attr = attrs.item(i);
|
||||
set.set(attr.getNodeName(), attr.getNodeValue());
|
||||
}
|
||||
command = new L2AdminCommandAccessRight(set);
|
||||
final L2AdminCommandAccessRight command = new L2AdminCommandAccessRight(set);
|
||||
_adminCommandAccessRights.put(command.getAdminCommand(), command);
|
||||
}
|
||||
}
|
||||
|
@@ -74,9 +74,6 @@ public class AppearanceItemData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
StatsSet set;
|
||||
Node att;
|
||||
NamedNodeMap attrs;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -85,11 +82,11 @@ public class AppearanceItemData implements IXmlReader
|
||||
{
|
||||
if ("appearance_stone".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
set = new StatsSet();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
final StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
|
||||
|
@@ -57,8 +57,6 @@ public final class ArmorSetsData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
L2ArmorSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -67,13 +65,13 @@ public final class ArmorSetsData implements IXmlReader
|
||||
{
|
||||
if ("set".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
set = new L2ArmorSet();
|
||||
final L2ArmorSet set = new L2ArmorSet();
|
||||
set.setIsVisual(parseBoolean(d.getAttributes(), "visual", false));
|
||||
set.setMinimumPieces(parseInteger(d.getAttributes(), "minimumPieces"));
|
||||
|
||||
for (Node a = d.getFirstChild(); a != null; a = a.getNextSibling())
|
||||
{
|
||||
attrs = a.getAttributes();
|
||||
final NamedNodeMap attrs = a.getAttributes();
|
||||
switch (a.getNodeName())
|
||||
{
|
||||
case "chest":
|
||||
|
@@ -56,26 +56,21 @@ public final class ClassListData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node attr;
|
||||
ClassId classId;
|
||||
String className;
|
||||
ClassId parentClassId;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equals(n.getNodeName()))
|
||||
{
|
||||
for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
if ("class".equals(d.getNodeName()))
|
||||
{
|
||||
attr = attrs.getNamedItem("classId");
|
||||
classId = ClassId.getClassId(parseInteger(attr));
|
||||
Node attr = attrs.getNamedItem("classId");
|
||||
final ClassId classId = ClassId.getClassId(parseInteger(attr));
|
||||
attr = attrs.getNamedItem("name");
|
||||
className = attr.getNodeValue();
|
||||
final String className = attr.getNodeValue();
|
||||
attr = attrs.getNamedItem("parentClassId");
|
||||
parentClassId = (attr != null) ? ClassId.getClassId(parseInteger(attr)) : null;
|
||||
final ClassId parentClassId = (attr != null) ? ClassId.getClassId(parseInteger(attr)) : null;
|
||||
_classData.put(classId, new ClassInfo(classId, className, parentClassId));
|
||||
}
|
||||
}
|
||||
@@ -85,7 +80,7 @@ public final class ClassListData implements IXmlReader
|
||||
|
||||
/**
|
||||
* Gets the class list.
|
||||
* @return the complete class list.
|
||||
* @return the complete class list
|
||||
*/
|
||||
public Map<ClassId, ClassInfo> getClassList()
|
||||
{
|
||||
@@ -94,8 +89,8 @@ public final class ClassListData implements IXmlReader
|
||||
|
||||
/**
|
||||
* Gets the class info.
|
||||
* @param classId the class Id.
|
||||
* @return the class info related to the given {@code classId}.
|
||||
* @param classId the class ID
|
||||
* @return the class info related to the given {@code classId}
|
||||
*/
|
||||
public ClassInfo getClass(ClassId classId)
|
||||
{
|
||||
@@ -104,8 +99,8 @@ public final class ClassListData implements IXmlReader
|
||||
|
||||
/**
|
||||
* Gets the class info.
|
||||
* @param classId the class Id as integer.
|
||||
* @return the class info related to the given {@code classId}.
|
||||
* @param classId the class Id as integer
|
||||
* @return the class info related to the given {@code classId}
|
||||
*/
|
||||
public ClassInfo getClass(int classId)
|
||||
{
|
||||
|
@@ -66,9 +66,6 @@ public class DoorData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
StatsSet set;
|
||||
for (Node a = doc.getFirstChild(); a != null; a = a.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(a.getNodeName()))
|
||||
@@ -77,12 +74,12 @@ public class DoorData implements IXmlReader
|
||||
{
|
||||
if ("door".equalsIgnoreCase(b.getNodeName()))
|
||||
{
|
||||
attrs = b.getAttributes();
|
||||
set = new StatsSet();
|
||||
final NamedNodeMap attrs = b.getAttributes();
|
||||
final StatsSet set = new StatsSet();
|
||||
set.set("baseHpMax", 1); // Avoid doors without HP value created dead due to default value 0 in L2CharTemplate
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
makeDoor(set);
|
||||
|
@@ -69,7 +69,7 @@ public final class EnchantItemGroupsData implements IXmlReader
|
||||
{
|
||||
if ("enchantRateGroup".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
String name = parseString(d.getAttributes(), "name");
|
||||
final String name = parseString(d.getAttributes(), "name");
|
||||
final EnchantItemGroup group = new EnchantItemGroup(name);
|
||||
for (Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())
|
||||
{
|
||||
|
@@ -65,12 +65,12 @@ public class EnchantItemHPBonusData implements IXmlReader
|
||||
{
|
||||
if ("enchantHP".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
List<Integer> bonuses = new ArrayList<>();
|
||||
final List<Integer> bonuses = new ArrayList<>(12);
|
||||
for (Node e = d.getFirstChild(); e != null; e = e.getNextSibling())
|
||||
{
|
||||
if ("bonus".equalsIgnoreCase(e.getNodeName()))
|
||||
{
|
||||
bonuses.add(Integer.valueOf(e.getTextContent()));
|
||||
bonuses.add(Integer.parseInt(e.getTextContent()));
|
||||
}
|
||||
}
|
||||
_armorHPBonuses.put(parseEnum(d.getAttributes(), CrystalType.class, "grade"), bonuses);
|
||||
@@ -82,12 +82,11 @@ public class EnchantItemHPBonusData implements IXmlReader
|
||||
if (!_armorHPBonuses.isEmpty())
|
||||
{
|
||||
final ItemTable it = ItemTable.getInstance();
|
||||
L2Item item;
|
||||
// Armors
|
||||
final Collection<Integer> armorIds = it.getAllArmorsId();
|
||||
for (Integer itemId : armorIds)
|
||||
{
|
||||
item = it.getTemplate(itemId);
|
||||
L2Item item = it.getTemplate(itemId);
|
||||
if ((item != null) && (item.getCrystalType() != CrystalType.NONE))
|
||||
{
|
||||
switch (item.getBodyPart())
|
||||
|
@@ -52,9 +52,7 @@ public class EnchantItemOptionsData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
Node att = null;
|
||||
int counter = 0;
|
||||
EnchantOptions op = null;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -72,12 +70,12 @@ public class EnchantItemOptionsData implements IXmlReader
|
||||
{
|
||||
if ("options".equalsIgnoreCase(cd.getNodeName()))
|
||||
{
|
||||
op = new EnchantOptions(parseInteger(cd.getAttributes(), "level"));
|
||||
final EnchantOptions op = new EnchantOptions(parseInteger(cd.getAttributes(), "level"));
|
||||
_data.get(itemId).put(op.getLevel(), op);
|
||||
|
||||
for (byte i = 0; i < 3; i++)
|
||||
{
|
||||
att = cd.getAttributes().getNamedItem("option" + (i + 1));
|
||||
final Node att = cd.getAttributes().getNamedItem("option" + (i + 1));
|
||||
if ((att != null) && Util.isDigit(att.getNodeValue()))
|
||||
{
|
||||
op.setOption(i, parseInteger(att));
|
||||
|
@@ -77,11 +77,6 @@ public class EnchantSkillGroupsData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
StatsSet set;
|
||||
Node att;
|
||||
int id = 0;
|
||||
L2EnchantSkillGroup group;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -90,10 +85,9 @@ public class EnchantSkillGroupsData implements IXmlReader
|
||||
{
|
||||
if ("group".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
id = parseInteger(attrs, "id");
|
||||
|
||||
group = _enchantSkillGroups.get(id);
|
||||
NamedNodeMap attrs = d.getAttributes();
|
||||
final int id = parseInteger(attrs, "id");
|
||||
L2EnchantSkillGroup group = _enchantSkillGroups.get(id);
|
||||
if (group == null)
|
||||
{
|
||||
group = new L2EnchantSkillGroup(id);
|
||||
@@ -105,11 +99,11 @@ public class EnchantSkillGroupsData implements IXmlReader
|
||||
if ("enchant".equalsIgnoreCase(b.getNodeName()))
|
||||
{
|
||||
attrs = b.getAttributes();
|
||||
set = new StatsSet();
|
||||
StatsSet set = new StatsSet();
|
||||
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
group.addEnchantDetail(new EnchantSkillHolder(set));
|
||||
|
@@ -65,12 +65,11 @@ public final class ExperienceData implements IXmlReader
|
||||
MAX_LEVEL = (byte) (Byte.parseByte(tableAttr.getNamedItem("maxLevel").getNodeValue()) + 1);
|
||||
MAX_PET_LEVEL = (byte) (Byte.parseByte(tableAttr.getNamedItem("maxPetLevel").getNodeValue()) + 1);
|
||||
|
||||
NamedNodeMap attrs;
|
||||
for (Node n = table.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("experience".equals(n.getNodeName()))
|
||||
{
|
||||
attrs = n.getAttributes();
|
||||
NamedNodeMap attrs = n.getAttributes();
|
||||
_expTable.put(parseInteger(attrs, "level"), parseLong(attrs, "tolevel"));
|
||||
}
|
||||
}
|
||||
|
@@ -62,10 +62,6 @@ public final class FishData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
L2Fish fish;
|
||||
StatsSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -74,15 +70,16 @@ public final class FishData implements IXmlReader
|
||||
{
|
||||
if ("fish".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
|
||||
set = new StatsSet();
|
||||
final StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
fish = new L2Fish(set);
|
||||
|
||||
final L2Fish fish = new L2Fish(set);
|
||||
switch (fish.getFishGrade())
|
||||
{
|
||||
case 0:
|
||||
|
@@ -56,10 +56,6 @@ public final class FishingMonstersData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
L2FishingMonster fishingMonster;
|
||||
StatsSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -69,15 +65,15 @@ public final class FishingMonstersData implements IXmlReader
|
||||
if ("fishingMonster".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
|
||||
attrs = d.getAttributes();
|
||||
|
||||
set = new StatsSet();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
final StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
fishingMonster = new L2FishingMonster(set);
|
||||
|
||||
final L2FishingMonster fishingMonster = new L2FishingMonster(set);
|
||||
_fishingMonstersData.put(fishingMonster.getFishingMonsterId(), fishingMonster);
|
||||
}
|
||||
}
|
||||
|
@@ -56,10 +56,6 @@ public final class FishingRodsData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
L2FishingRod fishingRod;
|
||||
StatsSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -68,16 +64,15 @@ public final class FishingRodsData implements IXmlReader
|
||||
{
|
||||
if ("fishingRod".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
|
||||
attrs = d.getAttributes();
|
||||
|
||||
set = new StatsSet();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
final StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
fishingRod = new L2FishingRod(set);
|
||||
|
||||
final L2FishingRod fishingRod = new L2FishingRod(set);
|
||||
_fishingRods.put(fishingRod.getFishingRodItemId(), fishingRod);
|
||||
}
|
||||
}
|
||||
|
@@ -87,7 +87,6 @@ public final class HennaData implements IXmlReader
|
||||
final List<ClassId> wearClassIds = new ArrayList<>();
|
||||
NamedNodeMap attrs = d.getAttributes();
|
||||
Node attr;
|
||||
String name;
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
attr = attrs.item(i);
|
||||
@@ -96,7 +95,7 @@ public final class HennaData implements IXmlReader
|
||||
|
||||
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
|
||||
{
|
||||
name = c.getNodeName();
|
||||
final String name = c.getNodeName();
|
||||
attrs = c.getAttributes();
|
||||
switch (name)
|
||||
{
|
||||
|
@@ -51,7 +51,6 @@ public class KarmaData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("pcKarmaIncrease".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -60,7 +59,7 @@ public class KarmaData implements IXmlReader
|
||||
{
|
||||
if ("increase".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
_karmaTable.put(parseInteger(attrs, "lvl"), parseDouble(attrs, "val"));
|
||||
}
|
||||
}
|
||||
|
@@ -57,8 +57,6 @@ public class OptionData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
int id;
|
||||
Options op;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -67,8 +65,8 @@ public class OptionData implements IXmlReader
|
||||
{
|
||||
if ("option".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
id = parseInteger(d.getAttributes(), "id");
|
||||
op = new Options(id);
|
||||
final int id = parseInteger(d.getAttributes(), "id");
|
||||
final Options op = new Options(id);
|
||||
|
||||
for (Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling())
|
||||
{
|
||||
|
@@ -58,9 +58,6 @@ public final class StaticObjectData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
StatsSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -69,11 +66,11 @@ public final class StaticObjectData implements IXmlReader
|
||||
{
|
||||
if ("object".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
set = new StatsSet();
|
||||
final NamedNodeMap attrs = d.getAttributes();
|
||||
final StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
final Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
addObject(set);
|
||||
|
@@ -60,9 +60,6 @@ public final class TransformData implements IXmlReader
|
||||
@Override
|
||||
public void parseDocument(Document doc)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
Node att;
|
||||
StatsSet set;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equalsIgnoreCase(n.getNodeName()))
|
||||
@@ -71,11 +68,11 @@ public final class TransformData implements IXmlReader
|
||||
{
|
||||
if ("transform".equalsIgnoreCase(d.getNodeName()))
|
||||
{
|
||||
attrs = d.getAttributes();
|
||||
set = new StatsSet();
|
||||
NamedNodeMap attrs = d.getAttributes();
|
||||
StatsSet set = new StatsSet();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
final Transform transform = new Transform(set);
|
||||
@@ -105,7 +102,7 @@ public final class TransformData implements IXmlReader
|
||||
attrs = s.getAttributes();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
Node att = attrs.item(i);
|
||||
set.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
break;
|
||||
@@ -202,7 +199,7 @@ public final class TransformData implements IXmlReader
|
||||
attrs = s.getAttributes();
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
att = attrs.item(i);
|
||||
Node att = attrs.item(i);
|
||||
levelsSet.set(att.getNodeName(), att.getNodeValue());
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J Server
|
||||
*
|
||||
* This file is part of L2J Server.
|
||||
*
|
||||
* L2J Server 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 Server 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 com.l2jserver.gameserver.enums;
|
||||
|
||||
/**
|
||||
* @author Zealar
|
||||
*/
|
||||
public enum EffectCalculationType
|
||||
{
|
||||
DIFF,
|
||||
PER
|
||||
}
|
@@ -149,7 +149,7 @@ public class L2Attackable extends L2Npc
|
||||
@Override
|
||||
protected L2CharacterAI initAI()
|
||||
{
|
||||
return new L2AttackableAI(new AIAccessor());
|
||||
return new L2AttackableAI(this);
|
||||
}
|
||||
|
||||
public final Map<L2Character, AggroInfo> getAggroList()
|
||||
|
@@ -823,7 +823,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* </ul>
|
||||
* @param target The L2Character targeted
|
||||
*/
|
||||
protected void doAttack(L2Character target)
|
||||
public void doAttack(L2Character target)
|
||||
{
|
||||
if (!_attackLock.tryLock())
|
||||
{
|
||||
@@ -2576,6 +2576,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return true;
|
||||
}
|
||||
|
||||
public void detachAI()
|
||||
{
|
||||
if (isWalker())
|
||||
{
|
||||
return;
|
||||
}
|
||||
setAI(null);
|
||||
}
|
||||
|
||||
protected void calculateRewards(L2Character killer)
|
||||
{
|
||||
}
|
||||
@@ -2653,7 +2662,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
*/
|
||||
protected L2CharacterAI initAI()
|
||||
{
|
||||
return new L2CharacterAI(new AIAccessor());
|
||||
return new L2CharacterAI(this);
|
||||
}
|
||||
|
||||
public void setAI(L2CharacterAI newAI)
|
||||
@@ -3472,93 +3481,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return _effectList.isAffectedBySkill(skillId);
|
||||
}
|
||||
|
||||
// TODO: NEED TO ORGANIZE AND MOVE TO PROPER PLACE
|
||||
/** This class permit to the L2Character AI to obtain informations and uses L2Character method */
|
||||
public class AIAccessor
|
||||
{
|
||||
/**
|
||||
* @return the L2Character managed by this Accessor AI.
|
||||
*/
|
||||
public L2Character getActor()
|
||||
{
|
||||
return L2Character.this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to L2Character moveToLocation() method with an interaction area.
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
* @param offset
|
||||
*/
|
||||
public void moveTo(int x, int y, int z, int offset)
|
||||
{
|
||||
moveToLocation(x, y, z, offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to L2Character moveToLocation() method without interaction area.
|
||||
* @param x
|
||||
* @param y
|
||||
* @param z
|
||||
*/
|
||||
public void moveTo(int x, int y, int z)
|
||||
{
|
||||
moveToLocation(x, y, z, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to L2Character stopMove() method.
|
||||
* @param loc
|
||||
*/
|
||||
public void stopMove(Location loc)
|
||||
{
|
||||
L2Character.this.stopMove(loc);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to L2Character doAttack() method.
|
||||
* @param target
|
||||
*/
|
||||
public void doAttack(L2Character target)
|
||||
{
|
||||
L2Character.this.doAttack(target);
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessor to L2Character doCast() method.
|
||||
* @param skill
|
||||
*/
|
||||
public void doCast(Skill skill)
|
||||
{
|
||||
L2Character.this.doCast(skill);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a NotifyAITask.
|
||||
* @param evt
|
||||
* @return
|
||||
*/
|
||||
public NotifyAITask newNotifyTask(CtrlEvent evt)
|
||||
{
|
||||
return new NotifyAITask(getActor(), evt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancel the AI.
|
||||
*/
|
||||
public void detachAI()
|
||||
{
|
||||
// Skip character, if it is controlled by Walking Manager
|
||||
if (isWalker())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
setAI(null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This class group all movement data.<br>
|
||||
* <B><U> Data</U> :</B>
|
||||
@@ -4482,7 +4404,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return _target;
|
||||
}
|
||||
|
||||
// called from AIAccessor only
|
||||
/**
|
||||
* Calculate movement data for a move to location action and add the L2Character to movingObjects of GameTimeController (only called by AI Accessor).<br>
|
||||
* <B><U>Concept</U>:</B><br>
|
||||
@@ -4509,7 +4430,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* @param z The Y position of the destination
|
||||
* @param offset The size of the interaction area of the L2Character targeted
|
||||
*/
|
||||
protected void moveToLocation(int x, int y, int z, int offset)
|
||||
public void moveToLocation(int x, int y, int z, int offset)
|
||||
{
|
||||
// Get the Move Speed of the L2Charcater
|
||||
double speed = getMoveSpeed();
|
||||
@@ -5175,18 +5096,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Launch weapon Special ability effect if available
|
||||
if (crit)
|
||||
{
|
||||
L2Weapon activeWeapon = getActiveWeaponItem();
|
||||
if (activeWeapon != null)
|
||||
// Launch weapon onCritical Special ability effect if available
|
||||
if (crit && (weapon != null))
|
||||
{
|
||||
activeWeapon.castOnCriticalSkill(this, target);
|
||||
weapon.castOnCriticalSkill(this, target);
|
||||
}
|
||||
}
|
||||
|
||||
// Recharge any active auto-soulshot tasks for current creature.
|
||||
rechargeShots(true, false);
|
||||
}
|
||||
@@ -7115,6 +7030,26 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return getTemplate().getRace();
|
||||
}
|
||||
|
||||
public boolean isInDuel()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getDuelId()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public byte getSiegeState()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getSiegeSide()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getMinShopDistance()
|
||||
{
|
||||
return 0;
|
||||
|
@@ -21,6 +21,7 @@ package com.l2jserver.gameserver.model.actor;
|
||||
import com.l2jserver.gameserver.ai.CtrlEvent;
|
||||
import com.l2jserver.gameserver.enums.InstanceType;
|
||||
import com.l2jserver.gameserver.instancemanager.InstanceManager;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.knownlist.PlayableKnownList;
|
||||
import com.l2jserver.gameserver.model.actor.stat.PlayableStat;
|
||||
@@ -343,6 +344,8 @@ public abstract class L2Playable extends L2Character
|
||||
return transferDmgTo;
|
||||
}
|
||||
|
||||
public abstract void doPickupItem(L2Object object);
|
||||
|
||||
public abstract int getKarma();
|
||||
|
||||
public abstract byte getPvpFlag();
|
||||
|
@@ -90,24 +90,6 @@ public abstract class L2Summon extends L2Playable
|
||||
};
|
||||
// @formatter:on
|
||||
|
||||
public class AIAccessor extends L2Character.AIAccessor
|
||||
{
|
||||
public L2Summon getSummon()
|
||||
{
|
||||
return L2Summon.this;
|
||||
}
|
||||
|
||||
public boolean isAutoFollow()
|
||||
{
|
||||
return getFollowStatus();
|
||||
}
|
||||
|
||||
public void doPickupItem(L2Object object)
|
||||
{
|
||||
L2Summon.this.doPickupItem(object);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an abstract summon.
|
||||
* @param template the summon NPC template
|
||||
@@ -194,7 +176,7 @@ public abstract class L2Summon extends L2Playable
|
||||
@Override
|
||||
protected L2CharacterAI initAI()
|
||||
{
|
||||
return new L2SummonAI(new L2Summon.AIAccessor());
|
||||
return new L2SummonAI(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -538,10 +520,6 @@ public abstract class L2Summon extends L2Playable
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void doPickupItem(L2Object object)
|
||||
{
|
||||
}
|
||||
|
||||
public void setRestoreSummon(boolean val)
|
||||
{
|
||||
}
|
||||
|
@@ -509,14 +509,6 @@ public abstract class L2Vehicle extends L2Character
|
||||
return false;
|
||||
}
|
||||
|
||||
public class AIAccessor extends L2Character.AIAccessor
|
||||
{
|
||||
@Override
|
||||
public void detachAI()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVehicle()
|
||||
{
|
||||
|
@@ -40,7 +40,7 @@ public class L2AirShipInstance extends L2Vehicle
|
||||
{
|
||||
super(template);
|
||||
setInstanceType(InstanceType.L2AirShipInstance);
|
||||
setAI(new L2AirShipAI(new AIAccessor()));
|
||||
setAI(new L2AirShipAI(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user