diff --git a/conf/battle/homunc.conf b/conf/battle/homunc.conf index eeab3e2aa9..27b0573ee0 100644 --- a/conf/battle/homunc.conf +++ b/conf/battle/homunc.conf @@ -18,7 +18,7 @@ // stat window (by default they don't crit) // 0x020: Their Min-Matk is always the same as their max // 0x040: Skill re-use delay is reset when they are vaporized. -hom_setting: 0xFFFF +hom_setting: 0x3D // The rate a homunculus will get friendly by feeding it. (Note 2) homunculus_friendly_rate: 100 diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf index 8e10ccb6b9..4e66d299bd 100644 --- a/conf/battle/skill.conf +++ b/conf/battle/skill.conf @@ -302,3 +302,7 @@ taekwon_mission_mobname: 0 // Can a player Teleport on top of a Map Warp Portal? (Note 1) // On official servers players have been unable to do so. teleport_on_portal: no + +// Is the knockback direction for Cart Revolution always West? (Note 1) +// On official servers it will knock the target always to the West. If disabled it will knock the target backwards. +cart_revo_knockback: yes diff --git a/db/pre-re/skill_db.txt b/db/pre-re/skill_db.txt index 78bed33ead..8cb9739d9b 100644 --- a/db/pre-re/skill_db.txt +++ b/db/pre-re/skill_db.txt @@ -365,7 +365,7 @@ 248,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, CR_TRUST,Faith 249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_AUTOGUARD,Guard 250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9,0x0, CR_SHIELDCHARGE,Smite -251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x0, CR_SHIELDBOOMERANG,Shield Boomerang +251,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, CR_SHIELDBOOMERANG,Shield Boomerang 252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect 253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross 254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0,0x0, CR_GRANDCROSS,Grand Cross @@ -885,8 +885,8 @@ 2004,5,8,1,-1,0,0,10,-5,no,0,0,0,weapon,0,0x0, RK_HUNDREDSPEAR,Hundred Spear 2005,1,6,2,4,0x2,2,5,1,no,0,0,0,weapon,3,0x0, RK_WINDCUTTER,Wind Cutter 2006,0,6,4,-1,0x2,5,5,1,no,0,0,0,weapon,0,0x0, RK_IGNITIONBREAK,Ignition Break -2007,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, RK_DRAGONTRAINING,Dragon Training -2008,9,6,2,3,0x2,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath +2007,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RK_DRAGONTRAINING,Dragon Training +2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath 2009,0,6,4,0,0x3,3:4:5:6:7,5,1,no,0,0,0,none,0,0x0, RK_DRAGONHOWLING,Dragon Howling 2010,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RK_RUNEMASTERY,Rune Mastery 2011,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, RK_MILLENNIUMSHIELD,Millenium Shield @@ -992,9 +992,9 @@ 2239,3,6,2,0,0x42,3,5,1,no,0,0x80,3,misc,0,0x2800, RA_CLUSTERBOMB,Cluster Bomb 2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, RA_WUGMASTERY,Warg Mastery 2241,0,6,4,0,0,0,3,1,no,0,0,0,none,0,0x2000, RA_WUGRIDER,Warg Rider -2242,0,6,4,-1,0x2,1,1,0,no,0,0,0,weapon,0,0x2000, RA_WUGDASH,Warg Dash -2243,9,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x2000, RA_WUGSTRIKE,Warg Strike -2244,9,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite +2242,0,6,4,-1,0x42,1,1,0,no,0,0,0,weapon,0,0x2000, RA_WUGDASH,Warg Dash +2243,9,6,1,0,0x40,0,5,1,no,0,0,0,misc,0,0x2000, RA_WUGSTRIKE,Warg Strike +2244,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite 2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_TOOTHOFWUG,Tooth of Warg 2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen 2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x42, RA_CAMOUFLAGE,Camouflage @@ -1020,7 +1020,7 @@ 2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_F_SIDESLIDE,Front-Side Slide 2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_B_SIDESLIDE,Back-Side Slide 2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,0x0, NC_MAINFRAME,Mainframe Restructure // Check me. Part of the code notes translated to "The amount of fuel have". -2267,0,6,4,-1,0x4A,2:3:4,3,1,no,0,0,0,misc,5,0x0, NC_SELFDESTRUCTION,Self Destruction +2267,0,6,4,-1,0xCA,2:3:4,3,1,no,0,0,0,misc,5,0x0, NC_SELFDESTRUCTION,Self Destruction 2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,0x0, NC_SHAPESHIFT,Shape Shift 2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_EMERGENCYCOOL,Emergency Cool 2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,0x0, NC_INFRAREDSCAN,Infrared Scan @@ -1060,7 +1060,7 @@ 2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,none,0,0x0, SC_CHAOSPANIC,Chaos Panic 2302,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,none,0,0x0, SC_MAELSTROM,Maelstrom 2303,7,6,2,0,0x1,3,3,1,yes,0,0,1,none,0,0x0, SC_BLOODYLUST,Bloody Lust -2304,0,6,4,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, SC_FEINTBOMB,Feint Bomb +2304,0,6,4,-1,0,2,3,1,no,0,0,0,weapon,0,0x0, SC_FEINTBOMB,Feint Bomb //**** // LG Royal Guard @@ -1074,7 +1074,7 @@ 2314,1,6,1,-1,0,0,1,1,no,0,0,0,weapon,0,0x0, LG_RAGEBURST,Rage Burst 2315,0,6,4,0:6:0,0x2,0,3,1,yes,0,0,0,none,2:0:0,0x0, LG_SHIELDSPELL,Shield Spell 2316,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, LG_EXEEDBREAK,Exceed Break -2317,1,6,2,-1,0x2,0,5,1,yes,0,0,0,none,0,0x0, LG_OVERBRAND,Over Brand +2317,2,6,2,-1,0x2,0,5,1,yes,0,0,0,weapon,0,0x0, LG_OVERBRAND,Over Brand 2318,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, LG_PRESTIGE,Prestige 2319,0,6,4,0,0x3,3,5,1,no,0,0,0,weapon,0,0x0, LG_BANDING,Banding //CHECK Splash isnt needed right? Banding has its own UNIT ID. 2320,0,6,4,-1,0x2,3,5,1,yes,0,0,0,weapon,0,0x1000, LG_MOONSLASHER,Moon Slasher @@ -1135,7 +1135,7 @@ 2416,0,6,1,-1,0,0,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic 2417,11,6,2,0,0x3,5,1,1,no,0,0,0,none,0,0x0, WM_DOMINION_IMPULSE,Dominion Impulse 2418,9,6,2,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_SEVERE_RAINSTORM,Severe Rainstorm -2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld //CHECK May need to recode too. +2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld 2420,0,6,4,0,0x2,2:3:4:5:6,5,1,yes,0,0,0,none,0,0x0, WM_VOICEOFSIREN,Voice of Siren 2421,7,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_DEADHILLHERE,Valley of Death 2422,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0,0,none,0,0x0, WM_LULLABY_DEEPSLEEP,Deep Sleep Lullaby diff --git a/db/pre-re/skill_require_db.txt b/db/pre-re/skill_require_db.txt index 2ed5f7e903..b9243d0b2b 100644 --- a/db/pre-re/skill_require_db.txt +++ b/db/pre-re/skill_require_db.txt @@ -663,7 +663,7 @@ 2240,0,0,5,0,0,0,99,0,0,none,0,0,6124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGMASTERY#Warg Mastery# 2241,0,0,2,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGRIDER#Warg Rider# 2242,0,0,4,0,0,0,99,0,0,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGDASH#Warg Dash# -2243,0,0,20:22:24:26:28,0,0,0,99,0,0,ridingwarg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike# +2243,0,0,20:22:24:26:28,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike# 2244,0,0,40:42:44:46:48,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGBITE#Warg Bite# 2246,0,0,12,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_SENSITIVEKEEN#Sensitive Keen# @@ -773,7 +773,7 @@ 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell# 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GATEOFHELL#Gate of Hell# 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet# -2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# +2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain# 2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# 2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# diff --git a/db/pre-re/skill_unit_db.txt b/db/pre-re/skill_unit_db.txt index 7b586e221f..a560aacd0c 100644 --- a/db/pre-re/skill_unit_db.txt +++ b/db/pre-re/skill_unit_db.txt @@ -101,7 +101,7 @@ //706,0xfd, , 0, 0,1000,all, 0x000 //NPC_VENOMFOG -2044,0xca, , 0, 2,3000,all, 0x018 //AB_EPICLESIS +2044,0xca, , 0, 2,1000,all, 0x018 //AB_EPICLESIS 2032,0xe1, , 2, 0,1000,enemy, 0x018 //GC_POISONSMOKE @@ -126,13 +126,13 @@ 2301,0xce, , 0, 2, -1,all, 0x200E //SC_CHAOSPANIC 2302,0xcf, , 0, 2, -1,enemy, 0x002 //SC_MAELSTROM 2303,0xd0, , 0, 2, -1,all, 0x2018 //SC_BLOODYLUST -2304,0xd1, , 0, 2,1000,enemy, 0x018 //SC_FEINTBOMB +2304,0xd1, , 0, 1,1000,enemy, 0x018 //SC_FEINTBOMB 2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING 2414,0xda, , 0, 1,1000,enemy, 0x008 //WM_REVERBERATION 2418,0xdb, , 0, 5, 300,enemy, 0x800 //WM_SEVERE_RAINSTORM -2419,0xde, , 0, 1,1000,all, 0x014 //WM_POEMOFNETHERWORLD +2419,0xde, , 0, 1,1000,enemy, 0x014 //WM_POEMOFNETHERWORLD 2443,0xdc, , 0, 0,1000,enemy, 0x00A //SO_FIREWALK 2444,0xdd, , 0, 0,1000,enemy, 0x00A //SO_ELECTRICWALK diff --git a/db/re/skill_cast_db.txt b/db/re/skill_cast_db.txt index ceb3d7b563..e74d5a9591 100644 --- a/db/re/skill_cast_db.txt +++ b/db/re/skill_cast_db.txt @@ -3,11 +3,11 @@ // Structure of Database: // SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time // -// CastingTime: time to cast this skill, in miliseconds -// AfterCastActDelay: "normal" delay, character cannot use skills, in miliseconds -// AfterCastWalkDleay: amount of time before character can move again, in miliseconds +// CastingTime: time to cast this skill, in milliseconds +// AfterCastActDelay: "normal" delay, character cannot use skills, in milliseconds +// AfterCastWalkDleay: amount of time before character can move again, in milliseconds // Duration1/Duration2: usually the durations used by the skill, at special cases it is used to hold special data -// Cool Down: amount of time until character can re-use this skill, in miliseconds +// Cool Down: amount of time until character can re-use this skill, in milliseconds // Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time) // // On all fields you can use ':' as a delimiter for level-specific values. @@ -19,91 +19,91 @@ //===== Swordman =========================== //-- SM_PROVOKE -6,0,0,0,30000,0,0,-1 +6,0,0,0,30000,0,0,0 //-- SM_MAGNUM -7,0,2000,0,2000,10000,0,-1 +7,0,2000,0,2000,10000,0,0 //-- SM_ENDURE -8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000,10000,-1 +8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000,10000,0 //========================================== //===== Mage =============================== //-- MG_SIGHT -10,0,0,0,10000,0,0,-1 +10,0,0,0,10000,0,0,0 //-- MG_NAPALMBEAT -11,500,1000:1000:1000:900:900:800:800:700:600:500,0,0,0,0,0 +11,400,1000:1000:1000:900:900:800:800:700:600:500,0,0,0,0,100 //-- MG_SAFETYWALL -12,4000:3600:3200:2800:2400:2000:1600:1200:800:400,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,0 +12,3200:2880:2560:2240:1920:1600:1280:960:640:320,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,800:720:640:560:480:400:320:240:160:80 //-- MG_SOULSTRIKE -13,500,1200:1200:1600:1600:2000:2000:2400:2400:2800:2500,0,0,0,0,0 +13,400,1200:1200:1600:1600:2000:2000:2400:2400:2800:2500,0,0,0,0,100 //-- MG_COLDBOLT -14,800:1200:1600:2000:2400:3600:4000:4400,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,0 +14,640:960:1280:1600:1920:2100:1560:2880:3200:3520,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,160:240:320:400:480:700:640:720:800:880 //-- MG_FROSTDIVER -15,800,1500,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,0,0 +15,640,1500,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,0,160 //-- MG_STONECURSE -16,1000,0,0,5000,20000,0,0 +16,800,0,0,5000,20000,0,200 //-- MG_FIREBALL -17,1600:1600:1600:1600:1600:1000:1000:1000:1000:1000,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,0,0,0,0,0 +17,1280:1280:1280:1280:1280:800:800:800:800:800,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,0,0,0,0,320:320:320:320:320:200:200:200:200:200 //-- MG_FIREWALL -18,2000:1800:1600:1400:1200:1100:1000:900:800:700,0,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0,0 +18,1600:1440:1280:1120:960:880:800:720:640:560,0,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0,400:360:320:280:240:220:200:180:160:140 //-- MG_FIREBOLT -19,800:1200:1600:2000:2400:3600:4000:4400,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,0 +19,640:960:1280:1600:1920:2100:1560:2880:3200:3520,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,160:240:320:400:480:700:640:720:800:880 //-- MG_LIGHTNINGBOLT -20,800:1200:1600:2000:2400:3600:4000:4400,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,0 +20,640:960:1280:1600:1920:2100:1560:2880:3200:3520,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,160:240:320:400:480:700:640:720:800:880 //-- MG_THUNDERSTORM -21,800:1600:2400:3200:4000:4800:5600:6400:7200:8000,2000,0,500,0,0,0 +21,640:1280:1920:2560:3200:3840:4480:5120:5760:6400,2000:2000:2000:2000:2000:2000:2000:2000:2000:2000,0,500,0,0,160:320:480:640:800:960:1120:1280:1440:1600 //========================================== //===== Acolyte ============================ //-- AL_RUWACH -24,0,0,0,10000,0,0,-1 +24,0,0,0,10000,0,0,0 //-- AL_PNEUMA -25,0,0,0,10000,0,0,-1 +25,0,0,0,10000,0,0,0 //-- AL_TELEPORT -26,0,0,0,0,0,0,-1 +26,0,0,0,0,0,0,0 //-- AL_WARP 27,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,1000 //-- AL_HEAL -28,0,1000,0,0,0,0,-1 +28,0,1000,0,0,0,0,0 //-- AL_INCAGI -29,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0 +29,800,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,200 //-- AL_DECAGI 30,750,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0,250 //-- AL_HOLYWATER -31,1000,500,0,0,0,0,0 +31,800,500,0,0,0,0,200 //-- AL_CRUCIS 32,350,2000,0,0,0,0,150 //-- AL_ANGELUS 33,350,3500,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,150 //-- AL_BLESSING -34,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,-1 +34,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0 //-- AL_CURE -35,0,1000,0,0,6000,0,-1 +35,0,1000,0,0,6000,0,0 //========================================== //===== Archer ============================= //-- AC_CONCENTRATION -45,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,-1 +45,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0 //-- AC_DOUBLE -46,0,100,0,100,0,0,-1 +46,0,100,0,100,0,0,0 //-- AC_SHOWER -47,0,100,0,100,0,0,-1 +47,0,100,0,100,0,0,0 //========================================== //===== Thief ============================== //-- TF_HIDING -51,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,-1 +51,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0 //-- TF_POISON -52,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,-1 +52,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0 //========================================== //===== First planned to be shared ========= //-- ALL_RESURRECTION -54,6000:4000:2000:0,0:1000:2000:3000,0,0,0,0,0 +54,4800:3200:1600:0,0:1000:2000:3000,0,0,0,0,1200:800:400:0 //========================================== @@ -111,11 +111,11 @@ //-- KN_BRANDISHSPEAR 57,350,0,0,0,0,0,350 //-- KN_SPEARBOOMERANG -59,0,1000,0,0,0,0,-1 +59,0,1000,0,0,0,0,0 //-- KN_TWOHANDQUICKEN -60,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,-1 +60,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0 //-- KN_AUTOCOUNTER -61,0,0,0,400:800:1200:1600:2000,0,0,-1 +61,0,0,0,400:800:1200:1600:2000,0,0,0 //-- KN_BOWLINGBASH 62,350,0,0,0,0,0,350 //========================================== @@ -123,62 +123,62 @@ //===== Priest ============================= //-- PR_IMPOSITIO -66,0,3000,0,60000,0,0,-1 +66,0,3000,0,60000,0,0,0 //-- PR_SUFFRAGIUM -67,0,2000,0,30000:20000:10000,0,0,-1 +67,0,2000,0,30000:20000:10000,0,0,0 //-- PR_ASPERSIO -68,0,2000,0,60000:90000:120000:150000:180000,0,0,-1 +68,0,2000,0,60000:90000:120000:150000:180000,0,0,0 //-- PR_BENEDICTIO -69,0,0,0,40000:80000:120000:160000:200000,0,0,-1 +69,0,0,0,40000:80000:120000:160000:200000,0,0,0 //-- PR_SANCTUARY -70,5000,0,0,4000:7000:10000:13000:16000:19000:22000:25000:28000:31000,0,0,0 +70,4000,0,0,4000:7000:10000:13000:16000:19000:22000:25000:28000:31000,0,0,1000 //-- PR_SLOWPOISON -71,0,0,0,10000:20000:30000:40000,0,0,-1 +71,0,0,0,10000:20000:30000:40000,0,0,0 //-- PR_STRECOVERY -72,0,2000,0,0,30000,0,-1 +72,0,2000,0,0,30000,0,0 //-- PR_KYRIE -73,2000,2000,0,120000,0,0,0 +73,1600,2000,0,120000,0,0,400 //-- PR_MAGNIFICAT -74,4000,2000,0,30000:45000:60000:75000:90000,0,0,0 +74,3200,2000,0,30000:45000:60000:75000:90000,0,0,800 //-- PR_GLORIA -75,0,2000,0,10000:15000:20000:25000:30000,0,0,-1 +75,0,2000,0,10000:15000:20000:25000:30000,0,0,0 //-- PR_LEXDIVINA -76,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0,0,-1 +76,0,3000,0,30000:35000:40000:45000:50000:60000:60000:60000:60000:60000,0,0,0 //-- PR_TURNUNDEAD -77,1000,3000,0,0,0,0,0 +77,800,3000,0,0,0,0,200 //-- PR_LEXAETERNA -78,0,3000,0,600000,0,0,-1 +78,0,3000,0,600000,0,0,0 //-- PR_MAGNUS -79,15000,4000,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0,0 +79,12000,4000,0,5000:6000:7000:8000:9000:10000:11000:12000:13000:14000,0,0,3000 //========================================== //===== Wizard ============================= //-- WZ_FIREPILLAR -80,2400:2160:1920:1680:1440:1200:960:720:480:240,1000,0,30000,600:800:1000:1200:1400:1600:1800:2000:2200:2400,0,0 +80,1920:1728:1536:1344:1152:960:768:576:384:192,1000,0,30000,600:800:1000:1200:1400:1600:1800:2000:2200:2400,0,480:432:384:336:288:240:192:144:96:48 //-- WZ_SIGHTRASHER -81,400,2000,0,500,0,0,0 +81,0,2000,0,500,0,0,80 //-- WZ_METEOR -83,12000,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,5000,0,0 +83,9600,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,5000,0,2400 //-- WZ_JUPITEL -84,2000:2400:2800:3200:3600:4000:4400:4800:5200:5600,0,0,0,0,0,0 +84,1600:1920:2240:2560:2880:3200:3520:3840:4160:4480,0,0,0,0,0,400:480:560:640:720:800:880:960:1040:1120 //-- WZ_VERMILION -85,12000:11600:11200:10800:10400:10000:9600:9200:8800:8400,5000,0,4000,5500:6000:6500:7000:7500:8000:8500:9000:9500:10000,0,0 +85,9600:9280:8960:8640:8320:8000:7680:7360:7040:6720,5000,0,4000,5500:6000:6500:7000:7500:8000:8500:9000:9500:10000,0,2400:2320:2240:2160:2080:2000:1920:1840:1760:1680 //-- WZ_WATERBALL -86,800:1600:2400:3200:4000:4000:4000:4000:4000:4000,0,0,0,0,0,0 +86,640:1280:1920:2560:3200:3200:3200:3200:3200:3200,0,0,0,0,0,160:320:480:640:800:800:800:800:800:800 //-- WZ_ICEWALL -87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,-1 +87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,0 //-- WZ_FROSTNOVA -88,800:800:720:720:640:640:560:560:480:480,200,0,0,4000:5000:6000:8000:10000:12000:13000:15000:16000:17000,0,0 +88,640:640:576:576:512:512:448:448:384:384,200,0,0,4000:5000:6000:8000:10000:12000:13000:15000:16000:17000,0,160:160:144:144:128:128:112:112:96:96 //-- WZ_STORMGUST -89,4800:5600:6400:7200:8000:8800:9600:10400:11200:12000,5000,0,4600,12000,0,0 +89,3840:4480:5120:5760:6400:7040:7680:8320:8960:9600,5000,0,4600,12000,0,960:1120:1280:1440:1600:1760:1920:2080:2240:2400 //-- WZ_EARTHSPIKE -90,560:1120:1680:2240:2800:2800:2800:2800:2800:2800,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,0 +90,448:896:1344:1792:2240:2240:2240:2240:2240:2240,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,112:224:336:448:560:560:560:560:560:560 //-- WZ_HEAVENDRIVE -91,800:1600:2400:3200:4000:4000:4000:4000:4000:4000,1000,0,500,0,0,0 +91,640:1280:1920:2560:3200:3200:3200:3200:3200:3200,1000,0,500,0,0,160:320:480:640:800:800:800:800:800:800 //-- WZ_QUAGMIRE -92,0,1000,0,5000:10000:15000:20000:25000,5000:10000:15000:20000:25000,0,-1 +92,0,1000,0,5000:10000:15000:20000:25000,5000:10000:15000:20000:25000,0,0 //========================================== @@ -186,55 +186,55 @@ //-- BS_REPAIRWEAPON 108,2500,0,0,0,0,0,2500 //-- BS_HAMMERFALL -110,0,0,0,0,5000,0,-1 +110,0,0,0,0,5000,0,0 //-- BS_ADRENALINE -111,0,0,0,30000:60000:90000:120000:150000,0,0,-1 +111,0,0,0,30000:60000:90000:120000:150000,0,0,0 //-- BS_WEAPONPERFECT -112,0,0,0,10000:20000:30000:40000:50000,0,0,-1 +112,0,0,0,10000:20000:30000:40000:50000,0,0,0 //-- BS_OVERTHRUST -113,0,0,0,20000:40000:60000:80000:100000,0,0,-1 +113,0,0,0,20000:40000:60000:80000:100000,0,0,0 //-- BS_MAXIMIZE -114,0,0,0,1000:2000:3000:4000:5000,0,0,-1 +114,0,0,0,1000:2000:3000:4000:5000,0,0,0 //========================================== //===== Hunter ============================= //-- HT_SKIDTRAP -115,0,0,0,300000:240000:180000:120000:60000,0,0,-1 +115,0,0,0,300000:240000:180000:120000:60000,0,0,0 //-- HT_LANDMINE -116,0,0,0,200000:160000:120000:80000:40000,5000,0,-1 +116,0,1000,0,200000:160000:120000:80000:40000,5000,0,1000 //-- HT_ANKLESNARE -117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000,0,-1 +117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000,0,0 //-- HT_SHOCKWAVE -118,0,0,0,200000:160000:120000:80000:40000,0,0,-1 +118,0,0,0,200000:160000:120000:80000:40000,0,0,0 //-- HT_SANDMAN -119,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000,0,-1 +119,0,0,0,150000:120000:90000:60000:30000,12000:14000:16000:18000:20000,0,0 //-- HT_FLASHER -120,0,0,0,150000:120000:90000:60000:30000,10000:11000:12000:13000:14000,0,-1 +120,0,0,0,150000:120000:90000:60000:30000,10000:11000:12000:13000:14000,0,0 //-- HT_FREEZINGTRAP -121,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000,0,-1 +121,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000,0,0 //-- HT_BLASTMINE -122,0,0,0,25000:20000:15000:10000:5000,0,0,-1 +122,0,1000,0,25000:20000:15000:10000:5000,0,0,1000 //-- HT_CLAYMORETRAP -123,0,0,0,20000:40000:60000:80000:100000,0,0,-1 +123,0,1000,0,20000:40000:60000:80000:100000,0,0,1000 //-- HT_TALKIEBOX -125,0,0,0,600000,0,0,-1 +125,0,0,0,600000,0,0,0 //-- HT_BLITZBEAT -129,1000,1000,0,0,0,0,0 +129,800,1000,0,0,0,0,200 //========================================== //===== Assassin =========================== //-- AS_CLOAKING -135,0,0,0,500:1000:2000:3000:4000:5000:6000:7000:8000:9000,0,0,-1 +135,0,0,0,500:1000:2000:3000:4000:5000:6000:7000:8000:9000,0,0,0 //-- AS_SONICBLOW -136,0,0,2000,0,5000,0,-1 +136,0,0,2000,0,5000,0,0 //-- AS_ENCHANTPOISON -138,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,10000:20000:30000:40000:50000:60000:70000:80000:90000:100000,0,-1 +138,0,0,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,10000:20000:30000:40000:50000:60000:70000:80000:90000:100000,0,0 //-- AS_POISONREACT -139,0,0,0,20000:25000:30000:35000:40000:45000:50000:55000:60000:65000,0,0,-1 +139,0,0,0,20000:25000:30000:35000:40000:45000:50000:55000:60000:65000,0,0,0 //-- AS_VENOMDUST -140,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,-1 +140,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0 //-- AS_SPLASHER 141,500,0,0,5000:5500:6000:6500:7000:7500:8000:8500:9000:9500,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,7500:8000:8500:9000:9500:10000:10500:11000:11500:12000,500 //========================================== @@ -242,26 +242,26 @@ //===== 1st Jobs Quest Skills=============== //-- NV_TRICKDEAD -143,0,0,0,600000,0,0,-1 +143,0,0,0,600000,0,0,0 //-- SM_FATALBLOW -145,0,0,0,0,5000,0,-1 +145,0,0,0,0,5000,0,0 //-- AC_CHARGEARROW 148,0,0,0,0,0,0,1500 //-- TF_SPRINKLESAND -149,0,0,0,0,10000,0,-1 +149,0,0,0,0,10000,0,0 //-- TF_PICKSTONE 151,0,0,0,0,0,0,500 //-- TF_THROWSTONE -152,0,100,0,5000,8000,0,-1 +152,0,100,0,5000,8000,0,0 //-- MC_LOUD -155,0,0,0,300000,0,0,-1 +155,0,0,0,300000,0,0,0 //-- AL_HOLYLIGHT -156,2000,0,0,0,0,0,0 +156,1600,0,0,0,0,0,400 //-- MG_ENERGYCOAT 157,0,0,0,300000,0,0,5000 @@ -270,87 +270,87 @@ //===== NPC Skills Part 1 ================== //-- NPC_ATTRICHANGE -161,0,0,0,1800000,0,0,-1 +161,0,0,0,1800000,0,0,0 //-- NPC_CHANGEWATER -162,0,0,0,1800000,0,0,-1 +162,0,0,0,1800000,0,0,0 //-- NPC_CHANGEGROUND -163,0,0,0,1800000,0,0,-1 +163,0,0,0,1800000,0,0,0 //-- NPC_CHANGEFIRE -164,0,0,0,1800000,0,0,-1 +164,0,0,0,1800000,0,0,0 //-- NPC_CHANGEWIND -165,0,0,0,1800000,0,0,-1 +165,0,0,0,1800000,0,0,0 //-- NPC_CHANGEPOISON -166,0,0,0,1800000,0,0,-1 +166,0,0,0,1800000,0,0,0 //-- NPC_CHANGEHOLY -167,0,0,0,1800000,0,0,-1 +167,0,0,0,1800000,0,0,0 //-- NPC_CHANGEDARKNESS -168,0,0,0,1800000,0,0,-1 +168,0,0,0,1800000,0,0,0 //-- NPC_CHANGETELEKINESIS -169,0,0,0,1800000,0,0,-1 +169,0,0,0,1800000,0,0,0 //-- NPC_SELFDESTRUCTION -173,0,0,0,3500,0,0,-1 +173,0,0,0,3500,0,0,0 //-- NPC_POISON -176,0,0,0,0,60000,0,-1 +176,0,0,0,0,60000,0,0 //-- NPC_BLINDATTACK -177,0,0,0,0,30000,0,-1 +177,0,0,0,0,30000,0,0 //-- NPC_SILENCEATTACK -178,0,0,0,0,30000,0,-1 +178,0,0,0,0,30000,0,0 //-- NPC_STUNATTACK -179,0,0,0,0,5000,0,-1 +179,0,0,0,0,5000,0,0 //-- NPC_PETRIFYATTACK -180,0,0,0,0,20000,0,-1 +180,0,0,0,0,20000,0,0 //-- NPC_CURSEATTACK -181,0,0,0,0,30000,0,-1 +181,0,0,0,0,30000,0,0 //-- NPC_SLEEPATTACK -182,0,0,0,0,30000,0,-1 +182,0,0,0,0,30000,0,0 //-- NPC_MAGICALATTACK -192,0,0,0,15000,0,0,-1 +192,0,0,0,15000,0,0,0 //-- NPC_KEEPING -201,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,-1 +201,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,0 //-- NPC_BARRIER -204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,-1 +204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,0 //-- NPC_DEFENDER -205,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,-1 +205,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0,0,0 //-- NPC_LICK -206,0,0,0,0,3000,0,-1 +206,0,0,0,0,3000,0,0 //-- NPC_HALLUCINATION -207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0,0,-1 +207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0,0,0 //========================================== //===== Rogue ============================== //-- RG_BACKSTAP -212,0,500,0,5000,0,0,-1 +212,0,500,0,5000,0,0,0 //-- RG_RAID -214,0,0,0,5000,8000:9000:10000:11000:12000,0,-1 +214,0,0,0,5000,8000:9000:10000:11000:12000,0,0 //-- RG_STRIPWEAPON -215,700:900:1100:1500:1500:1500:1500:1500:1500,1000,0,75000:90000:105000:120000:135000,0,0,0 +215,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300 //-- RG_STRIPSHIELD -216,700:900:1100:1500:1500:1500:1500:1500:1500,1000,0,75000:90000:105000:120000:135000,0,0,0 +216,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300 //-- RG_STRIPARMOR -217,700:900:1100:1500:1500:1500:1500:1500:1500,1000,0,75000:90000:105000:120000:135000,0,0,0 +217,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300 //-- RG_STRIPHELM -218,700:900:1100:1500:1500:1500:1500:1500:1500,1000,0,75000:90000:105000:120000:135000,0,0,0 +218,560:720:880:1140:1200:1200:1200:1200:1200:1200,1000,0,75000:90000:105000:120000:135000,0,0,140:180:220:260:300:300:300:300:300:300 //-- RG_GRAFFITI -220,0,0,0,180000,0,0,-1 +220,0,0,0,180000,0,0,0 //========================================== //===== Alchemist ========================== //-- AM_DEMONSTRATION -229,1000,500,0,40000:45000:50000:55000:60000,0,0,0 +229,800,500,0,40000:45000:50000:55000:60000,0,0,200 //-- AM_ACIDTERROR 230,500,500,0,3:7:10:12:13,120000,0,500 //-- AM_POTIONPITCHER -231,0,500,0,0,0,0,-1 +231,0,500,0,0,0,0,0 //-- AM_CANNIBALIZE -232,2000,500,0,300000:240000:180000:120000:60000,0,0,0 +232,1600,500,0,300000:240000:180000:120000:60000,0,0,400 //-- AM_SPHEREMINE -233,2000,500,0,30000,0,0,0 +233,1600,500,0,30000,0,0,400 //-- AM_CP_WEAPON 234,0,500,0,120000:240000:360000:480000:600000,0,0,2000 //-- AM_CP_SHIELD @@ -366,15 +366,15 @@ //===== Crusader =========================== //-- CR_AUTOGUARD -249,0,0,0,300000,0,0,-1 +249,0,0,0,300000,0,0,0 //-- CR_SHIELDCHARGE -250,0,0,0,0,5000,0,-1 +250,0,0,0,0,5000,0,0 //-- CR_SHIELDBOOMERANG -251,0,700,0,0,0,0,-1 +251,0,700,0,0,0,0,0 //-- CR_REFLECTSHIELD -252,0,0,0,300000,0,0,-1 +252,0,0,0,300000,0,0,0 //-- CR_HOLYCROSS -253,0,0,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,-1 +253,0,0,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,0 //-- CR_GRANDCROSS 254,1500,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,1500 //-- CR_DEVOTION @@ -382,9 +382,9 @@ //-- CR_PROVIDENCE 256,1500,0,0,180000,0,0,1500 //-- CR_DEFENDER -257,0,800,0,180000,0,0,-1 +257,0,800,0,180000,0,0,0 //-- CR_SPEARQUICKEN -258,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,-1 +258,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0 //========================================== @@ -394,7 +394,7 @@ //-- MO_ABSORBSPIRITS 262,1000,0,0,0,0,0,1000 //-- MO_TRIPLEATTACK -263,0,0,0,0,0,0,-1 +263,0,0,0,0,0,0,0 //-- MO_INVESTIGATE 266,500,500,0,0,0,0,500 //-- MO_FINGEROFFENSIVE @@ -402,18 +402,18 @@ //-- MO_STEELBODY 268,2500,0,0,30000:60000:90000:120000:150000,0,0,2500 //-- MO_BLADESTOP -269,0,500,0,500:700:900:1100:1300,20000:30000:40000:50000:60000,0,-1 +269,0,500,0,500:700:900:1100:1300,20000:30000:40000:50000:60000,0,0 //-- MO_EXPLOSIONSPIRITS -270,0,0,0,180000,0,0,-1 +270,0,0,0,180000,0,0,0 //-- MO_EXTREMITYFIST 271,2000:1750:1500:1250:1000:500:1000:1000:1000:1000,3000:2500:2000:1500:1000,0,10000,300000,0,2000:1750:1500:1250:1000:500:1000:1000:1000:1000 //========================================== //===== Sage =============================== //-- SA_MAGICROD -276,0,1000,0,400:600:800:1000:1200,0,0,-1 +276,0,1000,0,400:600:800:1000:1200,0,0,0 //-- SA_SPELLBREAKER -277,700,0,0,0,0,0,0 +277,560,0,0,0,0,0,140 //-- SA_AUTOSPELL 279,0,0,0,120000:150000:180000:210000:240000:270000:300000:330000:360000:390000,0,0,3000 //-- SA_FLAMELAUNCHER @@ -425,75 +425,75 @@ //-- SA_SEISMICWEAPON 283,0,0,0,1200000:1200000:1200000:1200000:1800000,0,0,3000 //-- SA_VOLCANO -285,5000,0,0,60000:120000:180000:240000:300000,0,0,0 +285,4000,0,0,60000:120000:180000:240000:300000,0,0,1000 //-- SA_DELUGE -286,5000,0,0,60000:120000:180000:240000:300000,0,0,0 +286,4000,0,0,60000:120000:180000:240000:300000,0,0,1000 //-- SA_VIOLENTGALE -287,5000,0,0,60000:120000:180000:240000:300000,0,0,0 +287,4000,0,0,60000:120000:180000:240000:300000,0,0,1000 //-- SA_LANDPROTECTOR -288,5000,0,0,165000:210000:255000:300000:345000,0,0,0 +288,4000,0,0,165000:210000:255000:300000:345000,0,0,1000 //-- SA_DISPELL -289,2000,0,0,0,0,0,0 +289,1600,0,0,0,0,0,400 //-- SA_REVERSEORCISH -294,0,0,0,1200000,0,0,-1 +294,0,0,0,1200000,0,0,0 //========================================== //===== Bard & Dancer (Ensemble Skills) ==== //-- BD_ADAPTATION -304,0,0,0,0,5000,0,-1 +304,0,0,0,0,5000,0,0 //-- BD_LULLABY -306,0,0,0,60000,15000,0,-1 +306,0,0,0,60000,15000,0,0 //-- BD_RICHMANKIM -307,0,0,0,60000,60000,0,-1 +307,0,0,0,60000,60000,0,0 //-- BD_ETERNALCHAOS -308,0,0,0,60000,60000,0,-1 +308,0,0,0,60000,60000,0,0 //-- BD_DRUMBATTLEFIELD -309,0,0,0,60000,60000,0,-1 +309,0,0,0,60000,60000,0,0 //-- BD_RINGNIBELUNGEN -310,0,0,0,60000,60000,0,-1 +310,0,0,0,60000,60000,0,0 //-- BD_ROKISWEIL -311,0,0,0,60000,60000,0,-1 +311,0,0,0,60000,60000,0,0 //-- BD_INTOABYSS -312,0,0,0,60000,60000,0,-1 +312,0,0,0,60000,60000,0,0 //-- BD_SIEGFRIED -313,0,0,0,60000,60000,0,-1 +313,0,0,0,60000,60000,0,0 //========================================== //===== Bard =============================== //-- BA_MUSICALSTRIKE -316,1500,0,0,0,0,0,0 +316,1200,0,0,0,0,0,300 //-- BA_DISSONANCE -317,0,0,0,30000,3000,0,-1 +317,0,0,0,30000,3000,0,0 //-- BA_FROSTJOKER -318,0,4000,0,0,10000:11000:12000:13000:14000,0,-1 +318,0,4000,0,0,10000:11000:12000:13000:14000,0,0 //-- BA_WHISTLE -319,0,0,0,60000,20000,0,-1 +319,0,0,0,60000,20000,0,0 //-- BA_ASSASSINCROSS -320,0,0,0,120000,20000,0,-1 +320,0,0,0,120000,20000,0,0 //-- BA_POEMBRAGI -321,0,0,0,180000,20000,0,-1 +321,0,0,0,180000,20000,0,0 //-- BA_APPLEIDUN -322,0,0,0,180000,20000,0,-1 +322,0,0,0,180000,20000,0,0 //========================================== //===== Dancer ============================= //-- DC_THROWARROW -324,1500,0,0,0,0,0,0 +324,1200,0,0,0,0,0,300 //-- DC_UGLYDANCE -325,0,0,0,30000,3000,0,-1 +325,0,0,0,30000,3000,0,0 //-- DC_SCREAM -326,0,4000,0,0,5000,0,-1 +326,0,4000,0,0,5000,0,0 //-- DC_HUMMING -327,0,0,0,60000,20000,0,-1 +327,0,0,0,60000,20000,0,0 //-- DC_DONTFORGETME -328,0,0,0,180000,20000,0,-1 +328,0,0,0,180000,20000,0,0 //-- DC_FORTUNEKISS -329,0,0,0,120000,20000,0,-1 +329,0,0,0,120000,20000,0,0 //-- DC_SERVICEFORYOU -330,0,0,0,180000,20000,0,-1 +330,0,0,0,180000,20000,0,0 //========================================== @@ -503,89 +503,89 @@ //-- WE_FEMALE 335,1500,0,0,0,0,0,1500 //-- WE_CALLPARTNER -336,0,0,0,20000,0,0,-1 +336,0,0,0,20000,0,0,0 //========================================== //===== NPC Skills Part 2 ================== //-- NPC_GRANDDARKNESS -339,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,-1 +339,0,0,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,0 //-- NPC_STOP -342,0,0,0,10000,0,0,-1 +342,0,0,0,10000,0,0,0 //-- NPC_CHANGEUNDEAD -348,0,0,0,30000,0,0,-1 +348,0,0,0,30000,0,0,0 //-- NPC_POWERUP -349,0,0,0,10000:15000:20000:25000:30000,0,0,-1 +349,0,0,0,10000:15000:20000:25000:30000,0,0,0 //-- NPC_AGIUP -350,0,0,0,10000:15000:20000:25000:30000,0,0,-1 +350,0,0,0,10000:15000:20000:25000:30000,0,0,0 //-- NPC_INVISIBLE -353,0,0,0,30000,0,0,-1 +353,0,0,0,30000,0,0,0 //-- NPC_RUN -354,0,0:500:1000:1500:2000:2500,0,0,0,0,-1 +354,0,0,0,0,0,0,0 //========================================== //===== Lord Knight ======================== //-- LK_AURABLADE -355,0,0,0,40000:60000:80000:100000:120000,0,0,-1 +355,0,0,0,40000:60000:80000:100000:120000,0,0,0 //-- LK_PARRYING -356,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0,-1 +356,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0,0 //-- LK_CONCENTRATION -357,0,0,0,25000:30000:35000:40000:45000,0,0,-1 +357,0,0,0,25000:30000:35000:40000:45000,0,0,0 //-- LK_TENSIONRELAX -358,0,0,0,180000,0,0,-1 +358,0,0,0,180000,0,0,0 //-- LK_BERSERK -359,0,0,0,300000,15000,0,-1 +359,0,0,0,300000,15000,0,0 //-- LK_FURY -360,0,0,0,300000,0,0,-1 +360,0,0,0,300000,0,0,0 //========================================== //===== High Priest ======================== //-- HP_ASSUMPTIO -361,1000:1500:2000:2500:3000:3000:3000:3000:3000:3000,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0,0,0 +361,800:1200:1600:2000:2400:2400:2400:2400:2400:2400,1100:1200:1300:1400:1500,0,20000:40000:60000:80000:100000,0,0,200:300:400:500:600 //-- HP_BASILICA -362,0,2000:3000:4000:5000:6000,0,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000,0,5000:6000:7000:8000:9000:9000:9000:9000:9000:9000 +362,0,2000:3000:4000:5000:6000,0,20000:25000:30000:35000:40000,20000:25000:30000:35000:40000,0,5000:6000:7000:8000:9000 //========================================== //===== High Wzard ========================= //-- HW_MAGICCRASHER -365,300,300,0,0,0,0,0 +365,240,300,0,0,0,0,60 //-- HW_MAGICPOWER -366,0,0,0,30000,0,0,700 +366,0,0,0,30000,0,0,0 //========================================== //===== Paladin ============================ //-- PA_PRESSURE -367,2000,2000:2500:3000:3500:4000,0,0,2000:3000:4000:5000:6000,0,0 +367,1600,2000:2500:3000:3500:4000,0,0,2000:3000:4000:5000:6000,0,400 //-- PA_GOSPEL -369,0,0,0,60000,60000,0,-1 +369,0,0,0,60000,60000,0,0 //========================================== //===== Champion =========================== //-- CH_PALMSTRIKE -370,0,300,0,0,0,0,-1 +370,300,0,0,0,0,0,0 //-- CH_TIGERFIST -371,0,0,0,0,2000:4000:6000:8000:10000,0,-1 +371,0,0,0,0,2000:4000:6000:8000:10000,0,0 //========================================== //===== Professor ========================== //-- PF_HPCONVERSION -373,0,1000:1200:1400:1600:1800,0,0,0,0,-1 +373,1000:1200:1400:1600:1800,0,0,0,0,0,0 //-- PF_SOULCHANGE 374,0,0,0,0,0,0,3000 //-- PF_SOULBURN -375,0,0,0,0,0,10000:10000:10000:10000:15000,-1 +375,0,0,0,0,0,10000:10000:10000:10000:15000,0 //========================================== //===== Assassin Cross ===================== //-- ASC_EDP -378,0,2000,0,40000:45000:50000:55000:60000,20000:30000:40000:50000:60000,0,-1 +378,0,2000,0,40000:45000:50000:55000:60000,20000:30000:40000:50000:60000,0,0 //-- ASC_BREAKER 379,250,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0,0,250 //========================================== @@ -593,7 +593,7 @@ //===== Sniper ============================= //-- SN_SIGHT -380,0,0,0,30000,0,0,-1 +380,0,0,0,30000,0,0,0 //-- SN_FALCONASSAULT 381,500,3000,0,0,0,0,500 //-- SN_SHARPSHOOTING @@ -607,7 +607,7 @@ //-- WS_MELTDOWN 384,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,5000,0,5:5:6:6:7:7:8:8:9:10 //-- WS_CARTBOOST -387,0,0,0,60000,0,0,-1 +387,0,0,0,60000,0,0,0 //========================================== @@ -615,46 +615,46 @@ //-- ST_CHASEWALK 389,500,0,0,10000,30000,0,500 //-- ST_REJECTSWORD -390,0,0,0,300000,0,0,-1 +390,0,0,0,300000,0,0,0 //========================================== //===== Clown / Gypsy ====================== //-- CG_ARROWVULCAN -394,2000:2200:2400:2600:2800:3000:3200:3400:3600:3800,2000,2000,0,0,0,0 +394,1600:1760:1920:2080:2240:2400:2560:2720:2880:3040,2000,2000,0,0,0,400:440:480:520:560:600:640:680:720:760 //-- CG_MOONLIT -395,0,0,0,20000:25000:30000:35000:40000,0,0,-1 +395,0,0,0,20000:25000:30000:35000:40000,0,0,0 //-- CG_MARIONETTE -396,0,0,0,1000,0,0,-1 +396,0,0,0,1000,0,0,0 //========================================== //===== Mixed Advanced Skills ============== //-- LK_SPIRALPIERCE 397,150:250:350:450:500:500:500:500:500:500,1200:1400:1600:1800:2000,0,0,1000,0,150:250:350:450:500:500:500:500:500:500 //-- LK_HEADCRUSH -398,0,500,0,0,120000,0,-1 +398,0,500,0,0,120000,0,0 //-- LK_JOINTBEAT -399,0,800:800:800:800:1000,0,0,30000,0,-1 +399,0,800:800:800:800:1000,0,0,30000,0,0 //-- HW_NAPALMVULCAN -400,1000,1000,0,0,45000,0,0 +400,800,1000,0,0,45000,0,200 //-- CH_SOULCOLLECT 401,0,0,0,600000,0,0,2000 //-- PF_MINDBREAKER -402,0,800:900:1000:1100:1200,0,30000,0,0,-1 +402,0,800:900:1000:1100:1200,0,30000,0,0,0 //-- PF_MEMORIZE 403,0,0,0,0,0,0,5000 //-- PF_FOGWALL -404,0,0,0,20000,10000,0,-1 +404,0,0,0,20000,10000,0,0 //-- PF_SPIDERWEB -405,0,0,0,30000,8000,0,-1 +405,0,0,0,30000,8000,0,0 //-- ASC_METEORASSAULT (Upkeep2 times are duration of: blind(lv1), stun(lv2) or bleeding (lv3)) 406,250,500,0,0,10000:5000:120000,0,250 //-- ASC_CDP -407,0,5000,0,0,0,0,-1 +407,0,5000,0,0,0,0,0 //========================================== @@ -662,23 +662,23 @@ //-- WE_BABY 408,0,0,0,300000,0,0,2000 //-- WE_CALLPARENT -409,0,0,0,20000,0,0,-1 +409,0,0,0,20000,0,0,0 //-- WE_CALLBABY -410,0,0,0,20000,0,0,-1 +410,0,0,0,20000,0,0,0 //========================================== //===== Taekwon ============================ //-- TK_RUN -411,3000:2500:2000:1500:100:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:100:500:0:0:0:0 +411,3000:2500:2000:1500:100:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:1000:500:0:0:0:0 //-- TK_DOWNKICK -415,0,0,0,0,3000,0,-1 +415,0,0,0,0,3000,0,0 //-- TK_TURNKICK -417,0,0,0,0,2000,0,-1 +417,0,0,0,0,2000,0,0 //-- TK_SPTIME -423,0,0,0,1800000,0,0,-1 +423,0,0,0,1800000,0,0,0 //-- TK_SEVENWIND -425,0,0,0,300000,0,0,-1 +425,0,0,0,300000,0,0,0 //-- TK_HIGHJUMP 426,2500:2000:1500:1000:500:500:500:500:500:500,0,0,0,0,0,2500:2000:1500:1000:500:500:500:500:500:500 //========================================== @@ -687,25 +687,25 @@ //-- SG_FEEL 427,0,0,0,0,0,0,3000 //-- SG_SUN_WARM -428,0,0,0,10000:20000:60000,0,0,-1 +428,0,0,0,10000:20000:60000,0,0,0 //-- SG_MOON_WARM -429,0,0,0,10000:20000:60000,0,0,-1 +429,0,0,0,10000:20000:60000,0,0,0 //-- SG_STAR_WARM -430,0,0,0,10000:20000:60000,0,0,-1 +430,0,0,0,10000:20000:60000,0,0,0 //-- SG_SUN_COMFORT -431,0,0,0,80000:160000:240000:320000,0,0,-1 +431,0,0,0,80000:160000:240000:320000,0,0,0 //-- SG_MOON_COMFORT -432,0,0,0,80000:160000:240000:320000,0,0,-1 +432,0,0,0,80000:160000:240000:320000,0,0,0 //-- SG_STAR_COMFORT -433,0,0,0,80000:160000:240000:320000,0,0,-1 +433,0,0,0,80000:160000:240000:320000,0,0,0 //-- SG_HATE 434,0,0,0,0,0,0,3000 //-- SG_FRIEND -442,0,0,0,10000,0,0,-1 +442,0,0,0,10000,0,0,0 //-- SG_KNOWLEDGE -443,0,0,0,600000,0,0,-1 +443,0,0,0,600000,0,0,0 //-- SG_FUSION -444,0,0,0,600000,0,0,-1 +444,0,0,0,600000,0,0,0 //========================================== //===== Soul Linker ======================== @@ -718,7 +718,7 @@ //-- SL_MONK 447,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- SL_STAR -448,1000,0,0,150000:200000:250000:300000:350000,0,0,0 +448,800,0,0,150000:200000:250000:300000:350000,0,0,200 //-- SL_SAGE 449,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- SL_CRUSADER @@ -741,41 +741,41 @@ 458,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- BS_ADRENALINE2 -459,0,0,0,150000,0,0,-1 +459,0,0,0,150000,0,0,0 //-- SL_HUNTER 460,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- SL_SOULLINKER 461,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- SL_KAIZEL -462,4500:4000:3500:3000:2500:2500:2500:2500:2500:2500,0,0,1800000,2000,0,0 +462,3600:3200:2800:2400:2000:2000:2000:2000:2000:2000,0,0,1800000,2000,0,900:800:700:600:500:500:500:500:500:500 //-- SL_KAAHI -463,0,0,0,1800000,500,0,-1 +463,0,0,0,1800000,500,0,0 //-- SL_KAUPE -464,500,0,0,600000,0,0,0 +464,400,0,0,600000,0,0,100 //-- SL_KAITE -465,6000:5500:5000:4500:4000:3500:3000:3000:3000:3000,0,0,60000:120000:180000:240000:300000:360000:600000,0,0,0 +465,4800:4400:4000:3600:3200:2800:2400:2400:2400:2400,0,0,60000:120000:180000:240000:300000:360000:600000,0,0,1200:1100:1000:900:800:700:600:600:600:600 //-- SL_STIN -467,100,500,0,0,0,0,0 +467,80,500,0,0,0,0,20 //-- SL_STUN -468,100,500,0,2000,0,0,0 +468,80,500,0,2000,0,0,20 //-- SL_SMA -469,2000,500,0,3000,0,0,0 +469,1600,500,0,3000,0,0,400 //-- SL_SWOO -470,1000,500,0,1000:2000:3000:4000:5000:6000:7000,0,0,0 +470,800,500,0,1000:2000:3000:4000:5000:6000:7000,0,0,200 //-- SL_SKE -471,3000:2000:1000:1000:1000:1000:1000:1000:1000:1000,500,0,10000:20000:30000,3000,0,0 +471,2400:1600:800:800:800:800:800:800:800:800,500,0,10000:20000:30000,3000,0,600:400:200:200:200:200:200:200:200:200 //-- SL_SKA -472,3000:2000:1000:1000:1000:1000:1000:1000:1000:1000,500,0,10000:20000:30000,0,0,0 +472,2400:1600:800:800:800:800:800:800:800:800,500,0,10000:20000:30000,0,0,600:400:200:200:200:200:200:200:200:200 //========================================== //-- SM_SELFPROVOKE -473,0,0,0,30000,0,0,-1 +473,0,0,0,30000,0,0, //===== Mixed Advanced Skills ============== //-- ST_PRESERVE 475,0,0,0,600000,0,0,1000 //-- ST_FULLSTRIP -476,0,1000,0,75000:90000:105000:120000:135000,0,0,-1 +476,0,1000,0,75000:90000:105000:120000:135000,0,0,0 //-- CR_SLIMPITCHER 478,1000,1000,0,0,0,0,1000 @@ -783,46 +783,46 @@ 479,0,500,0,120000:240000:360000:480000:600000,0,0,1000 //-- PA_SHIELDCHAIN -480,1000,1000,0,0,0,0,0 +480,800,1000,0,0,0,0,200 //-- PF_DOUBLECASTING -482,2000,0,0,90000,0,0,0 +482,1600,0,0,90000,0,0,400 //-- HW_GANBANTEIN 483,0,5000,0,0,0,0,3000 //-- HW_GRAVITATION -484,0,5000:6000:7000:8000:9000,0,5000:6000:7000:8000:9000,0,0,5000 +484,0,0,0,5000:6000:7000:8000:9000,0,0,5000 //-- WS_CARTTERMINATION -485,0,0,0,0,5000,0,-1 +485,0,0,0,0,5000,0,0 //-- WS_OVERTHRUSTMAX -486,0,0,0,180000,0,0,-1 +486,0,0,0,180000,0,0,0 //-- CG_LONGINGFREEDOM -487,0,0,0,180000,0,0,-1 +487,0,0,0,180000,0,0,0 //-- CG_HERMODE -488,0,0,0,10000:15000:20000:25000:30000,10000:15000:20000:25000:30000,0,-1 +488,0,0,0,10000:15000:20000:25000:30000,10000:15000:20000:25000:30000,0,0 //-- CG_TAROTCARD 489,500,3000,0,0,30000,0,500 //-- CR_ACIDDEMONSTRATION 490,0,1000,0,0,0,0,1000 //-- CR_CULTIVATION -491,0,0,0,300000,0,0,-1 +491,0,0,0,300000,0,0,0 //========================================== //-- ITEM_ENCHANTARMS -492,0,0,0,180000,0,0,-1 +492,0,0,0,180000,0,0,0 //===== Mixed Taekwon Skills =============== //-- TK_MISSION 493,0,0,0,0,0,0,1000 //-- SL_HIGH -494,0,0,0,150000:200000:250000:300000:350000,0,0,1000 +494,0,0,0,150000:200000:250000:300000:350000,0,0,0 //-- KN_ONEHAND -495,0,0,0,300000,0,0,-1 +495,0,0,0,300000,0,0,0 //-- AM_TWILIGHT1 496,0,0,0,0,0,0,3000 @@ -832,103 +832,103 @@ 498,0,0,0,0,0,0,3000 //-- HT_POWER -499,0,100,0,100,0,0,-1 +499,0,100,0,100,0,0,0 //========================================== //===== Gunslinger ========================= //-- GS_GLITTERING -500,0,0,0,600000,0,0,-1 +500,0,0,0,600000,0,0,0 //-- GS_FLING -501,0,0,0,30000,0,0,-1 +501,0,0,0,30000,0,0,0 //-- GS_BULLSEYE -503,1000,1000,0,0,0,0,0 +503,800,1000,0,0,0,0,200 //-- GS_MADNESSCANCEL -504,2000,3000,0,15000,0,0,0 +504,1600,3000,0,15000,0,0,400 //-- GS_ADJUSTMENT -505,1000,2000,0,30000,0,0,0 +505,800,2000,0,30000,0,0,200 //-- GS_INCREASING -506,0,1000,0,60000,0,0,-1 +506,0,1000,0,60000,0,0,0 //-- GS_CRACKER -508,0,1000,0,0,5000,0,-1 +508,0,1000,0,0,5000,0,0 //-- GS_TRACKING 512,600:700:800:900:1000:1100:1200:1300:1400:1500,1500,0,0,0,0,600:700:800:900:1000:1100:1200:1300:1400:1500 //-- GS_DISARM -513,2000,1000,0,30000,0,0,0 +513,1600,1000,0,30000,0,0,400 //-- GS_PIERCINGSHOT -514,1500,500,0,0,120000,0,0 +514,1200,500,0,0,120000,0,300 //-- GS_RAPIDSHOWER -515,0,1500,0,0,0,0,-1 +515,0,1500,0,0,0,0,0 //-- GS_DESPERADO -516,0,1000,1000,1000,0,0,-1 +516,0,1000,1000,1000,0,0,0 //-- GS_GATLINGFEVER -517,1000,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,0,0,0 +517,800,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:165000,0,0,200 //-- GS_DUST -518,1500,1000,0,0,0,0,0 +518,1200,1000,0,0,0,0,300 //-- GS_FULLBUSTER -519,1000,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000,0,0 +519,800,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,10000,0,200 //-- GS_GROUNDDRIFT -521,1000,1000,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,10000,0,0 +521,800,1000,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000,10000,0,200 //========================================== //===== Ninja ============================== //-- NJ_KUNAI -524,0,1000,0,0,0,0,-1 +524,0,1000,0,0,0,0,0 //-- NJ_HUUMA -525,3000,2000,0,100,0,0,0 +525,2400:2400:2400:2400:2400:2400:2400:2400:2400:2400,2000,0,100,0,0,600 //-- NJ_ZENYNAGE -526,0,5000,0,0,0,0,-1 +526,0,5000,0,0,0,0,0 //-- NJ_TATAMIGAESHI -527,0,3000,0,3000,3000,0,-1 +527,0,3000,0,3000,3000,0,0 //-- NJ_KASUMIKIRI -528,0,1000,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,-1 +528,0,1000,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0 //-- NJ_SHADOWJUMP -529,0,1000,0,0,0,0,-1 +529,0,1000,0,0,0,0,0 //-- NJ_UTSUSEMI -531,0,1000,0,20000:30000:40000:50000:60000,0,0,-1 +531,0,1000,0,20000:30000:40000:50000:60000,0,0,0 //-- NJ_BUNSINJYUTSU -532,4000:3500:3000:2500:2000:1500:1000:1000:1000:1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0 +532,3200:2800:2400:2000:1600:1200:800:800:800:800,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,800:700:600:500:400:300:200:200:200:200 //-- NJ_KOUENKA -534,700:1400:2100:2800:3500:4200:4800:5600:6300:7000,0,0,0,0,0,0 +534,560:1120:1680:2240:2800:3360:3840:4480:5040:5600,0,0,0,0,0,140:280:420:560:700:840:960:1120:1260:1400 //-- NJ_KAENSIN -535,6000:5500:5000:4500:4000:3500:3000:2500:2000:1500,1000,0,20000,0,0,0 +535,4800:4400:4000:3600:3200:2800:2400:2000:1600:1200,1000,0,20000,0,0,1200:1100:1000:900:800:700:600:500:400:300 //-- NJ_BAKUENRYU -536,3000,2000,0,0,0,0,0 +536,2400,2000,0,0,0,0,600 //-- NJ_HYOUSENSOU -537,700:1400:2100:2800:3500:4200:4800:5600:6300:7000,0,0,0,0,0,0 +537,560:1120:1680:2240:2800:3360:3840:4480:5040:5600,0,0,0,0,0,140:280:420:560:700:840:960:1120:1260:1400 //-- NJ_SUITON -538,3000,2000,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0 +538,2400,2000,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,600 //-- NJ_HYOUSYOURAKU -539,2000:2500:3000:3500:4000:4000:4000:4000:4000:4000,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,0 +539,1600:2000:2400:2800:3200:3200:3200:3200:3200:3200,2000,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000,0,400:500:600:700:800:800:800:800:800:800 //-- NJ_HUUJIN -540,1000:1500:2000:2500:3000:3500:4000:4500:5000:5500,1000,0,0,0,0,0 +540,800:1200:1600:2000:2400:2800:3200:3600:4000:4400,1000,0,0,0,0,200:300:400:500:600:700:800:900:1000:1100 //-- NJ_RAIGEKISAI -541,4000,0,0,100,0,0,0 +541,3200,0,0,100,0,0,800 //-- NJ_KAMAITACHI -542,4000,0,0,0,0,0,0 +542,3200,0,0,0,0,0,800 //-- NJ_NEN -543,5000:4000:3000:2000:1000:1000:1000:1000:1000:1000,0,0,30000:45000:60000:75000:90000,0,0,0 +543,4000:3200:2400:1600:800:800:800:800:800:800,0,0,30000:45000:60000:75000:90000,0,0,1000:800:600:400:200:200:200:200:200:200 //========================================== //===== Gangsi Branch and Other Skills ===== //-- MB_PETPITCHER -//551,1000:1000:1000:1000:1000:500:500:500:500:500,0,0,0,0,0 +//551,1000:1000:1000:1000:1000:500:500:500:500:500,0,0,0,0,0,0 //-- MB_B_GAIN -//556,2200:2000:1800:1600:1400:1200:1000,0,0,0,0,0 +//556,2200:2000:1800:1600:1400:1200:1000,0,0,0,0,0,0 //-- MB_MUNAKBALL -//560,1500:1500:1500:1500:1000:1000:1000:1000:500:500,0,0,0,0,0 +//560,1500:1500:1500:1500:1000:1000:1000:1000:500:500,0,0,0,0,0,0 //-- MB_B_GATHERING -//562,10000,0,0,0,0,0 +//562,10000,0,0,0,0,0,0 //-- MB_B_EXCLUDE -//564,30000:25000:20000:15000:10000,0,0,0,0,0 +//564,30000:25000:20000:15000:10000,0,0,0,0,0,0 //-- MB_B_WALLSHIFT -//568,1000:800:600:400:200,0,0,0,0,0 +//568,1000:800:600:400:200,0,0,0,0,0,0 //-- SL_DEATHKNIGHT 572,0,0,0,150000:200000:250000:300000:350000,0,0,1000 @@ -940,24 +940,24 @@ 575,0,0,0,150000:200000:250000:300000:350000,0,0,1000 //-- AM_TWILIGHT4 -//576,3000,10000,0,0,0,0 +//576,0,10000,0,0,0,0,3000 //-- DE_WINDATTACK -//617,1000:1000:1000:1000:1000:0:0:0:0:0,0,0,0,0,0 +//617,1000:1000:1000:1000:1000:0:0:0:0:0,0,0,0,0,0,0 //-- DA_EXPLOSION -//625,7000:6000:5000:4000:3000,0,0,0,0,0 +//625,7000:6000:5000:4000:3000,0,0,0,0,0,0 //-- DA_MAGICCART -//640,5000:4000:3000:2000:1000,0,0,0,0,0 +//640,5000:4000:3000:2000:1000,0,0,0,0,0,0 //-- DA_COPY -//641,20000,0,0,0,0,0 +//641,20000,0,0,0,0,0,0 //-- DA_EDARKNESS -//647,13000:11000:9000:7000:5000,0,0,0,0,0 +//647,13000:11000:9000:7000:5000,0,0,0,0,0,0 //-- DA_TIMEOUT -//649,5000:3000:1000,0,0,0,0,0 +//649,5000:3000:1000,0,0,0,0,0,0 //-- ALL_TIMEIN //650,0,0,0,0,0,0,1000 //========================================== @@ -1025,8 +1025,12 @@ //-- ALL_CATCRY 692,0,5000,0,0,0,0,-1 +//-- ALL_ANGEL_PROTECTION +694,0,0,0,30000,0,0,-1 //-- ALL_DREAM_SUMMERNIGHT 695,0,12000,0,0,0,0,-1 +//-- ALL_REVERSEORCISH +697,0,0,0,1200000,0,0,-1 //-- ALL_WEWISH 698,0,20000,0,0,0,0,-1 //========================================== @@ -1043,19 +1047,19 @@ 1005,0,0,0,10000,0,0,-1 //-- WZ_SIGHTBLASTER -1006,1600,0,0,120000,0,0,0 +1006,1280,0,0,120000,0,0,320 //-- SA_ELEMENTWATER 1008,0,1000,0,1800000,0,0,2000 //-- BA_PANGVOICE -1010,1000,2000,0,17000,0,0,0 +1010,800,2000,0,17000,0,0,200 //-- DC_WINKCHARM (time1: Charm, time2: Confusion) -1011,1000,2000,0,10000,17000,0,0 +1011,800,2000,0,10000,17000,0,200 //-- PR_REDEMPTIO -1014,4000,0,0,0,0,0,0 +1014,3200,0,0,0,0,0,800 //-- MO_KITRANSLATION 1015,1000,1000,0,600000,0,0,1000 //-- MO_BALKYOUNG @@ -1110,7 +1114,7 @@ 5005,0,0,0,60000,0,0,-1 //========================================== -//===== Gillotine Cross ==================== +//===== Guillotine Cross ==================== //-- GC_VENOMIMPRESS 2021,0,3000:2500:2000:1500:1000,0,10000:20000:30000:40000:50000,0,0,-1 //-- GC_CROSSIMPACT @@ -1754,7 +1758,7 @@ 3035,3000,0,0,0,0,300000,0 //========================================== -//-- ALL_FULL_THROTTLE //dur2=rebound, dur1=throttle +//-- ALL_FULL_THROTTLE 5014,0,0,0,10000:15000:20000:25000:30000,10000,20000:25000:30000:35000:40000,-1 //===== Homunculus Skills ================== @@ -1763,7 +1767,7 @@ //-- HLIF_AVOID 8002,0,35000,0,40000:35000:30000:25000:20000,0,0,-1 //-- HLIF_CHANGE -8004,0,600000:900000:1200000,0,60000:180000:300000,0,0,-1 +8004,0,600000:900000:1200000,0,60000:120000:180000,0,0,-1 //-- HAMI_CASTLE 8005,0,0,0,0,60000:70000:80000:90000:129000,0,-1 //-- HAMI_DEFENCE @@ -1839,9 +1843,9 @@ //===== Mercenary Skills =================== //-- MS_MAGNUM -8202,0,0,2000,2000,10000,0,0 +8202,0,1500,2000,2000,10000,0,0 //-- KN_BOWLINGBASH -8203,700,0,0,0,0,0,0 +8203,700,2500,0,0,0,0,0 //-- LK_PARRYING 8204,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,0,0,0 //-- CR_REFLECTSHIELD @@ -1849,9 +1853,9 @@ //-- MS_BERSERK 8206,0,0,0,300000,15000,0,0 //-- MA_DOUBLE -8207,0,0,0,100,0,0,0 +8207,0,1000,0,100,0,0,0 //-- MA_SHOWER -8208,0,0,0,100,0,0,0 +8208,0,1200,0,100,0,0,0 //-- MA_SKIDTRAP 8209,0,0,0,300000:240000:180000:120000:60000,0,0,0 //-- MA_LANDMINE @@ -1861,21 +1865,21 @@ //-- MA_FREEZINGTRAP 8212,0,0,0,150000:120000:90000:60000:30000,3000:6000:9000:12000:15000,0,0 //-- MA_CHARGEARROW -8214,1500,0,0,0,0,0,0 +8214,750,1000,0,0,0,0,750 //-- MA_SHARPSHOOTING -8215,2000,1500,0,0,0,0,0 +8215,1000,2500,0,0,0,0,1000 //-- ML_BRANDISHSPEAR -8217,700,0,0,0,0,0,0 +8217,350,1200,0,0,0,0,350 //-- ML_SPIRALPIERCE -8218,300:500:700:900:1000,1200:1400:1600:1800:2000,0,0,1000,0,0 +8218,150:250:350:450:500:500:500:500:500:500,2500,0,0,1000,0,150:250:350:450:500:500:500:500:500:500 //-- ML_DEFENDER 8219,0,800,0,180000,0,0,0 //-- ML_AUTOGUARD 8220,0,0,0,300000,0,0,0 //-- ML_DEVOTION -8221,3000,0,0,0,30000:45000:60000:75000:90000,0,0 +8221,1500,0,0,0,30000:45000:60000:75000:90000,0,1500 //-- MER_MAGNIFICAT -8222,4000,2000,0,30000:45000:60000:75000:90000,0,0,0 +8222,3200,2000,0,30000:45000:60000:75000:90000,0,0,800 //-- MER_QUICKEN 8223,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0,0,0 //-- MER_SIGHT @@ -1885,7 +1889,7 @@ //-- MER_PROVOKE 8232,0,0,0,30000,0,0,0 //-- MER_DECAGI -8234,1000,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0,0 +8234,800,1000,0,40000:50000:60000:70000:80000:90000:100000:110000:120000:130000,0,0,200 //-- MER_SCAPEGOAT 8235,3000,0,0,0,0,0,0 //-- MER_LEXDIVINA @@ -1975,9 +1979,9 @@ //-- GD_REGENERATION 10011,0,0,0,60000,300000,0,-1 //-- GD_RESTORE -10012,10000,0,0,0,300000,0,0 +10012,0,0,0,0,300000,0,10000 //-- GD_EMERGENCYCALL -10013,5000,0,0,0,300000,0,0 +10013,0,0,0,0,300000,0,5000 //-- GD_ITEMEMERGENCYCALL -10015,0,0,0,0,300000,0,-1 +10015,0,0,0,0,300000,0,5000 //========================================== diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt index 30deffd765..b47a272a84 100644 --- a/db/re/skill_db.txt +++ b/db/re/skill_db.txt @@ -365,7 +365,7 @@ 248,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, CR_TRUST,Faith 249,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, CR_AUTOGUARD,Guard 250,3,6,1,0,0,0,5,1,no,0,0,0,weapon,5:6:7:8:9,0x0, CR_SHIELDCHARGE,Smite -251,3:5:7:9:11,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x0, CR_SHIELDBOOMERANG,Shield Boomerang +251,3:5:7:9:11,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0, CR_SHIELDBOOMERANG,Shield Boomerang 252,0,6,4,0,0,0,10,1,no,0,0,0,weapon,0,0x0, CR_REFLECTSHIELD,Shield Reflect 253,-2,8,1,6,0,0,10,-2,no,0,0,0,weapon,0,0x0, CR_HOLYCROSS,Holy Cross 254,5,6,4,6,0x48,0,10,1,no,33,0x100,0,magic,0,0x0, CR_GRANDCROSS,Grand Cross @@ -885,8 +885,8 @@ 2004,5,8,1,-1,0,0,10,-5,no,0,0,0,weapon,0,0x0, RK_HUNDREDSPEAR,Hundred Spear 2005,1,6,2,4,0x2,2,5,1,no,0,0,0,weapon,3,0x0, RK_WINDCUTTER,Wind Cutter 2006,0,6,4,-1,0x2,5,5,1,no,0,0,0,weapon,0,0x0, RK_IGNITIONBREAK,Ignition Break -2007,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0, RK_DRAGONTRAINING,Dragon Training -2008,9,6,2,3,0x2,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath +2007,0,0,0,0,0,0,5,0,no,0,0,0,none,0,0x0, RK_DRAGONTRAINING,Dragon Training +2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH,Dragon Breath 2009,0,6,4,0,0x3,3:4:5:6:7,5,1,no,0,0,0,none,0,0x0, RK_DRAGONHOWLING,Dragon Howling 2010,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RK_RUNEMASTERY,Rune Mastery 2011,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, RK_MILLENNIUMSHIELD,Millenium Shield @@ -992,9 +992,9 @@ 2239,3,6,2,0,0x42,3,5,1,no,0,0x80,3,misc,0,0x2800, RA_CLUSTERBOMB,Cluster Bomb 2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0, RA_WUGMASTERY,Warg Mastery 2241,0,6,4,0,0,0,3,1,no,0,0,0,none,0,0x2000, RA_WUGRIDER,Warg Rider -2242,0,6,4,-1,0x2,1,1,0,no,0,0,0,weapon,0,0x2000, RA_WUGDASH,Warg Dash -2243,9,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x2000, RA_WUGSTRIKE,Warg Strike -2244,9,6,1,0,0,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite +2242,0,6,4,-1,0x42,1,1,0,no,0,0,0,weapon,0,0x2000, RA_WUGDASH,Warg Dash +2243,9,6,1,0,0x40,0,5,1,no,0,0,0,misc,0,0x2000, RA_WUGSTRIKE,Warg Strike +2244,9,6,1,0,0x40,0,5,1,no,0,0,0,weapon,0,0x80, RA_WUGBITE,Warg Bite 2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, RA_TOOTHOFWUG,Tooth of Warg 2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0,0,weapon,0,0x0, RA_SENSITIVEKEEN,Sensitive Keen 2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x42, RA_CAMOUFLAGE,Camouflage @@ -1020,7 +1020,7 @@ 2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_F_SIDESLIDE,Front-Side Slide 2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x0, NC_B_SIDESLIDE,Back-Side Slide 2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,0x0, NC_MAINFRAME,Mainframe Restructure // Check me. Part of the code notes translated to "The amount of fuel have". -2267,0,6,4,-1,0x4A,2:3:4,3,1,no,0,0,0,misc,5,0x0, NC_SELFDESTRUCTION,Self Destruction +2267,0,6,4,-1,0xCA,2:3:4,3,1,no,0,0,0,misc,5,0x0, NC_SELFDESTRUCTION,Self Destruction 2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,0x0, NC_SHAPESHIFT,Shape Shift 2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, NC_EMERGENCYCOOL,Emergency Cool 2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,0x0, NC_INFRAREDSCAN,Infrared Scan @@ -1060,7 +1060,7 @@ 2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,none,0,0x0, SC_CHAOSPANIC,Chaos Panic 2302,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,none,0,0x0, SC_MAELSTROM,Maelstrom 2303,7,6,2,0,0x1,3,3,1,yes,0,0,1,none,0,0x0, SC_BLOODYLUST,Bloody Lust -2304,0,6,4,-1,0,0,3,1,no,0,0,0,weapon,0,0x0, SC_FEINTBOMB,Feint Bomb +2304,0,6,4,-1,0,2,3,1,no,0,0,0,weapon,0,0x0, SC_FEINTBOMB,Feint Bomb //**** // LG Royal Guard @@ -1074,7 +1074,7 @@ 2314,1,6,1,-1,0,0,1,1,no,0,0,0,weapon,0,0x0, LG_RAGEBURST,Rage Burst 2315,0,6,4,0:6:0,0x2,0,3,1,yes,0,0,0,none,2:0:0,0x0, LG_SHIELDSPELL,Shield Spell 2316,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, LG_EXEEDBREAK,Exceed Break -2317,1,6,2,-1,0x2,0,5,1,yes,0,0,0,none,0,0x0, LG_OVERBRAND,Over Brand +2317,2,6,2,-1,0x2,0,5,1,yes,0,0,0,weapon,0,0x0, LG_OVERBRAND,Over Brand 2318,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, LG_PRESTIGE,Prestige 2319,0,6,4,0,0x3,3,5,1,no,0,0,0,weapon,0,0x0, LG_BANDING,Banding //CHECK Splash isnt needed right? Banding has its own UNIT ID. 2320,0,6,4,-1,0x2,3,5,1,yes,0,0,0,weapon,0,0x1000, LG_MOONSLASHER,Moon Slasher @@ -1135,7 +1135,7 @@ 2416,0,6,1,-1,0,0,5,1,no,0,0,0,magic,0,0x0, WM_REVERBERATION_MAGIC,Reverberation Magic 2417,11,6,2,0,0x3,5,1,1,no,0,0,0,none,0,0x0, WM_DOMINION_IMPULSE,Dominion Impulse 2418,9,6,2,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_SEVERE_RAINSTORM,Severe Rainstorm -2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld //CHECK May need to recode too. +2419,9,6,2,0,0x3,1,5,1,yes,0,0x80,5,none,0,0x0, WM_POEMOFNETHERWORLD,Poem of The Netherworld 2420,0,6,4,0,0x2,2:3:4:5:6,5,1,yes,0,0,0,none,0,0x0, WM_VOICEOFSIREN,Voice of Siren 2421,7,6,16,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, WM_DEADHILLHERE,Valley of Death 2422,0,6,4,0,0x3,5:6:7:8:9,5,1,yes,0,0,0,none,0,0x0, WM_LULLABY_DEEPSLEEP,Deep Sleep Lullaby @@ -1304,7 +1304,7 @@ 5001,1,8,1,-1,0,0,5,3,no,0,0,0,weapon,0,0x0, GC_DARKCROW,Dark Claw 5002,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, RA_UNLIMIT,Unlimited 5003,7,6,1,-1,0x2,4:5:6:7:8,5,1,no,0,0,0,weapon,0,0x0, GN_ILLUSIONDOPING,Illusion Doping -5004,9,6,2,1,0x2,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water +5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water 5005,0,6,4,0,0x3,3,1,1,no,0,0,0,none,0,0x0, RK_LUXANIMA,Lux Anima 5006,1,6,2,3,0,0,5,1,no,0,0,3,misc,0,0x0, NC_MAGMA_ERUPTION,Magma Eruption 5007,0,6,4,0,0x3,5:6:7:8:9,5,1,no,0,0,0,none,0,0x0, WM_FRIGG_SONG,Frigg's Song diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index 1ad3b367ab..cbc36cac3d 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -663,7 +663,7 @@ 2240,0,0,5,0,0,0,99,0,0,none,0,0,6124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGMASTERY#Warg Mastery# 2241,0,0,2,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGRIDER#Warg Rider# 2242,0,0,4,0,0,0,99,0,0,move_enable,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGDASH#Warg Dash# -2243,0,0,20:22:24:26:28,0,0,0,99,0,0,ridingwarg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike# +2243,0,0,20:22:24:26:28,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGSTRIKE#Warg Strike# 2244,0,0,40:42:44:46:48,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_WUGBITE#Warg Bite# 2246,0,0,12,0,0,0,99,0,0,warg,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RA_SENSITIVEKEEN#Sensitive Keen# @@ -773,7 +773,7 @@ 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell# 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GATEOFHELL#Gate of Hell# 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet# -2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# +2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain# 2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# 2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,0,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# diff --git a/db/re/skill_unit_db.txt b/db/re/skill_unit_db.txt index 14faee7955..1de62c78c7 100644 --- a/db/re/skill_unit_db.txt +++ b/db/re/skill_unit_db.txt @@ -128,13 +128,13 @@ 2301,0xce, , 0, 2, -1,all, 0x200E //SC_CHAOSPANIC 2302,0xcf, , 0, 2, -1,enemy, 0x002 //SC_MAELSTROM 2303,0xd0, , 0, 2, -1,all, 0x2018 //SC_BLOODYLUST -2304,0xd1, , 0, 2,1000,enemy, 0x018 //SC_FEINTBOMB +2304,0xd1, , 0, 1,1000,enemy, 0x018 //SC_FEINTBOMB 2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING 2414,0xda, , 0, 1,1000,enemy, 0x008 //WM_REVERBERATION 2418,0xdb, , 0, 5, 300,enemy, 0x800 //WM_SEVERE_RAINSTORM -2419,0xde, , 0, 1,1000,all, 0x014 //WM_POEMOFNETHERWORLD +2419,0xde, , 0, 1,1000,enemy, 0x014 //WM_POEMOFNETHERWORLD 2443,0xdc, , 0, 0,1000,enemy, 0x00A //SO_FIREWALK 2444,0xdd, , 0, 0,1000,enemy, 0x00A //SO_ELECTRICWALK diff --git a/src/map/battle.c b/src/map/battle.c index 7a3dce50a9..fe8f2da8bf 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -402,23 +402,6 @@ int64 battle_attr_fix(struct block_list *src, struct block_list *target, int64 d break; } } //end tsc check - if (src && src->type == BL_PC) { - TBL_PC *sd = BL_CAST(BL_PC,src); - int s; - - ARR_FIND(1, 6, s, sd->talisman[s] > 0); - - if( s < 5 && atk_elem == s ) - ratio += sd->talisman[s] * 2; // +2% custom value - } - if( target && target->type == BL_PC ) { - TBL_PC *tsd = BL_CAST(BL_PC, target); - int t; - - ARR_FIND(1, 6, t, tsd->talisman[t] > 0); - if( t < 5 && atk_elem == t ) - DAMAGE_SUBRATE(tsd->talisman[t] * 3) // -3% custom value - } return (int64)damage*ratio/100; } @@ -3758,17 +3741,7 @@ static int battle_calc_skill_constant_addition(struct Damage wd, struct block_li struct status_change *tsc = status_get_sc(target); struct status_data *sstatus = status_get_status_data(src); struct status_data *tstatus = status_get_status_data(target); - int atk = 0, chorusbonus = 0; - - // Minstrel/Wanderer number check for chorus skills. - // Bonus remains 0 unless 3 or more Minstrels/Wanderers are in the party. - if( sd && sd->status.party_id ) { - chorusbonus = party_foreachsamemap(party_sub_count_class, sd, MAPID_THIRDMASK, MAPID_MINSTRELWANDERER); - if( chorusbonus > 7 ) - chorusbonus = 5; // Maximum effect possible from 7 or more Minstrels/Wanderers - else if( chorusbonus > 2 ) - chorusbonus = chorusbonus - 2; // Effect bonus from additional Minstrels/Wanderers if not above the max possible. - } + int atk = 0; //Constant/misc additions from skills switch (skill_id) { @@ -3805,8 +3778,6 @@ static int battle_calc_skill_constant_addition(struct Damage wd, struct block_li case RA_WUGBITE: if(sd) atk = (30*pc_checkskill(sd, RA_TOOTHOFWUG)); - if( sc && sc->data[SC_DANCEWITHWUG] ) - atk += skill_lv * 10 * chorusbonus; // Dance With Wug Bonus. ATK = [(Skill Level x 10) x Number of Maestro/Wanderer in party(Maximum of 7)] % break; case SR_GATEOFHELL: atk = (status_get_max_hp(src) - status_get_hp(src)); @@ -3866,9 +3837,45 @@ static int battle_calc_skill_constant_addition(struct Damage wd, struct block_li */ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, uint16 skill_id) { + struct map_session_data *sd = BL_CAST(BL_PC, src); struct status_change *sc = status_get_sc(src); + int chorusbonus = 0, type; + + if( sd ) { + // Minstrel/Wanderer number check for chorus skills. + // Bonus remains 0 unless 3 or more Minstrels/Wanderers are in the party. + if( sd->status.party_id ) { + chorusbonus = party_foreachsamemap(party_sub_count_class, sd, MAPID_THIRDMASK, MAPID_MINSTRELWANDERER); + if( chorusbonus > 7 ) + chorusbonus = 5; // Maximum effect possible from 7 or more Minstrels/Wanderers + else if( chorusbonus > 2 ) + chorusbonus = chorusbonus - 2; // Effect bonus from additional Minstrels/Wanderers if not above the max possible. + } + + // Kagerou/Oboro Earth Charm effect +15% wATK + ARR_FIND(1, 6, type, sd->talisman[type] > 0); + if( type == 2 ) { + ATK_ADDRATE(wd.damage, wd.damage2, 15 * sd->talisman[type]); +#ifdef RENEWAL + ATK_ADDRATE(wd.weaponAtk, wd.weaponAtk2, 15 * sd->talisman[type]); +#endif + } + } + //The following are applied on top of current damage and are stackable. if ( sc ) { + if( sc->data[SC_DANCEWITHWUG] ) { + ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_DANCEWITHWUG]->val1 * 2 * chorusbonus); +#ifdef RENEWAL + ATK_ADDRATE(wd.equipAtk, wd.equipAtk2, sc->data[SC_DANCEWITHWUG]->val1 * 2 * chorusbonus); +#endif + if( skill_id == RA_WUGSTRIKE || skill_id == RA_WUGBITE || skill_id == RA_WUGDASH ) { + ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_DANCEWITHWUG]->val1 * 10 * chorusbonus); +#ifdef RENEWAL + RE_ALLATK_ADDRATE(wd, sc->data[SC_DANCEWITHWUG]->val1 * 10 * chorusbonus); +#endif + } + } #ifndef RENEWAL if( sc->data[SC_TRUESIGHT] ) ATK_ADDRATE(wd.damage, wd.damage2, 2*sc->data[SC_TRUESIGHT]->val1); @@ -3980,11 +3987,20 @@ struct Damage battle_calc_defense_reduction(struct Damage wd, struct block_list #endif if( sd ) { int i = sd->ignore_def_by_race[tstatus->race] + sd->ignore_def_by_race[RC_ALL]; + int type; if( i ) { if( i > 100 ) i = 100; def1 -= def1 * i / 100; def2 -= def2 * i / 100; } + + //Kagerou/Oboro Earth Charm effect +5% eDEF + ARR_FIND(1, 6, type, sd->talisman[type] > 0); + if( type == 2 ) { + short i = 5 * sd->talisman[type]; + + def1 = (def1 * (100 + i)) / 100; + } } if( sc && sc->data[SC_EXPIATIO] ){ @@ -7399,6 +7415,7 @@ static const struct _battle_data { { "feature.warp_suggestions", &battle_config.warp_suggestions_enabled, 0, 0, 1, }, { "taekwon_mission_mobname", &battle_config.taekwon_mission_mobname, 0, 0, 2, }, { "teleport_on_portal", &battle_config.teleport_on_portal, 0, 0, 1, }, + { "cart_revo_knockback", &battle_config.cart_revo_knockback, 1, 0, 1, }, }; #ifndef STATS_OPT_OUT /** diff --git a/src/map/battle.h b/src/map/battle.h index d22003250e..57d6d143b8 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -537,6 +537,7 @@ extern struct Battle_Config int warp_suggestions_enabled; int taekwon_mission_mobname; int teleport_on_portal; + int cart_revo_knockback; } battle_config; void do_init_battle(void); diff --git a/src/map/skill.c b/src/map/skill.c index b7cd1f6511..7074a1848e 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -105,6 +105,11 @@ int firewall_unit_pos; int icewall_unit_pos; int earthstrain_unit_pos; int firerain_unit_pos; + +struct s_skill_nounit_layout skill_nounit_layout[MAX_SKILL_UNIT_LAYOUT]; +int overbrand_nounit_pos; +int overbrand_brandish_nounit_pos; + //early declaration int skill_block_check(struct block_list *bl, enum sc_type type, uint16 skill_id); static int skill_check_unit_range (struct block_list *bl, int x, int y, uint16 skill_id, uint16 skill_lv); @@ -801,6 +806,17 @@ struct s_skill_unit_layout* skill_get_unit_layout (uint16 skill_id, uint16 skill return &skill_unit_layout[0]; // default 1x1 layout } +struct s_skill_nounit_layout* skill_get_nounit_layout(uint16 skill_id, uint16 skill_lv, struct block_list* src, int x, int y, int dir) +{ + if( skill_id == LG_OVERBRAND ) + return &skill_nounit_layout[overbrand_nounit_pos + dir]; + else if( skill_id == LG_OVERBRAND_BRANDISH ) + return &skill_nounit_layout[overbrand_brandish_nounit_pos + dir]; + + ShowError("skill_get_nounit_layout: unknown no-unit layout for skill %d (level %d)\n", skill_id, skill_lv); + return &skill_nounit_layout[0]; +} + /*========================================== * Add effect to skill when hit succesfully target *------------------------------------------*/ @@ -1373,17 +1389,22 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint sc_start(src,bl, SC_STUN, 30 + 8 * skill_lv + (status_get_dex(src) / 10) + (status_get_lv(src) / 4), skill_lv, skill_get_time(skill_id,skill_lv)); break; case LG_PINPOINTATTACK: - rate = 30 + (((5 * ((sd) ? pc_checkskill(sd,LG_PINPOINTATTACK) : skill_lv)) + (status_get_agi(src) + status_get_lv(src))) / 10); + rate = 30 + 5 * ((sd) ? pc_checkskill(sd,LG_PINPOINTATTACK) : skill_lv) + (status_get_agi(src) + status_get_lv(src)) / 10; switch( skill_lv ) { case 1: sc_start2(src,bl,SC_BLEEDING,rate,skill_lv,src->id,skill_get_time(skill_id,skill_lv)); break; case 2: - if( dstsd && dstsd->spiritball && rnd()%100 < rate ) - pc_delspiritball(dstsd, dstsd->spiritball, 0); + skill_break_equip(src, bl, EQP_HELM, rate * 100, BCT_ENEMY); break; - default: - skill_break_equip(src,bl,(skill_lv == 3) ? EQP_SHIELD : (skill_lv == 4) ? EQP_ARMOR : EQP_WEAPON,rate * 100,BCT_ENEMY); + case 3: + skill_break_equip(src, bl, EQP_SHIELD, rate * 100, BCT_ENEMY); + break; + case 4: + skill_break_equip(src, bl, EQP_ARMOR, rate * 100, BCT_ENEMY); + break; + case 5: + skill_break_equip(src, bl, EQP_WEAPON, rate * 100, BCT_ENEMY); break; } break; @@ -3042,7 +3063,10 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list * case WL_CRIMSONROCK: dir = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]); break; - + case MC_CARTREVOLUTION: + if (battle_config.cart_revo_knockback) + dir = 2; // Official servers push target to the West + break; } //blown-specific handling switch( skill_id ) { @@ -3753,14 +3777,12 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) skill_unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,(skl->type<<16)|skl->flag); break; case LG_OVERBRAND_BRANDISH: { - short x2 = src->x, y2 = src->y, x = x2, y = y2; - switch(skl->type) { - case 0: case 1: case 7: x2 += 4; x -= 4; y2 += 4; break; - case 3: case 4: case 5: x2 += 4; x -= 4; y -= 4; break; - case 2: y2 += 4; y -= 4; x -= 4; break; - case 6: y2 += 4; y -= 4; x2 += 4; break; - } - map_foreachinarea(skill_area_sub, src->m, x, y, x2, y2, BL_CHAR, src, skl->skill_id, skl->skill_lv, tick, skl->flag|BCT_ENEMY|SD_ANIMATION|1, skill_castend_damage_id); + int x = src->x, y = src->y; + int i, dir = map_calc_dir(src,x,y); + struct s_skill_nounit_layout *layout = skill_get_nounit_layout(skl->skill_id,skl->skill_lv,src,x,y,dir); + + for( i = 0; i < layout->count; i++ ) + map_foreachincell(skill_area_sub,src->m,x+layout->dx[i],y+layout->dy[i],BL_CHAR,src,skl->skill_id,skl->skill_lv,tick,skl->flag|BCT_ENEMY|SD_ANIMATION|1,skill_castend_damage_id); } break; case RL_FIRE_RAIN: { @@ -5090,6 +5112,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint status_change_end(bl, SC_RUSHWINDMILL, INVALID_TIMER); status_change_end(bl, SC_ECHOSONG, INVALID_TIMER); status_change_end(bl, SC_HARMONIZE, INVALID_TIMER); + status_change_end(bl, SC_NETHERWORLD, INVALID_TIMER); status_change_end(bl, SC_VOICEOFSIREN, INVALID_TIMER); status_change_end(bl, SC_DEEPSLEEP, INVALID_TIMER); status_change_end(bl, SC_SIRCLEOFNATURE, INVALID_TIMER); @@ -6460,12 +6483,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui clif_skill_nodamage(src,bl,skill_id,skill_lv,i); break; case TF_HIDING: - case ST_CHASEWALK: { - struct status_change* sc = status_get_sc(src); - - if( sc && sc->data[SC__FEINTBOMB] ) - status_change_end(bl, SC__FEINTBOMB, INVALID_TIMER); - } + case ST_CHASEWALK: case KO_YAMIKUMO: if (tsce) { @@ -6646,6 +6664,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui status_change_end(bl, SC_SLEEP, INVALID_TIMER); status_change_end(bl, SC_STUN, INVALID_TIMER); status_change_end(bl, SC_WHITEIMPRISON, INVALID_TIMER); + status_change_end(bl, SC_NETHERWORLD, INVALID_TIMER); } //Is this equation really right? It looks so... special. if(battle_check_undead(tstatus->race,tstatus->def_ele)) @@ -7016,6 +7035,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case AM_CP_HELM: { unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; + enum sc_type scid = (sc_type)(SC_STRIPWEAPON + (skill_id - AM_CP_WEAPON)); if( sd && ( bl->type != BL_PC || ( dstsd && pc_checkequip(dstsd,equip[skill_id - AM_CP_WEAPON]) < 0 ) ) ){ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); @@ -7023,6 +7043,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui return 0; } + status_change_end(bl, scid, INVALID_TIMER); clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); } @@ -7767,9 +7788,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; int i, s = 0, skilltime = skill_get_time(skill_id,skill_lv); - for (i=0 ; i<4; i++) { + for (i = 0; i < 4; i++) { if( bl->type != BL_PC || ( dstsd && pc_checkequip(dstsd,equip[i]) < 0 ) ) continue; + status_change_end(bl, (sc_type)(SC_STRIPWEAPON + i), INVALID_TIMER); sc_start(src,bl,(sc_type)(SC_CP_WEAPON + i),100,skill_lv,skilltime); s++; } @@ -8524,7 +8546,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case AB_LAUDAAGNUS: - if( flag&1 || sd == NULL ) { + if( flag&1 || sd == NULL || !sd->status.party_id ) { if( tsc && (tsc->data[SC_FREEZE] || tsc->data[SC_STONE] || tsc->data[SC_BLIND] || tsc->data[SC_BURNING] || tsc->data[SC_FREEZING] || tsc->data[SC_CRYSTALIZE])) { // Success Chance: (40 + 10 * Skill Level) % @@ -8544,7 +8566,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case AB_LAUDARAMUS: - if( flag&1 || sd == NULL ) { + if( flag&1 || sd == NULL || !sd->status.party_id ) { if( tsc && (tsc->data[SC_SLEEP] || tsc->data[SC_STUN] || tsc->data[SC_MANDRAGORA] || tsc->data[SC_SILENCE] || tsc->data[SC_DEEPSLEEP]) ){ // Success Chance: (40 + 10 * Skill Level) % if( rnd()%100 > 40+10*skill_lv ) break; @@ -11182,16 +11204,12 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui break; case LG_OVERBRAND: { - uint8 dir = map_calc_dir(src, x, y); - uint8 x2 = x = src->x, y2 = y = src->y; - switch(dir) { - case 0: case 1: case 7: x2++; x--; y2 += 7; break; - case 3: case 4: case 5: x2++; x--; y -= 7; break; - case 2: y2++; y--; x -= 7; break; - case 6: y2++; y--; x2 += 7; break; - } - map_foreachinarea(skill_area_sub, src->m, x, y, x2, y2, BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_ANIMATION|1, skill_castend_damage_id); - skill_addtimerskill(src, gettick() + status_get_amotion(src), 0, 0, 0, LG_OVERBRAND_BRANDISH, skill_lv, dir, flag); + int dir = map_calc_dir(src,x,y); + struct s_skill_nounit_layout *layout = skill_get_nounit_layout(skill_id,skill_lv,src,x,y,dir); + + for( i = 0; i < layout->count; i++ ) + map_foreachincell(skill_area_sub,src->m,x+layout->dx[i],y+layout->dy[i],BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|SD_ANIMATION|1,skill_castend_damage_id); + skill_addtimerskill(src,gettick() + status_get_amotion(src),0,0,0,LG_OVERBRAND_BRANDISH,skill_lv,dir,flag); } break; @@ -11919,6 +11937,8 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill interval = limit; val2 = 1; case WM_POEMOFNETHERWORLD: // Can't be placed on top of Land Protector. + if( skill_id == WM_POEMOFNETHERWORLD && map_flag_gvg2(src->m) ) + target = BCT_ALL; case WM_SEVERE_RAINSTORM: case SO_WATER_INSIGNIA: case SO_FIRE_INSIGNIA: @@ -12804,22 +12824,23 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns break; case UNT_EPICLESIS: - if( bl->type == BL_PC && !battle_check_undead(tstatus->race, tstatus->def_ele) && tstatus->race != RC_DEMON ) - { - if( ++sg->val2 % 3 == 0 ) { - int hp, sp; - switch( sg->skill_lv ) { - case 1: case 2: hp = 3; sp = 2; break; - case 3: case 4: hp = 4; sp = 3; break; - case 5: default: hp = 5; sp = 4; break; - } - hp = tstatus->max_hp * hp / 100; - sp = tstatus->max_sp * sp / 100; - status_heal(bl, hp, sp, 3); - sc_start(ss, bl, type, 100, sg->skill_lv, (sg->interval * 3) + 100); + if( bl->type == BL_PC && !battle_check_undead(tstatus->race, tstatus->def_ele) && tstatus->race != RC_DEMON ) { + int hp, sp; + switch( sg->skill_lv ) { + case 1: case 2: hp = 3; sp = 2; break; + case 3: case 4: hp = 4; sp = 3; break; + case 5: default: hp = 5; sp = 4; break; } + hp = tstatus->max_hp * hp / 100; + sp = tstatus->max_sp * sp / 100; + if (tsc && tsc->data[SC_AKAITSUKI] && hp) + hp = ~hp + 1; + status_heal(bl, hp, sp, 3); + sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100); + sg->val2++; // Reveal hidden players every 5 seconds. - if( sg->val2 % 5 == 0 ) { + if( sg->val2 >= 5 ) { + sg->val2 = 0; // Doesn't remove Invisibility or Chase Walk. status_change_end(bl,SC_HIDING,INVALID_TIMER); status_change_end(bl,SC_CLOAKING,INVALID_TIMER); @@ -12857,7 +12878,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns skill_attack(BF_WEAPON,ss,&src->bl,bl,WM_SEVERE_RAINSTORM_MELEE,sg->skill_lv,tick,0); break; case UNT_NETHERWORLD: - if( !(status_get_mode(bl)&MD_BOSS) ) { + if( !(status_get_mode(bl)&MD_BOSS) || (!map_flag_gvg2(ss->m) && battle_check_target(&src->bl,bl,BCT_PARTY) < 0) ) { if( !(tsc && tsc->data[type]) ) sc_start(ss, bl, type, 100, sg->skill_lv, skill_get_time2(sg->skill_id,sg->skill_lv)); } @@ -12980,27 +13001,46 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns case UNT_ZENKAI_LAND: case UNT_ZENKAI_FIRE: case UNT_ZENKAI_WIND: - if( battle_check_target(&src->bl,bl,BCT_ENEMY) > 0 ){ - switch( sg->unit_id ){ + if( battle_check_target(&src->bl,bl,BCT_ENEMY) > 0 ) { + switch( sg->unit_id ) { case UNT_ZENKAI_WATER: - sc_start(ss, bl, SC_CRYSTALIZE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); - sc_start(ss, bl, SC_FREEZE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); - sc_start(ss, bl, SC_FREEZING, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + switch (rnd()%2 + 1) { + case 1: + sc_start(ss, bl, SC_FREEZE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + case 2: + sc_start(ss, bl, SC_FREEZING, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + } break; case UNT_ZENKAI_LAND: - sc_start(ss, bl, SC_STONE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); - sc_start(ss, bl, SC_POISON, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + switch (rnd()%2 + 1) { + case 1: + sc_start(ss, bl, SC_STONE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + case 2: + sc_start(ss, bl, SC_POISON, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + } break; case UNT_ZENKAI_FIRE: sc_start(ss, bl, SC_BURNING, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); break; case UNT_ZENKAI_WIND: - sc_start(ss, bl, SC_SILENCE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); - sc_start(ss,bl, SC_SLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); - sc_start(ss, bl, SC_DEEPSLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + switch (rnd()%3 + 1) { + case 1: + sc_start(ss, bl, SC_SLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + case 2: + sc_start(ss, bl, SC_SILENCE, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + case 3: + sc_start(ss, bl, SC_DEEPSLEEP, sg->val1*5, sg->skill_lv, skill_get_time2(sg->skill_id, sg->skill_lv)); + break; + } break; } - }else + } else sc_start2(ss, bl,type,100,sg->val1,sg->val2,skill_get_time2(sg->skill_id, sg->skill_lv)); break; @@ -16927,7 +16967,7 @@ static int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) struct status_change *sc; if (src && (sc = status_get_sc(src)) != NULL && sc->data[SC__FEINTBOMB]) { // Copycat explodes if caster is still hidden. map_foreachinrange(skill_area_sub, &group->unit->bl, unit->range, splash_target(src), src, SC_FEINTBOMB, group->skill_lv, tick, BCT_ENEMY|SD_ANIMATION|1, skill_castend_damage_id); - status_change_end(src, SC__FEINTBOMB, INVALID_TIMER); + status_change_end(bl, SC__FEINTBOMB, INVALID_TIMER); } skill_delunit(unit); } @@ -18808,6 +18848,172 @@ void skill_init_unit_layout (void) { } +void skill_init_nounit_layout (void) { + int i, pos = 0; + + memset(skill_nounit_layout,0,sizeof(skill_nounit_layout)); + + overbrand_nounit_pos = pos; + for( i = 0; i < 8; i++ ) { + if( i&1 ) { + skill_nounit_layout[pos].count = 33; + if( i&2 ) { + if( i&4 ) { // 7 + int dx[] = { 5, 6, 7, 5, 6, 4, 5, 6, 4, 5, 3, 4, 5, 3, 4, 2, 3, 4, 2, 3, 1, 2, 3, 1, 2, 0, 1, 2, 0, 1,-1, 0, 1}; + int dy[] = { 7, 6, 5, 6, 5, 6, 5, 4, 5, 4, 5, 4, 3, 4, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 1, 2, 1, 0, 1, 0, 1, 0,-1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 3 + int dx[] = {-5,-6,-7,-5,-6,-4,-5,-6,-4,-5,-3,-4,-5,-3,-4,-2,-3,-4,-2,-3,-1,-2,-3,-1,-2, 0,-1,-2, 0,-1, 1, 0,-1}; + int dy[] = {-7,-6,-5,-6,-5,-6,-5,-4,-5,-4,-5,-4,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,-1,-2,-1,-2,-1, 0,-1, 0,-1, 0, 1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } else { + if( i&4 ) { // 5 + int dx[] = { 7, 6, 5, 6, 5, 6, 5, 4, 5, 4, 5, 4, 3, 4, 3, 4, 3, 2, 3, 2, 3, 2, 1, 2, 1, 2, 1, 0, 1, 0, 1, 0,-1}; + int dy[] = {-5,-6,-7,-5,-6,-4,-5,-6,-4,-5,-3,-4,-5,-3,-4,-2,-3,-4,-2,-3,-1,-2,-3,-1,-2, 0,-1,-2, 0,-1, 1, 0,-1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 1 + int dx[] = {-7,-6,-5,-6,-5,-6,-5,-4,-5,-4,-5,-4,-3,-4,-3,-4,-3,-2,-3,-2,-3,-2,-1,-2,-1,-2,-1, 0,-1, 0,-1, 0, 1}; + int dy[] = { 5, 6, 7, 5, 6, 4, 5, 6, 4, 5, 3, 4, 5, 3, 4, 2, 3, 4, 2, 3, 1, 2, 3, 1, 2, 0, 1, 2, 0, 1,-1, 0, 1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } + } else { + skill_nounit_layout[pos].count = 21; + if( i&2 ) { + if( i&4 ) { // 6 + int dx[] = { 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6}; + int dy[] = { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 2 + int dx[] = {-6,-5,-4,-3,-2,-1, 0,-6,-5,-4,-3,-2,-1, 0,-6,-5,-4,-3,-2,-1, 0}; + int dy[] = { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } else { + if( i&4 ) { // 4 + int dx[] = {-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1}; + int dy[] = { 0, 0, 0,-1,-1,-1,-2,-2,-2,-3,-3,-3,-4,-4,-4,-5,-5,-5,-6,-6,-6}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 0 + int dx[] = {-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1,-1, 0, 1}; + int dy[] = { 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0, 0}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } + } + pos++; + } + + overbrand_brandish_nounit_pos = pos; + for( i = 0; i < 8; i++ ) { + if( i&1 ) { + skill_nounit_layout[pos].count = 74; + if( i&2 ) { + if( i&4 ) { // 7 + int dx[] = {-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, + -3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7,-3,-2,-1,-0, 1, 2, 3, 4, 5, 6, + -4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6,-4,-3,-2,-1,-0, 1, 2, 3, 4, 5, + -5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5}; + int dy[] = { 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2, + 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3, + 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4, + 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 3 + int dx[] = { 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7, + 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6, + 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5, + 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5}; + int dy[] = {-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, + -7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, + -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, + -5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } else { + if( i&4 ) { // 5 + int dx[] = { 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2, + 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3, + 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4, + 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5}; + int dy[] = { 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7, + 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6, + 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5, + 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 1 + int dx[] = {-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, + -7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, + -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, + -5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5}; + int dy[] = {-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, + -3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, + -4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, + -5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } + } else { + skill_nounit_layout[pos].count = 44; + if( i&2 ) { + if( i&4 ) { // 6 + int dx[] = { 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3}; + int dy[] = { 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0,-1,-1,-1,-1,-2,-2,-2,-2,-3,-3,-3,-3,-4,-4,-4,-4,-5,-5,-5,-5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 2 + int dx[] = {-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0,-3,-2,-1, 0}; + int dy[] = { 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0,-1,-1,-1,-1,-2,-2,-2,-2,-3,-3,-3,-3,-4,-4,-4,-4,-5,-5,-5,-5}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } else { + if( i&4 ) { // 4 + int dx[] = { 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5}; + int dy[] = {-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } else { // 0 + int dx[] = {-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5}; + int dy[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + memcpy(skill_nounit_layout[pos].dx,dx,sizeof(dx)); + memcpy(skill_nounit_layout[pos].dy,dy,sizeof(dy)); + } + } + } + pos++; + } +} + int skill_block_check(struct block_list *bl, sc_type type , uint16 skill_id) { int inf = 0; int inf3 = 0; @@ -19508,6 +19714,7 @@ static void skill_readdb(void) { } skill_init_unit_layout(); + skill_init_nounit_layout(); } void skill_reload (void) { diff --git a/src/map/skill.h b/src/map/skill.h index 4dbba63fd0..67205767fc 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -188,6 +188,12 @@ struct s_skill_unit_layout { int dy[MAX_SKILL_UNIT_COUNT]; }; +struct s_skill_nounit_layout { + int count; + int dx[MAX_SKILL_UNIT_COUNT]; + int dy[MAX_SKILL_UNIT_COUNT]; +}; + #define MAX_SKILLTIMERSKILL 15 struct skill_timerskill { int timer; diff --git a/src/map/status.c b/src/map/status.c index dbb50ebdf7..9ba248c3f5 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3885,7 +3885,6 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str || sc->data[SC_TRICKDEAD] || sc->data[SC_BLEEDING] || sc->data[SC_MAGICMUSHROOM] - || sc->data[SC_RAISINGDRAGON] || sc->data[SC_SATURDAYNIGHTFEVER] ) // No regen regen->flag = 0; @@ -3918,11 +3917,6 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str } else regen->flag&=~sce->val4; // Remove regen as specified by val4 } - if (sc->data[SC_EPICLESIS]) { - regen->rate.hp += sc->data[SC_EPICLESIS]->val3; - regen->rate.sp += sc->data[SC_EPICLESIS]->val4; - } - if(sc->data[SC_GT_REVITALIZE]) { regen->hp = cap_value(regen->hp*sc->data[SC_GT_REVITALIZE]->val3/100, 1, SHRT_MAX); regen->state.walk= 1; @@ -6942,7 +6936,7 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ /// Example: 25% -> sc_def2=2000 -> 5%; 2500ms -> tick_def2=2000 -> 500ms int sc_def2 = 0, tick_def2 = 0; - struct status_data *status, *status_src; + struct status_data *status, *status_src, *b_status; struct status_change *sc; struct map_session_data *sd; @@ -6987,6 +6981,7 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ sd = BL_CAST(BL_PC,bl); status = status_get_status_data(bl); status_src = status_get_status_data(src); + b_status = status_get_base_status(bl); sc = status_get_sc(bl); if( sc && !sc->count ) sc = NULL; @@ -7058,9 +7053,9 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ sc_def = status->agi*50; break; case SC_DEEPSLEEP: - sc_def = status->int_*50; + sc_def = b_status->int_*50; tick_def = 0; // Linear reduction instead - tick_def2 = (status->int_ + status_get_lv(bl))*50; // kRO balance update lists this formula + tick_def2 = (b_status->int_ + status_get_lv(bl))*50; // kRO balance update lists this formula break; case SC_MAGICMIRROR: case SC_ARMORCHANGE: @@ -7102,10 +7097,10 @@ int status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_typ tick_def2 = status->agi*100; break; case SC_CRYSTALIZE: - tick_def2 = status->vit*100; + tick_def2 = b_status->vit*100; break; case SC_VACUUM_EXTREME: - tick_def2 = status->str*50; + tick_def2 = b_status->str*50; break; case SC_MANDRAGORA: sc_def = (status->vit + status->luk)*20; @@ -9252,7 +9247,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty } break; case SC_PRESTIGE: - val2 = (status->int_ + status->luk) * (val1 / 20) * (status_get_lv(bl) / 200) + val1; // Chance to evade magic damage. + val2 = (status->int_ + status->luk) * val1 / 20 * status_get_lv(bl) / 200 + val1; // Chance to evade magic damage. val1 *= 15; // Defence added if( sd ) val1 += (10 * pc_checkskill(sd,CR_DEFENDER)) * (status_get_lv(bl) / 100); @@ -9551,24 +9546,6 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty break; case SC_EPICLESIS: val2 = 5 * val1; //HP rate bonus - switch (val1) { //! FIXME, looks so weird! - //val3: HP regen rate bonus - //val4: SP regen rate bonus - case 1: - case 2: - val3 = 3; //HP regen rate bonus - val4 = 2; //SP regen rate bonus - break; - case 3: - case 4: - val3 = 4; //HP regen rate bonus - val4 = 3; //SP regen rate bonus - break; - case 5: - val3 = 5; //HP regen rate bonus - val4 = 4; //SP regen rate bonus - break; - } break; /* Rebellion */ @@ -10607,8 +10584,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const break; case SC_RAISINGDRAGON: if( sd && sce->val2 && !pc_isdead(sd) ) { - int i; - i = min(sd->spiritball,5); + int i = min(sd->spiritball,5); pc_delspiritball(sd, sd->spiritball, 0); status_change_end(bl, SC_EXPLOSIONSPIRITS, INVALID_TIMER); while( i > 0 ) {