-
Notifications
You must be signed in to change notification settings - Fork 13
charsave object
HarpyWar edited this page Jan 16, 2019
·
5 revisions
Key | Data Type | Description |
---|---|---|
fileType |
string | Type of this object structure, should be "charsave" |
hash |
string[32] | (readonly) MD5 hash of data
|
hashWithOriginalStat |
string[32] | (readonly) MD5 hash of data with old original character "stat" instead of new. Sometimes after character editing bytes sequence of "stat" may differ from original and we use this hashWithOriginalStat to compare characters. |
data |
string | Base64 encoded raw bytes of this charsave |
version |
int | (readonly) File version |
timeStamp |
int | (readonly) Last file modified time by the game |
name |
string[16] | Character name |
class |
byte | Character class index. Allowed values [0, 1, 2, 3, 4, 5, 6] |
classTitle |
string | (readonly) String representation of the class . Allowed values ["Amazon", "Sorceress", "Necromancer", "Paladin", "Barbarian", "Druid", "Assassin"] |
progression |
byte | Character difficulty |
difficultyTitle |
string | (readonly) String representation of values set: progression , expansion . Allowed values ["Normal", "Nightmare", "Hell"] |
charTitle |
string | (readonly) String representation of values set: progression , expansion , hardcore , class
|
died |
bool | Character has died. For non-hardcore characters it means that it has died at least one time. |
expansion |
bool | Is expansion or original |
hardcore |
bool | Is hardcore or softcore |
ladder |
bool | Is ladder or non-ladder |
hasMercenary |
bool | (readonly) Character has mercenary or not |
mercenaryExp |
unsigned int | (readonly) Mercenary's experience points |
mercenaryNameId |
int | (readonly) ID Of mercenary's name |
mercenaryType |
int | (readonly) Mercenary type |
baseHitpoints |
int | Base value of hitpoints |
baseMana |
int | Base value of mana |
baseStamina |
int | Base value of stamina |
hitpoints |
int | Current value of hitpoints |
mana |
int | Current value of mana |
stamina |
int | Current value of stamina |
gold |
unsigned int | Amount of gold character has in inventory |
goldBank |
unsigned int | Amount of gold character has in the bank |
level |
byte | Character level, 1-99 is allowed range |
experience |
unsigned int | Character experience. Should not be changed, because if value is wrong then it will be corrected for the given level
|
dexterity |
int | Base value of dexterity |
energy |
int | Base value of energy |
strength |
int | Base value of strength |
vitality |
int | Base value of vitality |
skillPoints |
int | Number of unallocated skill points |
skills |
byte array | 30 bytes of skill values. Each value range is 0-99 |
playerItems |
charitem array | Items of the character |
corpseItems |
charitem array | Items in the character's corpse |
golemItems |
charitem array | Items in the character's golem |
mercItems |
charitem array | Items of the character's mercenary |
Json Response Example
{
"playerItems": [
{
"fileType": "charitem",
"hash": "f64ef22152e984455acc15f08bdd81dd",
"data": "Sk0QAKIAAgAAggYXAwI=",
"sockets": [],
"properties": [],
"propertiesRuneword": [],
"propertiesSet": [],
"isEquipped": false,
"isInSocket": false,
"isIdentified": true,
"isSwitchIn": false,
"isSwitchOut": false,
"isBroken": false,
"isSocketed": false,
"isPotion": false,
"isStoreItem": false,
"isNotInSocket": false,
"isEar": false,
"isStarterItem": true,
"isSimpleItem": true,
"isEthereal": false,
"isPersonalized": false,
"isGamble": false,
"isRuneword": false,
"location": 2,
"positionOnBody": 0,
"positionX": 0,
"positionY": 0,
"storageId": 0,
"itemCode": "hp1",
"goldAmountSmall": 0,
"goldAmountLarge": 0,
"socketsFilled": 0,
"id": 0,
"level": 0,
"quality": 0,
"hasGraphic": false,
"graphic": 0,
"uniqueSetId": 0,
"defense": 0,
"maxDurability": 0,
"durability": 0,
"isIndestructable": false,
"socketCount": 0,
"quantity": 0,
"randomFlag": false,
"unknownGoldFlag": false,
"classFlag": false,
"classInfo": 0,
"inferiorQualityType": 0,
"superiorQualityType": 0,
"charmData": 0,
"spellId": 0,
"monsterId": 0,
"earClass": 0,
"earLevel": 0,
"earName": null,
"personalizedName": null,
"runewordId": 0,
"prefixNameId": 0,
"suffixNameId": 0,
"prefixFlag0": false,
"prefixFlag1": false,
"prefixFlag2": false,
"suffixFlag0": false,
"suffixFlag1": false,
"suffixFlag2": false,
"magicPrefix": 0,
"magicSuffix": 0,
"prefix0": 0,
"prefix1": 0,
"prefix2": 0,
"suffix0": 0,
"suffix1": 0,
"suffix2": 0,
"displayData": {
"title": "Lesser Healing Potion",
"uniqueSetName": "UNKNOWN SET",
"imageFile": "invhp1",
"imagePath": "images/d2gfx/invhp1.gif"
}
},
{
"fileType": "charitem",
"hash": "f64ef22152e984455acc15f08bdd81dd",
"data": "Sk0QAKIAAgAAggYXAwI=",
"sockets": [],
"properties": [],
"propertiesRuneword": [],
"propertiesSet": [],
"isEquipped": false,
"isInSocket": false,
"isIdentified": true,
"isSwitchIn": false,
"isSwitchOut": false,
"isBroken": false,
"isSocketed": false,
"isPotion": false,
"isStoreItem": false,
"isNotInSocket": false,
"isEar": false,
"isStarterItem": true,
"isSimpleItem": true,
"isEthereal": false,
"isPersonalized": false,
"isGamble": false,
"isRuneword": false,
"location": 2,
"positionOnBody": 0,
"positionX": 1,
"positionY": 0,
"storageId": 0,
"itemCode": "hp1",
"goldAmountSmall": 0,
"goldAmountLarge": 0,
"socketsFilled": 0,
"id": 0,
"level": 0,
"quality": 0,
"hasGraphic": false,
"graphic": 0,
"uniqueSetId": 0,
"defense": 0,
"maxDurability": 0,
"durability": 0,
"isIndestructable": false,
"socketCount": 0,
"quantity": 0,
"randomFlag": false,
"unknownGoldFlag": false,
"classFlag": false,
"classInfo": 0,
"inferiorQualityType": 0,
"superiorQualityType": 0,
"charmData": 0,
"spellId": 0,
"monsterId": 0,
"earClass": 0,
"earLevel": 0,
"earName": null,
"personalizedName": null,
"runewordId": 0,
"prefixNameId": 0,
"suffixNameId": 0,
"prefixFlag0": false,
"prefixFlag1": false,
"prefixFlag2": false,
"suffixFlag0": false,
"suffixFlag1": false,
"suffixFlag2": false,
"magicPrefix": 0,
"magicSuffix": 0,
"prefix0": 0,
"prefix1": 0,
"prefix2": 0,
"suffix0": 0,
"suffix1": 0,
"suffix2": 0,
"displayData": {
"title": "Lesser Healing Potion",
"uniqueSetName": "UNKNOWN SET",
"imageFile": "invhp1",
"imagePath": "images/d2gfx/invhp1.gif"
}
}
],
"corpseItems": [],
"golemItems": [],
"mercItems": [],
"fileType": "charsave",
"hash": "e227b909abfd73dfbe99ff21a4af2f03",
"hashWithOriginalStat": "e227b909abfd73dfbe99ff21a4af2f03",
"data": "VapVqmAAAAC9AwAAyGaJ2AAAAABhLWdkcwAAAAAAAAAAAAAAYAsAAAAQHgEAAAAA5n7GR////////wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAP////////9P////////////////////////////////gAAAsIEHcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXb28hBgAAACoBAQAMABAAAAAEABQAGQABAAEADAABEAUQgREBECUAAQAAAAAAAQAAAAAACRABEgEAAAAAAMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAMAAAAAAAAAAAAGQABAAEADAABAAUAgQEFACUAAQAAAAAAAQAAAAAACRABEgEAAAAAAMERApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAGQABAAEADAABAAGAgYEFgCUAAQAAAAAAAQAAAAAAAQABAgEAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV1MBAAAAUAACAQECBAgAAAAAAAAAAAAAAAAAAAAAAAACAQECBAgAAAAAAAAAAAAAAAAAAAAAAAACAQECBAgAAAAAAAAAAAAAAAAAAAAAAAABdzQAACAEAQAAAAAAIAQAAAAAAAAgBAAAAAAA/v/nGQAAAAD+/+cZAAAAAP7/5xkAAAAAZ2YAKAjwgIAMBlBgAEAGHACQAQgAHkACgAegAIAKLACgAgwC/wFpZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpNBwBKTRAAogACCACABhcDAkpNEACiAAIIAoAGFwMCSk0QAKIAAggEgAYXAwJKTRAAogACCAaABhcDAkpNEACiAAIAckI3NwYCSk0QAKIAAgBSkjY3BgJKTRAAggACpAogVjcGgtYCCreA4AEMDP4DSk0AAGpma2YA",
"version": 96,
"timeStamp": 1204190950,
"name": "a-gds",
"class": 0,
"died": false,
"expansion": true,
"hardcore": false,
"ladder": true,
"hasMercenary": false,
"mercenaryExp": 0,
"mercenaryNameId": 0,
"mercenaryType": 0,
"progression": 11,
"baseHitpoints": 50,
"baseMana": 15,
"baseStamina": 84,
"deathCount": 0,
"dexterity": 25,
"energy": 15,
"experience": 0,
"gold": 0,
"goldBank": 0,
"hitpoints": 50,
"killCount": 0,
"level": 1,
"mana": 15,
"skillPoints": 0,
"stamina": 84,
"statPoints": 0,
"strength": 20,
"vitality": 20,
"skills": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"classTitle": "Amazon",
"charTitle": "Champion",
"difficultyTitle": "Nightmare"
}