Sync with L2jServer HighFive Feb 15th 2015.
This commit is contained in:
@@ -28,7 +28,6 @@ import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.data.xml.impl.DoorData;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.instancemanager.GrandBossManager;
|
||||
import com.l2jserver.gameserver.instancemanager.ZoneManager;
|
||||
@@ -41,7 +40,6 @@ import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jserver.gameserver.model.effects.L2EffectType;
|
||||
import com.l2jserver.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
@@ -117,15 +115,11 @@ public final class Beleth extends AbstractNpcAI
|
||||
{
|
||||
try
|
||||
{
|
||||
L2NpcTemplate template = NpcData.getInstance().getTemplate(npcId);
|
||||
if (template != null)
|
||||
{
|
||||
L2Spawn spawn = new L2Spawn(template);
|
||||
spawn.setInstanceId(loc.getInstanceId());
|
||||
spawn.setLocation(loc);
|
||||
spawn.setAmount(spawn.getAmount() + 1);
|
||||
return spawn.doSpawn();
|
||||
}
|
||||
final L2Spawn spawn = new L2Spawn(npcId);
|
||||
spawn.setInstanceId(loc.getInstanceId());
|
||||
spawn.setLocation(loc);
|
||||
spawn.setAmount(spawn.getAmount() + 1);
|
||||
return spawn.doSpawn();
|
||||
}
|
||||
catch (Exception ignored)
|
||||
{
|
||||
|
@@ -18,8 +18,6 @@
|
||||
*/
|
||||
package ai.npc;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
@@ -38,8 +36,6 @@ import com.l2jserver.gameserver.util.Broadcast;
|
||||
*/
|
||||
public abstract class AbstractNpcAI extends Quest
|
||||
{
|
||||
public final Logger _log = Logger.getLogger(getClass().getSimpleName());
|
||||
|
||||
public AbstractNpcAI(String name, String descr)
|
||||
{
|
||||
super(-1, name, descr);
|
||||
|
@@ -30,7 +30,6 @@ import org.w3c.dom.Node;
|
||||
import com.l2jserver.gameserver.GeoData;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.L2Territory;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
@@ -227,7 +226,7 @@ public class TarBeetleSpawn implements IXmlReader
|
||||
final Location location = _zones.get(Rnd.get(_zones.size())).getRandomPoint();
|
||||
if (location != null)
|
||||
{
|
||||
final L2Spawn spawn = new L2Spawn(NpcData.getInstance().getTemplate(18804));
|
||||
final L2Spawn spawn = new L2Spawn(18804);
|
||||
spawn.setHeading(Rnd.get(65535));
|
||||
spawn.setX(location.getX());
|
||||
spawn.setY(location.getY());
|
||||
|
@@ -24,7 +24,6 @@ import java.util.Map.Entry;
|
||||
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
@@ -65,7 +64,7 @@ public final class FortressOfResistance extends ClanHallSiegeEngine
|
||||
|
||||
try
|
||||
{
|
||||
_nurka = new L2Spawn(NpcData.getInstance().getTemplate(BLOODY_LORD_NURKA));
|
||||
_nurka = new L2Spawn(BLOODY_LORD_NURKA);
|
||||
_nurka.setAmount(1);
|
||||
_nurka.setRespawnDelay(10800);
|
||||
// @formatter:off
|
||||
|
@@ -35,7 +35,6 @@ import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.datatables.SpawnTable;
|
||||
import com.l2jserver.gameserver.enums.ChatType;
|
||||
import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
|
||||
@@ -715,7 +714,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
|
||||
{
|
||||
try
|
||||
{
|
||||
_gourds[i] = new L2Spawn(NpcData.getInstance().getTemplate(GOURDS[i]));
|
||||
_gourds[i] = new L2Spawn(GOURDS[i]);
|
||||
_gourds[i].setX(ARENAS[i].getX() + 150);
|
||||
_gourds[i].setY(ARENAS[i].getY() + 150);
|
||||
_gourds[i].setZ(ARENAS[i].getZ());
|
||||
|
@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.ai.L2SpecialSiegeGuardAI;
|
||||
import com.l2jserver.gameserver.data.sql.impl.ClanTable;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.enums.SiegeClanType;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
import com.l2jserver.gameserver.model.L2ClanMember;
|
||||
@@ -43,7 +42,6 @@ import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.TeleportWhereType;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jserver.gameserver.model.entity.Siegable;
|
||||
import com.l2jserver.gameserver.model.entity.clanhall.ClanHallSiegeEngine;
|
||||
import com.l2jserver.gameserver.model.entity.clanhall.SiegeStatus;
|
||||
@@ -629,20 +627,6 @@ public abstract class FlagWar extends ClanHallSiegeEngine
|
||||
{
|
||||
try
|
||||
{
|
||||
L2NpcTemplate mahumTemplate = NpcData.getInstance().getTemplate(data.npc);
|
||||
L2NpcTemplate flagTemplate = NpcData.getInstance().getTemplate(data.flag);
|
||||
|
||||
if (flagTemplate == null)
|
||||
{
|
||||
_log.warning(getName() + ": Flag L2NpcTemplate[" + data.flag + "] does not exist!");
|
||||
throw new NullPointerException();
|
||||
}
|
||||
else if (mahumTemplate == null)
|
||||
{
|
||||
_log.warning(getName() + ": Ally L2NpcTemplate[" + data.npc + "] does not exist!");
|
||||
throw new NullPointerException();
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
if (_firstPhase)
|
||||
{
|
||||
@@ -654,13 +638,13 @@ public abstract class FlagWar extends ClanHallSiegeEngine
|
||||
}
|
||||
Location loc = FLAG_COORDS[index];
|
||||
|
||||
data.flagInstance = new L2Spawn(flagTemplate);
|
||||
data.flagInstance = new L2Spawn(data.flag);
|
||||
data.flagInstance.setLocation(loc);
|
||||
data.flagInstance.setRespawnDelay(10000);
|
||||
data.flagInstance.setAmount(1);
|
||||
data.flagInstance.init();
|
||||
|
||||
data.warrior = new L2Spawn(mahumTemplate);
|
||||
data.warrior = new L2Spawn(data.npc);
|
||||
data.warrior.setLocation(loc);
|
||||
data.warrior.setRespawnDelay(10000);
|
||||
data.warrior.setAmount(1);
|
||||
|
@@ -396,23 +396,21 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
target = activeChar;
|
||||
}
|
||||
|
||||
L2NpcTemplate template1;
|
||||
L2NpcTemplate template;
|
||||
if (monsterId.matches("[0-9]*"))
|
||||
{
|
||||
// First parameter was an ID number
|
||||
int monsterTemplate = Integer.parseInt(monsterId);
|
||||
template1 = NpcData.getInstance().getTemplate(monsterTemplate);
|
||||
template = NpcData.getInstance().getTemplate(Integer.parseInt(monsterId));
|
||||
}
|
||||
else
|
||||
{
|
||||
// First parameter wasn't just numbers so go by name not ID
|
||||
monsterId = monsterId.replace('_', ' ');
|
||||
template1 = NpcData.getInstance().getTemplateByName(monsterId);
|
||||
template = NpcData.getInstance().getTemplateByName(monsterId.replace('_', ' '));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
L2Spawn spawn = new L2Spawn(template1);
|
||||
final L2Spawn spawn = new L2Spawn(template);
|
||||
if (Config.SAVE_GMSPAWN_ON_CUSTOM)
|
||||
{
|
||||
spawn.setCustom(true);
|
||||
@@ -435,15 +433,15 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
// TODO add checks for GrandBossSpawnManager
|
||||
if (RaidBossSpawnManager.getInstance().isDefined(spawn.getId()))
|
||||
{
|
||||
activeChar.sendMessage("You cannot spawn another instance of " + template1.getName() + ".");
|
||||
activeChar.sendMessage("You cannot spawn another instance of " + template.getName() + ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (RaidBossSpawnManager.getInstance().getValidTemplate(spawn.getId()) != null)
|
||||
if (template.isType("L2RaidBoss"))
|
||||
{
|
||||
spawn.setRespawnMinDelay(43200);
|
||||
spawn.setRespawnMaxDelay(129600);
|
||||
RaidBossSpawnManager.getInstance().addNewSpawn(spawn, 0, template1.getBaseHpMax(), template1.getBaseMpMax(), permanent);
|
||||
RaidBossSpawnManager.getInstance().addNewSpawn(spawn, 0, template.getBaseHpMax(), template.getBaseMpMax(), permanent);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -454,7 +452,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
{
|
||||
spawn.stopRespawn();
|
||||
}
|
||||
activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
|
||||
activeChar.sendMessage("Created " + template.getName() + " on " + target.getObjectId());
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@@ -28,7 +28,6 @@ import java.util.logging.Logger;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.datatables.SpawnTable;
|
||||
import com.l2jserver.gameserver.handler.IAdminCommandHandler;
|
||||
import com.l2jserver.gameserver.instancemanager.MapRegionManager;
|
||||
@@ -41,7 +40,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jserver.util.StringUtil;
|
||||
@@ -544,15 +542,6 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
{
|
||||
L2Npc target = (L2Npc) obj;
|
||||
|
||||
int monsterTemplate = target.getTemplate().getId();
|
||||
L2NpcTemplate template1 = NpcData.getInstance().getTemplate(monsterTemplate);
|
||||
if (template1 == null)
|
||||
{
|
||||
activeChar.sendMessage("Incorrect monster template.");
|
||||
_log.warning("ERROR: NPC " + target.getObjectId() + " has a 'null' template.");
|
||||
return;
|
||||
}
|
||||
|
||||
L2Spawn spawn = target.getSpawn();
|
||||
if (spawn == null)
|
||||
{
|
||||
@@ -568,9 +557,7 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
|
||||
try
|
||||
{
|
||||
// L2MonsterInstance mob = new L2MonsterInstance(monsterTemplate, template1);
|
||||
|
||||
spawn = new L2Spawn(template1);
|
||||
spawn = new L2Spawn(target.getTemplate().getId());
|
||||
if (Config.SAVE_GMSPAWN_ON_CUSTOM)
|
||||
{
|
||||
spawn.setCustom(true);
|
||||
@@ -592,7 +579,7 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
SpawnTable.getInstance().addNewSpawn(spawn, true);
|
||||
spawn.init();
|
||||
|
||||
activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId() + ".");
|
||||
activeChar.sendMessage("Created " + target.getTemplate().getName() + " on " + target.getObjectId() + ".");
|
||||
|
||||
if (Config.DEBUG)
|
||||
{
|
||||
@@ -621,8 +608,7 @@ public class AdminTeleport implements IAdminCommandHandler
|
||||
RaidBossSpawnManager.getInstance().deleteSpawn(spawn, true);
|
||||
try
|
||||
{
|
||||
L2NpcTemplate template = NpcData.getInstance().getTemplate(target.getId());
|
||||
L2Spawn spawnDat = new L2Spawn(template);
|
||||
final L2Spawn spawnDat = new L2Spawn(target.getId());
|
||||
if (Config.SAVE_GMSPAWN_ON_CUSTOM)
|
||||
{
|
||||
spawn.setCustom(true);
|
||||
|
@@ -98,7 +98,7 @@ public class QuestLink implements IBypassHandler
|
||||
|
||||
for (Quest quest : quests)
|
||||
{
|
||||
final QuestState qs = player.getQuestState(quest.getScriptName());
|
||||
final QuestState qs = player.getQuestState(quest.getName());
|
||||
if ((qs == null) || qs.isCreated())
|
||||
{
|
||||
state = quest.isCustomQuest() ? "" : "01";
|
||||
|
@@ -145,7 +145,7 @@ public final class SummonNpc extends AbstractEffect
|
||||
L2Spawn spawn;
|
||||
try
|
||||
{
|
||||
spawn = new L2Spawn(npcTemplate);
|
||||
spawn = new L2Spawn(_npcId);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@@ -28,11 +28,9 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jserver.gameserver.data.xml.IXmlReader;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.datatables.SpawnTable;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
|
||||
/**
|
||||
* Hellbound Spawns parser.
|
||||
@@ -88,13 +86,6 @@ public final class HellboundSpawns implements IXmlReader
|
||||
}
|
||||
|
||||
final int npcId = Integer.parseInt(id.getNodeValue());
|
||||
final L2NpcTemplate template = NpcData.getInstance().getTemplate(npcId);
|
||||
if (template == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Missing NPC template for ID: " + npcId + "!");
|
||||
return;
|
||||
}
|
||||
|
||||
Location loc = null;
|
||||
int delay = 0;
|
||||
int randomInterval = 0;
|
||||
@@ -129,7 +120,7 @@ public final class HellboundSpawns implements IXmlReader
|
||||
|
||||
try
|
||||
{
|
||||
final L2Spawn spawn = new L2Spawn(template);
|
||||
final L2Spawn spawn = new L2Spawn(npcId);
|
||||
spawn.setAmount(1);
|
||||
if (loc == null)
|
||||
{
|
||||
|
@@ -19,10 +19,8 @@
|
||||
package instances;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import ai.npc.AbstractNpcAI;
|
||||
|
||||
@@ -46,8 +44,6 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
*/
|
||||
public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
public final Logger _log = Logger.getLogger(getClass().getSimpleName());
|
||||
|
||||
public AbstractInstance(String name, String desc)
|
||||
{
|
||||
super(name, desc);
|
||||
@@ -181,7 +177,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
|
||||
protected void handleRemoveBuffs(InstanceWorld world)
|
||||
{
|
||||
for (Integer objId : world.getAllowed())
|
||||
for (int objId : world.getAllowed())
|
||||
{
|
||||
final L2PcInstance player = L2World.getInstance().getPlayer(objId);
|
||||
|
||||
@@ -201,8 +197,8 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
|
||||
/**
|
||||
* Spawns group of instance NPC's
|
||||
* @param groupName - name of group from XML definition to spawn
|
||||
* @param instanceId - ID of instance
|
||||
* @param groupName the name of group from XML definition to spawn
|
||||
* @param instanceId the instance ID
|
||||
* @return list of spawned NPC's
|
||||
*/
|
||||
protected List<L2Npc> spawnGroup(String groupName, int instanceId)
|
||||
@@ -211,9 +207,9 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
}
|
||||
|
||||
/**
|
||||
* Save Reenter time for every player in InstanceWorld.
|
||||
* @param world - the InstanceWorld
|
||||
* @param time - Time in miliseconds
|
||||
* Sets reenter time for every player in the instance.
|
||||
* @param world the instance
|
||||
* @param time the time in milliseconds
|
||||
*/
|
||||
protected void setReenterTime(InstanceWorld world, long time)
|
||||
{
|
||||
@@ -236,8 +232,6 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
private void handleRemoveBuffs(L2PcInstance player, InstanceWorld world)
|
||||
{
|
||||
final Instance inst = InstanceManager.getInstance().getInstance(world.getInstanceId());
|
||||
final List<BuffInfo> buffToRemove = new ArrayList<>();
|
||||
|
||||
switch (inst.getRemoveBuffType())
|
||||
{
|
||||
case ALL:
|
||||
@@ -259,7 +253,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +263,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -281,7 +275,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -293,7 +287,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -303,7 +297,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -315,17 +309,12 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
buffToRemove.add(info);
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (BuffInfo info : buffToRemove)
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
@@ -190,7 +190,7 @@ public final class Q00501_ProofOfClanAlliance extends Quest
|
||||
{
|
||||
if (npc.getSummonedNpcCount() < 4)
|
||||
{
|
||||
takeItems(player, ADENA_TO_RESTART_GAME, Inventory.ADENA_ID);
|
||||
takeItems(player, Inventory.ADENA_ID, ADENA_TO_RESTART_GAME);
|
||||
}
|
||||
htmltext = event;
|
||||
}
|
||||
|
@@ -352,7 +352,6 @@
|
||||
<set name="price" val="200" />
|
||||
<set name="handler" val="SoulShots" />
|
||||
<set name="item_skill" val="9193-1" />
|
||||
<set name="commissionItemType" val="SOULSHOT" />
|
||||
</item>
|
||||
<item id="17755" name="Human Male Wig - A" additionalName="" type="Armor">
|
||||
<set name="icon" val="BranchSys.icon.br_plastic_hair_f_i00" />
|
||||
|
@@ -300,7 +300,6 @@
|
||||
<set name="is_stackable" val="true" />
|
||||
<set name="handler" val="SpiritShot" />
|
||||
<set name="item_skill" val="9194-1" />
|
||||
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||
</item>
|
||||
<item id="19442" name="Blessed Spiritshot (R-grade)" additionalName="" type="EtcItem">
|
||||
<!-- The power of a higher-level spirit is bestowed upon a weapon, temporarily increasing its M. Atk. significantly. Can be used with an R-grade weapon. -->
|
||||
@@ -314,7 +313,6 @@
|
||||
<set name="is_stackable" val="true" />
|
||||
<set name="handler" val="BlessedSpiritShot" />
|
||||
<set name="item_skill" val="9195-1" />
|
||||
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||
</item>
|
||||
<item id="19443" name="Orichalcum Bolt" additionalName="" type="EtcItem">
|
||||
<!-- Bolt made of Orichalcum. Used as bolts for R-grade Crossbows. -->
|
||||
|
@@ -100,7 +100,6 @@
|
||||
<set name="is_stackable" val="true" />
|
||||
<set name="handler" val="BlessedSpiritShot" />
|
||||
<set name="item_skill" val="9195-1" />
|
||||
<set name="commissionItemType" val="SPIRITSHOT" />
|
||||
</item>
|
||||
<item id="34617" name="Player Commendation - Agathion's Gift" additionalName="PC-exclusive" type="EtcItem">
|
||||
<!-- When used, you can receive an Agathion's gift. -->
|
||||
|
@@ -1410,21 +1410,24 @@
|
||||
<set name="hitTime" val="20000" />
|
||||
</skill>
|
||||
<skill id="9193" levels="1" name="Soulshot (R-grade)">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
<set name="icon" val="icon.skill0000" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="SELF" />
|
||||
</skill>
|
||||
<skill id="9194" levels="1" name="Spiritshot (R-grade)">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
<set name="icon" val="icon.skill0000" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="SELF" />
|
||||
</skill>
|
||||
<skill id="9195" levels="1" name="Blessed Spiritshot (R-grade)">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
<set name="icon" val="icon.skill0000" />
|
||||
<set name="isMagic" val="2" /> <!-- Static Skill -->
|
||||
<set name="magicLvl" val="1" />
|
||||
<set name="operateType" val="ACTIVE_INSTANT" />
|
||||
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
|
||||
<set name="targetType" val="SELF" />
|
||||
</skill>
|
||||
<skill id="9196" levels="1" name="Blessed Scroll: Enchant Armor (R-grade)">
|
||||
|
Reference in New Issue
Block a user