From 8a66d82c28043f46ddc78652ed8c37d6d439f276 Mon Sep 17 00:00:00 2001 From: lighta Date: Tue, 8 Oct 2013 17:54:47 -0400 Subject: [PATCH] Add EP 14.3 Part 2 3rd Job Skills thx to brAthena, Herc, Cydh. --- db/const.txt | 14 ++- db/produce_db.txt | 2 + db/re/skill_cast_db.txt | 91 +++++++++------ db/re/skill_db.txt | 37 +++--- db/re/skill_require_db.txt | 36 +++--- db/re/skill_tree.txt | 102 +++++++++++++++++ db/re/skill_unit_db.txt | 6 +- src/map/battle.c | 23 +++- src/map/itemdb.h | 3 +- src/map/skill.c | 214 ++++++++++++++++++++++++++++++++--- src/map/status.c | 223 +++++++++++++++++++++++++++---------- src/map/status.h | 16 ++- 12 files changed, 618 insertions(+), 149 deletions(-) diff --git a/db/const.txt b/db/const.txt index a6462eba8d..7aaf84f043 100644 --- a/db/const.txt +++ b/db/const.txt @@ -1314,7 +1314,19 @@ SC_PAIN_KILLER 554 SC_HANBOK 555 SC_DEFSET 556 SC_MDEFSET 557 -SC_EXTREMITYFIST2 558 +SC_DARKCROW 558 +SC_FULL_THROTTLE 559 +SC_REBOUND 560 +SC_UNLIMIT 561 +SC_KINGS_GRACE 562 +SC_TELEKINESIS_INTENSE 563 +SC_OFFERTORIUM 564 +SC_FRIGG_SONG 565 +SC_MONSTER_TRANSFORM 566 +SC_ANGEL_PROTECT 567 +SC_ILLUSIONDOPING 568 +SC_FLASHCOMBO 569 +SC_EXTREMITYFIST2 570 e_gasp 0 e_what 1 diff --git a/db/produce_db.txt b/db/produce_db.txt index caf6530907..9588edb14c 100644 --- a/db/produce_db.txt +++ b/db/produce_db.txt @@ -420,6 +420,8 @@ 12732,24,2010,3,1035,1,7221,1,7938,1,7939,1 //-- Runstone Hagalas <-- RK_RUNEMASTERY Lv4, 1 Round Shell, 1 Dragon's Skin, 1 Elder Branch 12733,24,2010,4,1096,1,7123,1,7939,1 +//-- Runstone Lux Anima <-- RK_RUNEMASTERY Lv10, 3 Gold, 3 Light Granule +22540,24,2010,10,969,3,7938,3 //============================================== //===== Guillotine Cross Poisons === ItemLv=25 = diff --git a/db/re/skill_cast_db.txt b/db/re/skill_cast_db.txt index 1cece0589d..b89b309c5c 100644 --- a/db/re/skill_cast_db.txt +++ b/db/re/skill_cast_db.txt @@ -8,7 +8,7 @@ // AfterCastWalkDleay : amount of time before character can move again, in miliseconds // 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 -// Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time) +// Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time) //== Extra // On all fields you can use ':' as a delimiter to level-specific values, // - Example using SM_PROVOKE @@ -1107,6 +1107,10 @@ 2018,0,0,0,180000,0,0,-1 //-- RK_ABUNDANCE 2019,0,0,0,180000,0,0,-1 +//-- RK_DRAGONBREATH_WATER +5004,0:0:0:1000:1000:1000:1500:1500:2000:2000,2000,0,40000,0,0,500 +//-- RK_LUXANIMA +5005,0,0,0,60000,0,0,-1 //========================================== //===== Gillotine Cross ==================== @@ -1137,10 +1141,12 @@ 2034,0,1000,0,0,0,0,-1 //-- GC_HALLUCINATIONWALK 2035,0,0,0,30000:35000:40000:45000:50000,25000,300000,-1 -//-- GC_ROLLINGCUTTER +//-- GC_ROLLINGCUTTER 2036,0,200,0,3000,0,0,-1 //-- GC_CROSSRIPPERSLASHER 2037,0,1000,0,0,0,0,-1 +//-- GC_DARKCROW +5001,0,1500,0,5000,0,60000,-1 //========================================== //===== Arch Bishop ======================== @@ -1148,7 +1154,7 @@ 2038,2000,500,0,0,0,0,500 //-- AB_ANCILLA 2039,1000,1000,0,0,0,0,-1 -//-- AB_ADORAMUS +//-- AB_ADORAMUS 2040,2000,500,0,6000:7000:8000:9000:10000:11000:12000:13000:14000:15000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000,2000,-1 //-- AB_CLEMENTIA 2041,3000,0,0,120000:180000:240000,0,0,1000 @@ -1180,10 +1186,12 @@ //-- AB_SILENTIUM 2057,4000,0,0,20000:30000:40000:50000:60000,0,15000,-1 +//-- AB_OFFERTORIUM +5011,4000,0,0,90000,0,0,-1 //========================================== //===== Warlock ============================ -//-- WL_WHITEIMPRISON +//-- WL_WHITEIMPRISON 2201,0,0,0,6000:8000:10000:12000:14000,15000,4000,-1 //-- WL_SOULEXPANSION 2202,2000,500,0,0,0,0,-1 @@ -1191,14 +1199,14 @@ 2203,2000:2500:3000:3500:4000,1000,0,40000,0,4000,500 //-- WL_JACKFROST 2204,2000:2500:3000:3500:4000,1000,0,10000:15000:20000:25000:30000,0,0,1000 -//-- WL_MARSHOFABYSS +//-- WL_MARSHOFABYSS 2205,2500,1000,0,25000,0,0,500 //-- WL_RECOGNIZEDSPELL 2206,1000,1000,0,60000:90000:120000:150000:180000,0,50000:80000:110000:140000:170000,1000 -//-- WL_SIENNAEXECRATE +//-- WL_SIENNAEXECRATE 2207,2000,2000,0,10000:12000:14000:16000:18000,0,0,-1 -//-- WL_STASIS +//-- WL_STASIS 2209,3000,1000,0,10000:15000:20000:25000:30000,0,300000,1000 //-- WL_DRAINLIFE 2210,4000,0,0,0,0,2000,1000 @@ -1206,12 +1214,12 @@ 2211,5000,2000,0,3000:4000:5000:6000:7000,0,5000,2000 //-- WL_HELLINFERNO 2212,3000,1000,0,15000,0,0,1000 -//-- WL_COMET +//-- WL_COMET 2213,10000:11000:12000:13000:14000,0,0,15000,0,60000,1000:1500:2000:2500:3000 -//-- WL_CHAINLIGHTNING +//-- WL_CHAINLIGHTNING 2214,3500:4000:4500:5000:5500,0,0,100,0,3000,1000 -//-- WL_EARTHSTRAIN +//-- WL_EARTHSTRAIN 2216,2000:3000:4000:5000:6000,1000,0,150,75000:90000:105000:120000:135000,10000,2000 //-- WL_TETRAVORTEX 2217,5000:6000:7000:8000:9000,2000,0,20000,0,15000,2000 @@ -1225,8 +1233,10 @@ //-- WL_SUMMONSTONE 2229,2000,0,0,120000:160000:200000:240000:280000,0,0,-1 -//-- WL_READING_SB +//-- WL_READING_SB 2231,5000,500,0,0,0,0,1000 +//-- WL_TELEKINESIS_INTENSE +5012,1000,0,0,60000,0,300000,-1 //========================================== //===== Ranger ============================= @@ -1239,9 +1249,9 @@ 2236,4000,1000,0,0,0,0,500 //-- RA_DETONATOR 2237,0,0,0,1000,0,0,-1 -//-- RA_ELECTRICSHOCKER +//-- RA_ELECTRICSHOCKER 2238,0,0,0,15000,20000:22000:24000:26000,0,-1 -//-- RA_CLUSTERBOMB +//-- RA_CLUSTERBOMB 2239,0,0,0,15000,0,0,-1 //-- RA_WUGMASTERY 2240,0,1000,0,0,0,0,-1 @@ -1268,6 +1278,8 @@ 2253,0,0,0,20000,15000,0,-1 //-- RA_ICEBOUNDTRAP 2254,0,0,0,20000,15000,0,-1 +//-- RA_UNLIMIT +5002,0,500,0,60000,0,240000,1000 //========================================== //===== Mechanic =========================== @@ -1279,7 +1291,7 @@ 2258,0,300:200:100,0,0,0,0,-1 //-- NC_FLAMELAUNCHER 2259,1000:1500:2000,1500:1000:500,0,7000:14000:21000,0,0,500 -//-- NC_COLDSLOWER +//-- NC_COLDSLOWER 2260,1000,1000:2000:3000,0,7000:14000:21000,0,0,-1 // -- NC_ARMSCANNON 2261,1400:1600:1800,500:1000:2000,0,0,0,0,600:400:200 @@ -1313,7 +1325,7 @@ //-- NC_AXEBOOMERANG 2278,0,0,0,0,0,5000:4500:4000:3500:3000,-1 -//-- NC_POWERSWING +//-- NC_POWERSWING 2279,0,1000,0,2000,0,0,-1 //-- NC_AXETORNADO 2280,0,500,0,0,0,4000:3500:3000:2500:2000,-1 @@ -1323,12 +1335,14 @@ 2282,0,0,0,20000:30000:40000:50000:60000,0,0,1800:1600:1400:1200:1000 //-- NC_DISJOINT 2283,2000,0,0,0,0,0,-1 +//-- NC_MAGMA_ERUPTION (dur1=stun, dur2=burning) +5006,1000,0,0,10000,42000,0,-1 //========================================== //===== Shadow Chaser ====================== //-- SC_FATALMENACE 2284,0,500,0,0,0,0,-1 -//-- SC_REPRODUCE +//-- SC_REPRODUCE 2285,0,1000,0,60000,0,0,-1 //-- SC_AUTOSHADOWSPELL 2286,4000:3600:3200:2800:2400:2000:1600:1200:800:400,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:300000,0,0,2000 @@ -1368,6 +1382,8 @@ 2303,2000,2000,0,10000:20000:30000,0,180000,-1 //-- SC_FEINTBOMB 2304,1000,0,0,1000,0,5000,-1 +//-- SC_ESCAPE +5010,0,0,0,1000,0,15000,-1 //========================================== //==== Royal Guard skills ================== @@ -1380,7 +1396,7 @@ 2310,0,0,0,3500:4000:4500:5000:5500,0,2000,-1 //-- LG_REFLECTDAMAGE 2311,0,0,0,300000,0,0,-1 -//-- LG_PINPOINTATTACK +//-- LG_PINPOINTATTACK 2312,0,1000,0,5000,0,5000,-1 //-- LG_FORCEOFVANGUARD 2313,0,1000,0,300000,0,0,-1 @@ -1408,6 +1424,8 @@ 2324,1000,3000,0,0,0,20000,0 //-- LG_INSPIRATION 2325,2000,2000,0,30000:45000:60000:75000:90000,0,540000:480000:420000:360000:300000,1000 +//-- LG_KINGS_GRACE +5013,1000,0,0,5000,0,0,-1 //========================================== //===== Sura Skills ======================== @@ -1415,7 +1433,7 @@ 2326,0,0,0,3000,0,0,-1 //-- SR_SKYNETBLOW 2327,0,500,0,0,0,0,-1 -//-- SR_EARTHSHAKER +//-- SR_EARTHSHAKER 2328,0,0,0,1000,0,3000,-1 //-- SR_FALLENEMPIRE 2329,0,0,0,500:1000:1500:2000:2500,0,0,-1 @@ -1448,12 +1466,14 @@ 2344,0,0,0,5000:7000:9000:11000:13000,0,1000:1500:2000:2500:3000,-1 //-- SR_GENTLETOUCH_CURE 2345,0,1000,0,0,0,1000:1500:2000:2500:3000,-1 -//-- SR_GENTLETOUCH_ENERGYGAIN +//-- SR_GENTLETOUCH_ENERGYGAIN 2346,1000,1000,0,240000,0,0,1000:1500:2000:2500:3000 //-- SR_GENTLETOUCH_CHANGE 2347,1000,1000,0,240000,0,200000:180000:160000:140000:120000,1000 //-- SR_GENTLETOUCH_REVITALIZE 2348,1000,1000,0,240000,0,200000:180000:160000:140000:120000,1000 +//-- SR_FLASHCOMBO +5009,0,4000,0,4000,0,0,-1 //========================================== //==== Wanderer skills ===================== @@ -1516,6 +1536,8 @@ 2433,1000,1000,0,20000:30000:40000:50000:60000,0,180000,500 //-- WM_UNLIMITED_HUMMING_VOICE 2434,1000,1000,0,60000:90000:120000:150000:180000,0,110000:120000:130000:140000:150000,500 +//-- WM_FRIGG_SONG +5007,0,0,0,60000,0,0,0 //========================================== //==== Sorcerer skills ===================== @@ -1547,15 +1569,15 @@ 2455,2200:2400:2600:2800:3000,1000,0,8000:10000:12000:14000:16000,0,5000:6000:7000:8000:9000,800:600:400:200:-1 //-- SO_EL_CONTROL 2456,2000,0,0,0,0,5000,0 -//-- SO_SUMMON_AGNI +//-- SO_SUMMON_AGNI 2457,1000:2000:3000,0,0,600000:900000:1200000,0,60000,2000 //-- SO_SUMMON_AQUA 2458,1000:2000:3000,0,0,600000:900000:1200000,0,60000,2000 -//-- SO_SUMMON_VENTUS +//-- SO_SUMMON_VENTUS 2459,1000:2000:3000,0,0,600000:900000:1200000,0,60000,2000 -//-- SO_SUMMON_TERA +//-- SO_SUMMON_TERA 2460,1000:2000:3000,0,0,600000:900000:1200000,0,60000,2000 -//-- SO_EL_ACTION +//-- SO_EL_ACTION 2461,0,0,0,0,0,5000,0 //-- SO_EL_ANALYSIS 2462,0,0,0,0,0,0,2000 @@ -1570,6 +1592,8 @@ 2467,1000,0,0,60000,0,60000,1000 //-- SO_EARTH_INSIGNIA 2468,1000,0,0,60000,0,60000,1000 +//-- SO_ELEMENTAL_SHIELD +5008,1000,0,0,0,0,10000,-1 //========================================== //==== Genetic skills ====================== @@ -1587,8 +1611,8 @@ 2481,1500,500,0,2000:2000:3000:3000:4000,0,5000,-1 //-- GN_WALLOFTHORN 2482,1500,500,0,10000:11000:12000:13000:14000,0,5000,-1 -//-- GN_CRAZYWEED -2483,3000:3500:4000:4500:5000:5500:6000:6500:7000:7500,500,0,0,0,5000,0 +//-- GN_CRAZYWEED +2483,3000:3500:4000:4500:5000:5500:6000:6500:7000:7500,500,0,0,0,5000,-1 //-- GN_CRAZYWEED_ATK 2484,0,0,0,100,0,0,-1 @@ -1603,15 +1627,17 @@ //-- GN_HELLS_PLANT 2490,3000:3500:4000:4500:5000,500,0,14000:21000:28000:35000:42000,0,0,-1 -//-- GN_HELLS_PLANT_ATK +//-- GN_HELLS_PLANT_ATK 2491,0,0,0,20000,0,0,-1 //-- GN_MANDRAGORA 2492,1000,500,0,10000:15000:20000:25000:30000,0,15000,-1 -//-- GN_SLINGITEM +//-- GN_SLINGITEM 2493,0,0,0,77000,10000,1000,-1 //-- GN_SLINGITEM_RANGEMELEEATK -2498,0,0,0,3000,0,0,-1 +2498,0,0,0,5000:10000:60000:60000:3000,0,0,-1 +//-- GN_ILLUSIONDOPING +5003,0,0,0,10000,0,10000,-1 //========================================== //===== Extra 3rd Class Skills ============= @@ -1703,6 +1729,9 @@ 3035,3000,0,0,0,0,300000,0 //========================================== +//-- ALL_FULL_THROTTLE //dur2=rebound, dur1=throttle +5014,0,0,0,10000:15000:20000:25000:30000,10000,20000:25000:30000:35000:40000,-1 + //===== Homunculus Skills ================== //-- HLIF_HEAL 8001,0,2000,0,0,0,0,-1 @@ -1732,7 +1761,7 @@ //-- MH_SUMMON_LEGION 8018,1600:1400:1200:1000:800,0,0,20000:30000:40000:50000:60000,0,0,400:600:800:1000:1200 -//-- MH_NEEDLE_OF_PARALYZE +//-- MH_NEEDLE_OF_PARALYZE 8019,1000:1100:1200:1300:1400,0,0,12000:14000:16000:18000:20000,0,0,500:400:300:200:100 //-- MH_POISON_MIST 8020,500:700:900:1100:1300,0,0,12000:14000:16000:18000:20000,4000:6000:8000:10000:12000,0,500 @@ -1756,12 +1785,12 @@ 8029,0,0,0,5000,0,2000,0 //-- MH_MIDNIGHT_FRENZY 8030,0,0,0,10000,0,2000,0 -//-- MH_STAHL_HORN +//-- MH_STAHL_HORN 8031,800:600:400:200:0,3000,0,5000,0,0,200:400:600:800:1000 //-- MH_GOLDENE_FERSE 8032,1000:1200:1400:1600:1800,0,0,30000:45000:60000:75000:90000,0,0,-1 //-- MH_STEINWAND -8033,1000,0,0,30000:45000:60000:75000:90000,0,0,-1 +8033,500,0,0,30000:45000:60000:75000:90000,0,0,1000 //-- MH_HEILIGE_STANGE 8034,200:400:600:800:1000,5000,0,0,0,0,1800:1600:1400:1200:1000 //-- MH_ANGRIFFS_MODUS diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt index 5d00943f91..e8a848814a 100644 --- a/db/re/skill_db.txt +++ b/db/re/skill_db.txt @@ -1260,26 +1260,25 @@ 3034,7,6,16,0,0x1,0,1,1,no,0,0,0,none,0,0x0, ECL_SEQUOIADUST,Sequoia Dust 3035,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0, ECLAGE_RECALL,Return To Eclage -//**** // EP 14.3 Part 2 3rd Job Skills -//5001,1,6,1,-1,0,0,5,1,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 -//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 -//5008,0,6,4,0,0x3,15,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield -//5009,1,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO,Flash Combo//I can mark this as a no damage skill right? -//5010,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SC_ESCAPE,Emergency Escape//Said places a ankle snare trap. Must confirm before I remove the no damage thing. -//5011,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, AB_OFFERTORIUM,Offertorium -//5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis -//5013,0,6,4,0,0x3,5,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace//Need to know the splash AoE -//5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, ALL_FULL_THROTTLE,Full Throttle -//5015,-2,8,4,-1,0,0,10,-2,no,0,0x200,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1//Dragon Combo -//5016,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2//Fallen Empire -//5017,-2,6,4,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,no,0,0x200,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3//Tiger Cannon -//5018,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4//Skynet Blow +//5001,1,8,1,-1,0,0,5,3,no,0,0,0,weapon,0,0, GC_DARKCROW,Dark Claw +//5002,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, RA_UNLIMIT,Unlimited +//5003,7,6,1,-1,0x2,4:5:6:7:8,5,1,no,0,0,0,weapon,0,0, GN_ILLUSIONDOPING,Illusion Doping +//5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0,0,weapon,0,0, RK_DRAGONBREATH_WATER,Dragon Breath - Water +//5005,0,6,4,0,0x3,3,1,1,no,0,0,0,none,0,0, RK_LUXANIMA,Lux Anima +//5006,1,6,2,3,0,0,5,1,no,0,0,3,misc,0,0, NC_MAGMA_ERUPTION,Magma Eruption +//5007,0,6,4,0,0x3,5:6:7:8:9,5,1,no,0,0,0,none,0,0, WM_FRIGG_SONG,Frigg's Song +//5008,0,6,4,0,0x3,15,5,1,no,0,0,0,none,0,0, SO_ELEMENTAL_SHIELD,Elemental Shield +//5009,1,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0, SR_FLASHCOMBO,Flash Combo +//5010,0,6,2,0,0x1,0,5,1,no,0,0,0,none,0,0, SC_ESCAPE,Emergency Escape +//5011,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, AB_OFFERTORIUM,Offertorium +//5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, WL_TELEKINESIS_INTENSE,Intense Telekinesis +//5013,0,6,4,0,0x3,5,5,1,no,0,0,0,none,0,0, LG_KINGS_GRACE,King's Grace +//5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, ALL_FULL_THROTTLE,Full Throttle +//5015,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1 +//5016,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2 +//5017,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3 +//5018,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4 //**** // Homunculus S diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index 26518d3423..6aefdbc3a3 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -837,24 +837,24 @@ 3035,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 //ECLAGE_RECALL#Return To Eclage# // EP 14.3 Part 2 3rd Job Skills -//5001,0,0,22:34:46:58:70,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 //GC_DARKCROW#Dark Claw# -//5002,0,0,100:120:140:160:180,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 //RA_UNLIMIT#Unlimited# -//5003,0,0,60:70:80:90:100,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 //GN_ILLUSIONDOPING#Illusion Doping# -//5004,0,0,30:35:40:45:50:55:60:65:70:75,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 //RK_DRAGONBREATH_WATER#Dragon Breath - Water# -//5005,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 //RK_LUXANIMA#Lux Anima# -//5006,0,0,60:70:80:90:100,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 //NC_MAGMA_ERUPTION#Magma Eruption# -//5007,0,0,200:230:260:290:320,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 //WM_FRIGG_SONG#Frigg's Song# -//5008,0,0,120:120:120:120:120,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 //SO_ELEMENTAL_SHIELD#Elemental Shield# -//5009,0,0,75:65:55:45:35,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 //SR_FLASHCOMBO#Flash Combo# -//5010,0,0,30:26:22:18:14,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 //SC_ESCAPE#Emergency Escape# -//5011,0,0,30:60:90:120:150,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 //AB_OFFERTORIUM#Offertorium# -//5012,0,0,100:150:200:250:300,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 //WL_TELEKINESIS_INTENSE#Intense Telekinesis# -//5013,0,0,200:180:160:140:120,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 //LG_KINGS_GRACE#King's Grace# -//5014,0,0,1:1:1:1: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 //ALL_FULL_THROTTLE#Full Throttle# -//5015,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 //SR_FLASHCOMBO_ATK_STEP1#Flash Combo Attack Step 1#//All 4 steps are using temp req SP values for now. -//5016,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 //SR_FLASHCOMBO_ATK_STEP2#Flash Combo Attack Step 2# -//5017,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 //SR_FLASHCOMBO_ATK_STEP3#Flash Combo Attack Step 3# -//5018,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 //SR_FLASHCOMBO_ATK_STEP4#Flash Combo Attack Step 4# +5001,0,0,22:34:46:58:70,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 //GC_DARKCROW#Dark Claw# +5002,0,0,100:120:140:160:180,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_UNLIMIT#Unlimited# +5003,0,0,60:70:80:90:100,0,0,0,99,0,0,none,0,0,970,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOPING#Illusion Doping# +5004,0,0,30:35:40:45:50:55:60:65:70:75,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 //RK_DRAGONBREATH_WATER#Dragon Breath - Water# +5005,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 //RK_LUXANIMA#Lux Anima# +5006,0,0,60:70:80:90:100,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 //NC_MAGMA_ERUPTION#Magma Eruption# +5007,0,0,200:230:260:290:320,0,0,0,13:14,0,0,none,0,0,6144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG#Frigg's Song# +5008,0,0,120:120:120:120:120,0,0,0,99,0,0,elementalspirit,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD#Elemental Shield# +5009,0,0,75:65:55:45:35,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_FLASHCOMBO#Flash Combo# +5010,0,0,30:26:22:18:14,0,0,0,99,0,0,none,0,0,7940,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SC_ESCAPE#Emergency Escape# +5011,0,0,30:60:90:120:150,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 //AB_OFFERTORIUM#Offertorium# +5012,0,0,100:150:200:250:300,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 //WL_TELEKINESIS_INTENSE#Intense Telekinesis# +5013,0,0,200:180:160:140:120,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 //LG_KINGS_GRACE#King's Grace# +5014,0,0,1:1:1:1: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 //ALL_FULL_THROTTLE#Full Throttle# +5015,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_FLASHCOMBO_ATK_STEP1#Flash Combo Attack Step 1#//All 4 steps are using temp req SP values for now. +5016,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_FLASHCOMBO_ATK_STEP2#Flash Combo Attack Step 2# +5017,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_FLASHCOMBO_ATK_STEP3#Flash Combo Attack Step 3# +5018,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_FLASHCOMBO_ATK_STEP4#Flash Combo Attack Step 4# 8001,0,0,13:16:19:22:25,0,0,0,99,0,0,none,0,0,545,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL 8002,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 //HLIF_AVOID diff --git a/db/re/skill_tree.txt b/db/re/skill_tree.txt index 9455cbccc1..71c2eccb86 100644 --- a/db/re/skill_tree.txt +++ b/db/re/skill_tree.txt @@ -2393,6 +2393,8 @@ 4054,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4054,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4054,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4054,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4054,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Warlock (Regular) 4055,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4055,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2448,6 +2450,8 @@ 4055,2230,2,0,0,0,0,0,0,0,0,0,0 //WL_RELEASE#Release# 4055,2231,1,0,0,0,0,0,0,0,0,0,0 //WL_READING_SB#Reading Spellbook# 4055,2232,5,0,0,0,0,0,0,0,0,0,0 //WL_FREEZE_SP#Freeze Spell# +4055,5012,5,2202,5,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE#Intense Telekinesis# +4055,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Ranger (Regular) 4056,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4056,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2500,6 +2504,8 @@ 4056,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4056,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4056,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4056,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4056,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Arch Bishop (Regular) 4057,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4057,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2557,6 +2563,8 @@ 4057,2054,10,68,1,0,0,0,0,0,0,0,0 //AB_DUPLELIGHT#Duple Light# 4057,2057,5,2052,1,0,0,0,0,0,0,0,0 //AB_SILENTIUM#Silentium# 4057,2515,5,2044,1,2053,1,0,0,0,0,0,0 //AB_SECRAMENT#Secrament# +4057,5011,5,2051,2,0,0,0,0,0,0,0,0 //AB_OFFERTORIUM#Offertorium# +4057,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Mechanic (Regular) 4058,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4058,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2624,6 +2632,8 @@ 4058,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4058,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4058,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4058,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4058,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Guillotine Cross (Regular) 4059,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4059,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2667,6 +2677,8 @@ 4059,2035,5,2034,1,0,0,0,0,0,0,0,0 //GC_HALLUCINATIONWALK#Hallucination Walk# 4059,2036,5,136,10,0,0,0,0,0,0,0,0 //GC_ROLLINGCUTTER#Rolling Cutter# 4059,2037,5,2036,1,0,0,0,0,0,0,0,0 //GC_CROSSRIPPERSLASHER#Cross Ripper Slasher# +4059,5001,5,2023,5,0,0,0,0,0,0,0,0 //GC_DARKCROW#Dark Claw# +4059,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Rune Knight (Trans) 4060,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4060,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2712,6 +2724,8 @@ 4060,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4060,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4060,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4060,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4060,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Warlock (Trans) 4061,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4061,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2773,6 +2787,8 @@ 4061,2230,2,0,0,0,0,0,0,0,0,0,0 //WL_RELEASE#Release# 4061,2231,1,0,0,0,0,0,0,0,0,0,0 //WL_READING_SB#Reading Spellbook# 4061,2232,5,0,0,0,0,0,0,0,0,0,0 //WL_FREEZE_SP#Freeze Spell# +4061,5012,5,2202,5,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE#Intense Telekinesis# +4061,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Ranger (Trans) 4062,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4062,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2829,6 +2845,8 @@ 4062,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4062,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4062,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4062,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4062,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Arch Bishop (Trans) 4063,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4063,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2890,6 +2908,8 @@ 4063,2054,10,68,1,0,0,0,0,0,0,0,0 //AB_DUPLELIGHT#Duple Light# 4063,2057,5,2052,1,0,0,0,0,0,0,0,0 //AB_SILENTIUM#Silentium# 4063,2515,5,2044,1,2053,1,0,0,0,0,0,0 //AB_SECRAMENT#Secrament# +4063,5011,5,2051,2,0,0,0,0,0,0,0,0 //AB_OFFERTORIUM#Offertorium# +4063,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Mechanic (Trans) 4064,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4064,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -2962,6 +2982,8 @@ 4064,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4064,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4064,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4064,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4064,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Guillotine Cross (Trans) 4065,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4065,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3010,6 +3032,8 @@ 4065,2035,5,2034,1,0,0,0,0,0,0,0,0 //GC_HALLUCINATIONWALK#Hallucination Walk# 4065,2036,5,136,10,0,0,0,0,0,0,0,0 //GC_ROLLINGCUTTER#Rolling Cutter# 4065,2037,5,2036,1,0,0,0,0,0,0,0,0 //GC_CROSSRIPPERSLASHER#Cross Ripper Slasher# +4065,5001,5,2023,5,0,0,0,0,0,0,0,0 //GC_DARKCROW#Dark Claw# +4065,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Royal Guard (Regular) 4066,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4066,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3062,6 +3086,8 @@ 4066,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4066,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4066,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4066,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4066,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Sorcerer (Regular) 4067,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4067,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3131,6 +3157,8 @@ 4067,2466,3,2458,3,0,0,0,0,0,0,0,0 //SO_WATER_INSIGNIA#Water Insignia# 4067,2467,3,2459,3,0,0,0,0,0,0,0,0 //SO_WIND_INSIGNIA#Wind Insignia# 4067,2468,3,2460,3,0,0,0,0,0,0,0,0 //SO_EARTH_INSIGNIA#Earth Insignia# +4067,5008,5,2456,3,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD#Elemental Shield# +4067,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Minstrel (Regular) 4068,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4068,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3185,6 +3213,8 @@ 4068,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4068,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4068,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4068,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4068,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Wanderer (Regular) 4069,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4069,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3239,6 +3269,8 @@ 4069,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4069,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4069,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4069,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4069,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Sura (Regular) 4070,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4070,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3297,6 +3329,8 @@ 4070,2348,5,2347,5,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# 4070,2517,5,2340,1,2518,3,0,0,0,0,0,0 //SR_HOWLINGOFLION#Howling Of Lion# 4070,2518,5,267,3,0,0,0,0,0,0,0,0 //SR_RIDEINLIGHTNING#Ride In Lightening# +4070,5009,5,2326,3,2329,3,2330,1,2327,1,0,0 //SR_FLASHCOMBO#Flash Combo# +4070,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Genetic (Regular) 4071,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4071,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3350,6 +3384,8 @@ 4071,2495,2,2497,1,0,0,0,0,0,0,0,0 //GN_MIX_COOKING#Mix Cooking# 4071,2496,2,2495,1,0,0,0,0,0,0,0,0 //GN_MAKEBOMB#Create Bomb# 4071,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy# +4071,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug# +4071,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Shadow Chaser (Regular) 4072,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4072,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3406,6 +3442,8 @@ 4072,2302,3,2296,3,2301,3,0,0,0,0,0,0 //SC_MAELSTROM#Maelstrom# 4072,2303,3,2300,3,0,0,0,0,0,0,0,0 //SC_BLOODYLUST#Bloody Lust# 4072,2304,3,2300,3,0,0,0,0,0,0,0,0 //SC_FEINTBOMB#Feint Bomb# +4072,5010,5,2288,2,0,0,0,0,0,0,0,0 //SC_ESCAPE#Emergency Escape# +4072,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Royal Guard (Trans) 4073,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4073,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3462,6 +3500,8 @@ 4073,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4073,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4073,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4073,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4073,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Sorcerer (Trans) 4074,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4074,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3539,6 +3579,8 @@ 4074,2466,3,2458,3,0,0,0,0,0,0,0,0 //SO_WATER_INSIGNIA#Water Insignia# 4074,2467,3,2459,3,0,0,0,0,0,0,0,0 //SO_WIND_INSIGNIA#Wind Insignia# 4074,2468,3,2460,3,0,0,0,0,0,0,0,0 //SO_EARTH_INSIGNIA#Earth Insignia# +4074,5008,5,2456,3,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD#Elemental Shield# +4074,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Minstrel (Trans) 4075,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4075,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3599,6 +3641,8 @@ 4075,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4075,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4075,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4075,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4075,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Wanderer (Trans) 4076,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4076,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3659,6 +3703,8 @@ 4076,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4076,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4076,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4076,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4076,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Sura (Trans) 4077,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4077,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3721,6 +3767,8 @@ 4077,2348,5,2347,5,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# 4077,2517,5,2340,1,2518,3,0,0,0,0,0,0 //SR_HOWLINGOFLION#Howling Of Lion# 4077,2518,5,267,3,0,0,0,0,0,0,0,0 //SR_RIDEINLIGHTNING#Ride In Lightening# +4077,5009,5,2326,3,2329,3,2330,1,2327,1,0,0 //SR_FLASHCOMBO#Flash Combo# +4077,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Genetic (Trans) 4078,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4078,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3778,6 +3826,8 @@ 4078,2495,2,2497,1,0,0,0,0,0,0,0,0 //GN_MIX_COOKING#Mix Cooking# 4078,2496,2,2495,1,0,0,0,0,0,0,0,0 //GN_MAKEBOMB#Create Bomb# 4078,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy# +4078,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug# +4078,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Shadow Chaser (Trans) 4079,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4079,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3838,6 +3888,8 @@ 4079,2302,3,2296,3,2301,3,0,0,0,0,0,0 //SC_MAELSTROM#Maelstrom# 4079,2303,3,2300,3,0,0,0,0,0,0,0,0 //SC_BLOODYLUST#Bloody Lust# 4079,2304,3,2300,3,0,0,0,0,0,0,0,0 //SC_FEINTBOMB#Feint Bomb# +4079,5010,5,2288,2,0,0,0,0,0,0,0,0 //SC_ESCAPE#Emergency Escape# +4079,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Rune Knight (Dragon) (Regular) 4080,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4080,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3875,6 +3927,8 @@ 4080,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4080,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4080,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4080,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4080,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Rune Knight (Dragon) (Trans) 4081,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4081,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3920,6 +3974,8 @@ 4081,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4081,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4081,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4081,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4081,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Royal Guard (Gryphon) (Regular) 4082,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4082,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -3972,6 +4028,8 @@ 4082,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4082,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4082,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4082,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4082,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Royal Guard (Gryphon) (Trans) 4083,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4083,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4028,6 +4086,8 @@ 4083,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4083,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4083,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4083,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4083,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Ranger (Warg) (Regular) 4084,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4084,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4080,6 +4140,8 @@ 4084,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4084,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4084,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4084,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4084,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Ranger (Warg) (Trans) 4085,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4085,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4136,6 +4198,8 @@ 4085,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4085,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4085,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4085,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4085,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Mechanic (Mado) (Regular) 4086,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4086,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4203,6 +4267,8 @@ 4086,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4086,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4086,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4086,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4086,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Mechanic (Mado) (Trans) 4087,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4087,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4275,6 +4341,8 @@ 4087,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4087,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4087,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4087,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4087,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Rune Knight 4096,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4096,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4313,6 +4381,8 @@ 4096,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4096,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4096,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4096,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4096,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Warlock 4097,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4097,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4369,6 +4439,8 @@ 4097,2230,2,0,0,0,0,0,0,0,0,0,0 //WL_RELEASE#Release# 4097,2231,1,0,0,0,0,0,0,0,0,0,0 //WL_READING_SB#Reading Spellbook# 4097,2232,5,0,0,0,0,0,0,0,0,0,0 //WL_FREEZE_SP#Freeze Spell# +4097,5012,5,2202,5,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE#Intense Telekinesis# +4097,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Ranger 4098,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4098,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4422,6 +4494,8 @@ 4098,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4098,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4098,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4098,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4098,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Arch Bishop 4099,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4099,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4480,6 +4554,8 @@ 4099,2054,10,68,1,0,0,0,0,0,0,0,0 //AB_DUPLELIGHT#Duple Light# 4099,2057,5,2052,1,0,0,0,0,0,0,0,0 //AB_SILENTIUM#Silentium# 4099,2515,5,2044,1,2053,1,0,0,0,0,0,0 //AB_SECRAMENT#Secrament# +4099,5011,5,2051,2,0,0,0,0,0,0,0,0 //AB_OFFERTORIUM#Offertorium# +4099,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Mechanic 4100,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4100,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4548,6 +4624,8 @@ 4100,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4100,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4100,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4100,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4100,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Guillotine Cross 4101,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4101,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4592,6 +4670,8 @@ 4101,2035,5,2034,1,0,0,0,0,0,0,0,0 //GC_HALLUCINATIONWALK#Hallucination Walk# 4101,2036,5,136,10,0,0,0,0,0,0,0,0 //GC_ROLLINGCUTTER#Rolling Cutter# 4101,2037,5,2036,1,0,0,0,0,0,0,0,0 //GC_CROSSRIPPERSLASHER#Cross Ripper Slasher# +4101,5001,5,2023,5,0,0,0,0,0,0,0,0 //GC_DARKCROW#Dark Claw# +4101,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Royal Guard 4102,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4102,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4645,6 +4725,8 @@ 4102,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4102,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4102,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4102,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4102,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Sorcerer 4103,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4103,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4715,6 +4797,8 @@ 4103,2466,3,2458,3,0,0,0,0,0,0,0,0 //SO_WATER_INSIGNIA#Water Insignia# 4103,2467,3,2459,3,0,0,0,0,0,0,0,0 //SO_WIND_INSIGNIA#Wind Insignia# 4103,2468,3,2460,3,0,0,0,0,0,0,0,0 //SO_EARTH_INSIGNIA#Earth Insignia# +4103,5008,5,2456,3,0,0,0,0,0,0,0,0 //SO_ELEMENTAL_SHIELD#Elemental Shield# +4103,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Minstrel 4104,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4104,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4770,6 +4854,8 @@ 4104,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4104,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4104,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4104,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4104,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Wanderer 4105,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4105,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4825,6 +4911,8 @@ 4105,2432,5,2427,1,0,0,0,0,0,0,0,0 //WM_MELODYOFSINK#Melody Of Sink# 4105,2433,5,2431,1,0,0,0,0,0,0,0,0 //WM_BEYOND_OF_WARCRY#Warcry Of Beyond# 4105,2434,5,2429,1,2433,1,0,0,0,0,0,0 //WM_UNLIMITED_HUMMING_VOICE#Unlimited Humming Voice# +4105,5007,5,2412,1,0,0,0,0,0,0,0,0 //WM_FRIGG_SONG# +4105,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Sura 4106,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4106,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4884,6 +4972,8 @@ 4106,2348,5,2347,5,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# 4106,2517,5,2340,1,2518,3,0,0,0,0,0,0 //SR_HOWLINGOFLION#Howling Of Lion# 4106,2518,5,267,3,0,0,0,0,0,0,0,0 //SR_RIDEINLIGHTNING#Ride In Lightening# +4106,5009,5,2326,3,2329,3,2330,1,2327,1,0,0 //SR_FLASHCOMBO#Flash Combo# +4106,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Genetic 4107,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4107,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4938,6 +5028,8 @@ 4107,2495,2,2497,1,0,0,0,0,0,0,0,0 //GN_MIX_COOKING#Mix Cooking# 4107,2496,2,2495,1,0,0,0,0,0,0,0,0 //GN_MAKEBOMB#Create Bomb# 4107,2497,10,0,0,0,0,0,0,0,0,0,0 //GN_S_PHARMACY#Special Pharmacy# +4107,5003,5,2497,1,0,0,0,0,0,0,0,0 //GN_ILLUSIONDOOPING#Hallucination Drug# +4107,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Shadow Chaser 4108,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4108,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -4995,6 +5087,8 @@ 4108,2302,3,2296,3,2301,3,0,0,0,0,0,0 //SC_MAELSTROM#Maelstrom# 4108,2303,3,2300,3,0,0,0,0,0,0,0,0 //SC_BLOODYLUST#Bloody Lust# 4108,2304,3,2300,3,0,0,0,0,0,0,0,0 //SC_FEINTBOMB#Feint Bomb# +4108,5010,5,2288,2,0,0,0,0,0,0,0,0 //SC_ESCAPE#Emergency Escape# +4108,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Rune Knight (Dragon) 4109,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4109,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -5033,6 +5127,8 @@ 4109,2009,5,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONHOWLING#Dragon Howling# 4109,2010,10,0,0,0,0,0,0,0,0,0,0 //RK_RUNEMASTERY#Rune Mastery# 4109,2020,5,57,2,0,0,0,0,0,0,0,0 //RK_PHANTOMTHRUST#Phantom Thrust# +4109,5004,10,2007,2,0,0,0,0,0,0,0,0 //RK_DRAGONBREATH_WATER#Dragon Breath(Water)# +4109,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Royal Guard (Gryphon) 4110,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4110,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -5086,6 +5182,8 @@ 4110,2323,5,2311,3,0,0,0,0,0,0,0,0 //LG_EARTHDRIVE#Earth Drive# 4110,2324,5,2318,3,2319,3,0,0,0,0,0,0 //LG_HESPERUSLIT#Hesperus Lit# 4110,2325,5,2315,3,2321,4,2322,5,0,0,0,0 //LG_INSPIRATION#Inspiration# +4110,5013,5,2311,5,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE#King's Grace# +4110,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Ranger (Warg) 4111,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4111,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -5139,6 +5237,8 @@ 4111,2252,1,2248,1,0,0,0,0,0,0,0,0 //RA_VERDURETRAP#Verdure Trap# 4111,2253,5,2237,1,0,0,0,0,0,0,0,0 //RA_FIRINGTRAP#Firing Trap# 4111,2254,5,2237,1,0,0,0,0,0,0,0,0 //RA_ICEBOUNDTRAP#Icebound Trap# +4111,5002,5,2234,5,0,0,0,0,0,0,0,0 //RA_UNLIMIT#Unlimit# +4111,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Baby Mechanic (Mado) 4112,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4112,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# @@ -5207,6 +5307,8 @@ 4112,2281,5,2277,2,0,0,0,0,0,0,0,0 //NC_SILVERSNIPER#FAW - Silver Sniper# 4112,2282,5,2277,2,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy# 4112,2283,1,2281,1,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal# +4112,5006,5,0,0,0,0,0,0,0,0,0,0 //NC_MAGMA_ERUPTION#Magma Eruption# +4112,5014,5,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE#Full Throttle# //Super Novice (Expanded) 4190,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 4190,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# diff --git a/db/re/skill_unit_db.txt b/db/re/skill_unit_db.txt index 97ea0f3f4a..6c27461ca2 100644 --- a/db/re/skill_unit_db.txt +++ b/db/re/skill_unit_db.txt @@ -28,7 +28,7 @@ 12,0x7e, , 0, 0, -1,all, 0x003 //MG_SAFETYWALL 18,0x7f, , -1, 0, 20,enemy, 0x010 //MG_FIREWALL 21,0x86, , 0, 2,1000,enemy, 0x018 //MG_THUNDERSTORM - 25,0x85, , 1, 0, -1,all, 0x003 //AL_PNEUMA + 25,0x85, , 1, 0, -1,all, 0x2003 //AL_PNEUMA 27,0x81,0x80, 0, 0, -1,all, 0x00E //AL_WARP 47,0x86, , 0, 2,1000,enemy, 0x080 //AC_SHOWER 70,0x83, , -1, 1,1000,all, 0x018 //PR_SANCTUARY @@ -160,12 +160,14 @@ 3009,0x86, , 0, 3, 500,enemy, 0x018 //KO_HUUMARANKA 3020,0xf8, , 0, 3, 100,all, 0x018 //KO_ZENKAI 3010,0xfc, , 0, 1,1000,enemy, 0x020 //KO_MAKIBISHI +5006,0x101, , 0, 3,2000,enemy, 0x018 //NC_MAGMA_ERUPTION +5010,0xfe, , 0, 2, -1,enemy, 0x000 //SC_ESCAPE 8020,0xf5, , 3, 0,2300:2100:1900:1700:1500,enemy, 0x018 //MH_POISON_MIST 8033,0x7e, , 0, 0, -1,all, 0x003 //MH_STEINWAND 8025,0x86, , 0, 2:2:3:3:4,1000,enemy, 0x018 //MH_XENO_SLASHER 8041,0xf6, , 1:1:2:2:3, 0,2000,enemy, 0x01A //MH_LAVA_SLIDE -8043,0xf7, , 1, 0,-1,enemy, 0x2018 //MH_VOLCANIC_ASH +8043,0xf7, , 1, 0,-1,all, 0x2018 //MH_VOLCANIC_ASH 8208,0x86, , 0, 2,1000,enemy, 0x080 //MA_SHOWER 8209,0x90, , 0, 1,1000,enemy, 0x006 //MA_SKIDTRAP diff --git a/src/map/battle.c b/src/map/battle.c index d55af1f81a..e119ba6174 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -338,6 +338,9 @@ int64 battle_attr_fix(struct block_list *src, struct block_list *target, int64 d case ELE_WATER: if(sc->data[SC_DELUGE]) ratio += enchant_eff[sc->data[SC_DELUGE]->val1-1]; break; + case ELE_GHOST: + if(sc->data[SC_TELEKINESIS_INTENSE]) ratio += (sc->data[SC_TELEKINESIS_INTENSE]->val1*40)/100; + break; } } if( target && target->type == BL_SKILL ) { @@ -1074,6 +1077,12 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam damage -= sc->data[SC_PAIN_KILLER]->val3; damage = max(1,damage); } + if( sc->data[SC_DARKCROW] && ((flag&(BF_WEAPON|BF_SHORT))==(BF_WEAPON|BF_SHORT)) ) { + DAMAGE_ADDRATE(30 * sc->data[SC_DARKCROW]->val1); + } + if( sc->data[SC_UNLIMIT] && (flag&(BF_WEAPON|BF_SHORT))==(BF_WEAPON|BF_LONG) ) { + DAMAGE_ADDRATE(50 * sc->data[SC_UNLIMIT]->val1); + } if((sce=sc->data[SC_MAGMA_FLOW]) && (rnd()%100 <= sce->val2) ){ skill_castend_damage_id(bl,src,MH_MAGMA_FLOW,sce->val1,gettick(),0); } @@ -2844,7 +2853,11 @@ static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *s #endif } - switch( skill_id ) { + switch( skill_id ) + { + case GC_DARKCROW: + skillratio += 100 * (skill_lv - 1); + break; case SM_BASH: case MS_BASH: skillratio += 30*skill_lv; @@ -3809,6 +3822,10 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, u TBL_HOM *hd = BL_CAST(BL_HOM,src); if (hd) ATK_ADD(wd.damage, wd.damage2, hd->homunculus.spiritball * 3); } + if(sc->data[SC_FLASHCOMBO]) { + ATK_ADD(wd.damage, wd.damage2, sc->data[SC_FLASHCOMBO]->val2); + RE_ALLATK_ADD(wd, sc->data[SC_FLASHCOMBO]->val2); + } } return wd; } @@ -5393,6 +5410,9 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * switch( skill_id ) { + case NC_MAGMA_ERUPTION: + md.damage = 1200 + 400 * skill_lv; + break; #ifdef RENEWAL case HT_LANDMINE: case MA_LANDMINE: @@ -6432,6 +6452,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f if( skill_get_inf2(su->group->skill_id)&INF2_TRAP ) { //Only a few skills can target traps... switch( battle_getcurrentskill(src) ) { case RK_DRAGONBREATH:// it can only hit traps in pvp/gvg maps + case RK_DRAGONBREATH_WATER: if( !map[m].flag.pvp && !map[m].flag.gvg ) break; case 0://you can hit them without skills diff --git a/src/map/itemdb.h b/src/map/itemdb.h index 43472ca7f0..39211fcb47 100644 --- a/src/map/itemdb.h +++ b/src/map/itemdb.h @@ -50,6 +50,7 @@ enum rune_list { ITEMID_THURISAZ, ITEMID_WYRD, ITEMID_HAGALAZ, + ITEMID_LUX_ANIMA = 22540 }; /** @@ -196,7 +197,7 @@ struct item_data* itemdb_exists(int nameid); #define itemdb_traderight(n) (itemdb_search(n)->flag.trade_restriction) #define itemdb_viewid(n) (itemdb_search(n)->view_id) #define itemdb_autoequip(n) (itemdb_search(n)->flag.autoequip) -#define itemdb_is_rune(n) (n >= ITEMID_NAUTHIZ && n <= ITEMID_HAGALAZ) +#define itemdb_is_rune(n) ((n >= ITEMID_NAUTHIZ && n <= ITEMID_HAGALAZ) || n == ITEMID_LUX_ANIMA) #define itemdb_is_element(n) (n >= 990 && n <= 993) #define itemdb_is_spellbook(n) (n >= 6188 && n <= 6205) #define itemdb_is_poison(n) (n >= 12717 && n <= 12724) diff --git a/src/map/skill.c b/src/map/skill.c index 7c2ef670ef..ca33d15ec0 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -337,7 +337,10 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk int skill, hp; struct map_session_data *sd = BL_CAST(BL_PC, src); struct map_session_data *tsd = BL_CAST(BL_PC, target); - struct status_change* sc; + struct status_change *sc, *tsc; + + sc = status_get_sc(src); + tsc = status_get_sc(target); switch( skill_id ) { case BA_APPLEIDUN: @@ -387,15 +390,17 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk if( tsd && (skill = pc_skillheal2_bonus(tsd, skill_id)) ) hp += hp*skill/100; - sc = status_get_sc(target); - if( sc && sc->count ) { - if( heal && sc->data[SC_CRITICALWOUND] ) // Critical Wound has no effect on offensive heal. [Inkfish] - hp -= hp * sc->data[SC_CRITICALWOUND]->val2/100; - if( heal && sc->data[SC_DEATHHURT] ) + if( sc && sc->data[SC_OFFERTORIUM] && (skill_id == AB_HIGHNESSHEAL || skill_id == AB_CHEAL || + skill_id == PR_SANCTUARY || skill_id == AL_HEAL) ) + hp += hp * sc->data[SC_OFFERTORIUM]->val2 / 100; + if( tsc && tsc->count ) { + if( heal && tsc->data[SC_CRITICALWOUND] ) //Critical Wound has no effect on offensive heal. [Inkfish] + hp -= hp * tsc->data[SC_CRITICALWOUND]->val2 / 100; + if( heal && tsc->data[SC_DEATHHURT] ) hp -= hp * 20/100; - if( sc->data[SC_INCHEALRATE] && skill_id != NPC_EVILLAND && skill_id != BA_APPLEIDUN ) - hp += hp * sc->data[SC_INCHEALRATE]->val1/100; // Only affects Heal, Sanctuary and PotionPitcher.(like bHealPower) [Inkfish] - if( sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 2) + if( tsc->data[SC_INCHEALRATE] && skill_id != NPC_EVILLAND && skill_id != BA_APPLEIDUN ) + hp += hp * tsc->data[SC_INCHEALRATE]->val1 / 100; //Only affects Heal, Sanctuary and PotionPitcher.(like bHealPower) [Inkfish] + if( tsc->data[SC_WATER_INSIGNIA] && tsc->data[SC_WATER_INSIGNIA]->val1 == 2) hp += hp / 10; } @@ -410,7 +415,6 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk struct status_data *status = status_get_status_data(src); int min, max; - sc = status_get_sc(src); min = max = status_base_matk(status, status_get_lv(src)); if( status->rhw.matk > 0 ){ int wMatk, variance; @@ -1249,6 +1253,9 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint case RK_DRAGONBREATH: sc_start4(src,bl,SC_BURNING,5+5*skill_lv,skill_lv,1000,src->id,0,skill_get_time(skill_id,skill_lv)); break; + case RK_DRAGONBREATH_WATER: + sc_start(src,bl,SC_FREEZING,15,skill_lv,skill_get_time(skill_id,skill_lv)); + break; case AB_ADORAMUS: if( tsc && !tsc->data[SC_DECREASEAGI] ) //Prevent duplicate agi-down effect. sc_start(src,bl, SC_ADORAMUS, skill_lv * 4 + (sd ? sd->status.job_level : 50) / 2, skill_lv, skill_get_time(skill_id, skill_lv)); @@ -1474,6 +1481,17 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint case WL_HELLINFERNO: sc_start4(src,bl,SC_BURNING,55+5*skill_lv,skill_lv,1000,src->id,0,skill_get_time(skill_id,skill_lv)); break; + case NC_MAGMA_ERUPTION: + sc_start4(src, bl, SC_BURNING, 10 * skill_lv, skill_lv, 1000, src->id, 0, skill_get_time2(skill_id, skill_lv)); + sc_start(src, bl, SC_STUN, 10 * skill_lv, skill_lv, skill_get_time(skill_id, skill_lv)); + break; + case GC_DARKCROW: + sc_start(src,bl,SC_DARKCROW,10 * skill_lv,skill_lv,skill_get_time(skill_id,skill_lv)); + break; + case GN_ILLUSIONDOPING: + if( sc_start(src,bl,SC_ILLUSIONDOPING,10 * skill_lv,skill_lv,skill_get_time(skill_id, skill_lv)) ) //Custom rate + sc_start(src,bl,SC_HALLUCINATION,100,skill_lv,skill_get_time(skill_id, skill_lv)); + break; } if (md && battle_config.summons_trigger_autospells && md->master_id && md->special_state.ai) @@ -2709,6 +2727,7 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list * case EL_HURRICANE_ATK: case KO_BAKURETSU: case GN_CRAZYWEED_ATK: + case NC_MAGMA_ERUPTION: dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,5); break; case GN_SLINGITEM_RANGEMELEEATK: @@ -3437,7 +3456,29 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 ); break; } + skill_attack(skl->type,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); + break; } + case SR_FLASHCOMBO_ATK_STEP1: + case SR_FLASHCOMBO_ATK_STEP2: + case SR_FLASHCOMBO_ATK_STEP3: + case SR_FLASHCOMBO_ATK_STEP4: + if( src->type == BL_PC ) { + TBL_PC *sd = NULL; + const enum e_skill combos[] = {SR_DRAGONCOMBO, SR_FALLENEMPIRE, SR_TIGERCANNON, SR_SKYNETBLOW}; + if( (sd = BL_CAST(BL_PC,src)) ) { + uint16 cid = combos[skl->skill_id - SR_FLASHCOMBO_ATK_STEP1]; + skill_castend_damage_id(src, target, cid, pc_checkskill(sd, cid), tick, 0); + } + } + break; + case SC_ESCAPE: + if( skl->type < 4 + skl->skill_lv ) { + clif_skill_damage(src, src, tick, 0, 0, -30000, 1, skl->skill_id, skl->skill_lv, 5); + skill_blown(src, src, 1, unit_getdir(src), 0); + skill_addtimerskill(src, tick + 80, src->id, 0, 0, skl->skill_id, skl->skill_lv, skl->type + 1, 0); + } + break; default: skill_attack(skl->type,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); break; @@ -3713,6 +3754,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint case KO_JYUMONJIKIRI: case KO_SETSUDAN: case KO_KAIHOU: + case GC_DARKCROW: skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag); break; @@ -3946,6 +3988,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint case KO_HUUMARANKA: case KO_MUCHANAGE: case KO_BAKURETSU: + case GN_ILLUSIONDOPING: if( flag&1 ) {//Recursive invocation // skill_area_temp[0] holds number of targets in area // skill_area_temp[1] holds the id of the original target @@ -4281,6 +4324,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint /** * Rune Knight **/ + case RK_DRAGONBREATH_WATER: case RK_DRAGONBREATH: { struct status_change *tsc = NULL; if( (tsc = status_get_sc(bl)) && (tsc->data[SC_HIDING] )) { @@ -5550,6 +5594,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case GN_CARTBOOST: case KO_MEIKYOUSISUI: case ALL_ODINS_POWER: + case ALL_FULL_THROTTLE: + case RA_UNLIMIT: + case WL_TELEKINESIS_INTENSE: clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); break; @@ -5938,6 +5985,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case CASH_BLESSING: case CASH_INCAGI: case CASH_ASSUMPTIO: + case WM_FRIGG_SONG: if( sd == NULL || sd->status.party_id == 0 || (flag & 1) ) clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); else if( sd ) @@ -6683,6 +6731,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case SC_DUPLELIGHT: case SC_EXPIATIO: case SC_LAUDAAGNUS: case SC_LAUDARAMUS: case SC_GATLINGFEVER: case SC_INCREASING: case SC_ADJUSTMENT: case SC_MADNESSCANCEL: + case SC_ANGEL_PROTECT: case SC_MONSTER_TRANSFORM: case SC_FULL_THROTTLE: + case SC_REBOUND: case SC_TELEKINESIS_INTENSE: #ifdef RENEWAL case SC_EXTREMITYFIST2: #endif @@ -7703,8 +7753,24 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case NPC_WIDESTUN: case NPC_SLOWCAST: case NPC_WIDEHELLDIGNITY: - if (flag&1) - sc_start2(src,bl,type,100,skill_lv,src->id,skill_get_time2(skill_id,skill_lv)); + case NPC_WIDEHEALTHFEAR: + case NPC_WIDEBODYBURNNING: + case NPC_WIDEFROSTMISTY: + case NPC_WIDECOLD: + case NPC_WIDE_DEEP_SLEEP: + case NPC_WIDESIREN: + if (flag&1){ + switch ( type ) { + case SC_BURNING: + sc_start4(src,bl,type,100,skill_lv,1000,src->id,0,skill_get_time2(skill_id,skill_lv)); + break; + case SC_VOICEOFSIREN: + sc_start2(src,bl,type,100,skill_lv,src->id,skill_get_time2(skill_id,skill_lv)); + break; + default: + sc_start2(src,bl,type,100,skill_lv,src->id,skill_get_time2(skill_id,skill_lv)); + } + } else { skill_area_temp[2] = 0; //For SD_PREAMBLE clif_skill_nodamage(src,bl,skill_id,skill_lv,1); @@ -7741,6 +7807,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case NPC_TALK: case ALL_WEWISH: + case ALL_CATCRY: + case ALL_DREAM_SUMMERNIGHT: clif_skill_nodamage(src,bl,skill_id,skill_lv,1); break; case ALL_BUYING_STORE: @@ -7844,6 +7912,60 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } break; + case RK_LUXANIMA: + if( !sd->status.party_id || flag&1 ) { + if( src == bl ) break; + while( skill_area_temp[5] >= 0x10 ) { + type = SC_NONE; + i = 0; + if( skill_area_temp[5]&0x10 ) { + if( dstsd ) { + i = (rnd()%100 < 50) ? 4 : ((rnd()%100 < 80) ? 3 : 2); + clif_millenniumshield(dstsd,i); + skill_area_temp[5] &= ~0x10; + type = SC_MILLENNIUMSHIELD; + } + } else if( skill_area_temp[5]&0x20 ) { + i = status_get_max_hp(bl) * 25 / 100; + status_change_clear_buffs(bl,4); + skill_area_temp[5] &= ~0x20; + status_heal(bl,i,0,1); + type = SC_REFRESH; + } else if( skill_area_temp[5]&0x40 ) { + skill_area_temp[5] &= ~0x40; + type = SC_GIANTGROWTH; + } else if( skill_area_temp[5]&0x80 ) { + if( dstsd ) { + i = sstatus->hp / 5; + if( status_charge(bl,i,0) ) + type = SC_STONEHARDSKIN; + skill_area_temp[5] &= ~0x80; + } + } else if( skill_area_temp[5]&0x100 ) { + skill_area_temp[5] &= ~0x100; + type = SC_VITALITYACTIVATION; + } else if( skill_area_temp[5]&0x200 ) { + skill_area_temp[5] &= ~0x200; + type = SC_ABUNDANCE; + } + if( type > SC_NONE ) + clif_skill_nodamage(bl,bl,skill_id,skill_lv, + sc_start4(src,bl,type,100,skill_lv,i,0,1,skill_get_time(skill_id,skill_lv))); + } //end while + } else if( sd ) { + if( tsc && tsc->count ) { + if( tsc->data[SC_MILLENNIUMSHIELD] ) skill_area_temp[5] |= 0x10; + if( tsc->data[SC_REFRESH] ) skill_area_temp[5] |= 0x20; + if( tsc->data[SC_GIANTGROWTH] ) skill_area_temp[5] |= 0x40; + if( tsc->data[SC_STONEHARDSKIN] ) skill_area_temp[5] |= 0x80; + if( tsc->data[SC_VITALITYACTIVATION] ) skill_area_temp[5] |= 0x100; + if( tsc->data[SC_ABUNDANCE] ) skill_area_temp[5] |= 0x200; + } + clif_skill_nodamage(src,bl,skill_id,skill_lv,1); + party_foreachsamemap(skill_area_sub,sd,skill_get_splash(skill_id,skill_lv),src,skill_id,skill_lv,tick,flag|BCT_PARTY|1,skill_castend_nodamage_id); + } + break; + case RK_PHANTOMTHRUST: unit_setdir(src,map_calc_dir(src, bl->x, bl->y)); clif_skill_nodamage(src,bl,skill_id,skill_lv,1); @@ -8089,6 +8211,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case SC_HAWKEYES: case SC_GUILDAURA: case SC_PUSH_CART: case SC_PARTYFLEE: case SC_GT_REVITALIZE: case SC_RAISINGDRAGON: case SC_GT_ENERGYGAIN: case SC_GT_CHANGE: + case SC_ANGEL_PROTECT: case SC_MONSTER_TRANSFORM: + case SC_FULL_THROTTLE: case SC_REBOUND: case SC_TELEKINESIS_INTENSE: #ifdef RENEWAL case SC_EXTREMITYFIST2: #endif @@ -8125,6 +8249,45 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } break; + case AB_OFFERTORIUM:{ + struct status_change *sc = status_get_sc(src); + clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); + if( sc ) { + int sc_toend[] = {SC_CURSE, SC_POISON, SC_HALLUCINATION, SC_CONFUSION, SC_BLEEDING, SC_BURNING, SC_FREEZING, SC_MANDRAGORA}; + for( i = 0; i < ARRAYLENGTH(sc_toend); i++) { + status_change_end(bl, (sc_type)sc_toend[i], INVALID_TIMER); + } + } + } + break; + + case LG_KINGS_GRACE: + if( flag&1 ) { + int sc_toend[] = { SC_POISON, SC_BLIND, SC_FREEZE, SC_STONE, SC_STUN, SC_SLEEP, SC_BLEEDING, SC_CURSE, + SC_CONFUSION, SC_HALLUCINATION, SC_SILENCE, SC_BURNING, SC_CRYSTALIZE, SC_FREEZING, + SC_DEEPSLEEP, SC_FEAR, SC_MANDRAGORA}; + for( i = 0; i < ARRAYLENGTH(sc_toend); i++) { + status_change_end(bl, (sc_type)sc_toend[i], INVALID_TIMER); + } + sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)); + } else { + skill_area_temp[2] = 0; + if( !map_flag_vs(src->m) && !map_flag_gvg(src->m) ) + flag |= BCT_GUILD; + map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_PC, src, skill_id, skill_lv, tick, flag|SD_PREAMBLE|BCT_PARTY|BCT_SELF|1, skill_castend_nodamage_id); + clif_skill_nodamage(src, bl, skill_id, skill_lv, 1); + } + break; + + case SO_ELEMENTAL_SHIELD: + if( !sd->ed ) break; + elemental_delete(sd->ed,0); + if( !sd->status.party_id || flag&1 ) + skill_unitsetting(src,MG_SAFETYWALL,skill_lv,bl->x,bl->y,0); + else if( sd ) + party_foreachsamemap(skill_area_sub,sd,AREA_SIZE,src,skill_id,skill_lv,tick,flag|BCT_PARTY|1,skill_castend_nodamage_id); + break; + case WL_WHITEIMPRISON: if( (src == bl || battle_check_target(src, bl, BCT_ENEMY)>0) && !is_boss(bl) )// Should not work with bosses. { @@ -8690,6 +8853,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui party_foreachsamemap(skill_area_sub, sd, skill_get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id); } break; + case SR_FLASHCOMBO: + if( sd ) + sd->ud.attackabletime = sd->canuseitem_tick = sd->ud.canact_tick; + clif_skill_nodamage(src,bl,skill_id,skill_lv, + sc_start(src,src,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); + for( i = SR_FLASHCOMBO_ATK_STEP1; i <= SR_FLASHCOMBO_ATK_STEP4; i++ ) + skill_addtimerskill(src,tick + 500 * (i - SR_FLASHCOMBO_ATK_STEP1),bl->id,0,0,i,skill_lv,BF_WEAPON,flag|SD_LEVEL); + break; case WA_SYMPHONY_OF_LOVER: case MI_RUSH_WINDMILL: @@ -9984,6 +10155,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case CR_CULTIVATION: case HW_GANBANTEIN: case LG_EARTHDRIVE: + case SC_ESCAPE: break; //Effect is displayed on respective switch case. default: if(skill_get_inf(skill_id)&INF_SELF_SKILL) @@ -10158,6 +10330,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case MH_POISON_MIST: case MH_STEINWAND: case MH_XENO_SLASHER: + case NC_MAGMA_ERUPTION: flag|=1;//Set flag to 1 to prevent deleting ammo (it will be deleted on group-delete). case GS_GROUNDDRIFT: //Ammo should be deleted right away. skill_unitsetting(src,skill_id,skill_lv,x,y,0); @@ -10423,6 +10596,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case NC_COLDSLOWER: case NC_ARMSCANNON: case RK_DRAGONBREATH: + case RK_DRAGONBREATH_WATER: i = skill_get_splash(skill_id,skill_lv); map_foreachinarea(skill_area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src), src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id); @@ -10537,6 +10711,12 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui skill_castend_nodamage_id(src,src,TF_HIDING,1,tick,0); break; + case SC_ESCAPE: + clif_skill_nodamage(src,src,skill_id,-1,1); + skill_unitsetting(src,HT_ANKLESNARE,skill_lv,x,y,2); + skill_addtimerskill(src,tick,src->id,0,0,skill_id,skill_lv,0,0); + break; + case LG_OVERBRAND: skill_overbrand(src, skill_id, skill_lv, x, y, tick, flag); break; @@ -11001,6 +11181,8 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill && (src->type&battle_config.vs_traps_bctall)) target = BCT_ALL; break; + case HT_ANKLESNARE: + if( flag&2 ) val3 = SC_ESCAPE; case HT_SHOCKWAVE: val1=skill_lv*15+10; case HT_SANDMAN: @@ -11010,7 +11192,6 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill case MA_SKIDTRAP: case HT_LANDMINE: case MA_LANDMINE: - case HT_ANKLESNARE: case HT_FLASHER: case HT_FREEZINGTRAP: case MA_FREEZINGTRAP: @@ -12056,6 +12237,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns case UNT_FIREWALK: case UNT_ELECTRICWALK: case UNT_PSYCHIC_WAVE: + case UNT_MAGMA_ERUPTION: skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); break; @@ -13940,6 +14122,10 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16 req.sp += req.sp * sc->data[SC_UNLIMITEDHUMMINGVOICE]->val2 / 100; if( sc->data[SC_RECOGNIZEDSPELL] ) req.sp += req.sp / 4; + if( sc->data[SC_OFFERTORIUM]) + req.sp += req.sp * sc->data[SC_OFFERTORIUM]->val3 / 100; + if( sc->data[SC_TELEKINESIS_INTENSE] && skill_get_ele(skill_id, skill_lv) == ELE_GHOST) + req.sp -= req.sp * sc->data[SC_TELEKINESIS_INTENSE]->val2 / 100; } req.zeny = skill_db[idx].require.zeny[skill_lv-1]; @@ -14312,6 +14498,8 @@ int skill_vfcastfix (struct block_list *bl, double time, uint16 skill_id, uint16 VARCAST_REDUCTION(50); if (sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 3 && (skill_get_ele(skill_id, skill_lv) == ELE_WATER)) VARCAST_REDUCTION(30); //Reduces 30% Variable Cast Time of Water spells. + if( sc->data[SC_TELEKINESIS_INTENSE] ) + VARCAST_REDUCTION(sc->data[SC_TELEKINESIS_INTENSE]->val2); // Fixed cast reduction bonuses if( sc->data[SC_SECRAMENT] ) fixcast_r = max(fixcast_r, sc->data[SC_SECRAMENT]->val2); diff --git a/src/map/status.c b/src/map/status.c index eac9615da8..c06a90def4 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -549,6 +549,7 @@ void initChangeTables(void) { set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SI_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD ); set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SI_ABUNDANCE , SCB_NONE ); set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SI_CRUSHSTRIKE , SCB_NONE ); + set_sc_with_vfx( RK_DRAGONBREATH_WATER , SC_FREEZING , SI_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF|SCB_DEF2 ); /** * GC Guillotine Cross **/ @@ -558,6 +559,7 @@ void initChangeTables(void) { set_sc( GC_CLOAKINGEXCEED , SC_CLOAKINGEXCEED , SI_CLOAKINGEXCEED , SCB_SPEED ); set_sc( GC_HALLUCINATIONWALK , SC_HALLUCINATIONWALK , SI_HALLUCINATIONWALK , SCB_FLEE ); set_sc( GC_ROLLINGCUTTER , SC_ROLLINGCUTTER , SI_ROLLINGCUTTER , SCB_NONE ); + set_sc_with_vfx( GC_DARKCROW , SC_DARKCROW , SI_DARKCROW , SCB_NONE ); /** * Arch Bishop **/ @@ -573,6 +575,7 @@ void initChangeTables(void) { set_sc( AB_EXPIATIO , SC_EXPIATIO , SI_EXPIATIO , SCB_ATK_ELE ); set_sc( AB_DUPLELIGHT , SC_DUPLELIGHT , SI_DUPLELIGHT , SCB_NONE ); set_sc( AB_SECRAMENT , SC_SECRAMENT , SI_SECRAMENT , SCB_NONE ); + set_sc( AB_OFFERTORIUM , SC_OFFERTORIUM , SI_OFFERTORIUM , SCB_NONE ); /** * Warlock **/ @@ -581,6 +584,7 @@ void initChangeTables(void) { set_sc( WL_MARSHOFABYSS , SC_MARSHOFABYSS , SI_MARSHOFABYSS , SCB_SPEED|SCB_FLEE|SCB_DEF|SCB_MDEF ); set_sc(WL_RECOGNIZEDSPELL , SC_RECOGNIZEDSPELL , SI_RECOGNIZEDSPELL , SCB_MATK); set_sc( WL_STASIS , SC_STASIS , SI_STASIS , SCB_NONE ); + set_sc( WL_TELEKINESIS_INTENSE , SC_TELEKINESIS_INTENSE , SI_TELEKINESIS_INTENSE , SCB_MATK ); /** * Ranger **/ @@ -594,6 +598,7 @@ void initChangeTables(void) { add_sc( RA_VERDURETRAP , SC_ELEMENTALCHANGE ); add_sc( RA_FIRINGTRAP , SC_BURNING ); set_sc_with_vfx( RA_ICEBOUNDTRAP , SC_FREEZING , SI_FROSTMISTY , SCB_NONE ); + set_sc( RA_UNLIMIT , SC_UNLIMIT , SI_UNLIMIT , SCB_NONE ); /** * Mechanic **/ @@ -618,6 +623,7 @@ void initChangeTables(void) { set_sc( LG_INSPIRATION , SC_INSPIRATION , SI_INSPIRATION , SCB_MAXHP|SCB_WATK|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK); set_sc( LG_SHIELDSPELL , SC_SHIELDSPELL_DEF , SI_SHIELDSPELL_DEF , SCB_WATK ); set_sc( LG_SHIELDSPELL , SC_SHIELDSPELL_REF , SI_SHIELDSPELL_REF , SCB_DEF ); + set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SI_KINGS_GRACE , SCB_NONE ); /** * Shadow Chaser **/ @@ -649,6 +655,7 @@ void initChangeTables(void) { set_sc( SR_GENTLETOUCH_ENERGYGAIN , SC_GT_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN , SCB_NONE ); set_sc( SR_GENTLETOUCH_CHANGE , SC_GT_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP ); set_sc( SR_GENTLETOUCH_REVITALIZE , SC_GT_REVITALIZE , SI_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_REGEN ); + add_sc( SR_FLASHCOMBO , SC_FLASHCOMBO ); /** * Wanderer / Minstrel **/ @@ -670,6 +677,7 @@ void initChangeTables(void) { set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SI_MELODYOFSINK , SCB_BATK|SCB_MATK ); set_sc( WM_BEYOND_OF_WARCRY , SC_BEYONDOFWARCRY , SI_WARCRYOFBEYOND , SCB_BATK|SCB_MATK ); set_sc( WM_UNLIMITED_HUMMING_VOICE , SC_UNLIMITEDHUMMINGVOICE , SI_UNLIMITEDHUMMINGVOICE , SCB_NONE ); + set_sc( WM_FRIGG_SONG , SC_FRIGG_SONG , SI_FRIGG_SONG , SCB_MAXHP ); /** * Sorcerer **/ @@ -696,6 +704,7 @@ void initChangeTables(void) { set_sc( GN_FIRE_EXPANSION_SMOKE_POWDER , SC_SMOKEPOWDER , SI_FIRE_EXPANSION_SMOKE_POWDER, SCB_NONE ); set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_TEARGAS , SI_FIRE_EXPANSION_TEAR_GAS , SCB_NONE ); set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SI_MANDRAGORA , SCB_INT ); + set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SI_ILLUSIONDOPING , SCB_HIT ); // Elemental Spirit summoner's 'side' status changes. set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION , SI_CIRCLE_OF_FIRE_OPTION , SCB_NONE ); @@ -740,6 +749,8 @@ void initChangeTables(void) { set_sc_with_vfx( OB_AKAITSUKI , SC_AKAITSUKI , SI_AKAITSUKI , SCB_NONE ); set_sc( OB_OBOROGENSOU , SC_GENSOU , SI_GENSOU , SCB_NONE ); + set_sc( ALL_FULL_THROTTLE , SC_FULL_THROTTLE , SI_FULL_THROTTLE , SCB_SPEED|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + // Storing the target job rather than simply SC_SPIRIT simplifies code later on. SkillStatusChangeTable[SL_ALCHEMIST] = (sc_type)MAPID_ALCHEMIST, SkillStatusChangeTable[SL_MONK] = (sc_type)MAPID_MONK, @@ -896,6 +907,8 @@ void initChangeTables(void) { StatusIconChangeTable[SC_CURSED_SOIL] = SI_CURSED_SOIL; StatusIconChangeTable[SC_UPHEAVAL] = SI_UPHEAVAL; StatusIconChangeTable[SC_PUSH_CART] = SI_ON_PUSH_CART; + StatusIconChangeTable[SC_REBOUND] = SI_REBOUND; + StatusIconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM; //Other SC which are not necessarily associated to skills. StatusChangeFlagTable[SC_ASPDPOTION0] = SCB_ASPD; @@ -944,6 +957,7 @@ void initChangeTables(void) { StatusChangeFlagTable[SC_WALKSPEED] |= SCB_SPEED; StatusChangeFlagTable[SC_ITEMSCRIPT] |= SCB_ALL; StatusChangeFlagTable[SC_SLOWDOWN] |= SCB_SPEED; + StatusChangeFlagTable[SC_REBOUND] |= SCB_SPEED|SCB_REGEN; // Cash Items StatusChangeFlagTable[SC_FOOD_STR_CASH] = SCB_STR; StatusChangeFlagTable[SC_FOOD_AGI_CASH] = SCB_AGI; @@ -1046,6 +1060,7 @@ void initChangeTables(void) { StatusChangeStateTable[SC_SATURDAYNIGHTFEVER] |= SCS_NOCAST; StatusChangeStateTable[SC_CURSEDCIRCLE_TARGET] |= SCS_NOCAST; StatusChangeStateTable[SC_SILENCE] |= SCS_NOCAST; + StatusChangeStateTable[SC_KINGS_GRACE] |= SCS_NOCAST; /* StatusChangeState (SCS_) NOCHAT (skills) */ StatusChangeStateTable[SC_BERSERK] |= SCS_NOCHAT; @@ -3512,7 +3527,7 @@ void status_calc_regen_rate(struct block_list *bl, struct regen_data *regen, str regen->flag = 0; if ( - sc->data[SC_DANCING] || sc->data[SC_OBLIVIONCURSE] || + sc->data[SC_DANCING] || sc->data[SC_OBLIVIONCURSE] || sc->data[SC_REBOUND] || #ifdef RENEWAL sc->data[SC_MAXIMIZEPOWER] || #endif @@ -4307,6 +4322,8 @@ static unsigned short status_calc_str(struct block_list *bl, struct status_chang str -= sc->data[SC_STOMACHACHE]->val1; if(sc->data[SC_KYOUGAKU]) str -= sc->data[SC_KYOUGAKU]->val2; + if(sc->data[SC_FULL_THROTTLE]) + str += str * 20 / 100; return (unsigned short)cap_value(str,0,USHRT_MAX); } @@ -4360,6 +4377,8 @@ static unsigned short status_calc_agi(struct block_list *bl, struct status_chang agi -= sc->data[SC_STOMACHACHE]->val1; if(sc->data[SC_KYOUGAKU]) agi -= sc->data[SC_KYOUGAKU]->val2; + if(sc->data[SC_FULL_THROTTLE]) + agi += agi * 20 / 100; return (unsigned short)cap_value(agi,0,USHRT_MAX); } @@ -4403,9 +4422,10 @@ static unsigned short status_calc_vit(struct block_list *bl, struct status_chang vit -= sc->data[SC_STOMACHACHE]->val1; if(sc->data[SC_KYOUGAKU]) vit -= sc->data[SC_KYOUGAKU]->val2; - if(sc->data[SC_STRIPARMOR] && bl->type != BL_PC) vit -= vit * sc->data[SC_STRIPARMOR]->val2/100; + if(sc->data[SC_FULL_THROTTLE]) + vit += vit * 20 / 100; return (unsigned short)cap_value(vit,0,USHRT_MAX); } @@ -4457,6 +4477,8 @@ static unsigned short status_calc_int(struct block_list *bl, struct status_chang int_ -= sc->data[SC_STOMACHACHE]->val1; if(sc->data[SC_KYOUGAKU]) int_ -= sc->data[SC_KYOUGAKU]->val2; + if(sc->data[SC_FULL_THROTTLE]) + int_ += int_ * 20 / 100; if(bl->type != BL_PC){ if(sc->data[SC_STRIPHELM]) @@ -4520,6 +4542,8 @@ static unsigned short status_calc_dex(struct block_list *bl, struct status_chang if(sc->data[SC__STRIPACCESSORY] && bl->type != BL_PC) dex -= dex * sc->data[SC__STRIPACCESSORY]->val2 / 100; + if(sc->data[SC_FULL_THROTTLE]) + dex += dex * 20 / 100; return (unsigned short)cap_value(dex,0,USHRT_MAX); } @@ -4568,6 +4592,8 @@ static unsigned short status_calc_luk(struct block_list *bl, struct status_chang luk -= luk * sc->data[SC__STRIPACCESSORY]->val2 / 100; if(sc->data[SC_BANANA_BOMB]) luk -= luk * sc->data[SC_BANANA_BOMB]->val1 / 100; + if(sc->data[SC_FULL_THROTTLE]) + luk += luk * 20 / 100; return (unsigned short)cap_value(luk,0,USHRT_MAX); } @@ -4597,7 +4623,7 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan if(sc->data[SC_FULL_SWING_K]) batk += sc->data[SC_FULL_SWING_K]->val1; if(sc->data[SC_ODINS_POWER]) - batk += 70; + batk += 40 + 30 * sc->data[SC_ODINS_POWER]->val1; if(sc->data[SC_ASH]) batk -= batk * sc->data[SC_ASH]->val4 / 100; if(sc->data[SC_PYROCLASTIC]) @@ -4852,6 +4878,8 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change hit -= hit * 20 / 100; if (sc->data[SC_ASH]) hit -= (hit * sc->data[SC_ASH]->val2) / 100; + if(sc->data[SC_ILLUSIONDOPING]) + hit -= hit * (5 + sc->data[SC_ILLUSIONDOPING]->val1) / 100; //Custom return (short)cap_value(hit,1,SHRT_MAX); } @@ -5142,7 +5170,7 @@ static defType status_calc_mdef(struct block_list *bl, struct status_change *sc, if(sc->data[SC_GT_CHANGE] && sc->data[SC_GT_CHANGE]->val4) mdef -= mdef * sc->data[SC_GT_CHANGE]->val4 / 100; if (sc->data[SC_ODINS_POWER]) - mdef -= 20 * sc->data[SC_ODINS_POWER]->val1; + mdef -= 20; return (defType)cap_value(mdef,DEFTYPE_MIN,DEFTYPE_MAX); } @@ -5320,6 +5348,8 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha val = max( val, sc->data[SC_SWINGDANCE]->val2 ); if( sc->data[SC_WIND_STEP_OPTION] ) val = max( val, sc->data[SC_WIND_STEP_OPTION]->val2 ); + if( sc->data[SC_FULL_THROTTLE] ) + val = max( val, 30 ); //FIXME: official items use a single bonus for this [ultramage] if( sc->data[SC_SPEEDUP0] ) // temporary item-based speedup @@ -5348,6 +5378,8 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha speed = max(speed, 200); if( sc->data[SC_WALKSPEED] && sc->data[SC_WALKSPEED]->val1 > 0 ) // ChangeSpeed speed = speed * 100 / sc->data[SC_WALKSPEED]->val1; + if( sc->data[SC_REBOUND] ) + speed += max(speed, 100); } return (short)cap_value(speed,10,USHRT_MAX); @@ -5707,6 +5739,11 @@ static unsigned int status_calc_maxhp(struct block_list *bl, struct status_chang if(sc->data[SC_EQC]) maxhp -= maxhp * sc->data[SC_EQC]->val4 / 100; + if (sc->data[SC_GOLDENE_FERSE]) + maxhp += maxhp * sc->data[SC_GOLDENE_FERSE]->val2 / 100; + if(sc->data[SC_FRIGG_SONG]) + maxhp += maxhp * sc->data[SC_FRIGG_SONG]->val2 / 100; + return (unsigned int)cap_value(maxhp,1,UINT_MAX); } @@ -6755,7 +6792,11 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty return 0; break; case SC_MAGNIFICAT: - if( sc->option&OPTION_MADOGEAR ) //Mado is immune to magnificat + if( sc->data[SC_OFFERTORIUM] || sc->option&OPTION_MADOGEAR ) //Mado is immune to magnificat + return 0; + break; + case SC_OFFERTORIUM: + if(sc->data[SC_MAGNIFICAT]) return 0; break; case SC_ONEHAND: @@ -8827,6 +8868,38 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty if(status_get_element(bl) == ELE_WATER) // defense water type val4 = 50; break; + case SC_FULL_THROTTLE: + val2 = 6 - val1; + tick_time = 1000; + val4 = tick / tick_time; + break; + case SC_KINGS_GRACE: + val2 = 3 + val1; + tick_time = 1000; + val4 = tick / tick_time; + break; + case SC_TELEKINESIS_INTENSE: + val2 = 10 * val1; //sp consum / casttime reduc % + val3 = 40 * val1; //magic dmg bonus + break; + case SC_OFFERTORIUM: + val2 = 30 * val1; //heal power bonus + val3 = 20 * val1; //sp cost inc + break; + case SC_FRIGG_SONG: + val2 = 5 * val1; //maxhp bonus + val3 = 1000 + 100 * val1; //healing + tick_time = 10000; + val4 = tick / tick_time; + break; + case SC_FLASHCOMBO: + val2 = (20 * val1) + 20; //atk bonus + break; + case SC_MONSTER_TRANSFORM: + if( !mobdb_checkid(val1) ) + val1 = 1002; //Default poring + val_flag |= 1; + break; default: if( calc_flag == SCB_NONE && StatusSkillChangeTable[type] == 0 && StatusIconChangeTable[type] == 0 ) { //Status change with no calc, no icon, and no skill associated...? @@ -9116,66 +9189,69 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty pet_sc_check(sd, type); //Skotlex: Pet Status Effect Healing //1st thing to execute when loading status - switch (type) { - case SC_BERSERK: - if (!(sce->val2)) { //don't heal if already set - status_heal(bl, status->max_hp, 0, 1); //Do not use percent_heal as this healing must override BERSERK's block. - status_set_sp(bl, 0, 0); //Damage all SP - } - sce->val2 = 5 * status->max_hp / 100; + switch (type) { + case SC_FULL_THROTTLE: + status_percent_heal(bl,100,0); + break; + case SC_BERSERK: + if (!(sce->val2)) { //don't heal if already set + status_heal(bl, status->max_hp, 0, 1); //Do not use percent_heal as this healing must override BERSERK's block. + status_set_sp(bl, 0, 0); //Damage all SP + } + sce->val2 = 5 * status->max_hp / 100; + break; + case SC_CHANGE: + status_percent_heal(bl, 100, 100); + break; + case SC_RUN: + { + struct unit_data *ud = unit_bl2ud(bl); + if( ud ) + ud->state.running = unit_run(bl); + } + break; + case SC_BOSSMAPINFO: + clif_bossmapinfo(sd->fd, map_id2boss(sce->val1), 0); // First Message + break; + case SC_MERC_HPUP: + status_percent_heal(bl, 100, 0); // Recover Full HP + break; + case SC_MERC_SPUP: + status_percent_heal(bl, 0, 100); // Recover Full SP + break; + case SC_WUGDASH: + { + struct unit_data *ud = unit_bl2ud(bl); + if( ud ) + ud->state.running = unit_wugdash(bl, sd); + } + break; + case SC_COMBO: + switch(sce->val1){ + case TK_STORMKICK: + clif_skill_nodamage(bl,bl,TK_READYSTORM,1,1); break; - case SC_CHANGE: - status_percent_heal(bl, 100, 100); + case TK_DOWNKICK: + clif_skill_nodamage(bl,bl,TK_READYDOWN,1,1); break; - case SC_RUN: - { - struct unit_data *ud = unit_bl2ud(bl); - if( ud ) - ud->state.running = unit_run(bl); - } + case TK_TURNKICK: + clif_skill_nodamage(bl,bl,TK_READYTURN,1,1); break; - case SC_BOSSMAPINFO: - clif_bossmapinfo(sd->fd, map_id2boss(sce->val1), 0); // First Message + case TK_COUNTER: + clif_skill_nodamage(bl,bl,TK_READYCOUNTER,1,1); break; - case SC_MERC_HPUP: - status_percent_heal(bl, 100, 0); // Recover Full HP - break; - case SC_MERC_SPUP: - status_percent_heal(bl, 0, 100); // Recover Full SP - break; - case SC_WUGDASH: - { - struct unit_data *ud = unit_bl2ud(bl); - if( ud ) - ud->state.running = unit_wugdash(bl, sd); - } - break; - case SC_COMBO: - switch(sce->val1){ - case TK_STORMKICK: - clif_skill_nodamage(bl,bl,TK_READYSTORM,1,1); - break; - case TK_DOWNKICK: - clif_skill_nodamage(bl,bl,TK_READYDOWN,1,1); - break; - case TK_TURNKICK: - clif_skill_nodamage(bl,bl,TK_READYTURN,1,1); - break; - case TK_COUNTER: - clif_skill_nodamage(bl,bl,TK_READYCOUNTER,1,1); - break; - default: //rest just toogle inf to enable autotarget - skill_combo_toogle_inf(bl,sce->val1,INF_SELF_SKILL); - break; - } - break; - case SC_RAISINGDRAGON: - sce->val2 = status->max_hp / 100;// Officially tested its 1%hp drain. [Jobbie] - break; - case SC_EQC: - sc_start2(src, bl,SC_STUN,100,val1,bl->id,(1000*status_get_lv(src))/50+500*val1); - status_change_end(bl,SC_TINDER_BREAKER2,INVALID_TIMER); + default: //rest just toogle inf to enable autotarget + skill_combo_toogle_inf(bl,sce->val1,INF_SELF_SKILL); break; + } + break; + case SC_RAISINGDRAGON: + sce->val2 = status->max_hp / 100;// Officially tested its 1%hp drain. [Jobbie] + break; + case SC_EQC: + sc_start2(src, bl,SC_STUN,100,val1,bl->id,(1000*status_get_lv(src))/50+500*val1); + status_change_end(bl,SC_TINDER_BREAKER2,INVALID_TIMER); + break; } if( opt_flag&2 && sd && sd->touching_id ) @@ -9777,7 +9853,11 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const case SC_INTRAVISION: calc_flag = SCB_ALL;/* required for overlapping */ break; - } + + case SC_FULL_THROTTLE: + sc_start(bl, bl, SC_REBOUND, 100, sce->val1, skill_get_time2(ALL_FULL_THROTTLE, sce->val1)); + break; + } opt_flag = 1; switch(type){ @@ -10831,6 +10911,27 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data) return 0; } break; + case SC_FULL_THROTTLE: + if( --(sce->val4) > 0 ) { + status_percent_damage(bl, bl, sce->val2, sce->val2, false); + sc_timer_next(1000 + tick, status_change_timer, bl->id, data); + return 0; + } + break; + case SC_KINGS_GRACE: + if( --(sce->val4) > 0 ) { + status_percent_heal(bl, sce->val2, 0); + sc_timer_next(1000 + tick, status_change_timer, bl->id, data); + return 0; + } + break; + case SC_FRIGG_SONG: + if( --(sce->val4) > 0 ) { + status_heal(bl, sce->val3, 0, 0); + sc_timer_next(10000 + tick, status_change_timer, bl->id, data); + return 0; + } + break; } // default for all non-handled control paths is to end the status diff --git a/src/map/status.h b/src/map/status.h index 0ec81a4a73..a8a123d14a 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -651,6 +651,18 @@ typedef enum sc_type { //Vellum Weapon reductions SC_DEFSET, SC_MDEFSET, + SC_DARKCROW, + SC_FULL_THROTTLE, + SC_REBOUND, + SC_UNLIMIT, + SC_KINGS_GRACE, + SC_TELEKINESIS_INTENSE, + SC_OFFERTORIUM, + SC_FRIGG_SONG, + SC_MONSTER_TRANSFORM, + SC_ANGEL_PROTECT, + SC_ILLUSIONDOPING, + SC_FLASHCOMBO, #ifdef RENEWAL SC_EXTREMITYFIST2, @@ -976,7 +988,7 @@ enum si_type { SI_INVINCIBLE = 311, SI_CASH_PLUSONLYJOBEXP = 312, SI_PARTYFLEE = 313, -// SI_ANGEL_PROTECT = 314, + SI_ANGEL_PROTECT = 314, SI_ENDURE_MDEF = 315, SI_ENCHANTBLADE = 316, SI_DEATHBOUND = 317, @@ -1387,7 +1399,7 @@ enum si_type { SI_2013_VALENTINE1 = 731, SI_2013_VALENTINE2 = 732, SI_2013_VALENTINE3 = 733, -// SI_ = 734, + SI_ILLUSIONDOPING = 734, // SI_ = 735, SI_CHILL = 736, SI_BURNT = 737,