Jump to content
  • 0

Freeze Status modification


Question

Posted

Hi . i would like to ask
can we edit src : in map/status.c

		case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk
			break;

How do we change if 

Mdef = 60-70 mdef user will break freeze within 1 sec

Meanwhile LUK = 150 or higher user hard to get frost

Any ideas ?

 

i did try to edit as below :

		case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->mdef*-10; // Caster can increase final duration with luk
			break;

but still failed .. hope someone could help me . i checked and tested on much src modification on rathena but still failed

 

 

10 answers to this question

Recommended Posts

  • 0
Posted

try this

 

 

Change this

	case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->mdef*-10; // Caster can increase final duration with luk
			break;

to this

	if (status->luk == 150)
        return 0;
            sc_def = status->mdef*100;
            sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
            tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk
            break;

and then , recompile your server

  • 0
Posted

try this

 

 

Change this

	case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->mdef*-10; // Caster can increase final duration with luk
			break;

to this

	if (status->luk == 150)
        return 0;
            sc_def = status->mdef*100;
            sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
            tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk
            break;

and then , recompile your server

 

 

bump .. checked on this .. still not working .. luk total 150 .. total unfrozen ..

  • 0
Posted

The english is hard to understand.

 

You want the duration to be reduced by MDEF but the chance only by LUK?

 

And what do you mean with "Hard to get frozen", what does hard mean? 10%? 1%? 0.1%?

Probably what he mean is if higher luck around 150+ can reduce duration of frost.

Below 150 luck will be same as default.

 

1 question does LUCK affect the MDEF?

  • 0
Posted

MDEF already reduces the duration of Freeze.

 

See: https://raw.githubusercontent.com/rathena/rathena/master/src/map/status.c

 

status_get_sc_def

		case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk
			break;

As tick_def isn't defined it will use the same as sc_def as explained at the top:

	/// Resistance rate: 10000 = 100%
	/// Example:	50% (5000) -> sc_def = 5000 -> 25%;
	///				5000ms -> tick_def = 5000 -> 2500ms
	int sc_def = 0, tick_def = -1; // -1 = use sc_def
	/// Fixed resistance value (after rate calculation)
	/// Example:	25% (2500) -> sc_def2 = 2000 -> 5%;
	///				2500ms -> tick_def2=2000 -> 500ms
	int sc_def2 = 0, tick_def2 = 0;
1 question does LUCK affect the MDEF?

No, but as you can see in the formula quoted above. LUCK of the caster can increase the freeze duration. LUCK of the target reduces chance to be affected but not duration.

  • 0
Posted

MDEF already reduces the duration of Freeze.

 

See: https://raw.githubusercontent.com/rathena/rathena/master/src/map/status.c

 

status_get_sc_def

		case SC_FREEZE:
			sc_def = status->mdef*100;
			sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10;
			tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk
			break;

As tick_def isn't defined it will use the same as sc_def as explained at the top:

	/// Resistance rate: 10000 = 100%
	/// Example:	50% (5000) -> sc_def = 5000 -> 25%;
	///				5000ms -> tick_def = 5000 -> 2500ms
	int sc_def = 0, tick_def = -1; // -1 = use sc_def
	/// Fixed resistance value (after rate calculation)
	/// Example:	25% (2500) -> sc_def2 = 2000 -> 5%;
	///				2500ms -> tick_def2=2000 -> 500ms
	int sc_def2 = 0, tick_def2 = 0;
1 question does LUCK affect the MDEF?

No, but as you can see in the formula quoted above. LUCK of the caster can increase the freeze duration. LUCK of the target reduces chance to be affected but not duration.

 

how about your mdef calculation ? how much minimum mdef do they required to reduce freeze duration sir ?

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