idLaZ Posted August 22, 2018 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 93 Reputation: 6 Joined: 12/10/11 Last Seen: September 28, 2024 Share Posted August 22, 2018 Can anyone update this to the latest rAthena? Index: src/map/battle.c =================================================================== --- src/map/battle.c (revision 15817) +++ src/map/battle.c (working copy) @@ -233,10 +233,8 @@ nullpo_ret(target); sc = status_get_sc(target); - - if( sc && sc->data[SC_DEVOTION] && damage > 0 && skill_id != PA_PRESSURE && skill_id != CR_REFLECTSHIELD ) + //devotion patch by Cyrix (rathena) ([email protected]) +//https://www.facebook.com/ragdb.ragnarok +if( sc && sc->data[SC_DEVOTION] && damage > 0 && skill_id != PA_PRESSURE && skill_id != CR_REFLECTSHIELD ) damage = 0; - if ( !battle_config.delay_battle_damage || amotion <= 1 ) { map_freeblock_lock(); status_fix_damage(src, target, damage, ddelay); // We have to seperate here between reflect damage and others [icescope] @@ -4186,7 +4184,7 @@ } else status_change_end(target, SC_DEVOTION, INVALID_TIMER); - } + } if (sc && sc->data[SC_AUTOSPELL] && rnd()%100 < sc->data[SC_AUTOSPELL]->val4) { int sp = 0; Index: src/map/pc.c =================================================================== --- src/map/pc.c (revision 15817) +++ src/map/pc.c (working copy) @@ -6078,8 +6078,7 @@ for(k = 0; k < 5; k++) if (sd->devotion[k]){ struct map_session_data *devsd = map_id2sd(sd->devotion[k]); - if (devsd) - status_change_end(&devsd->bl, SC_DEVOTION, INVALID_TIMER); + //devotion patch by Cyrix (rathena) ([email protected]) +//https://www.facebook.com/ragdb.ragnarok + if (devsd) status_change_end(&devsd->bl,SC_DEVOTION,-1); sd->devotion[k] = 0; } Index: src/map/status.c =================================================================== --- src/map/status.c (revision 15817) +++ src/map/status.c (working copy) @@ -1015,31 +1015,43 @@ // if (!target->prev && !(flag&2)) // return 0; //Cannot damage a bl not on a map, except when "charging" hp/sp - sc = status_get_sc(target); - if( hp && battle_config.invincible_nodamage && src && sc && sc->data[SC_INVINCIBLE] && !sc->data[SC_INVINCIBLEOFF] ) - hp = 1; + //devotion patch by Cyrix (rathena) ([email protected]) +//https://www.facebook.com/ragdb.ragnarok + sc = status_get_sc(target); + - if( hp && !(flag&1) ) { + if( hp && !(flag&(1|8)) ) { if( sc ) { struct status_change_entry *sce; + if( (sce = sc->data[SC_DEVOTION]) && src && battle_getcurrentskill(src) != PA_PRESSURE ) + { // Devotion prevents any of the other ailments from ending. + struct block_list *d_bl = map_id2bl(sce->val1); + + if( d_bl && ( + (d_bl->type == BL_MER && ((TBL_MER*)d_bl)->master && ((TBL_MER*)d_bl)->master->bl.id == target->id) || + (d_bl->type == BL_PC && ((TBL_PC*)d_bl)->devotion[sce->val2] == target->id) + ) && check_distance_bl(target, d_bl, sce->val3) ) + { + clif_damage(d_bl, d_bl, gettick(), 0, 0, hp, 0, 0, 0); + status_fix_damage(NULL, d_bl, hp, 0); + return 0; + } + + status_change_end(target, SC_DEVOTION, -1); + } if (sc->data[SC_STONE] && sc->opt1 == OPT1_STONE) - status_change_end(target, SC_STONE, INVALID_TIMER); - status_change_end(target, SC_FREEZE, INVALID_TIMER); - status_change_end(target, SC_SLEEP, INVALID_TIMER); - status_change_end(target, SC_WINKCHARM, INVALID_TIMER); - status_change_end(target, SC_CONFUSION, INVALID_TIMER); - status_change_end(target, SC_TRICKDEAD, INVALID_TIMER); - status_change_end(target, SC_HIDING, INVALID_TIMER); - status_change_end(target, SC_CLOAKING, INVALID_TIMER); - status_change_end(target, SC_CHASEWALK, INVALID_TIMER); - status_change_end(target, SC_CAMOUFLAGE, INVALID_TIMER); - status_change_end(target, SC__INVISIBILITY, INVALID_TIMER); - status_change_end(target, SC_DEEPSLEEP, INVALID_TIMER); + status_change_end(target,SC_STONE,-1); + status_change_end(target,SC_FREEZE,-1); + status_change_end(target,SC_SLEEP,-1); + status_change_end(target,SC_WINKCHARM,-1); + status_change_end(target,SC_CONFUSION,-1); + status_change_end(target,SC_TRICKDEAD,-1); + status_change_end(target,SC_HIDING,-1); + status_change_end(target,SC_CLOAKING,-1); + status_change_end(target,SC_CHASEWALK,-1); if ((sce=sc->data[SC_ENDURE]) && !sce->val4) { //Endure count is only reduced by non-players on non-gvg maps. //val4 signals infinite endure. [Skotlex] if (src && src->type != BL_PC && !map_flag_gvg(target->m) && !map[target->m].flag.battleground && --(sce->val2) < 0) - status_change_end(target, SC_ENDURE, INVALID_TIMER); + status_change_end(target, SC_ENDURE, -1); } if ((sce=sc->data[SC_GRAVITATION]) && sce->val3 == BCT_SELF) { struct skill_unit_group* sg = skill_id2group(sce->val4); @@ -8235,14 +8247,14 @@ for( i = 0; i < 5; i++ ) { if( sd->devotion[i] && (tsd = map_id2sd(sd->devotion[i])) && tsd->sc.data[type] ) - status_change_end(&tsd->bl, type, INVALID_TIMER); + status_change_end(&tsd->bl, type, -1); } } else if( bl->type == BL_MER && ((TBL_MER*)bl)->devotion_flag ) { // Clear Status from Master tsd = ((TBL_MER*)bl)->master; if( tsd && tsd->sc.data[type] ) - status_change_end(&tsd->bl, type, INVALID_TIMER); + status_change_end(&tsd->bl, type, -1); } } break; @@ -8258,10 +8270,10 @@ clif_devotion(d_bl, NULL); } - status_change_end(bl, SC_AUTOGUARD, INVALID_TIMER); - status_change_end(bl, SC_DEFENDER, INVALID_TIMER); - status_change_end(bl, SC_REFLECTSHIELD, INVALID_TIMER); - status_change_end(bl, SC_ENDURE, INVALID_TIMER); + status_change_end(bl,SC_AUTOGUARD,-1); + status_change_end(bl,SC_DEFENDER,-1); + status_change_end(bl,SC_REFLECTSHIELD,-1); + status_change_end(bl,SC_ENDURE,-1); } break; Thank you. Quote Link to comment Share on other sites More sharing options...
-1 systemD2540 Posted August 29, 2018 Group: Members Topic Count: 22 Topics Per Day: 0.01 Content Count: 70 Reputation: 10 Joined: 07/17/14 Last Seen: May 1, 2021 Share Posted August 29, 2018 bump I'm fixed Quote Link to comment Share on other sites More sharing options...
0 idLaZ Posted August 30, 2018 Group: Members Topic Count: 18 Topics Per Day: 0.00 Content Count: 93 Reputation: 6 Joined: 12/10/11 Last Seen: September 28, 2024 Author Share Posted August 30, 2018 This is already fixed. The changes is located in conf folder. Quote Link to comment Share on other sites More sharing options...
Question
idLaZ
Can anyone update this to the latest rAthena?
Thank you.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.