summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-05 08:59:19 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-11-05 08:59:19 +0000
commitd0d24cf90cc9b899bfbead85fb4b48cffc10ce57 (patch)
tree5f8805240a63e944c3d0f97eb93f08e632e5bc08
parentd45fde3f893468bbd6d9d3c9e164dbffa9f4bc36 (diff)
downloadhercules-d0d24cf90cc9b899bfbead85fb4b48cffc10ce57.tar.gz
hercules-d0d24cf90cc9b899bfbead85fb4b48cffc10ce57.tar.bz2
hercules-d0d24cf90cc9b899bfbead85fb4b48cffc10ce57.tar.xz
hercules-d0d24cf90cc9b899bfbead85fb4b48cffc10ce57.zip
Changed the skill_db.txt skill names in comments into actual columns, now the server reads these instead of a hardcoded array (see topic:170438).
Corrected skill db loading code which was using a totally wrong column count in sevreal cases (or didn't do any checks at all). Cleaned up skill db lookup code * added some well-behaved functions to replace macros (skill_get_index) * used skill_get_index() to replace often occuring blocks of code that did the skill_id -> skilldb_index calculation in-line git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11657 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt9
-rw-r--r--db/skill_db.txt1250
-rw-r--r--src/map/skill.c1030
-rw-r--r--src/map/skill.h4
4 files changed, 829 insertions, 1464 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index f3be39801..ff806825c 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,15 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2007/11/05
+ * Cleaned up skill db lookup code
+ - added some well-behaved functions to replace macros (skill_get_index)
+ - used skill_get_index() to replace often occuring blocks of code
+ that did the skill_id -> skilldb_index calculation in-line
+ * Corrected skill db loading code which was using a totally wrong
+ column count in sevreal cases (or didn't do any checks at all)
+ * Changed the skill_db.txt skill names in comments into actual columns,
+ now the server reads these instead of a hardcoded array [ultramage]
2007/11/04
* Implemented official drop rate estimation [Playtester]
- estimation is rounded on 2 positions after decimal point
diff --git a/db/skill_db.txt b/db/skill_db.txt
index e8913981f..7fd5bf513 100644
--- a/db/skill_db.txt
+++ b/db/skill_db.txt
@@ -1,4 +1,4 @@
-//id,range,hit,inf,pl,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count
+//id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description
// 01 ID
// 02 range (combo skills do not check for range when used,
// if range is < 5, the skill is considered melee-range)
@@ -40,632 +40,634 @@
// that attack using a path, this is the path length to be used.
// 14 attack type (none, weapon, magic, misc)
// 15 Blowcount (amount of tiles skill knockbacks)
-1,0,0,0,0,0,0,9,0,no,0,0,0,none,0 //NV_BASIC#Basic Skill#
-2,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //SM_SWORD#Sword Mastery#
-3,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //SM_TWOHAND#Two-Handed Sword Mastery#
-4,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //SM_RECOVERY#Increase HP Recovery#
-5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //SM_BASH#Bash#
-6,9,6,1,0,1,0,10,1,no,0,0,0,none,0 //SM_PROVOKE#Provoke#
-7,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2 //SM_MAGNUM#Magnum Break#
-8,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //SM_ENDURE#Endure#
-9,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //MG_SRECOVERY#Increase SP Recovery#
-10,0,6,4,3,0x3,3,1,1,yes,0,0,0,magic,0 //MG_SIGHT#Sight#
-11,9,6,1,8,0x6,1,10,1,yes,0,0,0,magic,0 //MG_NAPALMBEAT#Napalm Beat#
-12,9,8,2,8,0x1,0,10,1,yes,0,0,0,magic,0 //MG_SAFETYWALL#Safety Wall#
-13,9,8,1,8,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0,0,magic,0 //MG_SOULSTRIKE#Soul Strike#
-14,9,8,1,1,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //MG_COLDBOLT#Cold Bolt#
-15,9,6,1,1,0,0,10,1,yes,0,0,0,magic,0 //MG_FROSTDIVER#Frost Diver#
-16,2,6,1,2,0x1,0,10,1,yes,0,0,0,magic,0 //MG_STONECURSE#Stone Curse#
-17,9,6,1,3,0x2,2,10,1,yes,0,0,0,magic,0 //MG_FIREBALL#Fire Ball#
-18,9,6,2,3,0,0,10,1,yes,0,0,3,magic,2 //MG_FIREWALL#Fire Wall#
-19,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //MG_FIREBOLT#Fire Bolt#
-20,9,8,1,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //MG_LIGHTNINGBOLT#Lightning Bolt#
-21,9,8,2,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //MG_THUNDERSTORM#Thunderstorm#
-22,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //AL_DP#Divine protection#
-23,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //AL_DEMONBANE#Demon Bane#
-24,0,6,4,6,0x3,2,1,1,yes,0,0,0,magic,0 //AL_RUWACH#Ruwach#
-25,9,6,2,0,0x1,0,1,1,yes,0,0,0,magic,0 //AL_PNEUMA#Pneuma#
-26,0,6,4,0,0x1,0,2,1,yes,0,0,0,magic,0 //AL_TELEPORT#Teleport#
-27,9,6,2,0,0x1,0,4,1,yes,0,0,3,magic,0 //AL_WARP#Warp Portal#
-28,9,6,16,6,0x21,0,10,1,yes,0,0,0,magic,0 //AL_HEAL#Heal#
-29,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 //AL_INCAGI#Increase AGI#
-30,9,6,1,0,0x1,0,10,1,yes,0,0,0,magic,0 //AL_DECAGI#Decrease AGI#
-31,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0 //AL_HOLYWATER#Aqua Benedicta#
-32,0,6,4,0,0x3,15,10,1,yes,0,0,0,magic,0 //AL_CRUCIS#Signum Crusis#
-33,0,6,4,0,0x3,-1,10,1,yes,0,0,0,magic,0 //AL_ANGELUS#Angelus#
-34,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 //AL_BLESSING#Blessing#
-35,9,6,16,0,0x1,0,1,1,yes,0,0,0,magic,0 //AL_CURE#Cure#
-36,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //MC_INCCARRY#Enlarge Weight Limit#
-37,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //MC_DISCOUNT#Discount#
-38,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //MC_OVERCHARGE#Overcharge#
-39,1,0,0,0,0,0,10,0,no,0,0,0,none,0 //MC_PUSHCART#Pushcart#
-40,1,6,4,0,0x1,0,1,1,no,0,0,0,none,0 //MC_IDENTIFY#Item Appraisal#
-41,1,6,4,0,0x1,0,10,1,no,0,0,0,none,0 //MC_VENDING#Vending#
-42,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //MC_MAMMONITE#Mammonite#
-43,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //AC_OWL#Owl's Eye#
-44,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //AC_VULTURE#Vulture's Eye#
-45,0,6,4,0,0x3,3,10,1,no,0,0,0,weapon,0 //AC_CONCENTRATION#Improve Concentration#
-46,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0 //AC_DOUBLE#Double Strafe#
-47,-9,6,2,-1,0x2,2,10,1,no,0,0,0,weapon,2 //AC_SHOWER#Arrow Shower#
-48,-1,8,0,-1,0,0,10,2,no,0,0,0,weapon,0 //TF_DOUBLE#Double Attack#
-49,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //TF_MISS#Improve Dodge#
-50,1,6,1,0,1,0,10,1,no,0,0,0,weapon,0 //TF_STEAL#Steal#
-51,1,6,4,0,1,0,10,1,no,0,0,0,none,0 //TF_HIDING#Hiding#
-52,-2,6,1,5,0,0,10,1,no,0,0,0,weapon,0 //TF_POISON#Envenom#
-53,9,6,16,5,0x1,0,1,1,no,0,0,0,weapon,0 //TF_DETOXIFY#Detoxify#
-54,9,6,16,6,0x1,0,4,1,yes,0,0,0,magic,0 //ALL_RESURRECTION#Resurrection#
-55,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //KN_SPEARMASTERY#Spear Mastery#
-56,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0 //KN_PIERCE#Pierce#
-57,-2,6,1,-1,0x1,0,10,1,no,33,0,0,weapon,3 //KN_BRANDISHSPEAR#Brandish Spear#
-58,-4,6,1,-1,0x2,0,10,1,no,0,0,0,weapon,6 //KN_SPEARSTAB#Spear Stab#
-59,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //KN_SPEARBOOMERANG#Spear Boomerang#
-60,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //KN_TWOHANDQUICKEN#Twohand Quicken#
-61,0,6,4,-1,0x20,0,5,1,no,0,0,0,weapon,0 //KN_AUTOCOUNTER#Counter Attack#
-62,-2,6,1,-1,0x2,1,10,1,no,33,0,0,weapon,1 //KN_BOWLINGBASH#Bowling Bash#
-63,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 //KN_RIDING#Peco Peco Riding#
-64,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //KN_CAVALIERMASTERY#Cavalier Mastery#
-65,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //PR_MACEMASTERY#Mace Mastery#
-66,9,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0 //PR_IMPOSITIO#Impositio Manus#
-67,9,6,16,0,0x1,0,3,1,yes,0,0x200,0,magic,0 //PR_SUFFRAGIUM#Suffragium#
-68,9,6,16,6,0x31,0,5,1,yes,0,0,0,magic,0 //PR_ASPERSIO#Aspersio#
-69,9,6,2,0,0x23,1,5,1,yes,0,0x40,0,magic,0 //PR_BENEDICTIO#B.S Sacramenti#
-70,9,6,2,6,0x21,0,10,1,yes,0,0,0,magic,1 //PR_SANCTUARY#Sanctuary#
-71,9,6,16,0,0x1,0,4,1,yes,0,0,0,magic,0 //PR_SLOWPOISON#Slow Poison#
-72,9,6,16,0,0x1,0,1,1,yes,0,0,0,magic,0 //PR_STRECOVERY#Status Recovery#
-73,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 //PR_KYRIE#Kyrie Eleison#
-74,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0 //PR_MAGNIFICAT#Magnificat#
-75,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0 //PR_GLORIA#Gloria#
-76,5,6,1,0,0x1,0:0:0:0:0:0:0:0:0:0:-1,10,0,yes,0,0,0,magic,0 //PR_LEXDIVINA#Lex Divina#
-77,5,6,1,6,0x28,0,10,1,yes,0,0,0,magic,0 //PR_TURNUNDEAD#Turn Undead#
-78,9,6,1,0,0x1,0,1,0,yes,0,0,0,magic,0 //PR_LEXAETERNA#Lex Aeterna#
-79,9,8,2,6,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //PR_MAGNUS#Magnus Exorcismus#
-80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12:12,yes,0,0x80,5,magic,0 //WZ_FIREPILLAR#Fire Pillar#
-81,0,6,4,3,0,3,10,1,yes,0,0,0,magic,5 //WZ_SIGHTRASHER#Sightrasher#
-//82,9,6,2,3,0,0,10,1,yes,0,0,0,magic,0 //WZ_FIREIVY#Fire Ivy#
-83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0,0,magic,0 //WZ_METEOR#Meteor Storm#
-84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7 //WZ_JUPITEL#Jupiter Thunder#
-85,9,8,2,4,0,0,10,-10,yes,0,0,0,magic,0 //WZ_VERMILION#Lord of Vermilion#
-86,9,8,1,1,0,0,5,1,yes,0,0,0,magic,0 //WZ_WATERBALL#Water Ball#
-87,9,6,2,1,0,0,10,1,yes,0,0,0,magic,0 //WZ_ICEWALL#Ice Wall#
-88,0,6,4,1,0x2,2,10,1,yes,0,0,0,magic,0 //WZ_FROSTNOVA#Frost Nova#
-89,9,6,2,1,0,0,10,1,yes,0,0,0,magic,2 //WZ_STORMGUST#Storm Gust#
-90,9,8,1,2,0,0,5,1:2:3:4:5,yes,0,0,0,magic,0 //WZ_EARTHSPIKE#Earth Spike#
-91,9,8,2,2,0,0,5,1:2:3:4:5,yes,0,0,0,magic,0 //WZ_HEAVENDRIVE#Heaven's Drive#
-92,9,6,2,2,0x1,0,5,1,yes,0,0,3,magic,0 //WZ_QUAGMIRE#Quagmire#
-93,9,6,1,0,0x1,0,1,1,yes,0,0,0,magic,0 //WZ_ESTIMATION#Sense#
-94,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //BS_IRON#Iron Tempering#
-95,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //BS_STEEL#Steel Tempering#
-96,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //BS_ENCHANTEDSTONE#Enchanted Stone Craft#
-97,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //BS_ORIDECON#Oridecon Research#
-98,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_DAGGER#Smith Dagger#
-99,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_SWORD#Smith Sword#
-100,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_TWOHANDSWORD#Smith Two-handed Sword#
-101,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_AXE#Smith Axe#
-102,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_MACE#Smith Mace#
-103,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_KNUCKLE#Smith Knucklebrace#
-104,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 //BS_SPEAR#Smith Spear#
-105,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 //BS_HILTBINDING#Hilt Binding#
-106,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 //BS_FINDINGORE#Ore Discovery#
-107,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //BS_WEAPONRESEARCH#Weaponry Research#
-108,2,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0 //BS_REPAIRWEAPON#Weapon Repair#
-109,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //BS_SKINTEMPER#Skin Tempering#
-110,1,6,2,0,0x3,2:2:2:2:2:14,5,1,no,0,0,0,weapon,0 //BS_HAMMERFALL#Hammer Fall#
-111,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 //BS_ADRENALINE#Adrenaline Rush#
-112,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 //BS_WEAPONPERFECT#Weapon Perfection#
-113,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 //BS_OVERTHRUST#Power-Thrust#
-114,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //BS_MAXIMIZE#Maximize Power#
-115,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10 //HT_SKIDTRAP#Skid Trap#
-116,3,6,2,2,0x40,0,5,1,no,0,0x80,0,misc,0 //HT_LANDMINE#Land Mine#
-117,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,0 //HT_ANKLESNARE#Ankle Snare#
-118,3,6,2,0,0x2,1,5,1,no,0,0x80,0,misc,0 //HT_SHOCKWAVE#Shockwave Trap#
-119,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0 //HT_SANDMAN#Sandman#
-120,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0 //HT_FLASHER#Flasher#
-121,3,6,2,1,0x42,1,5,1,no,0,0x80,0,misc,0 //HT_FREEZINGTRAP#Freezing Trap#
-122,3,6,2,4,0x42,1,5,1,no,0,0x80,0,misc,0 //HT_BLASTMINE#Blast Mine#
-123,3,6,2,3,0x42,2,5,1,no,0,0x80,0,misc,0 //HT_CLAYMORETRAP#Claymore Trap#
-124,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0 //HT_REMOVETRAP#Remove Trap#
-125,3,6,2,0,0x1,0,1,1,no,0,0,0,misc,0 //HT_TALKIEBOX#Talkie Box#
-126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //HT_BEASTBANE#Beast Bane#
-127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0 //HT_FALCON#Falconry Mastery#
-128,0,0,0,0,0,0,10,0,no,0,0,0,misc,0 //HT_STEELCROW#Steel Crow#
-129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0,0,misc,0 //HT_BLITZBEAT#Blitz Beat#
-130,3:5:7:9,6,2,0,0x3,3,4,1,no,0,0,0,misc,0 //HT_DETECTING#Detect#
-131,4:5:6:7:8,6,32,0,0x1,0,5,1,no,0,0,0,misc,0 //HT_SPRINGTRAP#Spring Trap#
-132,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //AS_RIGHT#Righthand Mastery#
-133,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //AS_LEFT#Lefthand Mastery#
-134,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //AS_KATAR#Katar Mastery#
-135,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //AS_CLOAKING#Cloaking#
-136,-1,8,1,-1,0,0,10,8,no,0,0,0,weapon,0 //AS_SONICBLOW#Sonic Blow#
-137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0,0,weapon,0 //AS_GRIMTOOTH#Grimtooth#
-138,1,6,16,5,0x1,0,10,1,no,0,0x400,0,weapon,0 //AS_ENCHANTPOISON#Enchant Poison#
-139,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0 //AS_POISONREACT#Poison React#
-140,2,6,2,5,0x1,0,10,1,no,0,0,0,weapon,0 //AS_VENOMDUST#Venom Dust#
-141,1,6,1,-1,0xF,2,10,1,yes,0,0,0,weapon,0 //AS_SPLASHER#Venom Splasher#
-142,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 //NV_FIRSTAID#First Aid#
-143,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 //NV_TRICKDEAD#Act Dead#
-144,0,0,0,0,0,0,1,0,no,0,0x1,0,none,0 //SM_MOVINGRECOVERY#Moving HP-Recovery#
-145,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 //SM_FATALBLOW#Attack Weak Point#
-146,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0 //SM_AUTOBERSERK#Auto Berserk#
-147,0,0,4,0,0x1,0,1,0,no,0,0x1,0,weapon,0 //AC_MAKINGARROW#Arrow Crafting#
-148,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6 //AC_CHARGEARROW#Arrow Repel#
-149,1,6,1,2,0,0,1,1,no,0,0x1,0,weapon,0 //TF_SPRINKLESAND#Throw Sand#
-150,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,5 //TF_BACKSLIDING#Back Sliding#
-151,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 //TF_PICKSTONE#Find Stone#
-152,7,6,1,0,0x40,0,1,1,no,0,0x1,0,misc,0 //TF_THROWSTONE#Stone Fling#
-153,1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,2 //MC_CARTREVOLUTION#Cart Revolution#
-154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 //MC_CHANGECART#Change Cart#
-155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0 //MC_LOUD#Crazy Uproar#
-156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0 //AL_HOLYLIGHT#Holy Light#
-157,0,6,4,0,0x1,0,1,1,yes,0,0x1,0,magic,0 //MG_ENERGYCOAT#Energy Coat#
-158,3,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_PIERCINGATT#Thrusting attack#
-159,-1,6,1,-1,0x40,0,5,1,no,0,0x2,0,weapon,0 //NPC_MENTALBREAKER#Spirit Destruction#
-160,9,6,1,0,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_RANGEATTACK#Stand off attack#
-161,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_ATTRICHANGE#Run Attribute Change#
-162,0,0,4,1,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEWATER#Water Attribute Change#
-163,0,0,4,2,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEGROUND#Earth Attribute Change#
-164,0,0,4,3,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEFIRE#Fire Attribute Change#
-165,0,0,4,4,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEWIND#Wind Attribute Change#
-166,0,0,4,5,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEPOISON#Poison Attribute Change#
-167,0,0,4,6,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEHOLY#Holy Attribute Change#
-168,0,0,4,7,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGEDARKNESS#Shadow Attribute Change#
-169,0,0,4,8,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_CHANGETELEKINESIS#Sense Attribute Change#
-170,-9,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0 //NPC_CRITICALSLASH#Defense disregard attack#
-171,-9,8,1,-1,0,0,10,-2:-3:-4:-5:-6:-7:-8:-9:-10:-11,no,0,0x2,0,weapon,0 //NPC_COMBOATTACK#Multi-stage Attack#
-172,-9,6,1,-1,0x40,0,10,1,no,0,0x2,0,weapon,0 //NPC_GUIDEDATTACK#On-target Impact Attack#
-173,5,6,4,3,0xD2,5,10,1,no,0,0x2,0,misc,3 //NPC_SELFDESTRUCTION#Suicide bombing#
-174,-9,6,1,-1,0x2,3,1,1,no,0,0x2,0,weapon,0 //NPC_SPLASHATTACK#Splash attack#
-175,0,0,4,0,0x41,0,10,1,no,0,0x2,0,misc,0 //NPC_SUICIDE#Suicide#
-176,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_POISON#Poison Attack#
-177,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_BLINDATTACK#Darkness Attack#
-178,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_SILENCEATTACK#Silence Attack#
-179,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_STUNATTACK#Stun Attack#
-180,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_PETRIFYATTACK#Petrify Attack#
-181,-9,6,1,7,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_CURSEATTACK#Cursing Attack #
-182,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_SLEEPATTACK#Sleep attack#
-183,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_RANDOMATTACK#Random Attack #
-184,-9,6,1,1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_WATERATTACK#Water Attribute Attack#
-185,-9,6,1,2,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_GROUNDATTACK#Earth Attribute Attack#
-186,-9,6,1,3,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_FIREATTACK#Fire Attribute Attack#
-187,-9,6,1,4,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_WINDATTACK#Wind Attribute Attack#
-188,-9,6,1,5,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_POISONATTACK#Poison Attribute Attack#
-189,-9,6,1,6,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_HOLYATTACK#Holy Attribute Attack#
-190,-9,6,1,7,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_DARKNESSATTACK#Shadow Attribute Attack#
-191,-9,6,1,8,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_TELEKINESISATTACK#Sense Attribute Attack#
-192,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_MAGICALATTACK#Demon Shock Attack#
-193,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_METAMORPHOSIS#Metamorphosis#
-194,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_PROVOCATION#Provocation#
-195,0,6,4,0,0x50,0,10,1,no,0,0x2,0,misc,0 //NPC_SMOKING#Smoking#
-196,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 //NPC_SUMMONSLAVE#Follower Summons#
-197,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_EMOTION#Emotion#
-198,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 //NPC_TRANSFORMATION#Transformation#
-199,9,6,1,7,0x40,0,1,1,no,0,0x2,0,weapon,0 //NPC_BLOODDRAIN#Sucking Blood#
-200,9,6,1,7,0,0,1,1,no,0,0x2,0,magic,0 //NPC_ENERGYDRAIN#Energy Drain#
-201,0,0,4,0,0x1,0,1,1,no,0,0x2,0,weapon,0 //NPC_KEEPING#Keeping#
-202,9,6,1,7,0,0,5,1,no,0,0x2,0,misc,0 //NPC_DARKBREATH#Dark Breath#
-203,9,6,1,7,0x1,0,10,1,no,0,0x2,0,magic,0 //NPC_DARKBLESSING#Dark Blessing#
-204,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_BARRIER#Barrier#
-205,0,0,4,0,0x1,0,1,1,no,0,0x2,0,weapon,0 //NPC_DEFENDER#Defender#
-206,1,6,1,-1,0x1,0,5,1,no,0,0x2,0,weapon,0 //NPC_LICK#Lick#
-207,9,0,1,0,0x1,0,10,1,no,0,0x2,0,magic,0 //NPC_HALLUCINATION#Hallucination#
-208,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 //NPC_REBIRTH#Rebirth#
-209,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 //NPC_SUMMONMONSTER#Monster Summons#
-210,0,0,0,-1,0,0,10,0,no,0,0,0,weapon,0 //RG_SNATCHER#Gank#
-211,1,6,1,0,0x1,0,10,1,no,0,0,0,weapon,0 //RG_STEALCOIN#Mug#
-212,-1,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0 //RG_BACKSTAP#Back Stab#
-213,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //RG_TUNNELDRIVE#Stalk#
-214,0,6,4,-1,0x2,1,5,1,no,0,0,0,weapon,0 //RG_RAID#Sightless Raid#
-215,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 //RG_STRIPWEAPON#Divest Weapon#
-216,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 //RG_STRIPSHIELD#Divest Shield#
-217,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 //RG_STRIPARMOR#Divest Armor#
-218,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 //RG_STRIPHELM#Divest Helm#
-219,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //RG_INTIMIDATE#Snatch#
-220,1,6,2,0,0x1,0,1,1,no,0,0,0,none,0 //RG_GRAFFITI#Scribble#
-221,0,6,2,0,0x1,0,5,1,no,0,0,0,none,0 //RG_FLAGGRAFFITI#Piece#
-222,1,6,2,0,0x3,5,1,1,no,0,0,0,none,0 //RG_CLEANER#Remover#
-223,0,0,0,0,0,1,1,0,no,0,0,0,none,0 //RG_GANGSTER#Slyness#
-224,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //RG_COMPULSION#Haggle#
-225,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //RG_PLAGIARISM#Intimidate#
-226,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //AM_AXEMASTERY#Axe Mastery#
-227,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //AM_LEARNINGPOTION#Potion Research#
-228,0,6,4,0,0x1,0,10,0,no,0,0,0,none,0 //AM_PHARMACY#Prepare Potion#
-229,9,6,2,3,0x9,0,5,1,yes,0,0,0,weapon,0 //AM_DEMONSTRATION#Bomb#
-230,9,6,1,0,0x48,0,5,1,yes,0,0,0,weapon,0 //AM_ACIDTERROR#Acid Terror#
-231,9,6,16,0,0x1,0,5,1,yes,0,0xC00,0,none,0 //AM_POTIONPITCHER#Aid Potion#
-232,4,6,2,0,0x1,0,5,1,no,0,0,5,none,0 //AM_CANNIBALIZE#Summon Flora#
-233,1,6,2,0,0x1,0,5,1,no,0,0,3,none,0 //AM_SPHEREMINE#Summon Marine Sphere#
-234,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 //AM_CP_WEAPON#Alchemical Weapon#
-235,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 //AM_CP_SHIELD#Synthesized Shield#
-236,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 //AM_CP_ARMOR#Synthetic Armor#
-237,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 //AM_CP_HELM#Biochemical Helm#
-238,0,0,0,0,0,0,1,0,no,0,0x1,0,none,0 //AM_BIOETHICS#Basis of Life#
-//239,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //AM_BIOTECHNOLOGY#Biotechnology#
-//240,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //AM_CREATECREATURE#Life Creation#
-//241,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //AM_CULTIVATION#Cultivation#
-//242,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //AM_FLAMECONTROL#Flame Control#
-243,0,0,4,0,0x1,1,1,0,no,0,0,0,none,0 //AM_CALLHOMUN#Call Homunculus#
-244,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0 //AM_REST#Peaceful Rest#
-//245,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //AM_DRILLMASTER#Drillmaster#
-//246,9,0,0,0,0,0,10,0,no,0,0,0,none,0 //AM_HEALHOMUN#Heal Homunculus#
-247,9,6,4,0,0x1,1,5,0,no,0,0,0,none,0 //AM_RESURRECTHOMUN#Ressurect Homunculus#
-248,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //CR_TRUST#Faith#
-249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //CR_AUTOGUARD#Guard#
-250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9 //CR_SHIELDCHARGE#Smite#
-251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0 //CR_SHIELDBOOMERANG#Shield Boomerang#
-252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0 //CR_REFLECTSHIELD#Shield Reflect#
-253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0 //CR_HOLYCROSS#Holy Cross#
-254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0 //CR_GRANDCROSS#Grand Cross#
-255,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0 //CR_DEVOTION#Sacrifice#
-256,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,none,0 //CR_PROVIDENCE#Resistant Souls#
-257,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //CR_DEFENDER#Defending Aura#
-258,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //CR_SPEARQUICKEN#Spear Quicken#
-259,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //MO_IRONHAND#Iron Fists#
-260,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //MO_SPIRITSRECOVERY#Spiritual Cadence#
-261,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 //MO_CALLSPIRITS#Summon Spirit Sphere#
-262,9,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0 //MO_ABSORBSPIRITS#Absorb Spirit Sphere#
-263,-1,8,0,-1,0,0,10,-3,no,0,0,0,weapon,0 //MO_TRIPLEATTACK#Raging Triple Blow#
-264,18,6,2,0,0x1,0,1,1,no,0,0,0,none,0 //MO_BODYRELOCATION#Snap#
-265,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //MO_DODGE#Dodge#
-266,2,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0 //MO_INVESTIGATE#Occult Impact#
-267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0,0,weapon,0 //MO_FINGEROFFENSIVE#Throw Spirit Sphere#
-268,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //MO_STEELBODY#Mental Strength#
-269,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //MO_BLADESTOP#Root#
-270,0,6,4,0,0x1,0,5,0,no,0,0,0,weapon,0 //MO_EXPLOSIONSPIRITS#Fury#
-271,-2,6,4,0,0x60,0,5,1,yes,0,0x200,0,weapon,0 //MO_EXTREMITYFIST#Asura Strike#
-272,-2,8,4,-1,0,0,5,-4,no,0,0x200,0,weapon,0 //MO_CHAINCOMBO#Raging Quadruple Blow#
-273,-2,6,4,-1,0x2,2,5,1,no,0,0x200,0,weapon,0 //MO_COMBOFINISH#Raging Thrust#
-274,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //SA_ADVANCEDBOOK#Study#
-275,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 //SA_CASTCANCEL#Cast Cancel#
-276,0,6,4,0,0x1,0,5,1,yes,0,0,0,magic,0 //SA_MAGICROD#Magic Rod#
-277,9,6,1,0,0x1,0,5,1,yes,0,0,0,magic,0 //SA_SPELLBREAKER#Spell Break#
-278,0,0,0,0,0,0,10,0,no,0,0,0,magic,0 //SA_FREECAST#Free Cast#
-279,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 //SA_AUTOSPELL#Hindsight#
-280,9,6,16,3,0x1,0,5,1,yes,0,0xC00,0,magic,0 //SA_FLAMELAUNCHER#Endow Blaze#
-281,9,6,16,1,0x1,0,5,1,yes,0,0xC00,0,magic,0 //SA_FROSTWEAPON#Endow Tsunami#
-282,9,6,16,4,0x1,0,5,1,yes,0,0xC00,0,magic,0 //SA_LIGHTNINGLOADER#Endow Tornado#
-283,9,6,16,2,0x1,0,5,1,yes,0,0xC00,0,magic,0 //SA_SEISMICWEAPON#Endow Quake#
-284,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //SA_DRAGONOLOGY#Dragonology#
-285,2,6,2,3,0x1,0,5,1,yes,0,0,0,magic,0 //SA_VOLCANO#Volcano#
-286,2,6,2,1,0x1,0,5,1,yes,0,0,0,magic,0 //SA_DELUGE#Deluge#
-287,2,6,2,4,0x1,0,5,1,yes,0,0,0,magic,0 //SA_VIOLENTGALE#Whirlwind#
-288,3,6,2,0,0x1,0,5,1,yes,0,0,0,magic,0 //SA_LANDPROTECTOR#Magnetic Earth#
-289,9,6,1,0,0x1,0:0:0:0:0:-1,5,1,yes,0,0xE00,0,magic,0 //SA_DISPELL#Dispel#
-290,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 //SA_ABRACADABRA#Hocus-pocus#
-291,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_MONOCELL#Monocell#
-292,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_CLASSCHANGE#Class Change#
-293,0,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_SUMMONMONSTER#Summon Monster#
-294,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_REVERSEORCISH#Orcish Face#
-295,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_DEATH#Death#
-296,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_FORTUNE#Fortune#
-297,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_TAMINGMONSTER#Tame Monster#
-298,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_QUESTION#Question#
-299,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_GRAVITY#Gravity#
-300,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_LEVELUP#Level Up#
-301,9,6,4,0,0,0,1,1,yes,0,0x2,0,magic,0 //SA_INSTANTDEATH#Instant Death#
-302,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 //SA_FULLRECOVERY#Full Recovery#
-303,9,6,4,0,0,0,1,1,yes,0,0x2,0,magic,0 //SA_COMA#Coma#
-304,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 //BD_ADAPTATION#Amp#
-305,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 //BD_ENCORE#Encore#
-306,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 //BD_LULLABY#Lullaby#
-307,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 //BD_RICHMANKIM#Mental Sensing#
-308,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 //BD_ETERNALCHAOS#Down Tempo#
-309,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 //BD_DRUMBATTLEFIELD#Battle Theme#
-310,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 //BD_RINGNIBELUNGEN#Harmonic Lick#
-311,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 //BD_ROKISWEIL#Classical Pluck#
-312,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 //BD_INTOABYSS#Power Chord#
-313,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 //BD_SIEGFRIED#Acoustic Rhythm#
-//314,0,0,0,0,0,0,1,1,no,0,0x40,0,misc,0 //BD_RAGNAROK#Ragnarok#
-315,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //BA_MUSICALLESSON#Music Lesson#
-316,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //BA_MUSICALSTRIKE#Melody Strike#
-317,0,8,4,0,0x41,0,5,1,no,0,0x20,0,misc,0 //BA_DISSONANCE#Unchained Serenade#
-318,0,6,4,0,0x3,-1,5,1,no,0,0,0,misc,0 //BA_FROSTJOKE#Unbarring Octave#
-319,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //BA_WHISTLE#Perfect Tablature#
-320,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //BA_ASSASSINCROSS#Impressive Riff#
-321,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //BA_POEMBRAGI#Magic Strings#
-322,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //BA_APPLEIDUN#Song of Lutie#
-323,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 //DC_DANCINGLESSON#Dance Lessons#
-324,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //DC_THROWARROW#Slinging Arrow#
-325,0,8,4,0,0x1,0,5,1,no,0,0x20,0,misc,0 //DC_UGLYDANCE#Hip Shaker#
-326,0,6,4,0,0x3,-1,5,1,no,0,0,0,misc,0 //DC_SCREAM#Dazzler#
-327,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //DC_HUMMING#Focus Ballet#
-328,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //DC_DONTFORGETME#Slow Grace#
-329,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //DC_FORTUNEKISS#Lady Luck#
-330,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 //DC_SERVICEFORYOU#Gypsy's Kiss#
-331,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 //NPC_RANDOMMOVE
-332,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 //NPC_SPEEDUP
-333,0,6,4,0,0x1,0,1,0,no,0,0x2,0,none,0 //NPC_REVENGE
-334,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 //WE_MALE#I Will Protect You#
-335,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 //WE_FEMALE#I Look up to You#
-336,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 //WE_CALLPARTNER#I miss You#
-337,9,6,1,-1,0,0,1,1,no,0,0x2,0,weapon,0 //ITM_TOMAHAWK#Throw Tomahawk#
-338,-1,8,1,7,0,0,10,-2,no,0,0x2,0,weapon,0 //NPC_DARKCROSS#Cross of Darkness#
-339,5,6,4,7,0x48,0,10,1,no,33,0x102,0,magic,0 //NPC_GRANDDARKNESS#Grand cross of Darkness#
-340,9,8,1,7,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0x2,0,magic,0 //NPC_DARKSTRIKE#Soul Strike of Darkness#
-341,9,8,1,7,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2,0,magic,2:3:3:4:4:5:5:6:6:7 //NPC_DARKTHUNDER#Darkness Jupiter#
-342,9,6,1,0,0x1,0,1,0,no,0,0x2,0,none,0 //NPC_STOP
-343,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_WEAPONBRAKER#Break weapon#
-344,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_ARMORBRAKE#Break armor#
-345,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_HELMBRAKE#Break helm#
-346,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_SHIELDBRAKE#Break shield#
-347,-9,6,1,9,0,0,10,1,no,0,0x2,0,weapon,0 //NPC_UNDEADATTACK
-348,9,0,1,9,0x1,0,5,1,no,0,0x2,0,magic,0 //NPC_CHANGEUNDEAD
-349,0,6,4,0,0x1,0,10,0,no,0,0x2,0,weapon,0 //NPC_POWERUP
-350,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 //NPC_AGIUP
-351,0,0,0,0,0x1,0,1,0,no,0,0x2,0,none,0 //NPC_SIEGEMODE
-352,2,0,4,0,0x1,0,1,0,no,0,0x2,0,none,0 //NPC_CALLSLAVE
-353,0,0,0,0,0x1,0,1,0,no,0,0x2,0,none,0 //NPC_INVISIBLE
-354,2,6,4,0,0x1,0,20,0,no,0,0x2,0,misc,0 //NPC_RUN
-355,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //LK_AURABLADE#Aura Blade#
-356,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //LK_PARRYING#Parrying#
-357,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //LK_CONCENTRATION#Concentration#
-358,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //LK_TENSIONRELAX#Relax#
-359,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //LK_BERSERK#Frenzy#
-//360,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //LK_FURY#Fury#
-361,9,6,16,0,0x3,1,5,1,yes,0,0,0,magic,0 //HP_ASSUMPTIO#Assumptio#
-362,4,6,4,0,0x1,0,5,1,yes,0,0,0,magic,2 //HP_BASILICA#Basilica#
-363,0,0,0,0,0,0,10,0,no,0,0,0,magic,0 //HP_MEDITATIO#Meditatio#
-364,0,0,0,0,0,0,10,1,no,0,0,0,magic,0 //HW_SOULDRAIN#Soul Drain#
-365,9,8,1,-1,0,0,1,1,yes,0,0,0,weapon,0 //HW_MAGICCRASHER#Stave Crasher#
-366,0,6,4,0,0x1,0,10,1,no,0,0,0,magic,0 //HW_MAGICPOWER#Mystical Amplification#
-367,9,8,1,0,0xD0,0,5,1,no,0,0,0,misc,0 //PA_PRESSURE#Gloria Domini#
-368,0,6,4,0,0x61,0,5,1,yes,0,0,0,weapon,0 //PA_SACRIFICE# Martyr's Reckoning#
-369,0,6,4,0,0x41,0,10,1,yes,0,0,0,misc,0 //PA_GOSPEL#Battle Chant#
-370,-2,6,1,-1,0,0,5,1,yes,0,0,0,weapon,3 //CH_PALMSTRIKE#Raging Palm Strike#
-371,-2,8,4,-1,0,0,5,1,no,0,0x200,0,weapon,0 //CH_TIGERFIST#Glacier Fist#
-372,-2,8,4,-1,0,0,10,-1:-1:-2:-2:-3:-3:-4:-4:-5:-5,no,0,0x200,0,weapon,0 //CH_CHAINCRUSH#Chain Crush Combo#
-373,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 //PF_HPCONVERSION#Health Conversion#
-374,9,6,1,0,0x1,0,1,1,yes,0,0xE00,0,none,0 //PF_SOULCHANGE#Soul Exhale#
-375,9,6,1,0,0x98,0,5,1,yes,0,0,0,magic,0 //PF_SOULBURN#Soul Siphon#
-376,0,0,0,0,0x1,0,5,1,no,0,0,0,weapon,0 //ASC_KATAR#Advanced Katar Mastery#
-//377,0,0,4,0,0x1,0,10,1,no,0,0,0,misc,0 //ASC_HALLUCINATION#Hallucination Walk#
-378,0,6,4,5,0x1,0,5,1,no,0,0,0,weapon,0 //ASC_EDP#Deadly Poison Enchantment#
-379,9,6,1,-1,0x8,0,10,1,yes,0,0,0,weapon,0 //ASC_BREAKER#Soul Destroyer#
-380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //SN_SIGHT#Falcon Eyes#
-381,5,8,1,0,0x40,0,5,1,yes,0,0,0,misc,0 //SN_FALCONASSAULT#Falcon Assault#
-382,4,8,1,-1,0,2,5,1,yes,0,0,14,weapon,0 //SN_SHARPSHOOTING#Focused Arrow Strike#
-383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0 //SN_WINDWALK#Wind Walker#
-384,0,0,4,0,0x1,0,10,1,yes,0,0,0,weapon,0 //WS_MELTDOWN#Shattering Strike#
-//385,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //WS_CREATECOIN#Create Coins#
-//386,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //WS_CREATENUGGET#Create Nuggets#
-387,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //WS_CARTBOOST#Cart Boost#
-//388,9,6,2,0,0x1,0,5,1,no,0,0,0,none,0 //WS_SYSTEMCREATE#Auto Attack System#
-389,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 //ST_CHASEWALK#Stealth#
-390,0,0,4,0,0,0,5,1,yes,0,0,0,weapon,0 //ST_REJECTSWORD#Counter Instinct#
-//391,0,0,4,0,1,0,1,1,yes,0,0,0,magic,0 //ST_STEALBACKPACK#Steal Backpack#
-392,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //CR_ALCHEMY#Alchemy#
-393,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //CR_SYNTHESISPOTION#Potion Synthesis#
-394,9,8,1,-1,0,0,10,-9,yes,0,0,0,weapon,0 //CG_ARROWVULCAN#Vulcan Arrow#
-395,0,0,4,0,0x1,3,1,1,yes,0,0x40,0,misc,2 //CG_MOONLIT#Sheltering Bliss#
-396,1,6,16,0,0x1,0,1,1,yes,0,0x600,0,none,0 //CG_MARIONETTE#Marionette Control#
-397,5,8,1,-1,0x20,0,5,5,no,0,0,0,weapon,0 //LK_SPIRALPIERCE#Spiral Pierce#
-398,4,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //LK_HEADCRUSH#Traumatic Blow#
-399,4,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //LK_JOINTBEAT#Vital Strike#
-400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0,0,magic,0 //HW_NAPALMVULCAN#Napalm Vulcan#
-401,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0 //CH_SOULCOLLECT#Zen#
-402,9,6,1,0,0x1,0,5,1,no,0,0,0,none,0 //PF_MINDBREAKER#Mind Breaker#
-403,0,0,4,0,0x1,0,1,1,yes,0,0,0,magic,0 //PF_MEMORIZE#Foresight#
-404,9,6,2,2,0x1,0,5,1,yes,0,0x100,2,magic,0 //PF_FOGWALL#Blinding Mist#
-405,7,6,1,0,0x1,0,1,1,no,0,0,3,magic,0 //PF_SPIDERWEB#Fiber Lock#
-406,0,6,4,-1,0xA,2,10,1,no,33,0,0,weapon,0 //ASC_METEORASSAULT#Meteor Assault#
-407,0,6,4,0,0x1,0,1,0,no,0,0,0,none,0 //ASC_CDP#Create Deadly Poison#
-408,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 //WE_BABY#Baby#
-409,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 //WE_CALLPARENT#Call Parent#
-410,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 //WE_CALLBABY#Call Baby#
-411,0,6,4,0,0x1,0,10,1,yes,0,0,0,misc,4 //TK_RUN#Running#
-412,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //TK_READYSTORM#Prepare Whirlwind#
-413,-2,8,4,-1,0x2,2,7,-3,no,0,0x200,0,weapon,0 //TK_STORMKICK#Whirlwind Kick#
-414,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //TK_READYDOWN#Prepare Axe Kick#
-415,-2,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0 //TK_DOWNKICK#Axe Kick#
-416,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //TK_READYTURN#Prepare Round Kick#
-417,-2,8,4,-1,0x2,1,7,-3,no,0,0x200,0,weapon,2 //TK_TURNKICK#Round Kick#
-418,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //TK_READYCOUNTER#Prepare Counter Kick#
-419,-2,8,4,-1,0x40,0,7,-3,no,0,0x200,0,weapon,0 //TK_COUNTER#Counter Kick#
-420,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //TK_DODGE#Break Fall#
-421,9,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0 //TK_JUMPKICK#Flying Side Kick#
-422,0,0,0,0,0,1,10,0,no,0,0,0,none,0 //TK_HPTIME#Peaceful Rest#
-423,0,0,0,0,0,1,10,0,no,0,0,0,none,0 //TK_SPTIME#Enjoyable Rest#
-424,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 //TK_POWER#Fighting Chant#
-425,0,6,4,2:4:1:3:8:7:6,0x1,0,7,1,no,0,0,0,weapon,0 //TK_SEVENWIND#Mild Wind#
-426,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //TK_HIGHJUMP#Taekwon Jump#
-427,0,6,4,0,0x1,0,3,1,yes,0,0,0,magic,0 //SG_FEEL#Feeling the Sun, Moon and Stars#
-428,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 //SG_SUN_WARM#Warmth of the Sun#
-429,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 //SG_MOON_WARM#Warmth of the Moon#
-430,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 //SG_STAR_WARM#Warmth of the Star#
-431,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 //SG_SUN_COMFORT#Comfort of the Sun#
-432,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 //SG_MOON_COMFORT#Comfort of the Moon#
-433,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 //SG_STAR_COMFORT#Comfort of the Star#
-434,10,6,1,0,0x1,0,3,1,yes,0,0,0,magic,0 //SG_HATE#Hatred of the Sun, Moon and Stars#
-435,0,0,0,0,0,0,3,0,no,0,0,0,none,0 //SG_SUN_ANGER#Sun's Wrath#
-436,0,0,0,0,0,0,3,0,no,0,0,0,none,0 //SG_MOON_ANGER#Moon's Wrath#
-437,0,0,0,0,0,0,3,0,no,0,0,0,none,0 //SG_STAR_ANGER#Stars's Wrath#
-438,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //SG_SUN_BLESS#Blessing of the Sun#
-439,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //SG_MOON_BLESS#Blessing of the Moon#
-440,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //SG_STAR_BLESS#Blessing of the Star#
-441,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //SG_DEVIL#Demon of the Sun, Moon and Stars#
-442,0,0,0,0,0,0,3,0,no,0,0,0,none,0 //SG_FRIEND#Friend of the Sun, Moon and Stars#
-443,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //SG_KNOWLEDGE#Knowledge of the Sun, Moon and Stars#
-444,0,6,4,0,0x1,0,1,1,no,0,0,0,misc,0 //SG_FUSION#Union of the Sun, Moon and Stars#
-445,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_ALCHEMIST#Spirit of the Alchemist#
-446,9,6,16,0,0x1,0,1,1,yes,0,0xC08,0,none,0 //AM_BERSERKPITCHER#Berserk Pitcher#
-447,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_MONK#Spirit of the Monk#
-448,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_STAR#Spirit of the Star Knight#
-449,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_SAGE#Spirit of the Professor#
-450,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_CRUSADER#Spirit of the Crusader#
-451,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_SUPERNOVICE#Spirit of the Supernovice#
-452,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_KNIGHT#Spirit of the Knight#
-453,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_WIZARD#Spirit of the Wizard#
-454,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_PRIEST#Spirit of the Priest#
-455,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_BARDDANCER#Spirit of the Artist#
-456,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_ROGUE#Spirit of the Rogue#
-457,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_ASSASIN#Spirit of the Assasin#
-458,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_BLACKSMITH#Spirit of the Blacksmith#
-459,0,6,4,0,0x3,-1,1,1,no,0,0x8,0,weapon,0 //BS_ADRENALINE2#Full Adrenaline Rush#
-460,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_HUNTER#Spirit of the Hunter#
-461,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 //SL_SOULLINKER#Spirit of the Soul Linker#
-462,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 //SL_KAIZEL#Kaizel#
-463,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 //SL_KAAHI#Kahai#
-464,9,6,16,0,0x1,0,3,1,yes,0,0,0,magic,0 //SL_KAUPE#Kauf#
-465,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 //SL_KAITE#Kaite#
-466,0,0,0,0,0,0,7,0,yes,0,0,0,magic,0 //SL_KAINA#Kaina#
-467,9,6,1,-2,0,0,7,1,no,0,0,0,magic,2 //SL_STIN#Estin#
-468,9,6,1,-2,0,0,7,1,no,0,0,0,magic,0 //SL_STUN#Estern#
-469,9,8,1,-2,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //SL_SMA#Esma#
-470,9,6,1,0,0x1,0,7,1,no,0,0,0,magic,0 //SL_SWOO#Esu#
-471,9,6,1,0,0x1,0,3,1,no,0,0,0,magic,0 //SL_SKE#Esk#
-472,9,6,1,0,0x1,0,3,1,no,0,0,0,magic,0 //SL_SKA#Eska#
-473,0,0,0,0,0,0,0,0,no,0,0,0,none,0 //SM_SELFPROVOKE##
-474,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_EMOTION_ON##
-475,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 //ST_PRESERVE#Preserve#
-476,1,6,1,0,0x1,0,5,1,yes,0,0,0,weapon,0 //ST_FULLSTRIP#Divest All#
-477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 //WS_WEAPONREFINE#Upgrade Weapon#
-478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0 //CR_SLIMPITCHER#Aid Condensed Potion#
-479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 //CR_FULLPROTECTION#Full Protection#
-480,5,8,1,0,0,0,5,5,no,0,0,0,weapon,0 //PA_SHIELDCHAIN#Shield Chain#
-481,0,0,0,0,0,0,5,0,no,0,0,0,none,0 //HP_MANARECHARGE#Mana Recharge#
-482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 //PF_DOUBLECASTING#Double Casting#
-483,9,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0 //HW_GANBANTEIN#Ganbantein#
-484,9,6,2,2,0x91,0,5,1,yes,0,0,0,misc,0 //HW_GRAVITATION#Gravity Field#
-485,-2,6,1,-1,0x8,0,10,1,no,0,0,0,weapon,0 //WS_CARTTERMINATION#Cart Termination#
-486,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 //WS_OVERTHRUSTMAX#Maximum Power Thrust#
-487,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 //CG_LONGINGFREEDOM#Longing for Freedom#
-488,0,6,4,0,0x1,1,5,1,no,0,0x40,0,misc,0 //CG_HERMODE#Wand of Hermod#
-489,9,6,1,0,0x41,0,5,1,no,0,0,0,misc,0 //CG_TAROTCARD#Tarot Card of Fate#
-490,9,8,1,0,0x40,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,misc,0 //CR_ACIDDEMONSTRATION#Acid Demonstration#
-491,1,6,2,0,0x1,0,2,1,no,0,0,0,none,0 //CR_CULTIVATION#Cultivation#
-492,0,6,4,0:1:2:3:4:5:6:7:8:9,0x1,0,10,1,no,0,0x2,0,none,0 //ITEM_ENCHANTARMS#Weapon Enchantment#
-493,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 //TK_MISSION#Taekwon Mission#
-494,9,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0 //SL_HIGH#Spirit of Rebirth#
-495,0,6,4,0,0x1,0,1,1,no,0,0x8,0,weapon,0 //KN_ONEHAND#Onehand Quicken#
-496,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 //AM_TWILIGHT1#Twilight Alchemy 1#
-497,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 //AM_TWILIGHT2#Twilight Alchemy 2#
-498,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 //AM_TWILIGHT3#Twilight Alchemy 3#
-499,-9,8,4,-1,0,0,1,2,no,0,0x208,0,weapon,0 //HT_POWER#Beast Strafing#
-500,0,6,4,0,0x40,0,5,1,no,0,0,0,misc,0 //GS_GLITTERING#Flip the Coin#
-501,9,6,1,-1,0x50,0,1,1,no,0,0,0,misc,0 //GS_FLING#Fling#
-502,-9,8,1,-1,0,0,1,3,no,0,0,0,weapon,0 //GS_TRIPLEACTION#Triple Action#
-503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0 //GS_BULLSEYE#Bulls Eye#
-504,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //GS_MADNESSCANCEL#Madness Canceler#
-505,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //GS_ADJUSTMENT#AdJustment#
-506,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 //GS_INCREASING#Increasing Accuracy#
-507,-9,6,1,8,0,0,1,1,no,0,0,0,weapon,0 //GS_MAGICALBULLET#Magical Bullet#
-508,-9,6,1,-1,0x1,0,1,1,no,0,0,0,weapon,0 //GS_CRACKER#Cracker#
-509,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //GS_SINGLEACTION#Single Action#
-510,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //GS_SNAKEEYE#Snake Eye#
-511,-9,8,0,-1,0,0,10,2,no,0,0,0,weapon,0 //GS_CHAINACTION#Chain Action#
-512,-9,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //GS_TRACKING#Tracking#
-513,-9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //GS_DISARM#Disarm#
-514,-9,6,1,-1,0x20,0,5,1,no,0,0,0,weapon,0 //GS_PIERCINGSHOT#Piercing Shot#
-515,-9,8,1,-1,0,0,10,5,no,0,0,0,weapon,0 //GS_RAPIDSHOWER#Rapid Shower#
-516,0,8,4,-1,0x2,3,10,1,no,0,0,0,weapon,0 //GS_DESPERADO#Desperado#
-517,0,6,4,-1,0x1,0,10,1,no,0,0,0,weapon,0 //GS_GATLINGFEVER#Gatling Fever#
-518,2,6,1,-1,0,0,10,1,no,0,0,0,weapon,5 //GS_DUST#Dust#
-519,-9,6,1,-1,0,0,10,1,yes,0,0,0,weapon,0 //GS_FULLBUSTER#Full Buster#
-520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0 //GS_SPREADATTACK#Spread Attack#
-521,-9,6,2,-1,0x40,1,10,1,no,0,0,0,weapon,3 //GS_GROUNDDRIFT#Ground Drift#
-522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0 //NJ_TOBIDOUGU#NJ_TOBIDOUGU#
-523,9,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0 //NJ_SYURIKEN#NJ_SYURIKEN#
-524,9,8,1,-1,0x40,0,5,3,no,0,0,0,weapon,0 //NJ_KUNAI#NJ_KUNAI#
-525,9,8,1,-1,0x6,1,5,-3:-3:-4:-4:-5,yes,0,0,0,weapon,0 //NJ_HUUMA#NJ_HUUMA#
-526,9,6,1,0,0x50,0,10,1,no,0,0,0,misc,0 //NJ_ZENYNAGE#NJ_ZENYNAGE#
-527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3 //NJ_TATAMIGAESHI#NJ_TATAMIGAESHI#
-528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //NJ_KASUMIKIRI#NJ_KASUMIKIRI#
-529,7:9:11:13:15,6,2,0,0x1,0,5,1,no,0,0,0,none,0 //NJ_SHADOWJUMP#NJ_SHADOWJUMP#
-530,7:9:11:13:15,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //NJ_KIRIKAGE#NJ_KIRIKAGE#
-531,0,6,4,0,0x1,0,5,1,no,0,0,0,none,7 //NJ_UTSUSEMI#NJ_UTSUSEMI#
-532,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 //NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU#
-533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU#
-534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 //NJ_KOUENKA#NJ_KOUENKA#
-535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,1 //NJ_KAENSIN#NJ_KAENSIN#
-536,9,8,1,3,0x2,2,5,3,yes,0,0,0,magic,0 //NJ_BAKUENRYU#NJ_BAKUENRYU#
-537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0 //NJ_HYOUSENSOU#NJ_HYOUSENSOU#
-538,9,6,2,0,0x1,0,10,1,yes,0,0,0,magic,0 //NJ_SUITON#NJ_SUITON#
-539,0,6,4,1,0x2,3,5,1,yes,0,0,0,magic,0 //NJ_HYOUSYOURAKU#NJ_HYOUSYOURAKU#
-540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0 //NJ_HUUJIN#NJ_HUUJIN#
-541,9,6,4,4,0x2,2:2:3:3:4,5,1,yes,0,0,0,magic,0 //NJ_RAIGEKISAI#NJ_RAIGEKISAI#
-542,9,8,1,4,0,3,5,1,yes,0,0,5:6:7:8:9,magic,0 //NJ_KAMAITACHI#NJ_KAMAITACHI#
-543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0 //NJ_NEN#NJ_NEN#
-544,-5,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0 //NJ_ISSEN#NJ_ISSEN#
+// 16 Name
+// 17 Description
+1,0,0,0,0,0,0,9,0,no,0,0,0,none,0 ,NV_BASIC,Basic Skill
+2,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,SM_SWORD,Sword Mastery
+3,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,SM_TWOHAND,Two-Handed Sword Mastery
+4,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,SM_RECOVERY,Increase HP Recovery
+5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 ,SM_BASH,Bash
+6,9,6,1,0,1,0,10,1,no,0,0,0,none,0 ,SM_PROVOKE,Provoke
+7,0,6,4,3,0x2,2,10,1,no,0,0,0,weapon,2 ,SM_MAGNUM,Magnum Break
+8,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,SM_ENDURE,Endure
+9,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,MG_SRECOVERY,Increase SP Recovery
+10,0,6,4,3,0x3,3,1,1,yes,0,0,0,magic,0 ,MG_SIGHT,Sight
+11,9,6,1,8,0x6,1,10,1,yes,0,0,0,magic,0 ,MG_NAPALMBEAT,Napalm Beat
+12,9,8,2,8,0x1,0,10,1,yes,0,0,0,magic,0 ,MG_SAFETYWALL,Safety Wall
+13,9,8,1,8,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0,0,magic,0 ,MG_SOULSTRIKE,Soul Strike
+14,9,8,1,1,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,MG_COLDBOLT,Cold Bolt
+15,9,6,1,1,0,0,10,1,yes,0,0,0,magic,0 ,MG_FROSTDIVER,Frost Diver
+16,2,6,1,2,0x1,0,10,1,yes,0,0,0,magic,0 ,MG_STONECURSE,Stone Curse
+17,9,6,1,3,0x2,2,10,1,yes,0,0,0,magic,0 ,MG_FIREBALL,Fire Ball
+18,9,6,2,3,0,0,10,1,yes,0,0,3,magic,2 ,MG_FIREWALL,Fire Wall
+19,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,MG_FIREBOLT,Fire Bolt
+20,9,8,1,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,MG_LIGHTNINGBOLT,Lightning Bolt
+21,9,8,2,4,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,MG_THUNDERSTORM,Thunderstorm
+22,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,AL_DP,Divine Protection
+23,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,AL_DEMONBANE,Demon Bane
+24,0,6,4,6,0x3,2,1,1,yes,0,0,0,magic,0 ,AL_RUWACH,Ruwach
+25,9,6,2,0,0x1,0,1,1,yes,0,0,0,magic,0 ,AL_PNEUMA,Pneuma
+26,0,6,4,0,0x1,0,2,1,yes,0,0,0,magic,0 ,AL_TELEPORT,Teleport
+27,9,6,2,0,0x1,0,4,1,yes,0,0,3,magic,0 ,AL_WARP,Warp Portal
+28,9,6,16,6,0x21,0,10,1,yes,0,0,0,magic,0 ,AL_HEAL,Heal
+29,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 ,AL_INCAGI,Increase AGI
+30,9,6,1,0,0x1,0,10,1,yes,0,0,0,magic,0 ,AL_DECAGI,Decrease AGI
+31,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0 ,AL_HOLYWATER,Aqua Benedicta
+32,0,6,4,0,0x3,15,10,1,yes,0,0,0,magic,0 ,AL_CRUCIS,Signum Crucis
+33,0,6,4,0,0x3,-1,10,1,yes,0,0,0,magic,0 ,AL_ANGELUS,Angelus
+34,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 ,AL_BLESSING,Blessing
+35,9,6,16,0,0x1,0,1,1,yes,0,0,0,magic,0 ,AL_CURE,Cure
+36,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,MC_INCCARRY,Enlarge Weight Limit
+37,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,MC_DISCOUNT,Discount
+38,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,MC_OVERCHARGE,Overcharge
+39,1,0,0,0,0,0,10,0,no,0,0,0,none,0 ,MC_VENDING,Pushcart
+40,1,6,4,0,0x1,0,1,1,no,0,0,0,none,0 ,MC_IDENTIFY,Item Appraisal
+41,1,6,4,0,0x1,0,10,1,no,0,0,0,none,0 ,MC_VENDING,Vending
+42,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 ,MC_MAMMONITE,Mammonite
+43,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AC_OWL,Owl's Eye
+44,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AC_VULTURE,Vulture's Eye
+45,0,6,4,0,0x3,3,10,1,no,0,0,0,weapon,0 ,AC_CONCENTRATION,Improve Concentration
+46,-9,8,1,-1,0,0,10,2,no,0,0,0,weapon,0 ,AC_DOUBLE,Double Strafe
+47,-9,6,2,-1,0x2,2,10,1,no,0,0,0,weapon,2 ,AC_SHOWER,Arrow Shower
+48,-1,8,0,-1,0,0,10,2,no,0,0,0,weapon,0 ,TF_DOUBLE,Double Attack
+49,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,TF_MISS,Improve Dodge
+50,1,6,1,0,1,0,10,1,no,0,0,0,weapon,0 ,TF_STEAL,Steal
+51,1,6,4,0,1,0,10,1,no,0,0,0,none,0 ,TF_HIDING,Hiding
+52,-2,6,1,5,0,0,10,1,no,0,0,0,weapon,0 ,TF_POISON,Envenom
+53,9,6,16,5,0x1,0,1,1,no,0,0,0,weapon,0 ,TF_DETOXIFY,Detoxify
+54,9,6,16,6,0x1,0,4,1,yes,0,0,0,magic,0 ,ALL_RESURRECTION,Resurrection
+55,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,KN_SPEARMASTERY,Spear Mastery
+56,-2,8,1,-1,0,0,10,3,no,0,0,0,weapon,0 ,KN_PIERCE,Pierce
+57,-2,6,1,-1,0x1,0,10,1,no,33,0,0,weapon,3 ,KN_BRANDISHSPEAR,Brandish Spear
+58,-4,6,1,-1,0x2,0,10,1,no,0,0,0,weapon,6 ,KN_SPEARSTAB,Spear Stab
+59,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,KN_SPEARBOOMERANG,Spear Boomerang
+60,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,KN_TWOHANDQUICKEN,Twohand Quicken
+61,0,6,4,-1,0x20,0,5,1,no,0,0,0,weapon,0 ,KN_AUTOCOUNTER,Counter Attack
+62,-2,6,1,-1,0x2,1,10,1,no,33,0,0,weapon,1 ,KN_BOWLINGBASH,Bowling Bash
+63,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 ,KN_RIDING,Peco Peco Riding
+64,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,KN_CAVALIERMASTERY,Cavalier Mastery
+65,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,PR_MACEMASTERY,Mace Mastery
+66,9,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0 ,PR_IMPOSITIO,Impositio Manus
+67,9,6,16,0,0x1,0,3,1,yes,0,0x200,0,magic,0 ,PR_SUFFRAGIUM,Suffragium
+68,9,6,16,6,0x31,0,5,1,yes,0,0,0,magic,0 ,PR_ASPERSIO,Aspersio
+69,9,6,2,0,0x23,1,5,1,yes,0,0x40,0,magic,0 ,PR_BENEDICTIO,B.S. Sacramenti
+70,9,6,2,6,0x21,0,10,1,yes,0,0,0,magic,1 ,PR_SANCTUARY,Sanctuary
+71,9,6,16,0,0x1,0,4,1,yes,0,0,0,magic,0 ,PR_SLOWPOISON,Slow Poison
+72,9,6,16,0,0x1,0,1,1,yes,0,0,0,magic,0 ,PR_STRECOVERY,Status Recovery
+73,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0 ,PR_KYRIE,Kyrie Eleison
+74,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0 ,PR_MAGNIFICAT,Magnificat
+75,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0 ,PR_GLORIA,Gloria
+76,5,6,1,0,0x1,0:0:0:0:0:0:0:0:0:0:-1,10,0,yes,0,0,0,magic,0 ,PR_LEXDIVINA,Lex Divina
+77,5,6,1,6,0x28,0,10,1,yes,0,0,0,magic,0 ,PR_TURNUNDEAD,Turn Undead
+78,9,6,1,0,0x1,0,1,0,yes,0,0,0,magic,0 ,PR_LEXAETERNA,Lex Aeterna
+79,9,8,2,6,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,PR_MAGNUS,Magnus Exorcismus
+80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12:12,yes,0,0x80,5,magic,0 ,WZ_FIREPILLAR,Fire Pillar
+81,0,6,4,3,0,3,10,1,yes,0,0,0,magic,5 ,WZ_SIGHTRASHER,Sightrasher
+,82,9,6,2,3,0,0,10,1,yes,0,0,0,magic,0 ,WZ_FIREIVY,Fire Ivy
+83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0,0,magic,0 ,WZ_METEOR,Meteor Storm
+84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7 ,WZ_JUPITEL,Jupitel Thunder
+85,9,8,2,4,0,0,10,-10,yes,0,0,0,magic,0 ,WZ_VERMILION,Lord of Vermilion
+86,9,8,1,1,0,0,5,1,yes,0,0,0,magic,0 ,WZ_WATERBALL,Water Ball
+87,9,6,2,1,0,0,10,1,yes,0,0,0,magic,0 ,WZ_ICEWALL,Ice Wall
+88,0,6,4,1,0x2,2,10,1,yes,0,0,0,magic,0 ,WZ_FROSTNOVA,Frost Nova
+89,9,6,2,1,0,0,10,1,yes,0,0,0,magic,2 ,WZ_STORMGUST,Storm Gust
+90,9,8,1,2,0,0,5,1:2:3:4:5,yes,0,0,0,magic,0 ,WZ_EARTHSPIKE,Earth Spike
+91,9,8,2,2,0,0,5,1:2:3:4:5,yes,0,0,0,magic,0 ,WZ_HEAVENDRIVE,Heaven's Drive
+92,9,6,2,2,0x1,0,5,1,yes,0,0,3,magic,0 ,WZ_QUAGMIRE,Quagmire
+93,9,6,1,0,0x1,0,1,1,yes,0,0,0,magic,0 ,WZ_ESTIMATION,Sense
+94,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,BS_IRON,Iron Tempering
+95,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,BS_STEEL,Steel Tempering
+96,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,BS_ENCHANTEDSTONE,Enchanted Stone Craft
+97,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,BS_ORIDEOCON,Oridecon Research
+98,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_DAGGER,Smith Dagger
+99,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_SWORD,Smith Sword
+100,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_TWOHANDSWORD,Smith Two-handed Sword
+101,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_AXE,Smith Axe
+102,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_MACE,Smith Mace
+103,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_KNUCKLE,Smith Knucklebrace
+104,0,0,0,0,0,0,3,0,no,0,0,0,weapon,0 ,BS_SPEAR,Smith Spear
+105,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 ,BS_HILTBINDING,Hilt Binding
+106,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0 ,BS_FINDINGORE,Ore Discovery
+107,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,BS_WEAPONRESEARCH,Weaponry Research
+108,2,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0 ,BS_REPAIRWEAPON,Weapon Repair
+109,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,BS_SKINTEMPER,Skin Tempering
+110,1,6,2,0,0x3,2:2:2:2:2:14,5,1,no,0,0,0,weapon,0 ,BS_HAMMERFALL,Hammer Fall
+111,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 ,BS_ADRENALINE,Adrenaline Rush
+112,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 ,BS_WEAPONPERFECT,Weapon Perfection
+113,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0 ,BS_OVERTHRUST,Power-Thrust
+114,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,BS_MAXIMIZE,Maximize Power
+115,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,6:7:8:9:10 ,HT_SKIDTRAP,Skid Trap
+116,3,6,2,2,0x40,0,5,1,no,0,0x80,0,misc,0 ,HT_LANDMINE,Land Mine
+117,3,6,2,0,0x1,0,5,1,no,0,0x80,0,misc,0 ,HT_ANKLESNARE,Ankle Snare
+118,3,6,2,0,0x2,1,5,1,no,0,0x80,0,misc,0 ,HT_SHOCKWAVE,Shockwave Trap
+119,3,6,2,0,0x3,2,5,1,no,0,0x80,0,misc,0 ,HT_SANDMAN,Sandman
+120,3,6,2,0,0x3,1,5,1,no,0,0x80,0,misc,0 ,HT_FLASHER,Flasher
+121,3,6,2,1,0x42,1,5,1,no,0,0x80,0,misc,0 ,HT_FREEZINGTRAP,Freezing Trap
+122,3,6,2,4,0x42,1,5,1,no,0,0x80,0,misc,0 ,HT_BLASTMINE,Blast Mine
+123,3,6,2,3,0x42,2,5,1,no,0,0x80,0,misc,0 ,HT_CLAYMORETRAP,Claymore Trap
+124,2,6,32,0,0x1,0,1,1,no,0,0,0,misc,0 ,HT_REMOVETRAP,Remove Trap
+125,3,6,2,0,0x1,0,1,1,no,0,0,0,misc,0 ,HT_TALKIEBOX,Talkie Box
+126,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,HT_BEASTBANE,Beast Bane
+127,0,0,0,0,0,0,1,0,no,0,0,0,misc,0 ,HT_FALCON,Falconry Mastery
+128,0,0,0,0,0,0,10,0,no,0,0,0,misc,0 ,HT_STEELCROW,Steel Crow
+129,5,8,1,0,0x42,1,5,1:2:3:4:5,yes,0,0,0,misc,0 ,HT_BLITZBEAT,Blitz Beat
+130,3:5:7:9,6,2,0,0x3,3,4,1,no,0,0,0,misc,0 ,HT_DETECTING,Detect
+131,4:5:6:7:8,6,32,0,0x1,0,5,1,no,0,0,0,misc,0 ,HT_SPRINGTRAP,Spring Trap
+132,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,AS_RIGHT,Righthand Mastery
+133,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,AS_LEFT,Lefthand Mastery
+134,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,AS_KATAR,Katar Mastery
+135,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,AS_CLOAKING,Cloaking
+136,-1,8,1,-1,0,0,10,8,no,0,0,0,weapon,0 ,AS_SONICBLOW,Sonic Blow
+137,3:4:5:6:7,6,1,-1,0x2,1,5,1,no,0,0,0,weapon,0,AS_GRIMTOOTH,Grimtooth
+138,1,6,16,5,0x1,0,10,1,no,0,0x400,0,weapon,0 ,AS_ENCHANTPOISON,Enchant Poison
+139,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0 ,AS_POISONREACT,Poison React
+140,2,6,2,5,0x1,0,10,1,no,0,0,0,weapon,0 ,AS_VENOMDUST,Venom Dust
+141,1,6,1,-1,0xF,2,10,1,yes,0,0,0,weapon,0 ,AS_SPLASHER,Venom Splasher
+142,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 ,NV_FIRSTAID,First Aid
+143,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 ,NV_TRICKDEAD,Play Dead
+144,0,0,0,0,0,0,1,0,no,0,0x1,0,none,0 ,SM_MOVINGRECOVERY,Moving HP-Recovery
+145,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 ,SM_FATALBLOW,Fatal Blow
+146,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0 ,SM_AUTOBERSERK,Auto Berserk
+147,0,0,4,0,0x1,0,1,0,no,0,0x1,0,weapon,0 ,AC_MAKINGARROW,Arrow Crafting
+148,-9,6,1,-1,0x2,0,1,1,no,0,0x1,0,weapon,6 ,AC_CHARGEARROW,Arrow Repel
+149,1,6,1,2,0,0,1,1,no,0,0x1,0,weapon,0 ,TF_SPRINKLESAND,Sand Attack
+150,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,5 ,TF_BACKSLIDING,Back Slide
+151,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 ,TF_PICKSTONE,Find Stone
+152,7,6,1,0,0x40,0,1,1,no,0,0x1,0,misc,0 ,TF_THROWSTONE,Stone Fling
+153,1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,2 ,MC_CARTREVOLUTION,Cart Revolution
+154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0 ,MC_CHANGECART,Change Cart
+155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0 ,MC_LOUD,Crazy Uproar
+156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0 ,AL_HOLYLIGHT,Holy Light
+157,0,6,4,0,0x1,0,1,1,yes,0,0x1,0,magic,0 ,MG_ENERGYCOAT,Energy Coat
+158,3,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_PIERCINGATT,Piercing Attack
+159,-1,6,1,-1,0x40,0,5,1,no,0,0x2,0,weapon,0 ,NPC_MENTALBREAKER,Spirit Destruction
+160,9,6,1,0,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_RANGEATTACK,Stand off attack
+161,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_ATTRICHANGE,Attribute Change
+162,0,0,4,1,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEWATER,Water Attribute Change
+163,0,0,4,2,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEGROUND,Earth Attribute Change
+164,0,0,4,3,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEFIRE,Fire Attribute Change
+165,0,0,4,4,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEWIND,Wind Attribute Change
+166,0,0,4,5,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEPOISON,Poison Attribute Change
+167,0,0,4,6,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEHOLY,Holy Attribute Change
+168,0,0,4,7,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGEDARKNESS,Shadow Attribute Change
+169,0,0,4,8,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_CHANGETELEKINESIS,Ghost Attribute Change
+170,-9,6,1,-1,0x20,0,10,1,no,0,0x2,0,weapon,0 ,NPC_CRITICALSLASH,Defense disregard attack
+171,-9,8,1,-1,0,0,10,-2:-3:-4:-5:-6:-7:-8:-9:-10:-11,no,0,0x2,0,weapon,0 ,NPC_COMBOATTACK,Multi-stage Attack
+172,-9,6,1,-1,0x40,0,10,1,no,0,0x2,0,weapon,0 ,NPC_GUIDEDATTACK,Guided Attack
+173,5,6,4,3,0xD2,5,10,1,no,0,0x2,0,misc,3 ,NPC_SELFDESTRUCTION,Suicide bombing
+174,-9,6,1,-1,0x2,3,1,1,no,0,0x2,0,weapon,0 ,NPC_SPLASHATTACK,Splash attack
+175,0,0,4,0,0x41,0,10,1,no,0,0x2,0,misc,0 ,NPC_SUICIDE,Suicide
+176,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_POISON,Poison Attack
+177,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_BLINDATTACK,Blind Attack
+178,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_SILENCEATTACK,Silence Attack
+179,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_STUNATTACK,Stun Attack
+180,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_PETRIFYATTACK,Petrify Attack
+181,-9,6,1,7,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_CURSEATTACK,Curse Attack
+182,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_SLEEPATTACK,Sleep attack
+183,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_RANDOMATTACK,Random Attack
+184,-9,6,1,1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_WATERATTACK,Water Attribute Attack
+185,-9,6,1,2,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_GROUNDATTACK,Earth Attribute Attack
+186,-9,6,1,3,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_FIREATTACK,Fire Attribute Attack
+187,-9,6,1,4,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_WINDATTACK,Wind Attribute Attack
+188,-9,6,1,5,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_POISONATTACK,Poison Attribute Attack
+189,-9,6,1,6,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_HOLYATTACK,Holy Attribute Attack
+190,-9,6,1,7,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_DARKNESSATTACK,Shadow Attribute Attack
+191,-9,6,1,8,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_TELEKINESISATTACK,Ghost Attribute Attack
+192,-9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_MAGICALATTACK,Demon Shock Attack
+193,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_METAMORPHOSIS,Metamorphosis
+194,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_PROVOCATION,Provocation
+195,0,6,4,0,0x50,0,10,1,no,0,0x2,0,misc,0 ,NPC_SMOKING,Smoking
+196,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 ,NPC_SUMMONSLAVE,Follower Summons
+197,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_EMOTION,Emotion
+198,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 ,NPC_TRANSFORMATION,Transformation
+199,9,6,1,7,0x40,0,1,1,no,0,0x2,0,weapon,0 ,NPC_BLOODDRAIN,Sucking Blood
+200,9,6,1,7,0,0,1,1,no,0,0x2,0,magic,0 ,NPC_ENERGYDRAIN,Energy Drain
+201,0,0,4,0,0x1,0,1,1,no,0,0x2,0,weapon,0 ,NPC_KEEPING,Keeping
+202,9,6,1,7,0,0,5,1,no,0,0x2,0,misc,0 ,NPC_DARKBREATH,Dark Breath
+203,9,6,1,7,0x1,0,10,1,no,0,0x2,0,magic,0 ,NPC_DARKBLESSING,Dark Blessing
+204,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_BARRIER,Barrier
+205,0,0,4,0,0x1,0,1,1,no,0,0x2,0,weapon,0 ,NPC_DEFENDER,Defender
+206,1,6,1,-1,0x1,0,5,1,no,0,0x2,0,weapon,0 ,NPC_LICK,Lick
+207,9,0,1,0,0x1,0,10,1,no,0,0x2,0,magic,0 ,NPC_HALLUCINATION,Hallucination
+208,0,0,4,0,0x1,0,1,1,no,0,0x2,0,magic,0 ,NPC_REBIRTH,Rebirth
+209,0,0,4,0,0x1,0,10,1,no,0,0x2,0,magic,0 ,NPC_SUMMONMONSTER,Monster Summons
+210,0,0,0,-1,0,0,10,0,no,0,0,0,weapon,0 ,RG_SNATCHER,Gank
+211,1,6,1,0,0x1,0,10,1,no,0,0,0,weapon,0 ,RG_STEALCOIN,Mug
+212,-1,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0 ,RG_BACKSTAP,Back Stab
+213,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,RG_TUNNELDRIVE,Stalk
+214,0,6,4,-1,0x2,1,5,1,no,0,0,0,weapon,0 ,RG_RAID,Sightless Mind
+215,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 ,RG_STRIPWEAPON,Divest Weapon
+216,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 ,RG_STRIPSHIELD,Divest Shield
+217,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 ,RG_STRIPARMOR,Divest Armor
+218,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0 ,RG_STRIPHELM,Divest Helm
+219,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,RG_INTIMIDATE,Snatch
+220,1,6,2,0,0x1,0,1,1,no,0,0,0,none,0 ,RG_GRAFFITI,Scribble
+221,0,6,2,0,0x1,0,5,1,no,0,0,0,none,0 ,RG_FLAGGRAFFITI,Piece
+222,1,6,2,0,0x3,5,1,1,no,0,0,0,none,0 ,RG_CLEANER,Remover
+223,0,0,0,0,0,1,1,0,no,0,0,0,none,0 ,RG_GANGSTER,Slyness
+224,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,RG_COMPULSION,Haggle
+225,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,RG_PLAGIARISM,Intimidate
+226,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,AM_AXEMASTERY,Axe Mastery
+227,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AM_LEARNINGPOTION,Potion Research
+228,0,6,4,0,0x1,0,10,0,no,0,0,0,none,0 ,AM_PHARMACY,Prepare Potion
+229,9,6,2,3,0x9,0,5,1,yes,0,0,0,weapon,0 ,AM_DEMONSTRATION,Bomb
+230,9,6,1,0,0x48,0,5,1,yes,0,0,0,weapon,0 ,AM_ACIDTERROR,Acid Terror
+231,9,6,16,0,0x1,0,5,1,yes,0,0xC00,0,none,0 ,AM_POTIONPITCHER,Aid Potion
+232,4,6,2,0,0x1,0,5,1,no,0,0,5,none,0 ,AM_CANNIBALIZE,Summon Flora
+233,1,6,2,0,0x1,0,5,1,no,0,0,3,none,0 ,AM_SPHEREMINE,Summon Marine Sphere
+234,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,AM_CP_WEAPON,Alchemical Weapon
+235,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,AM_CP_SHIELD,Synthesized Shield
+236,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,AM_CP_ARMOR,Synthetic Armor
+237,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,AM_CP_HELM,Biochemical Helm
+238,0,0,0,0,0,0,1,0,no,0,0x1,0,none,0 ,AM_BIOETHICS,Bioethics
+//239,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AM_BIOTECHNOLOGY,Biotechnology
+//240,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,AM_CREATECREATURE,Life Creation
+//241,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,AM_CULTIVATION,Cultivation
+//242,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,AM_FLAMECONTROL,Flame Control
+243,0,0,4,0,0x1,1,1,0,no,0,0,0,none,0 ,AM_CALLHOMUN,Call Homunculus
+244,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0 ,AM_REST,Vaporize
+//245,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AM_DRILLMASTER,Drillmaster
+//246,9,0,0,0,0,0,10,0,no,0,0,0,none,0 ,AM_HEALHOMUN,Heal Homunculus
+247,9,6,4,0,0x1,1,5,0,no,0,0,0,none,0 ,AM_RESURRECTHOMUN,Homunculus Resurrection
+248,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,CR_TRUST,Faith
+249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,CR_AUTOGUARD,Guard
+250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9 ,CR_SHIELDCHARGE,Smite
+251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0 ,CR_SHIELDBOOMERANG,Shield Boomerang
+252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0 ,CR_REFLECTSHIELD,Shield Reflect
+253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0 ,CR_HOLYCROSS,Holy Cross
+254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0 ,CR_GRANDCROSS,Grand Cross
+255,7:8:9:10:11,6,16,0,0x1,0,5,1,yes,0,0x600,0,none,0 ,CR_DEVOTION,Sacrifice
+256,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,none,0 ,CR_PROVIDENCE,Resistant Souls
+257,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,CR_DEFENDER,Defending Aura
+258,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,CR_SPEARQUICKEN,Spear Quicken
+259,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,MO_IRONHAND,Iron Fists
+260,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,MO_SPIRITSRECOVERY,Spiritual Cadence
+261,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 ,MO_CALLSPIRITS,Summon Spirit Sphere
+262,9,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0 ,MO_ABSORBSPIRITS,Absorb Spirit Sphere
+263,-1,8,0,-1,0,0,10,-3,no,0,0,0,weapon,0 ,MO_TRIPLEATTACK,Raging Trifecta Blow
+264,18,6,2,0,0x1,0,1,1,no,0,0,0,none,0 ,MO_BODYRELOCATION,Snap
+265,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,MO_DODGE,Dodge
+266,2,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0 ,MO_INVESTIGATE,Occult Impaction
+267,9,8,1,-1,0,0,5,1:2:3:4:5,no,0,0,0,weapon,0 ,MO_FINGEROFFENSIVE,Throw Spirit Sphere
+268,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,MO_STEELBODY,Mental Strength
+269,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,MO_BLADESTOP,Root
+270,0,6,4,0,0x1,0,5,0,no,0,0,0,weapon,0 ,MO_EXPLOSIONSPIRITS,Fury
+271,-2,6,4,0,0x60,0,5,1,yes,0,0x200,0,weapon,0 ,MO_EXTREMITYFIST,Asura Strike
+272,-2,8,4,-1,0,0,5,-4,no,0,0x200,0,weapon,0 ,MO_CHAINCOMBO,Raging Quadruple Blow
+273,-2,6,4,-1,0x2,2,5,1,no,0,0x200,0,weapon,0 ,MO_COMBOFINISH,Raging Thrust
+274,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,SA_ADVANCEDBOOK,Study
+275,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 ,SA_CASTCANCEL,Cast Cancel
+276,0,6,4,0,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_MAGICROD,Magic Rod
+277,9,6,1,0,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_SPELLBREAKER,Spell Breaker
+278,0,0,0,0,0,0,10,0,no,0,0,0,magic,0 ,SA_FREECAST,Free Cast
+279,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 ,SA_AUTOSPELL,Hindsight
+280,9,6,16,3,0x1,0,5,1,yes,0,0xC00,0,magic,0 ,SA_FLAMELAUNCHER,Endow Blaze
+281,9,6,16,1,0x1,0,5,1,yes,0,0xC00,0,magic,0 ,SA_FROSTWEAPON,Endow Tsunami
+282,9,6,16,4,0x1,0,5,1,yes,0,0xC00,0,magic,0 ,SA_LIGHTNINGLOADER,Endow Tornado
+283,9,6,16,2,0x1,0,5,1,yes,0,0xC00,0,magic,0 ,SA_SEISMICWEAPON,Endow Quake
+284,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,SA_DRAGONOLOGY,Dragonology
+285,2,6,2,3,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_VOLCANO,Volcano
+286,2,6,2,1,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_DELUGE,Deluge
+287,2,6,2,4,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_VIOLENTGALE,Whirlwind
+288,3,6,2,0,0x1,0,5,1,yes,0,0,0,magic,0 ,SA_LANDPROTECTOR,Magnetic Earth
+289,9,6,1,0,0x1,0:0:0:0:0:-1,5,1,yes,0,0xE00,0,magic,0 ,SA_DISPELL,Dispell
+290,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 ,SA_ABRACADABRA,Hocus-pocus
+291,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_MONOCELL,Monocell
+292,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_CLASSCHANGE,Class Change
+293,0,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_SUMMONMONSTER,Monster Chant
+294,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_REVERSEORCISH,Grampus Morph
+295,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_DEATH,Grim Reaper
+296,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_FORTUNE,Gold Digger
+297,9,6,1,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_TAMINGMONSTER,Beastly Hypnosis
+298,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_QUESTION,Questioning
+299,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_GRAVITY,Gravity
+300,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_LEVELUP,Leveling
+301,9,6,4,0,0,0,1,1,yes,0,0x2,0,magic,0 ,SA_INSTANTDEATH,Suicide
+302,9,6,4,0,0x1,0,1,1,yes,0,0x2,0,magic,0 ,SA_FULLRECOVERY,Rejuvenation
+303,9,6,4,0,0,0,1,1,yes,0,0x2,0,magic,0 ,SA_COMA,Coma
+304,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 ,BD_ADAPTATION,Amp
+305,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 ,BD_ENCORE,Encore
+306,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 ,BD_LULLABY,Lullaby
+307,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 ,BD_RICHMANKIM,Mental Sensing
+308,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 ,BD_ETERNALCHAOS,Down Tempo
+309,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 ,BD_DRUMBATTLEFIELD,Battle Theme
+310,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 ,BD_RINGNIBELUNGEN,Harmonic Lick
+311,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 ,BD_ROKISWEIL,Classical Pluck
+312,0,6,4,0,0x1,0,1,1,no,0,0x40,0,misc,0 ,BD_INTOABYSS,Power Chord
+313,0,6,4,0,0x1,0,5,1,no,0,0x40,0,misc,0 ,BD_SIEGFRIED,Acoustic Rhythm
+//314,0,0,0,0,0,0,1,1,no,0,0x40,0,misc,0 ,BD_RAGNAROK,Ragnarok
+315,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,BA_MUSICALLESSON,Music Lessons
+316,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,BA_MUSICALSTRIKE,Melody Strike
+317,0,8,4,0,0x41,0,5,1,no,0,0x20,0,misc,0 ,BA_DISSONANCE,Unchained Serenade
+318,0,6,4,0,0x3,-1,5,1,no,0,0,0,misc,0 ,BA_FROSTJOKE,Unbarring Octave
+319,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,BA_WHISTLE,Perfect Tablature
+320,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,BA_ASSASSINCROSS,Impressive Riff
+321,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,BA_POEMBRAGI,Magic Strings
+322,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,BA_APPLEIDUN,Song of Lutie
+323,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0 ,DC_DANCINGLESSON,Dance Lessons
+324,9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,DC_THROWARROW,Slinging Arrow
+325,0,8,4,0,0x1,0,5,1,no,0,0x20,0,misc,0 ,DC_UGLYDANCE,Hip Shaker
+326,0,6,4,0,0x3,-1,5,1,no,0,0,0,misc,0 ,DC_SCREAM,Dazzler
+327,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,DC_HUMMING,Focus Ballet
+328,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,DC_DONTFORGETME,Slow Grace
+329,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,DC_FORTUNEKISS,Lady Luck
+330,0,6,4,0,0x1,0,10,1,no,0,0x20,0,misc,0 ,DC_SERVICEFORYOU,Gypsy's Kiss
+331,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 ,NPC_RANDOMMOVE,Random Move
+332,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 ,NPC_SPEEDUP,Speed UP
+333,0,6,4,0,0x1,0,1,0,no,0,0x2,0,none,0 ,NPC_REVENGE,Revenge
+334,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 ,WE_MALE,I Will Protect You
+335,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 ,WE_FEMALE,I Look up to You
+336,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 ,WE_CALLPARTNER,I miss You
+337,9,6,1,-1,0,0,1,1,no,0,0x2,0,weapon,0 ,ITM_TOMAHAWK,Throw Tomahawk
+338,-1,8,1,7,0,0,10,-2,no,0,0x2,0,weapon,0 ,NPC_DARKCROSS,Cross of Darkness
+339,5,6,4,7,0x48,0,10,1,no,33,0x102,0,magic,0 ,NPC_GRANDDARKNESS,Grand cross of Darkness
+340,9,8,1,7,0,0,10,1:1:2:2:3:3:4:4:5:5,yes,0,0x2,0,magic,0 ,NPC_DARKSTRIKE,Soul Strike of Darkness
+341,9,8,1,7,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2,0,magic,2:3:3:4:4:5:5:6:6:7 ,NPC_DARKTHUNDER,Darkness Jupitel
+342,9,6,1,0,0x1,0,1,0,no,0,0x2,0,none,0 ,NPC_STOP,Stop
+343,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_WEAPONBRAKER,Break weapon
+344,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_ARMORBRAKE,Break armor
+345,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_HELMBRAKE,Break helm
+346,9,6,1,-1,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_SHIELDBRAKE,Break shield
+347,-9,6,1,9,0,0,10,1,no,0,0x2,0,weapon,0 ,NPC_UNDEADATTACK,Undead Element Attack
+348,9,0,1,9,0x1,0,5,1,no,0,0x2,0,magic,0 ,NPC_CHANGEUNDEAD,Undead Attribute Change
+349,0,6,4,0,0x1,0,10,0,no,0,0x2,0,weapon,0 ,NPC_POWERUP,Power Up
+350,0,6,4,0,0x1,0,10,0,no,0,0x2,0,none,0 ,NPC_AGIUP,Agility UP
+351,0,0,0,0,0x1,0,1,0,no,0,0x2,0,none,0 ,NPC_SIEGEMODE,Siege Mode
+352,2,0,4,0,0x1,0,1,0,no,0,0x2,0,none,0 ,NPC_CALLSLAVE,Recall Slaves
+353,0,0,0,0,0x1,0,1,0,no,0,0x2,0,none,0 ,NPC_INVISIBLE,Invisible
+354,2,6,4,0,0x1,0,20,0,no,0,0x2,0,misc,0 ,NPC_RUN,Run
+355,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,LK_AURABLADE,Aura Blade
+356,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,LK_PARRYING,Parrying
+357,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,LK_CONCENTRATION,Concentration
+358,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,LK_TENSIONRELAX,Relax
+359,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,LK_BERSERK,Frenzy
+//360,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,LK_FURY,Fury
+361,9,6,16,0,0x3,1,5,1,yes,0,0,0,magic,0 ,HP_ASSUMPTIO,Assumptio
+362,4,6,4,0,0x1,0,5,1,yes,0,0,0,magic,2 ,HP_BASILICA,Basilica
+363,0,0,0,0,0,0,10,0,no,0,0,0,magic,0 ,HP_MEDITATIO,Meditatio
+364,0,0,0,0,0,0,10,1,no,0,0,0,magic,0 ,HW_SOULDRAIN,Soul Drain
+365,9,8,1,-1,0,0,1,1,yes,0,0,0,weapon,0 ,HW_MAGICCRASHER,Stave Crasher
+366,0,6,4,0,0x1,0,10,1,no,0,0,0,magic,0 ,HW_MAGICPOWER,Mystical Amplification
+367,9,8,1,0,0xD0,0,5,1,no,0,0,0,misc,0 ,PA_PRESSURE,Gloria Domini
+368,0,6,4,0,0x61,0,5,1,yes,0,0,0,weapon,0 ,PA_SACRIFICE, Martyr's Reckoning
+369,0,6,4,0,0x41,0,10,1,yes,0,0,0,misc,0 ,PA_GOSPEL,Battle Chant
+370,-2,6,1,-1,0,0,5,1,yes,0,0,0,weapon,3 ,CH_PALMSTRIKE,Raging Palm Strike
+371,-2,8,4,-1,0,0,5,1,no,0,0x200,0,weapon,0 ,CH_TIGERFIST,Glacier Fist
+372,-2,8,4,-1,0,0,10,-1:-1:-2:-2:-3:-3:-4:-4:-5:-5,no,0,0x200,0,weapon,0 ,CH_CHAINCRUSH,Chain Crush Combo
+373,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 ,PF_HPCONVERSION,Indulge
+374,9,6,1,0,0x1,0,1,1,yes,0,0xE00,0,none,0 ,PF_SOULCHANGE,Soul Exhale
+375,9,6,1,0,0x98,0,5,1,yes,0,0,0,magic,0 ,PF_SOULBURN,Soul Siphon
+376,0,0,0,0,0x1,0,5,1,no,0,0,0,weapon,0 ,ASC_KATAR,Advanced Katar Mastery
+//377,0,0,4,0,0x1,0,10,1,no,0,0,0,misc,0 ,ASC_HALLUCINATION,Hallucination Walk
+378,0,6,4,5,0x1,0,5,1,no,0,0,0,weapon,0 ,ASC_EDP,Enchant Deadly Poison
+379,9,6,1,-1,0x8,0,10,1,yes,0,0,0,weapon,0 ,ASC_BREAKER,Soul Destroyer
+380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,SN_SIGHT,Falcon Eyes
+381,5,8,1,0,0x40,0,5,1,yes,0,0,0,misc,0 ,SN_FALCONASSAULT,Falcon Assault
+382,4,8,1,-1,0,2,5,1,yes,0,0,14,weapon,0 ,SN_SHARPSHOOTING,Focused Arrow Strike
+383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0 ,SN_WINDWALK,Wind Walker
+384,0,0,4,0,0x1,0,10,1,yes,0,0,0,weapon,0 ,WS_MELTDOWN,Shattering Strike
+//385,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,WS_CREATECOIN,Create Coins
+//386,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,WS_CREATENUGGET,Create Nuggets
+387,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,WS_CARTBOOST,Cart Boost
+//388,9,6,2,0,0x1,0,5,1,no,0,0,0,none,0 ,WS_SYSTEMCREATE,Auto Attack System
+389,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 ,ST_CHASEWALK,Stealth
+390,0,0,4,0,0,0,5,1,yes,0,0,0,weapon,0 ,ST_REJECTSWORD,Counter Instinct
+//391,0,0,4,0,1,0,1,1,yes,0,0,0,magic,0 ,ST_STEALBACKPACK,Steal Backpack
+392,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,CR_ALCHEMY,Alchemy
+393,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,CR_SYNTHESISPOTION,Potion Synthesis
+394,9,8,1,-1,0,0,10,-9,yes,0,0,0,weapon,0 ,CG_ARROWVULCAN,Vulcan Arrow
+395,0,0,4,0,0x1,3,1,1,yes,0,0x40,0,misc,2 ,CG_MOONLIT,Sheltering Bliss
+396,1,6,16,0,0x1,0,1,1,yes,0,0x600,0,none,0 ,CG_MARIONETTE,Marionette Control
+397,5,8,1,-1,0x20,0,5,5,no,0,0,0,weapon,0 ,LK_SPIRALPIERCE,Spiral Pierce
+398,4,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,LK_HEADCRUSH,Traumatic Blow
+399,4,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 ,LK_JOINTBEAT,Vital Strike
+400,9,8,1,8,0x6,1,5,1:2:3:4:5,yes,0,0,0,magic,0 ,HW_NAPALMVULCAN,Napalm Vulcan
+401,0,6,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,CH_SOULCOLLECT,Zen
+402,9,6,1,0,0x1,0,5,1,no,0,0,0,none,0 ,PF_MINDBREAKER,Mind Breaker
+403,0,0,4,0,0x1,0,1,1,yes,0,0,0,magic,0 ,PF_MEMORIZE,Foresight
+404,9,6,2,2,0x1,0,5,1,yes,0,0x100,2,magic,0 ,PF_FOGWALL,Blinding Mist
+405,7,6,1,0,0x1,0,1,1,no,0,0,3,magic,0 ,PF_SPIDERWEB,Fiber Lock
+406,0,6,4,-1,0xA,2,10,1,no,33,0,0,weapon,0 ,ASC_METEORASSAULT,Meteor Assault
+407,0,6,4,0,0x1,0,1,0,no,0,0,0,none,0 ,ASC_CDP,Create Deadly Poison
+408,9,6,4,0,0x1,0,1,1,yes,0,0x4,0,none,0 ,WE_BABY,Baby
+409,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 ,WE_CALLPARENT,Call Parent
+410,9,6,4,0,0x1,3,1,1,yes,0,0x4,1,none,0 ,WE_CALLBABY,Call Baby
+411,0,6,4,0,0x1,0,10,1,yes,0,0,0,misc,4 ,TK_RUN,Running
+412,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,TK_READYSTORM,Tornado Stance
+413,-2,8,4,-1,0x2,2,7,-3,no,0,0x200,0,weapon,0 ,TK_STORMKICK,Tornado Kick
+414,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,TK_READYDOWN,Heel Drop Stance
+415,-2,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0 ,TK_DOWNKICK,Heel Drop
+416,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,TK_READYTURN,Roundhouse Stance
+417,-2,8,4,-1,0x2,1,7,-3,no,0,0x200,0,weapon,2 ,TK_TURNKICK,Roundhouse Kick
+418,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,TK_READYCOUNTER,Counter Kick Stance
+419,-2,8,4,-1,0x40,0,7,-3,no,0,0x200,0,weapon,0 ,TK_COUNTER,Counter Kick
+420,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,TK_DODGE,Tumbling
+421,9,8,4,-1,0,0,7,-3,no,0,0x200,0,weapon,0 ,TK_JUMPKICK,Flying Kick
+422,0,0,0,0,0,1,10,0,no,0,0,0,none,0 ,TK_HPTIME,Peaceful Break
+423,0,0,0,0,0,1,10,0,no,0,0,0,none,0 ,TK_SPTIME,Happy Break
+424,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0 ,TK_POWER,Kihop
+425,0,6,4,2:4:1:3:8:7:6,0x1,0,7,1,no,0,0,0,weapon,0 ,TK_SEVENWIND,Mild Wind
+426,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,TK_HIGHJUMP,Taekwon Jump
+427,0,6,4,0,0x1,0,3,1,yes,0,0,0,magic,0 ,SG_FEEL,Feeling the Sun, Moon and Stars
+428,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 ,SG_SUN_WARM,Warmth of the Sun
+429,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 ,SG_MOON_WARM,Warmth of the Moon
+430,1,6,4,-1,0x42,1,3,1,yes,0,0,0,weapon,2 ,SG_STAR_WARM,Warmth of the Stars
+431,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 ,SG_SUN_COMFORT,Comfort of the Sun
+432,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 ,SG_MOON_COMFORT,Comfort of the Moon
+433,0,0,4,0,0x1,0,4,1,yes,0,0,0,magic,0 ,SG_STAR_COMFORT,Comfort of the Stars
+434,10,6,1,0,0x1,0,3,1,yes,0,0,0,magic,0 ,SG_HATE,Hatred of the Sun, Moon and Stars
+435,0,0,0,0,0,0,3,0,no,0,0,0,none,0 ,SG_SUN_ANGER,Anger of the Sun
+436,0,0,0,0,0,0,3,0,no,0,0,0,none,0 ,SG_MOON_ANGER,Anger of the Moon
+437,0,0,0,0,0,0,3,0,no,0,0,0,none,0 ,SG_STAR_ANGER,Anger of the Stars
+438,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,SG_SUN_BLESS,Blessing of the Sun
+439,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,SG_MOON_BLESS,Blessing of the Moon
+440,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,SG_STAR_BLESS,Blessing of the Stars
+441,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,SG_DEVIL,Demon of the Sun, Moon and Stars
+442,0,0,0,0,0,0,3,0,no,0,0,0,none,0 ,SG_FRIEND,Friend of the Sun, Moon and Stars
+443,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,SG_KNOWLEDGE,Knowledge of the Sun, Moon and Stars
+444,0,6,4,0,0x1,0,1,1,no,0,0,0,misc,0 ,SG_FUSION,Union of the Sun, Moon and Stars
+445,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_ALCHEMIST,Spirit of the Alchemist
+446,9,6,16,0,0x1,0,1,1,yes,0,0xC08,0,none,0 ,AM_BERSERKPITCHER,Aid Berserk Potion
+447,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_MONK,Spirit of the Monk
+448,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_STAR,Spirit of the Star Gladiator
+449,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_SAGE,Spirit of the Sage
+450,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_CRUSADER,Spirit of the Crusader
+451,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_SUPERNOVICE,Spirit of the Supernovice
+452,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_KNIGHT,Spirit of the Knight
+453,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_WIZARD,Spirit of the Wizard
+454,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_PRIEST,Spirit of the Priest
+455,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_BARDDANCER,Spirit of the Artist
+456,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_ROGUE,Spirit of the Rogue
+457,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_ASSASIN,Spirit of the Assasin
+458,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_BLACKSMITH,Spirit of the Blacksmith
+459,0,6,4,0,0x3,-1,1,1,no,0,0x8,0,weapon,0 ,BS_ADRENALINE2,Advanced Adrenaline Rush
+460,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_HUNTER,Spirit of the Hunter
+461,9,6,16,0,0x1,0,5,1,yes,0,0x200,0,magic,0 ,SL_SOULLINKER,Spirit of the Soul Linker
+462,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 ,SL_KAIZEL,Kaizel
+463,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 ,SL_KAAHI,Kaahi
+464,9,6,16,0,0x1,0,3,1,yes,0,0,0,magic,0 ,SL_KAUPE,Kaupe
+465,9,6,16,0,0x1,0,7,1,yes,0,0,0,magic,0 ,SL_KAITE,Kaite
+466,0,0,0,0,0,0,7,0,yes,0,0,0,magic,0 ,SL_KAINA,Kaina
+467,9,6,1,-2,0,0,7,1,no,0,0,0,magic,2 ,SL_STIN,Estin
+468,9,6,1,-2,0,0,7,1,no,0,0,0,magic,0 ,SL_STUN,Estun
+469,9,8,1,-2,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,SL_SMA,Esma
+470,9,6,1,0,0x1,0,7,1,no,0,0,0,magic,0 ,SL_SWOO,Eswoo
+471,9,6,1,0,0x1,0,3,1,no,0,0,0,magic,0 ,SL_SKE,Eske
+472,9,6,1,0,0x1,0,3,1,no,0,0,0,magic,0 ,SL_SKA,Eska
+473,0,0,0,0,0,0,0,0,no,0,0,0,none,0 ,SM_SELFPROVOKE,Provoke Self
+474,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_EMOTION_ON,Emotion ON
+475,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0 ,ST_PRESERVE,Preserve
+476,1,6,1,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,ST_FULLSTRIP,Divest All
+477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0 ,WS_WEAPONREFINE,Upgrade Weapon
+478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0 ,CR_SLIMPITCHER,Aid Condensed Potion
+479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0 ,CR_FULLPROTECTION,Full Protection
+480,5,8,1,0,0,0,5,5,no,0,0,0,weapon,0 ,PA_SHIELDCHAIN,Shield Chain
+481,0,0,0,0,0,0,5,0,no,0,0,0,none,0 ,HP_MANARECHARGE,Mana Recharge
+482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 ,PF_DOUBLECASTING,Double Casting
+483,9,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0 ,HW_GANBANTEIN,Ganbantein
+484,9,6,2,2,0x91,0,5,1,yes,0,0,0,misc,0 ,HW_GRAVITATION,Gravitation Field
+485,-2,6,1,-1,0x8,0,10,1,no,0,0,0,weapon,0 ,WS_CARTTERMINATION,Cart Termination
+486,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0 ,WS_OVERTHRUSTMAX,Maximum Power Thrust
+487,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0 ,CG_LONGINGFREEDOM,Longing for Freedom
+488,0,6,4,0,0x1,1,5,1,no,0,0x40,0,misc,0 ,CG_HERMODE,Wand of Hermode
+489,9,6,1,0,0x41,0,5,1,no,0,0,0,misc,0 ,CG_TAROTCARD,Tarot Card of Fate
+490,9,8,1,0,0x40,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,misc,0 ,CR_ACIDDEMONSTRATION,Acid Demonstration
+491,1,6,2,0,0x1,0,2,1,no,0,0,0,none,0 ,CR_CULTIVATION,Plant Cultivation
+492,0,6,4,0:1:2:3:4:5:6:7:8:9,0x1,0,10,1,no,0,0x2,0,none,0 ,ITEM_ENCHANTARMS,Weapon Enchantment
+493,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0 ,TK_MISSION,Taekwon Mission
+494,9,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0 ,SL_HIGH,Spirit of Rebirth
+495,0,6,4,0,0x1,0,1,1,no,0,0x8,0,weapon,0 ,KN_ONEHAND,Onehand Quicken
+496,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 ,AM_TWILIGHT1,Twilight Alchemy 1
+497,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 ,AM_TWILIGHT2,Twilight Alchemy 2
+498,0,6,4,0,0x1,0,1,0,no,0,0x8,0,none,0 ,AM_TWILIGHT3,Twilight Alchemy 3
+499,-9,8,4,-1,0,0,1,2,no,0,0x208,0,weapon,0 ,HT_POWER,Beast Strafing
+500,0,6,4,0,0x40,0,5,1,no,0,0,0,misc,0 ,GS_GLITTERING,Flip the Coin
+501,9,6,1,-1,0x50,0,1,1,no,0,0,0,misc,0 ,GS_FLING,Fling
+502,-9,8,1,-1,0,0,1,3,no,0,0,0,weapon,0 ,GS_TRIPLEACTION,Triple Action
+503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0 ,GS_BULLSEYE,Bulls Eye
+504,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,GS_MADNESSCANCEL,Madness Canceller
+505,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,GS_ADJUSTMENT,AdJustment
+506,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0 ,GS_INCREASING,Increasing Accuracy
+507,-9,6,1,8,0,0,1,1,no,0,0,0,weapon,0 ,GS_MAGICALBULLET,Magical Bullet
+508,-9,6,1,-1,0x1,0,1,1,no,0,0,0,weapon,0 ,GS_CRACKER,Cracker
+509,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,GS_SINGLEACTION,Single Action
+510,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,GS_SNAKEEYE,Snake Eye
+511,-9,8,0,-1,0,0,10,2,no,0,0,0,weapon,0 ,GS_CHAINACTION,Chain Action
+512,-9,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 ,GS_TRACKING,Tracking
+513,-9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,GS_DISARM,Disarm
+514,-9,6,1,-1,0x20,0,5,1,no,0,0,0,weapon,0 ,GS_PIERCINGSHOT,Piercing Shot
+515,-9,8,1,-1,0,0,10,5,no,0,0,0,weapon,0 ,GS_RAPIDSHOWER,Rapid Shower
+516,0,8,4,-1,0x2,3,10,1,no,0,0,0,weapon,0 ,GS_DESPERADO,Desperado
+517,0,6,4,-1,0x1,0,10,1,no,0,0,0,weapon,0 ,GS_GATLINGFEVER,Gatling Fever
+518,2,6,1,-1,0,0,10,1,no,0,0,0,weapon,5 ,GS_DUST,Dust
+519,-9,6,1,-1,0,0,10,1,yes,0,0,0,weapon,0 ,GS_FULLBUSTER,Full Buster
+520,-9,6,1,-1,0x2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0 ,GS_SPREADATTACK,Spread Attack
+521,-9,6,2,-1,0x40,1,10,1,no,0,0,0,weapon,3 ,GS_GROUNDDRIFT,Ground Drift
+522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0 ,NJ_TOBIDOUGU,Shuriken Training
+523,9,6,1,-1,0x40,0,10,1,no,0,0,0,weapon,0 ,NJ_SYURIKEN,Throw Shuriken
+524,9,8,1,-1,0x40,0,5,3,no,0,0,0,weapon,0 ,NJ_KUNAI,Throw Kunai
+525,9,8,1,-1,0x6,1,5,-3:-3:-4:-4:-5,yes,0,0,0,weapon,0 ,NJ_HUUMA,Throw Huuma Shuriken
+526,9,6,1,0,0x50,0,10,1,no,0,0,0,misc,0 ,NJ_ZENYNAGE,Throw Zeny
+527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3 ,NJ_TATAMIGAESHI,Improvised Defense
+528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 ,NJ_KASUMIKIRI,Vanishing Slash
+529,7:9:11:13:15,6,2,0,0x1,0,5,1,no,0,0,0,none,0 ,NJ_SHADOWJUMP,Shadow Leap
+530,7:9:11:13:15,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 ,NJ_KIRIKAGE,Shadow Slash
+531,0,6,4,0,0x1,0,5,1,no,0,0,0,none,7 ,NJ_UTSUSEMI,Cicada Skin Sheeding
+532,0,6,4,0,0x1,0,10,1,yes,0,0,0,magic,0 ,NJ_BUNSINJYUTSU,Mirror Image
+533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 ,NJ_NINPOU,Spirit of the Blade
+534,9,8,1,3,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,NJ_KOUENKA,Crimson Fire Petal
+535,0,8,4,3,0,0,10,1,yes,0,0,0,magic,1 ,NJ_KAENSIN,Crimson Fire Formation
+536,9,8,1,3,0x2,2,5,3,yes,0,0,0,magic,0 ,NJ_BAKUENRYU,Raging Fire Dragon
+537,9,8,1,1,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,0 ,NJ_HYOUSENSOU,Spear of Ice
+538,9,6,2,0,0x1,0,10,1,yes,0,0,0,magic,0 ,NJ_SUITON,Hidden Water
+539,0,6,4,1,0x2,3,5,1,yes,0,0,0,magic,0 ,NJ_HYOUSYOURAKU,Ice Meteor
+540,9,8,1,4,0,0,10,1:2:2:3:3:4:4:5:5:6,yes,0,0,0,magic,0 ,NJ_HUUJIN,Wind Blade
+541,9,6,4,4,0x2,2:2:3:3:4,5,1,yes,0,0,0,magic,0 ,NJ_RAIGEKISAI,Lightning Strike of Destruction
+542,9,8,1,4,0,3,5,1,yes,0,0,5:6:7:8:9,magic,0 ,NJ_KAMAITACHI,Kamaitachi
+543,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0 ,NJ_NEN,Soul
+544,-5,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0 ,NJ_ISSEN,Final Strike
-653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,3,no,0,0x2,0,magic,0 //NPC_EARTHQUAKE
-654,9,6,1,3,0,5,10,1,no,0,0x2,14,weapon,0 //NPC_FIREBREATH
-655,9,6,1,1,0,5,10,1,no,0,0x2,14,weapon,0 //NPC_ICEBREATH
-656,9,6,1,4,0,5,10,1,no,0,0x2,14,weapon,0 //NPC_THUNDERBREATH
-657,9,6,1,5,0,5,10,1,no,0,0x2,14,weapon,0 //NPC_ACIDBREATH
-658,9,6,1,7,0,5,10,1,no,0,0x2,14,weapon,0 //NPC_DARKNESSBREATH
-659,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_DRAGONFEAR
-660,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_BLEEDING
-661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7 //NPC_PULSESTRIKE
-662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0 //NPC_HELLJUDGEMENT
-663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDESILENCE
-664,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDEFREEZE
-665,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDEBLEEDING
-666,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDESTONE
-667,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDECONFUSE
-668,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDESLEEP
-669,0,6,4,3,0x3,5,1,1,no,0,0x2,0,magic,0 //NPC_WIDESIGHT
-670,9,6,2,7,0x21,0,10,1,no,0,0x2,0,magic,0 //NPC_EVILLAND
-671,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 //NPC_MAGICMIRROR
-672,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_SLOWCAST
-673,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 //NPC_CRITICALWOUND
-674,-9,6,1,-1,0x1,0,1,1,no,0,0x2,0,none,0 //NPC_EXPULSION
-675,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 //NPC_STONESKIN
-676,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 //NPC_ANTIMAGIC
-677,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDECURSE
-678,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 //NPC_WIDESTUN
-679,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_VAMPIRE_GIFT
-680,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 //NPC_WIDESOULDRAIN
+653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,3,no,0,0x2,0,magic,0 ,NPC_EARTHQUAKE,Earthquake
+654,9,6,1,3,0,5,10,1,no,0,0x2,14,weapon,0 ,NPC_FIREBREATH,Fire Breath
+655,9,6,1,1,0,5,10,1,no,0,0x2,14,weapon,0 ,NPC_ICEBREATH,Ice Breath
+656,9,6,1,4,0,5,10,1,no,0,0x2,14,weapon,0 ,NPC_THUNDERBREATH,Thunder Breath
+657,9,6,1,5,0,5,10,1,no,0,0x2,14,weapon,0 ,NPC_ACIDBREATH,Acid Breath
+658,9,6,1,7,0,5,10,1,no,0,0x2,14,weapon,0 ,NPC_DARKNESSBREATH,Darkness Breath
+659,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_DRAGONFEAR,Dragon Fear
+660,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_BLEEDING,Bleeding
+661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7 ,NPC_PULSESTRIKE,Pulse Strike
+662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0 ,NPC_HELLJUDGEMENT,Hell's Judgement
+663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDESILENCE,Wide Silence
+664,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDEFREEZE,Wide Freeze
+665,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDEBLEEDING,Wide Bleeding
+666,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDESTONE,Wide Petrify
+667,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDECONFUSE,Wide Confusion
+668,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDESLEEP,Wide Sleep
+669,0,6,4,3,0x3,5,1,1,no,0,0x2,0,magic,0 ,NPC_WIDESIGHT,Wide Sight
+670,9,6,2,7,0x21,0,10,1,no,0,0x2,0,magic,0 ,NPC_EVILLAND,Evil Land
+671,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 ,NPC_MAGICMIRROR,Magic Mirror
+672,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_SLOWCAST,Slow Cast
+673,-9,6,1,-1,0,0,5,1,no,0,0x2,0,weapon,0 ,NPC_CRITICALWOUND,Critical Wounds
+674,-9,6,1,-1,0x1,0,1,1,no,0,0x2,0,none,0 ,NPC_EXPULSION,Expulsion
+675,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 ,NPC_STONESKIN,Stone Skin
+676,0,6,4,0,0x1,0,5,1,no,0,0x2,0,magic,0 ,NPC_ANTIMAGIC,Anti Magic
+677,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDECURSE,Wide Curse
+678,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0 ,NPC_WIDESTUN,Wide Stun
+679,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_VAMPIRE_GIFT,Vampire Gift
+680,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0 ,NPC_WIDESOULDRAIN,Wide Soul Drain
// Cash Shop Skill
-681,0,0,0,0,0,0,10,0,no,0,0x1,0,none,0 //ALL_INCCARRY#Increase Weight Limit R#
+681,0,0,0,0,0,0,10,0,no,0,0x1,0,none,0 ,ALL_INCCARRY,Increase Weight Limit R
-1001,9,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0 //KN_CHARGEATK#Charge Attack#
-1002,0,6,4,0,0x1,0,1,0,no,0,0x1,0,weapon,2 //CR_SHRINK#Shrink#
-1003,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 //AS_SONICACCEL#Sonic Acceleration#
-1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0 //AS_VENOMKNIFE#Throw Venom Knive#
-1005,1,6,1,0,0x1,0,1,1,no,0,0x1,0,weapon,0 //RG_CLOSECONFINE#Close Confine#
-1006,0,6,4,3,0,2,1,1,yes,0,0x1,0,magic,3 //WZ_SIGHTBLASTER#Sight Blaster#
-1007,0,6,4,0,0x1,0,10,0,no,0,0x1,0,none,0 //SA_CREATECON#Create Converter#
-1008,9,6,1,1,0x1,0,1,1,yes,0,0x1,0,magic,0 //SA_ELEMENTWATER#Elemental Change Water#
-1009,-9,6,1,0,0,0,1,1,no,0,0x1,0,weapon,3 //HT_PHANTASMIC#Phantasmic Arrow#
-1010,9,6,1,0,0x1,0,1,0,no,0,0x1,0,misc,0 //BA_PANGVOICE#Pang Voice#
-1011,9,6,1,0,0x1,0,1,0,no,0,0x1,0,misc,0 //DC_WINKCHARM#Wink of Charm#
-1012,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 //BS_UNFAIRLYTRICK#Unfair Trick#
-1013,0,6,4,0,0x3,2,1,0,no,0,0x1,0,weapon,0 //BS_GREED#Greed#
-1014,0,6,4,6,0x3,14,1,0,yes,0,0x1,0,magic,0 //PR_REDEMPTIO#Redemptio#
-1015,9,6,16,0,0x1,0,1,1,no,0,0x401,0,weapon,0 //MO_KITRANSLATION#Ki Translation#
-1016,-1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,5 //MO_BALKYOUNG#Ki Explosion#
-1017,9,6,1,2,0x1,0,1,1,yes,0,0x1,0,magic,0 //SA_ELEMENTGROUND#Elemental Change Earth#
-1018,9,6,1,3,0x1,0,1,1,yes,0,0x1,0,magic,0 //SA_ELEMENTFIRE#Elemental Change Fire#
-1019,9,6,1,4,0x1,0,1,1,yes,0,0x1,0,magic,0 //SA_ELEMENTWIND#Elemental Change Wind#
+1001,9,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0 ,KN_CHARGEATK,Charge Attack
+1002,0,6,4,0,0x1,0,1,0,no,0,0x1,0,weapon,2 ,CR_SHRINK,Shrink
+1003,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 ,AS_SONICACCEL,Sonic Acceleration
+1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0 ,AS_VENOMKNIFE,Throw Venom Knife
+1005,1,6,1,0,0x1,0,1,1,no,0,0x1,0,weapon,0 ,RG_CLOSECONFINE,Close Confine
+1006,0,6,4,3,0,2,1,1,yes,0,0x1,0,magic,3 ,WZ_SIGHTBLASTER,Sight Blaster
+1007,0,6,4,0,0x1,0,10,0,no,0,0x1,0,none,0 ,SA_CREATECON,Create Elemental Converter
+1008,9,6,1,1,0x1,0,1,1,yes,0,0x1,0,magic,0 ,SA_ELEMENTWATER,Elemental Change Water
+1009,-9,6,1,0,0,0,1,1,no,0,0x1,0,weapon,3 ,HT_PHANTASMIC,Phantasmic Arrow
+1010,9,6,1,0,0x1,0,1,0,no,0,0x1,0,misc,0 ,BA_PANGVOICE,Pang Voice
+1011,9,6,1,0,0x1,0,1,0,no,0,0x1,0,misc,0 ,DC_WINKCHARM,Wink of Charm
+1012,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0 ,BS_UNFAIRLYTRICK,Unfair Trick
+1013,0,6,4,0,0x3,2,1,0,no,0,0x1,0,weapon,0 ,BS_GREED,Greed
+1014,0,6,4,6,0x3,14,1,0,yes,0,0x1,0,magic,0 ,PR_REDEMPTIO,Redemptio
+1015,9,6,16,0,0x1,0,1,1,no,0,0x401,0,weapon,0 ,MO_KITRANSLATION,Ki Translation
+1016,-1,6,1,-1,0x2,1,1,1,no,0,0x1,0,weapon,5 ,MO_BALKYOUNG,Ki Explosion
+1017,9,6,1,2,0x1,0,1,1,yes,0,0x1,0,magic,0 ,SA_ELEMENTGROUND,Elemental Change Earth
+1018,9,6,1,3,0x1,0,1,1,yes,0,0x1,0,magic,0 ,SA_ELEMENTFIRE,Elemental Change Fire
+1019,9,6,1,4,0x1,0,1,1,yes,0,0x1,0,magic,0 ,SA_ELEMENTWIND,Elemental Change Wind
-8001,9,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 //HLIF_HEAL#Healing hand#
-8002,0,6,4,0,0x3,-1,5,1,no,0,0,0,none,0 //HLIF_AVOID
-8003,0,0,0,0,0,1,5,0,no,0,0,0,none,0 //HLIF_BRAIN
-8004,0,6,4,0,0x1,0,3,0,no,0,0,0,none,0 //HLIF_CHANGE
-8005,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 //HAMI_CASTLE
-8006,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 //HAMI_DEFENCE
-8007,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0 //HAMI_SKIN
-8008,0,6,4,0,0x1,0,3,0,no,0,0,0,none,0 //HAMI_BLOODLUST
-8009,1,8,1,0,0,0,5,-1:-2:-2:-2:-3,no,0,0,0,weapon,0 //HFLI_MOON
-8010,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 //HFLI_FLEET
-8011,0,6,4,0,0x1,0,5,0,yes,0,0,0,misc,0 //HFLI_SPEED
-8012,1,6,1,0,0,0,3,0,no,0,0,0,none,0 //HFLI_SBR44
-8013,9,6,1,0,0,0,5,1:2:3:4:5,no,0,0,0,magic,0 //HVAN_CAPRICE
-8014,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 //HVAN_CHAOTIC
-8015,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0 //HVAN_INSTRUCT
-8016,4,6,4,-1,0xD2,4,3,1,no,0,0,0,misc,0 //HVAN_EXPLOSION
+8001,9,6,4,0,0x1,0,5,1,no,0,0,0,magic,0 ,HLIF_HEAL,Healing Touch
+8002,0,6,4,0,0x3,-1,5,1,no,0,0,0,none,0 ,HLIF_AVOID,Avoid
+8003,0,0,0,0,0,1,5,0,no,0,0,0,none,0 ,HLIF_BRAIN,Brain Surgery
+8004,0,6,4,0,0x1,0,3,0,no,0,0,0,none,0 ,HLIF_CHANGE,Change
+8005,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 ,HAMI_CASTLE,Castling
+8006,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 ,HAMI_DEFENCE,Defense
+8007,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0 ,HAMI_SKIN,Adamantium Skin
+8008,0,6,4,0,0x1,0,3,0,no,0,0,0,none,0 ,HAMI_BLOODLUST,Bloodlust
+8009,1,8,1,0,0,0,5,-1:-2:-2:-2:-3,no,0,0,0,weapon,0 ,HFLI_MOON,Moonlight
+8010,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 ,HFLI_FLEET,Fleeting Move
+8011,0,6,4,0,0x1,0,5,0,yes,0,0,0,misc,0 ,HFLI_SPEED,Speed
+8012,1,6,1,0,0,0,3,0,no,0,0,0,none,0 ,HFLI_SBR44,S.B.R.44
+8013,9,6,1,0,0,0,5,1:2:3:4:5,no,0,0,0,magic,0 ,HVAN_CAPRICE,Caprice
+8014,0,6,4,0,0x1,0,5,0,no,0,0,0,none,0 ,HVAN_CHAOTIC,Benediction of Chaos
+8015,0,0,0,0,0x1,0,5,0,no,0,0,0,none,0 ,HVAN_INSTRUCT,Instruct
+8016,4,6,4,-1,0xD2,4,3,1,no,0,0,0,misc,0 ,HVAN_EXPLOSION,Bio Explosion
-10000,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_APPROVAL#Approval#
-10001,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_KAFRACONTRACT#Kafra Contract#
-10002,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_GUARDRESEARCH#Guardian Research#
-10003,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_GUARDUP#Guardian Training#
-10004,0,0,0,0,0,0,10,0,no,0,0x10,0,none,0 //GD_EXTENSION#Guild Extension#
-10005,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_GLORYGUILD#Guild's Glory#
-10006,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 //GD_LEADERSHIP#Great Leadership#
-10007,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 //GD_GLORYWOUNDS#Wounds of Glory#
-10008,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 //GD_SOULCOLD#Cold Soul#
-10009,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 //GD_HAWKEYES#Sharp Eyes#
-10010,0,0,4,0,0x3,15,1,0,yes,0,0x10,0,none,0 //GD_BATTLEORDER#Battle Orders#
-10011,0,0,4,0,0x3,15,3,0,yes,0,0x10,0,none,0 //GD_REGENERATION#Regeneration#
-10012,0,0,4,0,0x3,15,1,0,yes,0,0x10,0,none,0 //GD_RESTORE#Restore#
-10013,0,0,4,0,0x3,0,1,0,yes,0,0x10,0,none,0 //GD_EMERGENCYCALL#Rally Guild#
-10014,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 //GD_DEVELOPMENT#Extend Guild#
+10000,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_APPROVAL,Official Guild Approval
+10001,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_KAFRACONTRACT,Kafra Contract
+10002,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_GUARDRESEARCH,Guardian Research
+10003,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_GUARDUP,Strengthen Guardians
+10004,0,0,0,0,0,0,10,0,no,0,0x10,0,none,0 ,GD_EXTENSION,Guild Extension
+10005,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_GLORYGUILD,Guild's Glory
+10006,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 ,GD_LEADERSHIP,Great Leadership
+10007,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 ,GD_GLORYWOUNDS,Glorious Wounds
+10008,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 ,GD_SOULCOLD,Cold Heart
+10009,0,0,0,0,0,2,1,0,no,0,0x10,0,none,0 ,GD_HAWKEYES,Sharp Gaze
+10010,0,0,4,0,0x3,15,1,0,yes,0,0x10,0,none,0 ,GD_BATTLEORDER,Battle Orders
+10011,0,0,4,0,0x3,15,3,0,yes,0,0x10,0,none,0 ,GD_REGENERATION,Regeneration
+10012,0,0,4,0,0x3,15,1,0,yes,0,0x10,0,none,0 ,GD_RESTORE,Restoration
+10013,0,0,4,0,0x3,0,1,0,yes,0,0x10,0,none,0 ,GD_EMERGENCYCALL,Urgent Call
+10014,0,0,0,0,0,0,1,0,no,0,0x10,0,none,0 ,GD_DEVELOPMENT,Permanent Development
diff --git a/src/map/skill.c b/src/map/skill.c
index 88e45a5d8..5c96ba3f2 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -43,623 +43,6 @@
#define HM_SKILLRANGEMIN 800
#define HM_SKILLRANGEMAX HM_SKILLRANGEMIN+MAX_HOMUNSKILL
-const struct skill_name_db skill_names[] = {
- { AC_CHARGEARROW, "AC_CHARGEARROW", "Arrow Repel" } ,
- { AC_CONCENTRATION, "AC_CONCENTRATION", "Improve Concentration" } ,
- { AC_DOUBLE, "AC_DOUBLE", "Double Strafe" } ,
- { AC_MAKINGARROW, "AC_MAKINGARROW", "Arrow Crafting" } ,
- { AC_OWL, "AC_OWL", "Owl's Eye" } ,
- { AC_SHOWER, "AC_SHOWER", "Arrow Shower" } ,
- { AC_VULTURE, "AC_VULTURE", "Vulture's Eye" } ,
- { ALL_RESURRECTION, "ALL_RESURRECTION", "Resurrection" } ,
- { ALL_INCCARRY, "ALL_INCCARRY", "Enlarge Weight Limit R" } ,
- { AL_ANGELUS, "AL_ANGELUS", "Angelus" } ,
- { AL_BLESSING, "AL_BLESSING", "Blessing" } ,
- { AL_CRUCIS, "AL_CRUCIS", "Signum Crusis" } ,
- { AL_CURE, "AL_CURE", "Cure" } ,
- { AL_DECAGI, "AL_DECAGI", "Decrease AGI" } ,
- { AL_DEMONBANE, "AL_DEMONBANE", "Demon Bane" } ,
- { AL_DP, "AL_DP", "Divine Protection" } ,
- { AL_HEAL, "AL_HEAL", "Heal" } ,
- { AL_HOLYLIGHT, "AL_HOLYLIGHT", "Holy Light" } ,
- { AL_HOLYWATER, "AL_HOLYWATER", "Aqua Benedicta" } ,
- { AL_INCAGI, "AL_INCAGI", "Increase AGI" } ,
- { AL_PNEUMA, "AL_PNEUMA", "Pneuma" } ,
- { AL_RUWACH, "AL_RUWACH", "Ruwach" } ,
- { AL_TELEPORT, "AL_TELEPORT", "Teleport" } ,
- { AL_WARP, "AL_WARP", "Warp Portal" } ,
- { AM_ACIDTERROR, "AM_ACIDTERROR", "Acid Terror" } ,
- { AM_AXEMASTERY, "AM_AXEMASTERY", "Axe Mastery" } ,
- { AM_BERSERKPITCHER, "AM_BERSERKPITCHER", "Aid Berserk Potion" } ,
- { AM_BIOETHICS, "AM_BIOETHICS", "Bioethics" } ,
- { AM_CALLHOMUN, "AM_CALLHOMUN", "Call Homunculus" } ,
- { AM_CANNIBALIZE, "AM_CANNIBALIZE", "Summon Flora" } ,
- { AM_CP_ARMOR, "AM_CP_ARMOR", "Synthetic Armor" } ,
- { AM_CP_HELM, "AM_CP_HELM", "Biochemical Helm" } ,
- { AM_CP_SHIELD, "AM_CP_SHIELD", "Synthetized Shield" } ,
- { AM_CP_WEAPON, "AM_CP_WEAPON", "Alchemical Weapon" } ,
- { AM_CULTIVATION, "AM_CULTIVATION", "Cultivation" } ,
- { AM_DEMONSTRATION, "AM_DEMONSTRATION", "Bomb" } ,
- { AM_LEARNINGPOTION, "AM_LEARNINGPOTION", "Potion Research" } ,
- { AM_PHARMACY, "AM_PHARMACY", "Prepare Potion" } ,
- { AM_POTIONPITCHER, "AM_POTIONPITCHER", "Aid Potion" } ,
- { AM_REST, "AM_REST", "Vaporize" } ,
- { AM_RESURRECTHOMUN, "AM_RESURRECTHOMUN", "Homunculus Resurrection" } ,
- { AM_SPHEREMINE, "AM_SPHEREMINE", "Summon Marine Sphere" } ,
- { AM_TWILIGHT1, "AM_TWILIGHT1", "Twilight Pharmacy 1" } ,
- { AM_TWILIGHT2, "AM_TWILIGHT2", "Twilight Pharmacy 2" } ,
- { AM_TWILIGHT3, "AM_TWILIGHT3", "Twilight Pharmacy 3" } ,
- { ASC_BREAKER, "ASC_BREAKER", "Soul Destroyer" } ,
- { ASC_CDP, "ASC_CDP", "Create Deadly Poison" } ,
- { ASC_EDP, "ASC_EDP", "Enchant Deadly Poison" } ,
- { ASC_KATAR, "ASC_KATAR", "Advanced Katar Mastery" } ,
- { ASC_METEORASSAULT, "ASC_METEORASSAULT", "Meteor Assault" } ,
- { AS_CLOAKING, "AS_CLOAKING", "Cloaking" } ,
- { AS_ENCHANTPOISON, "AS_ENCHANTPOISON", "Enchant Poison" } ,
- { AS_GRIMTOOTH, "AS_GRIMTOOTH", "Grimtooth" } ,
- { AS_KATAR, "AS_KATAR", "Katar Mastery" } ,
- { AS_LEFT, "AS_LEFT", "Lefthand Mastery" } ,
- { AS_POISONREACT, "AS_POISONREACT", "Poison React" } ,
- { AS_RIGHT, "AS_RIGHT", "Righthand Mastery" } ,
- { AS_SONICACCEL, "AS_SONICACCEL", "Sonic Acceleration" } ,
- { AS_SONICBLOW, "AS_SONICBLOW", "Sonic Blow" } ,
- { AS_SPLASHER, "AS_SPLASHER", "Venom Splasher" } ,
- { AS_VENOMDUST, "AS_VENOMDUST", "Venom Dust" } ,
- { AS_VENOMKNIFE, "AS_VENOMKNIFE", "Throw Venom Knife" } ,
- { BA_APPLEIDUN, "BA_APPLEIDUN", "Song of Lutie" } ,
- { BA_ASSASSINCROSS, "BA_ASSASSINCROSS", "Impressive Riff" } ,
- { BA_DISSONANCE, "BA_DISSONANCE", "Unchained Serenade" } ,
- { BA_FROSTJOKE, "BA_FROSTJOKE", "Unbarring Octave" } ,
- { BA_MUSICALLESSON, "BA_MUSICALLESSON", "Music Lessons" } ,
- { BA_MUSICALSTRIKE, "BA_MUSICALSTRIKE", "Melody Strike" } ,
- { BA_PANGVOICE, "BA_PANGVOICE", "Pang Voice" } ,
- { BA_POEMBRAGI, "BA_POEMBRAGI", "Magic Strings" } ,
- { BA_WHISTLE, "BA_WHISTLE", "Perfect Tablature" } ,
- { BD_ADAPTATION, "BD_ADAPTATION", "Amp" } ,
- { BD_DRUMBATTLEFIELD, "BD_DRUMBATTLEFIELD", "Battle Theme" } ,
- { BD_ENCORE, "BD_ENCORE", "Encore" } ,
- { BD_ETERNALCHAOS, "BD_ETERNALCHAOS", "Down Tempo" } ,
- { BD_INTOABYSS, "BD_INTOABYSS", "Power Cord" } ,
- { BD_LULLABY, "BD_LULLABY", "Lullaby" } ,
- { BD_RICHMANKIM, "BD_RICHMANKIM", "Mental Sensing" } ,
- { BD_RINGNIBELUNGEN, "BD_RINGNIBELUNGEN", "Harmonic Lick" } ,
- { BD_ROKISWEIL, "BD_ROKISWEIL", "Classical Pluck" } ,
- { BD_SIEGFRIED, "BD_SIEGFRIED", "Acoustic Rhythm" } ,
- { BS_ADRENALINE, "BS_ADRENALINE", "Adrenaline Rush" } ,
- { BS_ADRENALINE2, "BS_ADRENALINE2", "Advanced Adrenaline Rush" } ,
- { BS_AXE, "BS_AXE", "Smith Axe" } ,
- { BS_DAGGER, "BS_DAGGER", "Smith Dagger" } ,
- { BS_ENCHANTEDSTONE, "BS_ENCHANTEDSTONE", "Enchantedstone Craft" } ,
- { BS_FINDINGORE, "BS_FINDINGORE", "Ore Discovery" } ,
- { BS_GREED, "BS_GREED", "Greed" } ,
- { BS_HAMMERFALL, "BS_HAMMERFALL", "Hammer Fall" } ,
- { BS_HILTBINDING, "BS_HILTBINDING", "Hilt Binding" } ,
- { BS_IRON, "BS_IRON", "Iron Tempering" } ,
- { BS_KNUCKLE, "BS_KNUCKLE", "Smith Knucklebrace" } ,
- { BS_MACE, "BS_MACE", "Smith Mace" } ,
- { BS_MAXIMIZE, "BS_MAXIMIZE", "Power Maximize" } ,
- { BS_ORIDEOCON, "BS_ORIDEOCON", "Oridecon Research" } ,
- { BS_OVERTHRUST, "BS_OVERTHRUST", "Power-Thrust" } ,
- { BS_REPAIRWEAPON, "BS_REPAIRWEAPON", "Weapon Repair" } ,
- { BS_SKINTEMPER, "BS_SKINTEMPER", "Skin Tempering" } ,
- { BS_SPEAR, "BS_SPEAR", "Smith Spear" } ,
- { BS_STEEL, "BS_STEEL", "Steel Tempering" } ,
- { BS_SWORD, "BS_SWORD", "Smith Sword" } ,
- { BS_TWOHANDSWORD, "BS_TWOHANDSWORD", "Smith Two-handed Sword" } ,
- { BS_UNFAIRLYTRICK, "BS_UNFAIRLYTRICK", "Unfair Trick" } ,
- { BS_WEAPONPERFECT, "BS_WEAPONPERFECT", "Weapon Perfection" } ,
- { BS_WEAPONRESEARCH, "BS_WEAPONRESEARCH", "Weaponry Research" } ,
- { CG_ARROWVULCAN, "CG_ARROWVULCAN", "Vulcan Arrow" } ,
- { CG_HERMODE, "CG_HERMODE", "Wand of Hermode" } ,
- { CG_LONGINGFREEDOM, "CG_LONGINGFREEDOM", "Longing for Freedom" } ,
- { CG_MARIONETTE, "CG_MARIONETTE", "Marionette Control" } ,
- { CG_MOONLIT, "CG_MOONLIT", "Sheltering Bliss" } ,
- { CG_TAROTCARD, "CG_TAROTCARD", "Tarot Card of Fate" } ,
- { CH_CHAINCRUSH, "CH_CHAINCRUSH", "Chain Crush Combo" } ,
- { CH_PALMSTRIKE, "CH_PALMSTRIKE", "Raging Palm Strike" } ,
- { CH_SOULCOLLECT, "CH_SOULCOLLECT", "Zen" } ,
- { CH_TIGERFIST, "CH_TIGERFIST", "Glacier Fist" } ,
- { CR_ACIDDEMONSTRATION, "CR_ACIDDEMONSTRATION", "Acid Demonstration" } ,
- { CR_ALCHEMY, "CR_ALCHEMY", "Alchemy" } ,
- { CR_AUTOGUARD, "CR_AUTOGUARD", "Guard" } ,
- { CR_CULTIVATION, "CR_CULTIVATION", "Plant Cultivation" } ,
- { CR_DEFENDER, "CR_DEFENDER", "Defending Aura" } ,
- { CR_DEVOTION, "CR_DEVOTION", "Sacrifice" } ,
- { CR_FULLPROTECTION, "CR_FULLPROTECTION", "Full Protection" } ,
- { CR_GRANDCROSS, "CR_GRANDCROSS", "Grand Cross" } ,
- { CR_HOLYCROSS, "CR_HOLYCROSS", "Holy Cross" } ,
- { CR_PROVIDENCE, "CR_PROVIDENCE", "Resistant Souls" } ,
- { CR_REFLECTSHIELD, "CR_REFLECTSHIELD", "Shield Reflect" } ,
- { CR_SHIELDBOOMERANG, "CR_SHIELDBOOMERANG", "Shield Boomerang" } ,
- { CR_SHIELDCHARGE, "CR_SHIELDCHARGE", "Smite" } ,
- { CR_SHRINK, "CR_SHRINK", "Shrink" } ,
- { CR_SLIMPITCHER, "CR_SLIMPITCHER", "Slim Pitcher" } ,
- { CR_SPEARQUICKEN, "CR_SPEARQUICKEN", "Spear Quicken" } ,
- { CR_SYNTHESISPOTION, "CR_SYNTHESISPOTION", "Potion Synthesis" } ,
- { CR_TRUST, "CR_TRUST", "Faith" } ,
- { DC_DANCINGLESSON, "DC_DANCINGLESSON", "Dance Lessons" } ,
- { DC_DONTFORGETME, "DC_DONTFORGETME", "Slow Grace" } ,
- { DC_FORTUNEKISS, "DC_FORTUNEKISS", "Lady Luck" } ,
- { DC_HUMMING, "DC_HUMMING", "Focus Ballet" } ,
- { DC_SCREAM, "DC_SCREAM", "Dazzler" } ,
- { DC_SERVICEFORYOU, "DC_SERVICEFORYOU", "Gypsy's Kiss" } ,
- { DC_THROWARROW, "DC_THROWARROW", "Slinging Arrow" } ,
- { DC_UGLYDANCE, "DC_UGLYDANCE", "Hip Shaker" } ,
- { DC_WINKCHARM, "DC_WINKCHARM", "Sexy Wink" } ,
- { GD_APPROVAL, "GD_APPROVAL", "Official Guild Approval" } ,
- { GD_BATTLEORDER, "GD_BATTLEORDER", "Battle Command" } ,
- { GD_DEVELOPMENT, "GD_DEVELOPMENT", "Permanent Development" } ,
- { GD_EMERGENCYCALL, "GD_EMERGENCYCALL", "Urgent Call" } ,
- { GD_EXTENSION, "GD_EXTENSION", "Guild Extension" } ,
- { GD_GLORYGUILD, "GD_GLORYGUILD", "Glory of Guild" } ,
- { GD_GLORYWOUNDS, "GD_GLORYWOUNDS", "Glorious Wounds" } ,
- { GD_GUARDUP, "GD_GUARDUP", "Strengthen Guardian" } ,
- { GD_HAWKEYES, "GD_HAWKEYES", "Sharp Gaze" } ,
- { GD_KAFRACONTRACT, "GD_KAFRACONTRACT", "Contract with Kafra" } ,
- { GD_LEADERSHIP, "GD_LEADERSHIP", "Great Leadership" } ,
- { GD_REGENERATION, "GD_REGENERATION", "Regeneration" } ,
- { GD_RESTORE, "GD_RESTORE", "Restoration" } ,
- { GD_SOULCOLD, "GD_SOULCOLD", "Cold Heart" } ,
- { GS_ADJUSTMENT, "GS_ADJUSTMENT", "Adjustment" } ,
- { GS_BULLSEYE, "GS_BULLSEYE", "Bulls Eye" } ,
- { GS_CHAINACTION, "GS_CHAINACTION", "Chain Action" } ,
- { GS_CRACKER, "GS_CRACKER", "Cracker" } ,
- { GS_DESPERADO, "GS_DESPERADO", "Desperado" } ,
- { GS_DISARM, "GS_DISARM", "Disarm" } ,
- { GS_DUST, "GS_DUST", "Dust" } ,
- { GS_FLING, "GS_FLING", "Fling" } ,
- { GS_FULLBUSTER, "GS_FULLBUSTER", "Full Buster" } ,
- { GS_GATLINGFEVER, "GS_GATLINGFEVER", "Gatling Fever" } ,
- { GS_GLITTERING, "GS_GLITTERING", "Flip the Coin" } ,
- { GS_GROUNDDRIFT, "GS_GROUNDDRIFT", "Ground Drift" } ,
- { GS_INCREASING, "GS_INCREASING", "Increasing Accuracy" } ,
- { GS_MADNESSCANCEL, "GS_MADNESSCANCEL", "Madness Canceler" } ,
- { GS_MAGICALBULLET, "GS_MAGICALBULLET", "Magical Bullet" } ,
- { GS_PIERCINGSHOT, "GS_PIERCINGSHOT", "Piercing Shot" } ,
- { GS_RAPIDSHOWER, "GS_RAPIDSHOWER", "Rapid Shower" } ,
- { GS_SINGLEACTION, "GS_SINGLEACTION", "Single Action" } ,
- { GS_SNAKEEYE, "GS_SNAKEEYE", "Snake Eye" } ,
- { GS_SPREADATTACK, "GS_SPREADATTACK", "Spread Attack" } ,
- { GS_TRACKING, "GS_TRACKING", "Tracking" } ,
- { GS_TRIPLEACTION, "GS_TRIPLEACTION", "Triple Action" } ,
- { HP_ASSUMPTIO, "HP_ASSUMPTIO", "Assumptio" } ,
- { HP_BASILICA, "HP_BASILICA", "Basilica" } ,
- { HP_MANARECHARGE, "HP_MANARECHARGE", "Mana Recharge" } ,
- { HP_MEDITATIO, "HP_MEDITATIO", "Meditatio" } ,
- { HT_ANKLESNARE, "HT_ANKLESNARE", "Ankle Snare" } ,
- { HT_BEASTBANE, "HT_BEASTBANE", "Beast Bane" } ,
- { HT_BLASTMINE, "HT_BLASTMINE", "Blast Mine" } ,
- { HT_BLITZBEAT, "HT_BLITZBEAT", "Blitz Beat" } ,
- { HT_CLAYMORETRAP, "HT_CLAYMORETRAP", "Claymore Trap" } ,
- { HT_DETECTING, "HT_DETECTING", "Detect" } ,
- { HT_FALCON, "HT_FALCON", "Falconry Mastery" } ,
- { HT_FLASHER, "HT_FLASHER", "Flasher" } ,
- { HT_FREEZINGTRAP, "HT_FREEZINGTRAP", "Freezing Trap" } ,
- { HT_LANDMINE, "HT_LANDMINE", "Land Mine" } ,
- { HT_PHANTASMIC, "HT_PHANTASMIC", "Phantasmic Arrow" } ,
- { HT_POWER, "HT_POWER", "Beast Strafing" } ,
- { HT_REMOVETRAP, "HT_REMOVETRAP", "Remove Trap" } ,
- { HT_SANDMAN, "HT_SANDMAN", "Sandman" } ,
- { HT_SHOCKWAVE, "HT_SHOCKWAVE", "Shockwave Trap" } ,
- { HT_SKIDTRAP, "HT_SKIDTRAP", "Skid Trap" } ,
- { HT_SPRINGTRAP, "HT_SPRINGTRAP", "Spring Trap" } ,
- { HT_STEELCROW, "HT_STEELCROW", "Steel Crow" } ,
- { HT_TALKIEBOX, "HT_TALKIEBOX", "Talkie Box" } ,
- { HW_GANBANTEIN, "HW_GANBANTEIN", "Ganbantein" } ,
- { HW_GRAVITATION, "HW_GRAVITATION", "Gravitation Field" } ,
- { HW_MAGICCRASHER, "HW_MAGICCRASHER", "Stave Crasher" } ,
- { HW_MAGICPOWER, "HW_MAGICPOWER", "Mystical Amplification" } ,
- { HW_NAPALMVULCAN, "HW_NAPALMVULCAN", "Napalm Vulcan" } ,
- { HW_SOULDRAIN, "HW_SOULDRAIN", "Soul Drain" } ,
- { ITEM_ENCHANTARMS, "ITEM_ENCHANTARMS", "Weapon Enchantment" },
- { ITM_TOMAHAWK, "ITM_TOMAHAWK", "Tomahawk Throwing" } ,
- { KN_AUTOCOUNTER, "KN_AUTOCOUNTER", "Counter Attack" } ,
- { KN_BOWLINGBASH, "KN_BOWLINGBASH", "Bowling Bash" } ,
- { KN_BRANDISHSPEAR, "KN_BRANDISHSPEAR", "Brandish Spear" } ,
- { KN_CAVALIERMASTERY, "KN_CAVALIERMASTERY", "Cavalier Mastery" } ,
- { KN_CHARGEATK, "KN_CHARGEATK", "Charge Attack" } ,
- { KN_ONEHAND, "KN_ONEHAND", "Onehand Quicken" } ,
- { KN_PIERCE, "KN_PIERCE", "Pierce" } ,
- { KN_RIDING, "KN_RIDING", "Peco Peco Ride" } ,
- { KN_SPEARBOOMERANG, "KN_SPEARBOOMERANG", "Spear Boomerang" } ,
- { KN_SPEARMASTERY, "KN_SPEARMASTERY", "Spear Mastery" } ,
- { KN_SPEARSTAB, "KN_SPEARSTAB", "Spear Stab" } ,
- { KN_TWOHANDQUICKEN, "KN_TWOHANDQUICKEN", "Twohand Quicken" } ,
- { LK_AURABLADE, "LK_AURABLADE", "Aura Blade" } ,
- { LK_BERSERK, "LK_BERSERK", "Frenzy" } ,
- { LK_CONCENTRATION, "LK_CONCENTRATION", "Spear Dynamo" } ,
- { LK_HEADCRUSH, "LK_HEADCRUSH", "Traumatic Blow" } ,
- { LK_JOINTBEAT, "LK_JOINTBEAT", "Vital Strike" } ,
- { LK_PARRYING, "LK_PARRYING", "Parry" } ,
- { LK_SPIRALPIERCE, "LK_SPIRALPIERCE", "Clashing Spiral" } ,
- { LK_TENSIONRELAX, "LK_TENSIONRELAX", "Relax" } ,
- { MC_CARTREVOLUTION, "MC_CARTREVOLUTION", "Cart Revolution" } ,
- { MC_CHANGECART, "MC_CHANGECART", "Change Cart" } ,
- { MC_DISCOUNT, "MC_DISCOUNT", "Discount" } ,
- { MC_IDENTIFY, "MC_IDENTIFY", "Item Appraisal" } ,
- { MC_INCCARRY, "MC_INCCARRY", "Enlarge Weight Limit" } ,
- { MC_LOUD, "MC_LOUD", "Crazy Uproar" } ,
- { MC_MAMMONITE, "MC_MAMMONITE", "Mammonite" } ,
- { MC_OVERCHARGE, "MC_OVERCHARGE", "Overcharge" } ,
- { MC_PUSHCART, "MC_PUSHCART", "Pushcart" } ,
- { MC_VENDING, "MC_VENDING", "Vending" } ,
- { MG_COLDBOLT, "MG_COLDBOLT", "Cold Bolt" } ,
- { MG_ENERGYCOAT, "MG_ENERGYCOAT", "Energy Coat" } ,
- { MG_FIREBALL, "MG_FIREBALL", "Fire Ball" } ,
- { MG_FIREBOLT, "MG_FIREBOLT", "Fire Bolt" } ,
- { MG_FIREWALL, "MG_FIREWALL", "Fire Wall" } ,
- { MG_FROSTDIVER, "MG_FROSTDIVER", "Frost Diver" } ,
- { MG_LIGHTNINGBOLT, "MG_LIGHTNINGBOLT", "Lightening Bolt" } ,
- { MG_NAPALMBEAT, "MG_NAPALMBEAT", "Napalm Beat" } ,
- { MG_SAFETYWALL, "MG_SAFETYWALL", "Safety Wall" } ,
- { MG_SIGHT, "MG_SIGHT", "Sight" } ,
- { MG_SOULSTRIKE, "MG_SOULSTRIKE", "Soul Strike" } ,
- { MG_SRECOVERY, "MG_SRECOVERY", "Increase SP Recovery" } ,
- { MG_STONECURSE, "MG_STONECURSE", "Stone Curse" } ,
- { MG_THUNDERSTORM, "MG_THUNDERSTORM", "Thunderstorm" } ,
- { MO_ABSORBSPIRITS, "MO_ABSORBSPIRITS", "Spiritual Sphere Absorption" } ,
- { MO_BALKYOUNG, "MO_BALKYOUNG", "Ki Explosion" } ,
- { MO_BLADESTOP, "MO_BLADESTOP", "Root" } ,
- { MO_BODYRELOCATION, "MO_BODYRELOCATION", "Snap" } ,
- { MO_CALLSPIRITS, "MO_CALLSPIRITS", "Summon Spirit Sphere" } ,
- { MO_CHAINCOMBO, "MO_CHAINCOMBO", "Raging Quadruple Blow" } ,
- { MO_COMBOFINISH, "MO_COMBOFINISH", "Raging Thrust" } ,
- { MO_DODGE, "MO_DODGE", "Flee" } ,
- { MO_EXPLOSIONSPIRITS, "MO_EXPLOSIONSPIRITS", "Fury" } ,
- { MO_EXTREMITYFIST, "MO_EXTREMITYFIST", "Guillotine Fist" } ,
- { MO_FINGEROFFENSIVE, "MO_FINGEROFFENSIVE", "Throw Spirit Sphere" } ,
- { MO_INVESTIGATE, "MO_INVESTIGATE", "Occult Impaction" } ,
- { MO_IRONHAND, "MO_IRONHAND", "Iron Fists" } ,
- { MO_KITRANSLATION, "MO_KITRANSLATION", "Ki Translation" } ,
- { MO_SPIRITSRECOVERY, "MO_SPIRITSRECOVERY", "Spiritual Cadence" } ,
- { MO_STEELBODY, "MO_STEELBODY", "Mental Strength" } ,
- { MO_TRIPLEATTACK, "MO_TRIPLEATTACK", "Raging Trifecta Blow" } ,
- { NJ_BAKUENRYU, "NJ_BAKUENRYU", "Raging Fire Dragon" } ,
- { NJ_BUNSINJYUTSU, "NJ_BUNSINJYUTSU", "Mirror Image" } ,
- { NJ_HUUJIN, "NJ_HUUJIN", "Wind Blade" } ,
- { NJ_HUUMA, "NJ_HUUMA", "Throw Huuma Shuriken" } ,
- { NJ_HYOUSENSOU, "NJ_HYOUSENSOU", "Spear of Ice" } ,
- { NJ_HYOUSYOURAKU, "NJ_HYOUSYOURAKU", "Ice Meteor" } ,
- { NJ_ISSEN, "NJ_ISSEN", "Final Strike" } ,
- { NJ_KAENSIN, "NJ_KAENSIN", "Crimson Fire Formation" } ,
- { NJ_KAMAITACHI, "NJ_KAMAITACHI", "Kamaitachi" } ,
- { NJ_KASUMIKIRI, "NJ_KASUMIKIRI", "Vanishing Slash" } ,
- { NJ_KIRIKAGE, "NJ_KIRIKAGE", "Shadow Slash" } ,
- { NJ_KOUENKA, "NJ_KOUENKA", "Crimson Fire Petal" } ,
- { NJ_KUNAI, "NJ_KUNAI", "Throw Kunai" } ,
- { NJ_NEN, "NJ_NEN", "Soul" } ,
- { NJ_NINPOU, "NJ_NINPOU", "Spirit of the Blade" } ,
- { NJ_RAIGEKISAI, "NJ_RAIGEKISAI", "Lightning Strike of Destruction" } ,
- { NJ_SHADOWJUMP, "NJ_SHADOWJUMP", "Shadow Leap" } ,
- { NJ_SUITON, "NJ_SUITON", "Hidden Water" } ,
- { NJ_SYURIKEN, "NJ_SYURIKEN", "Throw Shuriken" } ,
- { NJ_TATAMIGAESHI, "NJ_TATAMIGAESHI", "Improvised Defense" } ,
- { NJ_TOBIDOUGU, "NJ_TOBIDOUGU", "Shuriken Training" } ,
- { NJ_UTSUSEMI, "NJ_UTSUSEMI", "Cicada Skin Sheeding" } ,
- { NJ_ZENYNAGE, "NJ_ZENYNAGE", "Zeny Nage" } ,
- { NPC_ACIDBREATH, "NPC_ACIDBREATH", "Acid Breath" } ,
- { NPC_AGIUP, "NPC_AGIUP", "Agility UP" } ,
- { NPC_ANTIMAGIC, "NPC_ANTIMAGIC", "Anti Magic" } ,
- { NPC_ATTRICHANGE, "NPC_ATTRICHANGE", "Attribute Change" } ,
- { NPC_BARRIER, "NPC_BARRIER", "Barrier" } ,
- { NPC_BLEEDING, "NPC_BLEEDING", "Bleeding" } ,
- { NPC_BLINDATTACK, "NPC_BLINDATTACK", "Blind Attack" } ,
- { NPC_BLOODDRAIN, "NPC_BLOODDRAIN", "Blood Drain" } ,
- { NPC_ARMORBRAKE, "NPC_ARMORBRAKE", "Break Armor" } ,
- { NPC_HELMBRAKE, "NPC_HELMBRAKE", "Break Helm" } ,
- { NPC_SHIELDBRAKE, "NPC_SHIELDBRAKE", "Break Shield" } ,
- { NPC_WEAPONBRAKER, "NPC_WEAPONBRAKER", "Break Weapon" } ,
- { NPC_CALLSLAVE, "NPC_CALLSLAVE", "Recall Slaves" } ,
- { NPC_CHANGEDARKNESS, "NPC_CHANGEDARKNESS", "Darkness Change" } ,
- { NPC_CHANGEFIRE, "NPC_CHANGEFIRE", "Fire Change" } ,
- { NPC_CHANGEGROUND, "NPC_CHANGEGROUND", "Earth Change" } ,
- { NPC_CHANGEHOLY, "NPC_CHANGEHOLY", "Holy Change" } ,
- { NPC_CHANGEPOISON, "NPC_CHANGEPOISON", "Poison Change" } ,
- { NPC_CHANGETELEKINESIS, "NPC_CHANGETELEKINESIS", "Ghost Change" } ,
- { NPC_CHANGEUNDEAD, "NPC_CHANGEUNDEAD", "Undead Change" } ,
- { NPC_CHANGEWATER, "NPC_CHANGEWATER", "Water Change" } ,
- { NPC_CHANGEWIND, "NPC_CHANGEWIND", "Wind Change" } ,
- { NPC_COMBOATTACK, "NPC_COMBOATTACK", "Combo Attack" } ,
- { NPC_CRITICALSLASH, "NPC_CRITICALSLASH", "Critical Slash" } ,
- { NPC_CRITICALWOUND, "NPC_CRITICALWOUND", "Critical Wounds" } ,
- { NPC_CURSEATTACK, "NPC_CURSEATTACK", "Curse Attack" } ,
- { NPC_DARKBLESSING, "NPC_DARKBLESSING", "Dark Blessing" } ,
- { NPC_DARKBREATH, "NPC_DARKBREATH", "Dark Breath" } ,
- { NPC_DARKCROSS, "NPC_DARKCROSS", "Dark Cross" } ,
- { NPC_DARKNESSATTACK, "NPC_DARKNESSATTACK", "Shadow Attack" } ,
- { NPC_DARKNESSBREATH, "NPC_DARKNESSBREATH", "Darkness Breath" } ,
- { NPC_DARKSTRIKE, "NPC_DARKSTRIKE", "DarkStrike" } ,
- { NPC_DARKTHUNDER, "NPC_DARKTHUNDER", "DarkThunder" } ,
- { NPC_DEFENDER, "NPC_DEFENDER", "Defender" } ,
- { NPC_DRAGONFEAR, "NPC_DRAGONFEAR", "Dragon Fear" } ,
- { NPC_EARTHQUAKE, "NPC_EARTHQUAKE", "Earthquake" } ,
- { NPC_EMOTION, "NPC_EMOTION", "Emotion" } ,
- { NPC_EMOTION_ON, "NPC_EMOTION_ON", "Emotion ON" } ,
- { NPC_ENERGYDRAIN, "NPC_ENERGYDRAIN", "Energy Drain" } ,
- { NPC_EVILLAND, "NPC_EVILLAND", "Evil Land" } ,
- { NPC_EXPULSION, "NPC_EXPULSION", "Expulsion" } ,
- { NPC_FIREATTACK, "NPC_FIREATTACK", "Fire Attack" } ,
- { NPC_FIREBREATH, "NPC_FIREBREATH", "Fire Breath" } ,
- { NPC_GRANDDARKNESS, "NPC_GRANDDARKNESS", "Grand Dark Cross" } ,
- { NPC_GROUNDATTACK, "NPC_GROUNDATTACK", "Earth Attack" } ,
- { NPC_GUIDEDATTACK, "NPC_GUIDEDATTACK", "Guided Attack" } ,
- { NPC_HALLUCINATION, "NPC_HALLUCINATION", "Hallucination" } ,
- { NPC_HELLJUDGEMENT, "NPC_HELLJUDGEMENT", "Hell's Judgement" } ,
- { NPC_HOLYATTACK, "NPC_HOLYATTACK", "Holy Attack" } ,
- { NPC_ICEBREATH, "NPC_ICEBREATH", "Ice Breath" } ,
- { NPC_INVISIBLE, "NPC_INVISIBLE", "Invisible" } ,
- { NPC_KEEPING, "NPC_KEEPING", "Keeping" } ,
- { NPC_LICK, "NPC_LICK", "Lick" } ,
- { NPC_MAGICALATTACK, "NPC_MAGICALATTACK", "Magical Attack" } ,
- { NPC_MAGICMIRROR, "NPC_MAGICMIRROR", "Magic Mirror" } ,
- { NPC_MENTALBREAKER, "NPC_MENTALBREAKER", "Mental Breaker" } ,
- { NPC_METAMORPHOSIS, "NPC_METAMORPHOSIS", "Metamorphosis" } ,
- { NPC_PETRIFYATTACK, "NPC_PETRIFYATTACK", "Petrify Attack" } ,
- { NPC_PIERCINGATT, "NPC_PIERCINGATT", "Piercing Attack" } ,
- { NPC_POISON, "NPC_POISON", "Poisoning" } ,
- { NPC_POISONATTACK, "NPC_POISONATTACK", "Poison Attack" } ,
- { NPC_POWERUP, "NPC_POWERUP", "Power Up" } ,
- { NPC_PROVOCATION, "NPC_PROVOCATION", "Provocation" } ,
- { NPC_PULSESTRIKE, "NPC_PULSESTRIKE", "Pulse Strike" } ,
- { NPC_RANDOMATTACK, "NPC_RANDOMATTACK", "Random Attack" } ,
- { NPC_RANDOMMOVE, "NPC_RANDOMMOVE", "Random Move" } ,
- { NPC_RANGEATTACK, "NPC_RANGEATTACK", "Ranged attack" } ,
- { NPC_REBIRTH, "NPC_REBIRTH", "Rebirth" } ,
- { NPC_REVENGE, "NPC_REVENGE", "Revenge" } ,
- { NPC_RUN, "NPC_RUN", "Run" } ,
- { NPC_SELFDESTRUCTION, "NPC_SELFDESTRUCTION", "Self Destruction" } ,
- { NPC_SIEGEMODE, "NPC_SIEGEMODE", "Siege Mode" } ,
- { NPC_SILENCEATTACK, "NPC_SILENCEATTACK", "Silence Attack" } ,
- { NPC_SLEEPATTACK, "NPC_SLEEPATTACK", "Sleep Attack" } ,
- { NPC_SLOWCAST, "NPC_SLOWCAST", "Slow Cast" } ,
- { NPC_SMOKING, "NPC_SMOKING", "Smoking" } ,
- { NPC_SPEEDUP, "NPC_SPEEDUP", "Speed UP" } ,
- { NPC_SPLASHATTACK, "NPC_SPLASHATTACK", "Splash Attack" } ,
- { NPC_STONESKIN, "NPC_STONESKIN", "Stone Skin" } ,
- { NPC_STOP, "NPC_STOP", "Stop" } ,
- { NPC_STUNATTACK, "NPC_STUNATTACK", "Stun Attack" } ,
- { NPC_SUICIDE, "NPC_SUICIDE", "Suicide" } ,
- { NPC_SUMMONMONSTER, "NPC_SUMMONMONSTER", "Summon Monster" } ,
- { NPC_SUMMONSLAVE, "NPC_SUMMONSLAVE", "Summon :Slave" } ,
- { NPC_TELEKINESISATTACK, "NPC_TELEKINESISATTACK", "Ghost Attack" } ,
- { NPC_THUNDERBREATH, "NPC_THUNDERBREATH", "Thunder Breath" } ,
- { NPC_TRANSFORMATION, "NPC_TRANSFORMATION", "Transformation" } ,
- { NPC_UNDEADATTACK, "NPC_UNDEADATTACK", "Undead Attack" } ,
- { NPC_VAMPIRE_GIFT, "NPC_VAMPIRE_GIFT", "Vampire Gift" } ,
- { NPC_WATERATTACK, "NPC_WATERATTACK", "Water Attack" } ,
- { NPC_WIDEBLEEDING, "NPC_WIDEBLEEDING", "Wide Bleeding" } ,
- { NPC_WIDECONFUSE, "NPC_WIDECONFUSE", "Wide Confusion" } ,
- { NPC_WIDECURSE, "NPC_WIDECURSE", "Wide Curse" } ,
- { NPC_WIDEFREEZE, "NPC_WIDEFREEZE", "Wide Freeze" } ,
- { NPC_WIDESLEEP, "NPC_WIDESLEEP", "Wide Sleep" } ,
- { NPC_WIDESIGHT, "NPC_WIDESIGHT", "Wide Sight" } ,
- { NPC_WIDESILENCE, "NPC_WIDESILENCE", "Wide Silence" } ,
- { NPC_WIDESOULDRAIN, "NPC_WIDESOULDRAIN", "Wide Soul Drain" } ,
- { NPC_WIDESTONE, "NPC_WIDESTONE", "Wide Petrify" } ,
- { NPC_WIDESTUN, "NPC_WIDESTUN", "Wide Stun" } ,
- { NPC_WINDATTACK, "NPC_WINDATTACK", "Wind Attack" } ,
- { NV_BASIC, "NV_BASIC", "Basic Skill" } ,
- { NV_FIRSTAID, "NV_FIRSTAID", "First Aid" } ,
- { NV_TRICKDEAD, "NV_TRICKDEAD", "Play Dead" } ,
- { PA_GOSPEL, "PA_GOSPEL", "Battle Chant" } ,
- { PA_PRESSURE, "PA_PRESSURE", "Gloria Domini" } ,
- { PA_SACRIFICE, "PA_SACRIFICE", "Martyr's Reckoning" } ,
- { PA_SHIELDCHAIN, "PA_SHIELDCHAIN", "Shield Chain" } ,
- { PF_DOUBLECASTING, "PF_DOUBLECASTING", "Double Casting" } ,
- { PF_FOGWALL, "PF_FOGWALL", "Blinding Mist" } ,
- { PF_HPCONVERSION, "PF_HPCONVERSION", "Indulge" } ,
- { PF_MEMORIZE, "PF_MEMORIZE", "Foresight" } ,
- { PF_MINDBREAKER, "PF_MINDBREAKER", "Mind Breaker" } ,
- { PF_SOULBURN, "PF_SOULBURN", "Soul Siphon" } ,
- { PF_SOULCHANGE, "PF_SOULCHANGE", "Soul Exhale" } ,
- { PF_SPIDERWEB, "PF_SPIDERWEB", "Fiber Lock" } ,
- { PR_ASPERSIO, "PR_ASPERSIO", "Aspersio" } ,
- { PR_BENEDICTIO, "PR_BENEDICTIO", "B.S. Sacramenti" } ,
- { PR_GLORIA, "PR_GLORIA", "Gloria" } ,
- { PR_IMPOSITIO, "PR_IMPOSITIO", "Impositio Manus" } ,
- { PR_KYRIE, "PR_KYRIE", "Kyrie Eleison" } ,
- { PR_LEXAETERNA, "PR_LEXAETERNA", "Lex Aeterna" } ,
- { PR_LEXDIVINA, "PR_LEXDIVINA", "Lex Divina" } ,
- { PR_MACEMASTERY, "PR_MACEMASTERY", "Mace Mastery" } ,
- { PR_MAGNIFICAT, "PR_MAGNIFICAT", "Magnificat" } ,
- { PR_MAGNUS, "PR_MAGNUS", "Magnus Exorcismus" } ,
- { PR_REDEMPTIO, "PR_REDEMPTIO", "Redemptio" } ,
- { PR_SANCTUARY, "PR_SANCTUARY", "Sanctuary" } ,
- { PR_SLOWPOISON, "PR_SLOWPOISON", "Slow Poison" } ,
- { PR_STRECOVERY, "PR_STRECOVERY", "Status Recovery" } ,
- { PR_SUFFRAGIUM, "PR_SUFFRAGIUM", "Suffragium" } ,
- { PR_TURNUNDEAD, "PR_TURNUNDEAD", "Turn Undead" } ,
- { RG_BACKSTAP, "RG_BACKSTAP", "Back Stab" } ,
- { RG_CLEANER, "RG_CLEANER", "Remover" } ,
- { RG_CLOSECONFINE, "RG_CLOSECONFINE", "Close Confine"} ,
- { RG_COMPULSION, "RG_COMPULSION", "Haggle" } ,
- { RG_FLAGGRAFFITI, "RG_FLAGGRAFFITI", "Piece" } ,
- { RG_GANGSTER, "RG_GANGSTER", "Slyness" } ,
- { RG_GRAFFITI, "RG_GRAFFITI", "Scribble" } ,
- { RG_INTIMIDATE, "RG_INTIMIDATE", "Snatch" } ,
- { RG_PLAGIARISM, "RG_PLAGIARISM", "Intimidate" } ,
- { RG_RAID, "RG_RAID", "Sightless Mind" } ,
- { RG_SNATCHER, "RG_SNATCHER", "Gank" } ,
- { RG_STEALCOIN, "RG_STEALCOIN", "Mug" } ,
- { RG_STRIPARMOR, "RG_STRIPARMOR", "Divest Armor" } ,
- { RG_STRIPHELM, "RG_STRIPHELM", "Divest Helm" } ,
- { RG_STRIPSHIELD, "RG_STRIPSHIELD", "Divest Shield" } ,
- { RG_STRIPWEAPON, "RG_STRIPWEAPON", "Divest Weapon" } ,
- { RG_TUNNELDRIVE, "RG_TUNNELDRIVE", "Stalk" } ,
- { SA_ABRACADABRA, "SA_ABRACADABRA", "Hocus-pocus" } ,
- { SA_ADVANCEDBOOK, "SA_ADVANCEDBOOK", "Advanced Book" } ,
- { SA_AUTOSPELL, "SA_AUTOSPELL", "Hindsight" } ,
- { SA_CASTCANCEL, "SA_CASTCANCEL", "Cast Cancel" } ,
- { SA_CLASSCHANGE, "SA_CLASSCHANGE", "Class Change" } ,
- { SA_COMA, "SA_COMA", "Coma" } ,
- { SA_CREATECON, "SA_CREATECON", "Create Elemental Converter" } ,
- { SA_DEATH, "SA_DEATH", "Grim Reaper" } ,
- { SA_DELUGE, "SA_DELUGE", "Deluge" } ,
- { SA_DISPELL, "SA_DISPELL", "Dispell" } ,
- { SA_DRAGONOLOGY, "SA_DRAGONOLOGY", "Dragonology" } ,
- { SA_ELEMENTFIRE, "SA_ELEMENTFIRE", "Elemental Change Fire" } ,
- { SA_ELEMENTGROUND, "SA_ELEMENTGROUND", "Elemental Change Earth" } ,
- { SA_ELEMENTWATER, "SA_ELEMENTWATER", "Elemental Change Water" } ,
- { SA_ELEMENTWIND, "SA_ELEMENTWIND", "Elemental Change Wind" } ,
- { SA_FLAMELAUNCHER, "SA_FLAMELAUNCHER", "Endow Blaze" } ,
- { SA_FORTUNE, "SA_FORTUNE", "Gold Digger" } ,
- { SA_FREECAST, "SA_FREECAST", "Free Cast" } ,
- { SA_FROSTWEAPON, "SA_FROSTWEAPON", "Endow Tsunami" } ,
- { SA_FULLRECOVERY, "SA_FULLRECOVERY", "Rejuvenation" } ,
- { SA_GRAVITY, "SA_GRAVITY", "Gravity" } ,
- { SA_INSTANTDEATH, "SA_INSTANTDEATH", "Suicide" } ,
- { SA_LANDPROTECTOR, "SA_LANDPROTECTOR", "Magnetic Earth" } ,
- { SA_LEVELUP, "SA_LEVELUP", "Leveling" } ,
- { SA_LIGHTNINGLOADER, "SA_LIGHTNINGLOADER", "Endow Tornado" } ,
- { SA_MAGICROD, "SA_MAGICROD", "Magic Rod" } ,
- { SA_MONOCELL, "SA_MONOCELL", "Mono Cell" } ,
- { SA_QUESTION, "SA_QUESTION", "Questioning" } ,
- { SA_REVERSEORCISH, "SA_REVERSEORCISH", "Grampus Morph" } ,
- { SA_SEISMICWEAPON, "SA_SEISMICWEAPON", "Endow Quake" } ,
- { SA_SPELLBREAKER, "SA_SPELLBREAKER", "Spell Breaker" } ,
- { SA_SUMMONMONSTER, "SA_SUMMONMONSTER", "Monster Chant" } ,
- { SA_TAMINGMONSTER, "SA_TAMINGMONSTER", "Beastly Hypnosis" } ,
- { SA_VIOLENTGALE, "SA_VIOLENTGALE", "Whirlwind" } ,
- { SA_VOLCANO, "SA_VOLCANO", "Volcano" } ,
- { SG_DEVIL, "SG_DEVIL", "Devil of the Sun, Moon and Stars" } ,
- { SG_FEEL, "SG_FEEL", "Feeling of the Sun, Moon and Star" } ,
- { SG_FRIEND, "SG_FRIEND", "Companion of the Sun and Moon" } ,
- { SG_FUSION, "SG_FUSION", "Union of the Sun, Moon and Stars" } ,
- { SG_HATE, "SG_HATE", "Hatred of the Sun, Moon and Stars" } ,
- { SG_KNOWLEDGE, "SG_KNOWLEDGE", "Knowledge of the Sun, Moon and Stars" } ,
- { SG_MOON_ANGER, "SG_MOON_ANGER", "Fury of the Moon" } ,
- { SG_MOON_BLESS, "SG_MOON_BLESS", "Bless of the Moon" } ,
- { SG_MOON_COMFORT, "SG_MOON_COMFORT", "Comfort of the Moon" } ,
- { SG_MOON_WARM, "SG_MOON_WARM", "Warmth of the Moon" } ,
- { SG_STAR_ANGER, "SG_STAR_ANGER", "Fury of the Stars" } ,
- { SG_STAR_BLESS, "SG_STAR_BLESS", "Bless of the Stars" } ,
- { SG_STAR_COMFORT, "SG_STAR_COMFORT", "Comfort of the Stars" } ,
- { SG_STAR_WARM, "SG_STAR_WARM", "Warmth of the Stars" } ,
- { SG_SUN_ANGER, "SG_SUN_ANGER", "Fury of the Sun" } ,
- { SG_SUN_BLESS, "SG_SUN_BLESS", "Bless of the Sun" } ,
- { SG_SUN_COMFORT, "SG_SUN_COMFORT", "Comfort of the Sun" } ,
- { SG_SUN_WARM, "SG_SUN_WARM", "Warmth of the Sun" } ,
- { SL_ALCHEMIST, "SL_ALCHEMIST", "Spirit of Alchemist" } ,
- { SL_ASSASIN, "SL_ASSASIN", "Spirit of Assassin" } ,
- { SL_BARDDANCER, "SL_BARDDANCER", "Spirit of Bard and Dancer" } ,
- { SL_BLACKSMITH, "SL_BLACKSMITH", "Spirit of Blacksmith" } ,
- { SL_CRUSADER, "SL_CRUSADER", "Spirit of Crusader" } ,
- { SL_HIGH, "SL_HIGH", "Spirit of Advanced 1st Class" } ,
- { SL_HUNTER, "SL_HUNTER", "Spirit of Hunter" } ,
- { SL_KAAHI, "SL_KAAHI", "Kaahi" } ,
- { SL_KAINA, "SL_KAINA", "Kaina" } ,
- { SL_KAITE, "SL_KAITE", "Kaite" } ,
- { SL_KAIZEL, "SL_KAIZEL", "Kaizel" } ,
- { SL_KAUPE, "SL_KAUPE", "Kaupe" } ,
- { SL_KNIGHT, "SL_KNIGHT", "Spirit of Knight" } ,
- { SL_MONK, "SL_MONK", "Spirit of Monk" } ,
- { SL_PRIEST, "SL_PRIEST", "Spirit of Priest" } ,
- { SL_ROGUE, "SL_ROGUE", "Spirit of Rogue" } ,
- { SL_SAGE, "SL_SAGE", "Spirit of Sage" } ,
- { SL_SKA, "SL_SKA", "Eska" } ,
- { SL_SKE, "SL_SKE", "Eske" } ,
- { SL_SMA, "SL_SMA", "Esma" } ,
- { SL_SOULLINKER, "SL_SOULLINKER", "Spirit of Soul Linker" } ,
- { SL_STAR, "SL_STAR", "Spirit of Stars" } ,
- { SL_STIN, "SL_STIN", "Estin" } ,
- { SL_STUN, "SL_STUN", "Estun" } ,
- { SL_SUPERNOVICE, "SL_SUPERNOVICE", "Spirit of Super Novice" } ,
- { SL_SWOO, "SL_SWOO", "Eswoo" } ,
- { SL_WIZARD, "SL_WIZARD", "Spirit of Wizard" } ,
- { SM_AUTOBERSERK, "SM_AUTOBERSERK", "Berserk" } ,
- { SM_BASH, "SM_BASH", "Bash" } ,
- { SM_ENDURE, "SM_ENDURE", "Endure" } ,
- { SM_FATALBLOW, "SM_FATALBLOW", "Fatal Blow" } ,
- { SM_MAGNUM, "SM_MAGNUM", "Magnum Break" } ,
- { SM_MOVINGRECOVERY, "SM_MOVINGRECOVERY", "HP Recovery While Moving" } ,
- { SM_PROVOKE, "SM_PROVOKE", "Provoke" } ,
- { SM_RECOVERY, "SM_RECOVERY", "Increase HP Recovery" } ,
- { SM_SWORD, "SM_SWORD", "Sword Mastery" } ,
- { SM_TWOHAND, "SM_TWOHAND", "Two-Handed Sword Mastery" } ,
- { SN_FALCONASSAULT, "SN_FALCONASSAULT", "Falcon Assault" } ,
- { SN_SHARPSHOOTING, "SN_SHARPSHOOTING", "Focused Arrow Strike" } ,
- { SN_SIGHT, "SN_SIGHT", "Falcon Eyes" } ,
- { SN_WINDWALK, "SN_WINDWALK", "Wind Walker" } ,
- { ST_CHASEWALK, "ST_CHASEWALK", "Stealth" } ,
- { ST_FULLSTRIP, "ST_FULLSTRIP", "Full Divestment" } ,
- { ST_PRESERVE, "ST_PRESERVE", "Preserve" } ,
- { ST_REJECTSWORD, "ST_REJECTSWORD", "Counter Instinct" } ,
- { TF_BACKSLIDING, "TF_BACKSLIDING", "Back Slide" } ,
- { TF_DETOXIFY, "TF_DETOXIFY", "Detoxify" } ,
- { TF_DOUBLE, "TF_DOUBLE", "Double Attack" } ,
- { TF_HIDING, "TF_HIDING", "Hiding" } ,
- { TF_MISS, "TF_MISS", "Improve Dodge" } ,
- { TF_PICKSTONE, "TF_PICKSTONE", "Find Stone" } ,
- { TF_POISON, "TF_POISON", "Envenom" } ,
- { TF_SPRINKLESAND, "TF_SPRINKLESAND", "Sand Attack" } ,
- { TF_STEAL, "TF_STEAL", "Steal" } ,
- { TF_THROWSTONE, "TF_THROWSTONE", "Stone Fling" } ,
- { TK_COUNTER, "TK_COUNTER", "Spin Kick" } ,
- { TK_DODGE, "TK_DODGE", "Sprint" } ,
- { TK_DOWNKICK, "TK_DOWNKICK", "Heel Drop" } ,
- { TK_HIGHJUMP, "TK_HIGHJUMP", "Taekwon Jump" } ,
- { TK_HPTIME, "TK_HPTIME", "Peaceful Break" } ,
- { TK_JUMPKICK, "TK_JUMPKICK", "Flying Kick" } ,
- { TK_MISSION, "TK_MISSION", "Mission" } ,
- { TK_POWER, "TK_POWER", "Kihop" } ,
- { TK_READYCOUNTER, "TK_READYCOUNTER", "Spin Kick Stance" } ,
- { TK_READYDOWN, "TK_READYDOWN", "Heel Drop Stance" } ,
- { TK_READYSTORM, "TK_READYSTORM", "Tornado Stance" } ,
- { TK_READYTURN, "TK_READYTURN", "Roundhouse Stance" } ,
- { TK_RUN, "TK_RUN", "Sprint" } ,
- { TK_SEVENWIND, "TK_SEVENWIND", "Mild Wind" } ,
- { TK_SPTIME, "TK_SPTIME", "Happy Break" } ,
- { TK_STORMKICK, "TK_STORMKICK", "Storm Kick" } ,
- { TK_TURNKICK, "TK_TURNKICK", "Turn Kick" } ,
- { WE_BABY, "WE_BABY", "Mom, Dad, I love you!" } ,
- { WE_CALLBABY, "WE_CALLBABY", "Come to me, honey~" } ,
- { WE_CALLPARENT, "WE_CALLPARENT", "Mom, Dad, I miss you!" } ,
- { WE_CALLPARTNER, "WE_CALLPARTNER", "Romantic Rendezvous" } ,
- { WE_FEMALE, "WE_FEMALE", "Loving Touch" } ,
- { WE_MALE, "WE_MALE", "Undying Love" } ,
- { WS_CARTBOOST, "WS_CARTBOOST", "Cart Boost" } ,
- { WS_CARTTERMINATION, "WS_CARTTERMINATION", "Cart Termination" } ,
- { WS_CREATECOIN, "WS_CREATECOIN", "Coin Craft" } ,
- { WS_CREATENUGGET, "WS_CREATENUGGET", "Nugget Craft" } ,
- { WS_MELTDOWN, "WS_MELTDOWN", "Shattering Strike" } ,
- { WS_OVERTHRUSTMAX, "WS_OVERTHRUSTMAX", "Max Power-Thust" } ,
- { WS_SYSTEMCREATE, "WS_SYSTEMCREATE", "Auto Attacking Machine Craft" } ,
- { WS_WEAPONREFINE, "WS_WEAPONREFINE", "Weapon Refine" } ,
- { WZ_EARTHSPIKE, "WZ_EARTHSPIKE", "Earth Spike" } ,
- { WZ_ESTIMATION, "WZ_ESTIMATION", "Sense" } ,
- { WZ_FIREPILLAR, "WZ_FIREPILLAR", "Fire Pillar" } ,
- { WZ_FROSTNOVA, "WZ_FROSTNOVA", "Frost Nova" } ,
- { WZ_HEAVENDRIVE, "WZ_HEAVENDRIVE", "Heaven's Drive" } ,
- { WZ_ICEWALL, "WZ_ICEWALL", "Ice Wall" } ,
- { WZ_JUPITEL, "WZ_JUPITEL", "Jupitel Thunder" } ,
- { WZ_METEOR, "WZ_METEOR", "Meteor Storm" } ,
- { WZ_QUAGMIRE, "WZ_QUAGMIRE", "Quagmire" } ,
- { WZ_SIGHTBLASTER, "WZ_SIGHTBLASTER", "Sight Blaster" } ,
- { WZ_SIGHTRASHER, "WZ_SIGHTRASHER", "Sightrasher" } ,
- { WZ_STORMGUST, "WZ_STORMGUST", "Storm Gust" } ,
- { WZ_VERMILION, "WZ_VERMILION", "Lord of Vermilion" } ,
- { WZ_WATERBALL, "WZ_WATERBALL", "Water Ball" } ,
- //[blackhole89]
- { HLIF_HEAL, "HLIF_HEAL", "Healing Touch" },
- { HLIF_AVOID, "HLIF_AVOID", "Avoid" },
- { HLIF_BRAIN, "HLIF_BRAIN", "Brain Surgery" },
- { HLIF_CHANGE, "HLIF_CHANGE", "Change" },
- { HAMI_CASTLE, "HAMI_CASTLE", "Castling" },
- { HAMI_DEFENCE, "HAMI_DEFENCE", "Defense" },
- { HAMI_SKIN, "HAMI_SKIN", "Adamantium Skin" },
- { HAMI_BLOODLUST, "HAMI_BLOODLUST", "Bloodlust" },
- { HFLI_MOON, "HFLI_MOON", "Moonlight" },
- { HFLI_FLEET, "HFLI_FLEET", "Fleeting Move" },
- { HFLI_SPEED, "HFLI_SPEED", "Speed" },
- { HFLI_SBR44, "HFLI_SBR44", "S.B.R.44" },
- { HVAN_CAPRICE, "HVAN_CAPRICE", "Caprice" },
- { HVAN_CHAOTIC, "HVAN_CHAOTIC", "Benediction of Chaos" },
- { HVAN_INSTRUCT, "HVAN_INSTRUCT", "Instruct" },
- { HVAN_EXPLOSION, "HVAN_EXPLOSION", "Bio Explosion" },
- { 0, "UNKNOWN_SKILL", "Unknown_Skill" }
-
- };
-
static struct eri *skill_unit_ers = NULL; //For handling skill_unit's [Skotlex]
static struct eri *skill_timer_ers = NULL; //For handling skill_timerskills [Skotlex]
@@ -675,85 +58,94 @@ int icewall_unit_pos;
//Since only mob-casted splash skills can hit ice-walls
#define splash_target(bl) (bl->type==BL_MOB?BL_SKILL|BL_CHAR:BL_CHAR)
+/// Maps skill ids to skill db offsets.
+/// Returns the skill's array index, or 0 (Unknown Skill).
+static int skill_get_index( int id )
+{
+ // avoid ranges reserved for mapping guild/homun skills
+ if( id >= GD_SKILLRANGEMIN && id <= GD_SKILLRANGEMAX )
+ return 0;
+ if( id >= HM_SKILLRANGEMIN && id <= HM_SKILLRANGEMAX )
+ return 0;
+
+ // map skill number to skill id
+ if( id >= GD_SKILLBASE )
+ id = GD_SKILLRANGEMIN + id - GD_SKILLBASE;
+ if( id >= HM_SKILLBASE )
+ id = HM_SKILLRANGEMIN + id - HM_SKILLBASE;
+
+ // validate result
+ if( id <= 0 || id >= MAX_SKILL_DB )
+ return 0;
+
+ return id;
+}
+
+const char* skill_get_name( int id )
+{
+ int index = skill_get_index(id);
+ return ( index > 0 ) ? skill_db[id].name : "UNKNOWN_SKILL";
+}
+
+const char* skill_get_desc( int id )
+{
+ int index = skill_get_index(id);
+ return ( index > 0 ) ? skill_db[id].desc : "Unknown Skill";
+}
+
// macros to check for out of bounds errors [celest]
// i: Skill ID, l: Skill Level, var: Value to return after checking
// for values that don't require level just put a one (putting 0 will trigger return 0; instead
// for values that might need to use a different function just skill_chk would suffice.
-#define skill_chk(i, l) \
- if (i >= GD_SKILLRANGEMIN && i <= GD_SKILLRANGEMAX) { return 0; } \
- if (i >= HM_SKILLRANGEMIN && i <= HM_SKILLRANGEMAX) { return 0; } \
- if (i >= GD_SKILLBASE) {i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;} \
- if (i >= HM_SKILLBASE) {i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;} \
- if (i < 1 || i >= MAX_SKILL_DB) {return 0;} \
- if (l <= 0 || l > MAX_SKILL_LEVEL) {return 0;}
-#define skill_get(var, i, l) \
- { skill_chk(i, l); return var; }
+#define skill_chk(i,l) \
+ if (skill_get_index(i) == 0) return 0; \
+ if (l <= 0 || l > MAX_SKILL_LEVEL) return 0;
+#define skill_get(var,i,l) \
+ { skill_chk((i), (l)); return (var); }
// Skill DB
-int skill_get_hit( int id ){ skill_get (skill_db[id].hit, id, 1); }
-int skill_get_inf( int id ){ skill_get (skill_db[id].inf, id, 1); }
-int skill_get_ele( int id , int lv ){ skill_get (skill_db[id].element[lv-1], id, lv); }
-int skill_get_nk( int id ){ skill_get (skill_db[id].nk, id, 1); }
-int skill_get_max( int id ){ skill_get (skill_db[id].max, id, 1); }
-int skill_get_range( int id , int lv ){ skill_get(skill_db[id].range[lv-1], id, lv); }
-int skill_get_splash( int id , int lv ){ skill_chk (id, lv); return (skill_db[id].splash[lv-1]>=0?skill_db[id].splash[lv-1]:AREA_SIZE); }
-int skill_get_hp( int id ,int lv ){ skill_get (skill_db[id].hp[lv-1], id, lv); }
-int skill_get_sp( int id ,int lv ){ skill_get (skill_db[id].sp[lv-1], id, lv); }
-int skill_get_hp_rate(int id, int lv ){ skill_get (skill_db[id].hp_rate[lv-1], id, lv); }
-int skill_get_sp_rate(int id, int lv ){ skill_get (skill_db[id].sp_rate[lv-1], id, lv); }
-int skill_get_state(int id) { skill_get (skill_db[id].state, id, 1); }
-int skill_get_spiritball(int id, int lv) { skill_get (skill_db[id].spiritball[lv-1], id, lv); }
-int skill_get_itemid(int id, int idx) { skill_get (skill_db[id].itemid[idx], id, 1); }
-int skill_get_itemqty(int id, int idx) { skill_get (skill_db[id].amount[idx], id, 1); }
-int skill_get_zeny( int id ,int lv ){ skill_get (skill_db[id].zeny[lv-1], id, lv); }
-int skill_get_num( int id ,int lv ){ skill_get (skill_db[id].num[lv-1], id, lv); }
-int skill_get_cast( int id ,int lv ){ skill_get (skill_db[id].cast[lv-1], id, lv); }
-int skill_get_delay( int id ,int lv ){ skill_get (skill_db[id].delay[lv-1], id, lv); }
-int skill_get_walkdelay( int id ,int lv ){ skill_get (skill_db[id].walkdelay[lv-1], id, lv); }
-int skill_get_time( int id ,int lv ){ skill_get (skill_db[id].upkeep_time[lv-1], id, lv); }
-int skill_get_time2( int id ,int lv ){ skill_get (skill_db[id].upkeep_time2[lv-1], id, lv); }
-int skill_get_castdef( int id ){ skill_get (skill_db[id].cast_def_rate, id, 1); }
-int skill_get_weapontype( int id ){ skill_get (skill_db[id].weapon, id, 1); }
-int skill_get_ammotype( int id ){ skill_get (skill_db[id].ammo, id, 1); }
-int skill_get_ammo_qty( int id, int lv ){ skill_get (skill_db[id].ammo_qty[lv-1], id, lv); }
-int skill_get_inf2( int id ){ skill_get (skill_db[id].inf2, id, 1); }
-int skill_get_castcancel( int id ){ skill_get (skill_db[id].castcancel, id, 1); }
-int skill_get_maxcount( int id ,int lv ){ skill_get (skill_db[id].maxcount[lv-1], id, lv); }
-int skill_get_blewcount( int id ,int lv ){ skill_get (skill_db[id].blewcount[lv-1], id, lv); }
-int skill_get_mhp( int id ,int lv ){ skill_get (skill_db[id].mhp[lv-1], id, lv); }
-int skill_get_castnodex( int id ,int lv ){ skill_get (skill_db[id].castnodex[lv-1], id, lv); }
+int skill_get_hit( int id ) { skill_get (skill_db[id].hit, id, 1); }
+int skill_get_inf( int id ) { skill_get (skill_db[id].inf, id, 1); }
+int skill_get_ele( int id , int lv ) { skill_get (skill_db[id].element[lv-1], id, lv); }
+int skill_get_nk( int id ) { skill_get (skill_db[id].nk, id, 1); }
+int skill_get_max( int id ) { skill_get (skill_db[id].max, id, 1); }
+int skill_get_range( int id , int lv ) { skill_get (skill_db[id].range[lv-1], id, lv); }
+int skill_get_splash( int id , int lv ) { skill_chk (id, lv); return (skill_db[id].splash[lv-1]>=0?skill_db[id].splash[lv-1]:AREA_SIZE); }
+int skill_get_hp( int id ,int lv ) { skill_get (skill_db[id].hp[lv-1], id, lv); }
+int skill_get_sp( int id ,int lv ) { skill_get (skill_db[id].sp[lv-1], id, lv); }
+int skill_get_hp_rate(int id, int lv ) { skill_get (skill_db[id].hp_rate[lv-1], id, lv); }
+int skill_get_sp_rate(int id, int lv ) { skill_get (skill_db[id].sp_rate[lv-1], id, lv); }
+int skill_get_state(int id) { skill_get (skill_db[id].state, id, 1); }
+int skill_get_spiritball(int id, int lv) { skill_get (skill_db[id].spiritball[lv-1], id, lv); }
+int skill_get_itemid(int id, int idx) { skill_get (skill_db[id].itemid[idx], id, 1); }
+int skill_get_itemqty(int id, int idx) { skill_get (skill_db[id].amount[idx], id, 1); }
+int skill_get_zeny( int id ,int lv ) { skill_get (skill_db[id].zeny[lv-1], id, lv); }
+int skill_get_num( int id ,int lv ) { skill_get (skill_db[id].num[lv-1], id, lv); }
+int skill_get_cast( int id ,int lv ) { skill_get (skill_db[id].cast[lv-1], id, lv); }
+int skill_get_delay( int id ,int lv ) { skill_get (skill_db[id].delay[lv-1], id, lv); }
+int skill_get_walkdelay( int id ,int lv ) { skill_get (skill_db[id].walkdelay[lv-1], id, lv); }
+int skill_get_time( int id ,int lv ) { skill_get (skill_db[id].upkeep_time[lv-1], id, lv); }
+int skill_get_time2( int id ,int lv ) { skill_get (skill_db[id].upkeep_time2[lv-1], id, lv); }
+int skill_get_castdef( int id ) { skill_get (skill_db[id].cast_def_rate, id, 1); }
+int skill_get_weapontype( int id ) { skill_get (skill_db[id].weapon, id, 1); }
+int skill_get_ammotype( int id ) { skill_get (skill_db[id].ammo, id, 1); }
+int skill_get_ammo_qty( int id, int lv ) { skill_get (skill_db[id].ammo_qty[lv-1], id, lv); }
+int skill_get_inf2( int id ) { skill_get (skill_db[id].inf2, id, 1); }
+int skill_get_castcancel( int id ) { skill_get (skill_db[id].castcancel, id, 1); }
+int skill_get_maxcount( int id ,int lv ) { skill_get (skill_db[id].maxcount[lv-1], id, lv); }
+int skill_get_blewcount( int id ,int lv ) { skill_get (skill_db[id].blewcount[lv-1], id, lv); }
+int skill_get_mhp( int id ,int lv ) { skill_get (skill_db[id].mhp[lv-1], id, lv); }
+int skill_get_castnodex( int id ,int lv ) { skill_get (skill_db[id].castnodex[lv-1], id, lv); }
int skill_get_delaynodex( int id ,int lv ){ skill_get (skill_db[id].delaynodex[lv-1], id, lv); }
-int skill_get_nocast ( int id ){ skill_get (skill_db[id].nocast, id, 1); }
-int skill_get_type( int id ){ skill_get (skill_db[id].skill_type, id, 1); }
+int skill_get_nocast ( int id ) { skill_get (skill_db[id].nocast, id, 1); }
+int skill_get_type( int id ) { skill_get (skill_db[id].skill_type, id, 1); }
int skill_get_unit_id ( int id, int flag ){ skill_get (skill_db[id].unit_id[flag], id, 1); }
-int skill_get_unit_layout_type( int id ,int lv ){ skill_get (skill_db[id].unit_layout_type[lv-1], id, lv); }
-int skill_get_unit_interval( int id ){ skill_get (skill_db[id].unit_interval, id, 1); }
+int skill_get_unit_interval( int id ) { skill_get (skill_db[id].unit_interval, id, 1); }
int skill_get_unit_range( int id, int lv ){ skill_get (skill_db[id].unit_range[lv-1], id, lv); }
-int skill_get_unit_target( int id ){ skill_get ((skill_db[id].unit_target&BCT_ALL), id, 1); }
-int skill_get_unit_bl_target( int id ){ skill_get ((skill_db[id].unit_target&BL_ALL), id, 1); }
-int skill_get_unit_flag( int id ){ skill_get (skill_db[id].unit_flag, id, 1); }
-const char* skill_get_name( int id ){
- if (id >= GD_SKILLRANGEMIN && id <= GD_SKILLRANGEMAX)
- return "UNKNOWN_SKILL";
- if (id >= GD_SKILLBASE)
- id = GD_SKILLRANGEMIN + id - GD_SKILLBASE;
- if (id >= HM_SKILLBASE) //[orn]
- id = HM_SKILLRANGEMIN + id - HM_SKILLBASE;
- if (id < 1 || id > MAX_SKILL_DB || skill_db[id].name==NULL)
- return "UNKNOWN_SKILL"; //Can't use skill_chk because we return a string.
- return skill_db[id].name;
-}
-const char* skill_get_desc( int id ){
- if (id >= GD_SKILLRANGEMIN && id <= GD_SKILLRANGEMAX)
- return "Unknown Skill";
- if (id >= GD_SKILLBASE)
- id = GD_SKILLRANGEMIN + id - GD_SKILLBASE;
- if (id >= HM_SKILLBASE) //[orn]
- id = HM_SKILLRANGEMIN + id - HM_SKILLBASE;
- if (id < 1 || id > MAX_SKILL_DB || skill_db[id].desc==NULL)
- return "Unknown Skill"; //Can't use skill_chk because we return a string.
- return skill_db[id].desc;
-}
+int skill_get_unit_target( int id ) { skill_get (skill_db[id].unit_target&BCT_ALL, id, 1); }
+int skill_get_unit_bl_target( int id ) { skill_get (skill_db[id].unit_target&BL_ALL, id, 1); }
+int skill_get_unit_flag( int id ) { skill_get (skill_db[id].unit_flag, id, 1); }
+int skill_get_unit_layout_type( int id ,int lv ){ skill_get (skill_db[id].unit_layout_type[lv-1], id, lv); }
int skill_tree_get_max(int id, int b_class)
{
@@ -892,20 +284,13 @@ int can_copy (struct map_session_data *sd, int skillid)
// [MouseJstr] - skill ok to cast? and when?
int skillnotok (int skillid, struct map_session_data *sd)
{
- int i = skillid,m;
+ int i,m;
nullpo_retr (1, sd);
m = sd->bl.m;
-
- if (skillid >= GD_SKILLRANGEMIN && skillid <= GD_SKILLRANGEMAX)
- return 1;
-
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
+ i = skill_get_index(skillid);
- if (i > MAX_SKILL || i < 0)
- return 1;
+ if (i == 0)
+ return 1; // invalid skill id
if (battle_config.gm_skilluncond && pc_isGM(sd) >= battle_config.gm_skilluncond)
return 0; // GMs can do any damn thing they want
@@ -974,19 +359,11 @@ int skillnotok (int skillid, struct map_session_data *sd)
// [orn] - skill ok to cast? and when? //homunculus
int skillnotok_hom (int skillid, struct homun_data *hd)
{
- int i = skillid;
+ int i = skill_get_index(skillid);
nullpo_retr (1, hd);
-
- if (skillid >= GD_SKILLRANGEMIN && skillid <= GD_SKILLRANGEMAX)
- return 1;
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
-
- if (i > MAX_SKILL || i < 0)
- return 1;
+ if (i == 0)
+ return 1; // invalid skill id
if (hd->blockskill[i] > 0)
return 1;
@@ -4403,10 +3780,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
if (md) {
// custom hack to make the mob display the skill, because these skills don't show the skill use text themselves
//NOTE: mobs don't have the sprite animation that is used when performing this skill (will cause glitches)
- char temp[128];
- if (strlen(md->name) + strlen(skill_db[skillid].desc) > 120)
- break; //Message won't fit on buffer. [Skotlex]
- sprintf(temp,"%s : %s !!",md->name,skill_db[skillid].desc);
+ char temp[70];
+ snprintf(temp, sizeof(temp), "%s : %s !!",md->name,skill_db[skillid].desc);
clif_message(&md->bl,temp);
}
break;
@@ -7470,9 +6845,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
case UNT_SANDMAN:
case UNT_FLASHER:
case UNT_FREEZINGTRAP:
- map_foreachinrange(skill_trap_splash,&src->bl,
- skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag,
- &src->bl,tick,type);
+ map_foreachinrange(skill_trap_splash,&src->bl, skill_get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick,type);
clif_changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
src->range = -1; //Disable range so it does not invoke a for each in area again.
sg->limit=DIFF_TICK(tick,sg->tick)+1500;
@@ -8137,18 +7510,14 @@ int skill_check_condition(struct map_session_data* sd, short skill, short lv, in
sd->skillitem = sd->skillitemlv = 0;
return 1;
}
- // for the guild skills [celest]
- if (skill >= GD_SKILLBASE)
- j = GD_SKILLRANGEMIN + skill - GD_SKILLBASE;
- else if (skill >= HM_SKILLBASE) //[orn]
- j = HM_SKILLRANGEMIN + skill - HM_SKILLBASE;
- else
- j = skill;
- if (j < 0 || j >= MAX_SKILL_DB)
+
+ j = skill_get_index(skill);
+ if (j == 0) // invalid skill id
return 0;
- //Code speedup, rather than using skill_get_* over and over again.
if (lv < 1 || lv > MAX_SKILL_LEVEL)
return 0;
+
+ //Code speedup, rather than using skill_get_* over and over again.
hp = skill_db[j].hp[lv-1];
sp = skill_db[j].sp[lv-1];
if((sd->skillid_old == BD_ENCORE) && skill == sd->skillid_dance)
@@ -10999,11 +10368,8 @@ int skill_blockpc_start(struct map_session_data *sd, int skillid, int tick)
{
nullpo_retr (-1, sd);
- if (skillid >= GD_SKILLBASE)
- skillid = GD_SKILLRANGEMIN + skillid - GD_SKILLBASE;
- if (skillid >= HM_SKILLBASE) //[orn]
- skillid = HM_SKILLRANGEMIN + skillid - HM_SKILLBASE;
- if (skillid < 1 || skillid > MAX_SKILL)
+ skillid = skill_get_index(skillid);
+ if (skillid == 0)
return -1;
if (tick < 1) {
@@ -11029,11 +10395,8 @@ int skill_blockmerc_start(struct homun_data *hd, int skillid, int tick) //[orn]
{
nullpo_retr (-1, hd);
- if (skillid >= GD_SKILLBASE)
- skillid = GD_SKILLRANGEMIN + skillid - GD_SKILLBASE;
- if (skillid >= HM_SKILLBASE) //[orn]
- skillid = HM_SKILLRANGEMIN + skillid - HM_SKILLBASE;
- if (skillid < 1 || skillid > MAX_SKILL)
+ skillid = skill_get_index(skillid);
+ if (skillid == 0)
return -1;
if (tick < 1) {
@@ -11052,12 +10415,14 @@ int skill_split_str (char *str, char **val, int num)
{
int i;
- for (i=0; i<num && str; i++){
+ for( i = 0; i < num && str; i++ )
+ {
val[i] = str;
str = strchr(str,',');
- if (str)
+ if( str )
*str++=0;
}
+
return i;
}
/*
@@ -11352,11 +10717,11 @@ void skill_init_unit_layout (void)
*------------------------------------------*/
int skill_readdb (void)
{
- int i,j,k,l,m;
+ int i,j,k,l,lines;
FILE *fp;
char line[1024],path[1024],*p;
- char *filename[]={"produce_db.txt","produce_db2.txt"};
+ // load 'skill_db.txt'
memset(skill_db,0,sizeof(skill_db));
sprintf(path, "%s/skill_db.txt", db_path);
fp=fopen(path,"r");
@@ -11364,25 +10729,29 @@ int skill_readdb (void)
ShowError("can't read %s\n", path);
return 1;
}
+ lines = 0;
while(fgets(line, sizeof(line), fp))
{
- char *split[50];
+ char* split[50];
+ lines++;
if(line[0]=='/' && line[1]=='/')
continue;
- j = skill_split_str(line,split,15);
- if(j < 15 || split[14]==NULL)
- continue;
+ j = skill_split_str(line,split,17);
+ if( j < 2 )
+ continue; // empty line
+ if( j < 17 )
+ {
+ ShowError("skill_readdb: Insufficient columns in line %d of \"%s\" (skill with id %d), skipping.\n", lines, path, atoi(split[0]));
+ continue; // not enough columns
+ }
- i=atoi(split[0]);
+ i = atoi(split[0]);
if (i >= GD_SKILLRANGEMIN && i <= GD_SKILLRANGEMAX) {
ShowWarning("read skill_db: Can't use skill id %d as guild skills are placed there!\n");
continue;
}
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = skill_get_index(i);
+ if (i == 0) // invalid skill id
continue;
skill_split_atoi(split[1],skill_db[i].range);
@@ -11410,17 +10779,13 @@ int skill_readdb (void)
else
skill_db[i].skill_type=0;
skill_split_atoi(split[14],skill_db[i].blewcount);
-
- for (j = 0; skill_names[j].id != 0; j++)
- if (skill_names[j].id == i) {
- skill_db[i].name = skill_names[j].name;
- skill_db[i].desc = skill_names[j].desc;
- break;
- }
+ safestrncpy(skill_db[i].name, split[15], sizeof(skill_db[i].name));
+ safestrncpy(skill_db[i].desc, split[16], sizeof(skill_db[i].desc));
}
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path);
+ // load 'skill_require_db.txt'
sprintf(path, "%s/skill_require_db.txt", db_path);
fp=fopen(path,"r");
if(fp==NULL){
@@ -11433,15 +10798,12 @@ int skill_readdb (void)
if(line[0]=='/' && line[1]=='/')
continue;
j = skill_split_str(line,split,32);
- if(j < 32 || split[31]==NULL)
+ if( j < 32 )
continue;
- i=atoi(split[0]);
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = atoi(split[0]);
+ i = skill_get_index(i);
+ if(i == 0) // invalid skill id
continue;
skill_split_atoi(split[1],skill_db[i].hp);
@@ -11506,7 +10868,7 @@ int skill_readdb (void)
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path);
-
+ // load 'skill_cast_db.txt'
sprintf(path, "%s/skill_cast_db.txt", db_path);
fp=fopen(path,"r");
if(fp==NULL){
@@ -11523,18 +10885,15 @@ int skill_readdb (void)
if(line[0]=='/' && line[1]=='/')
continue;
j = skill_split_str(line,split,6);
- if(split[0]==NULL || j<2)
+ if( j < 2 )
continue; //Blank line.
- if(split[5]==NULL || j<6) {
+ if( j < 6) {
ShowWarning("skill_cast_db.txt: Insufficient number of fields at line %d\n", l);
continue;
}
- i=atoi(split[0]);
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = atoi(split[0]);
+ i = skill_get_index(i);
+ if(i == 0) // invalid skill id
continue;
skill_split_atoi(split[1],skill_db[i].cast);
@@ -11546,29 +10905,26 @@ int skill_readdb (void)
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path);
-
+ // load 'skill_unit_db.txt'
sprintf(path, "%s/skill_unit_db.txt", db_path);
fp=fopen(path,"r");
if (fp==NULL) {
ShowError("can't read %s\n", path);
return 1;
}
- k = 0;
+ k = 0;
while (fgets(line, sizeof(line), fp))
{
char *split[50];
if (line[0]=='/' && line[1]=='/')
continue;
j = skill_split_str(line,split,8);
- if (split[7]==NULL || j<8)
+ if ( j < 8 )
continue;
- i=atoi(split[0]);
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if (i >= HM_SKILLBASE) //[orn]
- i = HM_SKILLRANGEMIN + i - HM_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = atoi(split[0]);
+ i = skill_get_index(i);
+ if(i == 0) // invalid skill id
continue;
skill_db[i].unit_id[0] = strtol(split[1],NULL,16);
skill_db[i].unit_id[1] = strtol(split[2],NULL,16);
@@ -11605,68 +10961,65 @@ int skill_readdb (void)
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path);
skill_init_unit_layout();
+ // load 'produce_db.txt'
memset(skill_produce_db,0,sizeof(skill_produce_db));
- k=0;
- for(m=0;m<2;m++){
- sprintf(path, "%s/%s", db_path, filename[m]);
- fp=fopen(path,"r");
- if(fp==NULL){
- if(m>0)
- continue;
- ShowError("can't read %s\n",path);
- return 1;
- }
- while(fgets(line, sizeof(line), fp))
- {
- char *split[7 + MAX_PRODUCE_RESOURCE * 2];
- int x,y;
- if(line[0]=='/' && line[1]=='/')
- continue;
- memset(split,0,sizeof(split));
- j = skill_split_str(line,split,(4 + MAX_PRODUCE_RESOURCE * 2));
- if(split[0]==0) //fixed by Lupus
- continue;
- i=atoi(split[0]);
- if(i<=0) continue;
+ sprintf(path, "%s/produce_db.txt", db_path);
+ fp=fopen(path,"r");
+ if(fp==NULL){
+ ShowError("can't read %s\n",path);
+ return 1;
+ }
+ k = 0;
+ while(fgets(line, sizeof(line), fp))
+ {
+ char* split[4 + MAX_PRODUCE_RESOURCE * 2];
+ int x,y;
+ if(line[0]=='/' && line[1]=='/')
+ continue;
+ memset(split,0,sizeof(split));
+ j = skill_split_str(line,split,(4 + MAX_PRODUCE_RESOURCE * 2));
+ if( j < 4 ) // at least base data needed
+ continue;
+ i=atoi(split[0]);
+ if(i<=0) continue;
- skill_produce_db[k].nameid=i;
- skill_produce_db[k].itemlv=atoi(split[1]);
- skill_produce_db[k].req_skill=atoi(split[2]);
- skill_produce_db[k].req_skill_lv=atoi(split[3]);
+ skill_produce_db[k].nameid=i;
+ skill_produce_db[k].itemlv=atoi(split[1]);
+ skill_produce_db[k].req_skill=atoi(split[2]);
+ skill_produce_db[k].req_skill_lv=atoi(split[3]);
- for(x=4,y=0; split[x] && split[x+1] && y<MAX_PRODUCE_RESOURCE; x+=2,y++){
- skill_produce_db[k].mat_id[y]=atoi(split[x]);
- skill_produce_db[k].mat_amount[y]=atoi(split[x+1]);
- }
- k++;
- if(k >= MAX_SKILL_PRODUCE_DB)
- {
- ShowError("Reached the max number of produce_db entries (%d), consider raising the value of MAX_SKILL_PRODUCE_DB and recompile.\n", MAX_SKILL_PRODUCE_DB);
- break;
- }
+ for(x=4,y=0; split[x] && split[x+1] && y<MAX_PRODUCE_RESOURCE; x+=2,y++){
+ skill_produce_db[k].mat_id[y]=atoi(split[x]);
+ skill_produce_db[k].mat_amount[y]=atoi(split[x+1]);
+ }
+ k++;
+ if(k >= MAX_SKILL_PRODUCE_DB)
+ {
+ ShowError("Reached the max number of produce_db entries (%d), consider raising the value of MAX_SKILL_PRODUCE_DB and recompile.\n", MAX_SKILL_PRODUCE_DB);
+ break;
}
- fclose(fp);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path);
}
+ fclose(fp);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path);
+ // load 'create_arrow_db.txt'
memset(skill_arrow_db,0,sizeof(skill_arrow_db));
-
sprintf(path, "%s/create_arrow_db.txt", db_path);
fp=fopen(path,"r");
if(fp==NULL){
ShowError("can't read %s\n", path);
return 1;
}
- k=0;
+ k = 0;
while(fgets(line, sizeof(line), fp))
{
- char *split[16];
+ char* split[16];
int x,y;
if(line[0]=='/' && line[1]=='/')
continue;
memset(split,0,sizeof(split));
- j = skill_split_str(line,split,13);
- if(split[0]==0) //fixed by Lupus
+ j = skill_split_str(line,split,1+2*5);
+ if( j < 3 ) // at least 1 entry
continue;
i=atoi(split[0]);
if(i<=0)
@@ -11685,6 +11038,7 @@ int skill_readdb (void)
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path);
+ // load 'abra_db.txt'
memset(skill_abra_db,0,sizeof(skill_abra_db));
sprintf(path, "%s/abra_db.txt", db_path);
fp=fopen(path,"r");
@@ -11692,15 +11046,15 @@ int skill_readdb (void)
ShowError("can't read %s\n", path);
return 1;
}
- k=0;
+ k = 0;
while(fgets(line, sizeof(line), fp))
{
char *split[16];
if(line[0]=='/' && line[1]=='/')
continue;
memset(split,0,sizeof(split));
- j = skill_split_str(line,split,13);
- if(split[0]==0) //fixed by Lupus
+ j = skill_split_str(line,split,4);
+ if( j < 4 )
continue;
i=atoi(split[0]);
if(i<=0)
@@ -11716,6 +11070,7 @@ int skill_readdb (void)
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",k,path);
+ // load 'skill_castnodex_db.txt'
sprintf(path, "%s/skill_castnodex_db.txt", db_path);
fp=fopen(path,"r");
if(fp==NULL){
@@ -11729,12 +11084,11 @@ int skill_readdb (void)
continue;
memset(split,0,sizeof(split));
j = skill_split_str(line,split,3);
- if(split[0]==0) //fixed by Lupus
+ if( j < 2 ) //3rd is optional
continue;
- i=atoi(split[0]);
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = atoi(split[0]);
+ i = skill_get_index(i);
+ if(i == 0) // invalid skill id
continue;
skill_split_atoi(split[1],skill_db[i].castnodex);
@@ -11745,13 +11099,14 @@ int skill_readdb (void)
fclose(fp);
ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n",path);
+ // load 'skill_nocast_db.txt'
sprintf(path, "%s/skill_nocast_db.txt", db_path);
fp=fopen(path,"r");
if(fp==NULL){
ShowError("can't read %s\n", path);
return 1;
}
- k=0;
+ k = 0;
while(fgets(line, sizeof(line), fp))
{
char *split[16];
@@ -11759,12 +11114,11 @@ int skill_readdb (void)
continue;
memset(split,0,sizeof(split));
j = skill_split_str(line,split,2);
- if(split[0]==0) //fixed by Lupus
+ if( j < 2 )
continue;
- i=atoi(split[0]);
- if (i >= GD_SKILLBASE)
- i = GD_SKILLRANGEMIN + i - GD_SKILLBASE;
- if(i<=0 || i>MAX_SKILL_DB)
+ i = atoi(split[0]);
+ i = skill_get_index(i);
+ if(i == 0) // invalid skill id
continue;
skill_db[i].nocast|=atoi(split[1]);
k++;
diff --git a/src/map/skill.h b/src/map/skill.h
index 61f4d1c88..c78607b36 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -61,8 +61,8 @@
// スキルデ?タベ?ス
struct s_skill_db {
- char *name;
- char *desc;
+ char name[20];
+ char desc[40];
int range[MAX_SKILL_LEVEL],hit,inf,element[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max;
int num[MAX_SKILL_LEVEL];
int cast[MAX_SKILL_LEVEL],walkdelay[MAX_SKILL_LEVEL],delay[MAX_SKILL_LEVEL];