summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt2
-rw-r--r--db/pre-re/item_db.conf8
-rw-r--r--db/re/item_db.conf16
-rw-r--r--db/sc_config.txt38
-rw-r--r--src/map/status.c8
-rw-r--r--src/map/status.h2
6 files changed, 47 insertions, 27 deletions
diff --git a/db/const.txt b/db/const.txt
index 6b60ee384..f0ec7cd55 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -1336,6 +1336,8 @@ SC_BLOSSOM_FLUTTERING 625
SC_GM_BATTLE 626
SC_GM_BATTLE2 627
SC_2011RWC 628
+SC_STR_SCROLL 629
+SC_INT_SCROLL 630
e_gasp 0
e_what 1
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index 589b007e8..3ed2027cb 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.conf
@@ -69551,6 +69551,10 @@ item_db: (
noselltonpc: true
nogstorage: true
}
+ Script: <"
+ specialeffect2 EF_POTION_BERSERK;
+ sc_start SC_STR_SCROLL, 60000, 20;
+ ">
},
{
Id: 12741
@@ -69563,6 +69567,10 @@ item_db: (
noselltonpc: true
nogstorage: true
}
+ Script: <"
+ specialeffect2 EF_SPELLBREAKER;
+ sc_start SC_INT_SCROLL, 60000, 20;
+ ">
},
{
Id: 12742
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 2502e7b30..f29364f0c 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -86075,13 +86075,17 @@ item_db: (
Trade: {
nodrop: true
notrade: true
+ nostorage: true
noselltonpc: true
nocart: true
- nostorage: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
+ Script: <"
+ specialeffect2 EF_POTION_BERSERK;
+ sc_start SC_STR_SCROLL, 60000, 20;
+ ">
},
{
Id: 12741
@@ -86092,13 +86096,17 @@ item_db: (
Trade: {
nodrop: true
notrade: true
+ nostorage: true
noselltonpc: true
nocart: true
- nostorage: true
- nogstorage: true
nomail: true
noauction: true
+ nogstorage: true
}
+ Script: <"
+ specialeffect2 EF_SPELLBREAKER;
+ sc_start SC_INT_SCROLL, 60000, 20;
+ ">
},
{
Id: 12742
diff --git a/db/sc_config.txt b/db/sc_config.txt
index d8272d39f..610f57e98 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -272,10 +272,10 @@ SC_SUMMON2, 24
SC_SUMMON3, 24
SC_SUMMON4, 24
SC_SUMMON5, 24
-//SC_MVPCARD_TAOGUNKA, 28
-//SC_MVPCARD_MISTRESS, 28
-//SC_MVPCARD_ORCHERO, 28
-//SC_MVPCARD_ORCLORD, 28
+SC_MVPCARD_TAOGUNKA, 60
+SC_MVPCARD_MISTRESS, 60
+SC_MVPCARD_ORCHERO, 60
+SC_MVPCARD_ORCLORD, 60
SC_OVERHEAT_LIMITPOINT, 28
SC_OVERHEAT, 28
SC_SHAPESHIFT, 28
@@ -291,8 +291,8 @@ SC_SPL_DEF, 28
SC__REPRODUCE, 28
SC_MANU_MATK, 28
SC_SPL_MATK, 28
-//SC_STR_SCROLL, 29
-//SC_INT_SCROLL, 29
+SC_STR_SCROLL, 61
+SC_INT_SCROLL, 61
SC_FORCEOFVANGUARD, 28
//SC_BUCHEDENOEL, 28
SC__AUTOSHADOWSPELL, 16
@@ -370,7 +370,7 @@ SC_FIRE_INSIGNIA, 2
SC_WATER_INSIGNIA, 2
SC_WIND_INSIGNIA, 2
SC_EARTH_INSIGNIA, 2
-//SC_MORA_BUFF, 2
+SC_MORA_BUFF, 2
//SC_REUSE_LIMIT_G, 29
//SC_REUSE_LIMIT_H, 29
SC_NEEDLE_OF_PARALYZE, 1
@@ -410,25 +410,17 @@ SC_ARMORSCROLL, 69
SC_FREYJASCROLL, 69
SC_SOULSCROLL, 69
-// Eden Crystal Synthesis [Needs more info]
-//SC_QUEST_BUFF1, ??
-//SC_QUEST_BUFF2, ??
-//SC_QUEST_BUFF3, ??
+// Eden Crystal Synthesis
+SC_QUEST_BUFF1, 13
+SC_QUEST_BUFF2, 13
+SC_QUEST_BUFF3, 13
-// Geffen Magic Tournament [Needs more info]
-SC_GEFFEN_MAGIC1, 2
-SC_GEFFEN_MAGIC2, 2
-SC_GEFFEN_MAGIC3, 2
-//SC_FENRIR_CARD, ??
+// Geffen Magic Tournament
+SC_GEFFEN_MAGIC1, 14
+SC_GEFFEN_MAGIC2, 14
+SC_GEFFEN_MAGIC3, 14
SC_OVERLAPEXPUP, 12
-SC_MORA_BUFF, 2
-
-// MVP Scrolls
-SC_MVPCARD_TAOGUNKA, 60
-SC_MVPCARD_MISTRESS, 60
-SC_MVPCARD_ORCHERO, 60
-SC_MVPCARD_ORCLORD, 60
// Guild Auras should not be saved
SC_LEADERSHIP,78
diff --git a/src/map/status.c b/src/map/status.c
index c3321799d..1a1c5e2c7 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -851,6 +851,8 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_GM_BATTLE] = SI_GM_BATTLE;
status->dbs->IconChangeTable[SC_GM_BATTLE2] = SI_GM_BATTLE2;
status->dbs->IconChangeTable[SC_2011RWC] = SI_2011RWC;
+ status->dbs->IconChangeTable[SC_STR_SCROLL] = SI_STR_SCROLL;
+ status->dbs->IconChangeTable[SC_INT_SCROLL] = SI_INT_SCROLL;
// Eden Crystal Synthesis
status->dbs->IconChangeTable[SC_QUEST_BUFF1] = SI_QUEST_BUFF1;
@@ -1037,6 +1039,8 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_GM_BATTLE] |= SCB_BATK | SCB_MATK | SCB_MAXHP | SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_GM_BATTLE2] |= SCB_BATK | SCB_MATK | SCB_MAXHP | SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_2011RWC] |= SCB_STR | SCB_AGI | SCB_VIT | SCB_INT | SCB_DEX | SCB_LUK | SCB_BATK | SCB_MATK;
+ status->dbs->ChangeFlagTable[SC_STR_SCROLL] |= SCB_STR;
+ status->dbs->ChangeFlagTable[SC_INT_SCROLL] |= SCB_INT;
// Cash Items
status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] = SCB_STR;
@@ -4348,6 +4352,8 @@ unsigned short status_calc_str(struct block_list *bl, struct status_change *sc,
str -= sc->data[SC_KYOUGAKU]->val3;
if (sc->data[SC_2011RWC])
str += sc->data[SC_2011RWC]->val1;
+ if (sc->data[SC_STR_SCROLL])
+ str += sc->data[SC_STR_SCROLL]->val1;
return (unsigned short)cap_value(str,0,USHRT_MAX);
}
@@ -4516,6 +4522,8 @@ unsigned short status_calc_int(struct block_list *bl, struct status_change *sc,
int_ -= sc->data[SC_KYOUGAKU]->val3;
if (sc->data[SC_2011RWC])
int_ += sc->data[SC_2011RWC]->val1;
+ if (sc->data[SC_INT_SCROLL])
+ int_ += sc->data[SC_INT_SCROLL]->val1;
if(bl->type != BL_PC){
if(sc->data[SC_NOEQUIPHELM])
diff --git a/src/map/status.h b/src/map/status.h
index 94731dc17..a45b22adb 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -812,6 +812,8 @@ typedef enum sc_type {
SC_GM_BATTLE,
SC_GM_BATTLE2,
SC_2011RWC,
+ SC_STR_SCROLL,
+ SC_INT_SCROLL, // 630
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;