Files
source/gamedir/Base/Scripts/HourlyUpdate.lua
T
d683cdeb64 Run from gamedir (#686)
* prepare gamedir for running the game

* Stop telling installers to overwrite the vanilla game

The release no longer contains anything that lands on a vanilla file:
its base data lives in Base, so unpacking it over the game directory
and copying the game's Data into the release now amount to the same
installation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Give the mod's base data its own VFS profile

Its files ship in Base now, so that a vanilla Data directory can be
copied in whole without a single collision. Mount Base right above the
vanilla dirs in every profile stack — the slot where the installer's
overwrites used to end up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Mount Base in the language overlays' VFS configs too

Assembling a release copies a <Language>_Version directory over
gamedir, its own copies of the configs included, so without the same
Base profile every non-English release would mount nothing from Base.

Their libraries move along with the rest of the base data: each
language slf, and the Russian data.slf that shadows the vanilla
Data.slf by name.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Ignore a vanilla Data directory dropped into gamedir

Running the game here needs one copied in, and it is an untouched copy
of somebody's retail install — nothing this repository should track.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* Ignore only the player profile directory, not every Profiles

The unanchored pattern also swallowed Base/TableData/Profiles, the
mod's soldier profile XMLs, which are tracked and belong in a release.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* move gamedir/Data to gamedir/Base

* move gamedir-languages' Data to Base

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 11:05:15 -03:00

56 lines
1.2 KiB
Lua

Facts =
{
FACT_BROTHEL_OPEN = 251,
FACT_MUSEUM_OPEN = 250,
FACT_CLUB_OPEN = 252,
FACT_PAST_CLUB_CLOSING_AND_PLAYER_WARNED = 107,
}
function HourlyQuestUpdate()
if (guiHour == 4) then
SetFactFalse( Facts.FACT_BROTHEL_OPEN )
elseif (guiHour == 20) then
SetFactTrue( Facts.FACT_BROTHEL_OPEN )
end
-- Bar/night club
if ( guiHour == 15 ) then
SetFactTrue( Facts.FACT_CLUB_OPEN )
SetFactFalse( Facts.FACT_PAST_CLUB_CLOSING_AND_PLAYER_WARNED )
-- Reset boxes fought
for i = 0,2 do
-- Set false
gfBoxerFought(i,false)
end
-- If # of boxing matches the player has won is a multiple of
-- 3, and the boxers haven't rested, then make them rest
if ( gfBoxersResting == true ) then
-- Done resting now!
SetgfBoxersResting(false)
SetgubBoxersRests(gubBoxersRests + 1)
HealBoxers()
elseif ( gubBoxingMatchesWon / 3 > gubBoxersRests ) then
-- Time for the boxers to rest!
SetgfBoxersResting(true)
end
elseif ( guiHour == 2 ) then
SetFactFalse( Facts.FACT_CLUB_OPEN )
end
-- Museum
if ( guiHour == 9 ) then
SetFactTrue( Facts.FACT_MUSEUM_OPEN )
elseif ( guiHour == 18 ) then
SetFactFalse( Facts.FACT_MUSEUM_OPEN )
end
end