Browse Source

Added Lua function HasCoin(Spawn, Value) per issue #411

Devn00b 2 years ago
parent
commit
5efc6fe537

+ 18 - 0
EQ2/source/WorldServer/LuaFunctions.cpp

@@ -12761,4 +12761,22 @@ int EQ2Emu_lua_ChangeFaction(lua_State* state) {
 		}
 	}
 	return 0;
+}
+
+int EQ2Emu_lua_HasCoin(lua_State* state) {
+	bool hascoin = 0;
+	Player* player = (Player*)lua_interface->GetSpawn(state);
+	int32 coins = lua_interface->GetInt32Value(state, 2);
+	lua_interface->ResetFunctionStack(state);
+		
+if (player && player->IsPlayer()) {
+	hascoin = player->HasCoins(coins);
+	if(hascoin == 0) {
+		return 0;
+	}
+	if(hascoin == 1) {
+		return 1;
+	}
+
+}
 }

+ 1 - 0
EQ2/source/WorldServer/LuaFunctions.h

@@ -74,6 +74,7 @@ int EQ2Emu_lua_SetStaBase(lua_State* state);
 int EQ2Emu_lua_SetStrBase(lua_State* state);
 int EQ2Emu_lua_SetAgiBase(lua_State* state);
 int EQ2Emu_lua_SetLootCoin(lua_State* state);
+int EQ2Emu_lua_HasCoin(lua_State* state);
 int EQ2Emu_lua_SetQuestYellow(lua_State* state);
 
 //Gets

+ 1 - 0
EQ2/source/WorldServer/LuaInterface.cpp

@@ -1067,6 +1067,7 @@ void LuaInterface::RegisterFunctions(lua_State* state) {
 	lua_register(state, "HasPendingLootItem", EQ2Emu_lua_HasPendingLootItem);
 	lua_register(state, "HasPendingLoot", EQ2Emu_lua_HasPendingLoot);
 	lua_register(state, "SetLootCoin", EQ2Emu_lua_SetLootCoin);
+	lua_register(state, "HasCoin", EQ2Emu_lua_HasCoin);
 	lua_register(state, "GetLootCoin", EQ2Emu_lua_GetLootCoin);
 	lua_register(state, "SetPlayerProximityFunction", EQ2Emu_lua_SetPlayerProximityFunction);
 	lua_register(state, "SetLocationProximityFunction", EQ2Emu_lua_SetLocationProximityFunction);