From fdafe7447e767fa439fa25a48e00fb2e744804ea Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 27 Mar 2016 11:42:08 +0000 Subject: [PATCH] Atelia status AI. Contributed by hlwrave. --- .../dist/db_installer/sql/game/spawnlist.sql | 101 +-- trunk/dist/game/data/buylists/3407700.xml | 112 +++ trunk/dist/game/data/html/default/33583-1.htm | 5 + trunk/dist/game/data/html/default/33583.htm | 16 + trunk/dist/game/data/multisell/003.xml | 1 + trunk/dist/game/data/multisell/2072.xml | 1 + trunk/dist/game/data/multisell/787.xml | 1 + trunk/dist/game/data/multisell/829.xml | 1 + trunk/dist/game/data/multisell/859.xml | 1 + trunk/dist/game/data/multisell/867.xml | 1 + trunk/dist/game/data/multisell/869.xml | 1 + trunk/dist/game/data/scripts.cfg | 3 +- .../atelia_fortess/AteliaStatus/34059-1.htm | 8 + .../atelia_fortess/AteliaStatus/34059-2.htm | 6 + .../atelia_fortess/AteliaStatus/34060-1.htm | 8 + .../atelia_fortess/AteliaStatus/34060-2.htm | 6 + .../atelia_fortess/AteliaStatus/34061-1.htm | 7 + .../atelia_fortess/AteliaStatus/34061-2.htm | 7 + .../atelia_fortess/AteliaStatus/34062-1.htm | 9 + .../atelia_fortess/AteliaStatus/34062-2.htm | 7 + .../atelia_fortess/AteliaStatus/34063-1.htm | 6 + .../atelia_fortess/AteliaStatus/34063-2.htm | 7 + .../atelia_fortess/AteliaStatus/34064-1.htm | 5 + .../atelia_fortess/AteliaStatus/34064-2.htm | 6 + .../atelia_fortess/AteliaStatus/34065-1.htm | 5 + .../atelia_fortess/AteliaStatus/34065-2.htm | 6 + .../atelia_fortess/AteliaStatus/34066-1.htm | 5 + .../atelia_fortess/AteliaStatus/34066-2.htm | 7 + .../atelia_fortess/AteliaStatus/34074-1.htm | 8 + .../atelia_fortess/AteliaStatus/34074-2.htm | 7 + .../atelia_fortess/AteliaStatus/34074-3.htm | 7 + .../atelia_fortess/AteliaStatus/34075-1.htm | 8 + .../atelia_fortess/AteliaStatus/34075-2.htm | 7 + .../atelia_fortess/AteliaStatus/34075-3.htm | 7 + .../atelia_fortess/AteliaStatus/34076-1.htm | 7 + .../atelia_fortess/AteliaStatus/34077-1.htm | 6 + .../AteliaStatus/AteliaStatus.java | 751 ++++++++++++++++++ .../game/data/stats/items/46100-46199.xml | 28 + .../dist/game/data/stats/npcs/19500-19599.xml | 16 + .../dist/game/data/stats/npcs/23500-23599.xml | 134 +++- .../dist/game/data/stats/npcs/23600-23699.xml | 143 +++- .../dist/game/data/stats/npcs/34000-34099.xml | 28 +- .../game/data/stats/skills/13800-13899.xml | 92 ++- .../game/data/stats/skills/16500-16599.xml | 34 +- .../game/data/stats/skills/23600-23699.xml | 34 +- .../l2jmobius/gameserver/model/L2Spawn.java | 10 + 46 files changed, 1522 insertions(+), 154 deletions(-) create mode 100644 trunk/dist/game/data/buylists/3407700.xml create mode 100644 trunk/dist/game/data/html/default/33583-1.htm create mode 100644 trunk/dist/game/data/html/default/33583.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm create mode 100644 trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java diff --git a/trunk/dist/db_installer/sql/game/spawnlist.sql b/trunk/dist/db_installer/sql/game/spawnlist.sql index 6bb7b9eb8a..885ed6a923 100644 --- a/trunk/dist/db_installer/sql/game/spawnlist.sql +++ b/trunk/dist/db_installer/sql/game/spawnlist.sql @@ -6681,6 +6681,8 @@ INSERT INTO `spawnlist` VALUES ("gludio34_1722_04", 1, 20017, -69501, 160029, -3130, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -69401, 159139, -2804, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -67750, 162311, -3613, 0, 0, 5587, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -75475, 163051, -3417, 0, 0, 12225, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -72579, 162741, -3623, 0, 0, 8330, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73497, 161882, -3411, 0, 0, 5111, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -74678, 158947, -2907, 0, 0, 56053, 21, 0, 0, 0), -- Langk Lizardman @@ -6700,6 +6702,8 @@ INSERT INTO `spawnlist` VALUES ("oren25_1820_01", 1, 20038, -71697, 163312, -3550, 0, 0, 45876, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -65755, 162618, -3695, 0, 0, 63110, 20, 0, 0, 0); INSERT INTO `spawnlist` VALUES +-- Arachnid Tracker +("oren25_1820_14s", 1, 20043, -74050, 163262, -3593, 0, 0, 45252, 20, 0, 0, 0), -- Plain Grizzly ("gludio33_1721_06", 1, 21098, -80989, 131108, -3626, 0, 0, 19787, 25, 0, 0, 0), ("gludio33_1721_06", 1, 21098, -80067, 134153, -3261, 0, 0, 8423, 25, 0, 0, 0), @@ -6885,22 +6889,33 @@ INSERT INTO `spawnlist` VALUES -- Vuku Orc Warrior ("gludio34_1722_04", 1, 20017, -74565, 166708, -3695, 0, 0, 41717, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -75813, 166985, -3602, 0, 0, 13975, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -74779, 164316, -3588, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -75181, 165028, -35924, 0, 0, 0, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -74578, 163960, -3586, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -71834, 169851, -3678, 0, 0, 46214, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -70068, 166041, -3631, 0, 0, 33805, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -71479, 164878, -3588, 0, 0, 0, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -70879, 164139, -3475, 0, 0, 2450, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73303, 169251, -3532, 0, 0, 6612, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -70941, 171515, -3675, 0, 0, 10838, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -72094, 166238, -3686, 0, 0, 56553, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73891, 169834, -3487, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73892, 167698, -3664, 0, 0, 0, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -76734, 169397, -3714, 0, 0, 37483, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -74093, 168054, -3593, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73189, 168232, -3687, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -67270, 173094, -3617, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -67572, 173272, -3617, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -69660, 169646, -3600, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -69515, 167013, -3617, 0, 0, 45900, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -68131, 164862, -3686, 0, 0, 59227, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -69614, 164342, -3608, 0, 0, 0, 21, 0, 0, 0), +("gludio34_1722_04", 1, 20017, -72948, 165515, -3719, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_04", 1, 20017, -73452, 166049, -3730, 0, 0, 0, 21, 0, 0, 0), -- Langk Lizardman ("gludio34_1722_01", 1, 20030, -80652, 165584, -3072, 0, 0, 13749, 21, 0, 0, 0), +("gludio34_1722_01", 1, 20030, -77564, 166914, -3728, 0, 0, 28723, 21, 0, 0, 0), ("gludio34_1722_01", 1, 20030, -67975, 172916, -3608, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_01", 1, 20030, -67371, 172916, -3609, 0, 0, 0, 21, 0, 0, 0), ("gludio34_1722_01", 1, 20030, -69761, 168756, -3578, 0, 0, 0, 21, 0, 0, 0), @@ -6911,10 +6926,20 @@ INSERT INTO `spawnlist` VALUES ("gludio34_1722_01", 1, 20030, -80281, 164284, -3262, 0, 0, 16078, 21, 0, 0, 0), ("gludio34_1722_01", 1, 20030, -78600, 166752, -3483, 0, 0, 15215, 21, 0, 0, 0), -- Giant Venomous Spider +("oren25_1820_01", 1, 20038, -74678, 164850, -3647, 0, 0, 0, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -73476, 165084, -3721, 0, 0, 47247, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -78321, 165606, -3699, 0, 0, 32633, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -76642, 165247, -3576, 0, 0, 52938, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -72385, 164700, -3663, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -71882, 164878, -3650, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -71882, 164166, -3588, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -71878, 168697, -3682, 0, 0, 62117, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -73328, 166706, -3721, 0, 0, 65147, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -72284, 167730, -3712, 0, 0, 27332, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -73993, 167876, -3638, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -76234, 168135, -3692, 0, 0, 23857, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -68417, 164204, -3678, 0, 0, 52524, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -69714, 164876, -3649, 0, 0, 0, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -66626, 175110, -3719, 0, 0, 61545, 20, 0, 0, 0), ("oren25_1820_01", 1, 20038, -65928, 177221, -3440, 0, 0, 8192, 20, 0, 0, 0), ("Windmill Hill", 1, 20038, -69716, 169342, -3485, 0, 0, 10212, 60, 0, 0, 0), @@ -6927,6 +6952,7 @@ INSERT INTO `spawnlist` VALUES ("Windmill Hill", 1, 20043, -69195, 169136, -3482, 0, 0, 38811, 60, 0, 0, 0), ("Windmill Hill", 1, 20043, -67328, 171696, -3629, 0, 0, 36783, 60, 0, 0, 0), ("Windmill Hill", 1, 20043, -67035, 171772, -3629, 0, 0, 46572, 60, 0, 0, 0), +("oren25_1820_14s", 1, 20043, -75402, 166261, -3640, 0, 0, 20561, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -71205, 166715, -3605, 0, 0, 25852, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -70894, 167511, -3564, 0, 0, 58223, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -78418, 167720, -3487, 0, 0, 29255, 20, 0, 0, 0), @@ -6936,6 +6962,8 @@ INSERT INTO `spawnlist` VALUES ("oren25_1820_14s", 1, 20043, -69165, 179355, -3689, 0, 0, 33151, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -73232, 174816, -3673, 0, 0, 29464, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -75000, 171985, -3680, 0, 0, 50412, 20, 0, 0, 0), +("oren25_1820_14s", 1, 20043, -72646, 165693, -3713, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_14s", 1, 20043, -66925, 164395, -3704, 0, 0, 58791, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -70541, 170542, -3720, 0, 0, 32601, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -72775, 170782, -3507, 0, 0, 27366, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -67271, 167544, -3538, 0, 0, 57896, 20, 0, 0, 0), @@ -8176,39 +8204,20 @@ INSERT INTO `spawnlist` VALUES ("Atelia Fortress", 1, 23512, -45704, 43750, -1488, 0, 0, 31859, 60, 0, 0, 0), ("Atelia Fortress", 1, 23512, -45922, 43169, -1488, 0, 0, 9671, 60, 0, 0, 0), -- Atelia Elite Captain -("Atelia Fortress", 1, 23537, -41839, 50506, -2032, 0, 0, 14557, 60, 0, 0, 0), -("Atelia Fortress", 1, 23537, -45673, 59241, -2907, 0, 0, 51316, 60, 0, 0, 0), +("Atelia Fortress", 1, 23537, -41839, 50506, -2032, 0, 0, 14557, 1800, 0, 0, 0), +("Atelia Fortress", 1, 23537, -45673, 59241, -2907, 0, 0, 51316, 1800, 0, 0, 0), -- Atelia High Priest -("Atelia Fortress", 1, 23538, -44337, 40246, -1416, 0, 0, 9439, 60, 0, 0, 0), -("Atelia Fortress", 1, 23538, -58443, 44039, -1552, 0, 0, 52354, 60, 0, 0, 0), +("Atelia Fortress", 1, 23538, -44337, 40246, -1416, 0, 0, 9439, 1800, 0, 0, 0), +("Atelia Fortress", 1, 23538, -58443, 44039, -1552, 0, 0, 52354, 1800, 0, 0, 0), -- Atelia Trial Guardian Captain ("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, 3600, 0, 0, 0), +("Atelia Fortress", 1, 23587, -44089, 43017, -1388, 0, 0, 24393, 21600, 0, 0, 0), +-- Geork +("Atelia Fortress", 1, 23586, -47161, 48642, -2400, 0, 0, 40340, 10800, 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), -("Atelia Fortress", 1, 23588, -55342, 52072, -2161, 0, 0, 49151, 60, 0, 0, 0), --- Fortress Spy -("Atelia Fortress", 1, 23589, -41659, 44081, -1448, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -50091, 48822, -1760, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -49263, 50204, -2400, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -48556, 45595, -1768, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -44548, 58729, -2928, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -44636, 45261, -1528, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -45055, 44769, -1544, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -45729, 41010, -1512, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -46178, 49001, -2400, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -46466, 56947, -3184, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -46619, 43794, -1560, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -46814, 50187, -2376, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -47309, 55932, -3184, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -47470, 52576, -2392, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -47503, 58967, -3192, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -47815, 51378, -2400, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -48077, 55335, -3160, 0, 0, 0, 60, 0, 0, 0), -("Atelia Fortress", 1, 23589, -43866, 47379, -2048, 0, 0, 0, 60, 0, 0, 0), +("Atelia Fortress", 1, 23588, -48157, 55441, -3160, 0, 0, 13924, 10800, 0, 0, 0), -- Miny ("Atelia Fortress", 1, 33583, -47243, 48545, -2408, 0, 0, 26892, 60, 0, 0, 0), -- Teleport Device @@ -9048,6 +9057,8 @@ INSERT INTO `spawnlist` VALUES -- [18_22] +-- Giant Venomous Spider +("oren25_1820_01", 1, 20038, -64570, 163147, -3785, 0, 0, 17118, 20, 0, 0, 0), -- Arachnid Tracker ("oren25_1820_14s", 1, 20043, -65331, 160718, -3629, 0, 0, 37447, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -63137, 162561, -3739, 0, 0, 58170, 20, 0, 0, 0), @@ -9294,6 +9305,10 @@ INSERT INTO `spawnlist` VALUES ("Wasteland", 1, 19126, -35841, 191776, -3643, 0, 0, 23977, 60, 0, 0, 0), -- Langk Lizardman Scout ("gludio22_1824_01", 1, 20027, -52558, 195892, -3703, 0, 0, 41558, 20, 0, 0, 0), +-- Giant Venomous Spider +("oren25_1820_01", 1, 20038, -64272, 165493, -3723, 0, 0, 16406, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -65029, 164604, -3724, 0, 0, 0, 20, 0, 0, 0), +("oren25_1820_01", 1, 20038, -64774, 174821, -3788, 0, 0, 0, 20, 0, 0, 0), -- Arachnid Tracker ("oren25_1820_14s", 1, 20043, -62869, 165074, -3723, 0, 0, 23964, 20, 0, 0, 0), ("oren25_1820_14s", 1, 20043, -64689, 167803, -3702, 0, 0, 46115, 20, 0, 0, 0), @@ -48300,7 +48315,7 @@ INSERT INTO `spawnlist` VALUES -- Rizraell ("Arcan", 1, 30361, 204997, 88138, -1000, 0, 0, 4347, 60, 0, 0, 0), -- Nerupa -('Arcan', 1, 30370, 215654, 80868, 826, 0, 0, 38012, 60, 0, 0, 0), +("Fairy Settlement", 0, 30370, 215678, 80911, 826, 0, 0, 38971, 0, 0, 0, 0), -- Kasiel ("Arcan", 1, 31358, 204980, 88166, -1000, 0, 0, 6321, 60, 0, 0, 0), -- Adventure Guildsman @@ -49644,33 +49659,3 @@ INSERT INTO `spawnlist` VALUES ("YeSagiraRuins", 1, 33870, -114075, 227874, -2864, 0, 0, 45119, 60, 0, 0, 0), -- Monk of Chaos ("YeSagiraRuins", 1, 33880, -114008, 227900, -2864, 0, 0, 45119, 60, 0, 0, 0); - --- Langk Lizardman -INSERT INTO `spawnlist` VALUES -('Windmill Hill', '1', '20030', '-74506', '166973', '-3555', '0', '0', '25341', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-74002', '166538', '-3565', '0', '0', '30172', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73982', '166996', '-3538', '0', '0', '457', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73848', '167432', '-3556', '0', '0', '33087', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73643', '167745', '-3560', '0', '0', '10335', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73636', '166445', '-3559', '0', '0', '37678', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73112', '166874', '-3561', '0', '0', '47104', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-73007', '167402', '-3526', '0', '0', '43712', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72911', '168925', '-3558', '0', '0', '36189', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72839', '168157', '-3545', '0', '0', '53871', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72826', '167717', '-3524', '0', '0', '49460', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72684', '168904', '-3549', '0', '0', '33129', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72223', '168920', '-3517', '0', '0', '43046', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-72174', '169956', '-3570', '0', '0', '14539', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-71892', '170032', '-3566', '0', '0', '2745', '60', '0', '0', '0'), -('Windmill Hill', '1', '20030', '-71673', '169741', '-3565', '0', '0', '55881', '60', '0', '0', '0'); - --- Lanya -INSERT INTO `spawnlist` VALUES ('Graden of Eva', '1', '33783', '82627', '241562', '-6719', '0', '0', '15689', '60', '0', '0', '0'); --- Water Source -INSERT INTO `spawnlist` VALUES ('Garden of Eva', '1', '33784', '82663', '252066', '-7649', '0', '0', '50713', '60', '0', '0', '0'); --- Altar of Shilen -INSERT INTO `spawnlist` VALUES ('Dark Elf', '1', '33785', '28993', '11034', '-4232', '0', '0', '32024', '60', '0', '0', '0'); --- Paagrio Temple -INSERT INTO `spawnlist` VALUES ('Orc Village', '1', '33787', '-52081', '-113605', '-86', '0', '0', '2280', '60', '0', '0', '0'); --- Cave of Souls -INSERT INTO `custom_spawnlist` VALUES ('Cave of Souls', '1', '33789', '-122910', '38135', '1434', '0', '0', '63714', '60', '0', '0', '0'); \ No newline at end of file diff --git a/trunk/dist/game/data/buylists/3407700.xml b/trunk/dist/game/data/buylists/3407700.xml new file mode 100644 index 0000000000..dce9cc4d88 --- /dev/null +++ b/trunk/dist/game/data/buylists/3407700.xml @@ -0,0 +1,112 @@ + + + + 34077 + 34076 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33583-1.htm b/trunk/dist/game/data/html/default/33583-1.htm new file mode 100644 index 0000000000..db580ea676 --- /dev/null +++ b/trunk/dist/game/data/html/default/33583-1.htm @@ -0,0 +1,5 @@ +Miny:
+I'm not sure how this could possibly be confusing...
+Junk could be leather, metal, fabric, weapon fragments, armor fragments, accessory gems, cokes, crystals and old fishing materials. Any other questions?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33583.htm b/trunk/dist/game/data/html/default/33583.htm new file mode 100644 index 0000000000..72ac2b971c --- /dev/null +++ b/trunk/dist/game/data/html/default/33583.htm @@ -0,0 +1,16 @@ +Miny:
+Everything has its uses, even junk. +Rebuilding ruins takes all kinds of materials, you know. One's trash is another's treasure, right? Tell you what, you bring me junk and I'll give you a Fortune Treasure Chest. Win for you, win for me...plus a tiny transaction fee.
+You might have some in your inventory right now. Don't you have common materials Lv. 1-3, or some crystals?
+You don't like the pendant option on hair accessories? Then what about sealing it? You can craft a new pendant with a sealed pendant. For more information, talk to any maestro.
+ + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/multisell/003.xml b/trunk/dist/game/data/multisell/003.xml index 7e81e6f227..b7bc96ee6c 100644 --- a/trunk/dist/game/data/multisell/003.xml +++ b/trunk/dist/game/data/multisell/003.xml @@ -29,6 +29,7 @@ 33935 33934 33937 + 34076 diff --git a/trunk/dist/game/data/multisell/2072.xml b/trunk/dist/game/data/multisell/2072.xml index 59afb9a0b8..f258b8798e 100644 --- a/trunk/dist/game/data/multisell/2072.xml +++ b/trunk/dist/game/data/multisell/2072.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/multisell/787.xml b/trunk/dist/game/data/multisell/787.xml index b88aa559ae..2854abf609 100644 --- a/trunk/dist/game/data/multisell/787.xml +++ b/trunk/dist/game/data/multisell/787.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/multisell/829.xml b/trunk/dist/game/data/multisell/829.xml index b19bd1b418..7542726495 100644 --- a/trunk/dist/game/data/multisell/829.xml +++ b/trunk/dist/game/data/multisell/829.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/multisell/859.xml b/trunk/dist/game/data/multisell/859.xml index d4c11958d7..0ba6c2b570 100644 --- a/trunk/dist/game/data/multisell/859.xml +++ b/trunk/dist/game/data/multisell/859.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/multisell/867.xml b/trunk/dist/game/data/multisell/867.xml index 917cc2397e..a5bdd7caaf 100644 --- a/trunk/dist/game/data/multisell/867.xml +++ b/trunk/dist/game/data/multisell/867.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/multisell/869.xml b/trunk/dist/game/data/multisell/869.xml index cf1d9fc95c..a125a27bfb 100644 --- a/trunk/dist/game/data/multisell/869.xml +++ b/trunk/dist/game/data/multisell/869.xml @@ -1,6 +1,7 @@ + 33583 33584 33581 diff --git a/trunk/dist/game/data/scripts.cfg b/trunk/dist/game/data/scripts.cfg index 05a1be1c53..de470f40b8 100644 --- a/trunk/dist/game/data/scripts.cfg +++ b/trunk/dist/game/data/scripts.cfg @@ -105,8 +105,7 @@ ai/npc/WyvernManager/WyvernManager.java ai/npc/Zenya/Zenya.java # Atelia Fortess -ai/atelia_fortess/Devianne.java -ai/atelia_fortess/AteliaDoorGuard.java +ai/atelia_fortess/AteliaStatus/AteliaStatus.java # Fantasy Isle ai/fantasy_isle/MC_Show.java diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm new file mode 100644 index 0000000000..05f0bcc712 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-1.htm @@ -0,0 +1,8 @@ +Aden Vanguard Barton:
+Who are you! Identify yourself!
+Well, you don't look like the enemy. What brings you to this dangerous place?
+Have you come after hearing that the Aden Vanguard has secured strongholds in the Atelia Fortress? What? I wasn't captured. It's called infiltration. Hmph.
+Anyway thanks to you and your friends we were to secure this stronghold, so I should reward you.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm new file mode 100644 index 0000000000..1cede5ae40 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34059-2.htm @@ -0,0 +1,6 @@ +Aden Vanguard Barton:
+Although this place is the closest to the entrance, you still have to face many Embryo on the way here.
+Elikia heard of the situation and made this Teleport Device for us. If you'll be staying for a while, it will be very useful.
+But I heard that it only works for 24 hours, since it's not perfect. Still, you should find it useful.
If you come back tomorrow, I'll prepare a new one for you.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm new file mode 100644 index 0000000000..7f8903c23d --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-1.htm @@ -0,0 +1,8 @@ +Aden Vanguard Hayuk:
+Who are you! Identify yourself!
+Well, you don't look like the enemy. What brings you to this dangerous place?
+Have you come after hearing that the Aden Vanguard has secured strongholds in the Atelia Fortress? What? I wasn't captured. It's called infiltration. Hmph.
+Anyway thanks to you and your friends we were to secure this stronghold, so I should reward you.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm new file mode 100644 index 0000000000..7f96d2d9a4 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34060-2.htm @@ -0,0 +1,6 @@ +Aden Vanguard Hayuk:
+Although this place is the closest to the entrance, you still have to face many Embryo on the way here.
+Elikia heard of the situation and made this Teleport Device for us. If you'll be staying for a while, it will be very useful.
+But I heard that it only works for 24 hours, since it's not perfect. Still, you should find it useful.
If you come back tomorrow, I'll prepare a new one for you.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm new file mode 100644 index 0000000000..09682d5ddc --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-1.htm @@ -0,0 +1,7 @@ +Aden Vanguard Elise:
+Who are you? Oh, you are not the enemy. I'm sorry. This place is just so dangerous...
+What brings you here? I've come to secure this stronghold. I've just been hiding away, since the resistance of the Embryo has gotten worse.
+I know you've helped me here, so I'll reward you for that.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm new file mode 100644 index 0000000000..75015fc4e0 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34061-2.htm @@ -0,0 +1,7 @@ +Aden Vanguard Elise:
+You can use this Teleport Device to teleport near this stronghold. Impressing, right?
+It was made by Elikia. It will be useful if you'll be staying around for a while. Here, take it.
+Elikia did say that the device doesn't last long. He said it lasts for 24 hours...
+But if you come back tomorrow, I'll have another one ready for you.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm new file mode 100644 index 0000000000..9ea4a69331 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-1.htm @@ -0,0 +1,9 @@ +Aden Vanguard Eliyah:
+Who are you? Do you want to experience the wrath of my spirit?
+Hmm... You don't look like the enemy. Be glad. You would've been beat to death by my spirits.
+I'm busy protecting this stronghold. What do you want? I've been taking a break, since the Embryo are so scared of me and have been trying to escape.
+Well, since you helped me regain the stronghold, I'll give you a little something.
+Anyway thanks to you and your friends we were to secure this stronghold, so I should reward you.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm new file mode 100644 index 0000000000..10feb3b166 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34062-2.htm @@ -0,0 +1,7 @@ +Aden Vanguard Eliyah:
+This is a device that lets you teleport to Stronghold IV very easily.
+This was made by Elikia. It will be very useful if you'll be staying here for a while.
+Just remember that the device lasts for 24 hours, since this place is very unstable.
+If you need it again, come back tomorrow. I'll give you a new one.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm new file mode 100644 index 0000000000..2424aa3200 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-1.htm @@ -0,0 +1,6 @@ +Blackbird Clan Member Glenkinchie:
+Who are you? I'm Glenkinchie from the honorable Blackbird clan.
+Those vicious Embryos are up to something in the Atelia Fortress. They are still within our sight, but we are having a hard time infiltrating the Command Post on the 3rd floor.
+But I don't mind working this hard for Leona. Don't you agree?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm new file mode 100644 index 0000000000..b5b0e1e0f4 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34063-2.htm @@ -0,0 +1,7 @@ +Blackbird Clan Member Glenkinchie:
+The Command Post is known to be the place where new soldiers are trained. We don't know what kind of soldiers they are creating, though.
+What we do know is that the gate opens when Burnstein comes out and goes back inside the Command Post. Since the gate rarely opens, it's hard for us to go inside the investigate.
+That's why we asked Devianne for help to hold the gate open.
+The only way we can get inside is by having Devianne, who is hiding near the entrance to the Command Post, hold the gate open when Burnstein goes back inside.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm new file mode 100644 index 0000000000..2d28469a26 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-1.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Hurak:
+I trust Leona, but that doesn't mean I trust everyone easily.
+I can't believe I fell for such a simple trick. You should be careful too. Things are just getting started...
They've even created a command post within the fortress, so we have to put our guard up.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm new file mode 100644 index 0000000000..8d5018c9ec --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34064-2.htm @@ -0,0 +1,6 @@ +Blackbird Clan Member Hurak:
+The Embryo are training their new recruits in the Command Post. +The security is so tight, that going inside is hard in itself.
The one way to go in is when Burnstein comes out and tries to go back inside the Command Post. We have our own method to do that.
+Devianne is hiding near the entrance to the Command Post on the 3rd floor, to hold the gate open whenever Burnstein goes back inside. It should be helpful when you are trying to go inside.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm new file mode 100644 index 0000000000..da81917cdb --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-1.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Laffian:
+I trust Leona, but that doesn't mean I trust everyone easily.
+I can't believe I fell for such a simple trick. You should be careful too. Things are just getting started...
They've even created a command post within the fortress, so we have to put our guard up.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm new file mode 100644 index 0000000000..582cbb31a0 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34065-2.htm @@ -0,0 +1,6 @@ +Blackbird Clan Member Laffian:
+The Embryo are training their new recruits in the Command Post. +The security is so tight, that going inside is hard in itself.
The one way to go in is when Burnstein comes out and tries to go back inside the Command Post. We have our own method to do that.
+Devianne is hiding near the entrance to the Command Post on the 3rd floor, to hold the gate open whenever Burnstein goes back inside. It should be helpful when you are trying to go inside.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm new file mode 100644 index 0000000000..5b6a304568 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-1.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Sherry:
+Oh! Who are you?
This place is dangerous!
+Stay away. The Embryo have built a Command Post and are increasing their power day by day.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm new file mode 100644 index 0000000000..5f12bb489b --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34066-2.htm @@ -0,0 +1,7 @@ +Blackbird Clan Member Sherry:
+The Command Post is on the 3rd floor of the Atelia Fortress. Burnstein is the leader, and it is said that he comes out from time to time to train the new recruits.
+No one knows what's going on inside, and it's very difficult to go inside because you have to hold the gate when Commander Burnstein goes back inside the Command Post from outside.
+Devianne has come all the way here, and is hiding near the entrance to the Command Post, to hold the gate open whenever Burnstein comes and goes back in.
+If you are trying to go inside the Command Post, go find Devianne.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm new file mode 100644 index 0000000000..761806d9eb --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-1.htm @@ -0,0 +1,8 @@ +Warehouse Keeper Julia:
+If you have something precious, leave it with me. I'll keep it safe at all costs.
+Even if this stronghold becomes dangerous, no harm shall be done to your items!
+ + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm new file mode 100644 index 0000000000..1022fa389b --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-2.htm @@ -0,0 +1,7 @@ +Warehouse Keeper Julia:
+
+ +
+ +
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm new file mode 100644 index 0000000000..f2e63c79e6 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34074-3.htm @@ -0,0 +1,7 @@ +Warehouse Keeper Julia:
+
+ + + +
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm new file mode 100644 index 0000000000..a4da5a1af4 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-1.htm @@ -0,0 +1,8 @@ +Warehouse Keeper Saylem:
+Hello! I'm Saylem.
+Do you have any precious freight? Hmm? If you do, then you're in the right place! We, the Steel Door guild, store customer freight for low, low prices! What's more, you can conveniently reclaim the freight anytime, anywhere. Even if this place becomes dangerous, no harm shall be done to your things.
+ + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm new file mode 100644 index 0000000000..74b7319f3b --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-2.htm @@ -0,0 +1,7 @@ +Warehouse Keeper Saylem:
+
+ +
+ +
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm new file mode 100644 index 0000000000..2111cd8f64 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34075-3.htm @@ -0,0 +1,7 @@ +Warehouse Keeper Saylem:
+
+ + + +
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm new file mode 100644 index 0000000000..1661b93b36 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34076-1.htm @@ -0,0 +1,7 @@ +Trader Mion:
+I came to this dangerous place because I thought someone might need my help. If there's anything you need, come to me, okay?
+ + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm new file mode 100644 index 0000000000..7a630c38ce --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/34077-1.htm @@ -0,0 +1,6 @@ +Nika:
+Welcome, welcome. What can I help you find?
+Oh, I've seen you before. You got stuff to do here too? I came because of a request. I'll be here for a while, so come find me any time.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java new file mode 100644 index 0000000000..88f9161cc4 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/atelia_fortess/AteliaStatus/AteliaStatus.java @@ -0,0 +1,751 @@ +/* + * 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 . + */ +package ai.atelia_fortess.AteliaStatus; + +import java.util.ArrayList; + +import com.l2jmobius.gameserver.datatables.SpawnTable; +import com.l2jmobius.gameserver.enums.ChatType; +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.model.L2Spawn; +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.model.holders.SkillHolder; +import com.l2jmobius.gameserver.model.skills.AbnormalType; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.util.Util; + +import ai.npc.AbstractNpcAI; + +/** + * URL https://l2wiki.com/Atelia_Fortress + * @author hlwrave, Stayway, Mobius + */ +final class AteliaStatus extends AbstractNpcAI +{ + // Npc Devianne + private static final int DEVIANNE = 34089; + // Location Devianne + private static final Location DEVIANNE_LOC = new Location(-50063, 49439, -1760, 40362); + // Door Atelia Fortess Guard + private static final int GUARD = 23539; + private static final NpcStringId[] ATELIA_MSG = + { + NpcStringId.HAVE_YOU_SEEN_KELBIM_S_POWER_WE_LL_SHOW_YOU_THE_WRATH_OF_THE_EMBRYO, + NpcStringId.I_CAN_FEEL_THE_ENERGY_FROM_THE_ATELIA_FEEL_THE_POWER_OF_KELBIM, + NpcStringId.LIONA_AND_THE_LOWLY_SOLDIERS_WILL_BE_BURIED_HERE, + NpcStringId.SHOW_THEM_THE_POWER_OF_KELBIM + }; + private static final SkillHolder[] ATELIA_POISON = + { + new SkillHolder(23653, 2), // Poisonous Atelia + new SkillHolder(23653, 3), // Poisonous Atelia + new SkillHolder(23653, 4), // Poisonous Atelia + }; + // AI (Hummel,Geork,Burnstein) in Zone + private static final SkillHolder SUPPLY_BLOCKADE = new SkillHolder(16526, 1); + private static final SkillHolder POOR_EQUIPMENT = new SkillHolder(16542, 2); + private static final SkillHolder INDISCEPLINE = new SkillHolder(16542, 3); + // Bosses + private static final int GEORK = 23586; // Geork + private static final int BURNSTEIN = 23587; // Burnstein + private static final int HUMMEL = 23588; // Hummel + // Npcs Stronghold I + private static final int BARTON = 34059; // Barton Aden Vanguard + private static final int GLENKI = 34063; // Glenkinchie Blackbird Clan Member + // Location Stronghold I + private static final Location BARTON_LOC = new Location(-45675, 59130, -2904, 54353); + private static final Location GLENKI_LOC = new Location(-45579, 59169, -2904, 55286); + // Flag Stronghold I + private static final Location FLAG_1_LOC = new Location(-45690, 58901, -2864, 36407); + private static final Location FLAG_2_LOC = new Location(-45419, 59066, -2864, 54421); + // Npcs Stronghold II + private static final int HAYUK = 34060; // Hayuk Aden Vanguard + private static final int HURAK = 34064; // Hurak Blackbird Clan Member + // Location Stronghold II + private static final Location HURAK_LOC = new Location(-41766, 50416, -2032, 54353);// + private static final Location HAYUK_LOC = new Location(-41879, 50389, -2032, 55286);// + // Flag Stronghold II + private static final Location FLAG_3_LOC = new Location(-41962, 50182, -1988, 36407);// + private static final Location FLAG_4_LOC = new Location(-41631, 50246, -2001, 54421);// + // Npcs Stronghold III + private static final int ELISE = 34061; // Elise Aden Vanguard + private static final int LAFFIAN = 34065; // Laffian Blackbird Clan Member + // Other Stronghold III + private static final int JULIA = 34074; // Julia Warehouse Keeper + private static final int MION = 34076; // Mion Grocer + // Location Stronghold III + private static final Location ELISE_LOC = new Location(-44715, 40358, -1416, 29326); + private static final Location LAFFIAN_LOC = new Location(-44574, 40318, -1416, 28937); + private static final Location JULIA_LOC = new Location(-44603, 40202, -1416, 32350); + private static final Location MION_LOC = new Location(-44525, 40430, -1416, 22568); + // Flag Stronghold III + private static final Location FLAG_5_LOC = new Location(-44778, 40556, -1384, 22322); + private static final Location FLAG_6_LOC = new Location(-44860, 40254, -1376, 23239); + // Npcs Stronghold IV + private static final int ELIYAH = 34062; // Eliyah Aden Vanguard + private static final int SHERRY = 34066; // Sherry Blackbird Clan Member + // Other Stronghold IV + private static final int SAYLEM = 34075; // Saylem Warehouse Keeper + private static final int NIKA = 34077; // Nika Grocer + // Location Stronghold IV + private static final Location ELIYAH_LOC = new Location(-58480, 44000, -1552, 25300); + private static final Location SHERRY_LOC = new Location(-58395, 43905, -1552, 28798); + private static final Location SAYLEM_LOC = new Location(-58327, 43957, -1552, 25179); + private static final Location NIKA_LOC = new Location(-58450, 43843, -1552, 32767); + // Flag Stronghold IV + private static final Location FLAG_7_LOC = new Location(-58449, 44207, -1512, 20327); + private static final Location FLAG_8_LOC = new Location(-58693, 43986, -1520, 17904); + // Stages (Floors) + private static final int[] FLOOR_MOBS = + { + 23505, + 23506, + 23507, + 23508, + 23509, + 23510, + 23511, + 23512 + }; + private static final int[] ALERT = + { + 23595, + 23596, + 23597, + 23598, + 23599, + 23600, + 23601, + 23602 + }; + // Skills Stages + private static final int[] ATELIA_CURSE = + { + 23506, + 23508, + 23511, + 23512 + }; + // PART OF BOSS AI + private static final int[] SB_GROUP = + { + 23505, + 23506, + 23507, + 23508, + 23509, + 23510, + 23511, + 23512 + }; + static final int[][] FORTESS_SPY = + { + { + 23589, + -41659, + 44081, + -1448, + 0 + }, + { + 23589, + -50091, + 48822, + -1760, + 0 + }, + { + 23589, + -49263, + 50204, + -2400, + 0 + }, + { + 23589, + -48556, + 45595, + -1768, + 0 + }, + { + 23589, + -44548, + 58729, + -2928, + 0 + }, + { + 23589, + -44636, + 45261, + -1528, + 0 + }, + { + 23589, + -45055, + 44769, + -1544, + 0 + }, + { + 23589, + -45729, + 41010, + -1512, + 0 + }, + { + 23589, + -46178, + 49001, + -2400, + 0 + }, + { + 23589, + -46466, + 56947, + -3184, + 0 + }, + { + 23589, + -46619, + 43794, + -1560, + 0 + }, + { + 23589, + -46814, + 50187, + -2376, + 0 + }, + { + 23589, + -47309, + 55932, + -3184, + 0 + }, + { + 23589, + -47470, + 52576, + -2392, + 0 + }, + { + 23589, + -47503, + 58967, + -3192, + 0 + }, + { + 23589, + -47815, + 51378, + -2400, + 0 + }, + { + 23589, + -48077, + 55335, + -3160, + 0 + }, + { + 23589, + -43866, + 47379, + -2048, + 0 + }, + { + 23589, + -43866, + 47379, + -2048, + 0 + } + + }; + // Infusers + private static final int INFUSER_1 = 23537; + private static final int INFUSER_2 = 23538; + // Static Npcs + private static final int FLAG = 19594; // Stronghold Flag + // Items + private static final int TPST_1 = 46146; // Atelia Fortress Stronghold I Teleport Device + private static final int TPST_2 = 46147; // Atelia Fortress Stronghold II Teleport Device + private static final int TPST_3 = 46148; // Atelia Fortress Stronghold III Teleport Device + private static final int TPST_4 = 46149; // Atelia Fortress Stronghold VI Teleport Device + // Misc + private static int _killCount = 0; + // Other + private static final int DESPAWN = 1800000; // Time 30 Min + private static final int SBCANCEL = 3600000; // Time 1 Hour + private static final int DDESPAWN = 10800000; // Time 3 Hour + + static ArrayList FortessSpawns = new ArrayList<>(); + + private AteliaStatus() + { + super(AteliaStatus.class.getSimpleName(), "ai/atelia_fortess"); + addStartNpc(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA); + addFirstTalkId(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA); + addTalkId(BARTON, GLENKI, HAYUK, HURAK, ELISE, LAFFIAN, JULIA, MION, ELIYAH, SHERRY, SAYLEM, NIKA); + addKillId(FLOOR_MOBS); + addKillId(ALERT); + addKillId(GEORK, BURNSTEIN, HUMMEL, GUARD, INFUSER_1, INFUSER_2); + addSpawnId(BARTON, GLENKI, FLAG, HAYUK, HURAK); + addSpawnId(ELISE, LAFFIAN, JULIA, MION); + addSpawnId(ELIYAH, SHERRY, SAYLEM, NIKA); + addSpawnId(HUMMEL, GEORK, BURNSTEIN, DEVIANNE); + addSpawnId(SB_GROUP); + addAttackId(ATELIA_CURSE); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = null; + switch (event) + { + case "34059-1.htm": + case "34060-1.htm": + case "34061-1.htm": + case "34062-1.htm": + case "34063-1.htm": + case "34063-2.htm": + case "34064-1.htm": + case "34064-2.htm": + case "34065-1.htm": + case "34065-2.htm": + case "34066-1.htm": + case "34066-2.htm": + case "34074-1.htm": + case "34074-2.htm": + case "34074-3.htm": + case "34075-1.htm": + case "34075-2.htm": + case "34075-3.htm": + case "34076-1.htm": + case "34077-1.htm": + { + htmltext = event; + break; + } + case "give_tp_st_1": + { + if (!hasQuestItems(player, TPST_1)) + { + giveItems(player, TPST_1, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + else + { + htmltext = "34059-2.htm"; // fix + } + break; + } + case "give_tp_st_2": + { + if (!hasQuestItems(player, TPST_2)) + { + giveItems(player, TPST_2, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + else + { + htmltext = "34060-2.htm"; // todo off html text + } + break; + } + case "give_tp_st_3": + { + if (!hasQuestItems(player, TPST_3)) + { + giveItems(player, TPST_3, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + else + { + htmltext = "34061-2.htm"; // fix + } + break; + } + case "give_tp_st_4": + { + if (!hasQuestItems(player, TPST_4)) + { + giveItems(player, TPST_4, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + else + { + htmltext = "34062-2.htm"; // fix + } + break; + } + // Quest Timer to Stages + case "TimeEnd": + { + if (npc != null) + { + npc.deleteMe(); + } + break; + } + // Stronghold's + case "SH_1": + { + if (npc == null) + { + final L2Npc barton = addSpawn(BARTON, BARTON_LOC); + final L2Npc glenki = addSpawn(GLENKI, GLENKI_LOC); + final L2Npc flagone = addSpawn(FLAG, FLAG_1_LOC); + final L2Npc flagtwo = addSpawn(FLAG, FLAG_2_LOC); + startQuestTimer("TimeEnd", DESPAWN, barton, null); + startQuestTimer("TimeEnd", DESPAWN, glenki, null); + startQuestTimer("TimeEnd", DESPAWN, flagone, null); + startQuestTimer("TimeEnd", DESPAWN, flagtwo, null); + } + break; + } + case "SH_2": + { + if (npc == null) + { + final L2Npc hayuk = addSpawn(HAYUK, HAYUK_LOC); + final L2Npc hurak = addSpawn(HURAK, HURAK_LOC); + final L2Npc flagthree = addSpawn(FLAG, FLAG_3_LOC); + final L2Npc flagfour = addSpawn(FLAG, FLAG_4_LOC); + startQuestTimer("TimeEnd", DESPAWN, hayuk, null); + startQuestTimer("TimeEnd", DESPAWN, hurak, null); + startQuestTimer("TimeEnd", DESPAWN, flagthree, null); + startQuestTimer("TimeEnd", DESPAWN, flagfour, null); + } + break; + } + case "SH_3": + { + if (npc == null) + { + final L2Npc elise = addSpawn(ELISE, ELISE_LOC); + final L2Npc laffian = addSpawn(LAFFIAN, LAFFIAN_LOC); + final L2Npc julia = addSpawn(JULIA, JULIA_LOC); + final L2Npc mion = addSpawn(MION, MION_LOC); + final L2Npc flagfive = addSpawn(FLAG, FLAG_5_LOC); + final L2Npc flagsix = addSpawn(FLAG, FLAG_6_LOC); + startQuestTimer("TimeEnd", DESPAWN, elise, null); + startQuestTimer("TimeEnd", DESPAWN, laffian, null); + startQuestTimer("TimeEnd", DESPAWN, julia, null); + startQuestTimer("TimeEnd", DESPAWN, mion, null); + startQuestTimer("TimeEnd", DESPAWN, flagfive, null); + startQuestTimer("TimeEnd", DESPAWN, flagsix, null); + } + break; + } + case "SH_4": + { + if (npc == null) + { + final L2Npc eliyah = addSpawn(ELIYAH, ELIYAH_LOC); + final L2Npc sherry = addSpawn(SHERRY, SHERRY_LOC); + final L2Npc saylem = addSpawn(SAYLEM, SAYLEM_LOC); + final L2Npc nika = addSpawn(NIKA, NIKA_LOC); + final L2Npc flagseven = addSpawn(FLAG, FLAG_7_LOC); + final L2Npc flageight = addSpawn(FLAG, FLAG_8_LOC); + startQuestTimer("TimeEnd", DESPAWN, eliyah, null); + startQuestTimer("TimeEnd", DESPAWN, sherry, null); + startQuestTimer("TimeEnd", DESPAWN, saylem, null); + startQuestTimer("TimeEnd", DESPAWN, nika, null); + startQuestTimer("TimeEnd", DESPAWN, flagseven, null); + startQuestTimer("TimeEnd", DESPAWN, flageight, null); + } + break; + } + case "SB_1": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + if ((monster.getZ() <= -2759) && (monster.getZ() >= -3246)) + { + monster.setTarget(monster); + monster.doCast(SUPPLY_BLOCKADE.getSkill()); + } + } + } + } + break; + } + case "SB_2": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + if ((monster.getZ() <= -2020) && (monster.getZ() >= -2759)) + { + monster.setTarget(monster); + monster.doCast(POOR_EQUIPMENT.getSkill()); + } + } + } + } + break; + } + case "SB_3": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + if ((monster.getZ() <= -1477) && (monster.getZ() >= -2212)) // need correct! + { + monster.setTarget(monster); + monster.doCast(INDISCEPLINE.getSkill()); + } + } + } + } + break; + } + case "SB_1_C": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + monster.getEffectList().stopSkillEffects(true, AbnormalType.ALL_ATTACK_DOWN); + monster.stopSkillEffects(true, 16526); + } + } + } + break; + } + case "SB_2_C": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + monster.getEffectList().stopSkillEffects(true, AbnormalType.MAX_HP_DOWN); + monster.stopSkillEffects(true, 16542); + } + } + } + break; + } + case "SB_3_C": + { + for (int sb : SB_GROUP) + { + for (L2Spawn spawn : SpawnTable.getInstance().getSpawns(sb)) + { + for (L2Npc monster : spawn.getSpawnedNpcs()) + { + monster.getEffectList().stopSkillEffects(true, AbnormalType.MAX_HP_DOWN); + monster.stopSkillEffects(true, 16542); + } + } + } + break; + } + case "DEVIANNE_CLEAR": + { + if (npc != null) + { + npc.deleteMe(); + } + break; + } + case "SPY_CLEAR": + { + for (L2Npc spawn : FortessSpawns) + { + if (spawn != null) + { + spawn.deleteMe(); + } + } + FortessSpawns.clear(); + break; + } + case "SPY_SPAWN": + { + for (int[] spawn : FORTESS_SPY) + { + FortessSpawns.add(addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, 0)); + } + break; + } + case "DOOR_CLOSE": + { + _killCount = 0; + closeDoor(18190002, 0); + closeDoor(18190004, 0); + break; + } + case "ALERT": + { + final int rnd = getRandom(3, 4); + for (int i = 0; i < rnd; i++) + { + final L2Npc alert = addSpawn(ALERT[i], npc.getX() + 10, npc.getY() + 10, npc.getZ() + 10, npc.getHeading(), false, 0, false); + alert.setTitle("On Alert Stage 1"); + addAttackDesire(alert, player); + } + break; + } + } + return htmltext; + } + + @Override + public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) + { + final int chance = getRandom(1000); + if (Util.contains(ATELIA_CURSE, npc.getId())) + { + if (!npc.isCastingNow()) + { + if (chance <= 20) + { + npc.setTarget(attacker); + npc.doCast(ATELIA_POISON[getRandom(ATELIA_POISON.length)].getSkill()); + } + } + } + else if (Util.contains(FLOOR_MOBS, npc.getId())) + { + if (chance > 90) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ATELIA_MSG[getRandom(1)], attacker.getName()); + } + } + return super.onAttack(npc, attacker, damage, isSummon); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + + if ((npc.getZ() <= -2804) && (npc.getZ() >= -2999) && (npc.getId() == INFUSER_1)) + { + startQuestTimer("SH_1", 100, null, null); + } + if ((npc.getZ() <= -2029) && (npc.getZ() >= -2050) && (npc.getId() == INFUSER_1)) + { + startQuestTimer("SH_2", 100, null, null); + } + if ((npc.getZ() <= -1419) && (npc.getZ() >= -1520) && (npc.getId() == INFUSER_2)) + { + startQuestTimer("SH_3", 100, null, null); + } + if ((npc.getZ() <= -1552) && (npc.getZ() >= -1580) && (npc.getId() == INFUSER_2)) + { + startQuestTimer("SH_4", 100, null, null); + } + if (npc.getId() == GUARD) + { + _killCount++; + if (_killCount == 2) + { + openDoor(18190002, 0); + openDoor(18190004, 0); + startQuestTimer("DOOR_CLOSE", SBCANCEL, npc, killer); + } + } + else if (npc.getId() == HUMMEL) + { + startQuestTimer("SB_1", 100, npc, killer); + } + else if (npc.getId() == GEORK) + { + startQuestTimer("SB_2", 100, npc, killer); + } + else if (npc.getId() == BURNSTEIN) + { + final L2Npc devianne = addSpawn(DEVIANNE, DEVIANNE_LOC); + startQuestTimer("DEVIANNE_CLEAR", DDESPAWN, devianne, null); + startQuestTimer("SPY_CLEAR", 100, npc, null); + startQuestTimer("SB_3", 100, npc, killer); + } + else if (Util.contains(FLOOR_MOBS, npc.getId()) && (getRandom(100) <= 6)) + { + startQuestTimer("ALERT", 100, npc, killer); + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + return npc.getId() + "-1.htm"; + } + + @Override + public String onSpawn(L2Npc npc) + { + switch (npc.getId()) + { + case HUMMEL: + { + startQuestTimer("SB_1_C", 100, npc, null); + break; + } + case GEORK: + { + startQuestTimer("SB_2_C", 100, npc, null); + break; + } + case BURNSTEIN: + { + startQuestTimer("SB_3_C", 100, npc, null); + startQuestTimer("SPY_SPAWN", 100, npc, null); + break; + } + } + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new AteliaStatus(); + } +} diff --git a/trunk/dist/game/data/stats/items/46100-46199.xml b/trunk/dist/game/data/stats/items/46100-46199.xml index ef21bf08ae..9035854160 100644 --- a/trunk/dist/game/data/stats/items/46100-46199.xml +++ b/trunk/dist/game/data/stats/items/46100-46199.xml @@ -542,6 +542,8 @@ + + @@ -551,11 +553,18 @@ + + + + +
+ + @@ -565,11 +574,18 @@ + + + + + + + @@ -579,11 +595,18 @@ + + + + + + + @@ -593,6 +616,11 @@ + + + + + diff --git a/trunk/dist/game/data/stats/npcs/19500-19599.xml b/trunk/dist/game/data/stats/npcs/19500-19599.xml index 55ed655e78..146ef12130 100644 --- a/trunk/dist/game/data/stats/npcs/19500-19599.xml +++ b/trunk/dist/game/data/stats/npcs/19500-19599.xml @@ -1388,4 +1388,20 @@ + + HUMAN + FEMALE + + + + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/stats/npcs/23500-23599.xml b/trunk/dist/game/data/stats/npcs/23500-23599.xml index b6d148fcbd..b4232fdc36 100644 --- a/trunk/dist/game/data/stats/npcs/23500-23599.xml +++ b/trunk/dist/game/data/stats/npcs/23500-23599.xml @@ -238,7 +238,7 @@ HUMAN MALE - + @@ -260,7 +260,7 @@ - + @@ -336,6 +336,7 @@ HUMANOID + @@ -385,6 +386,7 @@ HUMANOID + MALE @@ -434,6 +436,7 @@ HUMANOID + MALE @@ -483,6 +486,7 @@ HUMANOID + MALE @@ -505,7 +509,7 @@ - + @@ -533,6 +537,7 @@ HUMANOID + MALE @@ -555,7 +560,7 @@ - + @@ -2827,6 +2832,7 @@ HUMANOID + @@ -2992,12 +2998,14 @@ - - - HUMANOID + + + HUMAN + MALE + - + @@ -3012,39 +3020,41 @@ - - + + - + ATELIA_CLAN - - + + - + - + - - - HUMANOID + + + HUMAN + MALE + - + @@ -3059,11 +3069,12 @@ - - - - - + + + + + + @@ -3071,30 +3082,31 @@ - - + + - + - + - - + + HUMANOID + - + @@ -3102,8 +3114,8 @@ - - + + @@ -3135,9 +3147,61 @@ - - + + HUMANOID + + + + + + + + + + + + + + + + + + + + + + + + + + + ATELIA_CLAN + + + + + + + + + + + + + + + + + + + + + + + HUMANOID + + MALE diff --git a/trunk/dist/game/data/stats/npcs/23600-23699.xml b/trunk/dist/game/data/stats/npcs/23600-23699.xml index 45e95a5286..b0d79e1a20 100644 --- a/trunk/dist/game/data/stats/npcs/23600-23699.xml +++ b/trunk/dist/game/data/stats/npcs/23600-23699.xml @@ -1,32 +1,73 @@ - - - HUMAN - FEMALE - - - - - - - - - - - - - - + HUMANOID - FEMALE + + MALE + + + + + + + + + + + + + + + + + + + + + + + + + ATELIA_CLAN + + + + + + + + + + + + + + + + + + + + + + + HUMANOID + + MALE + + + + + + + - + @@ -36,10 +77,68 @@ + + + + ATELIA_CLAN + + - - + + + + + + + + + + + + + + + + + + + + HUMANOID + + MALE + + + + + + + + + + + + + + + + + + + + + + + + + + + ATELIA_CLAN + + + + + diff --git a/trunk/dist/game/data/stats/npcs/34000-34099.xml b/trunk/dist/game/data/stats/npcs/34000-34099.xml index 77cbb1a5c9..59dccd6fe1 100644 --- a/trunk/dist/game/data/stats/npcs/34000-34099.xml +++ b/trunk/dist/game/data/stats/npcs/34000-34099.xml @@ -881,8 +881,7 @@ - - + ETC FEMALE @@ -898,8 +897,7 @@ - - + ETC FEMALE @@ -1257,8 +1255,7 @@ - - + HUMAN FEMALE @@ -1274,8 +1271,7 @@ - - + HUMAN FEMALE @@ -1291,8 +1287,7 @@ - - + HUMAN FEMALE @@ -1308,8 +1303,7 @@ - - + HUMAN FEMALE @@ -1342,8 +1336,7 @@ - - + HUMAN MALE @@ -1359,8 +1352,7 @@ - - + HUMAN FEMALE @@ -1376,8 +1368,7 @@ - - + HUMAN FEMALE @@ -1394,7 +1385,6 @@ - HUMAN MALE diff --git a/trunk/dist/game/data/stats/skills/13800-13899.xml b/trunk/dist/game/data/stats/skills/13800-13899.xml index 1639d41472..82f7f2694e 100644 --- a/trunk/dist/game/data/stats/skills/13800-13899.xml +++ b/trunk/dist/game/data/stats/skills/13800-13899.xml @@ -214,25 +214,101 @@ + + -45564
+ 58333
+ -3003
+ + + + + + + + + + + + + + + + + + + +
- - + -44564
+ 50447
+ -2197
+ + + + + + + + + + + + + + + + +
- - - + -47328
+ 41297
+ -1549
+ + + + + + + + + + + + + + + + +
- - - + -60211
+ 46692
+ -1641
+ + + + + + + + + + + + + + + + +
diff --git a/trunk/dist/game/data/stats/skills/16500-16599.xml b/trunk/dist/game/data/stats/skills/16500-16599.xml index 1fe5a75dd2..0ec468c527 100644 --- a/trunk/dist/game/data/stats/skills/16500-16599.xml +++ b/trunk/dist/game/data/stats/skills/16500-16599.xml @@ -184,10 +184,23 @@ - + 1 2 3 4
+ + + + - + + + + + + + + + +
@@ -295,11 +308,22 @@ - - + + 0.85 0.85 0.85
+ 1 2 3
+ + + + - + + + + + + +
diff --git a/trunk/dist/game/data/stats/skills/23600-23699.xml b/trunk/dist/game/data/stats/skills/23600-23699.xml index 0c7af6d9d8..fe602e74f7 100644 --- a/trunk/dist/game/data/stats/skills/23600-23699.xml +++ b/trunk/dist/game/data/stats/skills/23600-23699.xml @@ -470,11 +470,35 @@ - - - - - + + 10 10 10 10
+ 75 80 85 90
+ 0.9 0.9 0.8 0.6
+ 0.9 0.9 0.8 0.6
+ 1.10 1.10 1.20 1.40
+ 1.10 1.10 1.20 1.40
+ 1 2 3 4
+ 15 15 15 15
+ + + + + + + + + + + + + + + + + + + +
diff --git a/trunk/java/com/l2jmobius/gameserver/model/L2Spawn.java b/trunk/java/com/l2jmobius/gameserver/model/L2Spawn.java index e7bff26ab4..0c59034494 100644 --- a/trunk/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/trunk/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -87,6 +87,8 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable private String _areaName; private int _globalMapId; + private String _title = ""; + /** The task launching the function doSpawn() */ class SpawnTask implements Runnable { @@ -687,6 +689,14 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable { mob.setTitle(mob.getTemplate().getTitle()); } + else + { + mob.setTitle(_title); + } + + + + // Reset summoner mob.setSummoner(null);