Split quest flags into two separate boolean values
This commit is contained in:
@@ -657,7 +657,7 @@ static void fill_job_bank(cDialog& me, job_bank_t& bank, std::string) {
|
||||
cQuest& quest = univ.scenario.quests[bank.jobs[i]];
|
||||
std::string description = quest.descr;
|
||||
if(quest.deadline > 0) {
|
||||
if(quest.flags % 10 == 1)
|
||||
if(quest.deadline_is_relative)
|
||||
description += " Must be completed in " + std::to_string(quest.deadline) + " days.";
|
||||
else description += " Must be completed by day " + std::to_string(quest.deadline) + ".";
|
||||
}
|
||||
|
@@ -670,7 +670,7 @@ void put_quest_info(short which_i) {
|
||||
int start = univ.party.active_quests[which_i].start;
|
||||
quest_dlg["start"].setText("Day " + std::to_string(start));
|
||||
if(quest.deadline > 0)
|
||||
quest_dlg["chop"].setText("Day " + std::to_string(quest.deadline + (quest.flags % 10) * start));
|
||||
quest_dlg["chop"].setText("Day " + std::to_string(quest.deadline + int(quest.deadline_is_relative) * start));
|
||||
else quest_dlg["chop"].setText("None");
|
||||
if(quest.gold > 0)
|
||||
quest_dlg["pay"].setText(std::to_string(quest.gold) + " gold");
|
||||
|
@@ -1814,7 +1814,7 @@ void special_increase_age(long length, bool queue) {
|
||||
cQuest& quest = univ.scenario.quests[p.first];
|
||||
if(quest.deadline <= 0)
|
||||
continue;
|
||||
bool is_relative = quest.flags % 10;
|
||||
bool is_relative = quest.deadline_is_relative;
|
||||
int deadline = quest.deadline + is_relative * p.second.start;
|
||||
if(day_reached(deadline + 1, quest.event)) {
|
||||
p.second.status = eQuestStatus::FAILED;
|
||||
@@ -1824,7 +1824,7 @@ void special_increase_age(long length, bool queue) {
|
||||
if(bank >= univ.party.job_banks.size())
|
||||
univ.party.job_banks.resize(bank + 1);
|
||||
int add_anger = 1;
|
||||
if(quest.flags % 10 == 1) {
|
||||
if(quest.deadline_is_relative) {
|
||||
if(quest.deadline < 20)
|
||||
add_anger++;
|
||||
if(quest.deadline < 10)
|
||||
|
Reference in New Issue
Block a user