Jump to content
  • 0
Sign in to follow this  
lovesosa

How to disable skill animation and action on some skills?

Question

Hi.  How to disable skill animation and action on certain skills?  I want some items and skills to have no animation on them.  example I want provoke skill to have no animation so when you use it the skill will just be used and the character wont move instead of doing the casting action.  so if i disable action on provoke when I use aloevera my character will also not do any action and self provoke buff will just start.  I attach picture here to show what action im talk about.  this is to prevent character from stopping when attacking enemies when useing aloevera.

 

charsim.png

Edited by lovesosa

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

just adding it to skilleffectinfo doc will override stuff,

 

or you can do this

case SM_PROVOKE:
		case SM_SELFPROVOKE:
		case MER_PROVOKE:
		{
			int failure;
			if( (tstatus->mode&MD_BOSS) || battle->check_undead(tstatus->race,tstatus->def_ele) ) {
				map->freeblock_unlock();
				return 1;
			}
			//TODO: How much does base level affects? Dummy value of 1% per level difference used. [Skotlex]
			clif->skill_nodamage(src,bl,skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id,skill_lv,
				(failure = sc_start(src,bl,type, skill_id == SM_SELFPROVOKE ? 100:( 50 + 3*skill_lv + status->get_lv(src) - status->get_lv(bl)), skill_lv, skill->get_time(skill_id,skill_lv))));
			if( !failure ) {
				if( sd )
					clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0, 0);
				map->freeblock_unlock();
				return 0;
			}
			unit->skillcastcancel(bl, 2);

			if( tsc && tsc->count )
			{
				status_change_end(bl, SC_FREEZE, INVALID_TIMER);
				if( tsc->data[SC_STONE] && tsc->opt1 == OPT1_STONE )
					status_change_end(bl, SC_STONE, INVALID_TIMER);
				status_change_end(bl, SC_SLEEP, INVALID_TIMER);
				status_change_end(bl, SC_TRICKDEAD, INVALID_TIMER);
			}

			if( dstmd )
			{
				dstmd->state.provoke_flag = src->id;
				mob->target(dstmd, src, skill->get_range2(src,skill_id,skill_lv));
			}
		}
			break;

youd have to rip this line apart 

clif->skill_nodamage(src,bl,skill_id,skill_lv,
			                     sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));

and change the last constant to this

		case BD_ADAPTATION:
				clif->skill_nodamage(src,bl,skill_id,skill_lv,-1);
			break;

-1 makes it not display effect, skill still works.. havnt really tested it tho

 

thst means you would have to seperate the sc_start from it.. pretty simple 

Edited by Naruto

Share this post


Link to post
Share on other sites

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

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.