diff options
author | Dastgir Pojee <dastgirp@gmail.com> | 2016-10-03 19:17:38 +0530 |
---|---|---|
committer | hemagx <ibrahem.h.basyone@gmail.com> | 2016-10-22 02:22:13 +0200 |
commit | 52bd4a502c919e789e8900820423a49a4343b3d7 (patch) | |
tree | 02118d843fa381009928714aefffd71eadfb894d /src/map/status.c | |
parent | f4e8189545642ee0bf87f3da546bddc918682935 (diff) | |
download | hercules-52bd4a502c919e789e8900820423a49a4343b3d7.tar.gz hercules-52bd4a502c919e789e8900820423a49a4343b3d7.tar.bz2 hercules-52bd4a502c919e789e8900820423a49a4343b3d7.tar.xz hercules-52bd4a502c919e789e8900820423a49a4343b3d7.zip |
Implemented SC_BITESCAR:
Cannot be reset by dispell.
Cannot be healed by item/NPC once in BITESCAR.
Heal Skill would end the BiteScar Effect.
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c index 508127cb6..ca1d6249d 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -7836,6 +7836,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_NETHERWORLD: case SC_FRESHSHRIMP: case SC_SV_ROOTTWIST: + case SC_BITESCAR: return 0; } } @@ -9822,6 +9823,11 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_TUNAPARTY: val2 = (st->max_hp * (val1 * 10) / 100); // %Max HP to absorb break; + case SC_BITESCAR: + val2 = 2 * val1; // MHP% damage + val4 = tick / 1000; + tick_time = 1000; + break; default: if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->dbs->IconChangeTable[type] == 0) { //Status change with no calc, no icon, and no skill associated...? @@ -12095,6 +12101,13 @@ int status_change_timer(int tid, int64 tick, int id, intptr_t data) sc_timer_next((10000 - ((sce->val1 - 1) * 1000)) + tick, status->change_timer, bl->id, data); } break; + case SC_BITESCAR: + if (--(sce->val4) >= 0) { + status_percent_damage(bl, bl, -(sce->val2), 0, 0); + sc_timer_next(1000 + tick, status->change_timer, bl->id, data); + return 0; + } + break; } // default for all non-handled control paths is to end the status |