Jump to content
  • 0

Soul Link Strip


Question

Posted
if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15
             &&
            ( 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);
                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;
            }
			
			
        }

this code is working but it only consume gcoat when it success ,i want to make it whether success or fail it will consume gcoat

3 answers to this question

Recommended Posts

Posted (edited)
+ if( !i && ( skill_id == RG_STRIPWEAPON || skill_id == RG_STRIPSHIELD || skill_id == RG_STRIPARMOR || skill_id == RG_STRIPHELM ) )
+ {
+ 	int idx = sd?pc_search_inventory (sd, 7321):-1;
+ 	if( idx >= 0 )
+ 	{
+ 		struct status_change *sc_ = status_get_sc(src);
+ 		if( sc_->data[sC_SPIRIT] )
+ 		{
+ 			if( sc_->data[sC_SPIRIT]->val2 == SL_ROGUE )
+ 			{
+ 				if (rnd()%100 >= ii)
+ 				{
+ 					enum sc_type sc_atk;
+ 					if( skill_id == RG_STRIPWEAPON )
+ 						sc_atk = SC_STRIPWEAPON;
+ 					else if( skill_id == RG_STRIPSHIELD )
+ 						sc_atk = SC_STRIPSHIELD;
+ 					else if( skill_id == RG_STRIPARMOR )
+ 						sc_atk = SC_STRIPARMOR;
+ 					else if( skill_id == RG_STRIPHELM )
+ 						sc_atk = SC_STRIPHELM;
+ 					else
+ 						sc_atk = SC_NONE;
+ 					if( sc_atk != SC_NONE )
+ 					{
+ 						sc_start(bl, sc_atk, 100, skill_lv, d);
+ 						clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ 						i = 1;
+ 					}
+ 				}
+ 				pc_delitem(sd, idx, 1, 0, 1, LOG_TYPE_NONE);
+ 			}
+ 		}
+ 	}
+ }
+

 

 

Edited by Emistry
Please use codebox
  • 0
Posted (edited)
On 8/30/2014 at 11:56 PM, aimee said:
.....
....

Hello sir @aimee i have a error on this sc_start(bl, sc_atk, 100, skill_lv, d); . and i try to remove that . and compile is work but when i try it . its never works the strip with soul link. help please

Edited by Emistry

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...