X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FTargetingMode.cpp;h=496dbe409f65f7e20bd46354a61bc43f4e615fc4;hb=f6548c2aabfb371bd81382d7800e6e2cdb826e06;hp=d1627bcd0255f8281497ee40adcd8f7e336a23e8;hpb=ac3755adc509404528ef7de58695bf8e3bfb7dcd;p=l2e.git diff --git a/src/common/TargetingMode.cpp b/src/common/TargetingMode.cpp index d1627bc..496dbe4 100644 --- a/src/common/TargetingMode.cpp +++ b/src/common/TargetingMode.cpp @@ -1,26 +1,28 @@ -/* - * TargetingMode.cpp - * - * Created on: Sep 9, 2012 - * Author: holy - */ - #include "TargetingMode.h" +#include "../loader/Interpreter.h" #include "../loader/TypeDescription.h" using loader::FieldDescription; +using loader::Interpreter; using loader::TypeDescription; namespace common { void TargetingMode::CreateTypeDescription() { TargetingMode t; - TypeDescription &td(TypeDescription::CreateOrGet("TargetingMode")); + TypeDescription &td(TypeDescription::Create(TYPE_ID, "TargetingMode")); + td.SetDescription("Specifies how selection of a target (e.g. for a spell) is performed."); + td.SetConstructor(&Construct); td.SetSize(sizeof(TargetingMode)); - // TODO: fields + td.AddField("faction", FieldDescription(((char *)&t.ally) - ((char *)&t), Interpreter::BOOLEAN_ID).SetDescription("targetted faction; true for ally, false for enemy")); + td.AddField("mode", FieldDescription(((char *)&t.mode) - ((char *)&t), Interpreter::NUMBER_ID).SetDescription("attack mode; 0 = all, 1 = multiple, 2 = single")); +} + +void TargetingMode::Construct(void *data) { + new (data) TargetingMode; } }