void cScreenTown::process() { if (!ids_set)set_ids(); // we need to make sure the ID variables are set init(); if (g_InterfaceEvents.GetNumEvents() == 0) return; // no events means we can go home if (girlimage_id != -1 && !eventrunning) HideImage(girlimage_id, true); /* * otherwise, compare event IDs * * if it's the back button, pop the window off the stack * and we're done */ /* */if (g_InterfaceEvents.CheckButton(back_id)) { g_InitWin = true; g_WinManager.Pop(); return; } else if (g_InterfaceEvents.CheckButton(slavemarket_id)) { g_InitWin = true; g_WinManager.push("Slave Market"); return; } else if (g_InterfaceEvents.CheckButton(prison_id)) { g_InitWin = true; g_WinManager.push("Prison"); return; } else if (g_InterfaceEvents.CheckButton(house_id)) { g_Building = BUILDING_HOUSE; g_CurrHouse = 0; g_InitWin = true; g_WinManager.push("Player House"); return; } else if (g_InterfaceEvents.CheckButton(clinic_id)) { check_clinic(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(studio_id)) { check_studio(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(arena_id)) { check_arena(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(centre_id)) { check_centre(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(farm_id)) { check_farm(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(mayor_id)) { g_InitWin = true; g_WinManager.push("Mayor"); return; } else if (g_InterfaceEvents.CheckButton(bank_id)) { g_InitWin = true; g_WinManager.push("Bank"); return; } else if (g_InterfaceEvents.CheckButton(shop_id)) { g_InitWin = true; g_AllTogle = false; g_WinManager.push("Item Management"); return; } else if (g_InterfaceEvents.CheckButton(brothel0_id)) { check_brothel(0); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel1_id)) { check_brothel(1); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel2_id)) { check_brothel(2); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel3_id)) { check_brothel(3); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel4_id)) { check_brothel(4); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel5_id)) { check_brothel(5); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(brothel6_id)) { check_brothel(6); g_InitWin = true; return; } else if (g_InterfaceEvents.CheckButton(walk_id)) { do_walk(); if (!g_Cheats) g_WalkAround = true; g_InitWin = true; } else if (g_InterfaceEvents.CheckButton(setup_id)) { g_InitWin = true; g_WinManager.push("Property Management"); return; } // `J` added }
void cScreenMayor::check_events() { if (g_InterfaceEvents.GetNumEvents() == 0) return; // no events means we can go home if (g_InterfaceEvents.CheckButton(back_id)) // if it's the back button, pop the window off the stack and we're done { g_InitWin = true; g_WinManager.Pop(); return; } if (g_InterfaceEvents.CheckButton(bribe_id)) { SetBribe = true; g_GetInput.ModeGetInt(); g_WinManager.push("GetInput"); g_InitWin = true; return; } }
void cScreenCentreManagement::ViewSelectedGirl() { if (selected_girl) { if (GirlDead(selected_girl)) return; //load up the cycle_girls vector with the ordered list of girl IDs FillSortedIDList(girllist_id, &cycle_girls, &cycle_pos); for (int i = cycle_girls.size(); i-- > 0;) { // no viewing dead girls if (g_Centre.GetGirl(g_CurrCentre, cycle_girls[i])->health() <= 0) cycle_girls.erase(cycle_girls.begin() + i); } g_InitWin = true; g_WinManager.push("Girl Details"); return; } }
void cScreenTown::check_farm(int FarmNum) { // player clicked on one of the brothels if (g_Farm.GetNumBrothels() == FarmNum) { // player doesn't own this Studio... can he buy it? static_brothel_data *bck = farm_data + FarmNum; locale syslocale(""); stringstream ss; ss.imbue(syslocale); if (!g_Gold.afford(bck->price) || g_Gangs.GetNumBusinessExtorted() < bck->business) { // can't buy it ss << gettext("This building costs ") << bck->price << gettext(" gold and you need to control at least ") << bck->business << gettext(" businesses."); if (!g_Gold.afford(bck->price)) ss << "\n" << gettext("You need ") << (bck->price - g_Gold.ival()) << gettext(" more gold to afford it."); if (g_Gangs.GetNumBusinessExtorted() < bck->business) ss << "\n" << gettext("You need to control ") << (bck->business - g_Gangs.GetNumBusinessExtorted()) << gettext(" more businesses."); g_MessageQue.AddToQue(ss.str(), 0); } else { // can buy it ss << gettext("Do you wish to purchase this building for ") << bck->price << gettext(" gold? It has ") << bck->rooms << gettext(" rooms."); g_MessageQue.AddToQue(ss.str(), 2); g_ChoiceManager.CreateChoiceBox(224, 112, 352, 384, 0, 2, 32, 8); g_ChoiceManager.AddChoice(0, gettext("Buy It"), 0); g_ChoiceManager.AddChoice(0, gettext("Don't Buy It"), 1); g_ChoiceManager.SetActive(0); BuyFarm = FarmNum; } } else { // player owns this brothel... go to it g_Building = BUILDING_FARM; g_CurrFarm = FarmNum; g_WinManager.push("Farm Screen"); } }
void cScreenGirlDetails::check_events() { // no events means we can go home if (g_InterfaceEvents.GetNumEvents() == 0) return; // if it's the back button, pop the window off the stack and we're done if (g_InterfaceEvents.CheckButton(back_id)) { g_InitWin = true; g_WinManager.Pop(); return; } if (g_InterfaceEvents.CheckSlider(houseperc_id)) { g_Girls.SetStat(selected_girl, STAT_HOUSE, SliderValue(houseperc_id)); ss.str(""); ss << gettext("House Percentage: ") << SliderValue(houseperc_id) << gettext("%"); EditTextItem(ss.str(), housepercval_id); // Rebelliousness might have changed, so update details if (DetailLevel == 0) { string detail = g_Girls.GetDetailsString(selected_girl); EditTextItem(detail, girldesc_id); } return; } if (g_InterfaceEvents.CheckButton(more_id)) { if (DetailLevel == 0) { DetailLevel = 1; EditTextItem(g_Girls.GetMoreDetailsString(selected_girl), girldesc_id); } else if (DetailLevel == 1) { DetailLevel = 2; EditTextItem(g_Girls.GetThirdDetailsString(selected_girl), girldesc_id); } else { DetailLevel = 0; EditTextItem(g_Girls.GetDetailsString(selected_girl), girldesc_id); } } if (g_InterfaceEvents.CheckButton(day_id)) { DisableButton(day_id, true); DisableButton(night_id, false); g_InitWin = true; Day0Night1 = SHIFT_DAY; } if (g_InterfaceEvents.CheckButton(night_id)) { DisableButton(day_id, false); DisableButton(night_id, true); g_InitWin = true; Day0Night1 = SHIFT_NIGHT; } if (g_InterfaceEvents.CheckCheckbox(antipreg_id)) { selected_girl->m_UseAntiPreg = (IsCheckboxOn(antipreg_id)); } if (g_InterfaceEvents.CheckListbox(traitlist_id)) { int selection = GetLastSelectedItemFromList(traitlist_id); if (selection != -1) EditTextItem(selected_girl->m_Traits[selection]->m_Desc, traitdesc_id); else EditTextItem("", traitdesc_id); } if (g_InterfaceEvents.CheckListbox(jobtypelist_id)) { SetJob = true; RefreshJobList(); } if (g_InterfaceEvents.CheckListbox(joblist_id)) { bool fulltime = g_CTRLDown; int selection = GetSelectedItemFromList(joblist_id); if (selection != -1) { int old_job = (Day0Night1 ? selected_girl->m_NightJob : selected_girl->m_DayJob); // handle special job requirements and assign - if HandleSpecialJobs returns true, the job assignment was modified or cancelled if (g_Brothels.m_JobManager.HandleSpecialJobs(g_CurrBrothel, selected_girl, selection, old_job, Day0Night1, fulltime)) { selection = (Day0Night1 ? selected_girl->m_NightJob : selected_girl->m_DayJob); SetSelectedItemInList(joblist_id, selection, false); } // refresh job worker counts for former job and current job if (old_job != selection) { SetSelectedItemText(joblist_id, old_job, g_Brothels.m_JobManager.JobDescriptionCount(old_job, g_CurrBrothel, Day0Night1)); SetSelectedItemText(joblist_id, selection, g_Brothels.m_JobManager.JobDescriptionCount(selection, g_CurrBrothel, Day0Night1)); } RefreshJobList(); } } if (g_InterfaceEvents.CheckButton(inventory_id)) { if (selected_girl) { if (GirlDead(selected_girl)) return; g_InitWin = true; g_AllTogle = true; g_WinManager.push("Item Management"); return; } } if (g_InterfaceEvents.CheckButton(gallery_id)) { g_WinManager.push("Gallery"); g_InitWin = true; return; } if (g_InterfaceEvents.CheckSlider(accom_id)) { selected_girl->m_AccLevel = SliderValue(accom_id); SliderRange(accom_id, 0, 9, selected_girl->m_AccLevel, 1); if (accomval_id != -1) { stringstream acc; acc << "Accommodation: " << g_Girls.Accommodation(SliderValue(accom_id)); if (cfg.debug.log_extradetails()) { int val = SliderValue(accom_id) - g_Girls.PreferredAccom(selected_girl); if (val != 0) acc << " ( " << (val > 0 ? "+" : "") << val << " )"; } EditTextItem(acc.str(), accomval_id); } g_InitWin = true; return; } if (g_InterfaceEvents.CheckButton(accomup_id)) { if (selected_girl->m_AccLevel + 1 > 9) selected_girl->m_AccLevel = 9; else selected_girl->m_AccLevel++; if (accomval_id != -1) EditTextItem("Accommodation: " + g_Girls.Accommodation(selected_girl->m_AccLevel), accomval_id); g_InitWin = true; return; } if (g_InterfaceEvents.CheckButton(accomdown_id)) { if (selected_girl->m_AccLevel - 1 < 0) selected_girl->m_AccLevel = 0; else selected_girl->m_AccLevel--; if (accomval_id != -1) EditTextItem("Accommodation: " + g_Girls.Accommodation(selected_girl->m_AccLevel), accomval_id); g_InitWin = true; return; } if (g_InterfaceEvents.CheckButton(takegold_id)) { take_gold(selected_girl); } if (g_InterfaceEvents.CheckButton(reldungeon_id)) { g_Brothels.GetDungeon()->GetDungeonPos(selected_girl); if ((g_Brothels.GetBrothel(g_CurrBrothel)->m_NumRooms - g_Brothels.GetBrothel(g_CurrBrothel)->m_NumGirls) == 0) { g_MessageQue.AddToQue(gettext("The current brothel has no more room.\nBuy a new one, get rid of some girls, or change the brothel you are currently managing."), 0); } else { sGirl* nextGirl = remove_selected_girl(); sGirl* tempGirl = g_Brothels.GetDungeon()->RemoveGirl(g_Brothels.GetDungeon()->GetGirl(g_Brothels.GetDungeon()->GetGirlPos(selected_girl))); g_Brothels.AddGirl(g_CurrBrothel, tempGirl); if (g_Brothels.GetDungeon()->GetNumGirls() == 0) { selected_girl = 0; g_WinManager.Pop(); } else selected_girl = nextGirl; } g_InitWin = true; return; } if (g_InterfaceEvents.CheckButton(senddungeon_id)) { ss.str(""); g_Brothels.GetGirlPos(g_CurrBrothel, selected_girl); // does she decide to fight back if (g_Brothels.FightsBack(selected_girl)) { bool win = true; sGang* gang = g_Gangs.GetGangOnMission(MISS_GUARDING); int count = 8; while (gang && win && count >= 0) { win = (g_Gangs.GangCombat(selected_girl, gang)); if (gang->m_Num == 0) gang = g_Gangs.GetGangOnMission(MISS_GUARDING); count--; if (count<0) win = true; } // Calculate combat between goons and girl if she decides to fight back if (win) { ss << gettext("She puts up a fight"); if (gang && gang->m_Num == 0) ss << gettext(", and the gang is completely wiped out"); ss << ". "; if (g_Brothels.PlayerCombat(selected_girl)) // fight with the player { // If girl wins she escapes and leaves the brothel ss << gettext("After defeating you as well, she escapes to the outside.\n"); ss << gettext("She will escape for good in 6 weeks if you don't send someone after her."); sGirl* nextGirl = remove_selected_girl(); sGirl* temp = selected_girl; if (selected_girl->m_DayJob == JOB_INDUNGEON) temp = g_Brothels.GetDungeon()->RemoveGirl(selected_girl); else if (selected_girl->m_InHouse) g_House.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InFarm) g_Farm.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InClinic) g_Clinic.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InCentre) g_Centre.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InArena) g_Arena.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InStudio) g_Studios.RemoveGirl(0, selected_girl, false); else g_Brothels.RemoveGirl(selected_girl->where_is_she, selected_girl, false); temp->m_RunAway = 6; temp->m_NightJob = temp->m_DayJob = JOB_RUNAWAY; g_Brothels.AddGirlToRunaways(temp); stringstream smess; smess << temp->m_Realname << gettext(" has run away"); g_MessageQue.AddToQue(smess.str(), 1); selected_girl = nextGirl; if (selected_girl == 0) g_WinManager.Pop(); } else // otherwise put her in the dungeon { int reason = (selected_girl->m_Spotted ? DUNGEON_GIRLSTEAL : DUNGEON_GIRLWHIM); sGirl* nextGirl = remove_selected_girl(); selected_girl->m_DayJob = selected_girl->m_NightJob = JOB_INDUNGEON; /* */if (selected_girl->m_InHouse) g_House.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InFarm) g_Farm.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InClinic) g_Clinic.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InCentre) g_Centre.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InArena) g_Arena.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InStudio) g_Studios.RemoveGirl(0, selected_girl, false); else g_Brothels.RemoveGirl(selected_girl->where_is_she, selected_girl, false); g_Brothels.GetDungeon()->AddGirl(selected_girl, reason); ss << gettext("However, you manage to defeat her yourself and place her unconscious body in the dungeon."); bool pop = false; /* */if (selected_girl->m_InHouse) if (g_House.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InFarm) if (g_Farm.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InClinic) if (g_Clinic.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InCentre) if (g_Centre.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InArena) if (g_Arena.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InStudio) if (g_Studios.GetNumGirls(0) == 0) pop = true; else if (g_Brothels.GetNumGirls(selected_girl->where_is_she) == 0) pop = true; if (pop) { selected_girl = 0; g_WinManager.Pop(); } else selected_girl = nextGirl; } } else // otherwise put her in the dungeon { ss << gettext("She puts up a fight "); if (gang && gang->m_Num == 0) ss << gettext("and the gang is wiped out, "); ss << gettext("but your goons manage to drag her unconscious to the dungeon."); int reason = (selected_girl->m_Spotted ? DUNGEON_GIRLSTEAL : DUNGEON_GIRLWHIM); sGirl* nextGirl = remove_selected_girl(); /* */if (selected_girl->m_InHouse) g_House.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InFarm) g_Farm.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InClinic) g_Clinic.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InCentre) g_Centre.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InArena) g_Arena.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InStudio) g_Studios.RemoveGirl(0, selected_girl, false); else g_Brothels.RemoveGirl(selected_girl->where_is_she, selected_girl, false); g_Brothels.GetDungeon()->AddGirl(selected_girl, reason); bool pop = false; /* */if (selected_girl->m_InHouse) if (g_House.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InFarm) if (g_Farm.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InClinic) if (g_Clinic.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InCentre) if (g_Centre.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InArena) if (g_Arena.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InStudio) if (g_Studios.GetNumGirls(0) == 0) pop = true; else if (g_Brothels.GetNumGirls(selected_girl->where_is_she) == 0) pop = true; if (pop) { selected_girl = 0; g_WinManager.Pop(); } else selected_girl = nextGirl; } } else { int reason = (selected_girl->m_Spotted ? DUNGEON_GIRLSTEAL : DUNGEON_GIRLWHIM); sGirl* nextGirl = remove_selected_girl(); /* */if (selected_girl->m_InHouse) g_House.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InFarm) g_Farm.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InClinic) g_Clinic.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InCentre) g_Centre.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InArena) g_Arena.RemoveGirl(0, selected_girl, false); else if (selected_girl->m_InStudio) g_Studios.RemoveGirl(0, selected_girl, false); else g_Brothels.RemoveGirl(selected_girl->where_is_she, selected_girl, false); g_Brothels.GetDungeon()->AddGirl(selected_girl, reason); ss << gettext("She goes quietly with a sullen look on her face."); bool pop = false; /* */if (selected_girl->m_InHouse) if (g_House.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InFarm) if (g_Farm.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InClinic) if (g_Clinic.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InCentre) if (g_Centre.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InArena) if (g_Arena.GetNumGirls(0) == 0) pop = true; else if (selected_girl->m_InStudio) if (g_Studios.GetNumGirls(0) == 0) pop = true; else if (g_Brothels.GetNumGirls(g_CurrBrothel) == 0) /* */ pop = true; if (pop) { selected_girl = 0; g_WinManager.Pop(); } else selected_girl = nextGirl; } g_InitWin = true; g_MessageQue.AddToQue(ss.str(), 0); return; } if (g_InterfaceEvents.CheckButton(interact_id)) { if (g_TalkCount > 0) { DirPath dp; eventrunning = true; if (selected_girl->m_DayJob != JOB_INDUNGEON) { int v[2] = { 1, -1 }; cTrigger* trig = 0; if (!(trig = selected_girl->m_Triggers.CheckForScript(TRIGGER_TALK, false, v))) // trigger any girl specific talk script { // no, so trigger the default one dp = dp << "Resources" << "Scripts" << "DefaultInteractDetails.script"; } else { // yes, so use that instead dp = DirPath(cfg.folders.characters().c_str()) << selected_girl->m_Name << trig->m_Script; } } else { int v[2] = { 0, -1 }; cTrigger* trig = 0; if (!(trig = selected_girl->m_Triggers.CheckForScript(TRIGGER_TALK, false, v))) // trigger any girl specific talk script { // no, so trigger the default one dp = dp << "Resources" << "Scripts" << "DefaultInteractDungeon.script"; } else { dp = DirPath(cfg.folders.characters().c_str()) << selected_girl->m_Name << trig->m_Script; } } cScriptManager script_manager; script_manager.Load(dp, selected_girl); if (!g_Cheats) g_TalkCount--; } g_InitWin = true; return; } if (g_InterfaceEvents.CheckButton(next_id)) { NextGirl(); } if (g_InterfaceEvents.CheckButton(prev_id)) { PrevGirl(); } }
bool cScreenGirlDetails::check_keys() { if (g_LeftArrow) { g_LeftArrow = false; PrevGirl(); return true; } if (g_RightArrow) { g_RightArrow = false; NextGirl(); return true; } if (g_AltKeys) { if (g_A_Key) { g_A_Key = false; PrevGirl(); return true; } if (g_D_Key) { g_D_Key = false; NextGirl(); return true; } if (g_H_Key || g_J_Key) { int mod = 1; if (g_H_Key) mod = -1; g_Girls.UpdateStat(selected_girl, STAT_HOUSE, mod); g_H_Key = g_J_Key = false; SliderValue(houseperc_id, g_Girls.GetStat(selected_girl, STAT_HOUSE)); ss.str(""); ss << gettext("House Percentage: ") << g_Girls.GetStat(selected_girl, STAT_HOUSE) << gettext("%"); EditTextItem(ss.str(), housepercval_id); // Rebelliousness might have changed, so update details if (DetailLevel == 0) { string detail = g_Girls.GetDetailsString(selected_girl); EditTextItem(detail, girldesc_id); } return true; } if (g_S_Key) { g_S_Key = false; if (g_ShiftDown) { DetailLevel = 2; EditTextItem(g_Girls.GetThirdDetailsString(selected_girl), girldesc_id); } else { if (DetailLevel == 0) { DetailLevel = 1; EditTextItem(g_Girls.GetMoreDetailsString(selected_girl), girldesc_id); } else { DetailLevel = 0; EditTextItem(g_Girls.GetDetailsString(selected_girl), girldesc_id); } } return true; } if (g_SpaceKey) { g_SpaceKey = false; g_WinManager.push("Gallery"); g_InitWin = true; return true; } } return false; }
void cClinicScreen::process() { /* * we need to make sure the ID variables are set */ if (!ids_set) set_ids(); init(); if (g_InitWin) { EditTextItem(g_Clinic.GetBrothelString(0), clinicdetails_id); g_InitWin = false; } /* * no events means we can go home */ if (g_InterfaceEvents.GetNumEvents() == 0) return; /* * otherwise, compare event IDs * * if it's the back button, pop the window off the stack * and we're done */ if (g_InterfaceEvents.CheckButton(back_id)) { g_InitWin = true; g_WinManager.Pop(); return; } else if (g_InterfaceEvents.CheckButton(walk_id)) { g_InitWin = true; g_WinManager.push("Clinic Try"); return; } else if (g_InterfaceEvents.CheckButton(girls_id)) { g_InitWin = true; g_WinManager.push("Clinic"); return; } else if (g_InterfaceEvents.CheckButton(staff_id)) { g_InitWin = true; g_WinManager.push("Gangs"); return; } else if (g_InterfaceEvents.CheckButton(turns_id)) { g_InitWin = true; g_WinManager.push("TurnSummary"); return; } else if (g_InterfaceEvents.CheckButton(setup_id)) { g_Building = BUILDING_CLINIC; g_InitWin = true; g_WinManager.push("Building Setup"); return; } else if (g_InterfaceEvents.CheckButton(dungeon_id)) { g_InitWin = true; g_WinManager.push("Dungeon"); return; } else if (g_InterfaceEvents.CheckButton(weeks_id)) { g_InitWin = true; if (!g_CTRLDown) { g_CTRLDown = false; AutoSaveGame(); } NextWeek(); g_WinManager.push("TurnSummary"); return; } }
void cScreenBrothelManagement::check_events() { if (g_InterfaceEvents.GetNumEvents() != 0) { if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_girls)) { g_InitWin = true; g_WinManager.push("Girl Management"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_staff)) { g_InitWin = true; g_WinManager.push("Gangs"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_setup)) { g_InitWin = true; g_WinManager.push("Building Setup"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_dungeon)) { g_InitWin = true; g_WinManager.push("Dungeon"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_town)) { g_InitWin = true; g_WinManager.push("Town"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_save)) { SaveGame(g_CTRLDown); g_MessageQue.AddToQue("Game Saved", COLOR_GREEN); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_week)) { g_InitWin = true; if (!g_CTRLDown) { g_CTRLDown = false; AutoSaveGame(); } NextWeek(); g_WinManager.push("TurnSummary"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_turn)) { g_InitWin = true; g_CurrentScreen = SCREEN_TURNSUMMARY; g_WinManager.push("TurnSummary"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_quit)) { g_InitWin = true; g_GetInput.ModeConfirmExit(); g_WinManager.push("GetInput"); return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_next)) { g_CurrBrothel++; if (g_CurrBrothel >= g_Brothels.GetNumBrothels()) g_CurrBrothel = 0; g_InitWin = true; return; } else if (g_InterfaceEvents.CheckEvent(EVENT_BUTTONCLICKED, id_prev)) { g_CurrBrothel--; if (g_CurrBrothel < 0) g_CurrBrothel = g_Brothels.GetNumBrothels() - 1; g_InitWin = true; return; } } }