172 lines
5 KiB
C#
172 lines
5 KiB
C#
// Copyright (c) 2023 Timothy Schenk. Subject to the GNU AGPL Version 3 License.
|
|
|
|
using System.Text.Json.Serialization;
|
|
using Wonderking.Game.Data.Item;
|
|
using Wonderking.Utils;
|
|
|
|
namespace Wonderking.Game.Data;
|
|
|
|
[GameDataMetadata(932, "baseitemdata.dat", 197)]
|
|
public struct ItemObject
|
|
{
|
|
public uint ItemID { get; set; }
|
|
public bool Disabled { get; set; }
|
|
public uint ItemType { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown2 { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown3 { get; set; }
|
|
|
|
public uint ClassNo1 { get; set; }
|
|
public uint ClassNo2 { get; set; }
|
|
public uint ClassNo3 { get; set; }
|
|
public uint ClassNo4 { get; set; }
|
|
public uint SlotNo1 { get; set; }
|
|
public uint SlotNo2 { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown4 { get; set; }
|
|
|
|
public uint IsCash { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown5 { get; set; }
|
|
|
|
public uint Price { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown7 { get; set; }
|
|
|
|
public uint MaxNumber { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown17 { get; set; }
|
|
|
|
public uint MaximumLevelRequirement { get; set; }
|
|
public uint SexNo { get; set; }
|
|
public uint WeaponSomething { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown8 { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R2C { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown9 { get; set; }
|
|
|
|
public Stats Stats { get; set; }
|
|
public ElementalStats ElementalStats { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R7C { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R8C { get; set; }
|
|
|
|
public float Speed { get; set; }
|
|
|
|
public float Jump { get; set; }
|
|
public int StatDefense { get; set; }
|
|
public uint MagicID { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown13 { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown14 { get; set; }
|
|
|
|
public int AdditionalHealthRecoveryVolume { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R9C_1 { get; set; }
|
|
|
|
public int AdditionalManaRecoveryVolume { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R9C_2 { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R10C { get; set; }
|
|
|
|
public int AdditionalHealthPoints { get; set; }
|
|
public int AdditionalManaPoints { get; set; }
|
|
public bool IsArrow { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown18 { get; set; }
|
|
|
|
public int AdditionalEvasionRate { get; set; }
|
|
public int HitRate { get; set; }
|
|
|
|
public int ChanceToHit { get; set; }
|
|
public int MagicalDamage { get; set; }
|
|
public int CriticalHitChance { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R12C { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown16 { get; set; }
|
|
|
|
public int MinimalAttackDamage { get; set; }
|
|
public int MaximalAttackDamage { get; set; }
|
|
public int PhysicalDamage { get; set; }
|
|
public CraftMaterial[] CraftMaterial { get; set; }
|
|
public uint CraftResultAmount { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R14C { get; set; }
|
|
|
|
public uint CraftResultItem { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R15C { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] R16C { get; set; }
|
|
|
|
public int InventoryX { get; set; }
|
|
public int InventoryY { get; set; }
|
|
public int InventoryWidth { get; set; }
|
|
public int InventoryHeight { get; set; }
|
|
public int SheetID { get; set; }
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown1 { get; set; }
|
|
|
|
public bool IsEnchantable { get; set; }
|
|
|
|
public uint SetID { get; set; }
|
|
public uint[] SetItems { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown1_2 { get; set; }
|
|
|
|
public ItemOptions Options { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown19 { get; set; }
|
|
|
|
public byte PetID { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown20 { get; set; }
|
|
|
|
public byte HitBoxScaling { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown20_2 { get; set; }
|
|
|
|
public ContainedItem[] ContainedItems { get; set; }
|
|
|
|
public bool IsQuestItem { get; set; }
|
|
public byte MinimumLevelRequirement { get; set; }
|
|
|
|
[JsonConverter(typeof(ByteArrayConverter))]
|
|
public byte[] Unknown21_2 { get; set; }
|
|
}
|