int LuaGlobalFunctions_bit_xor(lua_State * L) { uint32 left = CHECK_ULONG(L,1); int top = lua_gettop(L); if(top > 1) { for(int i = 2; i <= top; ++i) { if(lua_isnumber(L,i) ) left ^= CHECK_ULONG(L,i); } } RET_NUMBER(left) }
int LuaGameObject::ModAIUpdate(lua_State* L, GameObject* ptr) { TEST_GO() uint32_t newtime = CHECK_ULONG(L, 1); sEventMgr.ModifyEventTimeAndTimeLeft(ptr, EVENT_SCRIPT_UPDATE_EVENT, newtime); return 0; }
int LuaGameObject::RegisterAIUpdate(lua_State* L, GameObject* ptr) { TEST_GO() uint32_t time = CHECK_ULONG(L, 1); sEventMgr.AddEvent(ptr, &GameObject::CallScriptUpdate, EVENT_SCRIPT_UPDATE_EVENT, time, 0, 0); return 0; }
int LuaGlobalFunctions_SendPacketToInstance(lua_State * L) { WorldPacket * data = CHECK_PACKET(L,1); uint32 instance_id = CHECK_ULONG(L, 2); if (data && instance_id) sWorld.SendInstanceMessage(data,instance_id); return 1; }
int LuaGlobalFunctions_SendPacketToZone(lua_State * L) { WorldPacket * data = CHECK_PACKET(L,1); uint32 zone_id = CHECK_ULONG(L,2); if (data && zone_id) sWorld.SendZoneMessage(data,zone_id); return 1; }
int LuaGlobalFunctions_IsSanctuaryArea(lua_State * L) { uint32 areaid = CHECK_ULONG(L,1); if (!areaid) RET_BOOL(false); lua_pushboolean(L, sWorld.IsSanctuaryArea(areaid) ? 1 : 0); return 1; }
int LuaGlobalFunctions_RemoveSanctuaryArea(lua_State * L) { uint32 areaid = CHECK_ULONG(L,1); if (!areaid) return 0; sWorld.RemoveSanctuaryArea(areaid); return 1; }
int LuaGlobalFunctions_SendPacketToChannel(lua_State * L) { WorldPacket * pack = CHECK_PACKET(L,1); const char* channel_name = luaL_checkstring(L,2); uint32 team = CHECK_ULONG(L,3); Channel* pChannel = channelmgr.GetChannel(channel_name, team); if (!pChannel || !pack) return 0; pChannel->SendToAll(pack); return 1; }
int LuaGameObject::GossipSendQuickMenu(lua_State* L, GameObject* ptr) { TEST_GO() uint32_t text_id = static_cast<uint32_t>(luaL_checkinteger(L, 1)); Player* player = CHECK_PLAYER(L, 2); uint32_t itemid = static_cast<uint32_t>(luaL_checkinteger(L, 3)); uint8 itemicon = CHECK_UINT8(L, 4); const char* itemtext = luaL_checkstring(L, 5); uint32_t requiredmoney = CHECK_ULONG(L, 6); const char* moneytext = luaL_checkstring(L, 7); uint8 extra = CHECK_UINT8(L, 8); if (player == NULL) return 0; Arcemu::Gossip::Menu::SendQuickMenu(ptr->getGuid(), text_id, player, itemid, itemicon, itemtext, requiredmoney, moneytext, extra); return 0; }
int LuaGlobalFunctions_bit_shiftright(lua_State * L) { uint32 left = CHECK_ULONG(L,1); uint8 count = luaL_checkinteger(L,2) & 0x7F; RET_NUMBER(left >> count) }
int LuaGlobalFunctions_bit_not(lua_State * L) { uint32 left = CHECK_ULONG(L,1); RET_NUMBER(~left) }