Skip to content

Commit

Permalink
civ1: improved (dis/)embark move cost.
Browse files Browse the repository at this point in the history
Bring the civ1 ruleset's unit embark and disembark cost closer to what it was
in Civilization. This is just a start the people that know Civilization 1
better than I do can fine tune.

See hrm Feature #850669
  • Loading branch information
kvilhaugsvik committed Dec 5, 2019
1 parent f27f6f1 commit 0e290f0
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 3 deletions.
26 changes: 26 additions & 0 deletions data/civ1/effects.ruleset
Expand Up @@ -1423,3 +1423,29 @@ reqs =
{ "type", "name", "range"
"BuildingGenus", "GreatWonder", "Local"
}

; Civilization I took all remaining move fragments when a land unit
; disembarked from a ship. It didn't take all remaining more fragments when
; the same land unit alighted a ship in the city it was in.
; Correct this rule if I'm wrong.
[effect_action_success_move_cost_disembark]
type = "Action_Success_Actor_Move_Cost"
value = 65535
reqs =
{ "type", "name", "range", "present"
"Action", "Transport Disembark", "Local", TRUE
}

; Civilization 1 took all remaining move fragments when a land unit
; embarked to a ship. It didn't take all remaining more fragments when the
; same land unit boarded a ship in the city it was in.
; Correct this rule if I'm wrong.
; TODO: was transferring from a transport to a transport on an adjacent tile
; legal? What was it's move cost?
[effect_action_success_move_cost_embark]
type = "Action_Success_Actor_Move_Cost"
value = 65535
reqs =
{ "type", "name", "range", "present"
"Action", "Transport Embark", "Local", TRUE
}
23 changes: 20 additions & 3 deletions data/civ1/game.ruleset
Expand Up @@ -191,6 +191,14 @@ improvement_factor = 1
unit_factor = 2
total_factor = 100

[global_unit_options]
; Shore landing style
; FALSE - normal movement
; TRUE - (default) slow invasions by removing all
; movement points from ground units moving
; from ocean tile to land
slow_invasions = FALSE

[combat_rules]
; If tired_attack is set to TRUE, units that attack with less than a single
; move point (per move_fragments in terrain.ruleset) will have their attack
Expand Down Expand Up @@ -752,11 +760,15 @@ target_reqs =
[actionenabler_disembark]
action = "Transport Disembark"
actor_reqs =
{ "type", "name", "range"
"UnitState", "Transported", "Local"
"MinMoveFrags", "1", "Local"
{ "type", "name", "range", "present"
"UnitState", "Transported", "Local", TRUE
"MinMoveFrags", "1", "Local", TRUE
; use "Transport Alight" from inside the city
"CityTile", "Center", "Local", FALSE
}

; TODO: was transferring from a transport to a transport on an adjacent tile
; legal?
[actionenabler_embark]
action = "Transport Embark"
actor_reqs =
Expand All @@ -768,6 +780,11 @@ actor_reqs =
"DiplRel", "Peace", "Local", FALSE
"DiplRel", "Never met", "Local", FALSE
}
target_reqs =
{ "type", "name", "range", "present"
; use "Transport Board" from inside the city
"CityTile", "Center", "Local", FALSE
}

[borders]
; Base border radius from city.
Expand Down

0 comments on commit 0e290f0

Please sign in to comment.