Browse Source

Sync Quest._qvar2

pull/5478/head
obligaron 4 years ago committed by Anders Jenbo
parent
commit
17712562c8
  1. 3
      Source/msg.cpp
  2. 1
      Source/msg.h
  3. 16
      Source/quests.cpp
  4. 2
      Source/quests.h

3
Source/msg.cpp

@ -2248,7 +2248,7 @@ size_t OnSyncQuest(const TCmd *pCmd, size_t pnum)
SendPacket(pnum, &message, sizeof(message));
} else {
if (pnum != MyPlayerId && message.q < MAXQUESTS && message.qstate <= QUEST_HIVE_DONE)
SetMultiQuest(message.q, message.qstate, message.qlog != 0, message.qvar1);
SetMultiQuest(message.q, message.qstate, message.qlog != 0, message.qvar1, message.qvar2);
sgbDeltaChanged = true;
}
@ -2936,6 +2936,7 @@ void NetSendCmdQuest(bool bHiPri, const Quest &quest)
cmd.qstate = quest._qactive;
cmd.qlog = quest._qlog ? 1 : 0;
cmd.qvar1 = quest._qvar1;
cmd.qvar2 = quest._qvar2;
if (bHiPri)
NetSendHiPri(MyPlayerId, (byte *)&cmd, sizeof(cmd));

1
Source/msg.h

@ -536,6 +536,7 @@ struct TCmdQuest {
quest_state qstate;
uint8_t qlog;
uint8_t qvar1;
uint8_t qvar2;
};
struct TItemDef {

16
Source/quests.cpp

@ -787,19 +787,21 @@ void QuestlogESC()
}
}
void SetMultiQuest(int q, quest_state s, bool log, int v1)
void SetMultiQuest(int q, quest_state s, bool log, int v1, int v2)
{
if (gbIsSpawn)
return;
if (Quests[q]._qactive != QUEST_DONE) {
if (s > Quests[q]._qactive)
Quests[q]._qactive = s;
auto &quest = Quests[q];
if (quest._qactive != QUEST_DONE) {
if (s > quest._qactive)
quest._qactive = s;
if (log)
Quests[q]._qlog = true;
if (v1 > Quests[q]._qvar1)
Quests[q]._qvar1 = v1;
quest._qlog = true;
}
if (v1 > quest._qvar1)
quest._qvar1 = v1;
quest._qvar2 = v2;
}
bool Quest::IsAvailable()

2
Source/quests.h

@ -103,7 +103,7 @@ void QuestlogUp();
void QuestlogDown();
void QuestlogEnter();
void QuestlogESC();
void SetMultiQuest(int q, quest_state s, bool log, int v1);
void SetMultiQuest(int q, quest_state s, bool log, int v1, int v2);
/* rdata */
extern QuestData QuestsData[];

Loading…
Cancel
Save