fix(codegen): Fixes various code gen issues. Adds better embedded serialization support (#688)
* Adds save flag support (see `ElvenGlasses` for an example) * Updates AOSAttributes so they are code genned * Fixes embedded object support by adding an `IRawSerializable` * Fixes various inconsistencies in serializing with codegen
This commit is contained in:
parent
69af652a18
commit
2c8097f707
54 changed files with 787 additions and 507 deletions
|
|
@ -4036,22 +4036,18 @@ namespace Server.Items
|
|||
m_Resource = CraftResource.Iron;
|
||||
}
|
||||
|
||||
Attributes = new AosAttributes(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.xAttributes))
|
||||
{
|
||||
Attributes = new AosAttributes(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
Attributes = new AosAttributes(this);
|
||||
Attributes.Deserialize(reader);
|
||||
}
|
||||
|
||||
WeaponAttributes = new AosWeaponAttributes(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.xWeaponAttributes))
|
||||
{
|
||||
WeaponAttributes = new AosWeaponAttributes(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
WeaponAttributes = new AosWeaponAttributes(this);
|
||||
WeaponAttributes.Deserialize(reader);
|
||||
}
|
||||
|
||||
if (UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular && parentMobile != null)
|
||||
|
|
@ -4077,13 +4073,11 @@ namespace Server.Items
|
|||
PlayerConstructed = true;
|
||||
}
|
||||
|
||||
SkillBonuses = new AosSkillBonuses(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
|
||||
{
|
||||
SkillBonuses = new AosSkillBonuses(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
SkillBonuses = new AosSkillBonuses(this);
|
||||
SkillBonuses.Deserialize(reader);
|
||||
}
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.Slayer2))
|
||||
|
|
@ -4091,13 +4085,11 @@ namespace Server.Items
|
|||
m_Slayer2 = (SlayerName)reader.ReadInt();
|
||||
}
|
||||
|
||||
AosElementDamages = new AosElementAttributes(this);
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.ElementalDamages))
|
||||
{
|
||||
AosElementDamages = new AosElementAttributes(this, reader);
|
||||
}
|
||||
else
|
||||
{
|
||||
AosElementDamages = new AosElementAttributes(this);
|
||||
AosElementDamages.Deserialize(reader);
|
||||
}
|
||||
|
||||
if (GetSaveFlag(flags, SaveFlag.EngravedText))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue