The main release package of Ashita v3. Contains all the needed files for users to get up and running. Used by the launcher/injector to auto-update as well.
https://ashitaxi.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
8.1 KiB
195 lines
8.1 KiB
/** |
|
* Ashita - Copyright (c) 2014 - 2017 atom0s [[email protected]] |
|
* |
|
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. |
|
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to |
|
* Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. |
|
* |
|
* By using Ashita, you agree to the above license and its terms. |
|
* |
|
* Attribution - You must give appropriate credit, provide a link to the license and indicate if changes were |
|
* made. You must do so in any reasonable manner, but not in any way that suggests the licensor |
|
* endorses you or your use. |
|
* |
|
* Non-Commercial - You may not use the material (Ashita) for commercial purposes. |
|
* |
|
* No-Derivatives - If you remix, transform, or build upon the material (Ashita), you may not distribute the |
|
* modified material. You are, however, allowed to submit the modified works back to the original |
|
* Ashita project in attempt to have it added to the original project. |
|
* |
|
* You may not apply legal terms or technological measures that legally restrict others |
|
* from doing anything the license permits. |
|
* |
|
* No warranties are given. |
|
*/ |
|
|
|
#ifndef __ASHITA_AS_FFXI_PLAYER_INCLUDED__ |
|
#define __ASHITA_AS_FFXI_PLAYER_INCLUDED__ |
|
|
|
#if defined (_MSC_VER) && (_MSC_VER >= 1020) |
|
#pragma once |
|
#endif |
|
|
|
namespace Ashita { |
|
namespace FFXI { |
|
struct playerstats_t |
|
{ |
|
int16_t Strength; |
|
int16_t Dexterity; |
|
int16_t Vitality; |
|
int16_t Agility; |
|
int16_t Intelligence; |
|
int16_t Mind; |
|
int16_t Charisma; |
|
}; |
|
|
|
struct playerresists_t |
|
{ |
|
int16_t Fire; |
|
int16_t Ice; |
|
int16_t Wind; |
|
int16_t Earth; |
|
int16_t Lightning; |
|
int16_t Water; |
|
int16_t Light; |
|
int16_t Dark; |
|
}; |
|
|
|
struct combatskill_t |
|
{ |
|
uint16_t Raw; |
|
|
|
uint16_t GetSkill(void) const { return (uint16_t)(this->Raw & 0x7FFF); } |
|
bool IsCapped(void) const { return (this->Raw & 0x8000) == 0 ? false : true; }; |
|
}; |
|
|
|
struct craftskill_t |
|
{ |
|
uint16_t Raw; |
|
|
|
uint16_t GetSkill(void) const { return (this->Raw & 0x1FE0) >> 5; } |
|
uint16_t GetRank(void) const { return (uint16_t)(this->Raw & 0x1F); } |
|
bool IsCapped(void) const { return (this->Raw & 0x8000) >> 15 == 0 ? false : true; }; |
|
}; |
|
|
|
struct combatskills_t |
|
{ |
|
combatskill_t Unknown; |
|
combatskill_t HandToHand; |
|
combatskill_t Dagger; |
|
combatskill_t Sword; |
|
combatskill_t GreatSword; |
|
combatskill_t Axe; |
|
combatskill_t GreatAxe; |
|
combatskill_t Scythe; |
|
combatskill_t Polearm; |
|
combatskill_t Katana; |
|
combatskill_t GreatKatana; |
|
combatskill_t Club; |
|
combatskill_t Staff; |
|
combatskill_t Unused0000; |
|
combatskill_t Unused0001; |
|
combatskill_t Unused0002; |
|
combatskill_t Unused0003; |
|
combatskill_t Unused0004; |
|
combatskill_t Unused0005; |
|
combatskill_t Unused0006; |
|
combatskill_t Unused0007; |
|
combatskill_t Unused0008; |
|
combatskill_t Unused0009; |
|
combatskill_t Unused0010; |
|
combatskill_t Unused0011; |
|
combatskill_t Archery; |
|
combatskill_t Marksmanship; |
|
combatskill_t Throwing; |
|
combatskill_t Guarding; |
|
combatskill_t Evasion; |
|
combatskill_t Shield; |
|
combatskill_t Parrying; |
|
combatskill_t Divine; |
|
combatskill_t Healing; |
|
combatskill_t Enhancing; |
|
combatskill_t Enfeebling; |
|
combatskill_t Elemental; |
|
combatskill_t Dark; |
|
combatskill_t Summon; |
|
combatskill_t Ninjitsu; |
|
combatskill_t Singing; |
|
combatskill_t String; |
|
combatskill_t Wind; |
|
combatskill_t BlueMagic; |
|
combatskill_t Unused0012; |
|
combatskill_t Unused0013; |
|
combatskill_t Unused0014; |
|
combatskill_t Unused0015; |
|
}; |
|
|
|
struct craftskills_t |
|
{ |
|
craftskill_t Fishing; |
|
craftskill_t Woodworking; |
|
craftskill_t Smithing; |
|
craftskill_t Goldsmithing; |
|
craftskill_t Clothcraft; |
|
craftskill_t Leathercraft; |
|
craftskill_t Bonecraft; |
|
craftskill_t Alchemy; |
|
craftskill_t Cooking; |
|
craftskill_t Synergy; |
|
craftskill_t Riding; |
|
craftskill_t Unused0000; |
|
craftskill_t Unused0001; |
|
craftskill_t Unused0002; |
|
craftskill_t Unused0003; |
|
craftskill_t Unused0004; |
|
}; |
|
|
|
struct abilityrecast_t |
|
{ |
|
uint16_t Recast; // The abilities recast timer at the time of use. |
|
uint8_t Unknown0000; // Unknown |
|
uint8_t RecastTimerId; // The abilities recast timer id. |
|
uint32_t Unknown0001; // Unknown |
|
}; |
|
|
|
#pragma pack(push, 1) |
|
struct playerinfo_t |
|
{ |
|
uint32_t HealthMax; // The players max health. |
|
uint32_t ManaMax; // The players max mana. |
|
uint8_t MainJob; // The players main job id. |
|
uint8_t MainJobLevel; // The players main job level. |
|
uint8_t SubJob; // The players sub job id. |
|
uint8_t SubJobLevel; // The players sub job level. |
|
uint16_t ExpCurrent; // The players current experience points. |
|
uint16_t ExpNeeded; // The players current experience points needed to level. |
|
playerstats_t Stats; // The players base stats. |
|
playerstats_t StatsModifiers; // The players stat modifiers. |
|
int16_t Attack; // The players attack. |
|
int16_t Defense; // The players defense. |
|
playerresists_t Resists; // The players elemental resists. |
|
uint16_t Title; // The players title id. |
|
uint16_t Rank; // The players rank number. |
|
uint16_t RankPoints; // The players rank points. |
|
uint8_t Nation; // The players nation id. |
|
uint8_t Residence; // The players residence id. |
|
uint32_t Homepoint; // The players homepoint. (Homepoint & 0x0000FFFF) |
|
combatskills_t CombatSkills; // The players combat skills. |
|
craftskills_t CraftSkills; // The players crafting skills. |
|
abilityrecast_t AbilityInfo[34]; // The players ability recast information. |
|
uint8_t Unknown0000[6]; // Unknown - Potentially a 'start' delay time to offset the ability recasts from. |
|
uint16_t LimitPoints; // The players current limit points. |
|
uint8_t MeritPoints; // The players current merit points. |
|
uint8_t LimitMode; // The players current limit mode. |
|
uint32_t MeritPointsMax; // The players max merits. |
|
uint8_t Unknown0001[214]; // Unknown |
|
int16_t StatusIcons[32]; // The players status icons used for status timers. |
|
int32_t StatusTimers[32]; // The players status timers. |
|
uint8_t Unknown0002[104]; // Unknown |
|
int16_t Buffs[32]; // The players current status effect icon ids. |
|
}; |
|
#pragma pack(pop) |
|
}; // namespace FFXI |
|
}; // namespace Ashita |
|
|
|
#endif // __ASHITA_AS_FFXI_PLAYER_INCLUDED__
|