Spawn quest flag now set automatically for AddQuestStepKill spawn id scenario
Fixes #112
This commit is contained in:
parent
f96fdcc85c
commit
1fbda69511
5 changed files with 19 additions and 7 deletions
|
@ -1764,7 +1764,7 @@ void Entity::AddStealthSpell(LuaSpell* spell) {
|
|||
if (IsPlayer())
|
||||
{
|
||||
((Player*)this)->SetCharSheetChanged(true);
|
||||
GetZone()->SendAllSpawnsForInvisChange(GetZone()->GetClientBySpawn(this));
|
||||
GetZone()->SendAllSpawnsForVisChange(GetZone()->GetClientBySpawn(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1784,7 +1784,7 @@ void Entity::AddInvisSpell(LuaSpell* spell) {
|
|||
if (IsPlayer())
|
||||
{
|
||||
((Player*)this)->SetCharSheetChanged(true);
|
||||
GetZone()->SendAllSpawnsForInvisChange(GetZone()->GetClientBySpawn(this));
|
||||
GetZone()->SendAllSpawnsForVisChange(GetZone()->GetClientBySpawn(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1803,7 +1803,7 @@ void Entity::RemoveInvisSpell(LuaSpell* spell) {
|
|||
if (IsPlayer())
|
||||
{
|
||||
((Player*)this)->SetCharSheetChanged(true);
|
||||
GetZone()->SendAllSpawnsForInvisChange(GetZone()->GetClientBySpawn(this));
|
||||
GetZone()->SendAllSpawnsForVisChange(GetZone()->GetClientBySpawn(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1822,7 +1822,7 @@ void Entity::RemoveStealthSpell(LuaSpell* spell) {
|
|||
if (IsPlayer())
|
||||
{
|
||||
((Player*)this)->SetCharSheetChanged(true);
|
||||
GetZone()->SendAllSpawnsForInvisChange(GetZone()->GetClientBySpawn(this));
|
||||
GetZone()->SendAllSpawnsForVisChange(GetZone()->GetClientBySpawn(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9390,7 +9390,7 @@ int EQ2Emu_lua_SetSeeHide(lua_State* state) {
|
|||
{
|
||||
Client* client = spawn->GetZone()->GetClientBySpawn((Player*)spawn);
|
||||
if (client)
|
||||
((Player*)spawn)->GetZone()->SendAllSpawnsForInvisChange(client);
|
||||
((Player*)spawn)->GetZone()->SendAllSpawnsForVisChange(client);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4461,19 +4461,28 @@ void Client::AddStepProgress(int32 quest_id, int32 step, int32 progress) {
|
|||
}
|
||||
|
||||
void Client::CheckPlayerQuestsKillUpdate(Spawn* spawn) {
|
||||
bool hadUpdates = false;
|
||||
vector<Quest*>* quest_updates = player->CheckQuestsKillUpdate(spawn);
|
||||
if (quest_updates) {
|
||||
for (int32 i = 0; i < quest_updates->size(); i++)
|
||||
{
|
||||
SendQuestUpdate(quest_updates->at(i));
|
||||
hadUpdates = true;
|
||||
}
|
||||
}
|
||||
safe_delete(quest_updates);
|
||||
vector<Quest*>* quest_failures = player->CheckQuestsFailures();
|
||||
if (quest_failures) {
|
||||
for (int32 i = 0; i < quest_failures->size(); i++)
|
||||
{
|
||||
SendQuestFailure(quest_failures->at(i));
|
||||
hadUpdates = true;
|
||||
}
|
||||
}
|
||||
safe_delete(quest_failures);
|
||||
|
||||
if (hadUpdates)
|
||||
GetCurrentZone()->SendAllSpawnsForVisChange(this);
|
||||
}
|
||||
|
||||
void Client::CheckPlayerQuestsChatUpdate(Spawn* spawn) {
|
||||
|
@ -4599,6 +4608,8 @@ void Client::AddPlayerQuest(Quest* quest, bool call_accepted, bool send_packets)
|
|||
QueuePacket(quest->QuestJournalReply(GetVersion(), GetNameCRC(), player));
|
||||
quest->SetTracked(true);
|
||||
QueuePacket(quest->QuestJournalReply(GetVersion(), GetNameCRC(), player));
|
||||
|
||||
GetCurrentZone()->SendAllSpawnsForVisChange(this);
|
||||
}
|
||||
//This isn't during a load screen, so update spawns with required quests
|
||||
if (call_accepted)
|
||||
|
@ -4624,6 +4635,7 @@ void Client::RemovePlayerQuest(int32 id, bool send_update, bool delete_quest) {
|
|||
if (send_update) {
|
||||
LogWrite(CCLIENT__DEBUG, 0, "Client", "Send Quest Journal...");
|
||||
SendQuestJournal();
|
||||
GetCurrentZone()->SendAllSpawnsForVisChange(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3997,7 +3997,7 @@ void ZoneServer::SendAllSpawnsForSeeInvisChange(Client* client) {
|
|||
}
|
||||
|
||||
|
||||
void ZoneServer::SendAllSpawnsForInvisChange(Client* client) {
|
||||
void ZoneServer::SendAllSpawnsForVisChange(Client* client) {
|
||||
Spawn* spawn = 0;
|
||||
if (spawn_range_map.count(client) > 0) {
|
||||
MutexMap<int32, float >::iterator itr = spawn_range_map.Get(client)->begin();
|
||||
|
|
|
@ -328,7 +328,7 @@ public:
|
|||
void ReloadClientQuests();
|
||||
void SendAllSpawnsForLevelChange(Client* client);
|
||||
void SendAllSpawnsForSeeInvisChange(Client* client);
|
||||
void SendAllSpawnsForInvisChange(Client* client);
|
||||
void SendAllSpawnsForVisChange(Client* client);
|
||||
|
||||
void AddLocationGrid(LocationGrid* grid);
|
||||
void RemoveLocationGrids();
|
||||
|
|
Loading…
Reference in a new issue