koko24 1 Posted June 11, 2015 How to remove Dispel from Tarot Skills? or if possible how can GTB block Dispel from Tarot? case 2: // all buffs removed status->change_clear_buffs(bl,1); Quote Share this post Link to post Share on other sites
0 Kuya Jeo 120 Posted June 11, 2015 @@koko24 yes you can remove that line then adjust the case it should be like this case CG_TAROTCARD: { int count = -1; if (tsc && tsc->data[type]) { map->freeblock_unlock(); return 0; } if( rnd() % 100 > skill_lv * 8 || (dstmd && ((dstmd->guardian_data && dstmd->class_ == MOBID_EMPERIUM) || mob_is_battleground(dstmd))) ) { if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map->freeblock_unlock(); return 0; } status_zap(src,0,skill->db[skill->get_index(skill_id)].sp[skill_lv]); // consume sp only if succeeded [Inkfish] do { int eff = rnd() % 14; if( eff == 5 ) clif->specialeffect(src, 528, AREA); else clif->specialeffect(bl, 523 + eff, AREA); switch (eff) { case 0: // heals SP to 0 status_percent_damage(src, bl, 0, 100, false); break; case 1: // matk halved sc_start(src,bl,SC_INCMATKRATE,100,-50,skill->get_time2(skill_id,skill_lv)); break; //case 2: // all buffs removed // status->change_clear_buffs(bl,1); // break; case 2: // 1000 damage, random armor destroyed { status_fix_damage(src, bl, 1000, 0); clif->damage(src,bl,0,0,1000,0,0,0); if( !status->isdead(bl) ) { int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_SHOES, EQP_GARMENT }; skill->break_equip(bl, where[rnd()%5], 10000, BCT_ENEMY); } } break; case 3: // atk halved sc_start(src,bl,SC_INCATKRATE,100,-50,skill->get_time2(skill_id,skill_lv)); break; case 4: // 2000HP heal, random teleported status->heal(src, 2000, 0, 0); if( !map_flag_vs(bl->m) ) unit->warp(bl, -1,-1,-1, CLR_TELEPORT); break; case 5: // random 2 other effects if (count == -1) count = 3; else count++; //Should not re-trigger this one. break; case 6: // stop freeze or stoned { enum sc_type sc[] = { SC_STOP, SC_FREEZE, SC_STONE }; sc_start(src,bl,sc[rnd()%3],100,skill_lv,skill->get_time2(skill_id,skill_lv)); } break; case 7: // curse coma and poison sc_start(src,bl,SC_COMA,100,skill_lv,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_CURSE,100,skill_lv,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_POISON,100,skill_lv,skill->get_time2(skill_id,skill_lv)); break; case 8: // confusion sc_start(src,bl,SC_CONFUSION,100,skill_lv,skill->get_time2(skill_id,skill_lv)); break; case 9: // 6666 damage, atk matk halved, cursed status_fix_damage(src, bl, 6666, 0); clif->damage(src,bl,0,0,6666,0,0,0); sc_start(src,bl,SC_INCATKRATE,100,-50,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_INCMATKRATE,100,-50,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_CURSE,skill_lv,100,skill->get_time2(skill_id,skill_lv)); break; case 10: // 4444 damage status_fix_damage(src, bl, 4444, 0); clif->damage(src,bl,0,0,4444,0,0,0); break; case 11: // stun sc_start(src,bl,SC_STUN,100,skill_lv,5000); break; case 12: // atk,matk,hit,flee,def reduced sc_start(src,bl,SC_INCATKRATE,100,-20,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_INCMATKRATE,100,-20,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_INCHITRATE,100,-20,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_INCFLEERATE,100,-20,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_INCDEFRATE,100,-20,skill->get_time2(skill_id,skill_lv)); sc_start(src,bl,type,100,skill_lv,skill->get_time2(skill_id,skill_lv)); break; default: break; } } while ((--count) > 0); clif->skill_nodamage(src,bl,skill_id,skill_lv,1); } break; Quote Share this post Link to post Share on other sites
How to remove Dispel from Tarot Skills? or if possible how can GTB block Dispel from Tarot?
Share this post
Link to post
Share on other sites