Technical skill information

From TheManaWorld

Jump to: navigation, search

This article is outdated

Parts of this article are outdated and do no longer represent the current state of the project or the intentions of the development team.

  • Attention Programmers

When calling for skills from the player's array of skill list, be sure to call the function below, which retrieves the level of the given skill. This function is to be implemented later in the server

int PLAYER_INFO::GetSkill(int n_ID, int n_XP = 1, bool n_base = false)
parameters
n_ID - determines the skill returned.
n_XP - adds this amount of exp to the skill exp level before returning the value.
n_base - if this is set to true, the character's actual skill level will be returned, regardless of equipment or any other modifiers.
  • Data Structures:

The structure SKILL is a collection of 3 values. It is declared in skill.h

level (short) - the level of the skill
exp (short) - the amount of exp the skill has
mod (double) - the current exp modifier the skill is receiving
  • Skill names: Skill names are stored as character strings in the global array ""char* skill_name()""(use braces). Inserting the skill's ID value here will return it's name. skill_name is declared in newskill.cpp, and can be used with a simple extern call.

Skill evolution should (just an idea) be calculated using this formulae:

nxp = ( b * ( n ^ g ) ) / ( x / m )

Where:

  • nxp - XP necessary to upgrade to the next lvl (the result of the formula)
  • b - Your current skill level (base)
  • n - The next level (b+1)
  • g - Exponential Growth constant (bigger is harder to lvl up, default 1.2)
  • x - The median skill level (the point at which growth starts to become harder)
  • m - average of all skills in the skill group

This skill evolution should be evaluated per group, not using all skills as parameter. (See groups at the bottom of page MasterSkillList)

The idea behind this formula is: It's easier to get the lower levels of a skill. Average difficulty for average levels. When you start to raise alot of skills to a high level, each one gets harder based on the total skill level. --imorgado

Personal tools