mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-13 02:32:42 +00:00
Fix for clickies not working, changed order of dispatch events to allow nuking items from regular item events. Changed the lua modules path.
This commit is contained in:
parent
b904689a98
commit
342a4c1b17
@ -227,9 +227,9 @@ bool QuestParserCollection::ItemHasQuestSub(ItemInst *itm, QuestEventID evt) {
|
||||
|
||||
int QuestParserCollection::EventNPC(QuestEventID evt, NPC *npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<void*> *extra_pointers) {
|
||||
DispatchEventNPC(evt, npc, init, data, extra_data, extra_pointers);
|
||||
int rl = EventNPCLocal(evt, npc, init, data, extra_data, extra_pointers);
|
||||
int rg = EventNPCGlobal(evt, npc, init, data, extra_data, extra_pointers);
|
||||
DispatchEventNPC(evt, npc, init, data, extra_data, extra_pointers);
|
||||
|
||||
//Local quests returning non-default values have priority over global quests
|
||||
if(rl != 0) {
|
||||
@ -285,9 +285,9 @@ int QuestParserCollection::EventNPCGlobal(QuestEventID evt, NPC* npc, Mob *init,
|
||||
|
||||
int QuestParserCollection::EventPlayer(QuestEventID evt, Client *client, std::string data, uint32 extra_data,
|
||||
std::vector<void*> *extra_pointers) {
|
||||
DispatchEventPlayer(evt, client, data, extra_data, extra_pointers);
|
||||
int rl = EventPlayerLocal(evt, client, data, extra_data, extra_pointers);
|
||||
int rg = EventPlayerGlobal(evt, client, data, extra_data, extra_pointers);
|
||||
DispatchEventPlayer(evt, client, data, extra_data, extra_pointers);
|
||||
|
||||
//Local quests returning non-default values have priority over global quests
|
||||
if(rl != 0) {
|
||||
@ -355,8 +355,8 @@ int QuestParserCollection::EventItem(QuestEventID evt, Client *client, ItemInst
|
||||
//loaded or failed to load
|
||||
if(iter->second != QuestFailedToLoad) {
|
||||
std::map<uint32, QuestInterface*>::iterator qiter = _interfaces.find(iter->second);
|
||||
auto ret = qiter->second->EventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
DispatchEventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
auto ret = qiter->second->EventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
return ret;
|
||||
}
|
||||
DispatchEventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
@ -366,8 +366,8 @@ int QuestParserCollection::EventItem(QuestEventID evt, Client *client, ItemInst
|
||||
if(qi) {
|
||||
_item_quest_status[item_id] = qi->GetIdentifier();
|
||||
qi->LoadItemScript(filename, item);
|
||||
auto ret = qi->EventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
DispatchEventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
auto ret = qi->EventItem(evt, client, item, mob, data, extra_data, extra_pointers);
|
||||
return ret;
|
||||
} else {
|
||||
_item_quest_status[item_id] = QuestFailedToLoad;
|
||||
@ -384,8 +384,8 @@ int QuestParserCollection::EventSpell(QuestEventID evt, NPC* npc, Client *client
|
||||
//loaded or failed to load
|
||||
if(iter->second != QuestFailedToLoad) {
|
||||
std::map<uint32, QuestInterface*>::iterator qiter = _interfaces.find(iter->second);
|
||||
auto ret = qiter->second->EventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
DispatchEventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
auto ret = qiter->second->EventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
return ret;
|
||||
}
|
||||
DispatchEventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
@ -395,8 +395,8 @@ int QuestParserCollection::EventSpell(QuestEventID evt, NPC* npc, Client *client
|
||||
if(qi) {
|
||||
_spell_quest_status[spell_id] = qi->GetIdentifier();
|
||||
qi->LoadSpellScript(filename, spell_id);
|
||||
auto ret = qi->EventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
DispatchEventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
auto ret = qi->EventSpell(evt, npc, client, spell_id, extra_data, extra_pointers);
|
||||
return ret;
|
||||
} else {
|
||||
_spell_quest_status[spell_id] = QuestFailedToLoad;
|
||||
|
||||
@ -2116,7 +2116,7 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
|
||||
return;
|
||||
}
|
||||
|
||||
if(i != 0) {
|
||||
if(i == 0) {
|
||||
CastSpell(item->Click.Effect, target_id, 10, item->CastTime, 0, 0, slot_id);
|
||||
}
|
||||
}
|
||||
@ -2143,7 +2143,7 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
|
||||
return;
|
||||
}
|
||||
|
||||
if(i != 0) {
|
||||
if(i == 0) {
|
||||
CastSpell(augitem->Click.Effect, target_id, 10, augitem->CastTime, 0, 0, slot_id);
|
||||
}
|
||||
}
|
||||
@ -4592,10 +4592,10 @@ LogFile->write(EQEMuLog::Debug, "OP CastSpell: slot=%d, spell=%d, target=%d, inv
|
||||
ItemInst* p_inst = (ItemInst*)inst;
|
||||
int i = parse->EventItem(EVENT_ITEM_CLICK_CAST, this, p_inst, nullptr, "", castspell->inventoryslot);
|
||||
|
||||
if(i != 0) {
|
||||
if(i == 0) {
|
||||
CastSpell(item->Click.Effect, castspell->target_id, castspell->slot, item->CastTime, 0, 0, castspell->inventoryslot);
|
||||
} else {
|
||||
SendSpellBarEnable(castspell->spell_id);
|
||||
InterruptSpell(castspell->spell_id);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -4611,10 +4611,10 @@ LogFile->write(EQEMuLog::Debug, "OP CastSpell: slot=%d, spell=%d, target=%d, inv
|
||||
ItemInst* p_inst = (ItemInst*)inst;
|
||||
int i = parse->EventItem(EVENT_ITEM_CLICK_CAST, this, p_inst, nullptr, "", castspell->inventoryslot);
|
||||
|
||||
if(i != 0) {
|
||||
if(i == 0) {
|
||||
CastSpell(item->Click.Effect, castspell->target_id, castspell->slot, item->CastTime, 0, 0, castspell->inventoryslot);
|
||||
} else {
|
||||
SendSpellBarEnable(castspell->spell_id);
|
||||
InterruptSpell(castspell->spell_id);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -772,10 +772,13 @@ void LuaParser::ReloadQuests() {
|
||||
lua_pushnil(L);
|
||||
lua_setglobal(L, "os");
|
||||
|
||||
lua_pushnil(L);
|
||||
lua_setglobal(L, "io");
|
||||
|
||||
lua_getglobal(L, "package");
|
||||
lua_getfield(L, -1, "path");
|
||||
std::string module_path = lua_tostring(L,-1);
|
||||
module_path += "lua_modules/?.lua";
|
||||
module_path += "./lua_modules/?.lua";
|
||||
lua_pop(L, 1);
|
||||
lua_pushstring(L, module_path.c_str());
|
||||
lua_setfield(L, -2, "path");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user