diff options
author | Jedzkie <jedzkie13@rocketmail.com> | 2015-12-23 11:30:24 +0800 |
---|---|---|
committer | Jedzkie <jedzkie13@rocketmail.com> | 2015-12-23 11:30:24 +0800 |
commit | 9dc44927ccf5ae88a40e92be5c7c2146cdb5eb06 (patch) | |
tree | de9c192a80e429288bea39bc1edcd047982c1b0d | |
parent | f7f6f3da94a9dffc7e7b9ecd2c82914945b48269 (diff) | |
download | hercules-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.txt | 2 | ||||
-rw-r--r-- | db/pre-re/item_db.conf | 300 | ||||
-rw-r--r-- | db/re/item_db.conf | 145 | ||||
-rw-r--r-- | db/sc_config.txt | 13 | ||||
-rw-r--r-- | src/map/clif.c | 7 | ||||
-rw-r--r-- | src/map/status.c | 185 | ||||
-rw-r--r-- | src/map/status.h | 2 |
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; |