mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2024-11-30 12:36:03 +00:00
clean up, format code
This commit is contained in:
parent
80c1395efc
commit
8c782c7d81
@ -3,342 +3,419 @@
|
|||||||
require_once 'D2BitReader.php';
|
require_once 'D2BitReader.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Class D2CharItem
|
||||||
*/
|
*/
|
||||||
class D2CharItem {
|
class D2CharItem {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The raw binary data of the item
|
||||||
*/
|
*/
|
||||||
private string $bits;
|
private string $bits;
|
||||||
|
|
||||||
|
// Item properties
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The name of the base item
|
||||||
*/
|
*/
|
||||||
public $basename = ''; //name of the base item
|
public string $basename = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The name string of the item
|
||||||
*/
|
*/
|
||||||
public $item_name = ''; //name string
|
public string $item_name = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The rank of the item (normal/exceptional/elite)
|
||||||
*/
|
*/
|
||||||
public $item_rank = ''; //normal/exceptional/elite
|
public string $item_rank = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The basic type of the item (armor/weapon/misc)
|
||||||
*/
|
*/
|
||||||
public $item_type = ''; //basic type: armor/weapon/misc
|
public string $item_type = '';
|
||||||
//flags
|
|
||||||
|
// Flags
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The identification flag (0 or 1)
|
||||||
*/
|
*/
|
||||||
public $identified = 0;
|
public int $identified = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The number of sockets the item has
|
||||||
*/
|
*/
|
||||||
public $sockets = 0;
|
public int $sockets = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The ear flag (0 or 1)
|
||||||
*/
|
*/
|
||||||
public $ear = 0;
|
public int $ear = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The starter flag (0 or 1)
|
||||||
*/
|
*/
|
||||||
public $starter = 0;
|
public int $starter = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The compact flag (0 or 1)
|
||||||
*/
|
*/
|
||||||
public $compact = 0;
|
public int $compact = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The ethereal flag
|
||||||
*/
|
*/
|
||||||
public $ethereal;
|
public $ethereal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The personalized flag
|
||||||
*/
|
*/
|
||||||
public $personalized;
|
public $personalized;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The runeword flag
|
||||||
*/
|
*/
|
||||||
public $runeword;
|
public $runeword;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The version flag
|
||||||
*/
|
*/
|
||||||
public $version;
|
public $version;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The name of the runeword
|
||||||
*/
|
*/
|
||||||
public $runeword_name = '';
|
public string $runeword_name = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The title of the runes used in the runeword
|
||||||
*/
|
*/
|
||||||
public $runes_title = '';
|
public string $runes_title = '';
|
||||||
//placement
|
|
||||||
|
// Placement
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The location of the item
|
||||||
*/
|
*/
|
||||||
public $location = 0;
|
public int $location = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The body location of the item
|
||||||
*/
|
*/
|
||||||
public $body = 0;
|
public int $body = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The column location of the item
|
||||||
*/
|
*/
|
||||||
public $col = 0;
|
public int $col = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The row location of the item
|
||||||
*/
|
*/
|
||||||
public $row = 0;
|
public int $row = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The container flag (0 or 1)
|
||||||
*/
|
*/
|
||||||
public $container = 0;
|
public int $container = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The parent flag
|
||||||
*/
|
*/
|
||||||
public $parent;
|
public $parent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The storage flag
|
||||||
*/
|
*/
|
||||||
public $storage;
|
public $storage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The body part flag
|
||||||
*/
|
*/
|
||||||
public $bodypart;
|
public $bodypart;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The height of the inventory
|
||||||
*/
|
*/
|
||||||
public $invH = 0;
|
public int $invH = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The width of the inventory
|
||||||
*/
|
*/
|
||||||
public $invW = 0;
|
public int $invW = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The number of rows in the belt
|
||||||
*/
|
*/
|
||||||
public $beltrows = 1;
|
public int $beltrows = 1;
|
||||||
//features
|
|
||||||
|
// Features
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The item code (3-letter code from txt)
|
||||||
*/
|
*/
|
||||||
public $item_code = ''; //3 letter code from txt
|
public string $item_code = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The number of filled sockets
|
||||||
*/
|
*/
|
||||||
public $SocketsFilled = 0;
|
public int $SocketsFilled = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The number of sockets the item can have
|
||||||
*/
|
*/
|
||||||
public $SocketsNum = 0;
|
public int $SocketsNum = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool The socketable flag (gem, rune, jewel)
|
||||||
*/
|
*/
|
||||||
public $socketable = false; //gem, rune, jewel
|
public bool $socketable = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The fingerprint of the item
|
||||||
*/
|
*/
|
||||||
public $fingerprint = '';
|
public string $fingerprint = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The item level
|
||||||
*/
|
*/
|
||||||
public $itemlvl = 0; //item level
|
public int $itemlvl = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The quality of the item
|
||||||
*/
|
*/
|
||||||
public $quality = 0;
|
public int $quality = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool The charm flag (true or false)
|
||||||
*/
|
*/
|
||||||
public $isCharm = false;
|
public bool $isCharm = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool
|
* @var bool The jewel flag (true or false)
|
||||||
*/
|
*/
|
||||||
public $isJewel = false;
|
public bool $isJewel = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The rank of the magic item (normal/magic/rare/crafted/set/unique)
|
||||||
*/
|
*/
|
||||||
public $magic_rank = 'Normal'; //normal/magic/rare/crafted/set/unique
|
public string $magic_rank = 'Normal';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The set item ID from txt
|
||||||
*/
|
*/
|
||||||
public $set_id = 0; //set item id from txt
|
public int $set_id = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The set item
|
||||||
*/
|
*/
|
||||||
public $set_item = '';
|
public string $set_item = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The set name (if it is a set item)
|
||||||
*/
|
*/
|
||||||
public $set_name = 0; //set name, if it is set item,
|
public int $set_name = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string The name of the person (ear's name)
|
||||||
*/
|
*/
|
||||||
public $personname = '';
|
public string $personname = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int The quest difficulty (-1 if not applicable)
|
||||||
*/
|
*/
|
||||||
public $questdif = -1;
|
public int $questdif = -1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var
|
* @var mixed The gold
|
||||||
*/
|
*/
|
||||||
public $gold;
|
public $gold;
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
public $GUID = '';
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $defense = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $mindam = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $maxdam = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $mindam2 = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $maxdam2 = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $mindammi = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $maxdammi = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $MaxDur = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $CurDur = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $reqlvl = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $reqstr = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $reqdex = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $speed = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $throwing = 0;
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $stackable = 0;
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
public $charName = ''; //ear's name
|
|
||||||
/**
|
|
||||||
* @var
|
|
||||||
*/
|
|
||||||
public $gfx; //graphic file name
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $baseTrans = -1; //transform indexes for colour remap base item
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $magicTrans = -1; //transform indexes for colour remap magic item
|
|
||||||
/**
|
|
||||||
* @var
|
|
||||||
*/
|
|
||||||
public $type; //type column from txt
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
public $spelldesc = ''; //desc for potions
|
|
||||||
/**
|
|
||||||
* @var
|
|
||||||
*/
|
|
||||||
public $ditem; //link to item properties from txt
|
|
||||||
//mods
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $dammult = 100; //damage multiply
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $damminadd = 0; //damage add
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $dammaxadd = 0; //damage add
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $defmult = 100; //defense multiply
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
public $defadd = 0; //defense multiply
|
|
||||||
/**
|
|
||||||
* @var int[]
|
|
||||||
*/
|
|
||||||
public $resist = array(0, 0, 0, 0, 0, 0); //phy, mag, fire, light, cold, poison
|
|
||||||
/**
|
|
||||||
* @var int[]
|
|
||||||
*/
|
|
||||||
public $attributes = array(0, 0, 0, 0); //str, dex, vit, ene
|
|
||||||
|
|
||||||
//arrays
|
|
||||||
|
|
||||||
//socketed items, collected in above function,
|
|
||||||
//because item has only data for itselt, and
|
|
||||||
//gems/runes/jewels are standalone
|
|
||||||
/**
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
public $SocketItems = array();
|
|
||||||
/**
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
public $properties = array(); //item variable properties
|
|
||||||
/**
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
public $propids = array(); //properties ids list
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $bits
|
* @var string The global unique identifier (GUID) of the item
|
||||||
*/
|
*/
|
||||||
public function __construct(string $bits){
|
public string $GUID = '';
|
||||||
if ($bits == '') return false;
|
|
||||||
|
/**
|
||||||
|
* @var int The defense value of the item
|
||||||
|
*/
|
||||||
|
public int $defense = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The minimum damage of the item
|
||||||
|
*/
|
||||||
|
public int $mindam = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The maximum damage of the item
|
||||||
|
*/
|
||||||
|
public int $maxdam = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The second minimum damage of the item
|
||||||
|
*/
|
||||||
|
public int $mindam2 = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The second maximum damage of the item
|
||||||
|
*/
|
||||||
|
public int $maxdam2 = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The minimum missile damage of the item
|
||||||
|
*/
|
||||||
|
public int $mindammi = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The maximum missile damage of the item
|
||||||
|
*/
|
||||||
|
public int $maxdammi = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The maximum durability of the item
|
||||||
|
*/
|
||||||
|
public int $MaxDur = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The current durability of the item
|
||||||
|
*/
|
||||||
|
public int $CurDur = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The required level to use the item
|
||||||
|
*/
|
||||||
|
public int $reqlvl = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The required strength to use the item
|
||||||
|
*/
|
||||||
|
public int $reqstr = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The required dexterity to use the item
|
||||||
|
*/
|
||||||
|
public int $reqdex = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The speed of the item
|
||||||
|
*/
|
||||||
|
public int $speed = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The throwing value of the item
|
||||||
|
*/
|
||||||
|
public int $throwing = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The stackable value of the item
|
||||||
|
*/
|
||||||
|
public int $stackable = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string The character name (ear's name)
|
||||||
|
*/
|
||||||
|
public string $charName = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var mixed The graphic file name
|
||||||
|
*/
|
||||||
|
public $gfx;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The transform indexes for color remap base item (-1 if not applicable)
|
||||||
|
*/
|
||||||
|
public int $baseTrans = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The transform indexes for color remap magic item (-1 if not applicable)
|
||||||
|
*/
|
||||||
|
public int $magicTrans = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var mixed The type column from txt
|
||||||
|
*/
|
||||||
|
public $type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string The spell description for potions
|
||||||
|
*/
|
||||||
|
public string $spelldesc = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var mixed The link to item properties from txt
|
||||||
|
*/
|
||||||
|
public $ditem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The damage multiplier of the item
|
||||||
|
*/
|
||||||
|
public int $dammult = 100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The minimum damage addition of the item
|
||||||
|
*/
|
||||||
|
public int $damminadd = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The maximum damage addition of the item
|
||||||
|
*/
|
||||||
|
public int $dammaxadd = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The defense multiplier of the item
|
||||||
|
*/
|
||||||
|
public int $defmult = 100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The defense addition of the item
|
||||||
|
*/
|
||||||
|
public int $defadd = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int[] The resistances of the item (phy, mag, fire, light, cold, poison)
|
||||||
|
*/
|
||||||
|
public array $resist = [0, 0, 0, 0, 0, 0];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int[] The attributes of the item (str, dex, vit, ene)
|
||||||
|
*/
|
||||||
|
public array $attributes = [0, 0, 0, 0];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array The socketed items collected in the above function because the item has only data for itself and gems/runes/jewels are standalone
|
||||||
|
*/
|
||||||
|
public array $SocketItems = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array The item variable properties
|
||||||
|
*/
|
||||||
|
public array $properties = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array The properties IDs list
|
||||||
|
*/
|
||||||
|
public array $propids = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* D2CharItem constructor.
|
||||||
|
*
|
||||||
|
* @param string $bits The item bits
|
||||||
|
*/
|
||||||
|
public function __construct(string $bits)
|
||||||
|
{
|
||||||
|
if ($bits === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$this->bits = $bits;
|
$this->bits = $bits;
|
||||||
|
|
||||||
return $this->parseItem();
|
return $this->parseItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Parses the item.
|
||||||
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function parseItem(){
|
public function parseItem()
|
||||||
|
{
|
||||||
|
// Implementation goes here
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user