X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FStats.cpp;h=a2a442ceea9bbea8f0e8a2a7ea12a284b4d67c76;hb=b02da898c7c8a08141df4e797774a61cf5e0163f;hp=7ad7aa7a841e2925091e396bf67605393af7ecf2;hpb=f821f7bf3d3faa6aa27eec278350b861badfa03d;p=l2e.git diff --git a/src/battle/Stats.cpp b/src/battle/Stats.cpp index 7ad7aa7..a2a442c 100644 --- a/src/battle/Stats.cpp +++ b/src/battle/Stats.cpp @@ -39,12 +39,13 @@ Stats::Stats(Uint16 attack, Uint16 defense, Uint16 strength, Uint16 agility, Uin void Stats::CreateTypeDescription() { Stats s; - TypeDescription &td(TypeDescription::CreateOrGet("Stats")); - - td.SetSize(sizeof(Stats)); int numberId(TypeDescription::GetTypeId("Number")); + TypeDescription &td(TypeDescription::CreateOrGet("Stats")); + td.SetConstructor(&Construct); + td.SetSize(sizeof(Stats)); + td.AddField("atp", FieldDescription(((char *)&s.attack) - ((char *)&s), numberId, false)); td.AddField("dfp", FieldDescription(((char *)&s.defense) - ((char *)&s), numberId, false)); td.AddField("str", FieldDescription(((char *)&s.strength) - ((char *)&s), numberId, false)); @@ -54,4 +55,8 @@ void Stats::CreateTypeDescription() { td.AddField("mgr", FieldDescription(((char *)&s.magicResistance) - ((char *)&s), numberId, false)); } +void Stats::Construct(void *data) { + new (data) Stats; +} + }