Skip to content

charsave object

HarpyWar edited this page Jan 16, 2019 · 5 revisions

charsave object

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"
}
Clone this wiki locally