Переглянути джерело

Adds back removed skills from kRO (#4803)

* Fixes #4802.
* Adds back AB_EUCHARISTICA, GN_SLINGITEM, and GN_MAKEBOMB.
* Adds back CR_CULTIVATION for renewal.
* Skills are disabled in the skill tree database but gives easy ability to re-enable.
* Fixes an issue with pre-renewal produce database spitting errors when using any production-type skills.
Thanks to @trinitynetworks!
Aleos 5 роки тому
батько
коміт
2ca94ad411

+ 5 - 5
db/pre-re/produce_db.txt

@@ -618,15 +618,15 @@
 
 //---- Create Bomb --- ItemLV=28 ---------------
 //-- Apple Bomb <-- GN_MAKEBOMB Lv1, Apple Bomb CB, 1 Apple, 1 Scell, 1 Detonator, 1 Gun Powder
-246,13260,28,2496,1,6279,0,512,1,911,1,1051,1,6244,1
+//246,13260,28,2496,1,6279,0,512,1,911,1,1051,1,6244,1
 //-- Coconut Bomb <-- GN_MAKEBOMB Lv1, Coconut Bomb CB, 1 Detonator, 1 Coconut Fruit, 2 Gun Powder
-247,13261,28,2496,1,6281,0,1051,1,6263,1,6244,2
+//247,13261,28,2496,1,6281,0,1051,1,6263,1,6244,2
 //-- Melon Bomb <-- GN_MAKEBOMB Lv1, Melon Bomb CB, 1 Sticky Mucus, 1 Detonator, 2 Gun Powder, 1 Melon
-248,13262,28,2496,1,6282,0,938,1,1051,1,6244,2,6264,1
+//248,13262,28,2496,1,6282,0,938,1,1051,1,6244,2,6264,1
 //-- Pineapple Bomb <-- GN_MAKEBOMB Lv1, Pinepple Bomb CB, 1 Cactus Needle, 1 Detonator, 3 Gun Powder, 1 Pineapple
-249,13263,28,2496,1,6280,0,952,1,1051,1,6244,3,6265,1
+//249,13263,28,2496,1,6280,0,952,1,1051,1,6244,3,6265,1
 //-- Banana Bomb <-- GN_MAKEBOMB Lv1, Banana Bomb CB, 1 Banana, 1 Detonator, 4 Gun Powder, 1 Mould Powder
-250,13264,28,2496,1,6283,0,513,1,1051,1,6244,4,7001,1
+//250,13264,28,2496,1,6283,0,513,1,1051,1,6244,4,7001,1
 
 //---- Special Pharmacy --- ItemLV=29 ----------
 //-- Seed Of Horny Plant <-- GN_S_PHARMACY Lv1, Plant Genetic Grow, 10 Prickly Fruit

+ 49 - 16
db/pre-re/skill_db.yml

@@ -19244,10 +19244,10 @@ Body:
           Amount: 70
         - Level: 4
           Amount: 80
-#  - Id: 2049 # Removed on kRO
-#    Name: AB_EUCHARISTICA
-#    Description: Eucharistica
-#    MaxLevel: 10
+  - Id: 2049 # Removed on kRO
+    Name: AB_EUCHARISTICA
+    Description: Eucharistica
+    MaxLevel: 10
   - Id: 2050
     Name: AB_RENOVATIO
     Description: Renovatio
@@ -27233,10 +27233,25 @@ Body:
       ItemCost:
         - Item: Mandragora_Flowerpot
           Amount: 1
-#  - Id: 2493 # Removed on kRO
-#    Name: GN_SLINGITEM
-#    Description: Sling Item
-#    MaxLevel: 1
+  - Id: 2493 # Removed on kRO
+    Name: GN_SLINGITEM
+    Description: Sling Item
+    MaxLevel: 1
+    TargetType: Support
+    DamageFlags:
+      NoDamage: true
+    Flags:
+      NoTargetSelf: true
+    Range: 11
+    Hit: Single
+    HitCount: 1
+    Cooldown: 1000
+    FixedCastTime: -1
+    Requires:
+      SpCost: 4
+      Ammo:
+        Throwweapon: true
+      AmmoAmount: 1
   - Id: 2494
     Name: GN_CHANGEMATERIAL
     Description: Change Material
@@ -27263,10 +27278,21 @@ Body:
           Amount: 5
         - Level: 2
           Amount: 40
-#  - Id: 2496 # Removed on kRO
-#    Name: GN_MAKEBOMB
-#    Description: Create Bomb
-#    MaxLevel: 2
+  - Id: 2496 # Removed on kRO
+    Name: GN_MAKEBOMB
+    Description: Create Bomb
+    MaxLevel: 2
+    TargetType: Self
+    DamageFlags:
+      NoDamage: true
+    Hit: Single
+    HitCount: 1
+    Requires:
+      SpCost:
+        - Level: 1
+          Amount: 5
+        - Level: 2
+          Amount: 40
   - Id: 2497
     Name: GN_S_PHARMACY
     Description: Special Pharmacy
@@ -27278,10 +27304,17 @@ Body:
     HitCount: 1
     Requires:
       SpCost: 12
-#  - Id: 2498 # Removed on kRO
-#    Name: GN_SLINGITEM_RANGEMELEEATK
-#    Description: Sling Item Attack
-#    MaxLevel: 1
+  - Id: 2498 # Removed on kRO
+    Name: GN_SLINGITEM_RANGEMELEEATK
+    Description: Sling Item Attack
+    MaxLevel: 1
+    Type: Weapon
+    TargetType: Attack
+    Range: 11
+    Hit: Single
+    HitCount: 1
+    Requires:
+      SpCost: 1
   - Id: 2533
     Name: ALL_ODINS_RECALL
     Description: Odin's Recall

+ 1 - 0
db/pre-re/skill_nocast_db.txt

@@ -179,3 +179,4 @@
 2303,2048	//SC_BLOODYLUST
 2419,2048	//WM_POEMOFNETHERWORLD
 2482,2048	//GN_WALLOFTHORN
+2493,2048	//GN_SLINGITEM

+ 9 - 0
db/pre-re/skill_tree.txt

@@ -2577,6 +2577,7 @@
 4057,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4057,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4057,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4057,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4057,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4057,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4057,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -2923,6 +2924,7 @@
 4063,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4063,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4063,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4063,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4063,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4063,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4063,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -3403,8 +3405,10 @@
 4071,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4071,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4071,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4071,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4071,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#
@@ -3845,8 +3849,10 @@
 4078,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4078,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4078,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4078,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4078,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#
@@ -4574,6 +4580,7 @@
 4099,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4099,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4099,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4099,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4099,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4099,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4099,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -5052,8 +5059,10 @@
 4107,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4107,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4107,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4107,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4107,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#

+ 41 - 31
db/re/produce_db.txt

@@ -616,69 +616,79 @@
 //-- Petti Tail Noodle <-- GN_MIX_COOKING Lv1, Mix Cook Book, 1 Melange Pot, 2 Petti Tail, 1 Fine Noodle, 1 Cool Gravy
 245,12434,27,2495,1,11022,0,6248,1,6260,2,6261,1,6262,1
 
-//---- Create Bomb --- ItemLV=28 --------------- Removed skill (free slot)
+//---- Create Bomb --- ItemLV=28 ---------------
+//-- Apple Bomb <-- GN_MAKEBOMB Lv1, Apple Bomb CB, 1 Apple, 1 Scell, 1 Detonator, 1 Gun Powder
+//246,13260,28,2496,1,6279,0,512,1,911,1,1051,1,6244,1
+//-- Coconut Bomb <-- GN_MAKEBOMB Lv1, Coconut Bomb CB, 1 Detonator, 1 Coconut Fruit, 2 Gun Powder
+//247,13261,28,2496,1,6281,0,1051,1,6263,1,6244,2
+//-- Melon Bomb <-- GN_MAKEBOMB Lv1, Melon Bomb CB, 1 Sticky Mucus, 1 Detonator, 2 Gun Powder, 1 Melon
+//248,13262,28,2496,1,6282,0,938,1,1051,1,6244,2,6264,1
+//-- Pineapple Bomb <-- GN_MAKEBOMB Lv1, Pinepple Bomb CB, 1 Cactus Needle, 1 Detonator, 3 Gun Powder, 1 Pineapple
+//249,13263,28,2496,1,6280,0,952,1,1051,1,6244,3,6265,1
+//-- Banana Bomb <-- GN_MAKEBOMB Lv1, Banana Bomb CB, 1 Banana, 1 Detonator, 4 Gun Powder, 1 Mould Powder
+//250,13264,28,2496,1,6283,0,513,1,1051,1,6244,4,7001,1
 
 //---- Special Pharmacy --- ItemLV=29 ----------
 //-- Seed Of Horny Plant <-- GN_S_PHARMACY Lv1, Plant Genetic Grow, 10 Prickly Fruit
-246,6210,29,2497,1,6284,0,576,10
+251,6210,29,2497,1,6284,0,576,10
 //-- Bloodsuck Plant Seed <-- GN_S_PHARMACY Lv1, Plant Genetic Grow, 10 Root Of Maneater
-247,6211,29,2497,1,6284,0,1033,10
+252,6211,29,2497,1,6284,0,1033,10
 //-- Bomb Mushroom Spore <-- GN_S_PHARMACY Lv1, Plant Genetic Grow, 10 Mushroom Spore, 2 Gun Powder, 5 Poison Spore
-248,6212,29,2497,1,6284,0,921,10,6244,2,7033,5
+253,6212,29,2497,1,6284,0,921,10,6244,2,7033,5
 //-- HP Increase Potion (Small) <-- GN_S_PHARMACY Lv1, Increase Stamina Study, 10 White Herb, 5 Monster's Feed, 10 Empty Bottle, 1 Hot Sauce
-249,12422,29,2497,1,11023,0,509,10,528,5,713,10,7455,1
+254,12422,29,2497,1,11023,0,509,10,528,5,713,10,7455,1
 //-- HP Increase Potion (Medium) <-- GN_S_PHARMACY Lv1, Increase Stamina Study, 10 Yellow Herb, 10 White Herb, 10 Empty Bottle, 1 Hot Sauce
-250,12423,29,2497,1,11023,0,508,10,509,10,713,10,7455,1
+255,12423,29,2497,1,11023,0,508,10,509,10,713,10,7455,1
 //-- HP Increase Potion (Large) <-- GN_S_PHARMACY Lv1, Increase Stamina Study, 15 White Herb, 3 Fruit Of Mastela, 1 Holy Water, 10 Empty Bottle, 1 Hot Sauce
-251,12424,29,2497,1,11023,0,509,15,522,3,523,1,713,10,7455,1
+256,12424,29,2497,1,11023,0,509,15,522,3,523,1,713,10,7455,1
 //-- SP Increase Potion (Small) <-- GN_S_PHARMACY Lv1, Vital Drink CB, 10 Grape, 10 Lemon, 10 Empty Bottle, 1 Sweet Sauce
-252,12425,29,2497,1,11024,0,514,10,568,10,713,10,7453,1
+257,12425,29,2497,1,11024,0,514,10,568,10,713,10,7453,1
 //-- SP Increase Potion (Medium) <-- GN_S_PHARMACY Lv1, Vital Drink CB, 10 Blue Herb, 10 Honey, 10 Empty Bottle, 1 Sweet Sauce
-253,12426,29,2497,1,11024,0,510,10,518,10,713,10,7453,1
+258,12426,29,2497,1,11024,0,510,10,518,10,713,10,7453,1
 //-- SP Increase Potion (Large) <-- GN_S_PHARMACY Lv1, Vital Drink CB, 15 Blue Herb, 10 Royal Jelly, 10 Empty Bottle, 1 Sweet Sauce
-254,12427,29,2497,1,11024,0,510,15,526,10,713,10,7453,1
+259,12427,29,2497,1,11024,0,510,15,526,10,713,10,7453,1
 //-- Enrich White Potion Z <-- GN_S_PHARMACY Lv1, Quality Potion Book, 20 White Potion, 10 White Herb, 1 Alchol, 10 Empty Cylinder
-255,12428,29,2497,1,6285,0,504,20,509,10,970,1,1092,10
+260,12428,29,2497,1,6285,0,504,20,509,10,970,1,1092,10
 //-- Vitata 500 <-- GN_S_PHARMACY Lv1, Quality Potion Book, 10 Blue Herb, 10 Grape, 10 Honey, 10 Empty Cylinder
-256,12436,29,2497,1,6285,0,510,10,514,10,518,10,1092,10
+261,12436,29,2497,1,6285,0,510,10,514,10,518,10,1092,10
 //-- Enrich Celermine Juice <-- GN_S_PHARMACY Lv1, Quality Potion Book, 5 Center Potion, 5 Awakening Potion, 10 Empty Cylinder, 5 Hot Sauce
-257,12437,29,2497,1,6285,0,645,5,656,5,1092,10,7455,5
+262,12437,29,2497,1,6285,0,645,5,656,5,1092,10,7455,5
 //-- Cure Free <-- GN_S_PHARMACY Lv1, Quality Potion Book, 20 Green Herb, 1 Fruit Of Mastela, 5 Panacea, 1 Leaf Of Yggdrasil, 10 Empty Cylinder
-258,12475,29,2497,1,6285,0,511,20,522,1,525,5,610,1,1092,10
+263,12475,29,2497,1,6285,0,511,20,522,1,525,5,610,1,1092,10
 //-- Golden X <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Yggdrasilberry, 5 Gold
-//259,100231,29,2497,1,1092,10,607,10,969,5
+//264,100231,29,2497,1,1092,10,607,10,969,5
 //-- Red Herb Activator <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 45 Red Herb, 5 Yggdrasil Seed
-//260,100232,29,2497,1,1092,10,507,45,608,5
+//265,100232,29,2497,1,1092,10,507,45,608,5
 //-- Blue Herb Activator <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 15 Blue Herb, 5 Yggdrasil Seed
-//261,100233,29,2497,1,1092,10,510,15,608,5
+//266,100233,29,2497,1,1092,10,510,15,608,5
 //-- Concentrated Red Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 Red Syrup
-//262,1100003,29,2497,1,1092,10,1093,10,11621,15
+//267,1100003,29,2497,1,1092,10,1093,10,11621,15
 //-- Concentrated Blue Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 Blue Syrup
-//263,1100004,29,2497,1,1092,10,1093,10,11624,15
+//268,1100004,29,2497,1,1092,10,1093,10,11624,15
 //-- Concentrated Golden Syrup Potion <-- GN_S_PHARMACY Lvl, 10 Empty Testtube, 10 Empty Potion Bottle, 15 White Syrup, 15 Yellow Syrup
-//264,1100005,29,2497,1,1092,10,1093,10,11623,15,11622,15
+//269,1100005,29,2497,1,1092,10,1093,10,11623,15,11622,15
 //===============================================
 
 //--------------------LEVEL 30-----------
 // Novice Red Potion (569) <-- 2 Red Herbs, 1 Apple
-265,569,30,0,0,11058,0,507,2,512,1
+270,569,30,0,0,11058,0,507,2,512,1
 // Novice Magnifier (12325) <-- 3 Fine-grained Trunk, 1 Jellopy
-266,12325,30,0,0,11058,0,1066,3,909,1
+271,12325,30,0,0,11058,0,1066,3,909,1
 // Novice Fly Wing (12323) <-- 2 Fluffs, 2 Feathers, 2 Jellopies
-267,12323,30,0,0,11058,0,914,2,949,2,909,2
+272,12323,30,0,0,11058,0,914,2,949,2,909,2
 // Novice Cutter (13040) <-- 10 Shells, 10 Worm Peelings, 1 Phracon
-268,13040,30,0,0,11058,0,935,10,955,10,1010,1
+273,13040,30,0,0,11058,0,935,10,955,10,1010,1
 // Little Unripe Apple (12846) <-- 1 Apple, 1 Green Herb
-269,12846,30,0,0,11058,0,512,1,511,1
+274,12846,30,0,0,11058,0,512,1,511,1
 // Four Leaf Clover (706) <-- 200 Clovers, 200 Sticky Mucus
-270,706,30,0,0,11058,0,705,200,938,200
+275,706,30,0,0,11058,0,705,200,938,200
 // Banana Juice (532) <-- 1 Banana, 1 Milk
-271,532,30,0,0,11058,0,513,1,519,1
+276,532,30,0,0,11058,0,513,1,519,1
 // Apple Juice (531) <-- 1 Apple, 1 Milk
-272,531,30,0,0,11058,0,512,1,519,1
+277,531,30,0,0,11058,0,512,1,519,1
 // Carrot Juice (534) <-- 1 Carrot, 1 Milk
-273,534,30,0,0,11058,0,515,1,519,1
+278,534,30,0,0,11058,0,515,1,519,1
 // Grape Juice (533) <-- 1 Grape, 1 Milk
-274,533,30,0,0,11058,0,514,1,519,1
+279,533,30,0,0,11058,0,514,1,519,1
 // Unripe Apple (619) <-- 10 Sticky Mucus, 20 Green Herbs, 10 Apples
-275,619,30,0,0,11058,0,938,10,511,20,512,10
+280,619,30,0,0,11058,0,938,10,511,20,512,10

+ 67 - 20
db/re/skill_db.yml

@@ -13591,10 +13591,24 @@ Body:
           Amount: 1
         - Item: Acid_Bottle
           Amount: 1
-#  - Id: 491 # Removed on kRO
-#    Name: CR_CULTIVATION
-#    Description: Plant Cultivation
-#    MaxLevel: 2
+  - Id: 491 # Removed on kRO
+    Name: CR_CULTIVATION
+    Description: Plant Cultivation
+    MaxLevel: 2
+    TargetType: Ground
+    DamageFlags:
+      NoDamage: true
+    Range: 1
+    Hit: Single
+    HitCount: 1
+    Duration1: 300000
+    Requires:
+      SpCost: 10
+      ItemCost:
+        - Item: Mushroom_Spore
+          Amount: 1
+        - Item: Stem
+          Amount: 1
   - Id: 492
     Name: ITEM_ENCHANTARMS
     Description: Weapon Enchantment
@@ -20010,10 +20024,10 @@ Body:
           Amount: 70
         - Level: 4
           Amount: 80
-#  - Id: 2049 # Removed on kRO
-#    Name: AB_EUCHARISTICA
-#    Description: Eucharistica
-#    MaxLevel: 10
+  - Id: 2049 # Removed on kRO
+    Name: AB_EUCHARISTICA
+    Description: Eucharistica
+    MaxLevel: 10
   - Id: 2050
     Name: AB_RENOVATIO
     Description: Renovatio
@@ -28319,10 +28333,25 @@ Body:
       ItemCost:
         - Item: Mandragora_Flowerpot
           Amount: 1
-#  - Id: 2493 # Removed on kRO
-#    Name: GN_SLINGITEM
-#    Description: Sling Item
-#    MaxLevel: 1
+  - Id: 2493 # Removed on kRO
+    Name: GN_SLINGITEM
+    Description: Sling Item
+    MaxLevel: 1
+    TargetType: Support
+    DamageFlags:
+      NoDamage: true
+    Flags:
+      NoTargetSelf: true
+    Range: 11
+    Hit: Single
+    HitCount: 1
+    Cooldown: 1000
+    FixedCastTime: -1
+    Requires:
+      SpCost: 4
+      Ammo:
+        Throwweapon: true
+      AmmoAmount: 1
   - Id: 2494
     Name: GN_CHANGEMATERIAL
     Description: Change Material
@@ -28349,10 +28378,21 @@ Body:
           Amount: 5
         - Level: 2
           Amount: 40
-#  - Id: 2496 # Removed on kRO
-#    Name: GN_MAKEBOMB
-#    Description: Create Bomb
-#    MaxLevel: 2
+  - Id: 2496 # Removed on kRO
+    Name: GN_MAKEBOMB
+    Description: Create Bomb
+    MaxLevel: 2
+    TargetType: Self
+    DamageFlags:
+      NoDamage: true
+    Hit: Single
+    HitCount: 1
+    Requires:
+      SpCost:
+        - Level: 1
+          Amount: 5
+        - Level: 2
+          Amount: 40
   - Id: 2497
     Name: GN_S_PHARMACY
     Description: Special Pharmacy
@@ -28364,10 +28404,17 @@ Body:
     HitCount: 1
     Requires:
       SpCost: 12
-#  - Id: 2498 # Removed on kRO
-#    Name: GN_SLINGITEM_RANGEMELEEATK
-#    Description: Sling Item Attack
-#    MaxLevel: 1
+  - Id: 2498 # Removed on kRO
+    Name: GN_SLINGITEM_RANGEMELEEATK
+    Description: Sling Item Attack
+    MaxLevel: 1
+    Type: Weapon
+    TargetType: Attack
+    Range: 11
+    Hit: Single
+    HitCount: 1
+    Requires:
+      SpCost: 1
   - Id: 2533
     Name: ALL_ODINS_RECALL
     Description: Odin's Recall

+ 5 - 0
db/re/skill_nocast_db.txt

@@ -56,6 +56,7 @@
 395,4	//CG_MOONLIT
 409,4	//WE_CALLPARENT
 410,4	//WE_CALLBABY
+491,4	//CR_CULTIVATION
 530,4	//NJ_KIRIKAGE
 691,4	//CASH_ASSUMPTIO
 2284,4	//SC_FATALMENACE
@@ -94,6 +95,7 @@
 438,8	//SG_SUN_BLESS
 439,8	//SG_MOON_BLESS
 440,8	//SG_STAR_BLESS
+491,8	//CR_CULTIVATION
 530,8	//NJ_KIRIKAGE
 691,8	//CASH_ASSUMPITO
 2284,8	//SC_FATALMENACE
@@ -130,6 +132,7 @@
 409,16	// WE_CALLPARENT
 410,16	// WE_CALLBABY
 426,16	// TK_HIGHJUMP
+491,16	//CR_CULTIVATION
 529,16	// NJ_SHADOWJUMP
 // 530,16	// NJ_KIRIKAGE
 691,16	// CASH_ASSUMPTIO
@@ -216,9 +219,11 @@
 //----------------------------------------------------------------------------
 232,2048	//AM_CANNIBALIZE
 233,2048	//AM_SPHEREMINE
+491,2048	//CR_CULTIVATION
 1013,2048	//BS_GREED
 2419,2048	//WM_POEMOFNETHERWORLD
 2482,2048	//GN_WALLOFTHORN
+2493,2048	//GN_SLINGITEM
 
 //----------------------------------------------------------------------------
 // Zone 8 - WOE:TE Dungeons

+ 11 - 0
db/re/skill_tree.txt

@@ -1266,6 +1266,7 @@
 4019,478,10,231,5,0,0,0,0,0,0,0,0 //CR_SLIMPITCHER#Aid Condensed Potion#
 4019,479,5,234,5,235,5,236,5,237,5,0,0 //CR_FULLPROTECTION#Full Protection#
 4019,490,10,229,5,230,5,0,0,0,0,0,0 //CR_ACIDDEMONSTRATION#Acid Demonstration#
+//4019,491,2,0,0,0,0,0,0,0,0,0,0 //CR_CULTIVATION#Cultivation#
 4019,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
 4019,446,1,0,0,0,0,0,0,0,0,0,0	//AM_BERSERKPITCHER#Berserk Pitcher#
 4019,496,1,228,10,0,0,0,0,0,0,0,0	//AM_TWILIGHT1#Twilight Alchemy 1#
@@ -2603,6 +2604,7 @@
 4057,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4057,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4057,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4057,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4057,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4057,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4057,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -2951,6 +2953,7 @@
 4063,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4063,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4063,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4063,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4063,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4063,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4063,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -3433,8 +3436,10 @@
 4071,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4071,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4071,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4071,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4071,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#
@@ -3857,6 +3862,7 @@
 4078,478,10,231,5,0,0,0,0,0,0,0,0 //CR_SLIMPITCHER#Aid Condensed Potion#
 4078,479,5,234,5,235,5,236,5,237,5,0,0 //CR_FULLPROTECTION#Full Protection#
 4078,490,10,229,5,230,5,0,0,0,0,0,0 //CR_ACIDDEMONSTRATION#Acid Demonstration#
+//4078,491,2,0,0,0,0,0,0,0,0,0,0 //CR_CULTIVATION#Cultivation#
 4078,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby#
 4078,446,1,0,0,0,0,0,0,0,0,0,0	//AM_BERSERKPITCHER#Berserk Pitcher#
 4078,496,1,228,10,0,0,0,0,0,0,0,0	//AM_TWILIGHT1#Twilight Alchemy 1#
@@ -3876,8 +3882,10 @@
 4078,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4078,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4078,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4078,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4078,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#
@@ -4608,6 +4616,7 @@
 4099,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4099,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4099,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
+//4099,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4099,2050,4,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4099,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4099,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -5096,8 +5105,10 @@
 4107,2486,5,2485,3,0,0,0,0,0,0,0,0 //GN_FIRE_EXPANSION#Fire Expansion#
 4107,2490,5,2480,3,0,0,0,0,0,0,0,0 //GN_HELLS_PLANT#Hell's Plant#
 4107,2492,5,2490,3,0,0,0,0,0,0,0,0 //GN_MANDRAGORA#Howling of Mandragora#
+//4107,2493,1,2494,1,0,0,0,0,0,0,0,0 //GN_SLINGITEM#Sling Item#
 4107,2494,1,0,0,0,0,0,0,0,0,0,0 //GN_CHANGEMATERIAL#Change Material#
 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#

+ 29 - 0
src/map/battle.cpp

@@ -4433,6 +4433,35 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
 			skillratio += -100 + 700 + 100 * skill_lv;
 			RE_LVL_DMOD(100);
 			break;
+		case GN_SLINGITEM_RANGEMELEEATK:
+			if( sd ) {
+				switch( sd->itemid ) {
+					case ITEMID_APPLE_BOMB:
+						skillratio += 200 + status_get_str(src) + status_get_dex(src);
+						break;
+					case ITEMID_COCONUT_BOMB:
+					case ITEMID_PINEAPPLE_BOMB:
+						skillratio += 700 + status_get_str(src) + status_get_dex(src);
+						break;
+					case ITEMID_MELON_BOMB:
+						skillratio += 400 + status_get_str(src) + status_get_dex(src);
+						break;
+					case ITEMID_BANANA_BOMB:
+						skillratio += 777 + status_get_str(src) + status_get_dex(src);
+						break;
+					case ITEMID_BLACK_LUMP:
+						skillratio += -100 + (status_get_str(src) + status_get_agi(src) + status_get_dex(src)) / 3;
+						break;
+					case ITEMID_BLACK_HARD_LUMP:
+						skillratio += -100 + (status_get_str(src) + status_get_agi(src) + status_get_dex(src)) / 2;
+						break;
+					case ITEMID_VERY_HARD_LUMP:
+						skillratio += -100 + status_get_str(src) + status_get_agi(src) + status_get_dex(src);
+						break;
+				}
+				RE_LVL_DMOD(100);
+			}
+			break;
 		case GN_HELLS_PLANT_ATK:
 			skillratio += -100 + 500 * skill_lv + sstatus->int_ * (10 - (sd ? pc_checkskill(sd, AM_CANNIBALIZE) : 0)); // !TODO: Confirm INT and Cannibalize bonus
 			RE_LVL_DMOD(100);

+ 12 - 1
src/map/itemdb.hpp

@@ -176,10 +176,21 @@ enum genetic_item_list
 	ITEMID_VITATA500,
 	ITEMID_CONCENTRATED_CEROMAIN_SOUP,
 	ITEMID_CURE_FREE					= 12475,
-	ITEMID_BLACK_LUMP					= 13265,
+	ITEMID_APPLE_BOMB					= 13260,
+	ITEMID_COCONUT_BOMB,
+	ITEMID_MELON_BOMB,
+	ITEMID_PINEAPPLE_BOMB,
+	ITEMID_BANANA_BOMB,
+	ITEMID_BLACK_LUMP,
 	ITEMID_BLACK_HARD_LUMP,
 	ITEMID_VERY_HARD_LUMP,
 	ITEMID_MYSTERIOUS_POWDER,
+	ITEMID_HP_INC_POTS_TO_THROW			= 13275,
+	ITEMID_HP_INC_POTM_TO_THROW,
+	ITEMID_HP_INC_POTL_TO_THROW,
+	ITEMID_SP_INC_POTS_TO_THROW,
+	ITEMID_SP_INC_POTM_TO_THROW,
+	ITEMID_SP_INC_POTL_TO_THROW,
 };
 
 ///Guillotine Cross

+ 104 - 4
src/map/skill.cpp

@@ -446,6 +446,8 @@ unsigned short skill_dummy2skill_id(unsigned short skill_id) {
 			return GN_CRAZYWEED;
 		case GN_HELLS_PLANT_ATK:
 			return GN_HELLS_PLANT;
+		case GN_SLINGITEM_RANGEMELEEATK:
+			return GN_SLINGITEM;
 		case RL_R_TRIP_PLUSATK:
 			return RL_R_TRIP;
 		case NPC_MAXPAIN_ATK:
@@ -1867,6 +1869,28 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
 	case SO_VARETYR_SPEAR:
 		sc_start(src,bl, SC_STUN, 5 * skill_lv, skill_lv, skill_get_time(skill_id, skill_lv));
 		break;
+	case GN_SLINGITEM_RANGEMELEEATK:
+		if( sd ) {
+			switch( sd->itemid ) {	// Starting SCs here instead of do it in skill_additional_effect to simplify the code.
+				case ITEMID_COCONUT_BOMB:
+					sc_start(src,bl, SC_STUN, 5 + sd->status.job_level / 2, skill_lv, 1000 * sd->status.job_level / 3);
+					sc_start2(src,bl, SC_BLEEDING, 3 + sd->status.job_level / 2, skill_lv, src->id, 1000 * status_get_lv(src) / 4 + sd->status.job_level / 3);
+					break;
+				case ITEMID_MELON_BOMB:
+					sc_start4(src, bl, SC_MELON_BOMB, 100, skill_lv, 20 + sd->status.job_level, 10 + sd->status.job_level / 2, 0, 1000 * status_get_lv(src) / 4);
+					break;
+				case ITEMID_BANANA_BOMB:
+					{
+						uint16 duration = (battle_config.banana_bomb_duration ? battle_config.banana_bomb_duration : 1000 * sd->status.job_level / 4);
+
+						sc_start(src,bl, SC_BANANA_BOMB_SITDOWN, status_get_lv(src) + sd->status.job_level + sstatus->dex / 6 - status_get_lv(bl) - tstatus->agi / 4 - tstatus->luk / 5, skill_lv, duration);
+						sc_start(src,bl, SC_BANANA_BOMB, 100, skill_lv, 30000);
+						break;
+					}
+			}
+			sd->itemid = -1;
+		}
+		break;
 	case GN_HELLS_PLANT_ATK:
 		sc_start(src,bl, SC_STUN,  20 + 10 * skill_lv, skill_lv, skill_get_time(skill_id, skill_lv));
 		sc_start2(src,bl, SC_BLEEDING, 5 + 5 * skill_lv, skill_lv, src->id,skill_get_time(skill_id, skill_lv));
@@ -3595,6 +3619,9 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
 		case GN_FIRE_EXPANSION_ACID:
 			dmg.dmotion = clif_skill_damage(dsrc, bl, tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, CR_ACIDDEMONSTRATION, skill_lv, DMG_MULTI_HIT);
 			break;
+		case GN_SLINGITEM_RANGEMELEEATK:
+			dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,GN_SLINGITEM,-2,DMG_SINGLE);
+			break;
 		case EL_STONE_RAIN:
 			dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,(flag&1)?DMG_MULTI_HIT:DMG_SPLASH);
 			break;
@@ -4847,6 +4874,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
 	case SR_GENTLETOUCH_QUIET:
 	case WM_SEVERE_RAINSTORM_MELEE:
 	case WM_GREAT_ECHO:
+	case GN_SLINGITEM_RANGEMELEEATK:
 	case KO_SETSUDAN:
 	case RL_MASS_SPIRAL:
 	case RL_BANISHING_BUSTER:
@@ -11072,7 +11100,63 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 			clif_skill_nodamage(src,src,skill_id,skill_lv,1);
 		}
 		break;
+	case GN_SLINGITEM:
+		if( sd ) {
+			int ammo_id;
+
+			i = sd->equip_index[EQI_AMMO];
+			if( i < 0 )
+				break; // No ammo.
+			ammo_id = sd->inventory_data[i]->nameid;
+			if( ammo_id <= 0 )
+				break;
+			sd->itemid = ammo_id;
+			if( itemdb_group_item_exists(IG_BOMB, ammo_id) ) {
+				if(battle_check_target(src,bl,BCT_ENEMY) > 0) {// Only attack if the target is an enemy.
+					if( ammo_id == ITEMID_PINEAPPLE_BOMB )
+						map_foreachincell(skill_area_sub,bl->m,bl->x,bl->y,BL_CHAR,src,GN_SLINGITEM_RANGEMELEEATK,skill_lv,tick,flag|BCT_ENEMY|1,skill_castend_damage_id);
+					else
+						skill_attack(BF_WEAPON,src,src,bl,GN_SLINGITEM_RANGEMELEEATK,skill_lv,tick,flag);
+				} else //Otherwise, it fails, shows animation and removes items.
+					clif_skill_fail(sd,GN_SLINGITEM_RANGEMELEEATK,USESKILL_FAIL,0);
+			} else if (itemdb_group_item_exists(IG_THROWABLE, ammo_id)) {
+				switch (ammo_id) {
+					case ITEMID_HP_INC_POTS_TO_THROW: // MaxHP +(500 + Thrower BaseLv * 10 / 3) and heals 1% MaxHP
+						sc_start2(src, bl, SC_PROMOTE_HEALTH_RESERCH, 100, 2, 1, 500000);
+						status_percent_heal(bl, 1, 0);
+						break;
+					case ITEMID_HP_INC_POTM_TO_THROW: // MaxHP +(1500 + Thrower BaseLv * 10 / 3) and heals 2% MaxHP
+						sc_start2(src, bl, SC_PROMOTE_HEALTH_RESERCH, 100, 2, 2, 500000);
+						status_percent_heal(bl, 2, 0);
+						break;
+					case ITEMID_HP_INC_POTL_TO_THROW: // MaxHP +(2500 + Thrower BaseLv * 10 / 3) and heals 5% MaxHP
+						sc_start2(src, bl, SC_PROMOTE_HEALTH_RESERCH, 100, 2, 3, 500000);
+						status_percent_heal(bl, 5, 0);
+						break;
+					case ITEMID_SP_INC_POTS_TO_THROW: // MaxSP +(Thrower BaseLv / 10 - 5)% and recovers 2% MaxSP
+						sc_start2(src, bl, SC_ENERGY_DRINK_RESERCH, 100, 2, 1, 500000);
+						status_percent_heal(bl, 0, 2);
+						break;
+					case ITEMID_SP_INC_POTM_TO_THROW: // MaxSP +(Thrower BaseLv / 10)% and recovers 4% MaxSP
+						sc_start2(src, bl, SC_ENERGY_DRINK_RESERCH, 100, 2, 2, 500000);
+						status_percent_heal(bl, 0, 4);
+						break;
+					case ITEMID_SP_INC_POTL_TO_THROW: // MaxSP +(Thrower BaseLv / 10 + 5)% and recovers 8% MaxSP
+						sc_start2(src, bl, SC_ENERGY_DRINK_RESERCH, 100, 2, 3, 500000);
+						status_percent_heal(bl, 0, 8);
+						break;
+					default:
+						if (dstsd)
+							run_script(sd->inventory_data[i]->script, 0, dstsd->bl.id, fake_nd->bl.id);
+						break;
+				}
+			}
+		}
+		clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+		clif_skill_nodamage(src,bl,skill_id,skill_lv,1);// This packet is received twice actually, I think it is to show the animation.
+		break;
 	case GN_MIX_COOKING:
+	case GN_MAKEBOMB:
 	case GN_S_PHARMACY:
 		if( sd ) {
 			int qty = 1;
@@ -11080,7 +11164,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 			sd->skill_lv_old = skill_lv;
 			if( skill_id != GN_S_PHARMACY && skill_lv > 1 )
 				qty = 10;
-			clif_cooking_list(sd,(skill_id - GN_MIX_COOKING) + 27,skill_id,qty,6);
+			clif_cooking_list(sd,(skill_id - GN_MIX_COOKING) + 27,skill_id,qty,skill_id==GN_MAKEBOMB?5:6);
 			clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
 		}
 		break;
@@ -15516,6 +15600,7 @@ bool skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_i
 			}
 			break;
 		case GN_MIX_COOKING:
+		case GN_MAKEBOMB:
 		case GN_S_PHARMACY:
 		case GN_CHANGEMATERIAL:
 			if( sd->menuskill_id != skill_id )
@@ -16542,6 +16627,7 @@ bool skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
 			}
 			break;
 		case GN_MIX_COOKING:
+		case GN_MAKEBOMB:
 		case GN_S_PHARMACY:
 		case GN_CHANGEMATERIAL:
 			if( sd->menuskill_id != skill_id )
@@ -19922,7 +20008,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 		} while( j >= 0 && x > 0 );
 	}
 
-	if ((equip = (itemdb_isequip(nameid) && skill_id != GN_CHANGEMATERIAL )))
+	if ((equip = (itemdb_isequip(nameid) && skill_id != GN_CHANGEMATERIAL && skill_id != GN_MAKEBOMB  )))
 		wlv = itemdb_wlv(nameid);
 
 	if (!equip) {
@@ -20065,6 +20151,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 						case ITEMID_SP_INCREASE_POTION_MEDIUM:
 							difficulty += 15;
 							break;
+						case ITEMID_BANANA_BOMB:
 						case ITEMID_HP_INCREASE_POTION_MEDIUM:
 						case ITEMID_SP_INCREASE_POTION_LARGE:
 						case ITEMID_VITATA500:
@@ -20094,6 +20181,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 					make_per = 10000;
 				}
 				break;
+			case GN_MAKEBOMB:
 			case GN_MIX_COOKING:
 				{
 					int difficulty = 30 + rnd()%120; // Random number between (30 ~ 150)
@@ -20102,14 +20190,25 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 					qty = ~(5 + rnd()%5) + 1;
 
 					switch(nameid){// difficulty factor
+						case ITEMID_APPLE_BOMB:
+							difficulty += 5;
+							break;
+						case ITEMID_COCONUT_BOMB:
+						case ITEMID_MELON_BOMB:
+							difficulty += 10;
+							break;
 						case ITEMID_SAVAGE_FULL_ROAST:
 						case ITEMID_COCKTAIL_WARG_BLOOD:
 						case ITEMID_MINOR_STEW:
 						case ITEMID_SIROMA_ICED_TEA:
 						case ITEMID_DROSERA_HERB_SALAD:
 						case ITEMID_PETITE_TAIL_NOODLES:
+						case ITEMID_PINEAPPLE_BOMB:
 							difficulty += 15;
 							break;
+						case ITEMID_BANANA_BOMB:
+							difficulty += 20;
+							break;
 					}
 
 					if( make_per >= 30 && make_per > difficulty)
@@ -20232,7 +20331,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 			tmp_item.amount = 0;
 
 			for (i = 0; i < qty; i++) {	//Apply quantity modifiers.
-				if ((skill_id == GN_MIX_COOKING || skill_id == GN_S_PHARMACY) && make_per > 1) {
+				if ((skill_id == GN_MIX_COOKING || skill_id == GN_MAKEBOMB || skill_id == GN_S_PHARMACY) && make_per > 1) {
 					tmp_item.amount = qty;
 					break;
 				}
@@ -20335,7 +20434,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 					map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0,0);
 				}
 			}
-			if (skill_id == GN_MIX_COOKING || skill_id ==  GN_S_PHARMACY) {
+			if (skill_id == GN_MIX_COOKING || skill_id == GN_MAKEBOMB || skill_id ==  GN_S_PHARMACY) {
 				clif_produceeffect(sd,6,nameid);
 				clif_misceffect(&sd->bl,5);
 				clif_msg_skill(sd,skill_id,ITEM_PRODUCE_SUCCESS);
@@ -20399,6 +20498,7 @@ bool skill_produce_mix(struct map_session_data *sd, uint16 skill_id, unsigned sh
 					clif_msg_skill(sd,skill_id,ITEM_PRODUCE_FAIL);
 				}
 				break;
+			case GN_MAKEBOMB:
 			case GN_S_PHARMACY:
 			case GN_CHANGEMATERIAL:
 				clif_produceeffect(sd,7,nameid);

+ 5 - 5
src/map/skill.hpp

@@ -27,7 +27,7 @@ struct skill_unit;
 struct skill_unit_group;
 struct status_change_entry;
 
-#define MAX_SKILL_PRODUCE_DB	280 /// Max Produce DB
+#define MAX_SKILL_PRODUCE_DB	281 /// Max Produce DB
 #define MAX_PRODUCE_RESOURCE	12 /// Max Produce requirements
 #define MAX_SKILL_ARROW_DB		150 /// Max Arrow Creation DB
 #define MAX_ARROW_RESULT		5 /// Max Arrow results/created
@@ -1176,7 +1176,7 @@ enum e_skill {
 	CG_HERMODE,
 	CG_TAROTCARD,
 	CR_ACIDDEMONSTRATION,
-	CR_CULTIVATION,
+	CR_CULTIVATION, // Removed on kRO (renewal)
 	ITEM_ENCHANTARMS,
 	TK_MISSION,
 	SL_HIGH,
@@ -1760,12 +1760,12 @@ enum e_skill {
 	GN_HELLS_PLANT,
 	GN_HELLS_PLANT_ATK,
 	GN_MANDRAGORA,
-	GN_SLINGITEM,
+	GN_SLINGITEM, // Removed on kRO
 	GN_CHANGEMATERIAL,
 	GN_MIX_COOKING,
-	GN_MAKEBOMB,
+	GN_MAKEBOMB, // Removed on kRO
 	GN_S_PHARMACY,
-	GN_SLINGITEM_RANGEMELEEATK,
+	GN_SLINGITEM_RANGEMELEEATK, // Removed on kRO
 
 	AB_SECRAMENT = 2515,
 	WM_SEVERE_RAINSTORM_MELEE,

+ 10 - 0
src/map/status.cpp

@@ -4525,6 +4525,16 @@ int status_calc_pc_sub(struct map_session_data* sd, enum e_status_calc_opt opt)
 		sd->magic_addrace[RC_DRAGON]+=skill;
 		sd->subrace[RC_DRAGON]+=skill;
 	}
+	if ((skill = pc_checkskill(sd, AB_EUCHARISTICA)) > 0) {
+		sd->right_weapon.addrace[RC_DEMON] += skill;
+		sd->right_weapon.addele[ELE_DARK] += skill;
+		sd->left_weapon.addrace[RC_DEMON] += skill;
+		sd->left_weapon.addele[ELE_DARK] += skill;
+		sd->magic_addrace[RC_DEMON] += skill;
+		sd->magic_addele[ELE_DARK] += skill;
+		sd->subrace[RC_DEMON] += skill;
+		sd->subele[ELE_DARK] += skill;
+	}
 
 	if(sc->count) {
 		if(sc->data[SC_CONCENTRATE]) { // Update the card-bonus data