mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18: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 void ReloadQuests() { }
|
||||||
virtual uint32 GetIdentifier() = 0;
|
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
|
#endif
|
||||||
|
|||||||
@ -211,7 +211,6 @@ public:
|
|||||||
virtual Raid* GetRaid() { return entity_list.GetRaidByClient(this); }
|
virtual Raid* GetRaid() { return entity_list.GetRaidByClient(this); }
|
||||||
virtual Group* GetGroup() { return entity_list.GetGroupByClient(this); }
|
virtual Group* GetGroup() { return entity_list.GetGroupByClient(this); }
|
||||||
|
|
||||||
// void Discipline(ClientDiscipline_Struct* disc_in, Mob* tar);
|
|
||||||
void AI_Init();
|
void AI_Init();
|
||||||
void AI_Start(uint32 iMoveDelay = 0);
|
void AI_Start(uint32 iMoveDelay = 0);
|
||||||
void AI_Stop();
|
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);
|
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,
|
void Lua_Client::SummonItem(uint32 item_id, int charges, uint32 aug1, uint32 aug2, uint32 aug3, uint32 aug4, uint32 aug5,
|
||||||
bool attuned, int to_slot) {
|
bool attuned, int to_slot) {
|
||||||
Lua_Safe_Call_Void();
|
Lua_Safe_Call_Void();
|
||||||
|
|||||||
@ -132,8 +132,17 @@ public:
|
|||||||
int GetItemIDAt(int slot_id);
|
int GetItemIDAt(int slot_id);
|
||||||
int GetAugmentIDAt(int slot_id, int aug_slot);
|
int GetAugmentIDAt(int slot_id, int aug_slot);
|
||||||
void DeleteItemInInventory(int slot_id, int quantity, bool update_client = true);
|
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,
|
void SummonItem(uint32 item_id);
|
||||||
uint32 aug5 = 0, bool attuned = false, int to_slot = 30);
|
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 SetStats(int type, int value);
|
||||||
void IncStats(int type, int value);
|
void IncStats(int type, int value);
|
||||||
void DropItem(int slot_id);
|
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) {
|
void LuaParser::DispatchEventNPC(QuestEventID evt, NPC* npc, Mob *init, std::string data, uint32 extra_data) {
|
||||||
if(!npc)
|
if(!npc)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -53,7 +53,6 @@ public:
|
|||||||
virtual std::string GetVar(std::string name);
|
virtual std::string GetVar(std::string name);
|
||||||
virtual void ReloadQuests();
|
virtual void ReloadQuests();
|
||||||
virtual uint32 GetIdentifier() { return 0xb0712acc; }
|
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 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);
|
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);
|
bool HasFunction(std::string function, std::string package_name);
|
||||||
void ClearStates();
|
void ClearStates();
|
||||||
void MapFunctions(lua_State *L);
|
void MapFunctions(lua_State *L);
|
||||||
void AddError(std::string error);
|
|
||||||
void ExportQGlobals(NPC *n, Client *c);
|
void ExportQGlobals(NPC *n, Client *c);
|
||||||
void ExportZoneVariables();
|
void ExportZoneVariables();
|
||||||
|
|
||||||
std::map<std::string, std::string> vars_;
|
std::map<std::string, std::string> vars_;
|
||||||
std::map<std::string, bool> loaded_;
|
std::map<std::string, bool> loaded_;
|
||||||
std::list<std::string> errors_;
|
|
||||||
lua_State *L;
|
lua_State *L;
|
||||||
|
|
||||||
NPCArgumentHandler NPCArgumentDispatch[_LargestEventID];
|
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_setfield(L, -2, "item1_attuned");
|
||||||
|
|
||||||
lua_pushboolean(L, std::stoul(parse->GetVar("item2.attuned." + ident.str())) != 0 ? true : false);
|
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_pushboolean(L, std::stoul(parse->GetVar("item3.attuned." + ident.str())) != 0 ? true : false);
|
||||||
lua_setfield(L, -2, "item3_attuned");
|
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_pushboolean(L, std::stoul(parse->GetVar("item4.attuned." + ident.str())) != 0 ? true : false);
|
||||||
lua_setfield(L, -2, "item4_attuned");
|
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_pushinteger(L, std::stoul(parse->GetVar("platinum." + ident.str())));
|
||||||
lua_setfield(L, -2, "platinum");
|
lua_setfield(L, -2, "platinum");
|
||||||
|
|
||||||
|
|||||||
@ -647,7 +647,7 @@ void Client::FinishTrade(Mob* tradingWith, ServerPacket* qspack, bool finalizer)
|
|||||||
parse->AddVar(temp1, temp2);
|
parse->AddVar(temp1, temp2);
|
||||||
|
|
||||||
for(int y = 0; y < 5; y++) {
|
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]);
|
snprintf(temp2, 100, "%d", augments[z][y]);
|
||||||
parse->AddVar(temp1, temp2);
|
parse->AddVar(temp1, temp2);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user