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="-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>
|
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/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
|
||||||
|
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" />
|
<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" />
|
||||||
|
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
|
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user