Browse Source

Add EP 14.3 Part 2 3rd Job Skills

thx to brAthena, Herc, Cydh.
lighta 11 năm trước cách đây
mục cha
commit
8a66d82c28
12 tập tin đã thay đổi với 618 bổ sung149 xóa
  1. 13 1
      db/const.txt
  2. 2 0
      db/produce_db.txt
  3. 60 31
      db/re/skill_cast_db.txt
  4. 18 19
      db/re/skill_db.txt
  5. 18 18
      db/re/skill_require_db.txt
  6. 102 0
      db/re/skill_tree.txt
  7. 4 2
      db/re/skill_unit_db.txt
  8. 22 1
      src/map/battle.c
  9. 2 1
      src/map/itemdb.h
  10. 201 13
      src/map/skill.c
  11. 162 61
      src/map/status.c
  12. 14 2
      src/map/status.h

+ 13 - 1
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

+ 2 - 0
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 =

+ 60 - 31
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

+ 18 - 19
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

+ 18 - 18
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

+ 102 - 0
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#

+ 4 - 2
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

+ 22 - 1
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

+ 2 - 1
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)

+ 201 - 13
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);

+ 162 - 61
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;
-			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
+	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_WUGDASH:
-			{
-				struct unit_data *ud = unit_bl2ud(bl);
-				if( ud )
-					ud->state.running = unit_wugdash(bl, sd);
-			}
+		case TK_DOWNKICK:
+			clif_skill_nodamage(bl,bl,TK_READYDOWN,1,1);
 			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;
-			}
+		case TK_TURNKICK:
+			clif_skill_nodamage(bl,bl,TK_READYTURN,1,1);
 			break;
-		case SC_RAISINGDRAGON:
-			sce->val2 = status->max_hp / 100;// Officially tested its 1%hp drain. [Jobbie]
+		case TK_COUNTER:
+			clif_skill_nodamage(bl,bl,TK_READYCOUNTER,1,1);
 			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

+ 14 - 2
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,