From 20de71cef8f1445a841e7d17324ae6f93fa67862 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 7 Feb 2013 22:16:05 +0100 Subject: [PATCH] add PtGetNPCCount function to python API --- Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp | 5 +++++ Sources/Plasma/FeatureLib/pfPython/cyMisc.h | 1 + Sources/Plasma/FeatureLib/pfPython/cyMiscGlue.cpp | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp b/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp index b36e1884..bed9967c 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp @@ -978,6 +978,11 @@ PyObject* cyMisc::GetNPC(int npcID) PYTHON_RETURN_ERROR; } +PyObject* cyMisc::GetNPCCount() +{ + return PyInt_FromLong(plNetClientMgr::GetInstance()->NPCKeys().size()); +} + #if 1 #include "plStatusLog/plStatusLog.h" // diff --git a/Sources/Plasma/FeatureLib/pfPython/cyMisc.h b/Sources/Plasma/FeatureLib/pfPython/cyMisc.h index e8491b03..5ebfde6f 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyMisc.h +++ b/Sources/Plasma/FeatureLib/pfPython/cyMisc.h @@ -447,6 +447,7 @@ public: // PURPOSE : Returns a pySceneobject of a NPC // static PyObject* GetNPC(int npcID); + static PyObject* GetNPCCount(); ///////////////////////////////////////////////////////////////////////////// // diff --git a/Sources/Plasma/FeatureLib/pfPython/cyMiscGlue.cpp b/Sources/Plasma/FeatureLib/pfPython/cyMiscGlue.cpp index 01f58e90..6275eccd 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyMiscGlue.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyMiscGlue.cpp @@ -200,6 +200,11 @@ PYTHON_GLOBAL_METHOD_DEFINITION(PtGetNPCByID, args, "This will return the NPC wi return cyMisc::GetNPC(npcID); } +PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtGetNPCCount, "Returns the number of NPCs in the current age") +{ + return cyMisc::GetNPCCount(); +} + PYTHON_GLOBAL_METHOD_DEFINITION_NOARGS(PtGetNumRemotePlayers, "Returns the number of remote players in this Age with you.") { return PyInt_FromLong(cyMisc::GetNumRemotePlayers()); @@ -520,6 +525,7 @@ void cyMisc::AddPlasmaMethods(std::vector &methods) PYTHON_GLOBAL_METHOD(methods, PtGetAvatarKeyFromClientID); PYTHON_GLOBAL_METHOD(methods, PtGetClientIDFromAvatarKey); PYTHON_GLOBAL_METHOD(methods, PtGetNPCByID); + PYTHON_GLOBAL_METHOD_NOARGS(methods, PtGetNPCCount); PYTHON_GLOBAL_METHOD_NOARGS(methods, PtGetNumRemotePlayers); PYTHON_GLOBAL_METHOD(methods, PtValidateKey);