Jump to content
  • 0

Shadow Form Post-Balanced


Ronaldo07

Question


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  31
  • Reputation:   5
  • Joined:  02/26/12
  • Last Seen:  

In post-balance Update, Shadow Form is revealed by Sight & Ruwach, well there is a chance to resist to them.

The chance of resistance is like that : (100 - skill level X 10) % so it's (100 - (pc_checkskill(bl,SC_SHADOWFORM)) * 10) / 100;

Someone know how to code it? Thanks in advance.....

Edited by Ronaldo07
Link to comment
Share on other sites

7 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  554
  • Reputation:   70
  • Joined:  04/04/12
  • Last Seen:  

@status.c



case SC_CONCENTRATE:
	status_change_end(bl, SC_HIDING, INVALID_TIMER);
	status_change_end(bl, SC_CLOAKING, INVALID_TIMER);
	status_change_end(bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
	status_change_end(bl, SC_CAMOUFLAGE, INVALID_TIMER);
	status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);

	+if ( type == SC_SIGHT && tsc && tsc->data[sC__SHADOWFORM]
	+&& (tsc->data[sC__SHADOWFORM]->val1 * 10)  <  rnd()%100 )
	+	status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);
	break;
case SC_RUWACH: /* ���A�t */
	if (tsc && (tsc->data[sC_HIDING] || tsc->data[sC_CLOAKING] ||
		tsc->data[sC_CAMOUFLAGE] || tsc->data[sC_CLOAKINGEXCEED] ||
			 tsc->data[sC__INVISIBILITY])) {
		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);
		status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);
		if(battle_check_target( src, bl, BCT_ENEMY ) > 0)
			skill_attack(BF_MAGIC,src,src,bl,AL_RUWACH,1,tick,0);
	-}
	+}else if (tsc && tsc->data[sC__SHADOWFORM] 
		+&& (tsc->data[sC__SHADOWFORM]->val1 * 10) < rnd()%100 )  
			+ status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);
	break;

please report any bugs so we can fix it soon..^^

hope it helps... :(

Edited by malufett
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  31
  • Reputation:   5
  • Joined:  02/26/12
  • Last Seen:  

Nice Works, it works fine, thanks!! :( The only detail remaining is Sight must check all 2 Seconds so

case SC_SIGHT: /* ƒTƒCƒg/ƒ‹ƒAƒt */
case SC_RUWACH:
case SC_SIGHTBLASTER:
val3 = skill_get_splash(val2, val1); //Val2 should bring the skill-id.
val2 = tick/250;
- tick = 10;
+ tick = 2000;
break;

?

Edited by Ronaldo07
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  554
  • Reputation:   70
  • Joined:  04/04/12
  • Last Seen:  

ah??I don't get it...hehe.. :(

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  31
  • Reputation:   5
  • Joined:  02/26/12
  • Last Seen:  

Sorry for my english ^^

" Detecting skills such as Ruwach and Sight have a chance of removing Shadow Form. Higher level of Shadow Form have a chance of resisting detecting skills. Shadow Form removal success chance is calculated once every 2 seconds. "

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  554
  • Reputation:   70
  • Joined:  04/04/12
  • Last Seen:  

@status.c

		case SC_RUWACH:
	case SC_SIGHTBLASTER:
		val3 = skill_get_splash(val2, val1); //Val2 should bring the skill-id.
		-val2 = tick/250;
		+val2 = tick/2000;
		tick_time = 10; // [GodLesZ] tick time
		break;

	case SC_SIGHT:
case SC_RUWACH:
case SC_SIGHTBLASTER:
	map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR, bl, sce, type, tick);

	if( --(sce->val2)>0 ){
		-sc_timer_next(250+tick, status_change_timer, bl->id, data);
		+sc_timer_next(2000+tick, status_change_timer, bl->id, data);
		return 0;
	}
	break;

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  737
  • Reputation:   216
  • Joined:  11/29/11
  • Last Seen:  

That not the proper fix, you'll endup changing all ruwach, sight and sightblaster here, wich mean instead when using ruwach he will dehide every 250ms hidden he will do it every 2s.

Sound good for shadowform but this will also affect normal hide and such => nerfing ruwach.

The easier way to do this is to use

sc->data[sC__SHADOWFORM]->val4 wich is a 1s timer, if %2==0 dehide, if not do nothing.

Mean you could try to dehide every 2s : t[0;1[ => can dehide; t[1;2] => can't etc etc...

Only issue now it's since our ruwach will pass 4x in t[0;1[ we should mark if we already attempt it once.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  31
  • Reputation:   5
  • Joined:  02/26/12
  • Last Seen:  

Yeah, of course we dunno the real information. Is only shadow form checked all 2seconds or all ruwach detects? ^^ I will take maluffet solution for the moment (thanks) cuz i dunno how to code yours. Thanks anyway =)

Link to comment
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.   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.

×
×
  • Create New...