Attempt to define a cattle herd unit

This commit is contained in:
2026-02-21 18:32:42 +01:00
parent bf71bb4400
commit ecd2d50f44
3 changed files with 72 additions and 8 deletions
+21
View File
@@ -361,6 +361,12 @@ ui_name_plant = _("Transform by %sPlanting%s")
; /* TRANS: Pilla_ge (100% chance of success). */
ui_name_pillage = _("Pilla%sge%s")
; /* TRANS: _Graze the land (100% chance of success)*/
ui_name_graze =_("%Graze%")
; /* TRANS: _Spawn warrior (100% chance of success)*/
ui_name_spawn = _("%Spawn%")
; /* TRANS: Clean (100% chance of success). */
ui_name_clean = _("%sClean%s")
@@ -1158,6 +1164,21 @@ actor_reqs =
"UnitClassFlag", "CanPillage", "Local"
}
[actionenabler_graze]
action = "Graze"
actor_reqs =
{ "type", "name", "range"
"UnitClassFlag", "CanGraze", "Local"
}
[actionenabler_spawn_warrior]
action = "Spawn warrior"
actor_reqs =
{ "type", "name", "range"
"UnitClassFlag", "CanSpawnWarrior", "Local"
}
[actionenabler_clean]
action = "Clean"
actor_reqs =
+9 -8
View File
@@ -623,15 +623,15 @@ warmer_wetter_result = "Swamp"
warmer_drier_result = "Swamp"
cooler_wetter_result = "Swamp"
cooler_drier_result = "Tundra"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter"
flags = "Starter", "CanHaveRiver"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter", "Herd"
flags = "Starter", "CanHaveRiver", "Grazeable"
property_green = 50
property_temperate = 50
color.r = 11
color.g = 138
color.b = 4
helptext = _("\
Grasslands afford exceptional agricultural opportunities.\
Grasslands afford exceptional agricultural opportunities and can grow herds.\
")
[terrain_hills]
@@ -674,7 +674,7 @@ warmer_wetter_result = "no"
warmer_drier_result = "no"
cooler_wetter_result = "no"
cooler_drier_result = "no"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter", "Herd"
flags = "Starter", "CanHaveRiver"
property_green = 50
property_mountainous = 30
@@ -839,7 +839,7 @@ warmer_wetter_result = "Swamp"
warmer_drier_result = "Desert"
cooler_wetter_result = "Desert"
cooler_drier_result = "Desert"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter", "Herd"
flags = "Starter", "CanHaveRiver"
property_green = 50
property_temperate = 50
@@ -946,7 +946,7 @@ warmer_wetter_result = "Swamp"
warmer_drier_result = "Swamp"
cooler_wetter_result = "Glacier"
cooler_drier_result = "Desert"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter"
native_to = "Land", "Small Land", "Merchant", "Big Land", "Air", "Missile", "Helicopter", "Herd"
flags = "NoBarbs", "CanHaveRiver"
property_cold = 50
color.r = 188
@@ -1247,6 +1247,7 @@ ui_name_base_airbase = _("?gui_type:Build Airstrip/Airbase")
; by the 1 + sum of bonuses from the extras on the
; "Natural" layer.
; - "NoStackDeath" = Units inside do not die all at once when attacked
; - "Grazeable" = Herd units can graze and reproduce on this tile
; helptext = optional help text string; should escape all raw
; newlines so that xgettext parsing works
;
@@ -1256,7 +1257,7 @@ ui_name_base_airbase = _("?gui_type:Build Airstrip/Airbase")
name = _("Irrigation")
category = "Infra"
causes = "Irrigation"
rmcauses = "Pillage"
rmcauses = "Pillage", "Graze"
graphic = "tx.irrigation"
graphic_alt = "-"
activity_gfx = "unit.irrigation"
@@ -1480,7 +1481,7 @@ by other aircraft will cause the villagers to take fright and disband.\
name = _("Farmland")
category = "Infra"
causes = "Irrigation"
rmcauses = "Pillage"
rmcauses = "Pillage", "Graze"
graphic = "tx.farmland"
graphic_alt = "-"
activity_gfx = "unit.farmland"
+42
View File
@@ -59,6 +59,8 @@ class_flags =
_("AttFromNonNative"), _("Can launch attack from non-native tiles.")
_("Missile")
_("CanPillage")
_("CanGraze"), _("Can graze the land to reproduce.")
_("CanSpawnWarrior"), _("Can spawn a warrior at the cost of some health.")
_("CanFortify"),
; /* xgettext:no-c-format */
_("Gets a 50% defensive bonus while in cities.")
@@ -164,6 +166,13 @@ flags = "TerrainSpeed", "DamageSlows", "CanOccupyCity", "BuildAnywhere",
"TerrainDefense", "Airliftable", "NonNatBombardTgt",
"Barracks", "Ground"
[unitclass_herd]
; /* TRANS: Unit class: used adjectivally */
name =_("?unitclass:Herd")
min_speed = 1
hp_loss_pct = 0
flags = "CanGraze", "CanSpawnWarrior", "Ground"
[unitclass_land_small]
; /* TRANS: Unit class: used adjectivally */
name = _("?unitclass:Small Land")
@@ -662,6 +671,39 @@ sufficient existing land). See the Terrain Alterations section \
for more details.\
")
[unit_cattle_herd]
name = _("Cattle herd")
class = "Herd"
;reqs
obsolete_by = "None"
graphic = "u.cattle_herd"
graphic_alt = "-"
sound_move = "m_cattle_herd"
sound_move_alt = "m_generic"
sound_fight = "f_generic"
sound_fight_alt = "f_generic"
build_cost = 10
pop_cost = 1
attack = 0
defense = 1
hitpoints = 50
firepower = 0
move_rate = 1
vision_radius_sq = 2
transport_cap = 0
fuel = 2 ; Fuel is actually grass
uk_happy = 1
uk_shield = 1
uk_food = 1
uk_gold = 1
tp_defense = "Blocked"
flags = "Herd"
roles = ""
helptext = _("\
A herd of cattle, the cornerstone of nomadic empires.\
")
[unit_warriors]
name = _("Warriors")
class = "Land"