mirror of
https://github.com/EQEmu/Server.git
synced 2026-02-19 03:22:29 +00:00
* [Skills] Exponential Decay Skill Up Formula Added an exponential decay skill up formula option. The current, linear, formula results in negative chances to skill up, which have been mitigated via a multiplier and minimum of 1% * [Skills]Configurable Exponential Decay Formala for Skill Up What this fixes: The existing formula for determining whether or not to skill up could result in negative chances, and made an assumption around the number 252. This would ultimately result in an override that would set the chance to 1. My fix: I created 2 new rules: Character:SkillUpMaximumChancePercentage Character:SkillUpMinimumChancePercentage I changed the forumla to: chance = ((max - min + skill_modification) * (.99^skill)) + min This results in an exponential decay that starts at skill-modified maximum and approaches minimum. I decided that max-min+skill_modification should never be less than min I also decided to continue to apply the Character:SkillUpModifier rule post-calculation. I do not really think this is necessary anymore, given this new formula, but we can discuss removing it. I chose 25 and 2 as default maximum and minimum based on feel. Related method signature fix: Client::mod_increase_skill_chance was changed to return a double and accept a double as an input for chance. This matches the actual data types provided while calling the method and eliminates some type coersion and resultant truncation. Right now, this method doesn't do anything, but in the future we could implement skill-specific training dummies that accelerate skill ups. I deduce that this is the purpose of this method call. * [Skills]Configurable Exponential Decay Formula for Skill Up What this fixes: The existing formula for determining whether or not to skill up could result in negative chances, and made an assumption around the number 252. This would ultimately result in an override that would set the chance to 1. My fix: I created 2 new rules: Character:SkillUpMaximumChancePercentage Character:SkillUpMinimumChancePercentage I changed the forumla to: chance = ((max - min + skill_modification) * (.99^skill)) + min This results in an exponential decay that starts at skill-modified maximum and approaches minimum. I decided that max-min+skill_modification should never be less than min I also decided to continue to apply the Character:SkillUpModifier rule post-calculation. I do not really think this is necessary anymore, given this new formula, but we can discuss removing it. I chose 25 and 2 as default maximum and minimum based on feel. Related method signature fix: Client::mod_increase_skill_chance was changed to return a double and accept a double as an input for chance. This matches the actual data types provided while calling the method and eliminates some type coersion and resultant truncation. Right now, this method doesn't do anything, but in the future we could implement skill-specific training dummies that accelerate skill ups. I deduce that this is the purpose of this method call. * fixup! [Skills]Configurable Exponential Decay Formula for Skill Up * fixup! [Skills]Configurable Exponential Decay Formula for Skill Up
EQEmulator Core Server
| Travis CI (Linux) | Appveyor (Windows x86) | Appveyor (Windows x64) |
|---|---|---|
EQEmulator is a custom completely from-scratch open source server implementation for EverQuest built mostly on C++
- MySQL/MariaDB is used as the database engine (over 200+ tables)
- Perl and LUA are both supported scripting languages for NPC/Player/Quest oriented events
- Open source database (Project EQ) has content up to expansion OoW (included in server installs)
- Game server environments and databases can be heavily customized to create all new experiences
- Hundreds of Quests/events created and maintained by Project EQ
Server Installs
| Windows | Linux | |
|---|---|---|
| Install Count |
> Windows
> Debian/Ubuntu/CentOS/Fedora
-
You can use curl or wget to kick off the installer (whichever your OS has)
curl -O https://raw.githubusercontent.com/EQEmu/Server/master/utils/scripts/linux_installer/install.sh install.sh && chmod 755 install.sh && ./install.sh
wget --no-check-certificate https://raw.githubusercontent.com/EQEmu/Server/master/utils/scripts/linux_installer/install.sh -O install.sh && chmod 755 install.sh && ./install.sh
Supported Clients
| Titanium Edition | Secrets of Faydwer | Seeds of Destruction | Underfoot | Rain of Fear |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Bug Reports 
- Please use the issue tracker provided by GitHub to send us bug reports or feature requests.
- The EQEmu Forums are also a place to submit and get help with bugs.
Contributions 
- The preferred way to contribute is to fork the repo and submit a pull request on
GitHub. If you need help with your changes, you can always post on the forums or
try Discord. You can also post unified diffs (
git diffshould do the trick) on the Server Code Submissions forum, although pull requests will be much quicker and easier on all parties.
Contact 
- Discord Channel: https://discord.gg/QHsm7CD
- User Discord Channel:
#general - Developer Discord Channel:
#eqemucoders
Resources
Related Repositories
- ProjectEQ Quests
- Maps
- Installer Resources
- Zone Utilities - Various utilities and libraries for parsing, rendering and manipulating EQ Zone files.
Other License Info
- The server code and utilities are released under GPLv3
- We also include some small libraries for convienence that may be under different licensing
- SocketLib - GPL LibXML
- zlib - zlib license
- MariaDB/MySQL - GPL
- GPL Perl - GPL / ActiveState (under the assumption that this is a free project)
- CPPUnit - GLP StringUtilities - Apache
- LUA - MIT
Contributors
Languages
C++
93.4%
C
2.9%
C#
2.1%
Python
0.5%
Perl
0.3%
Other
0.5%




