Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-16-2015, 10:57 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

client.cpp - Client::CheckIncreaseSkill

Defensive skills get a chance to increase with every swing an enemy takes at you. Offensive skills get a chance to increase with every swing you take at an enemy.

If you have 2 enemies attacking, you, you'll get twice as many opportunities to skill up defensive skills as offensive skills.

I don't see anything in the skillup code that would affect chances of skillups as you get closer to max for a level. This is basically it:

Code:
// Make sure we're not already at skill cap
	if (skillval < maxskill)
	{
		// the higher your current skill level, the harder it is
		int32 Chance = 10 + chancemodi + ((252 - skillval) / 20);

		Chance = (Chance * RuleI(Character, SkillUpModifier) / 100);

		Chance = mod_increase_skill_chance(Chance, against_who);

		if(Chance < 1)
			Chance = 1; // Make it always possible

		if(zone->random.Real(0, 99) < Chance)
		{
			SetSkill(skillid, GetRawSkill(skillid) + 1);
			Log.Out(Logs::Detail, Logs::Skills, "Skill %d at value %d successfully gain with %d%%chance (mod %d)", skillid, skillval, Chance, chancemodi);
			return true;
		} else {
			Log.Out(Logs::Detail, Logs::Skills, "Skill %d at value %d failed to gain with %d%%chance (mod %d)", skillid, skillval, Chance, chancemodi);
		}
	} else {
		Log.Out(Logs::Detail, Logs::Skills, "Skill %d at value %d cannot increase due to maxmum %d", skillid, skillval, maxskill);
	}
Reply With Quote
  #2  
Old 09-21-2015, 07:21 PM
starblight's Avatar
starblight
Sarnak
 
Join Date: Jan 2007
Posts: 76
Default

So I quickly realized I had not done enough research on the exact problem I was having. I do want to thank people for the info they posted. The source code is definitely interesting.

So my goal was to make skills a lot less of a concern. So I set as I said above the Character::SkillUpModifier to 2400 and while testing it over the next few day I set it to a variety of setting ranging from 300-24000. After leveling a group to level 65 a lot of the skills level at the expected rate. but a few seem to not work as expected. here is a list of ones that level fast up to around 100 then slow down. It seem like a 1% chance is about how slow they get.
  • All weapon skills like 1hs 2hb and so on
  • Swimming
  • Archery
  • Disarm (Broken skill?)

Oddly throwing skill levels up fast.

Class specific skills have not been tested as well. There is a rouge and back stab and pick pocket has been reported as levels up fast.

For now what I am considering as a work around will be to modify the source to change the chance line from 1 to 20
Code:
		if(Chance < 1)
			Chance = 1; // Make it always possible
Code:
		if(Chance < 60)
			Chance = 60; // Make it always possible
(edit)
A quick test on archery and this change worked. You now gain a skill point about 60% of the time.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:02 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3