diff options
-rw-r--r-- | db/const.txt | 2 | ||||
-rw-r--r-- | db/pre-re/item_db.conf | 8 | ||||
-rw-r--r-- | db/re/item_db.conf | 16 | ||||
-rw-r--r-- | db/sc_config.txt | 38 | ||||
-rw-r--r-- | src/map/status.c | 8 | ||||
-rw-r--r-- | src/map/status.h | 2 |
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; |