Jump to content
  • 0

Renewal Miss to High Lv Mob


Question

Posted

Good day everyone,
I'm currently working on modifying the renewal system from my server, and would like to modify the monster behavior, specifically when an user misses attacks against a monster with higher level.
Where can I find this src? I would like to try changing reducing the HIT of the user to increasing the monster's DEF and MDEF instead.

4 answers to this question

Recommended Posts

  • 0
Posted

Well, this adds a flat 80 hit to all players and enemies. While yes, it does help with your initial issue, it also makes flee builds a lot less worthwhile (it gives a free Phreeoni card to everyone). If that works out for you, then that's up to you...! Although it seems to me your biggest concern is the flee bonus that the higher level monsters get. Why not simply remove that instead?

		// Flee
		stat = status->flee;
		stat += level + status->agi + (bl->type == BL_MER ? 0 : bl->type == BL_PC ? status->luk / 5 : 0) + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100
		status->flee = cap_value(stat, 1, SHRT_MAX);

to

		// Flee
		stat = status->flee;
		stat += (bl->type == BL_MOB ? 0 : level) + status->agi + (bl->type == BL_MER ? 0 : bl->type == BL_PC ? status->luk / 5 : 0) + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100
		status->flee = cap_value(stat, 1, SHRT_MAX);

 

  • Upvote 1
  • 0
Posted

Heya,

Well, the function that determines whether you hit or miss the target is is_attack_hitting in battle.cpp. This is purely based on the hit vs flee between you and the target though. Mobs with higher levels have more flee because of the formula they use (in status.cpp):

		// Flee
		stat = status->flee;
		stat += level + status->agi + (bl->type == BL_MER ? 0 : bl->type == BL_PC ? status->luk / 5 : 0) + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100
		status->flee = cap_value(stat, 1, SHRT_MAX);

 

What you're asking for doesn't really fit well with the current system though.

 

  • 0
Posted (edited)

Thanks for your reply Tokei! (Did you know "tokei" means Clock in Japanese?)
I found this in battle.cpp and I think it can solve what I'm looking for, since I'm mostly comparing the pre-renewal experience, whereas players could hit monsters with higher levels but not those with very high Agi/Flee.

#ifdef RENEWAL
				hitrate = 0; //Default hitrate
#else
				hitrate = 80; //Default hitrate
#endif

I'm thinking on changing it so renewal uses the default hitrate from pre-re. Do you think this would be a good change?

Edited by OscarScorp

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