Moved Talking Island scripts to zones package.

This commit is contained in:
MobiusDev
2016-04-28 19:44:21 +00:00
parent 324f0a3ddb
commit df77a72295
117 changed files with 96 additions and 438 deletions

View File

@@ -1,69 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Banette AI.
* @author Gladicek
*/
final class Banette extends AbstractNpcAI
{
// NPCs
private static final int BANETTE = 33114;
// Misc
private static final NpcStringId[] BANETTE_SHOUT =
{
NpcStringId.TRAINING_GROUND_IS_LOCATED_STRAIGHT_AHEAD,
NpcStringId.WHILE_TRAINING_IN_THE_TRAINING_GROUNDS_IT_BECOMES_PROGRESSIVELY_DIFFICULT,
NpcStringId.TRAINING_GROUNDS_ACCESS_YOU_NEED_TO_SPEAK_WITH_PANTHEON_IN_THE_MUSEUM
};
private Banette()
{
super(Banette.class.getSimpleName(), "ai/individual");
addSpawnId(BANETTE);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, BANETTE_SHOUT[getRandom(3)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 5000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Banette();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Bink AI.
* @author Gladicek
*/
final class Bink extends AbstractNpcAI
{
// NPCs
private static final int BINK = 33223;
private Bink()
{
super(Bink.class.getSimpleName(), "ai/individual");
addSpawnId(BINK);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TALKING_ISLAND_VILLAGE_IS_REALLY_BEAUTIFUL, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 10000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Bink();
}
}

View File

@@ -1,87 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Devno AI.
* @author Gladicek
*/
final class Devno extends AbstractNpcAI
{
// NPC
private static final int DEVNO = 33241;
// Misc
private static final NpcStringId[] DEVNO_SHOUT =
{
NpcStringId.CARRY_OUT_YOUR_QUESTS_FAITHFULLY_IN_TALKING_ISLAND_AND_YOU_LL_GET_TO_THE_1ST_CLASS_TRANSFER_IN_NO_TIME,
NpcStringId.I_SEE_THAT_ADVENTURERS_ARE_RETURNING_TO_TALKING_ISLAND_FOR_THE_AWAKENING,
NpcStringId.YOU_CAN_SEE_VARIOUS_STATISTICS_IN_THE_MUSEUM_STATS_IN_THE_MAIN_MENU
};
private static final Location[] DEVNO_LOC =
{
new Location(-114448, 259106, -1203),
new Location(-114565, 258686, -1203),
new Location(-115047, 258883, -1204),
new Location(-114904, 259038, -1203),
new Location(-114673, 258981, -1203),
new Location(-114595, 259277, -1203),
new Location(-114866, 259350, -1203),
new Location(-114601, 258926, -1203),
new Location(-114702, 259080, -1203),
new Location(-114973, 259306, -1203),
};
private Devno()
{
super(Devno.class.getSimpleName(), "ai/individual");
addSpawnId(DEVNO);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("npc_move") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, DEVNO_SHOUT[getRandom(3)], 1000);
if (getRandom(100) > 40)
{
addMoveToDesire(npc, DEVNO_LOC[getRandom(10)], 0);
}
}
return null;
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("npc_move", 10000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Devno();
}
}

View File

@@ -1,89 +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.individual;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import ai.npc.AbstractNpcAI;
/**
* Drill Sergeant AI.
* @author St3eT
*/
final class DrillSergeant extends AbstractNpcAI
{
// NPCs
private static final int SERGANT = 33007; // Drill Sergant
private static final int GUARD = 33018;
// Misc
//@formatter:off
private final int[] SOCIAL_ACTIONS = {9, 10, 11, 1 };
//@formatter:on
private DrillSergeant()
{
super(DrillSergeant.class.getSimpleName(), "ai/individual");
addSpawnId(SERGANT);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SOCIAL_SHOW"))
{
final int socialActionId = SOCIAL_ACTIONS[getRandom(SOCIAL_ACTIONS.length)];
npc.broadcastSocialAction(socialActionId);
for (L2Character chars : npc.getKnownList().getKnownCharactersInRadius(500))
{
if (chars.isNpc() && (chars.getId() == GUARD))
{
final L2Npc guard = (L2Npc) chars;
guard.getVariables().set("SOCIAL_ACTION_ID", socialActionId);
startQuestTimer("SOCIAL_ACTION", getRandom(500, 1500), guard, null);
}
}
}
else if (event.equals("SOCIAL_ACTION"))
{
final int socialActionId = npc.getVariables().getInt("SOCIAL_ACTION_ID", 0);
if (socialActionId > 0)
{
npc.broadcastSocialAction(socialActionId);
}
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
if (npc.getId() == SERGANT)
{
startQuestTimer("SOCIAL_SHOW", 10000, npc, null, true);
}
npc.setRandomAnimationEnabled(false);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new DrillSergeant();
}
}

View File

@@ -1,86 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Eleve AI.
* @author Gladicek
*/
final class Eleve extends AbstractNpcAI
{
// NPC
private static final int ELEVE = 33246;
// Misc
private static final NpcStringId[] ELEVE_SHOUT =
{
NpcStringId.DON_T_KNOW_WHAT_TO_DO_LOOK_AT_THE_MAP,
NpcStringId.DO_YOU_SEE_A_SCROLL_ICON_GO_THAT_LOCATION
};
private static final Location[] ELEVE_LOC =
{
new Location(-114936, 259918, -1203),
new Location(-114687, 259872, -1203),
new Location(-114552, 259699, -1203),
new Location(-114689, 259453, -1203),
new Location(-114990, 259335, -1203),
new Location(-115142, 259523, -1203),
new Location(-114894, 259137, -1203),
new Location(-114832, 259363, -1203),
new Location(-114809, 259260, -1203),
new Location(-115036, 260006, -1203),
};
private Eleve()
{
super(Eleve.class.getSimpleName(), "ai/individual");
addSpawnId(ELEVE);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("npc_move") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, ELEVE_SHOUT[getRandom(2)], 1000);
if (getRandom(100) > 40)
{
addMoveToDesire(npc, ELEVE_LOC[getRandom(10)], 0);
}
}
return null;
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("npc_move", 6000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Eleve();
}
}

View File

@@ -1,68 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Gagabu AI.
* @author Gladicek
*/
final class Gagabu extends AbstractNpcAI
{
// NPCs
private static final int GAGABU = 33284;
// Misc
private static final NpcStringId[] GAGABU_SHOUT =
{
NpcStringId.SPIRITSHOTS_ARE_MIXED,
NpcStringId.WHEN_WILL_I_ORGANIZE_THIS_ALL
};
private Gagabu()
{
super(Gagabu.class.getSimpleName(), "ai/individual");
addSpawnId(GAGABU);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, GAGABU_SHOUT[getRandom(2)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 8000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Gagabu();
}
}

View File

@@ -1,63 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Galad AI.
* @author Gladicek
*/
final class Galad extends AbstractNpcAI
{
// NPCs
private static final int GALAD = 33572;
private Galad()
{
super(Galad.class.getSimpleName(), "ai/individual");
addSpawnId(GALAD);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
npc.broadcastSocialAction(3);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.OCCASIONALLY_RARE_JEWELS_OF_GIANTS_ARE_DISCOVERED_IN_THE_BEACH, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 8000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Galad();
}
}

View File

@@ -1,68 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Guard Soldier AI.
* @author Gladicek
*/
final class GuardSoldier extends AbstractNpcAI
{
// NPCs
private static final int GUARD_SOLDIER = 33286;
private GuardSoldier()
{
super(GuardSoldier.class.getSimpleName(), "ai/individual");
addSpawnId(GUARD_SOLDIER);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
npc.broadcastSocialAction(3);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LADY_YOU_MUST_GO_IN, 1000);
}
else if (event.equals("SOCIAL_ACTION") && (npc != null))
{
npc.broadcastSocialAction(2);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 12000, npc, null, true);
startQuestTimer("SOCIAL_ACTION", 15000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new GuardSoldier();
}
}

View File

@@ -1,70 +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.individual;
import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import ai.npc.AbstractNpcAI;
/**
* Handermonkey AI.
* @author Gladicek
*/
final class Handermonkey extends AbstractNpcAI
{
// NPC
private static final int HANDERMONKEY = 33203;
private Handermonkey()
{
super(Handermonkey.class.getSimpleName(), "ai/npc");
addSpawnId(HANDERMONKEY);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("npc_move"))
{
if (getRandom(100) > 30)
{
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(((npc.getSpawn().getX() - 70) + getRandom(100)), ((npc.getSpawn().getY() - 70) + getRandom(100)), npc.getZ(), 0));
}
else
{
npc.broadcastSocialAction(9);
}
}
return null;
}
@Override
public String onSpawn(L2Npc npc)
{
npc.setRunning();
startQuestTimer("npc_move", 5000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Handermonkey();
}
}

View File

@@ -1,69 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Heymond AI.
* @author Gladicek
*/
final class Heymond extends AbstractNpcAI
{
// NPCs
private static final int HEYMOND = 33026;
// Misc
private static final NpcStringId[] HEYMOND_SHOUT =
{
NpcStringId.VIEW_OUR_WIDE_VARIETY_OF_ACCESSORIES,
NpcStringId.THE_BEST_WEAPON_DOESN_T_MAKE_YOU_THE_BEST,
NpcStringId.WE_BUY_AND_SELL_COME_TAKE_A_LOOK
};
private Heymond()
{
super(Heymond.class.getSimpleName(), "ai/individual");
addSpawnId(HEYMOND);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, HEYMOND_SHOUT[getRandom(3)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 7000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Heymond();
}
}

View File

@@ -1,67 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Holly AI.
* @author Gladicek
*/
final class Holly extends AbstractNpcAI
{
// NPCs
private static final int HOLLY = 33219;
private Holly()
{
super(Holly.class.getSimpleName(), "ai/individual");
addSpawnId(HOLLY);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.GIRAN_SHUTTLE_DOES_NOT_COME_ANYMORE_IT_S_ALL_IN_THE_PAST, 1000);
}
else if (event.equals("SOCIAL_ACTION") && (npc != null))
{
npc.broadcastSocialAction(6);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 10000, npc, null, true);
startQuestTimer("SOCIAL_ACTION", 2000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Holly();
}
}

View File

@@ -1,90 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Karonf AI.
* @author Gladicek
*/
final class Karonf extends AbstractNpcAI
{
// NPC
private static final int KARONF = 33242;
// Misc
private static final NpcStringId[] KARONF_SHOUT =
{
NpcStringId.WHEN_YOU_GO_TO_THE_MUSEUM_SPEAK_TO_PANTHEON,
NpcStringId.SOME_FOLKS_DON_T_KNOW_WHAT_THEY_ARE_DOING
};
private static final Location[] KARONF_LOC =
{
new Location(-113984, 259782, -1203),
new Location(-113786, 259475, -1203),
new Location(-113977, 259035, -1203),
new Location(-114012, 259290, -1203),
new Location(-113812, 259522, -1203),
new Location(-113621, 259281, -1203),
new Location(-114354, 259048, -1193),
new Location(-113864, 259293, -1203),
new Location(-114052, 259351, -1203),
new Location(-114175, 259243, -1203),
};
private Karonf()
{
super(Karonf.class.getSimpleName(), "ai/individual");
addSpawnId(KARONF);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("npc_move") && (npc != null))
{
if (getRandom(100) > 40)
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, KARONF_SHOUT[getRandom(2)], 1000);
addMoveToDesire(npc, KARONF_LOC[getRandom(10)], 0);
}
else
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, KARONF_SHOUT[getRandom(2)]);
}
}
return null;
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("npc_move", 8000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Karonf();
}
}

View File

@@ -1,73 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Luderic AI.
* @author Gladicek
*/
final class Luderic extends AbstractNpcAI
{
// NPCs
private static final int LUDERIC = 33575;
// Misc
private static final NpcStringId[] LUDERIC_SHOUT =
{
NpcStringId.THERE_IS_A_DAY_WHERE_YOU_CAN_SEE_EVEN_THE_ADEN_CONTINENT_IF_THE_WEATHER_IS_GOOD,
NpcStringId.IF_I_M_HERE_IT_FEELS_LIKE_TIME_HAS_STOPPED
};
private Luderic()
{
super(Luderic.class.getSimpleName(), "ai/individual");
addSpawnId(LUDERIC);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, LUDERIC_SHOUT[getRandom(2)], 1000);
}
else if (event.equals("SOCIAL_ACTION") && (npc != null))
{
npc.broadcastSocialAction(1);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 7000, npc, null, true);
startQuestTimer("SOCIAL_ACTION", 3000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Luderic();
}
}

View File

@@ -1,69 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Lumi AI.
* @author Gladicek
*/
final class Lumi extends AbstractNpcAI
{
// NPCs
private static final int LUMI = 33025;
// Misc
private static final NpcStringId[] LUMI_SHOUT =
{
NpcStringId.TO_YOUR_RIGHT_THE_ADMINISTRATIVE_DISTRICT_AND_TO_THE_LEFT_IS_THE_MUSEUM,
NpcStringId.WHEN_YOU_USE_THE_TELEPORTER_YOU_CAN_GO_TO_THE_RUINS_OF_YE_SAGIRA,
NpcStringId.HAVE_YOU_BEEN_TO_RUINS_OF_YE_SAGIRA_YOU_HAVE_TO_GO_AT_LEAST_ONCE,
};
private Lumi()
{
super(Lumi.class.getSimpleName(), "ai/individual");
addSpawnId(LUMI);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, LUMI_SHOUT[getRandom(3)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 8000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Lumi();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Mahram AI.
* @author St3eT
*/
final class Mahram extends AbstractNpcAI
{
// NPCs
private static final int MAHRAM = 33271;
private Mahram()
{
super(Mahram.class.getSimpleName(), "ai/individual");
addSpawnId(MAHRAM);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ALCHEMY_IS_A_SCIENCE_AND_AN_ART, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 10000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Mahram();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Mai AI.
* @author Gladicek
*/
final class Mai extends AbstractNpcAI
{
// NPCs
private static final int MAI = 33238;
private Mai()
{
super(Mai.class.getSimpleName(), "ai/individual");
addSpawnId(MAI);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.EVERY_RACE_BUILT_A_PIECE_OF_THIS_VILLAGE, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 15000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Mai();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Marin Smith AI.
* @author Gladicek
*/
final class MarinSmith extends AbstractNpcAI
{
// NPCs
private static final int MARIN_SMITH = 33285;
private MarinSmith()
{
super(MarinSmith.class.getSimpleName(), "ai/individual");
addSpawnId(MARIN_SMITH);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HMM_IS_THIS_STILL_A_DECENT_WEAPON, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 6000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new MarinSmith();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Oris AI.
* @author Gladicek
*/
final class Oris extends AbstractNpcAI
{
// NPCs
private static final int ORIS = 33116;
private Oris()
{
super(Oris.class.getSimpleName(), "ai/individual");
addSpawnId(ORIS);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_HAVEN_T_FELT_THIS_GOOD_IN_AGES, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 10000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Oris();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Shannon AI.
* @author St3eT
*/
final class Shannon extends AbstractNpcAI
{
// NPCs
private static final int SHANNON = 32974;
private Shannon()
{
super(Shannon.class.getSimpleName(), "ai/individual");
addSpawnId(SHANNON);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LOOK_AT_ALL_THE_NEWBIES_HA_HA_HA, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 12000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Shannon();
}
}

View File

@@ -1,68 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Sodian AI.
* @author Gladicek
*/
final class Sodian extends AbstractNpcAI
{
// NPCs
private static final int SODIAN = 33229;
// Misc
private static final NpcStringId[] SODIAN_SHOUT =
{
NpcStringId.COME_BROWSE_OUR_INVENTORY,
NpcStringId.INCREDIBLE_WEAPONS_FOR_SALE
};
private Sodian()
{
super(Sodian.class.getSimpleName(), "ai/individual");
addSpawnId(SODIAN);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, SODIAN_SHOUT[getRandom(2)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 8000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Sodian();
}
}

View File

@@ -1,68 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Stiller AI.
* @author Gladicek
*/
final class Stiller extends AbstractNpcAI
{
// NPCs
private static final int STILLER = 33125;
// Misc
private static final NpcStringId[] STILLER_SHOUT =
{
NpcStringId.HEY_DID_YOU_SPEAK_WITH_PANTHEON,
NpcStringId.EVERYONE_NEEDS_TO_MEET_PANTHEON_FIRST_BEFORE_HUNTING
};
private Stiller()
{
super(Stiller.class.getSimpleName(), "ai/individual");
addSpawnId(STILLER);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, STILLER_SHOUT[getRandom(2)], 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 10000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Stiller();
}
}

View File

@@ -1,62 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Theodore AI.
* @author Gladicek
*/
final class Theodore extends AbstractNpcAI
{
// NPC
private static final int THEODORE = 32975;
private Theodore()
{
super(Theodore.class.getSimpleName(), "ai/individual");
addSpawnId(THEODORE);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.AND_NOW_YOUR_JOURNEY_BEGINS, 1000);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 12000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Theodore();
}
}

View File

@@ -1,68 +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.individual;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.NpcStringId;
import ai.npc.AbstractNpcAI;
/**
* Guard Soldier AI.
* @author Gladicek
*/
final class TomaJunior extends AbstractNpcAI
{
// NPCs
private static final int TOMA_JUNIOR = 33571;
private TomaJunior()
{
super(GuardSoldier.class.getSimpleName(), "ai/individual");
addSpawnId(TOMA_JUNIOR);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("SPAM_TEXT") && (npc != null))
{
npc.broadcastSocialAction(3);
broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_BEACH_WHERE_RELICS_OF_GIANTS_HAD_FALLEN_HAS_NOW_BECOME_CLEAN, 1000);
}
else if (event.equals("SOCIAL_ACTION") && (npc != null))
{
npc.broadcastSocialAction(6);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("SPAM_TEXT", 9000, npc, null, true);
startQuestTimer("SOCIAL_ACTION", 15000, npc, null, true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new TomaJunior();
}
}

View File

@@ -1,49 +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.individual;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import ai.npc.AbstractNpcAI;
/**
* Training Golem AI.
* @author Gladicek
*/
final class TrainingGolem extends AbstractNpcAI
{
// NPCs
private static final int TRAINING_GOLEM = 27532;
private TrainingGolem()
{
super(TrainingGolem.class.getSimpleName(), "ai/individual");
addSpawnId(TRAINING_GOLEM);
}
@Override
public String onSpawn(L2Npc npc)
{
npc.setIsImmobilized(true);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new TrainingGolem();
}
}

View File

@@ -1,90 +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.individual;
import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2QuestGuardInstance;
import ai.npc.AbstractNpcAI;
/**
* Trainning Soldier AI.
* @author St3eT
*/
final class TrainningSoldier extends AbstractNpcAI
{
// NPCs
private static final int SOLDIER = 33201; // Trainning Soldier
private static final int DUMMY = 33023; // Trainning Dummy
private TrainningSoldier()
{
super(TrainningSoldier.class.getSimpleName(), "ai/individual");
addSeeCreatureId(SOLDIER);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("START_ATTACK") && (npc instanceof L2QuestGuardInstance))
{
final L2QuestGuardInstance soldier = (L2QuestGuardInstance) npc;
//@formatter:off
final L2Npc dummy = (L2Npc) soldier.getKnownList().getKnownCharactersInRadius(150)
.stream()
.filter(L2Object::isNpc)
.filter(obj -> (obj.getId() == DUMMY))
.findFirst()
.orElse(null);
//@formatter:on
if (dummy != null)
{
soldier.reduceCurrentHp(1, dummy, null); // TODO: Find better way for attack
dummy.reduceCurrentHp(1, soldier, null);
soldier.setCanStopAttackByTime(false);
soldier.setCanReturnToSpawnPoint(false);
soldier.setIsInvul(true);
}
else
{
startQuestTimer("START_ATTACK", 250, npc, null);
}
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon)
{
if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK))
{
startQuestTimer("START_ATTACK", 250, npc, null);
}
return super.onSeeCreature(npc, creature, isSummon);
}
public static void main(String[] args)
{
new TrainningSoldier();
}
}