Jump to content
  • 0

Make Ruwach work on unhidden enemies


Question

Posted

I'd like to make Ruwach be a continuous AoE that works on unhidden enemies and unhides hidden enemies. Yes, that sounds broken, but it's what I want. I've tried my best to do it myself, but I'm stuck and my src edits just aren't working.

4 answers to this question

Recommended Posts

Posted (edited)

I'm not a coder, but shouldn't you just remove the if portion of the case SC_RUWACH in map/status.c?

 

This one? 

if (tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] ||
				tsc->data[SC_CAMOUFLAGE] || tsc->data[SC_CLOAKINGEXCEED] ||
					tsc->data[SC__INVISIBILITY])) { 
 
 
Or you could just maybe put this code outside the checking?
if(battle_check_target( src, bl, BCT_ENEMY ) > 0)
skill_attack(BF_MAGIC,src,src,bl,AL_RUWACH,1,tick,0);
Edited by kenshn111
Posted

that's the portion that checks for hidden enemies I believe. I'll try it, but I think if I remove that, it won't unhide enemies anymore. I'd still like it to do that as well as work on unhidden enemies.

 

I tried moving ruwach to meteor assault with the splash AoEs, and then adding the skill_attack after the } at the end of the if statement with the if (SC_CLOAKING ||...) thinking it might do both but it just crashed the map server. 

Posted

That's weird. Mine's working:

	case SC_RUWACH: /* Reveal hidden target and deal little dammages if ennemy */
		if (tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] ||
				tsc->data[SC_CAMOUFLAGE] || tsc->data[SC_CLOAKINGEXCEED] ||
					tsc->data[SC__INVISIBILITY])) { //this sc should hit only
			status_change_end(bl, SC_HIDING, INVALID_TIMER);
			status_change_end(bl, SC_CLOAKING, INVALID_TIMER);
			status_change_end(bl, SC_CAMOUFLAGE, INVALID_TIMER);
			status_change_end(bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
		}
			if(battle_check_target( src, bl, BCT_ENEMY ) > 0)
				skill_attack(BF_MAGIC,src,src,bl,AL_RUWACH,1,tick,0);
		if( tsc && tsc->data[SC__SHADOWFORM] && (sce && sce->val4 >0 && sce->val4%2000 == 0) && // for every 2 seconds do the checking
			rnd()%100 < 100-tsc->data[SC__SHADOWFORM]->val1*10 ) // [100 - (Skill Level x 10)] %
				status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
		break;

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