mawjustin Posted January 8, 2021 Group: Members Topic Count: 48 Topics Per Day: 0.01 Content Count: 124 Reputation: 6 Joined: 09/26/14 Last Seen: August 20, 2024 Share Posted January 8, 2021 (edited) Hi Team, How do we do this? bypass when in Soul Link? I understand that this enables Dispel on GTB. But can we add an additional script that it will only work if the player (Sage/Professor) is on Soul Link? if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && rnd()%100 > 30 )) break; I tried this, but no luck. if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_SAGE && rnd()%100 > 30 )) break; This is from src/map/skill.cpp case SA_DISPELL: if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1) { if (sd && dstsd && !map_flag_vs(sd->bl.m) && (!sd->duel_group || sd->duel_group != dstsd->duel_group) && (!sd->status.party_id || sd->status.party_id != dstsd->status.party_id)) break; // Outside PvP it should only affect party members and no skill fail message clif_skill_nodamage(src,bl,skill_id,skill_lv,1); if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel. || rnd()%100 >= 50+10*skill_lv) { if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } if((status_isimmune(bl) &&!tsc->data[SC_HERMODE] && rnd()%100 > 30 )) break; //Remove bonus_script by Dispell if (dstsd) pc_bonus_script_clear(dstsd,BSF_REM_ON_DISPELL); if(!tsc || !tsc->count) break; for(i=0;i<SC_MAX;i++) { if (!tsc->data[i]) continue; switch (i) { Edit: Found a fix on this one: from Just change clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); to clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); And fix the typo.. from sC to SC case SA_DISPELL: if (flag&1 || (i = skill_get_splash(skill_id, skill_lv)) < 1) { if (sd && dstsd && !map_flag_vs(sd->bl.m) && (!sd->duel_group || sd->duel_group != dstsd->duel_group) && (!sd->status.party_id || sd->status.party_id != dstsd->status.party_id)) break; // Outside PvP it should only affect party members and no skill fail message clif_skill_nodamage(src,bl,skill_id,skill_lv,1); if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel. || rnd()%100 >= 50+10*skill_lv) { if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } if(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_SAGE && status_isimmune(bl) && !tsc->data[SC_HERMODE] && rnd()%100 < 70 || status_isimmune(bl) && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_SAGE) ){ if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } //Remove bonus_script by Dispell Edited January 8, 2021 by mawjustin found a fix. 1 Quote Link to comment Share on other sites More sharing options...
0 Rook1es Posted February 23, 2021 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 102 Reputation: 5 Joined: 06/21/15 Last Seen: Yesterday at 01:25 AM Share Posted February 23, 2021 Hello! is chance percentage working? i tried this before when i change to low chances it keeps dispel, in short chance of percentage is not working Quote Link to comment Share on other sites More sharing options...
0 BeWan Posted February 24, 2021 Group: Members Topic Count: 20 Topics Per Day: 0.01 Content Count: 403 Reputation: 249 Joined: 07/04/19 Last Seen: Wednesday at 08:46 AM Share Posted February 24, 2021 separate the condition to make it work. Quote Link to comment Share on other sites More sharing options...
0 Rook1es Posted February 25, 2021 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 102 Reputation: 5 Joined: 06/21/15 Last Seen: Yesterday at 01:25 AM Share Posted February 25, 2021 17 hours ago, BeWan said: separate the condition to make it work. Hello sir, how to separate it to make it work? Quote Link to comment Share on other sites More sharing options...
Question
mawjustin
Hi Team,
How do we do this? bypass when in Soul Link?
I understand that this enables Dispel on GTB. But can we add an additional script that it will only work if the player (Sage/Professor) is on Soul Link?
I tried this, but no luck.
This is from src/map/skill.cpp
Edit:
Found a fix on this one: from
Just change
to
And fix the typo.. from sC to SC
found a fix.
Link to comment
Share on other sites
3 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.