Jump to content

Question

3 answers to this question

Recommended Posts

Posted

http://svn.code.sf.net/p/rathena/svn/trunk/src/map/status.c

#ifdef RENEWAL // Renewal formulas
	if (bl->type == BL_MOB) {
		//Hit
		stat = status->hit;
		stat += level + status->dex + 175;
		status->hit = cap_value(stat,1,SHRT_MAX);
		//Flee
		stat = status->flee;
		stat += level + status->agi + 100;
		status->flee = cap_value(stat,1,SHRT_MAX);
	} else if (bl->type == BL_HOM) {
		status->hit = cap_value(level + status->dex + 150,1,SHRT_MAX); // base level + dex + 150
		status->flee = cap_value(level + status->agi + level/10,1,SHRT_MAX); // base level + agi + base level/10
	} else {
		//Hit
		stat = status->hit;
		stat += level + status->dex + status->luk/3 + 175; // base level + ( every 1 dex = +1 hit ) + (every 3 luk = +1 hit) + 175
		status->hit = cap_value(stat,1,SHRT_MAX);
		//Flee
		stat = status->flee;
		stat += level + status->agi + status->luk/5 + 100; // base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100
		status->flee = cap_value(stat,1,SHRT_MAX);
	}
	status->matk_min = status->matk_max = status_base_matk(status, level);
	//Def2
	stat = status->def2;
	stat += (int)(((float)level + status->vit)/2 + ((float)status->agi/5)); // base level + (every 2 vit = +1 def) + (every 5 agi = +1 def)
	status->def2 = cap_value(stat,0,SHRT_MAX);
	//MDef2
	stat = status->mdef2;
	stat += (int)(status->int_ + ((float)level/4) + ((float)status->dex/5) + ((float)status->vit/5)); // (every 4 base level = +1 mdef) + (every 1 int = +1 mdef) + (every 5 dex = +1 mdef) + (every 5 vit = +1 mdef)
	status->mdef2 = cap_value(stat,0,SHRT_MAX);
#else
	status->matk_min = status_base_matk_min(status);
	status->matk_max = status_base_matk_max(status);
	//Hit
	stat = status->hit;
	stat += level + status->dex;
	status->hit = cap_value(stat,1,SHRT_MAX);
	//Flee
	stat = status->flee;
	stat += level + status->agi;
	status->flee = cap_value(stat,1,SHRT_MAX);
	//Def2
	stat = status->def2;
	stat += status->vit;
	status->def2 = cap_value(stat,0,SHRT_MAX);
	//MDef2
	stat = status->mdef2;
	stat += status->int_ + (status->vit>>1);
	status->mdef2 = cap_value(stat,0,SHRT_MAX);
#endif
Posted

Reduce it for like how much %?

 

This reduces it by 10%.

 

 

status.c

     //Flee
     stat = status->flee;
     stat += level + status->agi;
+     if( bl->type == BL_PC && (((TBL_PC*)bl)->class_&MAPID_UPPERMASK) == MAPID_BARDDANCER)
+           stat -= stat * 10 / 100;
     status->flee = cap_value(stat,1,SHRT_MAX);

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