diff --git a/doomsday/apps/libdoomsday/net.dengine.base.pack/modules/commonlib.ds b/doomsday/apps/libdoomsday/net.dengine.base.pack/modules/commonlib.ds index 5ed607211f..9198d59316 100644 --- a/doomsday/apps/libdoomsday/net.dengine.base.pack/modules/commonlib.ds +++ b/doomsday/apps/libdoomsday/net.dengine.base.pack/modules/commonlib.ds @@ -11,7 +11,7 @@ def Defs.getThingNum(thingId) end def World.listThings(thingId) - return World.findThings(typeIndex=Defs.getThingNum(thingId)) + return World.findThings(typeIndex = Defs.getThingNum(thingId)) end def World.Thing.info() diff --git a/doomsday/apps/plugins/common/src/common.cpp b/doomsday/apps/plugins/common/src/common.cpp index 1d23b6d09d..559aa5b831 100644 --- a/doomsday/apps/plugins/common/src/common.cpp +++ b/doomsday/apps/plugins/common/src/common.cpp @@ -225,6 +225,16 @@ static de::Value *Function_Thing_Target(de::Context &ctx, const de::Function::Ar return nullptr; } +static de::Value *Function_Thing_Tracer(de::Context &ctx, const de::Function::ArgumentValues &) +{ + auto &mo = P_ContextMobj(ctx); + if (mo.tracer) + { + return new de::RecordValue(THINKER_DATA(mo.tracer->thinker, ThinkerData).objectNamespace()); + } + return nullptr; +} + static int playerNumberArgument(const de::Value &arg) { if (de::is(arg)) @@ -466,7 +476,8 @@ void Common_Load() "spawnMissile", "id" << "angle" << "momz", spawnMissileArgs) - << DE_FUNC_NOARG(Thing_Target, "target"); + << DE_FUNC_NOARG(Thing_Target, "target") + << DE_FUNC_NOARG(Thing_Tracer, "tracer"); #if defined (HAVE_SEEKER_MISSILE) *gameBindings << DE_FUNC(Thing_SeekerMissile, "seekerMissile", "thresh" << "turnMax");