summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt2
-rw-r--r--db/pre-re/item_db.conf44
-rw-r--r--db/re/item_db.conf109
-rw-r--r--db/sc_config.txt3
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/status.c20
-rw-r--r--src/map/status.h2
7 files changed, 128 insertions, 54 deletions
diff --git a/db/const.txt b/db/const.txt
index a77a612bf..98883e9cc 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -1346,6 +1346,8 @@ SC_PHI_DEMON 635
SC_PROMOTE_HEALTH_RESERCH 636
SC_ENERGY_DRINK_RESERCH 637
SC_MAGIC_CANDY 638
+SC_M_LIFEPOTION 639
+SC_G_LIFEPOTION 640
e_gasp 0
e_what 1
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index d5ccd7e97..8d4c99379 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -87070,13 +87070,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_HEAL3;
- sc_start4 SC_S_LIFEPOTION,600000,-5,5,0,0;
+ sc_start2 SC_S_LIFEPOTION, 600000, -5, 5;
">
},
{
@@ -87091,13 +87091,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_HEAL3;
- sc_start4 SC_L_LIFEPOTION,600000,-7,4,0,0;
+ sc_start2 SC_L_LIFEPOTION, 600000, -7, 4;
">
},
{
@@ -87112,13 +87112,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_MAGICALATTHIT;
- sc_start SC_CRITICALPERCENT,300000,30;
+ sc_start SC_CRITICALPERCENT, 300000, 30;
">
},
{
@@ -87133,13 +87133,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_LIGHTSPHERE;
- sc_start SC_HEALPLUS,1800000,20;
+ sc_start SC_HEALPLUS, 1800000, 20;
">
},
{
@@ -87155,13 +87155,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_STEAL;
- sc_start SC_PLUSAVOIDVALUE,60000,20;
+ sc_start SC_PLUSAVOIDVALUE, 60000, 20;
">
},
{
@@ -87176,13 +87176,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_CLOAKING;
- sc_start4 SC_ARMOR_PROPERTY,1800000,1,Ele_Dark,1,0;
+ sc_start4 SC_ARMOR_PROPERTY, 1800000, 1, Ele_Dark, 1, 0;
">
},
{
@@ -87197,13 +87197,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_BENEDICTIO;
- sc_start4 SC_ARMOR_PROPERTY,1800000,1,Ele_Holy,1,0;
+ sc_start4 SC_ARMOR_PROPERTY, 1800000, 1, Ele_Holy, 1, 0;
">
},
{
@@ -87218,13 +87218,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_GUARD;
- sc_start SC_PROTECT_DEF,60000,3;
+ sc_start SC_PROTECT_DEF, 60000, 3;
">
},
{
@@ -87239,13 +87239,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_GUARD;
- sc_start SC_PROTECT_DEF,180000,3;
+ sc_start SC_PROTECT_DEF, 180000, 3;
">
},
{
@@ -87260,13 +87260,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_PROTECT_MDEF,60000,3;
+ sc_start SC_PROTECT_MDEF, 60000, 3;
">
},
{
@@ -87281,13 +87281,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_PROTECT_MDEF,180000,3;
+ sc_start SC_PROTECT_MDEF, 180000, 3;
">
},
{
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index b85203710..56eb0e27b 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -76626,6 +76626,63 @@ item_db: (
Script: <" itemheal rand(40,45),0; ">
},
{
+ Id: 11715
+ AegisName: "Fruit_Salad"
+ Name: "Fruit Salad"
+ Type: 0
+ Buy: 0
+ Weight: 10
+ Script: <"
+ specialeffect2 EF_SPELLBREAKER;
+ sc_start SC_TARGET_ASPD, 180000, 10;
+ ">
+},
+{
+ Id: 11716
+ AegisName: "Shepherd_Salad"
+ Name: "Shepherd Salad"
+ Type: 0
+ Buy: 0
+ Weight: 10
+ Script: <"
+ specialeffect2 EF_LIGHTSPHERE;
+ sc_start SC_HEALPLUS, 180000, 20;
+ ">
+},
+{
+ Id: 11717
+ AegisName: "Yogurt"
+ Name: "Yogurt"
+ Type: 0
+ Buy: 0
+ Weight: 140
+ Script: <"
+ specialeffect2 EF_HEAL3;
+ sc_start2 SC_ATKER_MOVESPEED, 180000, 5, 10;
+ ">
+},
+{
+ Id: 11718
+ AegisName: "Sushi_Kebab"
+ Name: "Sushi Kebab"
+ Type: 0
+ Buy: 0
+ Weight: 60
+ Script: <"
+ specialeffect2 EF_HEAL3;
+ sc_start2 SC_M_LIFEPOTION, 180000, -4, 4;
+ ">
+},
+{
+ Id: 11719
+ AegisName: "Bisket_Dessert"
+ Name: "Bisket Dessert"
+ Type: 0
+ Buy: 0
+ Weight: 200
+ Script: <" sc_start SC_CASH_PLUSEXP, 1800000, 100;">
+},
+{
Id: 12000
AegisName: "Cold_Scroll_2_5"
Name: "Level 5 Frost Diver"
@@ -80268,7 +80325,7 @@ item_db: (
noauction: true
nogstorage: true
}
- Script: <" sc_start2 SC_ATKER_ASPD,3600000,5,10; ">
+ Script: <" sc_start2 SC_ATKER_ASPD, 3600000, 5, 10; ">
},
{
Id: 12275
@@ -80287,7 +80344,7 @@ item_db: (
noauction: true
nogstorage: true
}
- Script: <" sc_start2 SC_ATKER_MOVESPEED,3600000,5,10; ">
+ Script: <" sc_start2 SC_ATKER_MOVESPEED, 3600000, 5, 10; ">
},
{
Id: 12276
@@ -80647,7 +80704,7 @@ item_db: (
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_ATKER_BLOOD,3600000,15;
+ sc_start SC_ATKER_BLOOD, 3600000, 15;
">
},
{
@@ -80669,7 +80726,7 @@ item_db: (
}
Script: <"
specialeffect2 EF_GUARD;
- sc_start SC_TARGET_BLOOD,3600000,10;
+ sc_start SC_TARGET_BLOOD, 3600000, 10;
">
},
{
@@ -84252,10 +84309,14 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
+ Script: <"
+ specialeffect2 EF_HEAL;
+ sc_start2 SC_G_LIFEPOTION, 600000, -6, 3;
+ ">
},
{
Id: 12579
@@ -110922,13 +110983,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_HEAL3;
- sc_start4 SC_S_LIFEPOTION,600000,-5,5,0,0;
+ sc_start2 SC_S_LIFEPOTION, 600000, -5, 5;
">
},
{
@@ -110943,13 +111004,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_HEAL3;
- sc_start4 SC_L_LIFEPOTION,600000,-7,4,0,0;
+ sc_start2 SC_L_LIFEPOTION, 600000, -7, 4;
">
},
{
@@ -110964,13 +111025,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_MAGICALATTHIT;
- sc_start SC_CRITICALPERCENT,300000,30;
+ sc_start SC_CRITICALPERCENT, 300000, 30;
">
},
{
@@ -110985,13 +111046,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_LIGHTSPHERE;
- sc_start SC_HEALPLUS,1800000,20;
+ sc_start SC_HEALPLUS, 1800000, 20;
">
},
{
@@ -111007,13 +111068,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_STEAL;
- sc_start SC_PLUSAVOIDVALUE,60000,20;
+ sc_start SC_PLUSAVOIDVALUE, 60000, 20;
">
},
{
@@ -111070,13 +111131,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_GUARD;
- sc_start SC_PROTECT_DEF,60000,3;
+ sc_start SC_PROTECT_DEF, 60000, 3;
">
},
{
@@ -111091,13 +111152,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_GUARD;
- sc_start SC_PROTECT_DEF,180000,3;
+ sc_start SC_PROTECT_DEF, 180000, 3;
">
},
{
@@ -111112,13 +111173,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_PROTECT_MDEF,60000,3;
+ sc_start SC_PROTECT_MDEF, 60000, 3;
">
},
{
@@ -111133,13 +111194,13 @@ item_db: (
notrade: true
noselltonpc: true
nocart: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_PROTECT_MDEF,180000,3;
+ sc_start SC_PROTECT_MDEF, 180000, 3;
">
},
{
@@ -112235,7 +112296,7 @@ item_db: (
}
Script: <"
specialeffect2 EF_SPELLBREAKER;
- sc_start SC_TARGET_ASPD,1800000,10;
+ sc_start SC_TARGET_ASPD, 1800000, 10;
">
},
{
diff --git a/db/sc_config.txt b/db/sc_config.txt
index afc75b8e5..ac65a6677 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -388,7 +388,7 @@ SC_MORA_BUFF, 2
//SC_REUSE_LIMIT_H, 29
SC_NEEDLE_OF_PARALYZE, 1
SC_PAIN_KILLER, 1
-//SC_G_LIFEPOTION, 68
+SC_G_LIFEPOTION, 68
//SC_VITALIZE_POTION, 4
SC_LIGHT_OF_REGENE, 1
//SC_SONIC_CLAW_POSTDELAY, 2
@@ -434,6 +434,7 @@ SC_GEFFEN_MAGIC2, 14
SC_GEFFEN_MAGIC3, 14
SC_OVERLAPEXPUP, 12
+SC_M_LIFEPOTION, 68
// Guild Auras should not be saved
SC_LEADERSHIP,78
diff --git a/src/map/skill.c b/src/map/skill.c
index f82cdee71..f870524fa 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7623,7 +7623,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
// Slim Pitcher
case CR_SLIMPITCHER:
// Updated to block Slim Pitcher from working on barricades and guardian stones.
- if( dstmd && (dstmd->class_ == MOBID_EMPERIUM || (dstmd->class_ >= MOBID_BARRICADE1 && dstmd->class_ <= MOBID_GUARDIAN_STONE2)) )
+ if (dstmd && (dstmd->class_ == MOBID_EMPERIUM || (dstmd->class_ >= MOBID_BARRICADE1 && dstmd->class_ <= MOBID_GUARDIAN_STONE2)))
break;
if (script->potion_hp || script->potion_sp) {
int hp = script->potion_hp, sp = script->potion_sp;
diff --git a/src/map/status.c b/src/map/status.c
index 108f3d72d..5c2d1d2f5 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -859,6 +859,8 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_INT_SCROLL] = SI_INT_SCROLL;
status->dbs->IconChangeTable[SC_STEAMPACK] = SI_STEAMPACK;
status->dbs->IconChangeTable[SC_MAGIC_CANDY] = SI_MAGIC_CANDY;
+ status->dbs->IconChangeTable[SC_M_LIFEPOTION] = SI_M_LIFEPOTION;
+ status->dbs->IconChangeTable[SC_G_LIFEPOTION] = SI_G_LIFEPOTION;
// Eden Crystal Synthesis
status->dbs->IconChangeTable[SC_QUEST_BUFF1] = SI_QUEST_BUFF1;
@@ -7751,6 +7753,8 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
break;
case SC_S_LIFEPOTION:
case SC_L_LIFEPOTION:
+ case SC_M_LIFEPOTION:
+ case SC_G_LIFEPOTION:
case SC_CASH_BOSS_ALARM:
case SC_STUN:
case SC_SLEEP:
@@ -8135,12 +8139,14 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
break;
case SC_S_LIFEPOTION:
case SC_L_LIFEPOTION:
- if( val1 == 0 ) return 0;
+ case SC_M_LIFEPOTION:
+ case SC_G_LIFEPOTION:
+ if (val1 == 0) return 0;
// val1 = heal percent/amout
// val2 = seconds between heals
// val4 = total of heals
- if( val2 < 1 ) val2 = 1;
- if( (val4 = tick/(val2 * 1000)) < 1 )
+ if (val2 < 1) val2 = 1;
+ if ((val4 = tick / (val2 * 1000)) < 1)
val4 = 1;
tick_time = val2 * 1000; // [GodLesZ] tick time
break;
@@ -10982,10 +10988,12 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
case SC_S_LIFEPOTION:
case SC_L_LIFEPOTION:
- if( sd && --(sce->val4) >= 0 ) {
+ case SC_M_LIFEPOTION:
+ case SC_G_LIFEPOTION:
+ if (sd && --(sce->val4) >= 0) {
// val1 < 0 = per max% | val1 > 0 = exact amount
int hp = 0;
- if( st->hp < st->max_hp )
+ if (st->hp < st->max_hp)
hp = (sce->val1 < 0) ? (int)(sd->status.max_hp * -1 * sce->val1 / 100.) : sce->val1 ;
status->heal(bl, hp, 0, 2);
sc_timer_next((sce->val2 * 1000) + tick, status->change_timer, bl->id, data);
@@ -11600,7 +11608,7 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) {
break;
case SC_MAGIC_CANDY:
if (--(sce->val4) > 0) {
- status->charge(bl, 0, sce->val3); // Reduce 100 SP every 10 seconds.
+ status->charge(bl, 0, sce->val3); // Reduce 90 SP every 10 seconds.
sc_timer_next(10000 + tick, status->change_timer, bl->id, data);
}
break;
diff --git a/src/map/status.h b/src/map/status.h
index dfc914849..b5597dd45 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -822,6 +822,8 @@ typedef enum sc_type {
SC_PROMOTE_HEALTH_RESERCH,
SC_ENERGY_DRINK_RESERCH,
SC_MAGIC_CANDY,
+ SC_M_LIFEPOTION,
+ SC_G_LIFEPOTION, // 640
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;