]> git.localhorst.tv Git - l2e.git/blobdiff - src/common/TargetingMode.cpp
first scripting implementation
[l2e.git] / src / common / TargetingMode.cpp
index d1627bcd0255f8281497ee40adcd8f7e336a23e8..9f8972ca50710f8f65be21f4fc233ca7d7bcd916 100644 (file)
@@ -16,11 +16,21 @@ namespace common {
 
 void TargetingMode::CreateTypeDescription() {
        TargetingMode t;
-       TypeDescription &td(TypeDescription::CreateOrGet("TargetingMode"));
 
+       int boolId(TypeDescription::GetTypeId("Boolean"));
+       int numberId(TypeDescription::GetTypeId("Number"));
+
+       TypeDescription &td(TypeDescription::CreateOrGet("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), boolId).SetDescription("targetted faction; true for ally, false for enemy"));
+       td.AddField("mode", FieldDescription(((char *)&t.mode) - ((char *)&t), numberId).SetDescription("attack mode; 0 = all, 1 = multiple, 2 = single"));
+}
+
+void TargetingMode::Construct(void *data) {
+       new (data) TargetingMode;
 }
 
 }