Jump to content

Vanquiser

Members
  • Content Count

    48
  • Joined

  • Last visited

Posts posted by Vanquiser


  1. any can anyone do some like dis.. i know its huge project.


    //Switch to Server Episodes

    //1=Start of the Adventure Episode

    //2=Lutie Episode

    //3=Comodo Episode

    //4=War of Emperium Episode

    //5=Juno ~ Forgotten Legacy of an Ancient Era Episode

    //6=Beyond Rune-Midgarts (The Global Project) Episode

    //7=Umbala ~ Village of the Utan Tribe Episode

    //Just a sample i dont know the whole episodes of RO

    episode_type=1

     

    example when the episode 2 is selected the other mobs map job nps of episode and earlier will be disabled

    Sorry for my english


  2. Can anyone fix this ??
     

     
    skill.c: In function ‘hs_skill_delay_check’:
    skill.c:15475: warning: suggest parentheses around assignment used as truth value
    skill.c:15484: warning: suggest parentheses around assignment used as truth value
    skill.c:15497: warning: suggest parentheses around assignment used as truth value
    skill.c: In function ‘hs_flood_delay_check’:
    skill.c:15566: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘int64’

    im using Rathena Latest Revision ..

    And the diff File...

    Quote

     

    // Hansip Protection 1.3 [Kichi]

     
    diff --git a/src/map/battle.c b/src/map/battle.c
    index d09cadb..f7e28dd 100644
    --- a/src/map/battle.c
    +++ b/src/map/battle.c
    @@ -7842,6 +7842,10 @@ bool battle_check_range(struct block_list *src, struct block_list *bl, int range
    { "fame_pharmacy_5",                    &battle_config.fame_pharmacy_5,                 3,      0,      INT_MAX,        },
    { "fame_pharmacy_7",                    &battle_config.fame_pharmacy_7,                 10,     0,      INT_MAX,        },
    { "fame_pharmacy_10",                   &battle_config.fame_pharmacy_10,                50,     0,      INT_MAX,        },
    + { "hansip_protection",  &battle_config.hansip_protection, 1,     0,      1,              },
    + { "hansip_min_delay",                   &battle_config.hansip_min_delay,               100, 0,      INT_MAX,        },
    + { "hansip_spam_count",                  &battle_config.hansip_spam_count, 5, 3,      100, },
    + { "hansip_spam_punish",                  &battle_config.hansip_spam_punish, 1, 0,      1, },
     };
     #ifndef STATS_OPT_OUT
     /**
    diff --git a/src/map/battle.h b/src/map/battle.h
    index 4015529..d6eca81 100644
    --- a/src/map/battle.h
    +++ b/src/map/battle.h
    @@ -543,6 +543,14 @@ extern struct Battle_Config
    int taekwon_ranker_min_lv;
    int revive_onwarp;
     
    + // Hansip [Kichi]
    + int status_min_duration;
    + int hansip_protection; //Make sure nodelay grf user still follow the rules [Kichi]
    + int hansip_min_delay;
    + int hansip_flood_protection;
    + int hansip_spam_count;
    + int hansip_spam_punish;
    +
    // Fame points
    int fame_taekwon_mission;
    int fame_refine_lv1;
    diff --git a/src/map/clif.c b/src/map/clif.c
    index 6ebbab3..621557d 100644
    --- a/src/map/clif.c
    +++ b/src/map/clif.c
    @@ -11307,6 +11307,11 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
    return;
    }
     
    + // Hansip Protection [Kichi]
    + if (battle_config.hansip_protection)
    + if (hs_flood_delay_check(sd,skill_id))
    + set_eof(fd);
    +
    // Whether skill fails or not is irrelevant, the char ain't idle. [skotlex]
    sd->idletime = last_tick;
     
    @@ -11406,6 +11411,9 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
    clif_parse_UseSkillToPos_mercenary(sd->md, sd, tick, skill_id, skill_lv, x, y, skillmoreinfo);
    return;
    }
    + // Hansip Protection [Kichi]
    + if (battle_config.hansip_protection)
    + hs_flood_delay_check(sd,skill_id);
     
    //Whether skill fails or not is irrelevant, the char ain't idle. [skotlex]
    sd->idletime = last_tick;
    diff --git a/src/map/pc.h b/src/map/pc.h
    index bc70287..a24ecf2 100644
    --- a/src/map/pc.h
    +++ b/src/map/pc.h
    @@ -228,6 +228,8 @@ struct map_session_data {
    unsigned int banking : 1; //1 when we using the banking system 0 when closed
    unsigned int hpmeter_visible : 1;
    unsigned disable_atcommand_on_npc : 1; //Prevent to use atcommand while talking with NPC [Kichi]
    + unsigned hs_skill_check_double : 1; // Hansip - To check double cast [Kichi]
    + unsigned hs_skill_check_flood : 1; // Hansip - To check flood cast [Kichi]
    } state;
    struct {
    unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
    @@ -302,6 +304,15 @@ struct map_session_data {
    unsigned int cansendmail_tick; // [Mail System Flood Protection]
    unsigned int ks_floodprotect_tick; // [Kill Steal Protection]
     
    + // Hansip Protection [Kichi]
    + unsigned int canskill_tick2;
    + int64 last_skill;
    + unsigned int tem_tick_skill1; // Save temporer
    + unsigned int tem_tick_skill2;
    + unsigned int tem_tick_skill3;
    + unsigned int castskill_tick;
    + int spam_count;
    +
    struct s_item_delay {
    unsigned short nameid;
    unsigned int tick;
    diff --git a/src/map/skill.c b/src/map/skill.c
    index bda7e70..0be9d32 100755
    --- a/src/map/skill.c
    +++ b/src/map/skill.c
    @@ -15124,13 +15124,21 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
     int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
    int time = skill_get_cast(skill_id, skill_lv);
     
    + struct map_session_data *sd;
    +
    nullpo_ret(bl);
    +
     #ifndef RENEWAL_CAST
    {
    struct map_session_data *sd;
     
    sd = BL_CAST(BL_PC, bl);
     
    + // Hansip Protection [Kichi]
    + // Skill Spam Check
    + if(sd && battle_config.hansip_protection)
    + hs_skill_delay_check(sd,skill_id,skill_lv,0);
    +
    // calculate base cast time (reduced by dex)
    if( !(skill_get_castnodex(skill_id, skill_lv)&1) ) {
    int scale = battle_config.castrate_dex_scale - status_get_dex(bl);
    @@ -15158,6 +15166,9 @@ int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
     
    }
     #endif
    +
    + sd = BL_CAST(BL_PC, bl);
    +
    // config cast time multiplier
    if (battle_config.cast_rate != 100)
    time = time * battle_config.cast_rate / 100;
    @@ -15165,6 +15176,9 @@ int skill_castfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
    time = max(time, 0);
     
    //ShowInfo("Castime castfix = %dn",time);
    + // Hansip Protection [Kichi]
    + if(sd && battle_config.hansip_protection)
    + hs_skill_delay_check(sd,skill_id,skill_lv,0);
    return time;
     }
     
    @@ -15413,9 +15427,132 @@ int skill_delayfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv)
    time = max(time, battle_config.min_skill_delay_limit);
     
    //ShowInfo("Delay delayfix = %dn",time);
    + // Hansip Protection [Kichi]
    + if(battle_config.hansip_protection)
    + if (sd->state.hs_skill_check_double){
    + time = hs_skill_delay_penalty(skill_id);
    + sd->state.hs_skill_check_double = 0 ;
    + }
    return time;
     }
     
    +/*==========================================
    +* Hansip Skill delay check [Kichi]
    +* it will player who recast same skill below X ms
    +* official ragnarok let you recast a same skill if the player has enough aspd to do
    +*------------------------------------------*/
    +int hs_skill_delay_check (struct map_session_data *sd, uint16 skill_id, uint16 skill_lv,uint16 flag) {
    + switch (skill_id) {
    + case AS_SONICBLOW:
    + case GC_CROSSIMPACT:
    + case CG_ARROWVULCAN:
    + if (sd->last_skill = skill_id){
    + if(( DIFF_TICK(sd->canskill_tick2, gettick()) > 0 ))
    + sd->state.hs_skill_check_double = 1 ;
    + else
    + sd->canskill_tick2 = gettick() + 1500;
    + }
    + break;
    + case RK_DRAGONBREATH:
    + case RK_DRAGONBREATH_WATER:
    + if (sd->last_skill = skill_id){
    + if(( DIFF_TICK(sd->canskill_tick2, gettick()) > 0 ))
    + sd->state.hs_skill_check_double = 1 ;
    + else
    + sd->canskill_tick2 = gettick() + 1000;
    + }
    + break;
    + case AC_DOUBLE:
    + case SM_BASH:
    + case KN_BOWLINGBASH:
    + case NJ_KOUENKA:
    + case NJ_HYOUSENSOU:
    + case WZ_JUPITEL:
    + if (sd->last_skill = skill_id)
    + sd->state.hs_skill_check_double = 1 ;
    + break;
    + default:
    + break;
    + }
    + sd->last_skill = skill_id;
    + return 1;
    +}
    +
    +/*==========================================
    +* Hansip Skill delay penalty [Kichi]
    +* It will check if the player has been cast 2 times
    +* As the official client rules, you only able to do cast 2 times and 
    +* you should wait till the act end.
    +*------------------------------------------*/
    +int hs_skill_delay_penalty(uint16 skill_id) {
    + int time = 0;
    + switch (skill_id) {
    + case AS_SONICBLOW:
    + case GC_CROSSIMPACT:
    + case CG_ARROWVULCAN:
    + time = 2000;
    + break;
    + case RK_DRAGONBREATH:
    + case RK_DRAGONBREATH_WATER:
    + time = 1200;
    + break;
    + case AC_DOUBLE:
    + case SM_BASH:
    + case NJ_KOUENKA:
    + case NJ_HYOUSENSOU:
    + case WZ_JUPITEL:
    + time = 350;
    + break;
    + case KN_BOWLINGBASH:
    + time = 490;
    + break;
    + default:
    + time = battle_config.hansip_min_delay;
    + break;
    + }
    + return time;
    + }
    +
    +int hs_flood_delay_check (struct map_session_data *sd, uint16 skill_id) {
    + int64 sum;
    + char message_to_gm[200];
    + if (!sd)
    + return 0;
    +
    + if (sd->last_skill && sd->last_skill == skill_id){
    +
    + if (sd->tem_tick_skill2)
    + sd->tem_tick_skill3 = sd->tem_tick_skill2;
    +
    + if (sd->tem_tick_skill1)
    + sd->tem_tick_skill2 = sd->tem_tick_skill1;
    + if (sd->castskill_tick)
    + sd->tem_tick_skill1 = gettick()- sd->castskill_tick;//; DIFF_TICK(sd->castskill_tick, gettick());
    +
    + sum = (sd->tem_tick_skill3 + sd->tem_tick_skill2 + sd->tem_tick_skill1) / 3;
    +
    + if (sum >= sd->tem_tick_skill3 - 20 && sum <= sd->tem_tick_skill3 + 20)
    + sd->spam_count = sd->spam_count + 1;
    + else
    + sd->spam_count = 0;
    +
    + if (sd->spam_count > 3){
    + sprintf(message_to_gm, "[Hansip] : Spam Detected!  '%s' probably use third party. Constantly flood %d times, tick %d", sd->status.name,  sd->spam_count, sum);
    + intif_wis_message_to_gm(wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
    + }
    + if (sd->spam_count >= battle_config.hansip_spam_count && battle_config.hansip_spam_punish)
    + return 1;
    + sd->castskill_tick = gettick();
    + }else{
    + sd->tem_tick_skill1 = 0;
    + sd->tem_tick_skill2 = 0;
    + sd->tem_tick_skill3 = 0;
    + sd->spam_count = 0;
    + }
    + sd->last_skill = skill_id;
    +
    + return 0;
    +}
     /*=========================================
      *
      *-----------------------------------------*/
    diff --git a/src/map/skill.h b/src/map/skill.h
    index df411f4..bc22c16 100644
    --- a/src/map/skill.h
    +++ b/src/map/skill.h
    @@ -389,6 +389,11 @@ int skill_vfcastfix( struct block_list *bl, double time, uint16 skill_id, uint16
     #endif
     int skill_delayfix( struct block_list *bl, uint16 skill_id, uint16 skill_lv);
     
    +// Hansip Protection [Kichi]
    +int hs_skill_delay_check( struct map_session_data *sd, uint16 skill_id, uint16 skill_lv,uint16 flag);
    +int hs_skill_delay_penalty( uint16 skill_id);
    +int hs_flood_delay_check (struct map_session_data *sd, uint16 skill_id);
    +
     // Skill conditions check and remove [inkfish]
     bool skill_check_condition_castbegin(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
     bool skill_check_condition_castend(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);

     


  3. index.php?app=downloads&module=display&section=screenshot&id=141

    File Name: Simple Avast Thor Patcher

    File Submitter: Vanquiser

    File Submitted: 09 Jul 2014

    File Category: Other Graphics

     

    Thor Patcher,,, Avast 2014 Based

     

     

    Features

     

     

    Website Button

    Facebook Page Button

    Facebook Group Button

    Donate Button

    Help Button

    Register Button

    Setup Button (Open Setup.exe)

     

     

    BTW Im using MS Paint Only XD...

     

     

    Please Dont Remove Credits, Thx

     

    Click here to download this file


  4.  

    e5ESzd5.jpg

     

     

     

     

     

     

     

     

     

     

    Any Can Provide Slider1 Code, Slider2 Code And Notice Code on this patcher :( .. Thanks in Advance

    Its more of Web Related, since thor patcher only makes the notice box and directs them to website, and website does the trick of slider.

    (correct if I am wrong. :? )

    Topic CLosed :)

     

     

     

    I just make a gif image to become Slider and i made my gif image as a background of html

     

     

    sorry for my english :)

     

    by the way thx 

    aero011 and Dastgir

  5. Anyone can Help me about this ?

    I want to change mdef formula

    my server is Frost Server .. but when anyone get to 99 mdef .. the players that 99 mdef wont freeze and the magic damage is only 1..

    i want to change the mdef to 99 mdef = 30% magic reduction only .. forget about the freeze ..

    Please Help mee Thx  :)


    Sorry for my bad English


  6. Custom Soul link Effect

    Star Gladiator - Allowing to use Lvl 8 Lord of Vermillion, Lvl 5 Parrying. Increase damage on Boss monster and Holy monster by 100%. perfect dodge + 10



    Open src/map/status.c and find:

     

     

     
              case SC_RAISINGDRAGON:
    sce->val2 = st->max_hp / 100;// Officially tested its 1%hp drain. [Jobbie]
    break;

     

     

    Add Below
     

     

    case SC_SOULLINK:
    // Custom Star Gladiator Soullink effect
    if( (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR )
    pc->skill(sd, WZ_VERMILION, 8, 0);
                        pc->skill(sd, LK_PARRYING, 5, 0);
    break;

     

     

    Find:

     

     

    case ITEMID_ORC_LOAD_CARD:
    clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_MVPCARD_ORCLORD);
    break;
    }
    }
    break;

    Add below:

     

    case SC_SOULLINK:
    //  Custom Star Gladiator Soullink effect
    if(/* pc->checkskill(sd, KN_CHARGEATK) && */(sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR)

                        pc->skill(sd, WZ_VERMILION, 0, 0);
                        pc->skill(sd, LK_PARRYING, 0, 0);
    break;

    Find:

     

     if(sc->data[sC_SIEGFRIED]){
    i = sc->data[sC_SIEGFRIED]->val2;
    sd->subele[ELE_WATER] += i;
    sd->subele[ELE_EARTH] += i;
    sd->subele[ELE_FIRE] += i;
    sd->subele[ELE_WIND] += i;
    sd->subele[ELE_POISON] += i;
    sd->subele[ELE_HOLY] += i;
    sd->subele[ELE_DARK] += i;
    sd->subele[ELE_GHOST] += i;
    sd->subele[ELE_UNDEAD] += i;
    }

     

     

    Add Below

     

     

     
    if(sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR) {
    sd->right_weapon.addrace[RC_BOSS] += 100;
    sd->left_weapon.addrace[RC_BOSS] += 100;
    sd->right_weapon.addele[ELE_HOLY] += 100;
    sd->left_weapon.addele[ELE_HOLY] += 100;
    }

     

     

    Find:

     

     

     if(sc->data[sC__UNLUCKY])
    flee2 -= flee2 * sc->data[sC__UNLUCKY]->val2 / 100;
     
    return (short)cap_value(flee2,10,SHRT_MAX);
    }

    Add Below:
     

     

    if(sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_STAR)
     flee2 += 10;


     

    For the parrying, u just need to change your parrying in db/(pre/re)/skill_require_db.txt

    Find:

    356,0,0,50,0,0,0,3,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LK_PARRYING#


    And replace with:

    356,0,0,50,0,0,0,2:3,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LK_PARRYING#



    Just Sharing :))

    1503863_676458982386248_371982294_n.jpg


  7. Original Post : Here

    Any One Can Convert This to Hercules ??

    Thx in advance :)

     

     

    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.../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()0 < 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.../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.../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 && (tsd = map_id2sd(sd->devotion)) && 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; 
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.