mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
Bug fix in event_trade export, exported augments too. Also need to fix overloads
This commit is contained in:
parent
850fa5aecc
commit
1e7c5bb9b7
@ -61,7 +61,20 @@ public:
|
||||
virtual void ReloadQuests() { }
|
||||
virtual uint32 GetIdentifier() = 0;
|
||||
|
||||
virtual void GetErrors(std::list<std::string> &err) { }
|
||||
//TODO: Set maximum quest errors instead of hard coding it
|
||||
virtual void GetErrors(std::list<std::string> &err) {
|
||||
err.insert(err.end(), errors_.begin(), errors_.end());
|
||||
}
|
||||
|
||||
virtual void AddError(std::string error) {
|
||||
errors_.push_back(error);
|
||||
if(errors_.size() > 30) {
|
||||
errors_.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
std::list<std::string> errors_;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -211,7 +211,6 @@ public:
|
||||
virtual Raid* GetRaid() { return entity_list.GetRaidByClient(this); }
|
||||
virtual Group* GetGroup() { return entity_list.GetGroupByClient(this); }
|
||||
|
||||
// void Discipline(ClientDiscipline_Struct* disc_in, Mob* tar);
|
||||
void AI_Init();
|
||||
void AI_Start(uint32 iMoveDelay = 0);
|
||||
void AI_Stop();
|
||||
|
||||
@ -518,6 +518,47 @@ void Lua_Client::DeleteItemInInventory(int slot_id, int quantity, bool update_cl
|
||||
self->DeleteItemInInventory(slot_id, quantity, update_client);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1, aug2);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1, aug2, aug3);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1, aug2, aug3, aug4);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1, aug2, aug3, aug4, aug5);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
||||
bool attuned) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SummonItem(item_id, charges, aug1, aug2, aug3, aug4, aug5, attuned);
|
||||
}
|
||||
|
||||
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
||||
bool attuned, int to_slot) {
|
||||
Lua_Safe_Call_Void();
|
||||
|
||||
@ -132,8 +132,17 @@ public:
|
||||
int GetItemIDAt(int slot_id);
|
||||
int GetAugmentIDAt(int slot_id, int aug_slot);
|
||||
void DeleteItemInInventory(int slot_id, int quantity, bool update_client = true);
|
||||
void SummonItem(uint32 item_id, int charges = 0, uint32 aug1 = 0, uint32 aug2 = 0, uint32 aug3 = 0, uint32 aug4 = 0,
|
||||
uint32 aug5 = 0, bool attuned = false, int to_slot = 30);
|
||||
void SummonItem(uint32 item_id);
|
||||
void SummonItem(uint32 item_id, int charges);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
||||
bool attuned);
|
||||
void SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
||||
bool attuned, int to_slot);
|
||||
void SetStats(int type, int value);
|
||||
void IncStats(int type, int value);
|
||||
void DropItem(int slot_id);
|
||||
|
||||
@ -822,17 +822,6 @@ void LuaParser::MapFunctions(lua_State *L) {
|
||||
}
|
||||
}
|
||||
|
||||
void LuaParser::GetErrors(std::list<std::string> &err) {
|
||||
err.insert(err.end(), errors_.begin(), errors_.end());
|
||||
}
|
||||
|
||||
void LuaParser::AddError(std::string error) {
|
||||
errors_.push_back(error);
|
||||
if(errors_.size() > 30) {
|
||||
errors_.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
void LuaParser::DispatchEventNPC(QuestEventID evt, NPC* npc, Mob *init, std::string data, uint32 extra_data) {
|
||||
if(!npc)
|
||||
return;
|
||||
|
||||
@ -53,7 +53,6 @@ public:
|
||||
virtual std::string GetVar(std::string name);
|
||||
virtual void ReloadQuests();
|
||||
virtual uint32 GetIdentifier() { return 0xb0712acc; }
|
||||
virtual void GetErrors(std::list<std::string> &err);
|
||||
|
||||
virtual void DispatchEventNPC(QuestEventID evt, NPC* npc, Mob *init, std::string data, uint32 extra_data);
|
||||
virtual void DispatchEventPlayer(QuestEventID evt, Client *client, std::string data, uint32 extra_data);
|
||||
@ -75,13 +74,11 @@ private:
|
||||
bool HasFunction(std::string function, std::string package_name);
|
||||
void ClearStates();
|
||||
void MapFunctions(lua_State *L);
|
||||
void AddError(std::string error);
|
||||
void ExportQGlobals(NPC *n, Client *c);
|
||||
void ExportZoneVariables();
|
||||
|
||||
std::map<std::string, std::string> vars_;
|
||||
std::map<std::string, bool> loaded_;
|
||||
std::list<std::string> errors_;
|
||||
lua_State *L;
|
||||
|
||||
NPCArgumentHandler NPCArgumentDispatch[_LargestEventID];
|
||||
|
||||
@ -73,7 +73,7 @@ void handle_npc_event_trade(QuestInterface *parse, lua_State* L, NPC* npc, Mob *
|
||||
lua_setfield(L, -2, "item1_attuned");
|
||||
|
||||
lua_pushboolean(L, std::stoul(parse->GetVar("item2.attuned." + ident.str())) != 0 ? true : false);
|
||||
lua_setfield(L, -2, "item1_attuned");
|
||||
lua_setfield(L, -2, "item2_attuned");
|
||||
|
||||
lua_pushboolean(L, std::stoul(parse->GetVar("item3.attuned." + ident.str())) != 0 ? true : false);
|
||||
lua_setfield(L, -2, "item3_attuned");
|
||||
@ -81,6 +81,66 @@ void handle_npc_event_trade(QuestInterface *parse, lua_State* L, NPC* npc, Mob *
|
||||
lua_pushboolean(L, std::stoul(parse->GetVar("item4.attuned." + ident.str())) != 0 ? true : false);
|
||||
lua_setfield(L, -2, "item4_attuned");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item1.augment1." + ident.str())));
|
||||
lua_setfield(L, -2, "item1_augment1");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item1.augment2." + ident.str())));
|
||||
lua_setfield(L, -2, "item1_augment2");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item1.augment3." + ident.str())));
|
||||
lua_setfield(L, -2, "item1_augment3");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item1.augment4." + ident.str())));
|
||||
lua_setfield(L, -2, "item1_augment4");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item1.augment5." + ident.str())));
|
||||
lua_setfield(L, -2, "item1_augment5");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item2.augment1." + ident.str())));
|
||||
lua_setfield(L, -2, "item2_augment1");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item2.augment2." + ident.str())));
|
||||
lua_setfield(L, -2, "item2_augment2");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item2.augment3." + ident.str())));
|
||||
lua_setfield(L, -2, "item2_augment3");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item2.augment4." + ident.str())));
|
||||
lua_setfield(L, -2, "item2_augment4");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item2.augment5." + ident.str())));
|
||||
lua_setfield(L, -2, "item2_augment5");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item3.augment1." + ident.str())));
|
||||
lua_setfield(L, -2, "item3_augment1");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item3.augment2." + ident.str())));
|
||||
lua_setfield(L, -2, "item3_augment2");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item3.augment3." + ident.str())));
|
||||
lua_setfield(L, -2, "item3_augment3");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item3.augment4." + ident.str())));
|
||||
lua_setfield(L, -2, "item3_augment4");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item3.augment5." + ident.str())));
|
||||
lua_setfield(L, -2, "item3_augment5");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item4.augment1." + ident.str())));
|
||||
lua_setfield(L, -2, "item4_augment1");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item4.augment2." + ident.str())));
|
||||
lua_setfield(L, -2, "item4_augment2");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item4.augment3." + ident.str())));
|
||||
lua_setfield(L, -2, "item4_augment3");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item4.augment4." + ident.str())));
|
||||
lua_setfield(L, -2, "item4_augment4");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("item4.augment5." + ident.str())));
|
||||
lua_setfield(L, -2, "item4_augment5");
|
||||
|
||||
lua_pushinteger(L, std::stoul(parse->GetVar("platinum." + ident.str())));
|
||||
lua_setfield(L, -2, "platinum");
|
||||
|
||||
|
||||
@ -647,7 +647,7 @@ void Client::FinishTrade(Mob* tradingWith, ServerPacket* qspack, bool finalizer)
|
||||
parse->AddVar(temp1, temp2);
|
||||
|
||||
for(int y = 0; y < 5; y++) {
|
||||
snprintf(temp1, 100, "item%d.augment.%d", z + 1, tradingWith->GetNPCTypeID());
|
||||
snprintf(temp1, 100, "item%d.augment%d.%d", z + 1, y + 1, tradingWith->GetNPCTypeID());
|
||||
snprintf(temp2, 100, "%d", augments[z][y]);
|
||||
parse->AddVar(temp1, temp2);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user