Skip to content

Commit c251cc5

Browse files
committed
Fix quest event detection.
1 parent 2607d3a commit c251cc5

File tree

2 files changed

+39
-29
lines changed

2 files changed

+39
-29
lines changed

SniffScripter/TimelineMaker.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -952,8 +952,8 @@ struct QuestEventData
952952

953953
bool TimelineMaker::FindQuestsWithRpEvents(uint32 const duration)
954954
{
955-
SniffDatabase::LoadQuestAcceptTimes("(`unixtime` != 0)");
956-
SniffDatabase::LoadQuestCompleteTimes("(`unixtime` != 0)");
955+
SniffDatabase::LoadQuestAcceptTimes("(`unixtimems` != 0)");
956+
SniffDatabase::LoadQuestCompleteTimes("(`unixtimems` != 0)");
957957

958958
if (m_eventsMap.empty())
959959
return false;
@@ -1053,13 +1053,13 @@ bool TimelineMaker::FindQuestsWithRpEvents(uint32 const duration)
10531053

10541054
{
10551055
char whereClause[128] = {};
1056-
snprintf(whereClause, 127, "(`caster_guid` = %u) && (`unixtimems` >= (%u * 1000)) && (`unixtime`<= %u)", itr.objectGuid, startTime, endTime);
1056+
snprintf(whereClause, 127, "(`caster_guid` = %u) && (`unixtimems` >= (%u * 1000)) && (`unixtimems` <= (%u * 1000))", itr.objectGuid, startTime, endTime);
10571057
SniffDatabase::LoadSpellCastStart(whereClause);
10581058
}
10591059

10601060
{
10611061
char whereClause[128] = {};
1062-
snprintf(whereClause, 127, "(`caster_guid` = %u) && (`unixtimems` >= (%u * 1000)) && (`unixtime`<= %u)", itr.objectGuid, startTime, endTime);
1062+
snprintf(whereClause, 127, "(`caster_guid` = %u) && (`unixtimems` >= (%u * 1000)) && (`unixtimems` <= (%u * 1000))", itr.objectGuid, startTime, endTime);
10631063
SniffDatabase::LoadSpellCastGo(whereClause);
10641064
}
10651065

SniffScripter/main.cpp

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,20 +64,6 @@ enum
6464

6565
int main()
6666
{
67-
printf("\nEnter your database connection info.\n");
68-
std::string const connection_string = MakeConnectionString();
69-
70-
printf("\nConnecting to database.\n");
71-
if (!GameDb.Initialize(connection_string.c_str()))
72-
{
73-
printf("\nError: Cannot connect to world database!\n");
74-
GetChar();
75-
return 1;
76-
}
77-
78-
WorldDatabase::LoadWorldDatabase();
79-
printf("\n");
80-
8167
printf("Options:\n");
8268
printf("1. Create timeline for specific guids\n");
8369
printf("2. Create timeline for all in time period\n");
@@ -96,10 +82,24 @@ int main()
9682
option == OPTION_QUESTS_WITH_RP_EVENTS ||
9783
option == OPTION_GENERATE_SCRIPT)
9884
{
99-
85+
printf("\nEnter your database connection info.\n");
86+
std::string const connection_string = MakeConnectionString();
87+
88+
printf("\nConnecting to database.\n");
89+
if (!GameDb.Initialize(connection_string.c_str()))
90+
{
91+
printf("\nError: Cannot connect to world database!\n");
92+
GetChar();
93+
return 1;
94+
}
95+
96+
WorldDatabase::LoadWorldDatabase();
97+
printf("\n");
98+
10099
printf("Enter sniff database name: ");
101100
SniffDatabase::m_databaseName = GetString("sniffs_new_test");
102101
SniffDatabase::LoadSniffDatabase();
102+
printf("\n");
103103

104104
if (option == OPTION_TIMELINE_SPECIFIC_GUIDS)
105105
{
@@ -310,19 +310,29 @@ int main()
310310
}
311311
else if (option == OPTION_BREAKDOWN_NPC_FLAGS)
312312
{
313-
printf("NPC Flags: ");
314-
uint32 flags = GetUInt32();
315-
std::string flagNames = GetNpcFlagNames(flags);
316-
printf(flagNames.c_str());
317-
GetChar();
313+
bool repeat = true;
314+
while (repeat)
315+
{
316+
printf("NPC Flags: ");
317+
uint32 flags = GetUInt32();
318+
std::string flagNames = GetNpcFlagNames(flags);
319+
printf(flagNames.c_str());
320+
printf("\nAgain? (y/n)\n>");
321+
repeat = GetChar() == 'y';
322+
}
318323
}
319324
else if (option == OPTION_BREAKDOWN_UNIT_FLAGS)
320325
{
321-
printf("Unit Flags: ");
322-
uint32 flags = GetUInt32();
323-
std::string flagNames = GetUnitFlagNames(flags);
324-
printf(flagNames.c_str());
325-
GetChar();
326+
bool repeat = true;
327+
while (repeat)
328+
{
329+
printf("Unit Flags: ");
330+
uint32 flags = GetUInt32();
331+
std::string flagNames = GetUnitFlagNames(flags);
332+
printf(flagNames.c_str());
333+
printf("\nAgain? (y/n)\n>");
334+
repeat = GetChar() == 'y';
335+
}
326336
}
327337

328338
GetChar();

0 commit comments

Comments
 (0)