Jump to content
  • 0

Problem About Asura Strike


Question

Posted

How to remove the Asura Strike(Guillotine Fist) Buffs, because after i used asura, that buffs appear and prevent sp recovery for 10secs., like when i used YGG berry, only hp is restored because of the buffs.. How to remove that buffs sir?

 

post-21493-0-50333200-1441880227_thumb.jpg

6 answers to this question

Recommended Posts

Posted

skill_db.txt

271,-2,6,1,0,0x60,0,5,1,yes,0,0x40000,0,weapon,0,0x0, MO_EXTREMITYFIST,Asura Strike

 

item_db.txt

607,Yggdrasilberry,Yggdrasil Berry,0,5000,,300,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 100,100; },{},{}

Posted
case MO_EXTREMITYFIST:
skillratio += 50 * (7 + sstatus->sp / 10);
skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection
 
 
this script?

/* Splitted off from skill_additional_effect, which is never called when the
 * attack skill kills the enemy. Place in this function counter status effects
 * when using skills (eg: Asura's sp regen penalty, or counter-status effects
 * from cards) that will take effect on the source, not the target. [skotlex]
 * Note: Currently this function only applies to Extremity Fist and BF_WEAPON
 * type of skills, so not every instance of skill_additional_effect needs a call
 * to this one.
 */
int skill_counter_additional_effect (struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, unsigned int tick)
{
int rate;
struct map_session_data *sd=NULL;
struct map_session_data *dstsd=NULL;
 
nullpo_ret(src);
nullpo_ret(bl);
 
if(skill_id > 0 && !skill_lv) return 0; // don't forget auto attacks! - celest
 
sd = BL_CAST(BL_PC, src);
dstsd = BL_CAST(BL_PC, bl);
 
if(dstsd && attack_type&BF_WEAPON) { //Counter effects.
enum sc_type type;
uint8 i;
unsigned int time = 0;
 
for (i = 0; i < ARRAYLENGTH(dstsd->addeff_atked) && dstsd->addeff_atked.flag; i++) {
rate = dstsd->addeff_atked.rate;
if (attack_type&BF_LONG)
rate += dstsd->addeff_atked.arrow_rate;
if (!rate)
continue;
 
if ((dstsd->addeff_atked.flag&(ATF_LONG|ATF_SHORT)) != (ATF_LONG|ATF_SHORT)) { //Trigger has range consideration.
if((dstsd->addeff_atked.flag&ATF_LONG && !(attack_type&BF_LONG)) ||
(dstsd->addeff_atked.flag&ATF_SHORT && !(attack_type&BF_SHORT)))
continue; //Range Failed.
}
type = dstsd->addeff_atked.sc;
time = dstsd->addeff_atked.duration;
 
if (dstsd->addeff_atked.flag&ATF_TARGET)
status_change_start(src,src,type,rate,7,0,0,0,time,SCSTART_NONE);
 
if (dstsd->addeff_atked.flag&ATF_SELF && !status_isdead(bl))
status_change_start(src,bl,type,rate,7,0,0,0,time,SCSTART_NONE);
}
}

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