if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && ( skill_id == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ) || ( skill_id == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ) || ( skill_id == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ) || ( skill_id == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) { int item_id = 7139; // Glistening Coat int ii; ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id ); if ( ii < MAX_INVENTORY ) { pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME); if( rand() %100 < 35 ){ switch ( skill_id ) { case RG_STRIPWEAPON: status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER ); sc_start( NULL, bl, SC_STRIPWEAPON, 100, skill_lv, d ); break; case RG_STRIPSHIELD: status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER ); sc_start( NULL, bl, SC_STRIPSHIELD, 100, skill_lv, d ); break; case RG_STRIPARMOR: status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER ); sc_start( NULL, bl, SC_STRIPARMOR, 100, skill_lv, d ); break; case RG_STRIPHELM: status_change_end( bl, SC_CP_HELM, INVALID_TIMER ); sc_start( NULL, bl, SC_STRIPHELM, 100, skill_lv, d ); break; } } clif_skill_nodamage( src, bl, skill_id, skill_lv, i ); break; } }