HomeWildfire Games

Rename generic ballista template to boltshooter and onager to stonethrower to…
AuditedrP22204

Description

Rename generic ballista template to boltshooter and onager to stonethrower to avoid ambiguity. Remove template_unit_mechanical.xml and remove '_mechanical' from ship and siege template paths.

The template tree included 'template_unit_mechanical.xml', which had two children, '*_ship.xml' and '*_siege.xml'.
This template did little and implied a relevant common ancestor to ship and siege units. As organic units do not descend from a generic 'Organic', this was not necessary.

This commit removes this template and the '_mechanical' bit from children templates to simplify.

Additionally, this renames:

  • template_unit_mechanical_siege_ballista.xml to template_unit_siege_boltshooter.xml
  • template_unit_mechanical_siege_onager.xml to template_unit_siege_stonethrower.xml

This helps avoid ambiguity, as our Roman ballista for example throws stones (even if it is a torsion engine), and 'ballista' refers to a bolt shooter in Age of Empires 1 (and in AoE 2 for the Elephant Ballista, confusingly not named a scorpion like other bolt shooters in that game).

Patch By: Nescio

Reviewers: Wraitii

Subscribers: Itms, O14 Maps, wraitii, elexis, Vulcan, Stan

Differential Revision: https://code.wildfiregames.com/D1760

Event Timeline

I'm wondering the real usefulness of the bolt shooter vs stonethrower templates also. It seems to me basically all "shooter" siege engines of the time were torsion engines, which could fire smaller or bigger projectiles and arrows or stone sort of indifferently.
The main difference was mostly whether they could shoot precisely (aka be used as a marksman's tool) and mostly horizontally to target enemy units, which was in general a factor of size it seems.
Might be more interesting to have a "light" and "heavy" variant or something. Or just merge them and specialize derived templates since siege engines were kind of civ-specific beyond rams.

Polakrity raised a concern with this commit.Apr 22 2019, 5:24 PM
Polakrity added a subscriber: Polakrity.

The Icons of units concerned are no longer displayed.
You forgot to include the renaming pictures with the new names.
Eg: hele_mechanical_siege_lithobolos_packed.png -> hele_siege_lithobolos_packed.png

This commit now has outstanding concerns.Apr 22 2019, 5:24 PM
Stan added a subscriber: Stan.Apr 22 2019, 5:36 PM
Missing file 'art/textures/ui/session/portraits/units/cart_siege_ballista.png' referenced by: 'public/simulation/templates/units/cart_siege_ballista_unpacked.xml'
Missing file 'art/textures/ui/session/portraits/units/cart_siege_ballista_packed.png' referenced by: 'public/simulation/templates/units/cart_siege_ballista_packed.xml'
Missing file 'art/textures/ui/session/portraits/units/cart_siege_oxybeles.png' referenced by: 'public/simulation/templates/units/cart_siege_oxybeles_unpacked.xml'
Missing file 'art/textures/ui/session/portraits/units/celt_siege_ram.png' referenced by: 'public/simulation/templates/units/brit_siege_ram.xml', 'public/simulation/templates/units/gaul_siege_ram.xml'
Missing file 'art/textures/ui/session/portraits/units/hele_siege_lithobolos.png' referenced by: 'public/simulation/templates/units/athen_siege_lithobolos_unpacked.xml', 'public/simulation/templates/units/mace_siege_lithobolos_unpacked.xml', 'public/simulation/templates/units/ptol_siege_lithobolos_unpacked.xml', 'public/simulation/templates/units/sele_siege_lithobolos_unpacked.xml', 'public/simulation/templates/units/theb_siege_fireraiser.xml'
Missing file 'art/textures/ui/session/portraits/units/hele_siege_lithobolos_packed.png' referenced by: 'public/simulation/templates/units/athen_siege_lithobolos_packed.xml', 'public/simulation/templates/units/mace_siege_lithobolos_packed.xml', 'public/simulation/templates/units/ptol_siege_lithobolos_packed.xml', 'public/simulation/templates/units/sele_siege_lithobolos_packed.xml'
Missing file 'art/textures/ui/session/portraits/units/hele_siege_oxybeles.png' referenced by: 'public/simulation/templates/units/athen_siege_oxybeles_unpacked.xml', 'public/simulation/templates/units/mace_siege_oxybeles_unpacked.xml', 'public/simulation/templates/units/ptol_siege_polybolos_unpacked.xml', 'public/simulation/templates/units/spart_siege_oxybeles_unpacked.xml'
Missing file 'art/textures/ui/session/portraits/units/hele_siege_oxybeles_packed.png' referenced by: 'public/simulation/templates/units/athen_siege_oxybeles_packed.xml', 'public/simulation/templates/units/cart_siege_oxybeles_packed.xml', 'public/simulation/templates/units/mace_siege_oxybeles_packed.xml', 'public/simulation/templates/units/ptol_siege_polybolos_packed.xml', 'public/simulation/templates/units/spart_siege_oxybeles_packed.xml'
Missing file 'art/textures/ui/session/portraits/units/hele_siege_tower.png' referenced by: 'public/simulation/templates/units/kush_siege_tower.xml', 'public/simulation/templates/units/mace_siege_tower.xml', 'public/simulation/templates/units/ptol_siege_tower.xml', 'public/simulation/templates/units/sele_siege_tower.xml'

Thanks, checkrefs.pl

Mh, didn't think of running that script indeed. I'll fix it, thanks.

Stan added a comment.Apr 22 2019, 5:43 PM

No problem, I believe Itms will add it to the automatic scripts.

Polakrity accepted this commit.Apr 22 2019, 6:21 PM
All concerns with this commit have now been addressed.Apr 22 2019, 6:21 PM
Itms added a subscriber: Itms.Apr 22 2019, 7:27 PM
In rP22204#32955, @Stan wrote:

No problem, I believe Itms will add it to the automatic scripts.

It is in the automatic scripts already, but D1760 couldn't be tested by Jenkins because of the file names. The bug shows up in the Checks step of https://jenkins.wildfiregames.com/blue/organizations/jenkins/svn/detail/svn/912/pipeline, but I made it non-breaking (like the linter). I could make it breaking, since art files are likely to be committed without going through the differential step.