New approach for spawning minions.
This commit is contained in:
parent
68ad48105f
commit
c4b4ec5751
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
2629
L2J_Mobius_CT_2.6_HighFive/dist/game/data/MinionData.xml
vendored
2629
L2J_Mobius_CT_2.6_HighFive/dist/game/data/MinionData.xml
vendored
File diff suppressed because it is too large
Load Diff
@ -1,452 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.MinionHolder;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Minion Spawn Manager.
|
||||
* @author Zealar
|
||||
*/
|
||||
public final class MinionSpawnManager extends AbstractNpcAI
|
||||
{
|
||||
private static final Set<Integer> NPC = new HashSet<>(354);
|
||||
|
||||
static
|
||||
{
|
||||
NPC.add(18344); // Ancient Egg
|
||||
NPC.add(18352); // Kamael Guard
|
||||
NPC.add(18353); // Guardian of Records
|
||||
NPC.add(18354); // Guardian of Observation
|
||||
NPC.add(18355); // Spicula's Guard
|
||||
NPC.add(18356); // Harkilgamed's Gatekeeper
|
||||
NPC.add(18357); // Rodenpicula's Gatekeeper
|
||||
NPC.add(18359); // Arviterre's Guardian
|
||||
NPC.add(18360); // Katenar's Gatekeeper
|
||||
NPC.add(18361); // Guardian of Prediction
|
||||
NPC.add(18484); // Naia Failan
|
||||
NPC.add(18491); // Lock
|
||||
NPC.add(18547); // Ancient Experiment
|
||||
NPC.add(18551); // Cruma Phantom
|
||||
NPC.add(35375); // Bloody Lord Nurka
|
||||
NPC.add(20376); // Varikan Brigand Leader
|
||||
NPC.add(20398); // Vrykolakas
|
||||
NPC.add(20520); // Pirate Captain Uthanka
|
||||
NPC.add(20522); // White Fang
|
||||
NPC.add(20738); // Kobold Looter Bepook
|
||||
NPC.add(20745); // Gigantiops
|
||||
NPC.add(20747); // Roxide
|
||||
NPC.add(20749); // Death Fire
|
||||
NPC.add(20751); // Snipe
|
||||
NPC.add(20753); // Dark Lord
|
||||
NPC.add(20755); // Talakin
|
||||
NPC.add(20758); // Dragon Bearer Chief
|
||||
NPC.add(20761); // Pytan
|
||||
NPC.add(20767); // Timak Orc Troop Leader
|
||||
NPC.add(20773); // Conjurer Bat Lord
|
||||
NPC.add(20939); // Tanor Silenos Warrior
|
||||
NPC.add(20941); // Tanor Silenos Chieftain
|
||||
NPC.add(20944); // Nightmare Lord
|
||||
NPC.add(20956); // Past Knight
|
||||
NPC.add(20959); // Dark Guard
|
||||
NPC.add(20963); // Bloody Lord
|
||||
NPC.add(20974); // Spiteful Soul Leader
|
||||
NPC.add(20977); // Elmoradan's Lady
|
||||
NPC.add(20980); // Hallate's Follower Mul
|
||||
NPC.add(20983); // Binder
|
||||
NPC.add(20986); // Sairon
|
||||
NPC.add(20991); // Swamp Tribe
|
||||
NPC.add(20994); // Garden Guard Leader
|
||||
NPC.add(21075); // Slaughter Bathin
|
||||
NPC.add(21078); // Magus Valac
|
||||
NPC.add(21081); // Power Angel Amon
|
||||
NPC.add(21090); // Bloody Guardian
|
||||
NPC.add(21312); // Eye of Ruler
|
||||
NPC.add(21343); // Ketra Commander
|
||||
NPC.add(21345); // Ketra's Head Shaman
|
||||
NPC.add(21347); // Ketra Prophet
|
||||
NPC.add(21369); // Varka's Commander
|
||||
NPC.add(21371); // Varka's Head Magus
|
||||
NPC.add(21373); // Varka's Prophet
|
||||
NPC.add(21432); // Chakram Beetle
|
||||
NPC.add(21434); // Seer of Blood
|
||||
NPC.add(21512); // Splinter Stakato Drone
|
||||
NPC.add(21517); // Needle Stakato Drone
|
||||
NPC.add(21541); // Pilgrim of Splendor
|
||||
NPC.add(21544); // Judge of Splendor
|
||||
NPC.add(21596); // Requiem Lord
|
||||
NPC.add(21599); // Requiem Priest
|
||||
NPC.add(21652); // Scarlet Stakato Noble
|
||||
NPC.add(21653); // Assassin Beetle
|
||||
NPC.add(21654); // Necromancer of Destruction
|
||||
NPC.add(21655); // Arimanes of Destruction
|
||||
NPC.add(21656); // Ashuras of Destruction
|
||||
NPC.add(21657); // Magma Drake
|
||||
NPC.add(22028); // Vagabond of the Ruins
|
||||
NPC.add(22080); // Massive Lost Bandersnatch
|
||||
NPC.add(22084); // Panthera
|
||||
NPC.add(22092); // Frost Iron Golem
|
||||
NPC.add(22096); // Ursus
|
||||
NPC.add(22100); // Freya's Gardener
|
||||
NPC.add(22102); // Freya's Servant
|
||||
NPC.add(22104); // Freya's Dog
|
||||
NPC.add(22155); // Triol's High Priest
|
||||
NPC.add(22159); // Triol's High Priest
|
||||
NPC.add(22163); // Triol's High Priest
|
||||
NPC.add(22167); // Triol's High Priest
|
||||
NPC.add(22171); // Triol's High Priest
|
||||
NPC.add(22188); // Andreas' Captain of the Royal Guard
|
||||
NPC.add(22196); // Velociraptor
|
||||
NPC.add(22198); // Velociraptor
|
||||
NPC.add(22202); // Ornithomimus
|
||||
NPC.add(22205); // Deinonychus
|
||||
NPC.add(22210); // Pachycephalosaurus
|
||||
NPC.add(22213); // Wild Strider
|
||||
NPC.add(22223); // Velociraptor
|
||||
NPC.add(22224); // Ornithomimus
|
||||
NPC.add(22225); // Deinonychus
|
||||
NPC.add(22275); // Gatekeeper Lohan
|
||||
NPC.add(22277); // Gatekeeper Provo
|
||||
NPC.add(22305); // Kechi's Captain
|
||||
NPC.add(22306); // Kechi's Captain
|
||||
NPC.add(22307); // Kechi's Captain
|
||||
NPC.add(22320); // Junior Watchman
|
||||
NPC.add(22321); // Junior Summoner
|
||||
NPC.add(22346); // Quarry Foreman
|
||||
NPC.add(22363); // Body Destroyer
|
||||
NPC.add(22370); // Passageway Captain
|
||||
NPC.add(22377); // Master Zelos
|
||||
NPC.add(22390); // Foundry Foreman
|
||||
NPC.add(22416); // Kechi's Captain
|
||||
NPC.add(22423); // Original Sin Warden
|
||||
NPC.add(22431); // Original Sin Warden
|
||||
NPC.add(22448); // Leodas
|
||||
NPC.add(22449); // Amaskari
|
||||
NPC.add(22621); // Male Spiked Stakato
|
||||
NPC.add(22625); // Cannibalistic Stakato Leader
|
||||
NPC.add(22630); // Spiked Stakato Nurse
|
||||
NPC.add(22666); // Barif
|
||||
NPC.add(22670); // Cursed Lord
|
||||
NPC.add(22742); // Ornithomimus
|
||||
NPC.add(22743); // Deinonychus
|
||||
NPC.add(25001); // Greyclaw Kutus
|
||||
NPC.add(25004); // Turek Mercenary Captain
|
||||
NPC.add(25007); // Retreat Spider Cletu
|
||||
NPC.add(25010); // Furious Thieles
|
||||
NPC.add(25013); // Ghost of Peasant Leader
|
||||
NPC.add(25016); // The 3rd Underwater Guardian
|
||||
NPC.add(25020); // Breka Warlock Pastu
|
||||
NPC.add(25023); // Stakato Queen Zyrnna
|
||||
NPC.add(25026); // Ketra Commander Atis
|
||||
NPC.add(25029); // Atraiban
|
||||
NPC.add(25032); // Eva's Guardian Millenu
|
||||
NPC.add(25035); // Shilen's Messenger Cabrio
|
||||
NPC.add(25038); // Tirak
|
||||
NPC.add(25041); // Remmel
|
||||
NPC.add(25044); // Barion
|
||||
NPC.add(25047); // Karte
|
||||
NPC.add(25051); // Rahha
|
||||
NPC.add(25054); // Kernon
|
||||
NPC.add(25057); // Beacon of Blue Sky
|
||||
NPC.add(25060); // Unrequited Kael
|
||||
NPC.add(25064); // Wizard of Storm Teruk
|
||||
NPC.add(25067); // Captain of Red Flag Shaka
|
||||
NPC.add(25070); // Enchanted Forest Watcher Ruell
|
||||
NPC.add(25073); // Bloody Priest Rudelto
|
||||
NPC.add(25076); // Princess Molrang
|
||||
NPC.add(25079); // Cat's Eye Bandit
|
||||
NPC.add(25082); // Leader of Cat Gang
|
||||
NPC.add(25085); // Timak Orc Chief Ranger
|
||||
NPC.add(25089); // Soulless Wild Boar
|
||||
NPC.add(25092); // Korim
|
||||
NPC.add(25095); // Elf Renoa
|
||||
NPC.add(25099); // Rotting Tree Repiro
|
||||
NPC.add(25103); // Sorcerer Isirr
|
||||
NPC.add(25106); // Ghost of the Well Lidia
|
||||
NPC.add(25109); // Antharas Priest Cloe
|
||||
NPC.add(25112); // Beleth's Agent, Meana
|
||||
NPC.add(25115); // Icarus Sample 1
|
||||
NPC.add(25119); // Messenger of Fairy Queen Berun
|
||||
NPC.add(25122); // Refugee Applicant Leo
|
||||
NPC.add(25128); // Vuku Grand Seer Gharmash
|
||||
NPC.add(25131); // Carnage Lord Gato
|
||||
NPC.add(25134); // Leto Chief Talkin
|
||||
NPC.add(25137); // Beleth's Seer, Sephia
|
||||
NPC.add(25140); // Hekaton Prime
|
||||
NPC.add(25143); // Fire of Wrath Shuriel
|
||||
NPC.add(25146); // Serpent Demon Bifrons
|
||||
NPC.add(25149); // Zombie Lord Crowl
|
||||
NPC.add(25152); // Flame Lord Shadar
|
||||
NPC.add(25155); // Shaman King Selu
|
||||
NPC.add(25159); // Paniel the Unicorn
|
||||
NPC.add(25166); // Ikuntai
|
||||
NPC.add(25170); // Lizardmen Leader Hellion
|
||||
NPC.add(25173); // Tiger King Karuta
|
||||
NPC.add(25176); // Black Lily
|
||||
NPC.add(25179); // Guardian of the Statue of Giant Karum
|
||||
NPC.add(25182); // Demon Kuri
|
||||
NPC.add(25185); // Tasaba Patriarch Hellena
|
||||
NPC.add(25189); // Cronos's Servitor Mumu
|
||||
NPC.add(25192); // Earth Protector Panathen
|
||||
NPC.add(25199); // Water Dragon Seer Sheshark
|
||||
NPC.add(25202); // Krokian Padisha Sobekk
|
||||
NPC.add(25205); // Ocean Flame Ashakiel
|
||||
NPC.add(25208); // Water Couatle Ateka
|
||||
NPC.add(25211); // Sebek
|
||||
NPC.add(25214); // Fafurion's Page Sika
|
||||
NPC.add(25217); // Cursed Clara
|
||||
NPC.add(25220); // Death Lord Hallate
|
||||
NPC.add(25223); // Soul Collector Acheron
|
||||
NPC.add(25226); // Roaring Lord Kastor
|
||||
NPC.add(25230); // Timak Seer Ragoth
|
||||
NPC.add(25235); // Vanor Chief Kandra
|
||||
NPC.add(25238); // Abyss Brukunt
|
||||
NPC.add(25241); // Harit Hero Tamash
|
||||
NPC.add(25245); // Last Lesser Giant Glaki
|
||||
NPC.add(25249); // Menacing Palatanos
|
||||
NPC.add(25252); // Palibati Queen Themis
|
||||
NPC.add(25256); // Taik High Prefect Arak
|
||||
NPC.add(25260); // Iron Giant Totem
|
||||
NPC.add(25263); // Kernon's Faithful Servant Kelone
|
||||
NPC.add(25266); // Bloody Empress Decarbia
|
||||
NPC.add(25269); // Beast Lord Behemoth
|
||||
NPC.add(25273); // Carnamakos
|
||||
NPC.add(25277); // Lilith's Witch Marilion
|
||||
NPC.add(25283); // Lilith
|
||||
NPC.add(25286); // Anakim
|
||||
NPC.add(25290); // Daimon the White-Eyed
|
||||
NPC.add(25293); // Hesti Guardian Deity of the Hot Springs
|
||||
NPC.add(25296); // Icicle Emperor Bumbalump
|
||||
NPC.add(25299); // Ketra's Hero Hekaton
|
||||
NPC.add(25302); // Ketra's Commander Tayr
|
||||
NPC.add(25306); // Soul of Fire Nastron
|
||||
NPC.add(25309); // Varka's Hero Shadith
|
||||
NPC.add(25312); // Varka's Commander Mos
|
||||
NPC.add(25316); // Soul of Water Ashutar
|
||||
NPC.add(25319); // Ember
|
||||
NPC.add(25322); // Demon's Agent Falston
|
||||
NPC.add(25325); // Flame of Splendor Barakiel
|
||||
NPC.add(25328); // Eilhalder von Hellmann
|
||||
NPC.add(25352); // Giant Wasteland Basilisk
|
||||
NPC.add(25354); // Gargoyle Lord Sirocco
|
||||
NPC.add(25357); // Sukar Wererat Chief
|
||||
NPC.add(25360); // Tiger Hornet
|
||||
NPC.add(25362); // Tracker Leader Sharuk
|
||||
NPC.add(25366); // Kuroboros' Priest
|
||||
NPC.add(25369); // Soul Scavenger
|
||||
NPC.add(25373); // Malex Herald of Dagoniel
|
||||
NPC.add(25375); // Zombie Lord Ferkel
|
||||
NPC.add(25378); // Madness Beast
|
||||
NPC.add(25380); // Kaysha Herald of Icarus
|
||||
NPC.add(25383); // Revenant of Sir Calibus
|
||||
NPC.add(25385); // Evil Spirit Tempest
|
||||
NPC.add(25388); // Red Eye Captain Trakia
|
||||
NPC.add(25392); // Captain of Queen's Royal Guards
|
||||
NPC.add(25395); // Archon Suscepter
|
||||
NPC.add(25398); // Beleth's Eye
|
||||
NPC.add(25401); // Skyla
|
||||
NPC.add(25404); // Corsair Captain Kylon
|
||||
NPC.add(25407); // Lord Ishka
|
||||
NPC.add(25410); // Road Scavenger Leader
|
||||
NPC.add(25412); // Necrosentinel Royal Guard
|
||||
NPC.add(25415); // Nakondas
|
||||
NPC.add(25418); // Dread Avenger Kraven
|
||||
NPC.add(25420); // Orfen's Handmaiden
|
||||
NPC.add(25423); // Fairy Queen Timiniel
|
||||
NPC.add(25426); // Betrayer of Urutu Freki
|
||||
NPC.add(25429); // Mammon Collector Talos
|
||||
NPC.add(25431); // Flamestone Golem
|
||||
NPC.add(25434); // Bandit Leader Barda
|
||||
NPC.add(25438); // Thief Kelbar
|
||||
NPC.add(25441); // Evil Spirit Cyrion
|
||||
NPC.add(25444); // Enmity Ghost Ramdal
|
||||
NPC.add(25447); // Immortal Savior Mardil
|
||||
NPC.add(25450); // Cherub Galaxia
|
||||
NPC.add(25453); // Meanas Anor
|
||||
NPC.add(25456); // Mirror of Oblivion
|
||||
NPC.add(25460); // Deadman Ereve
|
||||
NPC.add(25463); // Harit Guardian Garangky
|
||||
NPC.add(25467); // Gorgolos
|
||||
NPC.add(25470); // Last Titan Utenus
|
||||
NPC.add(25473); // Grave Robber Kim
|
||||
NPC.add(25475); // Ghost Knight Kabed
|
||||
NPC.add(25478); // Shilen's Priest Hisilrome
|
||||
NPC.add(25481); // Magus Kenishee
|
||||
NPC.add(25484); // Zaken's Chief Mate Tillion
|
||||
NPC.add(25487); // Water Spirit Lian
|
||||
NPC.add(25490); // Gwindorr
|
||||
NPC.add(25493); // Eva's Spirit Niniel
|
||||
NPC.add(25496); // Fafurion's Envoy Pingolpin
|
||||
NPC.add(25498); // Fafurion's Henchman Istary
|
||||
NPC.add(25501); // Boss Akata
|
||||
NPC.add(25504); // Nellis' Vengeful Spirit
|
||||
NPC.add(25506); // Rayito the Looter
|
||||
NPC.add(25509); // Dark Shaman Varangka
|
||||
NPC.add(25514); // Queen Shyeed
|
||||
NPC.add(25524); // Flamestone Giant
|
||||
NPC.add(25528); // Tiberias
|
||||
NPC.add(25536); // Hannibal
|
||||
NPC.add(25546); // Rhianna the Traitor
|
||||
NPC.add(25549); // Tesla the Deceiver
|
||||
NPC.add(25554); // Brutus the Obstinate
|
||||
NPC.add(25557); // Ranger Karankawa
|
||||
NPC.add(25560); // Sargon the Mad
|
||||
NPC.add(25563); // Beautiful Atrielle
|
||||
NPC.add(25566); // Nagen the Tomboy
|
||||
NPC.add(25569); // Jax the Destroyer
|
||||
NPC.add(25572); // Hager the Outlaw
|
||||
NPC.add(25575); // All-Seeing Rango
|
||||
NPC.add(25579); // Helsing
|
||||
NPC.add(25582); // Gillien
|
||||
NPC.add(25585); // Medici
|
||||
NPC.add(25589); // Brand the Exile
|
||||
NPC.add(25593); // Gerg the Hunter
|
||||
NPC.add(25600); // Temenir
|
||||
NPC.add(25601); // Draksius
|
||||
NPC.add(25602); // Kiretcenah
|
||||
NPC.add(25671); // Queen Shyeed
|
||||
NPC.add(25674); // Gwindorr
|
||||
NPC.add(25677); // Water Spirit Lian
|
||||
NPC.add(25681); // Gorgolos
|
||||
NPC.add(25684); // Last Titan Utenus
|
||||
NPC.add(25687); // Hekaton Prime
|
||||
NPC.add(25703); // Gigantic Golem
|
||||
NPC.add(25710); // Lost Captain
|
||||
NPC.add(25735); // Greyclaw Kutus
|
||||
NPC.add(25738); // Lead Tracker Sharuk
|
||||
NPC.add(25741); // Sukar Wererat Chief
|
||||
NPC.add(25744); // Ikuntai
|
||||
NPC.add(25747); // Zombie Lord Crowl
|
||||
NPC.add(25750); // Zombie Lord Ferkel
|
||||
NPC.add(25754); // Fire Lord Shadar
|
||||
NPC.add(25757); // Soul Collector Acheron
|
||||
NPC.add(25760); // Lord Ishka
|
||||
NPC.add(25763); // Demon Kuri
|
||||
NPC.add(25767); // Carnage Lord Gato
|
||||
NPC.add(25770); // Ketra Commander Atis
|
||||
NPC.add(25773); // Beacon of Blue Sky
|
||||
NPC.add(25776); // Earth Protector Panathen
|
||||
NPC.add(25779); // Betrayer of Urutu Freki
|
||||
NPC.add(25782); // Nellis' Vengeful Spirit
|
||||
NPC.add(25784); // Rayito the Looter
|
||||
NPC.add(25787); // Ketra's Hero Hekaton
|
||||
NPC.add(25790); // Varka's Hero Shadith
|
||||
NPC.add(25794); // Kernon
|
||||
NPC.add(25797); // Meanas Anor
|
||||
NPC.add(25800); // Mammon Collector Talos
|
||||
NPC.add(27036); // Calpico
|
||||
NPC.add(27041); // Varangka's Messenger
|
||||
NPC.add(27062); // Tanukia
|
||||
NPC.add(27065); // Roko
|
||||
NPC.add(27068); // Murtika
|
||||
NPC.add(27093); // Delu Chief Kalkis
|
||||
NPC.add(27108); // Stenoa Gorgon Queen
|
||||
NPC.add(27110); // Shyslassys
|
||||
NPC.add(27112); // Gorr
|
||||
NPC.add(27113); // Baraham
|
||||
NPC.add(27114); // Succubus Queen
|
||||
NPC.add(27185); // Fairy Tree of Wind
|
||||
NPC.add(27186); // Fairy Tree of Star
|
||||
NPC.add(27187); // Fairy Tree of Twilight
|
||||
NPC.add(27188); // Fairy Tree of Abyss
|
||||
NPC.add(27259); // Archangel Iconoclasis
|
||||
NPC.add(27260); // Archangel Iconoclasis
|
||||
NPC.add(27266); // Fallen Angel Haures
|
||||
NPC.add(27267); // Fallen Angel Haures
|
||||
NPC.add(27290); // White Wing Commander
|
||||
NPC.add(29001); // Queen Ant
|
||||
NPC.add(29030); // Fenril Hound Kerinne
|
||||
NPC.add(29033); // Fenril Hound Freki
|
||||
NPC.add(29037); // Fenril Hound Kinaz
|
||||
NPC.add(29040); // Wings of Flame, Ixion
|
||||
NPC.add(29056); // Ice Fairy Sirra
|
||||
NPC.add(29062); // Andreas Van Halter
|
||||
NPC.add(29096); // Anais
|
||||
NPC.add(29129); // Lost Captain
|
||||
NPC.add(29132); // Lost Captain
|
||||
NPC.add(29135); // Lost Captain
|
||||
NPC.add(29138); // Lost Captain
|
||||
NPC.add(29141); // Lost Captain
|
||||
NPC.add(29144); // Lost Captain
|
||||
NPC.add(29147); // Lost Captain
|
||||
}
|
||||
|
||||
private static final NpcStringId[] ON_ATTACK_MSG =
|
||||
{
|
||||
NpcStringId.COME_OUT_YOU_CHILDREN_OF_DARKNESS,
|
||||
NpcStringId.SHOW_YOURSELVES,
|
||||
NpcStringId.DESTROY_THE_ENEMY_MY_BROTHERS,
|
||||
NpcStringId.FORCES_OF_DARKNESS_FOLLOW_ME
|
||||
};
|
||||
|
||||
private static final int[] ON_ATTACK_NPC =
|
||||
{
|
||||
20767, // Timak Orc Troop Leader
|
||||
};
|
||||
|
||||
private MinionSpawnManager()
|
||||
{
|
||||
addSpawnId(NPC);
|
||||
addAttackId(ON_ATTACK_NPC);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.getTemplate().getParameters().getSet().get("SummonPrivateRate") == null)
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getTemplate().getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
final L2MonsterInstance monster = (L2MonsterInstance) npc;
|
||||
if (!monster.isTeleporting())
|
||||
{
|
||||
if (getRandom(1, 100) <= npc.getTemplate().getParameters().getInt("SummonPrivateRate", 0))
|
||||
{
|
||||
for (MinionHolder is : npc.getTemplate().getParameters().getMinionList("Privates"))
|
||||
{
|
||||
addMinion((L2MonsterInstance) npc, is.getId());
|
||||
}
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ON_ATTACK_MSG[getRandom(ON_ATTACK_MSG.length)]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAttack(npc, attacker, damage, isSummon);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MinionSpawnManager();
|
||||
}
|
||||
}
|
73
L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/TimakOrcTroopLeader.java
vendored
Normal file
73
L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/TimakOrcTroopLeader.java
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.ChatType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.MinionHolder;
|
||||
import com.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Timak Orc Troop Leader AI.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class TimakOrcTroopLeader extends AbstractNpcAI
|
||||
{
|
||||
private static final int TIMAK_ORC_TROOP_LEADER = 20767;
|
||||
private static final NpcStringId[] ON_ATTACK_MSG =
|
||||
{
|
||||
NpcStringId.COME_OUT_YOU_CHILDREN_OF_DARKNESS,
|
||||
NpcStringId.SHOW_YOURSELVES,
|
||||
NpcStringId.DESTROY_THE_ENEMY_MY_BROTHERS,
|
||||
NpcStringId.FORCES_OF_DARKNESS_FOLLOW_ME
|
||||
};
|
||||
|
||||
private TimakOrcTroopLeader()
|
||||
{
|
||||
addAttackId(TIMAK_ORC_TROOP_LEADER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
final L2MonsterInstance monster = (L2MonsterInstance) npc;
|
||||
if (!monster.isTeleporting())
|
||||
{
|
||||
if (getRandom(1, 100) <= npc.getTemplate().getParameters().getInt("SummonPrivateRate", 0))
|
||||
{
|
||||
for (MinionHolder is : npc.getTemplate().getParameters().getMinionList("Privates"))
|
||||
{
|
||||
addMinion((L2MonsterInstance) npc, is.getId());
|
||||
}
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ON_ATTACK_MSG[getRandom(ON_ATTACK_MSG.length)]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onAttack(npc, attacker, damage, isSummon);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new TimakOrcTroopLeader();
|
||||
}
|
||||
}
|
@ -2223,6 +2223,9 @@
|
||||
<parameters>
|
||||
<param name="BroadCastRange" value="300" />
|
||||
<param name="ProbBroadCast" value="80" />
|
||||
<minions name="Privates">
|
||||
<npc id="22197" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>ETC</sex>
|
||||
@ -2641,6 +2644,9 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -2700,6 +2706,10 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18349" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="18350" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -2761,6 +2771,9 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -2820,6 +2833,10 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="18350" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -2882,6 +2899,10 @@
|
||||
<param name="MoveAroundSocial" value="165" />
|
||||
<param name="MoveAroundSocial1" value="165" />
|
||||
<param name="MoveAroundSocial2" value="165" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="18351" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="AttackRange" value="1" />
|
||||
@ -2943,6 +2964,9 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -3062,6 +3086,9 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18349" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -3121,6 +3148,10 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18350" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="18351" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -3180,6 +3211,10 @@
|
||||
<param name="MoveAroundSocial" value="150" />
|
||||
<param name="MoveAroundSocial1" value="150" />
|
||||
<param name="MoveAroundSocial2" value="150" />
|
||||
<minions name="Privates">
|
||||
<npc id="18348" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="18349" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="7" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
|
@ -3535,6 +3535,9 @@
|
||||
<param name="FieldCycle" value="1" />
|
||||
<param name="Threshold_Level_Min" value="6" />
|
||||
<param name="Threshold_Level_Max" value="6" />
|
||||
<minions name="Privates">
|
||||
<npc id="22422" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>ETC</race>
|
||||
<sex>ETC</sex>
|
||||
@ -3838,6 +3841,11 @@
|
||||
</npc>
|
||||
<npc id="18491" level="87" type="L2Monster" name="Lock" title="Tower of Naia">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="18493" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
|
@ -267,6 +267,9 @@
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
<param name="MoveAroundSocial1" value="100" />
|
||||
<param name="MoveAroundSocial2" value="100" />
|
||||
<minions name="Privates">
|
||||
<npc id="20746" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -451,6 +454,9 @@
|
||||
<param name="MoveAroundSocial" value="110" />
|
||||
<param name="MoveAroundSocial1" value="110" />
|
||||
<param name="MoveAroundSocial2" value="110" />
|
||||
<minions name="Privates">
|
||||
<npc id="20748" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -605,6 +611,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="20750" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -1194,6 +1203,10 @@
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
<param name="MoveAroundSocial1" value="90" />
|
||||
<param name="MoveAroundSocial2" value="90" />
|
||||
<minions name="Privates">
|
||||
<npc id="20756" count="1" respawnTime="300" weightPoint="1" />
|
||||
<npc id="20757" count="1" respawnTime="300" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -1417,6 +1430,10 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="4" /> <!-- NPC Strike -->
|
||||
<minions name="Privates">
|
||||
<npc id="20759" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20760" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
@ -1663,6 +1680,9 @@
|
||||
<param name="MoveAroundSocial" value="60" />
|
||||
<param name="MoveAroundSocial1" value="60" />
|
||||
<param name="MoveAroundSocial2" value="60" />
|
||||
<minions name="Privates">
|
||||
<npc id="20762" count="2" respawnTime="300" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ShoutTarget" value="1" />
|
||||
<param name="SetHateGroup" value="ATTACKER_GROUP" />
|
||||
<param name="SetHateGroupRatio" value="20" />
|
||||
@ -2146,6 +2166,11 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="4" /> <!-- NPC Strike -->
|
||||
<minions name="Privates">
|
||||
<npc id="20768" count="1" respawnTime="1200" weightPoint="1" />
|
||||
<npc id="20769" count="1" respawnTime="1200" weightPoint="1" />
|
||||
<npc id="20770" count="1" respawnTime="1200" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2631,6 +2656,9 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="DeBuff" id="4038" level="5" /> <!-- Decrease Atk. Spd. -->
|
||||
<minions name="Privates">
|
||||
<npc id="20774" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>ANIMAL</race>
|
||||
<sex>MALE</sex>
|
||||
|
@ -1829,6 +1829,11 @@
|
||||
<param name="MoveAroundSocial" value="60" />
|
||||
<param name="MoveAroundSocial1" value="50" />
|
||||
<param name="MoveAroundSocial2" value="60" />
|
||||
<minions name="Privates">
|
||||
<npc id="20936" count="1" respawnTime="300" weightPoint="1" />
|
||||
<npc id="20937" count="1" respawnTime="300" weightPoint="1" />
|
||||
<npc id="20938" count="1" respawnTime="300" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -1996,6 +2001,9 @@
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
<param name="MoveAroundSocial1" value="60" />
|
||||
<param name="MoveAroundSocial2" value="90" />
|
||||
<minions name="Privates">
|
||||
<npc id="20940" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -2226,6 +2234,10 @@
|
||||
<param name="MoveAroundSocial" value="110" />
|
||||
<param name="MoveAroundSocial1" value="110" />
|
||||
<param name="MoveAroundSocial2" value="110" />
|
||||
<minions name="Privates">
|
||||
<npc id="20942" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20943" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -3211,6 +3223,10 @@
|
||||
<param name="MoveAroundSocial" value="215" />
|
||||
<param name="MoveAroundSocial1" value="215" />
|
||||
<param name="MoveAroundSocial2" value="215" />
|
||||
<minions name="Privates">
|
||||
<npc id="20954" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20955" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -3464,6 +3480,10 @@
|
||||
<param name="MoveAroundSocial" value="110" />
|
||||
<param name="MoveAroundSocial1" value="110" />
|
||||
<param name="MoveAroundSocial2" value="110" />
|
||||
<minions name="Privates">
|
||||
<npc id="20957" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20958" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -3799,6 +3819,11 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="20960" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20961" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20962" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -4754,6 +4779,10 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="80" />
|
||||
<minions name="Privates">
|
||||
<npc id="20976" count="3" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20975" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -5050,6 +5079,11 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="21073" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21078" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21079" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -5308,6 +5342,10 @@
|
||||
<param name="MoveAroundSocial" value="114" />
|
||||
<param name="MoveAroundSocial1" value="114" />
|
||||
<param name="MoveAroundSocial2" value="114" />
|
||||
<minions name="Privates">
|
||||
<npc id="20981" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20982" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -5568,6 +5606,11 @@
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
<param name="MoveAroundSocial1" value="74" />
|
||||
<param name="MoveAroundSocial2" value="90" />
|
||||
<minions name="Privates">
|
||||
<npc id="21074" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20984" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="20985" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -6231,6 +6274,10 @@
|
||||
<param name="MoveAroundSocial" value="70" />
|
||||
<param name="MoveAroundSocial1" value="90" />
|
||||
<param name="MoveAroundSocial2" value="70" />
|
||||
<minions name="Privates">
|
||||
<npc id="20992" count="2" respawnTime="1200" weightPoint="1" />
|
||||
<npc id="20993" count="3" respawnTime="1200" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -6538,6 +6585,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="20995" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SetHateGroup" value="ATTACKER_GROUP" />
|
||||
<param name="SetHateGroupRatio" value="35" />
|
||||
<param name="SoulShot" value="100" />
|
||||
|
@ -4854,6 +4854,10 @@
|
||||
<param name="MoveAroundSocial" value="74" />
|
||||
<param name="MoveAroundSocial1" value="74" />
|
||||
<param name="MoveAroundSocial2" value="74" />
|
||||
<minions name="Privates">
|
||||
<npc id="21076" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21077" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -5126,6 +5130,10 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="SelfRangeDDMagic" id="4072" level="7" /> <!-- Stun -->
|
||||
<minions name="Privates">
|
||||
<npc id="21079" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21080" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
@ -5378,6 +5386,10 @@
|
||||
<param name="MoveAroundSocial" value="50" />
|
||||
<param name="MoveAroundSocial1" value="50" />
|
||||
<param name="MoveAroundSocial2" value="50" />
|
||||
<minions name="Privates">
|
||||
<npc id="21082" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21083" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -6154,6 +6166,10 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="80" />
|
||||
<minions name="Privates">
|
||||
<npc id="21091" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21092" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SetHateGroup" value="ATTACKER_GROUP" />
|
||||
<param name="SetHateGroupRatio" value="20" />
|
||||
<param name="AttackLowLevel" value="1" />
|
||||
|
@ -6988,6 +6988,9 @@
|
||||
<param name="MoveAroundSocial" value="90" />
|
||||
<param name="MoveAroundSocial1" value="90" />
|
||||
<param name="MoveAroundSocial2" value="90" />
|
||||
<minions name="Privates">
|
||||
<npc id="21370" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="FriendShip1" value="7221" /> <!-- Mark of Varka's Alliance - Level 1 -->
|
||||
<param name="FriendShip2" value="7222" /> <!-- Mark of Varka's Alliance - Level 2 -->
|
||||
<param name="FriendShip3" value="7223" /> <!-- Mark of Varka's Alliance - Level 3 -->
|
||||
@ -7162,6 +7165,9 @@
|
||||
<param name="MoveAroundSocial" value="123" />
|
||||
<param name="MoveAroundSocial1" value="123" />
|
||||
<param name="MoveAroundSocial2" value="123" />
|
||||
<minions name="Privates">
|
||||
<npc id="21372" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="FriendShip1" value="7221" /> <!-- Mark of Varka's Alliance - Level 1 -->
|
||||
<param name="FriendShip2" value="7222" /> <!-- Mark of Varka's Alliance - Level 2 -->
|
||||
<param name="FriendShip3" value="7223" /> <!-- Mark of Varka's Alliance - Level 3 -->
|
||||
@ -7329,6 +7335,10 @@
|
||||
<param name="MoveAroundSocial" value="123" />
|
||||
<param name="MoveAroundSocial1" value="123" />
|
||||
<param name="MoveAroundSocial2" value="123" />
|
||||
<minions name="Privates">
|
||||
<npc id="21374" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="21375" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="FriendShip1" value="7221" /> <!-- Mark of Varka's Alliance - Level 1 -->
|
||||
<param name="FriendShip2" value="7222" /> <!-- Mark of Varka's Alliance - Level 2 -->
|
||||
<param name="FriendShip3" value="7223" /> <!-- Mark of Varka's Alliance - Level 3 -->
|
||||
|
@ -1075,6 +1075,9 @@
|
||||
<param name="MoveAroundSocial" value="62" />
|
||||
<param name="MoveAroundSocial1" value="62" />
|
||||
<param name="MoveAroundSocial2" value="62" />
|
||||
<minions name="Privates">
|
||||
<npc id="21518" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SwapPosition" value="20" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
@ -1574,6 +1577,9 @@
|
||||
<param name="MoveAroundSocial" value="62" />
|
||||
<param name="MoveAroundSocial1" value="62" />
|
||||
<param name="MoveAroundSocial2" value="62" />
|
||||
<minions name="Privates">
|
||||
<npc id="21519" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SwapPosition" value="20" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
|
@ -2435,6 +2435,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="90" />
|
||||
<param name="MoveAroundSocial2" value="187" />
|
||||
<minions name="Privates">
|
||||
<npc id="22027" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -7483,6 +7486,9 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="5" /> <!-- NPC Strike -->
|
||||
<minions name="Privates">
|
||||
<npc id="22079" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>MALE</sex>
|
||||
@ -7857,6 +7863,9 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="5" /> <!-- NPC Strike -->
|
||||
<minions name="Privates">
|
||||
<npc id="22083" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>MALE</sex>
|
||||
@ -8619,6 +8628,9 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="DDMagicSlow" id="4247" level="5" /> <!-- NPC Windstrike - Slow -->
|
||||
<minions name="Privates">
|
||||
<npc id="22091" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -8971,6 +8983,9 @@
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="5" /> <!-- NPC Strike -->
|
||||
<minions name="Privates">
|
||||
<npc id="22095" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>ANIMAL</race>
|
||||
<sex>MALE</sex>
|
||||
|
@ -6,6 +6,9 @@
|
||||
<param name="MoveAroundSocial" value="40" />
|
||||
<param name="MoveAroundSocial1" value="40" />
|
||||
<param name="MoveAroundSocial2" value="40" />
|
||||
<minions name="Privates">
|
||||
<npc id="22099" count="9" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -177,6 +180,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="22101" count="9" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="20" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
@ -342,6 +348,9 @@
|
||||
<param name="MoveAroundSocial" value="78" />
|
||||
<param name="MoveAroundSocial1" value="78" />
|
||||
<param name="MoveAroundSocial2" value="78" />
|
||||
<minions name="Privates">
|
||||
<npc id="22103" count="9" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
@ -4455,6 +4464,11 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<minions name="Privates">
|
||||
<npc id="22156" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22157" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22158" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<skill name="PhysicalSpecial" id="4032" level="9" /> <!-- NPC Strike -->
|
||||
<skill name="PhysicalSpecial2" id="4612" level="9" /> <!-- NPC Wide Wild Sweep -->
|
||||
<skill name="SpecialAttack" id="4641" level="10" /> <!-- NPC Super Strike -->
|
||||
@ -4771,6 +4785,11 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<minions name="Privates">
|
||||
<npc id="22160" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22161" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22162" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<skill name="PhysicalSpecial" id="4032" level="9" /> <!-- NPC Strike -->
|
||||
<skill name="PhysicalSpecial2" id="4612" level="9" /> <!-- NPC Wide Wild Sweep -->
|
||||
<skill name="SpecialAttack" id="4641" level="10" /> <!-- NPC Super Strike -->
|
||||
@ -5085,6 +5104,11 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<minions name="Privates">
|
||||
<npc id="22164" count="1" respawnTime="2" weightPoint="1" />
|
||||
<npc id="22165" count="2" respawnTime="1" weightPoint="1" />
|
||||
<npc id="22166" count="2" respawnTime="2" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SpecialDDMagicUse" value="30" />
|
||||
<skill name="SpecialAttack" id="4641" level="10" /> <!-- NPC Super Strike -->
|
||||
<skill name="SelfMagicHeal" id="4065" level="9" /> <!-- NPC Heal -->
|
||||
@ -5406,6 +5430,11 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<minions name="Privates">
|
||||
<npc id="22168" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22169" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22170" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<skill name="PhysicalSpecial" id="4032" level="9" /> <!-- NPC Strike -->
|
||||
<skill name="PhysicalSpecial2" id="4612" level="9" /> <!-- NPC Wide Wild Sweep -->
|
||||
<skill name="SpecialAttack" id="4641" level="10" /> <!-- NPC Super Strike -->
|
||||
@ -5712,6 +5741,11 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<minions name="Privates">
|
||||
<npc id="22172" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22173" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22174" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="SpecialDDMagicUse" value="30" />
|
||||
<skill name="SpecialAttack" id="4641" level="10" /> <!-- NPC Super Strike -->
|
||||
<skill name="SelfMagicHeal" id="4065" level="9" /> <!-- NPC Heal -->
|
||||
@ -6201,6 +6235,10 @@
|
||||
<param name="MoveAroundSocial2" value="98" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="9" /> <!-- NPC Strike -->
|
||||
<skill name="PhysicalSpecial2" id="4612" level="9" /> <!-- NPC Wide Wild Sweep -->
|
||||
<minions name="Privates">
|
||||
<npc id="22189" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22190" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -6789,6 +6827,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22197" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="10" />
|
||||
<param name="ProbPhysicalSpecial2" value="20" />
|
||||
@ -6952,6 +6993,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="mobile_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22197" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="10" />
|
||||
<param name="ProbPhysicalSpecial2" value="20" />
|
||||
|
@ -195,6 +195,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="22201" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="mobile_type" value="1" />
|
||||
<param name="ProbSelfRangeBuff1" value="50" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
@ -475,6 +478,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="22204" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="mobile_type" value="1" />
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
@ -739,6 +745,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="mobile_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22209" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="50" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
<param name="ProbPhysicalSpecial2" value="5" />
|
||||
@ -994,6 +1003,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="mobile_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22212" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="3" />
|
||||
<param name="ProbPhysicalSpecial2" value="33" />
|
||||
@ -1926,6 +1938,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22197" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="3" />
|
||||
<param name="ProbPhysicalSpecial2" value="20" />
|
||||
@ -2010,6 +2025,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="22201" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="50" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
<param name="ProbPhysicalSpecial2" value="5" />
|
||||
@ -2104,6 +2122,9 @@
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="22204" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
<param name="ProbPhysicalSpecial2" value="20" />
|
||||
@ -6342,6 +6363,9 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="114" />
|
||||
<minions name="Privates">
|
||||
<npc id="22276" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="0" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
@ -6510,6 +6534,9 @@
|
||||
<param name="MoveAroundSocial" value="135" />
|
||||
<param name="MoveAroundSocial1" value="135" />
|
||||
<param name="MoveAroundSocial2" value="135" />
|
||||
<minions name="Privates">
|
||||
<npc id="22278" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="0" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
|
@ -396,6 +396,9 @@
|
||||
<param name="Party_Loyalty" value="0" />
|
||||
<param name="Party_OneShot" value="50" />
|
||||
<skill name="Skill01_ID" id="5273" level="3" /> <!-- NPC(party) - Physical Single Close Range Attack -->
|
||||
<minions name="Privates">
|
||||
<npc id="22308" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -479,6 +482,10 @@
|
||||
<param name="Skill02_Dist_Max" value="150" />
|
||||
<skill name="Skill01_ID" id="5312" level="4" /> <!-- NPC(party) -Magic Single Long Range DD - Fire -->
|
||||
<skill name="Skill02_ID" id="5314" level="4" /> <!-- NPC(party) -Magic Range Close Range DD - Fire -->
|
||||
<minions name="Privates">
|
||||
<npc id="22308" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22309" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -559,6 +566,11 @@
|
||||
<param name="Skill01_Check_Dist" value="1" />
|
||||
<param name="Skill01_Dist_Max" value="150" />
|
||||
<skill name="Skill01_ID" id="5340" level="3" /> <!-- NPC(party) - Physical Range Close Range Attack - Fire -->
|
||||
<minions name="Privates">
|
||||
<npc id="22308" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22309" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22310" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
@ -1485,6 +1497,10 @@
|
||||
<skill name="Skill01_ID" id="4592" level="9" /> <!-- Decrease P. Def. -->
|
||||
<skill name="Skill02_ID" id="5331" level="3" /> <!-- NPC HP Drain -->
|
||||
<skill name="Skill03_ID" id="5334" level="4" /> <!-- NPC(party) - Physical Single Close Range Attack -->
|
||||
<minions name="Privates">
|
||||
<npc id="22322" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22323" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
@ -1583,6 +1599,10 @@
|
||||
<skill name="Skill02_ID" id="5310" level="3" /> <!-- NPC(party) - Magic Close Range DD - less powerful -->
|
||||
<skill name="Skill03_ID" id="4466" level="2" /> <!-- Surrender To Darkness -->
|
||||
<skill name="Skill04_ID" id="5332" level="3" /> <!-- NPC MP Burn -->
|
||||
<minions name="Privates">
|
||||
<npc id="22322" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22323" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -3378,6 +3398,9 @@
|
||||
<param name="FieldCycle_Quantity" value="1" />
|
||||
<skill name="Skill01_ID" id="5298" level="4" /> <!-- NPC(party) - Physical Single Long Range Attack - Dark -->
|
||||
<skill name="Skill02_ID" id="4047" level="10" /> <!-- Hold -->
|
||||
<minions name="Privates">
|
||||
<npc id="22347" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
@ -4577,6 +4600,9 @@
|
||||
<skill name="Skill01_ID" id="5334" level="5" /> <!-- NPC(party) - Physical Single Close Range Attack -->
|
||||
<skill name="Death_Word" id="5256" level="1" /> <!-- Announcement of Death -->
|
||||
<skill name="Real_Death_Word" id="5257" level="1" /> <!-- Death -->
|
||||
<minions name="Privates">
|
||||
<npc id="22364" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
@ -5202,6 +5228,9 @@
|
||||
<param name="Threshold_Level_Max" value="11" />
|
||||
<param name="FieldCycle_Quantity" value="15" />
|
||||
<skill name="Skill01_ID" id="5362" level="5" /> <!-- Stun -->
|
||||
<minions name="Privates">
|
||||
<npc id="22371" count="4" respawnTime="120" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
@ -5854,6 +5883,10 @@
|
||||
<param name="Skill02_Probablity" value="1000" />
|
||||
<skill name="Skill01_ID" id="5358" level="3" /> <!-- NPC(party) - Physical Single Close Range Attack - Dark -->
|
||||
<skill name="Skill02_ID" id="5362" level="3" /> <!-- Stun -->
|
||||
<minions name="Privates">
|
||||
<npc id="22378" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22379" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
@ -6999,6 +7032,9 @@
|
||||
<param name="Skill02_Dist_Min" value="300" />
|
||||
<skill name="Skill01_ID" id="5358" level="3" /> <!-- NPC(party) - Physical Single Close Range Attack - Dark -->
|
||||
<skill name="Skill02_ID" id="4117" level="9" /> <!-- Paralysis -->
|
||||
<minions name="Privates">
|
||||
<npc id="22391" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>MALE</sex>
|
||||
|
@ -1429,6 +1429,12 @@
|
||||
<param name="MoveAroundSocial" value="124" />
|
||||
<param name="MoveAroundSocial1" value="124" />
|
||||
<param name="MoveAroundSocial2" value="124" />
|
||||
<minions name="Privates">
|
||||
<npc id="22417" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22308" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22309" count="1" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22310" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="0" />
|
||||
<param name="MoveArounding" value="0" />
|
||||
|
@ -1534,6 +1534,9 @@
|
||||
<npc id="22621" level="82" type="L2Monster" name="Male Spiked Stakato">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="22620" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ai_type" value="n_male_spike_stakato_c" />
|
||||
<param name="silhouette" value="22622" /> <!-- Male Spiked Stakato -->
|
||||
<skill name="PhysicalSpecial" id="4032" level="9" /> <!-- NPC Strike -->
|
||||
@ -1852,6 +1855,9 @@
|
||||
<npc id="22625" level="83" type="L2Monster" name="Cannibalistic Stakato Leader">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="22624" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<skill name="PhysicalSpecial1" id="6168" level="9" /> <!-- Shock -->
|
||||
<skill name="buff" id="4028" level="3" /> <!-- NPC Might -->
|
||||
<skill name="EffectSkill" id="4485" level="1" /> <!-- Eating Follower -->
|
||||
@ -2255,6 +2261,9 @@
|
||||
<npc id="22630" level="83" type="L2Monster" name="Spiked Stakato Nurse">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="22632" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ai_type" value="n_nurse_spike_stakato_c" />
|
||||
<param name="silhouette" value="22631" /> <!-- Spiked Stakato Nurse -->
|
||||
<skill name="SelfRangeDDMagic" id="4571" level="9" /> <!-- NPC Blazing Circle -->
|
||||
@ -5062,6 +5071,9 @@
|
||||
<npc id="22666" level="82" type="L2Monster" name="Barif">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="22667" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ShoutTarget" value="1" />
|
||||
<param name="SetHateGroup" value="ATTACKER_GROUP" />
|
||||
<param name="SetHateGroupRatio" value="25" />
|
||||
@ -5344,6 +5356,10 @@
|
||||
<npc id="22670" level="80" type="L2Monster" name="Cursed Lord">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="22671" count="2" respawnTime="0" weightPoint="1" />
|
||||
<npc id="22672" count="2" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<skill name="SelfRangeDDMagic" id="4072" level="9" /> <!-- Stun -->
|
||||
</parameters>
|
||||
<race>ANIMAL</race>
|
||||
|
@ -3056,6 +3056,9 @@
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<param name="mobile_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22744" count="3" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="50" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
<param name="ProbPhysicalSpecial2" value="5" />
|
||||
@ -3154,6 +3157,9 @@
|
||||
<parameters>
|
||||
<param name="ag_type" value="0" />
|
||||
<param name="mobile_type" value="1" />
|
||||
<minions name="Privates">
|
||||
<npc id="22745" count="4" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="ProbSelfRangeBuff1" value="100" />
|
||||
<param name="ProbPhysicalSpecial1" value="33" />
|
||||
<param name="ProbPhysicalSpecial2" value="20" />
|
||||
|
@ -1619,6 +1619,10 @@
|
||||
<npc id="25536" level="81" type="L2RaidBoss" name="Hannibal" title="Raid Boss">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="25537" count="1" respawnTime="60" weightPoint="1" />
|
||||
<npc id="25538" count="1" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm01_A" />
|
||||
<skill name="DDMagic_a" id="4191" level="9" /> <!-- BOSS Windstrike -->
|
||||
<skill name="SelfRangeDebuff_a" id="4183" level="9" /> <!-- Decrease P. Atk. -->
|
||||
|
@ -1018,6 +1018,9 @@
|
||||
<param name="MoveAroundSocial" value="75" />
|
||||
<param name="MoveAroundSocial1" value="75" />
|
||||
<param name="MoveAroundSocial2" value="75" />
|
||||
<minions name="Privates">
|
||||
<npc id="27037" count="4" respawnTime="240" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -1148,6 +1151,9 @@
|
||||
<param name="MoveAroundSocial" value="75" />
|
||||
<param name="MoveAroundSocial1" value="75" />
|
||||
<param name="MoveAroundSocial2" value="75" />
|
||||
<minions name="Privates">
|
||||
<npc id="27042" count="5" respawnTime="180" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2066,6 +2072,9 @@
|
||||
<param name="MoveAroundSocial" value="75" />
|
||||
<param name="MoveAroundSocial1" value="75" />
|
||||
<param name="MoveAroundSocial2" value="75" />
|
||||
<minions name="Privates">
|
||||
<npc id="27063" count="2" respawnTime="200" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2203,6 +2212,9 @@
|
||||
<param name="MoveAroundSocial" value="104" />
|
||||
<param name="MoveAroundSocial1" value="104" />
|
||||
<param name="MoveAroundSocial2" value="104" />
|
||||
<minions name="Privates">
|
||||
<npc id="27066" count="2" respawnTime="200" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -2340,6 +2352,9 @@
|
||||
<param name="MoveAroundSocial" value="104" />
|
||||
<param name="MoveAroundSocial1" value="104" />
|
||||
<param name="MoveAroundSocial2" value="104" />
|
||||
<minions name="Privates">
|
||||
<npc id="27069" count="2" respawnTime="200" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
@ -3003,6 +3018,9 @@
|
||||
<param name="MoveAroundSocial" value="65" />
|
||||
<param name="MoveAroundSocial1" value="40" />
|
||||
<param name="MoveAroundSocial2" value="65" />
|
||||
<minions name="Privates">
|
||||
<npc id="20253" count="4" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
|
@ -342,6 +342,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27109" count="1" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -425,6 +428,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27111" count="6" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -511,6 +517,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27111" count="6" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -556,6 +565,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27111" count="6" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BEAST</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -601,6 +613,9 @@
|
||||
<param name="MoveAroundSocial" value="110" />
|
||||
<param name="MoveAroundSocial1" value="110" />
|
||||
<param name="MoveAroundSocial2" value="110" />
|
||||
<minions name="Privates">
|
||||
<npc id="27115" count="2" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -3694,6 +3709,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27189" count="3" respawnTime="220" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>PLANT</race>
|
||||
<sex>ETC</sex>
|
||||
@ -3739,6 +3757,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27189" count="3" respawnTime="220" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>PLANT</race>
|
||||
<sex>ETC</sex>
|
||||
@ -3784,6 +3805,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27189" count="3" respawnTime="220" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>PLANT</race>
|
||||
<sex>ETC</sex>
|
||||
@ -3829,6 +3853,9 @@
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<minions name="Privates">
|
||||
<npc id="27189" count="3" respawnTime="220" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>PLANT</race>
|
||||
<sex>ETC</sex>
|
||||
|
@ -2,6 +2,12 @@
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="29001" level="40" type="L2GrandBoss" name="Queen Ant">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29003" count="6" respawnTime="10" weightPoint="1" />
|
||||
<npc id="29005" count="8" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>BUG</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="2179535" sp="140740" raidPoints="1680" />
|
||||
@ -257,6 +263,13 @@
|
||||
</npc>
|
||||
<npc id="29006" level="50" type="L2GrandBoss" name="Core">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29008" count="3" respawnTime="360" weightPoint="1" />
|
||||
<npc id="29011" count="4" respawnTime="360" weightPoint="1" />
|
||||
<npc id="29007" count="10" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="2041407" sp="153786" raidPoints="1508" />
|
||||
@ -680,6 +693,9 @@
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="80" />
|
||||
<minions name="Privates">
|
||||
<npc id="29016" count="4" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>FAIRY</race>
|
||||
<sex>FEMALE</sex>
|
||||
@ -3314,6 +3330,10 @@
|
||||
<npc id="29062" level="80" type="L2RaidBoss" name="Andreas Van Halter" title="Seer of Pagan">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="29063" count="3" respawnTime="360" weightPoint="1" />
|
||||
<npc id="29064" count="1" respawnTime="360" weightPoint="1" />
|
||||
</minions>
|
||||
<param name="RaidSpawnMusic" value="Rm03_A" />
|
||||
<param name="doSummonNPC" value="1" />
|
||||
<skill name="SelfRangeDebuff_a" id="4188" level="10" /> <!-- Bleed -->
|
||||
|
@ -1095,6 +1095,11 @@
|
||||
</npc>
|
||||
<npc id="32128" level="70" type="L2Npc" name="Guardian Wizard of the Cloth">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="32127" count="6" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMAN</race>
|
||||
<sex>FEMALE</sex>
|
||||
<equipment rhand="4900" /> <!-- rhand: Staff of Evil Spirits - Magic Focus -->
|
||||
|
@ -849,6 +849,11 @@
|
||||
</npc>
|
||||
<npc id="32324" level="70" type="L2Npc" name="Black Stone Monolith">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="18369" count="1" respawnTime="0" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>CONSTRUCT</race>
|
||||
<sex>MALE</sex>
|
||||
<stats str="40" int="21" dex="30" wit="20" con="43" men="20">
|
||||
|
@ -3386,6 +3386,16 @@
|
||||
</npc>
|
||||
<npc id="35375" level="73" type="L2Monster" name="Bloody Lord Nurka">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<minions name="Privates">
|
||||
<npc id="35376" count="2" respawnTime="60" weightPoint="1" />
|
||||
<npc id="35377" count="8" respawnTime="60" weightPoint="1" />
|
||||
<npc id="35378" count="4" respawnTime="60" weightPoint="1" />
|
||||
<npc id="35379" count="1" respawnTime="60" weightPoint="1" />
|
||||
<npc id="35380" count="2" respawnTime="60" weightPoint="1" />
|
||||
<npc id="35381" count="2" respawnTime="60" weightPoint="1" />
|
||||
</minions>
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="72" /> <!-- rhand: Stormbringer -->
|
||||
|
@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="list">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="npc" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="minion" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:int" name="id" use="optional"/>
|
||||
<xs:attribute type="xs:byte" name="count" use="optional"/>
|
||||
<xs:attribute type="xs:short" name="respawnTime" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:int" name="id" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
@ -56,7 +56,7 @@ public class NpcData implements IGameXmlReader
|
||||
{
|
||||
private final Map<Integer, L2NpcTemplate> _npcs = new ConcurrentHashMap<>();
|
||||
private final Map<String, Integer> _clans = new ConcurrentHashMap<>();
|
||||
private MinionData _minionData;
|
||||
private static final List<Integer> _masterMonsterIDs = new ArrayList<>();
|
||||
|
||||
protected NpcData()
|
||||
{
|
||||
@ -66,7 +66,7 @@ public class NpcData implements IGameXmlReader
|
||||
@Override
|
||||
public synchronized void load()
|
||||
{
|
||||
_minionData = new MinionData();
|
||||
_masterMonsterIDs.clear();
|
||||
|
||||
parseDatapackDirectory("data/stats/npcs", false);
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _npcs.size() + " NPCs.");
|
||||
@ -78,7 +78,6 @@ public class NpcData implements IGameXmlReader
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + (_npcs.size() - npcCount) + " Custom NPCs.");
|
||||
}
|
||||
|
||||
_minionData = null;
|
||||
loadNpcsSkillLearn();
|
||||
}
|
||||
|
||||
@ -520,15 +519,6 @@ public class NpcData implements IGameXmlReader
|
||||
template.set(set);
|
||||
}
|
||||
|
||||
if (_minionData._tempMinions.containsKey(npcId))
|
||||
{
|
||||
if (parameters == null)
|
||||
{
|
||||
parameters = new HashMap<>();
|
||||
}
|
||||
parameters.putIfAbsent("Privates", _minionData._tempMinions.get(npcId));
|
||||
}
|
||||
|
||||
template.setParameters(parameters != null ? new StatsSet(Collections.unmodifiableMap(parameters)) : StatsSet.EMPTY_STATSET);
|
||||
|
||||
if (skills != null)
|
||||
@ -661,6 +651,14 @@ public class NpcData implements IGameXmlReader
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!template.getParameters().getMinionList("Privates").isEmpty())
|
||||
{
|
||||
if (template.getParameters().getSet().get("SummonPrivateRate") == null)
|
||||
{
|
||||
_masterMonsterIDs.add(template.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -788,55 +786,11 @@ public class NpcData implements IGameXmlReader
|
||||
}
|
||||
|
||||
/**
|
||||
* This class handles minions from Spawn System<br>
|
||||
* Once Spawn System gets reworked delete this class<br>
|
||||
* @author Zealar
|
||||
* @return the IDs of monsters that have minions.
|
||||
*/
|
||||
private final class MinionData implements IGameXmlReader
|
||||
public static List<Integer> getMasterMonsterIDs()
|
||||
{
|
||||
public final Map<Integer, List<MinionHolder>> _tempMinions = new HashMap<>();
|
||||
|
||||
protected MinionData()
|
||||
{
|
||||
load();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load()
|
||||
{
|
||||
_tempMinions.clear();
|
||||
parseDatapackFile("data/MinionData.xml");
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _tempMinions.size() + " minions data.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parseDocument(Document doc, File f)
|
||||
{
|
||||
for (Node node = doc.getFirstChild(); node != null; node = node.getNextSibling())
|
||||
{
|
||||
if ("list".equals(node.getNodeName()))
|
||||
{
|
||||
for (Node listNode = node.getFirstChild(); listNode != null; listNode = listNode.getNextSibling())
|
||||
{
|
||||
if ("npc".equals(listNode.getNodeName()))
|
||||
{
|
||||
final List<MinionHolder> minions = new ArrayList<>(1);
|
||||
NamedNodeMap attrs = listNode.getAttributes();
|
||||
final int id = parseInteger(attrs, "id");
|
||||
for (Node npcNode = listNode.getFirstChild(); npcNode != null; npcNode = npcNode.getNextSibling())
|
||||
{
|
||||
if ("minion".equals(npcNode.getNodeName()))
|
||||
{
|
||||
attrs = npcNode.getAttributes();
|
||||
minions.add(new MinionHolder(parseInteger(attrs, "id"), parseInteger(attrs, "count"), parseInteger(attrs, "respawnTime"), 0));
|
||||
}
|
||||
}
|
||||
_tempMinions.put(id, minions);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return _masterMonsterIDs;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,6 +35,7 @@ import com.l2jmobius.gameserver.datatables.NpcPersonalAIData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
import com.l2jmobius.gameserver.model.interfaces.ILocational;
|
||||
@ -659,6 +660,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
// Increase the current number of L2NpcInstance managed by this L2Spawn
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getTemplate().getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ai.others.Spawns;
|
||||
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Spawn AI for monsters that spawn minions.
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class MonstersWithMinionSpawns extends AbstractNpcAI
|
||||
{
|
||||
private MonstersWithMinionSpawns()
|
||||
{
|
||||
addSpawnId(NpcData.getMasterMonsterIDs());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onSpawn(L2Npc npc)
|
||||
{
|
||||
if (npc.isMonster())
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new MonstersWithMinionSpawns();
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2MonsterInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2NpcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.interfaces.IIdentifiable;
|
||||
@ -589,6 +590,13 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable
|
||||
|
||||
_spawnedNpcs.add(npc);
|
||||
_currentCount++;
|
||||
|
||||
// Minions
|
||||
if (npc.isMonster() && NpcData.getMasterMonsterIDs().contains(npc.getId()))
|
||||
{
|
||||
((L2MonsterInstance) npc).getMinionList().spawnMinions(npc.getParameters().getMinionList("Privates"));
|
||||
}
|
||||
|
||||
return npc;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user