-
Notifications
You must be signed in to change notification settings - Fork 0
Structs
ValooFX edited this page Mar 13, 2015
·
17 revisions
struct CharacterStatsRecord {
var (CharacterStatsRecord) int Body;
var (CharacterStatsRecord) int Mind;
var (CharacterStatsRecord) int Focus;
var (CharacterStatsRecord) float Physique;
var (CharacterStatsRecord) float Morale;
var (CharacterStatsRecord) float Concentration;
var (CharacterStatsRecord) int FameLevel;
var (CharacterStatsRecord) int PePRank;
var (CharacterStatsRecord) float RuneAffinity;
var (CharacterStatsRecord) float SpiritAffinity;
var (CharacterStatsRecord) float SoulAffinity;
var (CharacterStatsRecord) float MeleeResistance;
var (CharacterStatsRecord) float RangedResistance;
var (CharacterStatsRecord) float MagicResistance;
var (CharacterStatsRecord) int MaxHealth;
var (CharacterStatsRecord) float PhysiqueRegeneration;
var (CharacterStatsRecord) float PhysiqueDegeneration;
var (CharacterStatsRecord) float MoraleRegeneration;
var (CharacterStatsRecord) float MoraleDegeneration;
var (CharacterStatsRecord) float ConcentrationRegeneration;
var (CharacterStatsRecord) float ConcentrationDegeneration;
var (CharacterStatsRecord) float HealthRegeneration;
var (CharacterStatsRecord) float AttackSpeedBonus;
var (CharacterStatsRecord) float MovementSpeedBonus;
var (CharacterStatsRecord) float DamageBonus;
var (CharacterStatsRecord) float CopyHealth;
}
struct UniverseInfo {
var int Id;
var string Name;
var string Language;
var string Type;
var string Population;
}
//(Saltiel) this is the same struct as SD_ITEM (I suppose it's the "script name" of the struct)
// but in SD_ITEM there are not the last two bytes
struct sv2cl_Item {
DWORD unknown //0
DWORD itemTypeID //=ID from resource
BYTE EItemLocationType slot //see enums
DWORD locationID // if slot==inventory -> index, if slot==BodySlot -> enum EquipmentSlot !careful, can place in wrong slot (game accepts that)
DWORD unknown //instanceID?
DWORD stackSize
BYTE color1
BYTE color2
DWORD attuned // {0,1} // (Saltiel: in C++ attuned is a byte)
byte unknown
}
What is following is a work in progress (Saltiel).
struct FVector
{float x; float y; float z;}
struct FRotator // http://wiki.beyondunreal.com/Legacy:Rotator
{int x; int y; int z;} //Pitch, Yaw, Roll
//See SBGame.dll::AGame_PlayerController::setBaseCharacterInfo
struct SD_BASE_CHARACTER_INFO
{
int characterID;
struct SD_CHARACTER_DATA;
struct SD_CHARACTER_SHEET_DATA;
int numItems; //accidental duplicate from SD_CHARACTER_SHEET?
struct SD_ITEM[numItems];
}
//Similar to SBBase::UDB_Character (SDK SBBaseClasses.h line 2243)
struct SD_CHARACTER_DATA
{
BYTE dead;
int accountID;
int nameNumChars;
byte[nameNumChars] name;
FVector position;
int WorldID;
int Money;
int AppearancePart1;
int AppearancePart2;//These last two fields can be seen as one QWORD (8 bytes)
FRotator rotator;
int FactionID;
int LastUsedTimeStamp;
}Appearance Part 1 & 2 viewed as a QWORD (bit per bit, beginning with MSB ending with LSB):
0 0 HairType HairType HairType HairType HairType HairType Voice Voice Voice Voice 0 0 0 0 0 0 0 0 0 HairColor HairColor HairColor HairColor HairColor HairColor HairColor HairColor Tattoo3 Tatto3 Tattoo3 (Was Appearance Part 2)
Tattoo3 Tattoo2 Tattoo2 Tatto2 Tattoo2 Tattoo1 Tattoo1 Tattoo1 Tattoo1 Tattoo0 Tattoo0 Tattoo0 Tattoo0 BodyColor BodyColor BodyColor BodyColor BodyColor BodyColor BodyColor BodyColor DisplayLogo Head Head Head Head Head Head Body Body Gender Race (Was Appearance Part 1) (LSB)
//Similar to SBBase::UDB_CharacterSheet (SDK SBBaseClasses.h line 2210)
struct SD_CHARACTER_SHEET_DATA
{
int classID;
float FamePoints;
float PepPoints;
float Health;
int SelectedSkillDeckID;
byte ExtraBodyPoints;
byte ExtraMindPoints;
byte ExtraFocusPoints;
byte UnknwownByte; //not sure where i found it, but this could be ExtraAttributePoints
}
struct SD_ITEM
{
DWORD ItemId;
int ItemTypeId; (see enums?)
int CharacterId; //owner I suppose
byte EItemLocationType;
int LocationId;
int LocationSlot; (see enum?)
int StackSize;
byte Attuned;
byte Colour1;
byte Colour2;
int Serial;
}
Other Structs often used in Unreal:
struct FVector
{float x; float y; float z;}
struct FPlane // also known as Quat
{float x; float y; float z; float w;}
struct FRotator
{int Pitch; int Yaw; int Roll;}
struct FRange
{float Min; float Max;}
struct FRangeVector
{float Range_x; float Range_y; float Range_z;}