123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #include "StdAfx.h"
- #include "skills.h"
- #include "TurbineXPTable.h"
- #include "Rules.h"
- const char *GetSkillName(eSkill index)
- {
- switch (index)
- {
- case eAxe: return "Axe";
- case eBow: return "Bow";
- case eCrossbow: return "Crossbow";
- case eDagger: return "Dagger";
- case eMace: return "Mace";
- case eMeleeDefense: return "Melee Defense";
- case eMissileDefense: return "Missile Defense";
- case eSpear: return "Spear";
- case eStaff: return "Staff";
- case eSword: return "Sword";
- case eThrownWeapons: return "Thrown Weapons";
- case eUnarmedCombat: return "Unarmed Combat";
- case eArcaneLore: return "Arcane Lore";
- case eMagicDefense: return "Magic Defense";
- case eManaConversion: return "Mana Conversion";
- case eAppraiseItem: return "Appraise Item";
- case eAssessPerson: return "Assess Person";
- case eDeception: return "Deception";
- case eHealing: return "Healing";
- case eJump: return "Jump";
- case eLockpick: return "Lockpick";
- case eRun: return "Run";
- case eAssessCreature: return "Assess Creature";
- case eAppraiseWeapon: return "Appraise Weapon";
- case eAppraiseArmor: return "Appraise Armor";
- case eAppraiseMagicItem: return "Appraise Magic Item";
- case eCreatureEnchantment: return "Creature Enchantment";
- case eItemEnchantment: return "Item Enchantment";
- case eLifeMagic: return "Life Magic";
- case eWarMagic: return "War Magic";
- case eLeadership: return "Leadership";
- case eLoyalty: return "Loyalty";
- case eFletching: return "Fletching";
- case eAlchemy: return "Alchemy";
- case eCooking: return "Cooking";
- default: return "";
- }
- }
- DWORD GetTrainedMaxXP()
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetTrainedMaxXP();
- else
- return 0;
- }
- DWORD GetSpecializedMaxXP()
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetSpecializedMaxXP();
- else
- return 0;
- }
- DWORD GetTrainedXP(DWORD Level)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetTrainedXP(Level);
- else
- return 0;
- }
- DWORD GetTrainedLevel(DWORD XP)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetTrainedLevel(XP);
- else
- return 0;
- }
- DWORD GetSpecializedXP(DWORD Level)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetSpecializedXP(Level);
- else
- return 0;
- }
- DWORD GetSpecializedLevel(DWORD XP)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetSpecializedLevel(XP);
- else
- return 0;
- }
- DWORD GetLevelXP(DWORD Level)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetLevelXP(Level);
- else
- return 0;
- }
- DWORD GetLevel(DWORD XP)
- {
- XPTABLE* pXPTable = g_pGameRules->GetXPTable();
- if (pXPTable)
- return pXPTable->GetLevel(XP);
- else
- return 0;
- }
- //direct client code
- float Calc_BurdenMod(float flBurden)
- {
- if (flBurden < 1.0f)
- return 1.0f;
- if (flBurden < 2.0f)
- return (2.0f - flBurden);
- return 0.0f;
- }
- //direct client code
- float Calc_AnimSpeed(DWORD dwRunSkill, float flBurden)
- {
- float flBurdenMod = Calc_BurdenMod(flBurden);
- float fSpeed = (float)dwRunSkill;
- if (fSpeed == 800.0f)
- return (18.0f / 4.0f);
- fSpeed /= (fSpeed + 200.0f);
- fSpeed *= 11.0f * flBurdenMod;
- return ((fSpeed + 4.0f) / 4.0f);
- }
- DWORD GetSkillMax(SKILL *pSkill, float fVitae)
- {
- //MUST ALSO ADD ATTRIBUTES VIA FORMULAS :(
- return (pSkill->data.bonus + pSkill->data.raises);
- }
|