diff options
author | Jedzkie <jedzkie13@rocketmail.com> | 2015-12-17 06:14:04 +0100 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-12-17 06:19:07 +0100 |
commit | 8230f5d81baf2647aa49b1cea276c1ada749dc71 (patch) | |
tree | c3184d29877d1c3b01e5f09a7fdc27f51e686a28 /src/map/skill.c | |
parent | 1fbbf9b06dd1feb72a0ce746096de222bf93de44 (diff) | |
download | hercules-8230f5d81baf2647aa49b1cea276c1ada749dc71.tar.gz hercules-8230f5d81baf2647aa49b1cea276c1ada749dc71.tar.bz2 hercules-8230f5d81baf2647aa49b1cea276c1ada749dc71.tar.xz hercules-8230f5d81baf2647aa49b1cea276c1ada749dc71.zip |
Implement official effect of MVP Scrolls
- Ghostring Scroll
- Phreeoni Scroll
- Tao Gunka Scroll
- Mistress Scroll
- Orc Hero Scroll
- Orc Lord Scroll (thanks to Dastgir)
Note: in Aegis, the reflect damage from Orc Lord Scroll is in the user
not in the attacker, but in this commit, the attacker receives the
reflect damage.
- Added New Cash Boxes
* Tao Gunka Scroll Box
* Mistress Scroll Box
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 39579156f..8d97409fb 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -14343,6 +14343,8 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16 req.sp -= req.sp * sc->data[SC_TELEKINESIS_INTENSE]->val2 / 100; if (sc->data[SC_TARGET_ASPD]) req.sp -= req.sp * sc->data[SC_TARGET_ASPD]->val1 / 100; + if (sc->data[SC_MVPCARD_MISTRESS]) + req.sp -= req.sp * sc->data[SC_MVPCARD_MISTRESS]->val1 / 100; } req.zeny = skill->dbs->db[idx].zeny[skill_lv-1]; @@ -14422,22 +14424,24 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16 if (itemid_isgemstone(req.itemid[i]) && skill_id != HW_GANBANTEIN) { if (sd->special_state.no_gemstone) { // All gem skills except Hocus Pocus and Ganbantein can cast for free with Mistress card [helvetica] - if( skill_id != SA_ABRACADABRA ) + if (skill_id != SA_ABRACADABRA) req.itemid[i] = req.amount[i] = 0; - else if( --req.amount[i] < 1 ) + else if (--req.amount[i] < 1) req.amount[i] = 1; // Hocus Pocus always use at least 1 gem } - if(sc && sc->data[SC_INTOABYSS]) - { - if( skill_id != SA_ABRACADABRA ) + if (sc && sc->data[SC_INTOABYSS]) { + if (skill_id != SA_ABRACADABRA) req.itemid[i] = req.amount[i] = 0; - else if( --req.amount[i] < 1 ) + else if (--req.amount[i] < 1) req.amount[i] = 1; // Hocus Pocus always use at least 1 gem } + if (sc && sc->data[SC_MVPCARD_MISTRESS]) { + req.itemid[i] = req.amount[i] = 0; + } } - if( skill_id >= HT_SKIDTRAP && skill_id <= HT_TALKIEBOX && pc->checkskill(sd, RA_RESEARCHTRAP) > 0){ + if (skill_id >= HT_SKIDTRAP && skill_id <= HT_TALKIEBOX && pc->checkskill(sd, RA_RESEARCHTRAP) > 0) { int16 item_index; - if ((item_index = pc->search_inventory(sd,req.itemid[i])) == INDEX_NOT_FOUND + if ((item_index = pc->search_inventory(sd, req.itemid[i])) == INDEX_NOT_FOUND || sd->status.inventory[item_index].amount < req.amount[i] ) { req.itemid[i] = ITEMID_TRAP_ALLOY; |