Informations
Jump to content

Lorem Ipsum...

Click to Dismiss this Notification
Ładowanie danych...

Recommended Posts

 Fixing hp jumps when mounting, dismounting on mount.

 

Find in char.cpp

case APPLY_MAX_HP:
		case APPLY_MAX_HP_PCT:
			{
				int i = GetMaxHP(); if(i == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
				float fRatio = (float)GetMaxHP() / (float)i;
				PointChange(POINT_HP, GetHP() * fRatio - GetHP());
			}
			break;

		case APPLY_MAX_SP:
		case APPLY_MAX_SP_PCT:
			{
				int i = GetMaxSP(); if(i == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
				float fRatio = (float)GetMaxSP() / (float)i;
				PointChange(POINT_SP, GetSP() * fRatio - GetSP());
			}
			break;

 

Change to:

case APPLY_MAX_HP:
		case APPLY_MAX_HP_PCT:
			{
				if(GetMaxHP() == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
			}
			break;

		case APPLY_MAX_SP:
		case APPLY_MAX_SP_PCT:
			{
				if(GetMaxSP() == 0) break;
				PointChange(aApplyInfo[bApplyType].bPointType, iVal);
			}
			break;

 

Edit POINT_MAX_HP:

case POINT_MAX_HP:
            {
                            
                SetPoint(type, GetPoint(type) + amount);
                                int curMaxHP = GetMaxHP();
                int hp = GetRealPoint(POINT_MAX_HP);
                int add_hp = MIN(3500, hp * GetPoint(POINT_MAX_HP_PCT) / 100);
                add_hp += GetPoint(POINT_MAX_HP);
                add_hp += GetPoint(POINT_PARTY_TANKER_BONUS);
                SetMaxHP(hp + add_hp);
                                float fRatio = (float)GetMaxHP() / (float)curMaxHP;
                                PointChange(POINT_HP, GetHP() * fRatio - GetHP());
                val = GetMaxHP();
            }
            break;

 

Edit POINT_MAX_SP:

case POINT_MAX_SP:
            {
                SetPoint(type, GetPoint(type) + amount);
                                int curMaxSP = GetMaxSP();
                int sp = GetRealPoint(POINT_MAX_SP);
                int add_sp = MIN(800, sp * GetPoint(POINT_MAX_SP_PCT) / 100);
                add_sp += GetPoint(POINT_MAX_SP);
                add_sp += GetPoint(POINT_PARTY_SKILL_MASTER_BONUS);
                SetMaxSP(sp + add_sp);
                                float fRatio = (float)GetMaxSP() / (float)curMaxSP;
                                PointChange(POINT_SP, GetSP() * fRatio - GetSP());
                val = GetMaxSP();
            }
            break;

 

 

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
Reply to this topic...

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

spacer.png

Disable AdBlock
The popup will be closed in 5 seconds...