EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EvEMath::Skill Namespace Reference

Functions

uint32 PointsAtLevel (uint8 level, float rank)
 
uint8 PointsPerMinute (uint8 pAttr, uint8 sAttr)
 
uint8 LevelForPoints (uint32 currentSP, uint8 rank)
 
int64 EndTime (uint32 currentSP, uint32 nextSP, uint8 SPMin, int64 timeNow)
 
int64 StartTime (uint32 currentSP, uint32 nextSP, uint8 SPMin, int64 timeNow)
 

Function Documentation

int64 EvEMath::Skill::EndTime ( uint32  currentSP,
uint32  nextSP,
uint8  SPMin,
int64  timeNow 
)

Definition at line 46 of file EvEMath.cpp.

References EvE::Time::Minute.

Referenced by Character::AddToSkillQueue(), and Character::LoadPausedSkillQueue().

47 {
48  if (currentSP >= nextSP)
49  return 0;
50  return ((((nextSP - currentSP) / SPMin) * EvE::Time::Minute) + timeNow);
51 }

Here is the caller graph for this function:

uint8 EvEMath::Skill::LevelForPoints ( uint32  currentSP,
uint8  rank 
)

Definition at line 25 of file EvEMath.cpp.

References EvESkill::DIVCONSTANT, EvESkill::MAXSKILLLEVEL, EvE::min(), and EvESkill::skillPointMultiplier.

Referenced by Skill::GetLevelForSP().

26 {
27  uint16 baseSLC = rank * EvESkill::skillPointMultiplier;
28  if (baseSLC == 0)
29  return 0;
30  if (baseSLC > currentSP)
31  return 0;
32  int8 ret = log(currentSP / baseSLC) / EvESkill::DIVCONSTANT + 1;
34 }
unsigned __int8 uint8
Definition: eve-compat.h:46
double min(double x, double y)
Definition: misc.h:95
const uint8 skillPointMultiplier
Definition: EvEMath.h:20
const float DIVCONSTANT
Definition: EvEMath.h:21
signed __int8 int8
Definition: eve-compat.h:45
const uint8 MAXSKILLLEVEL
Definition: EvEMath.h:19
unsigned __int16 uint16
Definition: eve-compat.h:48

Here is the call graph for this function:

Here is the caller graph for this function:

uint32 EvEMath::Skill::PointsAtLevel ( uint8  level,
float  rank 
)

Definition at line 17 of file EvEMath.cpp.

References EvESkill::MAXSKILLLEVEL, and EvESkill::skillPointMultiplier.

Referenced by Skill::GetSPForLevel().

18 {
19  if (level > EvESkill::MAXSKILLLEVEL)
21  float ret = pow(sqrt(32), (level -1)) * EvESkill::skillPointMultiplier * rank;
22  return (uint32)ceil(ret);
23 }
const uint8 skillPointMultiplier
Definition: EvEMath.h:20
const uint8 MAXSKILLLEVEL
Definition: EvEMath.h:19
unsigned __int32 uint32
Definition: eve-compat.h:50

Here is the caller graph for this function:

uint8 EvEMath::Skill::PointsPerMinute ( uint8  pAttr,
uint8  sAttr 
)

Definition at line 36 of file EvEMath.cpp.

Referenced by Character::GetSPPerMin().

37 {
38  return (pAttr + (0.5f * sAttr));
39 }

Here is the caller graph for this function:

int64 EvEMath::Skill::StartTime ( uint32  currentSP,
uint32  nextSP,
uint8  SPMin,
int64  timeNow 
)

Definition at line 41 of file EvEMath.cpp.

References EvE::Time::Minute.

42 {
43  return (timeNow - (((nextSP - currentSP) / SPMin) * EvE::Time::Minute));
44 }