X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FStats.cpp;h=cdf321036db0ab7941628371858983a63041fb93;hb=e7debb76868a32fa6280d11ed428640c1e48f480;hp=c35a14ad339e54c34490e2771a94c451df4d7082;hpb=d5959073b2c413ba1bd6f3d14bc8bcf59304e488;p=l2e.git diff --git a/src/battle/Stats.cpp b/src/battle/Stats.cpp index c35a14a..cdf3210 100644 --- a/src/battle/Stats.cpp +++ b/src/battle/Stats.cpp @@ -7,6 +7,11 @@ #include "Stats.h" +#include "../loader/TypeDescription.h" + +using loader::FieldDescription; +using loader::TypeDescription; + namespace battle { Stats::Stats() @@ -31,4 +36,22 @@ Stats::Stats(Uint16 attack, Uint16 defense, Uint16 strength, Uint16 agility, Uin } + +void Stats::CreateTypeDescription() { + Stats s; + + int numberId(TypeDescription::GetTypeId("Number")); + + TypeDescription &td(TypeDescription::CreateOrGet("Stats")); + 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)); + td.AddField("agl", FieldDescription(((char *)&s.agility) - ((char *)&s), numberId, false)); + td.AddField("int", FieldDescription(((char *)&s.intelligence) - ((char *)&s), numberId, false)); + td.AddField("gut", FieldDescription(((char *)&s.gut) - ((char *)&s), numberId, false)); + td.AddField("mgr", FieldDescription(((char *)&s.magicResistance) - ((char *)&s), numberId, false)); +} + }