project-meteor-server/FFXIVClassic Map Server/dataobjects/Item.cs

148 lines
4.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FFXIVClassic_Map_Server.dataobjects
{
class Item
{
//Basic
public readonly string id;
public readonly string name;
//_item sheet
public readonly string category;
public readonly int maxStack;
public readonly bool isRare;
public readonly bool isExclusive;
//itemData sheet
public readonly int durability;
public readonly int icon;
public readonly int king;
public readonly int color;
public readonly int material;
public readonly int decoration;
public readonly int use;
public readonly int mainSkill;
public readonly int unknown1;
public readonly int level;
public readonly int compatibility;
public readonly float effectMagnitude;
public readonly float effectRate;
public readonly float shieldBlocking;
public readonly float effectDuration;
public readonly float recastTime;
public readonly float unknown2;
public readonly byte recastGroup;
public readonly int repairSkill;
public readonly int repairItem;
public readonly int repairItemNum;
public readonly int repairLevel;
public readonly int repairLicense;
}
class EquipmentItem : Item
{
//equipment sheet
public readonly int equipPoint;
public readonly short equipTribe1;
public readonly ushort unknown1;
public readonly short equipTribe2;
public readonly ushort unknown2;
public readonly short equipTribe3;
public readonly ushort unknown3;
public readonly short equipTribe4;
public readonly ushort unknown4;
public readonly int paramBonusType1;
public readonly short paramBonusValue1;
public readonly int paramBonusType2;
public readonly short paramBonusValue2;
public readonly int paramBonusType3;
public readonly short paramBonusValue3;
public readonly int paramBonusType4;
public readonly short paramBonusValue4;
public readonly int paramBonusAtSlotType;
public readonly short paramBonusAtSlotValue;
public readonly int elementalBonusType;
public readonly short elementalBonusValue;
}
class WeaponItem : EquipmentItem
{
//graphics
public readonly int graphicsWeaponId;
public readonly int graphicsEquipId;
public readonly int graphicsVariantId;
public readonly int graphicsColorId;
//weapon sheet
public readonly short attack;
public readonly short magicAttack;
public readonly short craftProcessing;
public readonly short craftMagicProcessing;
public readonly short harvestPotency;
public readonly short harvestLimit;
public readonly byte frequency;
public readonly short rate;
public readonly short magicRate;
public readonly short craftProcessControl;
public readonly short harvestRate;
public readonly short critical;
public readonly short magicCritical;
public readonly short parry;
public readonly int damageAttributeType1;
public readonly float damageAttributeValue1;
public readonly int damageAttributeType2;
public readonly float damageAttributeValue2;
public readonly int damageAttributeType3;
public readonly float damageAttributeValue3;
}
class ArmorItem : EquipmentItem
{
//graphics
public readonly int graphicsArmorId;
public readonly int graphicsEquipId;
public readonly int graphicsVariantId;
public readonly int graphicsColorId;
//armor sheet
public readonly short defence;
public readonly short magicDefence;
public readonly short criticalDefense;
public readonly short evasion;
public readonly short magicResistance;
public readonly int damageDefenseType1;
public readonly short damageDefenseValue1;
public readonly int damageDefenseType2;
public readonly short damageDefenseValue2;
public readonly int damageDefenseType3;
public readonly short damageDefenseValue3;
public readonly int damageDefenseType4;
public readonly short damageDefenseValue4;
}
class AccessoryItem : EquipmentItem
{
//graphics
public readonly int graphicsAccessoryId;
public readonly int graphicsEquipId;
public readonly int graphicsVariantId;
public readonly int graphicsColorId;
//accessory sheet
public readonly byte power;
public readonly byte size;
}
}