diff options
author | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:36 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:36 +0000 |
commit | 9b6b2cabc187f3cb72a53d396418ab1b9ebd2933 (patch) | |
tree | ac5d34e3837adcdf45c69ab844bd823dc740900a /src/script/api/script_town.cpp | |
parent | cc3f42794d134b9f4b6c7efecb07d4b3366887c1 (diff) | |
download | openttd-9b6b2cabc187f3cb72a53d396418ab1b9ebd2933.tar.xz |
(svn r23633) -Add: allow most build commands from GameScript given a CompanyMode is active in that scope
Diffstat (limited to 'src/script/api/script_town.cpp')
-rw-r--r-- | src/script/api/script_town.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/script/api/script_town.cpp b/src/script/api/script_town.cpp index 88494215e..e1c0c0a85 100644 --- a/src/script/api/script_town.cpp +++ b/src/script/api/script_town.cpp @@ -176,6 +176,7 @@ /* static */ bool ScriptTown::HasStatue(TownID town_id) { + if (ScriptObject::GetCompany() == OWNER_DEITY) return false; if (!IsValidTown(town_id)) return false; return ::HasBit(::Town::Get(town_id)->statues, ScriptObject::GetCompany()); @@ -197,6 +198,7 @@ /* static */ ScriptCompany::CompanyID ScriptTown::GetExclusiveRightsCompany(TownID town_id) { + if (ScriptObject::GetCompany() == OWNER_DEITY) return ScriptCompany::COMPANY_INVALID; if (!IsValidTown(town_id)) return ScriptCompany::COMPANY_INVALID; return (ScriptCompany::CompanyID)(int8)::Town::Get(town_id)->exclusivity; @@ -211,6 +213,7 @@ /* static */ bool ScriptTown::IsActionAvailable(TownID town_id, TownAction town_action) { + if (ScriptObject::GetCompany() == OWNER_DEITY) return false; if (!IsValidTown(town_id)) return false; return HasBit(::GetMaskOfTownActions(NULL, ScriptObject::GetCompany(), ::Town::Get(town_id)), town_action); @@ -218,6 +221,7 @@ /* static */ bool ScriptTown::PerformTownAction(TownID town_id, TownAction town_action) { + EnforcePrecondition(false, ScriptObject::GetCompany() != OWNER_DEITY); EnforcePrecondition(false, IsValidTown(town_id)); EnforcePrecondition(false, IsActionAvailable(town_id, town_action)); @@ -226,6 +230,7 @@ /* static */ bool ScriptTown::ExpandTown(TownID town_id, int houses) { + EnforcePrecondition(false, ScriptObject::GetCompany() == OWNER_DEITY); EnforcePrecondition(false, IsValidTown(town_id)); EnforcePrecondition(false, houses > 0); |