YeSagira rework.

Contributed by Stayway.
This commit is contained in:
MobiusDev 2015-08-06 21:15:07 +00:00
parent dd0f015208
commit 1b30e2f7b9
5 changed files with 158 additions and 8 deletions

View File

@ -1482,4 +1482,44 @@
<point X="-75246" Y="168848" Z="-3680" delay="0" run="false" /> <point X="-75246" Y="168848" Z="-3680" delay="0" run="false" />
<point X="-75108" Y="169969" Z="-3680" delay="0" run="false" /> <point X="-75108" Y="169969" Z="-3680" delay="0" run="false" />
</route> </route>
<!-- YeSagira - Guard 1 -->
<route name="YeS_1" repeat="true" repeatStyle="conveyor">
<target id="33018" spawnX="-115105" spawnY="237378" spawnZ="-3089" />
<point X="-115428" Y="236690" Z="-3089" delay="1" run="true" />
<point X="-115545" Y="236003" Z="-3089" delay="0" run="true" />
<point X="-114689" Y="235415" Z="-3089" delay="2" run="true" />
<point X="-114203" Y="235531" Z="-3089" delay="0" run="true" />
<point X="-113715" Y="236304" Z="-3044" delay="1" run="true" />
<point X="-113667" Y="236689" Z="-3044" delay="2" run="true" />
</route>
<!-- YeSagira - Guard 2 -->
<route name="YeS_2" repeat="true" repeatStyle="conveyor">
<target id="33018" spawnX="-115169" spawnY="237486" spawnZ="-3089" />
<point X="-115430" Y="236690" Z="-3089" delay="0" run="true" />
<point X="-115545" Y="236003" Z="-3089" delay="0" run="true" />
<point X="-114692" Y="235415" Z="-3089" delay="1" run="true" />
<point X="-114203" Y="235531" Z="-3089" delay="0" run="true" />
<point X="-113715" Y="236304" Z="-3044" delay="0" run="true" />
<point X="-113667" Y="236689" Z="-3044" delay="2" run="true" />
</route>
<!-- YeSagira - Guard 3 -->
<route name="YeS_3" repeat="true" repeatStyle="conveyor">
<target id="33018" spawnX="-115175" spawnY="237373" spawnZ="-3089" />
<point X="-115440" Y="236694" Z="-3089" delay="2" run="true" />
<point X="-115547" Y="236004" Z="-3089" delay="1" run="true" />
<point X="-114692" Y="235415" Z="-3089" delay="0" run="true" />
<point X="-114205" Y="235530" Z="-3089" delay="0" run="true" />
<point X="-113714" Y="236304" Z="-3044" delay="1" run="true" />
<point X="-113669" Y="236689" Z="-3044" delay="3" run="true" />
</route>
<!-- YeSagira - Guard 4 -->
<route name="YeS_4" repeat="true" repeatStyle="conveyor">
<target id="33018" spawnX="-115202" spawnY="237414" spawnZ="-3089" />
<point X="-115440" Y="236694" Z="-3089" delay="1" run="true" />
<point X="-115548" Y="236004" Z="-3089" delay="1" run="true" />
<point X="-114691" Y="235415" Z="-3089" delay="1" run="true" />
<point X="-114205" Y="235530" Z="-3089" delay="0" run="true" />
<point X="-113715" Y="236304" Z="-3044" delay="1" run="true" />
<point X="-113670" Y="236689" Z="-3044" delay="0" run="true" />
</route>
</routes> </routes>

View File

@ -141,6 +141,7 @@ ai/group_template/StakatoNest.java
ai/group_template/SummonPc.java ai/group_template/SummonPc.java
ai/group_template/TurekOrcs.java ai/group_template/TurekOrcs.java
ai/group_template/WarriorFishingBlock.java ai/group_template/WarriorFishingBlock.java
ai/group_template/YeSagira.java
# Individual # Individual
ai/individual/Antharas/Antharas.java ai/individual/Antharas/Antharas.java

View File

@ -0,0 +1,91 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ai.group_template;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
/**
* YeSagira AI.
* @author Stayway
*/
public class YeSagira extends AbstractNpcAI
{
// Npcs
private static final int STALKER = 22992;
private static final int CRITTER = 22993;
private static final int CRAWLER = 22991;
private static final int KRAPHER = 22996;
private static final int AVIAN = 22994;
private static final int EYESAROCH = 23112;
private static final int GUARD_1 = 19152;
private static final int GUARD_2 = 19153;
public YeSagira()
{
super(YeSagira.class.getSimpleName(), "ai/group_template");
addSpawnId(GUARD_1, GUARD_2);
addSpawnId(STALKER, CRAWLER);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("GUARD_AGGRO") && (npc != null) && !npc.isDead())
{
for (L2Character nearby : npc.getKnownList().getKnownCharactersInRadius(npc.getAggroRange()))
{
if (npc.isInCombat())
{
break;
}
if (nearby.isMonster() && ((nearby.getId() == STALKER) || (nearby.getId() == EYESAROCH) || (nearby.getId() == CRITTER) || (nearby.getId() == AVIAN) || (nearby.getId() == KRAPHER) || (nearby.getId() == CRAWLER)))
{
((L2MonsterInstance) npc).addDamage(nearby, 1, null);
break;
}
}
startQuestTimer("GUARD_AGGRO", 10000, npc, null);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
if ((npc.getId() == GUARD_1) || (npc.getId() == GUARD_2))
{
startQuestTimer("GUARD_AGGRO", 5000, npc, null);
}
else
{
npc.setState(1);
}
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new YeSagira();
}
}

View File

@ -1264,12 +1264,11 @@
<height normal="22.5" /> <height normal="22.5" />
</collision> </collision>
</npc> </npc>
<npc id="19152" level="10" type="L2Npc" name="Combat Soldier"> <npc id="19152" level="10" type="L2Monster" name="Combat Soldier">
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
<race>HUMAN</race> <race>HUMAN</race>
<stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" --> <stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" -->
<vitals hp="258" hpRegen="7.5" mp="258" mpRegen="2.7" /> <vitals hp="258" hpRegen="7.5" mp="258" mpRegen="2.7" />
<attack physical="120" magical="663" random="30" critical="4" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" /> <attack physical="40" magical="663" random="30" critical="4" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="341" magical="250" /> <defence physical="341" magical="250" />
<attribute> <attribute>
<defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" /> <defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" />
@ -1280,21 +1279,25 @@
</speed> </speed>
<hit_time>334</hit_time> <hit_time>334</hit_time>
</stats> </stats>
<status attackable="false" /> <status attackable="false" talkable="false" targetable="false" />
<skill_list> <skill_list>
<skill id="4416" level="14" /> <skill id="4416" level="14" />
</skill_list> </skill_list>
<ai type="BALANCED" aggroRange="500" clanHelpRange="500" isAggressive="false">
<clan_list>
<clan>SAGIRA</clan>
</clan_list>
</ai>
<collision> <collision>
<radius normal="8" /> <radius normal="8" />
<height normal="24" /> <height normal="24" />
</collision> </collision>
</npc> </npc>
<npc id="19153" level="10" type="L2Npc" name="Combat Soldier"> <npc id="19153" level="10" type="L2Monster" name="Combat Soldier">
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
<race>HUMAN</race> <race>HUMAN</race>
<stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" --> <stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" -->
<vitals hp="258" hpRegen="7.5" mp="258" mpRegen="2.7" /> <vitals hp="258" hpRegen="7.5" mp="258" mpRegen="2.7" />
<attack physical="120" magical="663" random="30" critical="4" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" /> <attack physical="40" magical="663" random="30" critical="2" accuracy="4.75" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="341" magical="250" /> <defence physical="341" magical="250" />
<attribute> <attribute>
<defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" /> <defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" />
@ -1305,10 +1308,15 @@
</speed> </speed>
<hit_time>334</hit_time> <hit_time>334</hit_time>
</stats> </stats>
<status attackable="false" /> <status attackable="false" talkable="false" targetable="false" />
<skill_list> <skill_list>
<skill id="4416" level="14" /> <skill id="4416" level="14" />
</skill_list> </skill_list>
<ai type="BALANCED" aggroRange="500" clanHelpRange="500" isAggressive="false">
<clan_list>
<clan>SAGIRA</clan>
</clan_list>
</ai>
<collision> <collision>
<radius normal="12" /> <radius normal="12" />
<height normal="25" /> <height normal="25" />

View File

@ -53966,3 +53966,13 @@ INSERT INTO `spawnlist` VALUES
INSERT INTO `spawnlist` VALUES INSERT INTO `spawnlist` VALUES
('', 1, 33177, -41021, 122823, -2916, 0, 0, 32767, 60, 0, 0, 0), ('', 1, 33177, -41021, 122823, -2916, 0, 0, 32767, 60, 0, 0, 0),
('', 1, 33509, -46101, 109354, -3813, 0, 0, 20352, 60, 0, 0, 0); ('', 1, 33509, -46101, 109354, -3813, 0, 0, 20352, 60, 0, 0, 0);
-- Guards for YeSagira routes
INSERT INTO `spawnlist` VALUES
('', 1, 33018, -115202, 237414, -3089, 0, 0, 41456, 60, 0, 0, 0),
('', 1, 33018, -115175, 237373, -3089, 0, 0, 35323, 60, 0, 0, 0),
('', 1, 33018, -115169, 237486, -3089, 0, 0, 36885, 60, 0, 0, 0),
('', 1, 33018, -115105, 237378, -3089, 0, 0, 38112, 60, 0, 0, 0);
INSERT INTO `spawnlist` VALUES
('', 1, 30004, -109718, 237573, -2965, 0, 0, 62980, 60, 0, 0, 0);