Jump to content
  • 0

Limit on SC_ ? (status such as Poison)


Question

Posted (edited)

Within status.h and status.c, I have created multiple Status for items and skills, but just got into the problem of my last three statuses won't even start upon using some skills, for example, when using Bash it should mark the player with a new status named "SC_BASHMARK", but it won't be applied.
Trying with SC_BURNING or even another new status I made a few days ago, does work, but not with my new desired status, even when using items.

Is there a limit for SC? If so, where can I find it to edit it?

Edited by OscarScorp
Formatting.

3 answers to this question

Recommended Posts

  • 0
Posted

Got my issue fixed.
Apparently, if I want to create a new status with a duration like BURNING, it should be using the already created time durations instead of adding a new time such as I did (3500).

/*========================================== [Playtester]
* Returns the interval for status changes that iterate multiple times
* through the timer (e.g. those that deal damage in regular intervals)
* @param type: Status change (SC_*)
*------------------------------------------*/
static int status_get_sc_interval(enum sc_type type)
{
	switch (type) {
		case SC_POISON:
		case SC_DPOISON:
		case SC_LEECHESEND:
			return 1000;
		case SC_BURNING:
		case SC_PYREXIA:
			return 3000; //I created 3500; here, which I should not do. Fix: use return 3000 or any other already stablished.
		case SC_MAGICMUSHROOM:
			return 4000;
		case SC_STONE:
			return 5000;
		case SC_BLEEDING:
		case SC_TOXIN:
			return 10000;
		default:
			break;
	}
	return 0;
}

 

  • 0
Posted (edited)

do you mean like this?

skill.c / skill.cpp


case SM_BASH:
		if( sd && skill_lv > 5 && pc_checkskill(sd,SM_FATALBLOW)>0 ){
			//BaseChance gets multiplied with BaseLevel/50.0; 500/50 simplifies to 10 [Playtester]
			status_change_start(src,bl,SC_STUN,(skill_lv-5)*sd->status.base_level*10,
				skill_lv,0,0,0,skill_get_time2(SM_FATALBLOW,skill_lv),SCSTART_NONE);
		}
		//Your Custom SC for BASH | 2*skill_lv+10 = is Chance | skill_get_time2 (duration) you can add sum or min for this
		sc_start(src,bl,SC_BASHMARK,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
		sc_start(src,bl,SC_BURNING,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
		sc_start(src,bl,SC_STONE,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
		sc_start(src,bl,SC_MAGICMUSHROOM,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
		sc_start(src,bl,SC_DPOISON,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
		break;

&

skill_cast_db.txt

//-- SM_BASH
5,0,0,0,10000,10000,0,0 // 10000 Means 10 seconds of all your Bash Debuff duration (randomly)

 

Edited by t3quila

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