Jump to content
  • 0

Adding "Status Effect" to activate on "Self" after casting a Skill


Question

Posted

Hello,

I'm currently working on many changes in my server and I would like to have some help on this one particular change I'm working on. I want to make the player get a Move Speed bonus right after using the skill Back Slide (Thief Quest Skill), It may or not include stats bonus (AGI, Flee, etc) but I'm focused on adding the "AGI UP" effect (May or not add visual effect). If anybody could help me to understand how can one effect to happen on self after casting a skill I would be very happy. I know so far how to do it, but only when I have to apply effects to Target skills (like Fire Bolts leaving target on burn, Frost Bolt leaving target slow, etc). Also, If you can't give the code lines or say exactly how I should edit my code, all I need is a few directions to understand what I need to do.

Thank you for you time, I very much appreciate your help.

5 answers to this question

Recommended Posts

  • 0
Posted
On 10/3/2019 at 7:45 AM, kyenard said:

It took me sometime still after you telling me what to do, till I figured out how to actually set everything. Thanks for the help.

so what did you do? would you like to post an example so others can see.

  • 0
Posted
6 hours ago, tribal0306 said:

so what did you do? would you like to post an example so others can see.

You have to create a condition on skill.c

If your skill currently don't have any conditions bounded to it, you have to create the lines:

case XX_YOURSKILL:
sc_start(src,bl,SC_EFFECT,EFFECTCHANCE%,1,skill_get_time(skill_id, skill_lv));
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;


//Change this for the Skill you modifying, just like TF_BACKSLIDING
//This is just a sample. Change SC_EFFECT to whatever you want, like SC_SLOWDOWN, SC_BLIND, etc. On EFFECTCHANGE% a number between 1 and 100.
//The third line is what makes a Non-Offensive or Status Skill to activate SC Effects after use.
//Close your condition with a final line, "break;"

As for my code, this is how I'm using:

	case TF_BACKSLIDING: //This is the correct implementation as per packet logging information. [Skotlex]
		sc_start(src,bl,SC_INCREASEAGI,100,1,skill_get_time(skill_id, skill_lv)); //Cast Agi UP Level 1
		skill_blown(src,bl,skill_get_blewcount(skill_id,skill_lv),unit_getdir(bl),(enum e_skill_blown)(BLOWN_IGNORE_NO_KNOCKBACK|BLOWN_DONT_SEND_PACKET));
		clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
		clif_blown(src); // Always blow, otherwise it shows a casting animation. [Lemongrass]
		break;

If you need some other reference, try to read the lines for SM_ENDURE (Endure Skill) for example. All self-buffing / status skills need to be marked as clif_skill_nodamage before they can generate a effect.

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