YeSagira rework.
Contributed by Stayway.
This commit is contained in:
parent
dd0f015208
commit
1b30e2f7b9
40
trunk/dist/game/data/Routes.xml
vendored
40
trunk/dist/game/data/Routes.xml
vendored
@ -1482,4 +1482,44 @@
|
||||
<point X="-75246" Y="168848" Z="-3680" delay="0" run="false" />
|
||||
<point X="-75108" Y="169969" Z="-3680" delay="0" run="false" />
|
||||
</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>
|
1
trunk/dist/game/data/scripts.cfg
vendored
1
trunk/dist/game/data/scripts.cfg
vendored
@ -141,6 +141,7 @@ ai/group_template/StakatoNest.java
|
||||
ai/group_template/SummonPc.java
|
||||
ai/group_template/TurekOrcs.java
|
||||
ai/group_template/WarriorFishingBlock.java
|
||||
ai/group_template/YeSagira.java
|
||||
|
||||
# Individual
|
||||
ai/individual/Antharas/Antharas.java
|
||||
|
91
trunk/dist/game/data/scripts/ai/group_template/YeSagira.java
vendored
Normal file
91
trunk/dist/game/data/scripts/ai/group_template/YeSagira.java
vendored
Normal 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();
|
||||
}
|
||||
}
|
24
trunk/dist/game/data/stats/npcs/19100-19199.xml
vendored
24
trunk/dist/game/data/stats/npcs/19100-19199.xml
vendored
@ -1264,12 +1264,11 @@
|
||||
<height normal="22.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19152" level="10" type="L2Npc" name="Combat Soldier">
|
||||
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
|
||||
<npc id="19152" level="10" type="L2Monster" name="Combat Soldier">
|
||||
<race>HUMAN</race>
|
||||
<stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" -->
|
||||
<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" />
|
||||
<attribute>
|
||||
<defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" />
|
||||
@ -1280,21 +1279,25 @@
|
||||
</speed>
|
||||
<hit_time>334</hit_time>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" targetable="false" />
|
||||
<skill_list>
|
||||
<skill id="4416" level="14" />
|
||||
</skill_list>
|
||||
<ai type="BALANCED" aggroRange="500" clanHelpRange="500" isAggressive="false">
|
||||
<clan_list>
|
||||
<clan>SAGIRA</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<collision>
|
||||
<radius normal="8" />
|
||||
<height normal="24" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="19153" level="10" type="L2Npc" name="Combat Soldier">
|
||||
<!-- Source http://l2i-god.gaikotsu.ru/ (Lindvior) -->
|
||||
<npc id="19153" level="10" type="L2Monster" name="Combat Soldier">
|
||||
<race>HUMAN</race>
|
||||
<stats> <!-- str="79" int="34" dex="42" wit="66" con="75" men="12" -->
|
||||
<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" />
|
||||
<attribute>
|
||||
<defence fire="120" water="120" wind="120" earth="120" holy="120" dark="120" />
|
||||
@ -1305,10 +1308,15 @@
|
||||
</speed>
|
||||
<hit_time>334</hit_time>
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" talkable="false" targetable="false" />
|
||||
<skill_list>
|
||||
<skill id="4416" level="14" />
|
||||
</skill_list>
|
||||
<ai type="BALANCED" aggroRange="500" clanHelpRange="500" isAggressive="false">
|
||||
<clan_list>
|
||||
<clan>SAGIRA</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<collision>
|
||||
<radius normal="12" />
|
||||
<height normal="25" />
|
||||
|
10
trunk/dist/tools/sql/game/spawnlist.sql
vendored
10
trunk/dist/tools/sql/game/spawnlist.sql
vendored
@ -53966,3 +53966,13 @@ INSERT INTO `spawnlist` VALUES
|
||||
INSERT INTO `spawnlist` VALUES
|
||||
('', 1, 33177, -41021, 122823, -2916, 0, 0, 32767, 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);
|
||||
|
Loading…
Reference in New Issue
Block a user