summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJedzkie <jedzkie13@rocketmail.com>2015-12-23 11:30:24 +0800
committerJedzkie <jedzkie13@rocketmail.com>2015-12-23 11:30:24 +0800
commit9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06 (patch)
treede9c192a80e429288bea39bc1edcd047982c1b0d
parentf7f6f3da94a9dffc7e7b9ecd2c82914945b48269 (diff)
downloadhercules-9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06.tar.gz
hercules-9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06.tar.bz2
hercules-9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06.tar.xz
hercules-9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06.zip
Item Update:
- Update the Genetic Sling / Food items - AegisNames - iRO Names - Prices - Weight - Added official effect for HP Increase Potions and SP Increase Potions. - Fix Banana Bomb sitting behavior.
-rw-r--r--db/const.txt2
-rw-r--r--db/pre-re/item_db.conf300
-rw-r--r--db/re/item_db.conf145
-rw-r--r--db/sc_config.txt13
-rw-r--r--src/map/clif.c7
-rw-r--r--src/map/status.c185
-rw-r--r--src/map/status.h2
7 files changed, 332 insertions, 322 deletions
diff --git a/db/const.txt b/db/const.txt
index e2cff732b..4837b3898 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -1343,6 +1343,8 @@ SC_MOVHASTE_POTION 632
SC_MOVESLOW_POTION 633
SC_BUCHEDENOEL 634
SC_PHI_DEMON 635
+SC_PROMOTE_HEALTH_RESERCH 636
+SC_ENERGY_DRINK_RESERCH 637
e_gasp 0
e_what 1
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index 4d892840c..6bf556304 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -67306,6 +67306,7 @@ item_db: (
Type: 2
Buy: 100
Weight: 50
+ Script: <" sc_start SC_BOOST500, 500000, 10; ">
},
{
Id: 12418
@@ -67315,210 +67316,200 @@ item_db: (
Buy: 100
Weight: 50
BuyingStore: true
+ Script: <" sc_start SC_FULL_SWING_K, 500000, 50; ">
},
{
Id: 12419
AegisName: "Mana_Plus"
- Name: "Mana Plus"
+ Name: "Mana +"
Type: 2
Buy: 100
Weight: 50
BuyingStore: true
+ Script: <" sc_start SC_MANA_PLUS, 500000, 50; ">
},
{
Id: 12420
AegisName: "Stamina_Up_M"
- Name: "Stamina Up M"
+ Name: "Muramura(M)"
Type: 2
Buy: 100
Weight: 50
+ Script: <" sc_start SC_MUSTLE_M, 500000, 5; ">
},
{
Id: 12421
AegisName: "Digestive_F"
- Name: "Falmons F"
- Type: 3
- Buy: 10
- Weight: 10
+ Name: "Falmons(F)"
+ Type: 2
+ Buy: 100
+ Weight: 50
+ Script: <" sc_start SC_LIFE_FORCE_F, 500000, 5; ">
},
{
Id: 12422
- AegisName: "HP_Increase_Potion_(Small)"
- Name: "HP Increase Potion (Small)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "HP_Increase_PotionS"
+ Name: "HP Increase Potion(Small)"
+ Type: 2
+ Buy: 100
+ Weight: 20
BuyingStore: true
- Script: <"
- sc_start SC_INCMHPRATE,500000,1;
- sc_start SC_INCMHP,500000,(500+(10/3)*BaseLevel);
- percentheal 2,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 1, 500, 2; ">
},
{
Id: 12423
- AegisName: "HP_Increase_Potion_(Medium)"
- Name: "HP Increase Potion (Medium)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "HP_Increase_PotionM"
+ Name: "HP Increase Potion(Mid)"
+ Type: 2
+ Buy: 100
+ Weight: 40
BuyingStore: true
- Script: <"
- sc_start SC_INCMHPRATE,500000,2;
- sc_start SC_INCMHP,500000,(1500+(10/3)*BaseLevel);
- percentheal 3,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 2, 1500, 3; ">
},
{
Id: 12424
- AegisName: "HP_Increase_Potion_(Large)"
- Name: "HP Increase Potion (Large)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "HP_Increase_PotionL"
+ Name: "HP Increase Potion(Large)"
+ Type: 2
+ Buy: 100
+ Weight: 80
BuyingStore: true
- Script: <"
- sc_start SC_INCMHPRATE,500000,5;
- sc_start SC_INCMHP,500000,(2500+(10/3)*BaseLevel);
- percentheal 5,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 3, 2500, 5; ">
},
{
Id: 12425
- AegisName: "SP_Increase_Potion_(Small)"
- Name: "SP Increase Potion (Small)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "SP_Increase_PotionS"
+ Name: "SP Increase Potion(Small)"
+ Type: 2
+ Buy: 100
+ Weight: 20
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,2;
- percentheal 0,2;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 1, 0, 2; ">
},
{
Id: 12426
- AegisName: "SP_Increase_Potion_(Medium)"
- Name: "SP Increase Potion (Medium)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "SP_Increase_PotionM"
+ Name: "SP Increase Potion(Mid)"
+ Type: 2
+ Buy: 100
+ Weight: 40
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,4;
- percentheal 0,4;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 2, 0, 4; ">
},
{
Id: 12427
- AegisName: "SP_Increase_Potion_(Large)"
- Name: "SP Increase Potion (Large)"
- Type: 0
- Buy: 10
- Weight: 10
+ AegisName: "SP_Increase_PotionL"
+ Name: "SP Increase Potion(Large)"
+ Type: 2
+ Buy: 100
+ Weight: 80
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,8;
- percentheal 0,8;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 3, 0, 8; ">
},
{
Id: 12428
AegisName: "Enrich_White_PotionZ"
- Name: "Concentrated White Potion Z"
- Type: 0
- Buy: 10
- Weight: 10
+ Name: "Enriched White PotionZ"
+ Type: 2
+ Buy: 100
+ Weight: 70
BuyingStore: true
Script: <"
- sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20;
- heal 1000,0;
+ sc_start SC_EXTRACT_WHITE_POTION_Z, 500000, 20;
+ heal 1000, 0;
">
},
{
Id: 12429
AegisName: "Savage_BBQ"
- Name: "Savage Full Roast"
+ Name: "Savage BBQ"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_SAVAGE_STEAK,300000,20; ">
+ Script: <" sc_start SC_SAVAGE_STEAK, 300000, 20; ">
},
{
Id: 12430
AegisName: "Wug_Blood_Cocktail"
- Name: "Cocktail Warg Blood"
+ Name: "Warg Blood Cocktail"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_COCKTAIL_WARG_BLOOD,300000,20; ">
+ Script: <" sc_start SC_COCKTAIL_WARG_BLOOD, 300000, 20; ">
},
{
Id: 12431
AegisName: "Minor_Brisket"
- Name: "Minor Stew"
+ Name: "Minor Brisket"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_MINOR_BBQ,300000,20; ">
+ Script: <" sc_start SC_MINOR_BBQ, 300000, 20; ">
},
{
Id: 12432
AegisName: "Siroma_Icetea"
- Name: "Siroma Iced Tea"
+ Name: "Siroma Icetea"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_SIROMA_ICE_TEA,300000,20; ">
+ Script: <" sc_start SC_SIROMA_ICE_TEA, 300000, 20; ">
},
{
Id: 12433
AegisName: "Drocera_Herb_Stew"
- Name: "Drosera Herb Salad"
+ Name: "Drosera Herb Stew"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_DROCERA_HERB_STEAMED,300000,20; ">
+ Script: <" sc_start SC_DROCERA_HERB_STEAMED, 300000, 20; ">
},
{
Id: 12434
AegisName: "Petti_Tail_Noodle"
Name: "Petite Tail Noodles"
Type: 2
+ Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_PUTTI_TAILS_NOODLES,300000,20; ">
+ Script: <" sc_start SC_PUTTI_TAILS_NOODLES, 300000, 20; ">
},
{
Id: 12435
AegisName: "Black_Thing"
- Name: "Black Mass"
+ Name: "Black Thing"
Type: 2
+ Buy: 1000
Weight: 50
- Script: <" sc_start2 SC_STOMACHACHE,60000,rand(5,10),75; ">
+ Script: <" sc_start2 SC_STOMACHACHE, 60000, rand(5,10), 75; ">
},
{
Id: 12436
AegisName: "Vitata500"
- Name: "Vitata 500"
- Type: 0
- Buy: 10
- Weight: 10
+ Name: "Vitata500"
+ Type: 2
+ Buy: 100
+ Weight: 50
BuyingStore: true
Script: <"
- sc_start2 SC_VITATA_500,500000,20,5;
- itemheal 0,200;
+ sc_start2 SC_VITATA_500,500000, 20, 5;
+ heal 0, 200;
">
},
{
Id: 12437
AegisName: "Enrich_Celermine_Juice"
- Name: "Concentrated Ceromain Soup"
+ Name: "Enrich Celermine Juice"
Type: 2
- Buy: 10
- Weight: 10
+ Buy: 100
+ Weight: 50
BuyingStore: true
- Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; ">
+ Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE, 500000, 10; ">
},
{
Id: 12438
@@ -73851,7 +73842,7 @@ item_db: (
{
Id: 13266
AegisName: "Black_Hard_Lump"
- Name: "Hard Black Lump"
+ Name: "Black Hard Lump"
Type: 10
Buy: 100
Weight: 50
@@ -73864,7 +73855,7 @@ item_db: (
{
Id: 13267
AegisName: "Very_Hard_Lump"
- Name: "Extremely Hard Black Lump"
+ Name: "Very Hard Lump"
Type: 10
Buy: 100
Weight: 50
@@ -73886,12 +73877,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MYSTERIOUS_POWDER,10000,2; ">
+ Script: <" sc_start SC_MYSTERIOUS_POWDER, 10000, 2; ">
},
{
Id: 13269
AegisName: "Boost500_To_Throw"
- Name: "Throwing Boost 500"
+ Name: "Throwing Boost500"
Type: 10
Buy: 100
Weight: 10
@@ -73900,12 +73891,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_BOOST500,500000,10; ">
+ Script: <" sc_start SC_BOOST500, 500000, 10; ">
},
{
Id: 13270
AegisName: "Full_SwingK_To_Throw"
- Name: "Throwing Full Swing K"
+ Name: "Full SwingK Throw"
Type: 10
Buy: 100
Weight: 50
@@ -73914,12 +73905,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_FULL_SWING_K,500000,50; ">
+ Script: <" sc_start SC_FULL_SWING_K, 500000, 50; ">
},
{
Id: 13271
AegisName: "Mana_Plus_To_Throw"
- Name: "Throwing Mana Plus"
+ Name: "Mana + Throw"
Type: 10
Buy: 100
Weight: 50
@@ -73928,12 +73919,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MANA_PLUS,500000,50; ">
+ Script: <" sc_start SC_MANA_PLUS, 500000, 50; ">
},
{
Id: 13272
AegisName: "Cure_Free_To_Throw"
- Name: "Throwing Cure Free"
+ Name: "Cure Free Throw"
Type: 10
Buy: 100
Weight: 50
@@ -73943,16 +73934,19 @@ item_db: (
EquipLv: 99
View: 9
Script: <"
+ sc_end SC_SILENCE;
sc_end SC_BLOODING;
+ sc_end SC_POISON;
sc_end SC_CURSE;
- sc_end SC_SILENCE;
- itemheal rand(1000,1200),0;
+ sc_end SC_ORCISH;
+ sc_end SC_PROPERTYUNDEAD;
+ heal 500, 0;
">
},
{
Id: 13273
AegisName: "Stamina_Up_M_To_Throw"
- Name: "Throwing Muramura M"
+ Name: "Throwing Muramura(M)"
Type: 10
Buy: 100
Weight: 10
@@ -73961,12 +73955,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MUSTLE_M,500000,5; ">
+ Script: <" sc_start SC_MUSTLE_M, 500000, 5; ">
},
{
Id: 13274
AegisName: "Digestive_F_To_Throw"
- Name: "Throwing Falmons F"
+ Name: "Throwing Falmons(F)"
Type: 10
Buy: 100
Weight: 10
@@ -73975,12 +73969,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_LIFE_FORCE_F,500000,5; ">
+ Script: <" sc_start SC_LIFE_FORCE_F, 500000, 5; ">
},
{
Id: 13275
AegisName: "HP_Inc_PotS_To_Throw"
- Name: "Throwing Increase HP Potion (Small)"
+ Name: "HP Increase Potion(Small) Throw"
Type: 10
Buy: 100
Weight: 20
@@ -73989,15 +73983,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,1;
- percentheal 1,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2, 1, 500, 2; ">
},
{
Id: 13276
AegisName: "HP_Inc_PotM_To_Throw"
- Name: "Throwing Increase HP Potion (Medium)"
+ Name: "HP Increase Potion(Mid) Throw"
Type: 10
Buy: 100
Weight: 40
@@ -74006,15 +73997,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,2;
- percentheal 2,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2, 2, 1500, 3; ">
},
{
Id: 13277
AegisName: "HP_Inc_PotL_To_Throw"
- Name: "Throwing Increase HP Potion (Large)"
+ Name: "HP Increase Potion(Large) Throw"
Type: 10
Buy: 100
Weight: 80
@@ -74023,15 +74011,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,5;
- percentheal 5,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2 3, 2500, 5; ">
},
{
Id: 13278
AegisName: "SP_Inc_PotS_To_Throw"
- Name: "Throwing Increase SP Potion (Small)"
+ Name: "SP Increase Potion(Small) Throw"
Type: 10
Buy: 100
Weight: 20
@@ -74040,15 +74025,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,2;
- percentheal 0,2;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 1, 0, 2; ">
},
{
Id: 13279
AegisName: "SP_Inc_PotM_To_Throw"
- Name: "Throwing Increase SP Potion (Medium)"
+ Name: "SP Increase Potion(Mid) Throw"
Type: 10
Buy: 100
Weight: 40
@@ -74057,15 +74039,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,4;
- percentheal 0,4;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 2, 0, 4; ">
},
{
Id: 13280
AegisName: "SP_Inc_PotL_To_Throw"
- Name: "Throwing Increase SP Potion (Large)"
+ Name: "SP Increase Potion(Large) Throw"
Type: 10
Buy: 100
Weight: 80
@@ -74074,15 +74053,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,8;
- percentheal 0,8;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 3, 0, 8; ">
},
{
Id: 13281
AegisName: "En_White_PotZ_To_Throw"
- Name: "Throwing Concentrated White Potion Z"
+ Name: "Enriched White PotionZ Throw"
Type: 10
Buy: 100
Weight: 70
@@ -74092,14 +74068,14 @@ item_db: (
EquipLv: 99
View: 9
Script: <"
- sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20;
- itemheal rand(1500,1600),0;
+ sc_start SC_EXTRACT_WHITE_POTION_Z, 500000, 20;
+ heal 1000, 0;
">
},
{
Id: 13282
AegisName: "Vitata500_To_Throw"
- Name: "Throwing Vitata 500"
+ Name: "Vitata50 Throw0"
Type: 10
Buy: 100
Weight: 50
@@ -74108,12 +74084,15 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_VITATA_500,500000,20; ">
+ Script: <"
+ sc_start2 SC_VITATA_500, 500000, 20, 5;
+ heal 0, 200;
+ ">
},
{
Id: 13283
AegisName: "En_Cel_Juice_To_Throw"
- Name: "Throwing Ceromain Soup"
+ Name: "Enrich Celermine Juice Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74122,15 +74101,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10;
- itemheal rand(1500,1600),0;
- ">
+ Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE, 500000, 10; ">
},
{
Id: 13284
AegisName: "Savage_BBQ_To_Throw"
- Name: "Throwing Savage Full Roast"
+ Name: "Savage BBQ Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74139,12 +74115,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_SAVAGE_STEAK,300000,20; ">
+ Script: <" sc_start SC_SAVAGE_STEAK, 300000, 20; ">
},
{
Id: 13285
AegisName: "Wug_Cocktail_To_Throw"
- Name: "Throwing Cocktail Warg Blood"
+ Name: "Warg Cocktail To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74153,12 +74129,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_COCKTAIL_WARG_BLOOD,300000,20; ">
+ Script: <" sc_start SC_COCKTAIL_WARG_BLOOD, 300000, 20; ">
},
{
Id: 13286
AegisName: "M_Brisket_To_Throw"
- Name: "Throwing Minor Stew"
+ Name: "M Brisket To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74167,12 +74143,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MINOR_BBQ,300000,20; ">
+ Script: <" sc_start SC_MINOR_BBQ, 300000, 20; ">
},
{
Id: 13287
AegisName: "Siroma_Icetea_To_Throw"
- Name: "Throwing Siroma Iced Tea"
+ Name: "Siroma Icetea To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74181,12 +74157,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_SIROMA_ICE_TEA,300000,20; ">
+ Script: <" sc_start SC_SIROMA_ICE_TEA, 300000, 20; ">
},
{
Id: 13288
AegisName: "Drocera_Stew_To_Throw"
- Name: "Throwing Drosera Herb Salad"
+ Name: "Drosera Stew To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74195,12 +74171,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_DROCERA_HERB_STEAMED,300000,20; ">
+ Script: <" sc_start SC_DROCERA_HERB_STEAMED, 300000, 20; ">
},
{
Id: 13289
AegisName: "Petti_Noodle_To_Throw"
- Name: "Throwing Petite Tail Soup"
+ Name: "Petite Noodle To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74209,12 +74185,12 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_PUTTI_TAILS_NOODLES,300000,20; ">
+ Script: <" sc_start SC_PUTTI_TAILS_NOODLES, 300000, 20; ">
},
{
Id: 13290
AegisName: "Black_Thing_To_Throw"
- Name: "Throwing Black Mass"
+ Name: "Black Thing To Throw"
Type: 10
Buy: 100
Weight: 50
@@ -74223,7 +74199,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start2 SC_STOMACHACHE,60000,rand(5,10),75; ">
+ Script: <" sc_start2 SC_STOMACHACHE, 60000, rand(5,10), 75; ">
},
//== Ninja Fuuma Shurikens =================================
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 00935594e..1f8e54a9c 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -82383,6 +82383,7 @@ item_db: (
Type: 2
Buy: 100
Weight: 50
+ Script: <" sc_start SC_BOOST500, 500000, 10; ">
},
{
Id: 12418
@@ -82392,6 +82393,7 @@ item_db: (
Buy: 100
Weight: 50
BuyingStore: true
+ Script: <" sc_start SC_FULL_SWING_K, 500000, 50; ">
},
{
Id: 12419
@@ -82401,6 +82403,7 @@ item_db: (
Buy: 100
Weight: 50
BuyingStore: true
+ Script: <" sc_start SC_MANA_PLUS, 500000, 50; ">
},
{
Id: 12420
@@ -82409,39 +82412,36 @@ item_db: (
Type: 2
Buy: 100
Weight: 50
+ Script: <" sc_start SC_MUSTLE_M, 500000, 5; ">
},
{
Id: 12421
AegisName: "Digestive_F"
Name: "Falmons(F)"
+ Type: 2
Buy: 100
Weight: 50
+ Script: <" sc_start SC_LIFE_FORCE_F, 500000, 5; ">
},
{
Id: 12422
AegisName: "HP_Increase_PotionS"
Name: "HP Increase Potion(Small)"
- Type: 0
+ Type: 2
Buy: 100
Weight: 20
BuyingStore: true
- Script: <"
- sc_start SC_INCMHP,500000,(500+(10/3)*BaseLevel);
- percentheal 2,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 1, 500, 2; ">
},
{
Id: 12423
AegisName: "HP_Increase_PotionM"
Name: "HP Increase Potion(Mid)"
- Type: 0
+ Type: 2
Buy: 100
Weight: 40
BuyingStore: true
- Script: <"
- sc_start SC_INCMHP,500000,(1500+(10/3)*BaseLevel);
- percentheal 3,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 2, 1500, 3; ">
},
{
Id: 12424
@@ -82451,61 +82451,49 @@ item_db: (
Buy: 100
Weight: 80
BuyingStore: true
- Script: <"
- sc_start SC_INCMHP,500000,(2500+(10/3)*BaseLevel);
- percentheal 5,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 1, 3, 2500, 5; ">
},
{
Id: 12425
AegisName: "SP_Increase_PotionS"
Name: "SP Increase Potion(Small)"
- Type: 0
+ Type: 2
Buy: 100
Weight: 20
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,((BaseLevel/10)-5);
- percentheal 0,2;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 1, 0, 2; ">
},
{
Id: 12426
AegisName: "SP_Increase_PotionM"
Name: "SP Increase Potion(Mid)"
- Type: 0
+ Type: 2
Buy: 100
Weight: 40
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,(BaseLevel/10);
- percentheal 0,4;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 2, 0, 4; ">
},
{
Id: 12427
AegisName: "SP_Increase_PotionL"
Name: "SP Increase Potion(Large)"
- Type: 0
+ Type: 2
Buy: 100
Weight: 80
BuyingStore: true
- Script: <"
- sc_start SC_INCMSPRATE,500000,((BaseLevel/10)+5);
- percentheal 0,8;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 1, 3, 0, 8; ">
},
{
Id: 12428
AegisName: "Enrich_White_PotionZ"
Name: "Enriched White PotionZ"
- Type: 0
+ Type: 2
Buy: 100
Weight: 70
BuyingStore: true
Script: <"
- sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20;
- heal 1000,0;
+ sc_start SC_EXTRACT_WHITE_POTION_Z, 500000, 20;
+ heal 1000, 0;
">
},
{
@@ -82516,7 +82504,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_SAVAGE_STEAK,300000,20; ">
+ Script: <" sc_start SC_SAVAGE_STEAK, 300000, 20; ">
},
{
Id: 12430
@@ -82526,7 +82514,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_COCKTAIL_WARG_BLOOD,300000,20; ">
+ Script: <" sc_start SC_COCKTAIL_WARG_BLOOD, 300000, 20; ">
},
{
Id: 12431
@@ -82536,7 +82524,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_MINOR_BBQ,300000,20; ">
+ Script: <" sc_start SC_MINOR_BBQ, 300000, 20; ">
},
{
Id: 12432
@@ -82546,7 +82534,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_SIROMA_ICE_TEA,300000,20; ">
+ Script: <" sc_start SC_SIROMA_ICE_TEA, 300000, 20; ">
},
{
Id: 12433
@@ -82556,7 +82544,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_DROCERA_HERB_STEAMED,300000,20; ">
+ Script: <" sc_start SC_DROCERA_HERB_STEAMED, 300000, 20; ">
},
{
Id: 12434
@@ -82566,7 +82554,7 @@ item_db: (
Buy: 1000
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_PUTTI_TAILS_NOODLES,300000,20; ">
+ Script: <" sc_start SC_PUTTI_TAILS_NOODLES, 300000, 20; ">
},
{
Id: 12435
@@ -82575,19 +82563,19 @@ item_db: (
Type: 2
Buy: 1000
Weight: 50
- Script: <" sc_start2 SC_STOMACHACHE,60000,rand(5,10),75; ">
+ Script: <" sc_start2 SC_STOMACHACHE, 60000, rand(5,10), 75; ">
},
{
Id: 12436
AegisName: "Vitata500"
Name: "Vitata500"
- Type: 0
+ Type: 2
Buy: 100
Weight: 50
BuyingStore: true
Script: <"
- sc_start2 SC_VITATA_500,500000,20,5;
- heal 0,200;
+ sc_start2 SC_VITATA_500, 500000, 20, 5;
+ heal 0, 200;
">
},
{
@@ -82598,7 +82586,7 @@ item_db: (
Buy: 100
Weight: 50
BuyingStore: true
- Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; ">
+ Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE, 500000, 10; ">
},
{
Id: 12438
@@ -92956,7 +92944,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MYSTERIOUS_POWDER,10000,2; ">
+ Script: <" sc_start SC_MYSTERIOUS_POWDER, 10000, 2; ">
},
{
Id: 13269
@@ -92969,7 +92957,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_BOOST500,500000,10; ">
+ Script: <" sc_start SC_BOOST500, 500000, 10; ">
},
{
Id: 13270
@@ -92982,7 +92970,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_FULL_SWING_K,500000,50; ">
+ Script: <" sc_start SC_FULL_SWING_K, 500000, 50; ">
},
{
Id: 13271
@@ -92995,7 +92983,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MANA_PLUS,500000,50; ">
+ Script: <" sc_start SC_MANA_PLUS, 500000, 50; ">
},
{
Id: 13272
@@ -93015,7 +93003,7 @@ item_db: (
sc_end SC_CURSE;
sc_end SC_ORCISH;
sc_end SC_PROPERTYUNDEAD;
- heal 500,0;
+ heal 500, 0;
">
},
{
@@ -93029,7 +93017,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MUSTLE_M,500000,5; ">
+ Script: <" sc_start SC_MUSTLE_M, 500000, 5; ">
},
{
Id: 13274
@@ -93042,7 +93030,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_LIFE_FORCE_F,500000,5; ">
+ Script: <" sc_start SC_LIFE_FORCE_F, 500000, 5; ">
},
{
Id: 13275
@@ -93055,11 +93043,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,1;
- sc_start SC_INCMHP,500000,(500+(10/3)*BaseLevel);
- percentheal 2,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2, 1, 500, 2; ">
},
{
Id: 13276
@@ -93072,11 +93056,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,2;
- sc_start SC_INCMHP,500000,(1500+(10/3)*BaseLevel);
- percentheal 3,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2, 2, 1500, 3; ">
},
{
Id: 13277
@@ -93089,11 +93069,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMHPRATE,500000,5;
- sc_start SC_INCMHP,500000,(2500+(10/3)*BaseLevel);
- percentheal 5,0;
- ">
+ Script: <" sc_start4 SC_PROMOTE_HEALTH_RESERCH, 500000, 2, 3, 2500, 5; ">
},
{
Id: 13278
@@ -93106,10 +93082,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,2;
- percentheal 0,2;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 1, 0, 2; ">
},
{
Id: 13279
@@ -93122,10 +93095,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,4;
- percentheal 0,4;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 2, 0, 4; ">
},
{
Id: 13280
@@ -93138,10 +93108,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <"
- sc_start SC_INCMSPRATE,500000,8;
- percentheal 0,8;
- ">
+ Script: <" sc_start4 SC_ENERGY_DRINK_RESERCH, 500000, 2, 3, 0, 8; ">
},
{
Id: 13281
@@ -93155,8 +93122,8 @@ item_db: (
EquipLv: 99
View: 9
Script: <"
- sc_start SC_EXTRACT_WHITE_POTION_Z,500000,0;
- heal 1000,0;
+ sc_start SC_EXTRACT_WHITE_POTION_Z, 500000, 20;
+ heal 1000, 0;
">
},
{
@@ -93171,8 +93138,8 @@ item_db: (
EquipLv: 99
View: 9
Script: <"
- sc_start SC_VITATA_500,500000,0;
- heal 0,200;
+ sc_start2 SC_VITATA_500, 500000, 20, 5;
+ heal 0, 200;
">
},
{
@@ -93186,7 +93153,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; ">
+ Script: <" sc_start SC_EXTRACT_SALAMINE_JUICE, 500000, 10; ">
},
{
Id: 13284
@@ -93199,7 +93166,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_SAVAGE_STEAK,300000,20; ">
+ Script: <" sc_start SC_SAVAGE_STEAK, 300000, 20; ">
},
{
Id: 13285
@@ -93212,7 +93179,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_COCKTAIL_WARG_BLOOD,300000,20; ">
+ Script: <" sc_start SC_COCKTAIL_WARG_BLOOD, 300000, 20; ">
},
{
Id: 13286
@@ -93225,7 +93192,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_MINOR_BBQ,300000,20; ">
+ Script: <" sc_start SC_MINOR_BBQ, 300000, 20; ">
},
{
Id: 13287
@@ -93238,7 +93205,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_SIROMA_ICE_TEA,300000,20; ">
+ Script: <" sc_start SC_SIROMA_ICE_TEA, 300000, 20; ">
},
{
Id: 13288
@@ -93251,7 +93218,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_DROCERA_HERB_STEAMED,300000,20; ">
+ Script: <" sc_start SC_DROCERA_HERB_STEAMED, 300000, 20; ">
},
{
Id: 13289
@@ -93264,7 +93231,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start SC_PUTTI_TAILS_NOODLES,300000,20; ">
+ Script: <" sc_start SC_PUTTI_TAILS_NOODLES, 300000, 20; ">
},
{
Id: 13290
@@ -93277,7 +93244,7 @@ item_db: (
Loc: 32768
EquipLv: 99
View: 9
- Script: <" sc_start2 SC_STOMACHACHE,60000,rand(5,10),75; ">
+ Script: <" sc_start2 SC_STOMACHACHE, 60000, rand(5,10), 75; ">
},
//== More Shurikens & Kunais ===============================
diff --git a/db/sc_config.txt b/db/sc_config.txt
index 395500e3a..a521dd8ed 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -190,6 +190,19 @@ SC_MINOR_BBQ, 76
SC_SIROMA_ICE_TEA, 76
SC_DROCERA_HERB_STEAMED, 76
SC_PUTTI_TAILS_NOODLES, 76
+SC_MELON_BOMB, 12
+SC_BANANA_BOMB_SITDOWN_POSTDELAY, 12
+SC_BANANA_BOMB, 12
+SC_PROMOTE_HEALTH_RESERCH, 12
+SC_ENERGY_DRINK_RESERCH, 12
+SC_EXTRACT_WHITE_POTION_Z, 12
+SC_VITATA_500, 12
+SC_EXTRACT_SALAMINE_JUICE, 12
+SC_BOOST500, 12
+SC_FULL_SWING_K, 12
+SC_MANA_PLUS, 12
+SC_MUSTLE_M, 12
+SC_LIFE_FORCE_F, 12
SC_MER_FLEE, 28
SC_MER_ATK, 28
SC_MER_HP, 28
diff --git a/src/map/clif.c b/src/map/clif.c
index 63a36fa62..0cf31fccb 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -9969,6 +9969,9 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
break;
}
+ if (sd->sc.data[SC_SITDOWN_FORCE] || sd->sc.data[SC_BANANA_BOMB_SITDOWN_POSTDELAY])
+ return;
+
if(pc_issit(sd)) {
//Bugged client? Just refresh them.
clif->sitting(&sd->bl);
@@ -9992,6 +9995,10 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
clif->sitting(&sd->bl);
break;
case 0x03: // standup
+
+ if (sd->sc.data[SC_SITDOWN_FORCE] || sd->sc.data[SC_BANANA_BOMB_SITDOWN_POSTDELAY])
+ return;
+
if (!pc_issit(sd)) {
//Bugged client? Just refresh them.
clif->standing(&sd->bl);
diff --git a/src/map/status.c b/src/map/status.c
index 33e664f3f..d721e7eb1 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -899,11 +899,13 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_SPELLBOOK6] = SI_SPELLBOOK6;
status->dbs->IconChangeTable[SC_SPELLBOOK7] = SI_SPELLBOOK7;
+ // Mechanic status icon
status->dbs->IconChangeTable[SC_NEUTRALBARRIER_MASTER] = SI_NEUTRALBARRIER_MASTER;
status->dbs->IconChangeTable[SC_STEALTHFIELD_MASTER] = SI_STEALTHFIELD_MASTER;
status->dbs->IconChangeTable[SC_OVERHEAT] = SI_OVERHEAT;
status->dbs->IconChangeTable[SC_OVERHEAT_LIMITPOINT] = SI_OVERHEAT_LIMITPOINT;
+ // Guillotine Cross status icons
status->dbs->IconChangeTable[SC_HALLUCINATIONWALK_POSTDELAY] = SI_HALLUCINATIONWALK_POSTDELAY;
status->dbs->IconChangeTable[SC_TOXIN] = SI_TOXIN;
status->dbs->IconChangeTable[SC_PARALYSE] = SI_PARALYSE;
@@ -914,27 +916,22 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_OBLIVIONCURSE] = SI_OBLIVIONCURSE;
status->dbs->IconChangeTable[SC_LEECHESEND] = SI_LEECHESEND;
+ // Royal Guard status icons
status->dbs->IconChangeTable[SC_SHIELDSPELL_DEF] = SI_SHIELDSPELL_DEF;
status->dbs->IconChangeTable[SC_SHIELDSPELL_MDEF] = SI_SHIELDSPELL_MDEF;
status->dbs->IconChangeTable[SC_SHIELDSPELL_REF] = SI_SHIELDSPELL_REF;
status->dbs->IconChangeTable[SC_BANDING_DEFENCE] = SI_BANDING_DEFENCE;
+ // Sura status icon
status->dbs->IconChangeTable[SC_CURSEDCIRCLE_ATKER] = SI_CURSEDCIRCLE_ATKER;
- status->dbs->IconChangeTable[SC_STOMACHACHE] = SI_STOMACHACHE;
- status->dbs->IconChangeTable[SC_MYSTERIOUS_POWDER] = SI_MYSTERIOUS_POWDER;
- status->dbs->IconChangeTable[SC_MELON_BOMB] = SI_MELON_BOMB;
- status->dbs->IconChangeTable[SC_BANANA_BOMB] = SI_BANANA_BOMB;
- status->dbs->IconChangeTable[SC_BANANA_BOMB_SITDOWN_POSTDELAY] = SI_BANANA_BOMB_SITDOWN_POSTDELAY;
-
- // Genetics New Food Items Status Icons
+ // Genetics Food items / Throwable items status icons
status->dbs->IconChangeTable[SC_SAVAGE_STEAK] = SI_SAVAGE_STEAK;
status->dbs->IconChangeTable[SC_COCKTAIL_WARG_BLOOD] = SI_COCKTAIL_WARG_BLOOD;
status->dbs->IconChangeTable[SC_MINOR_BBQ] = SI_MINOR_BBQ;
status->dbs->IconChangeTable[SC_SIROMA_ICE_TEA] = SI_SIROMA_ICE_TEA;
status->dbs->IconChangeTable[SC_DROCERA_HERB_STEAMED] = SI_DROCERA_HERB_STEAMED;
status->dbs->IconChangeTable[SC_PUTTI_TAILS_NOODLES] = SI_PUTTI_TAILS_NOODLES;
-
status->dbs->IconChangeTable[SC_BOOST500] |= SI_BOOST500;
status->dbs->IconChangeTable[SC_FULL_SWING_K] |= SI_FULL_SWING_K;
status->dbs->IconChangeTable[SC_MANA_PLUS] |= SI_MANA_PLUS;
@@ -943,6 +940,13 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_EXTRACT_WHITE_POTION_Z] |= SI_EXTRACT_WHITE_POTION_Z;
status->dbs->IconChangeTable[SC_VITATA_500] |= SI_VITATA_500;
status->dbs->IconChangeTable[SC_EXTRACT_SALAMINE_JUICE] |= SI_EXTRACT_SALAMINE_JUICE;
+ status->dbs->IconChangeTable[SC_STOMACHACHE] = SI_STOMACHACHE;
+ status->dbs->IconChangeTable[SC_MYSTERIOUS_POWDER] = SI_MYSTERIOUS_POWDER;
+ status->dbs->IconChangeTable[SC_MELON_BOMB] = SI_MELON_BOMB;
+ status->dbs->IconChangeTable[SC_BANANA_BOMB] = SI_BANANA_BOMB;
+ status->dbs->IconChangeTable[SC_BANANA_BOMB_SITDOWN_POSTDELAY] = SI_BANANA_BOMB_SITDOWN_POSTDELAY;
+ status->dbs->IconChangeTable[SC_PROMOTE_HEALTH_RESERCH] = SI_PROMOTE_HEALTH_RESERCH;
+ status->dbs->IconChangeTable[SC_ENERGY_DRINK_RESERCH] = SI_ENERGY_DRINK_RESERCH;
// Elemental Spirit's 'side' status change icons.
status->dbs->IconChangeTable[SC_CIRCLE_OF_FIRE] = SI_CIRCLE_OF_FIRE;
@@ -1009,16 +1013,13 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_INCHITRATE] |= SCB_HIT;
status->dbs->ChangeFlagTable[SC_INCFLEE] |= SCB_FLEE;
status->dbs->ChangeFlagTable[SC_INCFLEERATE] |= SCB_FLEE;
- status->dbs->ChangeFlagTable[SC_MTF_HITFLEE] |= SCB_HIT | SCB_FLEE;
status->dbs->ChangeFlagTable[SC_CRITICALPERCENT] |= SCB_CRI;
status->dbs->ChangeFlagTable[SC_INCASPDRATE] |= SCB_ASPD;
status->dbs->ChangeFlagTable[SC_PLUSAVOIDVALUE] |= SCB_FLEE2;
status->dbs->ChangeFlagTable[SC_INCMHPRATE] |= SCB_MAXHP;
status->dbs->ChangeFlagTable[SC_INCMSPRATE] |= SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_INCMHP] |= SCB_MAXHP;
- status->dbs->ChangeFlagTable[SC_MTF_MHP] |= SCB_MAXHP;
status->dbs->ChangeFlagTable[SC_INCMSP] |= SCB_MAXSP;
- status->dbs->ChangeFlagTable[SC_MTF_MSP] |= SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_INCATKRATE] |= SCB_BATK | SCB_WATK;
status->dbs->ChangeFlagTable[SC_INCMATKRATE] |= SCB_MATK;
status->dbs->ChangeFlagTable[SC_INCDEFRATE] |= SCB_DEF;
@@ -1033,6 +1034,8 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_BATKFOOD] |= SCB_BATK;
status->dbs->ChangeFlagTable[SC_WATKFOOD] |= SCB_WATK;
status->dbs->ChangeFlagTable[SC_MATKFOOD] |= SCB_MATK;
+ status->dbs->ChangeFlagTable[SC_ALL_RIDING] |= SCB_SPEED;
+ status->dbs->ChangeFlagTable[SC_WEDDING] |= SCB_SPEED;
status->dbs->ChangeFlagTable[SC_ARMORPROPERTY] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_ARMOR_RESIST] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_ATKER_BLOOD] |= SCB_ALL;
@@ -1041,6 +1044,7 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_TARGET_ASPD] |= SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_ATKER_ASPD] |= SCB_MAXHP | SCB_ALL;
status->dbs->ChangeFlagTable[SC_ATKER_MOVESPEED] |= SCB_MAXSP | SCB_ALL;
+ status->dbs->ChangeFlagTable[SC_ACARAJE] |= SCB_HIT | SCB_ASPD;
status->dbs->ChangeFlagTable[SC_FOOD_CRITICALSUCCESSVALUE] |= SCB_CRI;
status->dbs->ChangeFlagTable[SC_CUP_OF_BOZA] |= SCB_VIT | SCB_ALL;
status->dbs->ChangeFlagTable[SC_GM_BATTLE] |= SCB_BATK | SCB_MATK | SCB_MAXHP | SCB_MAXSP;
@@ -1075,13 +1079,19 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_PYREXIA] |= SCB_HIT | SCB_FLEE;
status->dbs->ChangeFlagTable[SC_OBLIVIONCURSE] |= SCB_REGEN;
- // RG status
+ // Royal Guard status
status->dbs->ChangeFlagTable[SC_SHIELDSPELL_DEF] |= SCB_WATK;
status->dbs->ChangeFlagTable[SC_SHIELDSPELL_REF] |= SCB_DEF;
- // Meca status
+ // Mechanic status
status->dbs->ChangeFlagTable[SC_STEALTHFIELD_MASTER] |= SCB_SPEED;
+ // Other skills status
+ status->dbs->ChangeFlagTable[SC_REBOUND] |= SCB_SPEED | SCB_REGEN;
+ status->dbs->ChangeFlagTable[SC_DEFSET] |= SCB_DEF | SCB_DEF2;
+ status->dbs->ChangeFlagTable[SC_MDEFSET] |= SCB_MDEF | SCB_MDEF2;
+
+ // Geneticist Foods / Throwable items
status->dbs->ChangeFlagTable[SC_SAVAGE_STEAK] |= SCB_STR;
status->dbs->ChangeFlagTable[SC_COCKTAIL_WARG_BLOOD] |= SCB_INT;
status->dbs->ChangeFlagTable[SC_MINOR_BBQ] |= SCB_VIT;
@@ -1096,12 +1106,10 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_EXTRACT_WHITE_POTION_Z] |= SCB_REGEN;
status->dbs->ChangeFlagTable[SC_VITATA_500] |= SCB_REGEN | SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_EXTRACT_SALAMINE_JUICE] |= SCB_ASPD;
- status->dbs->ChangeFlagTable[SC_REBOUND] |= SCB_SPEED | SCB_REGEN;
- status->dbs->ChangeFlagTable[SC_DEFSET] |= SCB_DEF | SCB_DEF2;
- status->dbs->ChangeFlagTable[SC_MDEFSET] |= SCB_MDEF | SCB_MDEF2;
status->dbs->ChangeFlagTable[SC_MYSTERIOUS_POWDER] |= SCB_MAXHP;
- status->dbs->ChangeFlagTable[SC_ACARAJE] |= SCB_HIT | SCB_ASPD;
status->dbs->ChangeFlagTable[SC_STOMACHACHE] |= SCB_STR | SCB_AGI | SCB_VIT | SCB_INT | SCB_DEX | SCB_LUK | SCB_SPEED;
+ status->dbs->ChangeFlagTable[SC_PROMOTE_HEALTH_RESERCH] |= SCB_MAXHP | SCB_ALL;
+ status->dbs->ChangeFlagTable[SC_ENERGY_DRINK_RESERCH] |= SCB_MAXSP | SCB_ALL;
// Geffen Scrolls
status->dbs->ChangeFlagTable[SC_SKELSCROLL] |= SCB_ALL;
@@ -1114,12 +1122,13 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_FREYJASCROLL] |= SCB_MDEF | SCB_FLEE2;
status->dbs->ChangeFlagTable[SC_SOULSCROLL] |= SCB_MAXHP | SCB_MAXSP;
- status->dbs->ChangeFlagTable[SC_ALL_RIDING] |= SCB_SPEED;
- status->dbs->ChangeFlagTable[SC_WEDDING] |= SCB_SPEED;
-
+ // Monster Transform
status->dbs->ChangeFlagTable[SC_MTF_ASPD] |= SCB_ASPD | SCB_HIT;
status->dbs->ChangeFlagTable[SC_MTF_MATK] |= SCB_MATK;
status->dbs->ChangeFlagTable[SC_MTF_MLEATKED] |= SCB_ALL;
+ status->dbs->ChangeFlagTable[SC_MTF_HITFLEE] |= SCB_HIT | SCB_FLEE;
+ status->dbs->ChangeFlagTable[SC_MTF_MHP] |= SCB_MAXHP;
+ status->dbs->ChangeFlagTable[SC_MTF_MSP] |= SCB_MAXSP;
// Eden Crystal Synthesis
status->dbs->ChangeFlagTable[SC_QUEST_BUFF1] |= SCB_BATK | SCB_MATK;
@@ -5937,66 +5946,68 @@ unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *
unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc, uint64 maxhp)
{
- if(!sc || !sc->count)
- return (unsigned int)cap_value(maxhp,1,UINT_MAX);
+ if (!sc || !sc->count)
+ return (unsigned int)cap_value(maxhp, 1, UINT_MAX);
- if(sc->data[SC_INCMHPRATE])
- maxhp += maxhp * sc->data[SC_INCMHPRATE]->val1/100;
- if(sc->data[SC_INCMHP])
+ if (sc->data[SC_INCMHPRATE])
+ maxhp += maxhp * sc->data[SC_INCMHPRATE]->val1 / 100;
+ if (sc->data[SC_INCMHP])
maxhp += (sc->data[SC_INCMHP]->val1);
- if(sc->data[SC_MTF_MHP])
+ if (sc->data[SC_MTF_MHP])
maxhp += (sc->data[SC_MTF_MHP]->val1);
- if(sc->data[SC_APPLEIDUN])
- maxhp += maxhp * sc->data[SC_APPLEIDUN]->val2/100;
- if(sc->data[SC_DELUGE])
- maxhp += maxhp * sc->data[SC_DELUGE]->val2/100;
- if(sc->data[SC_BERSERK])
+ if (sc->data[SC_APPLEIDUN])
+ maxhp += maxhp * sc->data[SC_APPLEIDUN]->val2 / 100;
+ if (sc->data[SC_DELUGE])
+ maxhp += maxhp * sc->data[SC_DELUGE]->val2 / 100;
+ if (sc->data[SC_BERSERK])
maxhp += maxhp * 2;
- if(sc->data[SC_MARIONETTE_MASTER])
+ if (sc->data[SC_MARIONETTE_MASTER])
maxhp -= 1000;
- if(sc->data[SC_SOLID_SKIN_OPTION])
+ if (sc->data[SC_SOLID_SKIN_OPTION])
maxhp += 2000;// Fix amount.
- if(sc->data[SC_POWER_OF_GAIA])
+ if (sc->data[SC_POWER_OF_GAIA])
maxhp += 3000;
- if(sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 2)
+ if (sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 2)
maxhp += 500;
- if(sc->data[SC_MER_HP])
- maxhp += maxhp * sc->data[SC_MER_HP]->val2/100;
- if(sc->data[SC_EPICLESIS])
+ if (sc->data[SC_MER_HP])
+ maxhp += maxhp * sc->data[SC_MER_HP]->val2 / 100;
+ if (sc->data[SC_EPICLESIS])
maxhp += maxhp * 5 * sc->data[SC_EPICLESIS]->val1 / 100;
- if(sc->data[SC_VENOMBLEED])
+ if (sc->data[SC_VENOMBLEED])
maxhp -= maxhp * 15 / 100;
- if(sc->data[SC__WEAKNESS])
+ if (sc->data[SC__WEAKNESS])
maxhp -= maxhp * sc->data[SC__WEAKNESS]->val2 / 100;
- if(sc->data[SC_LERADS_DEW])
+ if (sc->data[SC_LERADS_DEW])
maxhp += sc->data[SC_LERADS_DEW]->val3;
- if(sc->data[SC_BEYOND_OF_WARCRY])
+ if (sc->data[SC_BEYOND_OF_WARCRY])
maxhp -= maxhp * sc->data[SC_BEYOND_OF_WARCRY]->val4 / 100;
- if(sc->data[SC_FORCEOFVANGUARD])
+ if (sc->data[SC_FORCEOFVANGUARD])
maxhp += maxhp * 3 * sc->data[SC_FORCEOFVANGUARD]->val1 / 100;
- if(sc->data[SC_INSPIRATION])
+ if (sc->data[SC_INSPIRATION])
maxhp += maxhp * 5 * sc->data[SC_INSPIRATION]->val1 / 100 + 600 * sc->data[SC_INSPIRATION]->val1;
- if(sc->data[SC_RAISINGDRAGON])
+ if (sc->data[SC_RAISINGDRAGON])
maxhp += maxhp * (2 + sc->data[SC_RAISINGDRAGON]->val1) / 100;
- if(sc->data[SC_GENTLETOUCH_CHANGE]) // Max HP decrease: [Skill Level x 4] %
+ if (sc->data[SC_GENTLETOUCH_CHANGE]) // Max HP decrease: [Skill Level x 4] %
maxhp -= maxhp * (4 * sc->data[SC_GENTLETOUCH_CHANGE]->val1) / 100;
- if(sc->data[SC_GENTLETOUCH_REVITALIZE])// Max HP increase: [Skill Level x 2] %
+ if (sc->data[SC_GENTLETOUCH_REVITALIZE])// Max HP increase: [Skill Level x 2] %
maxhp += maxhp * (2 * sc->data[SC_GENTLETOUCH_REVITALIZE]->val1) / 100;
- if(sc->data[SC_MUSTLE_M])
- maxhp += maxhp * sc->data[SC_MUSTLE_M]->val1/100;
- if(sc->data[SC_MYSTERIOUS_POWDER])
- maxhp -= sc->data[SC_MYSTERIOUS_POWDER]->val1 / 100;
- if(sc->data[SC_PETROLOGY_OPTION])
+ if (sc->data[SC_MUSTLE_M])
+ maxhp += maxhp * sc->data[SC_MUSTLE_M]->val1 / 100;
+ if (sc->data[SC_PROMOTE_HEALTH_RESERCH])
+ maxhp += sc->data[SC_PROMOTE_HEALTH_RESERCH]->val3;
+ if (sc->data[SC_MYSTERIOUS_POWDER])
+ maxhp -= maxhp * sc->data[SC_MYSTERIOUS_POWDER]->val1 / 100;
+ if (sc->data[SC_PETROLOGY_OPTION])
maxhp += maxhp * sc->data[SC_PETROLOGY_OPTION]->val2 / 100;
- if(sc->data[SC_CURSED_SOIL_OPTION])
+ if (sc->data[SC_CURSED_SOIL_OPTION])
maxhp += maxhp * sc->data[SC_CURSED_SOIL_OPTION]->val2 / 100;
- if(sc->data[SC_UPHEAVAL_OPTION])
+ if (sc->data[SC_UPHEAVAL_OPTION])
maxhp += maxhp * sc->data[SC_UPHEAVAL_OPTION]->val3 / 100;
if (sc->data[SC_ANGRIFFS_MODUS])
maxhp += maxhp * 5 * sc->data[SC_ANGRIFFS_MODUS]->val1 /100;
if (sc->data[SC_GOLDENE_FERSE])
maxhp += maxhp * sc->data[SC_GOLDENE_FERSE]->val2 / 100;
- if(sc->data[SC_FRIGG_SONG])
+ if (sc->data[SC_FRIGG_SONG])
maxhp += maxhp * sc->data[SC_FRIGG_SONG]->val2 / 100;
if (sc->data[SC_SOULSCROLL])
maxhp += maxhp * sc->data[SC_SOULSCROLL]->val1 / 100;
@@ -6009,32 +6020,34 @@ unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc,
if (sc->data[SC_GM_BATTLE2])
maxhp -= maxhp * sc->data[SC_GM_BATTLE2]->val1 / 100;
- return (unsigned int)cap_value(maxhp,1,UINT_MAX);
+ return (unsigned int)cap_value(maxhp, 1, UINT_MAX);
}
unsigned int status_calc_maxsp(struct block_list *bl, struct status_change *sc, unsigned int maxsp)
{
- if(!sc || !sc->count)
- return cap_value(maxsp,1,UINT_MAX);
+ if (!sc || !sc->count)
+ return cap_value(maxsp, 1, UINT_MAX);
- if(sc->data[SC_INCMSPRATE])
- maxsp += maxsp * sc->data[SC_INCMSPRATE]->val1/100;
- if(sc->data[SC_INCMSP])
+ if (sc->data[SC_INCMSPRATE])
+ maxsp += maxsp * sc->data[SC_INCMSPRATE]->val1 / 100;
+ if (sc->data[SC_INCMSP])
maxsp += (sc->data[SC_INCMSP]->val1);
- if(sc->data[SC_MTF_MSP])
+ if (sc->data[SC_MTF_MSP])
maxsp += (sc->data[SC_MTF_MSP]->val1);
- if(sc->data[SC_SERVICEFORYOU])
- maxsp += maxsp * sc->data[SC_SERVICEFORYOU]->val2/100;
- if(sc->data[SC_MER_SP])
- maxsp += maxsp * sc->data[SC_MER_SP]->val2/100;
- if(sc->data[SC_RAISINGDRAGON])
+ if (sc->data[SC_SERVICEFORYOU])
+ maxsp += maxsp * sc->data[SC_SERVICEFORYOU]->val2 / 100;
+ if (sc->data[SC_MER_SP])
+ maxsp += maxsp * sc->data[SC_MER_SP]->val2 / 100;
+ if (sc->data[SC_RAISINGDRAGON])
maxsp += maxsp * (2 + sc->data[SC_RAISINGDRAGON]->val1) / 100;
- if(sc->data[SC_LIFE_FORCE_F])
- maxsp += maxsp * sc->data[SC_LIFE_FORCE_F]->val1/100;
- if(sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 3)
+ if (sc->data[SC_LIFE_FORCE_F])
+ maxsp += maxsp * sc->data[SC_LIFE_FORCE_F]->val1 / 100;
+ if (sc->data[SC_EARTH_INSIGNIA] && sc->data[SC_EARTH_INSIGNIA]->val1 == 3)
maxsp += 50;
if (sc->data[SC_VITATA_500])
maxsp += maxsp * sc->data[SC_VITATA_500]->val2 / 100;
+ if (sc->data[SC_ENERGY_DRINK_RESERCH])
+ maxsp += maxsp * sc->data[SC_ENERGY_DRINK_RESERCH]->val3 / 100;
if (sc->data[SC_TARGET_ASPD])
maxsp += maxsp * sc->data[SC_TARGET_ASPD]->val1 / 100;
if (sc->data[SC_SOULSCROLL])
@@ -6046,7 +6059,7 @@ unsigned int status_calc_maxsp(struct block_list *bl, struct status_change *sc,
if (sc->data[SC_GM_BATTLE2])
maxsp -= maxsp * sc->data[SC_GM_BATTLE2]->val1 / 100;
- return cap_value(maxsp,1,UINT_MAX);
+ return cap_value(maxsp, 1, UINT_MAX);
}
unsigned char status_calc_element(struct block_list *bl, struct status_change *sc, int element)
@@ -9243,6 +9256,30 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
tick_time = 10000;
sc_start(src, bl, SC_ENDURE, 100, 10, tick); // Endure effect
break;
+ case SC_PROMOTE_HEALTH_RESERCH:
+ // Val1: 1 = Regular Potion, 2 = Thrown Potion
+ // Val2: 1 = Small Potion, 2 = Medium Potion, 3 = Large Potion
+ // Val3: MaxHP Increase By Fixed Amount
+ // Val4: MaxHP Heal Percentage
+ if (val1 == 1) // If potion was normally used, take the user's BaseLv.
+ val3 = 1000 * val2 - 500 + status->get_lv(bl) * 10 / 3;
+ else if (val1 == 2) // If potion was thrown at someone, take the thrower's BaseLv.
+ val3 = 1000 * val2 - 500 + status->get_lv(src) * 10 / 3;
+ if (val3 <= 0) // Prevents a negeative value from happening.
+ val3 = 0;
+ break;
+ case SC_ENERGY_DRINK_RESERCH:
+ // Val1: 1 = Regular Potion, 2 = Thrown Potion
+ // Val2: 1 = Small Potion, 2 = Medium Potion, 3 = Large Potion
+ // Val3: MaxSP Increase By Fixed Amount
+ // Val4: MaxSP Heal Percentage
+ if (val1 == 1) // If potion was normally used, take the user's BaseLv.
+ val3 = status->get_lv(bl) / 10 + 5 * val2 - 10;
+ else if (val1 == 2) // If potion was thrown at someone, take the thrower's BaseLv.
+ val3 = status->get_lv(src) / 10 + 5 * val2 - 10;
+ if (val3 <= 0) // Prevents a negeative value from happening.
+ val3 = 0;
+ break;
case SC_KYOUGAKU: {
int min = val1*2;
int max = val1*3;
@@ -9867,6 +9904,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_MER_SP:
status_percent_heal(bl, 0, 100); // Recover Full SP
break;
+ case SC_PROMOTE_HEALTH_RESERCH:
+ status_percent_heal(bl, sce->val4, 0);
+ break;
+ case SC_ENERGY_DRINK_RESERCH:
+ status_percent_heal(bl, 0, sce->val4);
+ break;
/**
* Ranger
**/
diff --git a/src/map/status.h b/src/map/status.h
index bc93abc1e..e1585aabd 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -819,6 +819,8 @@ typedef enum sc_type {
SC_MOVESLOW_POTION,
SC_BUCHEDENOEL,
SC_PHI_DEMON,
+ SC_PROMOTE_HEALTH_RESERCH,
+ SC_ENERGY_DRINK_RESERCH,
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;