Jump to content
  • 0

Updated Soul Link Modifications for Highrate Server


Question

4 answers to this question

Recommended Posts

  • 1
Posted (edited)

you can still use the old Soul Linker Mod

sample of Old Code

		case CR_SHIELDCHARGE:
			if (sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_CRUSADER)
				skillratio += 60 * skill_lv;
			else
				skillratio += 20 * skill_lv;
			break;

latest rathena changed the sd->sc.data[SC_SPIRIT] to sd->sc.getSCE(SC_SPIRIT)

new code will be 

if (sd && sd->sc.getSCE(SC_SPIRIT) && sd->sc.getSCE(SC_SPIRIT)->val2 == SL_CRUSADER)

 

Edited by Bringer
  • 0
Posted (edited)
1 hour ago, Bringer said:

you can still use the old Soul Linker Mod

sample of Old Code

		case CR_SHIELDCHARGE:
			if (sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_CRUSADER)
				skillratio += 60 * skill_lv;
			else
				skillratio += 20 * skill_lv;
			break;

latest rathena changed the sd->sc.data[SC_SPIRIT] to sd->sc.getSCE(SC_SPIRIT)

new code will be 

if (sd && sd->sc.getSCE(SC_SPIRIT) && sd->sc.getSCE(SC_SPIRIT)->val2 == SL_CRUSADER)

 

You're always a life saver Bringer. Will try these codes. How about the glist consume per success strip?

Edited by mauiboy
  • 0
Posted
2 hours ago, mauiboy said:

You're always a life saver Bringer. Will try these codes. How about the glist consume per success strip?

 		//Nothing stripped.
-		if( sd && !i )
+		if (sd && !i)
 			clif_skill_fail( *sd, skill_id );
+		if (sd && tsc && sd->sc.getSCE(SC_SPIRIT) && sd->sc.getSCE(SC_SPIRIT)->val2 == SL_ROGUE) {
+			int item_id = 7139; // Glistening Coat
+			int ii;
+			ARR_FIND(0, MAX_INVENTORY, ii, sd->inventory.u.items_inventory[ii].nameid == item_id);
+			if (ii < MAX_INVENTORY) {
+				pc_delitem(sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
+				clif_emotion(src, ET_HUK);
+			}
+		}
 		break;
 	}

 

  • 0
Posted (edited)
On 4/23/2024 at 10:23 AM, Bringer said:
 		//Nothing stripped.
-		if( sd && !i )
+		if (sd && !i)
 			clif_skill_fail( *sd, skill_id );
+		if (sd && tsc && sd->sc.getSCE(SC_SPIRIT) && sd->sc.getSCE(SC_SPIRIT)->val2 == SL_ROGUE) {
+			int item_id = 7139; // Glistening Coat
+			int ii;
+			ARR_FIND(0, MAX_INVENTORY, ii, sd->inventory.u.items_inventory[ii].nameid == item_id);
+			if (ii < MAX_INVENTORY) {
+				pc_delitem(sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
+				clif_emotion(src, ET_HUK);
+			}
+		}
 		break;
 	}

 

Thanks man. I will post an update once I tested the codes.


UPDATE : Bypass strip + glist consume when success working. Thank Bringer for the updated syntax 😉

Edited by mauiboy
  • Like 1

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...