Feature #266 » 0025-Granularity-Add-Catapult.patch
data/granularity/README.granularity | ||
---|---|---|
* Fortifying is not possible before Trenches technology is known.
|
||
* Base city radius, both for workable area and vision,
|
||
extends one tile away from the center.
|
||
* Units with zero defense value can be captured by any military unit
|
data/granularity/actions.ruleset | ||
---|---|---|
; "Collect Ransom", "Attack", "Suicide Attack"
|
||
[actions]
|
||
; Forbid "Attack" if any one of the listed actions are legal.
|
||
attack_blocked_by = "Capture Units", "Bombard", "Bombard 2"
|
||
; Forbid "Conquer City" if any one of the listed actions are legal.
|
||
conquer_city_blocked_by = "Attack"
|
||
conquer_city_blocked_by = "Attack", "Bombard", "Bombard 2"
|
||
; Forbid regular unit move if one of the actions below is legal.
|
||
move_blocked_by = "Transport Disembark", "Transport Disembark 2"
|
||
... | ... | |
; /* TRANS: _Fortify (100% chance of success). */
|
||
ui_name_fortify = _("%sFortify%s")
|
||
; /* TRANS: _Bombard (100% chance of success). */
|
||
ui_name_bombard_2 = _("%sBombard%s")
|
||
; /* TRANS: _Conquer City (100% chance of success). */
|
||
ui_name_conquer_city = _("%sConquer City%s")
|
||
... | ... | |
"UnitState", "Transported", "Local", FALSE
|
||
}
|
||
[actionenabler_bombard_land]
|
||
action = "Bombard 2"
|
||
actor_reqs =
|
||
{ "type", "name", "range"
|
||
"UnitFlag", "Bombarder", "Local"
|
||
"MinMoveFrags", "5", "Local"
|
||
}
|
||
[actionenabler_surgical_strike]
|
||
action = "Surgical Strike Building"
|
||
actor_reqs =
|
||
{ "type", "name", "range"
|
||
"UnitFlag", "Bombarder", "Local"
|
||
"MinMoveFrags", "5", "Local"
|
||
}
|
||
[actionenabler_bombard]
|
||
action = "Bombard"
|
||
actor_reqs =
|
||
{ "type", "name", "range", "present"
|
||
"UnitClass", "Air", "Local", TRUE
|
||
{ "type", "name", "range"
|
||
"UnitClass", "Air", "Local"
|
||
"MinMoveFrags", "5", "Local"
|
||
}
|
||
[actionenabler_fortify]
|
||
... | ... | |
"MaxUnitsOnTile", "0", "Tile", TRUE
|
||
}
|
||
[actionenabler_capture_defenseless]
|
||
action = "Capture Units"
|
||
actor_reqs =
|
||
{ "type", "name", "range"
|
||
"DiplRel", "War", "Local"
|
||
"MinMoveFrags", "1", "Local"
|
||
}
|
||
target_reqs =
|
||
{ "type", "name", "range", "present"
|
||
"UnitFlag", "Defenseless", "Local", TRUE
|
||
"UnitState", "Transporting", "Local", FALSE
|
||
"CityTile", "Center", "Tile", FALSE
|
||
}
|
||
[actionenabler_gain_veterancy]
|
||
action = "Gain Veterancy"
|
||
actor_reqs =
|
data/granularity/effects.ruleset | ||
---|---|---|
type = "Action_Success_Actor_Move_Cost"
|
||
value = 100
|
||
reqs =
|
||
{ "type", "name", "range", "present"
|
||
"Action", "Bombard", "Local", TRUE
|
||
{ "type", "name", "range", "present"
|
||
"Action", "Bombard", "Local", TRUE
|
||
}
|
||
[effect_action_success_short_range_bombard]
|
||
type = "Action_Success_Actor_Move_Cost"
|
||
value = 100
|
||
reqs =
|
||
{ "type", "name", "range", "present"
|
||
"Action", "Bombard 2", "Local", TRUE
|
||
}
|
||
[effect_action_success_surgical_strike]
|
||
type = "Action_Success_Actor_Move_Cost"
|
||
value = 100
|
||
reqs =
|
||
{ "type", "name", "range", "present"
|
||
"Action", "Surgical Strike Building", "Local", TRUE
|
||
}
|
||
[effect_no_tools]
|
data/granularity/techs.ruleset | ||
---|---|---|
graphic_alt = "-"
|
||
;helptext =
|
||
[advance_siege_engines]
|
||
name = _("Siege Engines")
|
||
req1 = "Rope"
|
||
req2 = "The Wheel"
|
||
flags = ""
|
||
graphic = "a.siege_engines"
|
||
graphic_alt = "-"
|
||
;helptext =
|
||
[advance_spirits]
|
||
name = _("Spirits")
|
||
req1 = "None"
|
data/granularity/units.ruleset | ||
---|---|---|
{ "name", "helptxt"
|
||
_("Cities")
|
||
_("Cant_Fortify")
|
||
_("Defenseless"), _("Can be captured by any military unit.")
|
||
_("Bombarder")
|
||
}
|
||
; Names for custom unit class flags. There can be up to 25 of these.
|
||
... | ... | |
Horsemen are the first fast unit.\
|
||
")
|
||
[unit_catapuly]
|
||
name = _("Catapult")
|
||
class = "Land"
|
||
reqs =
|
||
{ "type", "name", "range"
|
||
"Tech", "Siege Engines", "Player"
|
||
}
|
||
obsolete_by = "None"
|
||
graphic = "u.catapult"
|
||
graphic_alt = "-"
|
||
sound_move = "m_catapult"
|
||
sound_move_alt = "m_generic"
|
||
sound_fight = "f_catapult"
|
||
sound_fight_alt = "f_generic"
|
||
build_cost = 3000
|
||
pop_cost = 0
|
||
attack = 50
|
||
defense = 0
|
||
hitpoints = 10
|
||
firepower = 1
|
||
move_rate = 30
|
||
bombard_rate = 2
|
||
vision_radius_sq = 2
|
||
transport_cap = 0
|
||
fuel = 0
|
||
uk_happy = 0
|
||
uk_shield = 100
|
||
uk_food = 0
|
||
uk_gold = 0
|
||
tp_defense = "Alight"
|
||
flags = "Defenseless", "Bombarder"
|
||
;roles =
|
||
helptext = _("\
|
||
Catapults are the first bombarding unit and it can also destroy buildings.\
|
||
")
|
||
[unit_bomber]
|
||
name = _("Bomber")
|
||
class = "Air"
|
||
... | ... | |
hitpoints = 30
|
||
firepower = 1
|
||
move_rate = 100
|
||
bombard_rate = 5
|
||
bombard_rate = 8
|
||
vision_radius_sq = 2
|
||
transport_cap = 0
|
||
fuel = 0
|