Devianne AI.

Contributed by hlwrave.
This commit is contained in:
MobiusDev 2016-02-16 13:32:33 +00:00
parent cfc911e3c9
commit 9422c17465
4 changed files with 91 additions and 3 deletions

View File

@ -8219,7 +8219,7 @@ INSERT INTO `spawnlist` VALUES
("Atelia Fortress", 1, 23539, -55740, 52390, -2179, 0, 0, 0, 60, 0, 0, 0),
("Atelia Fortress", 1, 23539, -54373, 52365, -2179, 0, 0, 0, 60, 0, 0, 0),
-- Burnstein
("Atelia Fortress", 1, 23587, -44089, 43017, -1388, 0, 0, 24393, 60, 0, 0, 0),
("Atelia Fortress", 1, 23587, -44089, 43017, -1388, 0, 0, 24393, 3600, 0, 0, 0),
-- Hummel
("Atelia Fortress", 1, 23588, -48157, 55441, -3160, 0, 0, 13924, 60, 0, 0, 0),
("Atelia Fortress", 1, 23588, -54959, 52312, -2161, 0, 0, 26850, 60, 0, 0, 0),
@ -8247,8 +8247,7 @@ INSERT INTO `spawnlist` VALUES
("Atelia Fortress", 1, 33583, -47243, 48545, -2408, 0, 0, 26892, 60, 0, 0, 0),
-- Teleport Device
("Atelia Castle", 1, 34052, -55805, 56157, -1921, 0, 0, 55746, 60, 0, 0, 0),
-- Devianne
("Atelia Fortress", 1, 34089, -50063, 49439, -1760, 0, 0, 40362, 60, 0, 0, 0),
-- Embryo Supply Box
("Atelia Fortress", 1, 34137, -47475, 56483, -3192, 0, 0, 0, 60, 0, 0, 0),
("Atelia Fortress", 1, 34137, -46903, 59349, -3184, 0, 0, 0, 60, 0, 0, 0),
@ -49709,3 +49708,11 @@ INSERT INTO `spawnlist` VALUES
-- Isle of The Souls Harbor
INSERT INTO `spawnlist` VALUES ('Stronghold III', 1, 33796, -85919, 37167, -2048, 0, 0, 48000, 60, 0, 0, 0); -- Verda
-- Altar of Sacrifice
INSERT INTO `spawnlist` VALUES
('Altar of Sacrifice', 1, 33813, 48445, -30210, -1680, 0, 0, 48000, 60, 0, 0, 0),
('Altar of Sacrifice', 1, 19478, 48402, -30105, -1680, 0, 0, 48000, 60, 0, 0, 0),
('Altar of Sacrifice', 1, 33887, 48227, -30305, -1680, 0, 0, 48000, 60, 0, 0, 0),
('Altar of Sacrifice', 1, 33812, 48471, -30182, -1680, 0, 0, 48000, 60, 0, 0, 0),
('Altar of Sacrifice', 1, 33881, 48319, -30204, -1680, 0, 0, 48000, 60, 0, 0, 0);

View File

@ -0,0 +1,6 @@
<html><body>Rune Castle Patrol Kato:<br>
Dire times dictated that I come myself from Rune Castle to help those in need here.<br>
What do you need?<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h Quest PreludeToLindvior request_lindvior">"I want to test my strength against Lindvior."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h talk_select">Quest</Button>
</body></html>

View File

@ -103,6 +103,9 @@ ai/npc/WeaverOlf/WeaverOlf.java
ai/npc/WyvernManager/WyvernManager.java
ai/npc/Zenya/Zenya.java
# Atelia Fortess
ai/atelia_fortess/Devianne.java
# Fantasy Isle
ai/fantasy_isle/MC_Show.java
ai/fantasy_isle/HandysBlockCheckerEvent.java

View File

@ -0,0 +1,72 @@
/*
* 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.atelia_fortess;
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;
/**
* Devianne AI.
* @author hlwrave
* @URL https://l2wiki.com/Atelia_Fortress
*/
final class Devianne extends AbstractNpcAI
{
// NPCs
private static final int BURNSTAIN = 23587;
private static final int DEVIANNE = 34089;
// Location
private static final Location DEVIANNE_LOC = new Location(-50063, 49439, -1760, 40362);
// Other
private static final int DESPAWN = 3600000; // Time 1 Hour
private Devianne()
{
super(Devianne.class.getSimpleName(), "ai/atelia_fortess");
addKillId(BURNSTAIN);
addSpawnId(DEVIANNE);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("devianne_despawn"))
{
if (npc != null)
{
npc.deleteMe();
}
}
return event;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final L2Npc devianne = addSpawn(DEVIANNE, DEVIANNE_LOC);
startQuestTimer("devianne_despawn", DESPAWN, devianne, null);
return super.onKill(npc, killer, isSummon);
}
public static void main(String[] args)
{
new Devianne();
}
}