Page MenuHomeWildfire Games

D13 prerequisite 2: Use variants better in UnitAI and change the actor files slightly in consequence
ClosedPublic

Authored by wraitii on Apr 10 2017, 10:38 AM.

Details

Reviewers
bb
fatherbushido
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Restricted Owners Package(Owns No Changed Paths)
Commits
rP20631: Update all female_citizen actors so that idle animations properly show carried…
Summary

Fetching this change from D13.

UnitAI uses a hack to switch between gathering and combat animations for citizen-soldier, and in general the animation support is wonky: for example we can't use Idle carry animations right now.

This patch will fix this.

Test Plan

Play Athenian, notice that the woman idle animation now works.
Verify that other units from other civ work correctly.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

wraitii created this revision.Apr 10 2017, 10:38 AM
Owners added a subscriber: Restricted Owners Package.Apr 10 2017, 10:38 AM
Vulcan added a subscriber: Vulcan.Apr 10 2017, 11:47 AM

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/730/ for more details.

This diff seems to sometimes cause the idle animation to be used instead of the gathering animation.

wraitii updated this revision to Diff 1374.Apr 20 2017, 3:30 PM
wraitii added reviewers: Restricted Owners Package, Restricted Owners Package, Restricted Owners Package.
wraitii removed subscribers: Vulcan, Restricted Owners Package, Restricted Owners Package, Restricted Owners Package.

Fix issue noted by Sandarac.

Owners added a subscriber: Restricted Owners Package.Apr 20 2017, 3:30 PM

Build is green

Updating workspaces.
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!

http://jw:8080/job/phabricator/833/ for more details.

fatherbushido added a subscriber: fatherbushido.

I tested it with athenians in all the related situation and didn't find anything wrong (despite there was not still soldiers to test).
The UnitAI new function is ok. Changes are complete. Perhaps I miss some deep conceptual thing but it seems cleaner like that.
Note that ReplaceMoveAnimation is no used only for swithcing between move animation in formation.
I can't provide a good input on the new animation file structure.

So considered it as reviewed (according to complete all remaining anim files ;-)).

binaries/data/mods/public/simulation/components/UnitAI.js
4288 ↗(On Diff #1374)

Start with a cap

4301 ↗(On Diff #1374)

End with a dot

4310 ↗(On Diff #1374)

for consistency

This revision is now accepted and ready to land.Apr 25 2017, 5:16 PM
fatherbushido added inline comments.Apr 25 2017, 5:26 PM
binaries/data/mods/public/simulation/components/UnitAI.js
4310 ↗(On Diff #1374)

Use "==", for consistency

wraitii planned changes to this revision.May 7 2017, 9:42 AM
wraitii retitled this revision from Use variants better in UnitAI and change the actor files slightly in consequence to D13 prerequisite 2: Use variants better in UnitAI and change the actor files slightly in consequence.

OK in principle, need to update all actors now.

fatherbushido resigned from this revision.Aug 2 2017, 9:11 PM
wraitii updated this revision to Diff 4405.Nov 26 2017, 6:21 PM
wraitii edited the test plan for this revision. (Show Details)

Noticed that it works as in svn if I only change the variant files, so we could update templates one by one to the "proper" format.

I'd like to commit it as-is in this case (perhaps updating other women), as it's annoying to have to rebase this.

Executing section Default...
Executing section Source...
Executing section JS...

binaries/data/mods/public/simulation/components/UnitAI.js
| 363| »   »   ····&&·(this.lastShorelinePosition.z·==·cmpPosition.GetPosition().z))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|1923| »   »   »   »   »   »   var·cmpFormation·=·Engine.QueryInterface(this.formationController,·IID_Formation);
|    | [NORMAL] JSHintBear:
|    | 'cmpFormation' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2149| »   »   »   »   »   »   »   »   ·&&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2150| »   »   »   »   »   »   »   »   ·||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2151| »   »   »   »   »   »   »   »   ·&&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2174| »   »   »   »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(oldType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2214| »   »   »   »   »   »   »   »   &&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2215| »   »   »   »   »   »   »   »   ||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2216| »   »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2260| »   »   »   »   »   »   »   ||·(type.specific·==·resourceType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2261| »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·resourceTemplate·==·template))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2277| »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(resourceType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2450| »   »   »   »   »   var·cmpResourceGatherer·=·Engine.QueryInterface(this.entity,·IID_ResourceGatherer);
|    | [NORMAL] JSHintBear:
|    | 'cmpResourceGatherer' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2466| »   »   »   »   »   var·nearby·=·this.FindNearbyResource(function·(ent,·type,·template)·{
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2469| »   »   »   »   »   »   »   ||·(type.specific·==·resourceType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret t

Successful build - Chance fights ever on the side of the prudent.

Updating workspaces...
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...
bb requested changes to this revision.Nov 26 2017, 10:13 PM
bb added a subscriber: bb.

errors:

ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_base.xml"
ERROR: Could not open path biped/female_base.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_food_idle.xml"
ERROR: Could not open path biped/female_carry_food_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_meat_idle.xml"
ERROR: Could not open path biped/female_carry_meat_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_wood_idle.xml"
ERROR: Could not open path biped/female_carry_wood_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_stone_idle.xml"
ERROR: Could not open path biped/female_carry_stone_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_metal_idle.xml"
ERROR: Could not open path biped/female_carry_metal_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_base.xml"
ERROR: Could not open path biped/female_base.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_food_idle.xml"
ERROR: Could not open path biped/female_carry_food_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_meat_idle.xml"
ERROR: Could not open path biped/female_carry_meat_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_wood_idle.xml"
ERROR: Could not open path biped/female_carry_wood_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_stone_idle.xml"
ERROR: Could not open path biped/female_carry_stone_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_metal_idle.xml"
ERROR: Could not open path biped/female_carry_metal_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_base.xml"
ERROR: Could not open path biped/female_base.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_food_idle.xml"
ERROR: Could not open path biped/female_carry_food_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_meat_idle.xml"
ERROR: Could not open path biped/female_carry_meat_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_wood_idle.xml"
ERROR: Could not open path biped/female_carry_wood_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_stone_idle.xml"
ERROR: Could not open path biped/female_carry_stone_idle.xml
ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/female_carry_metal_idle.xml"
ERROR: Could not open path biped/female_carry_metal_idle.xml

"normal" walk of female doesn't animate

Maybe I am not understanding the patch but guess it is ment to show the gathered resource when being idle, well that doesn't work

binaries/data/mods/public/simulation/components/UnitAI.js
4269 ↗(On Diff #4405)

the behaviour that !type implies we assume we want a gatheroverride is not trivial to me. IMO execute this code when type == "gatheroverride" and otherwise just call cmpVisual.SetVariant("animationVariant", type).
So we get

if (type == "gatheroverride)
{
  ResourceGathererFoo();
}
else
  cmpVisual.SetVariant("animationVariant", type);

Maybe also explain this behaviour in a jsdoc

4271 ↗(On Diff #4405)

-depending ?

This revision now requires changes to proceed.Nov 26 2017, 10:13 PM
bb removed a reviewer: Restricted Owners Package.Nov 26 2017, 10:14 PM
wraitii updated this revision to Diff 4501.Dec 3 2017, 12:43 PM

Right, I actually needed to change all the women files.

Updated Cleopatra, gorgo too. Deleted ninja female as it appeared entirely unused.

Switched around the animation variant helpers a bit.

binaries/data/mods/public/simulation/components/UnitAI.js
4269 ↗(On Diff #4405)

The gatherer override isn't really an "override", it's the default behaviour unless we're in combat mode.

This is a bit of a hack in general (tons of places where you must make sure to call it in unitAI, which is definitely annoying - should probably be done better using the FSM or something), but I've changed the structure of the thing around so maybe it's clearer.

Stan added a subscriber: Stan.Dec 3 2017, 12:52 PM

Why didn't you update the Ninja female I believe it was meant to be an Easter egg ?

Vulcan added a comment.Dec 3 2017, 4:42 PM
Executing section Default...
Executing section Source...
Executing section JS...

binaries/data/mods/public/simulation/components/UnitAI.js
| 356| »   »   ····&&·(this.lastShorelinePosition.z·==·cmpPosition.GetPosition().z))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|1906| »   »   »   »   »   »   var·cmpFormation·=·Engine.QueryInterface(this.formationController,·IID_Formation);
|    | [NORMAL] JSHintBear:
|    | 'cmpFormation' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2038| »   »   »   »   »   »   &&·this.order.data.target·!=·msg.data.attacker·&&·this.GetBestAttackAgainst(msg.data.attacker,·true)·!=·"Capture")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2122| »   »   »   »   »   »   »   »   ·&&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2123| »   »   »   »   »   »   »   »   ·||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2124| »   »   »   »   »   »   »   »   ·&&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2147| »   »   »   »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(oldType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2187| »   »   »   »   »   »   »   »   &&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2188| »   »   »   »   »   »   »   »   ||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2189| »   »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2233| »   »   »   »   »   »   »   ||·(type.specific·==·resourceType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2234| »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·resourceTemplate·==·template))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2250| »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(resourceType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2423| »   »   »   »   »   var·cmpResourceGatherer·=·Engine.QueryInterface(this.entity,·IID_ResourceGatherer);
|    | [NORMAL] JSHintBear:
|    | 'cmpResourceGatherer' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2439| »   »   »   »   »   var·nearby·=·this.FindNearbyResourc
Vulcan added a comment.Dec 3 2017, 5:30 PM

Successful build - Chance fights ever on the side of the prudent.

Updating workspaces...
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...
bb requested changes to this revision.Dec 3 2017, 5:36 PM

Do not delete our easter egg ninja

Order a woman to berries, carry the bag but don't drop of and order to a mine directly. Now when mining the bag will still be visible, when she doesn't carry food anymore (dropped of when mining starts).

Woman now show there res when idling too, but why don't do males?

binaries/data/mods/public/art/actors/units/athenians/female_citizen.xml
17 ↗(On Diff #4501)

having this documentation is good, but I guess has to be added to all females...

binaries/data/mods/public/simulation/components/UnitAI.js
4266 ↗(On Diff #4501)

uncap variant

4283 ↗(On Diff #4501)

First read wasn't convinced of having two functions, but second read says it is actually good

4293 ↗(On Diff #4501)

Would prefer to swap the cases (saves the negation)

4297–4301 ↗(On Diff #4501)

Out of scope: but a next patch could make this a bit less ugly by setting the specific tag for all food resources

This revision now requires changes to proceed.Dec 3 2017, 5:36 PM
Stan added a comment.Dec 3 2017, 5:57 PM

I would advise against comments in XML files and would be in favor of having those inside the wiki to help modders understand with examole

wraitii updated this revision to Diff 4509.Dec 3 2017, 6:04 PM

Restore the ninja.

Order a woman to berries, carry the bag but don't drop of and order to a mine directly. Now when mining the bag will still be visible, when she doesn't carry food anymore (dropped of when mining starts).

That's because we still carry resources when we start gathering, and I don't re-call the switch in "Timer". I don't think it's a huge deal.

Woman now show there res when idling too, but why don't do males?

The actor, as you can see from the women, requires semi-substantial changes and I couldn't find an easy way to automate the switch (+ it'd be a huge diff with a high risk of breakage).

I'd much rather we switch units over time as we work on them.

Vulcan added a comment.Dec 3 2017, 7:05 PM
Executing section Default...
Executing section Source...
Executing section JS...

binaries/data/mods/public/simulation/components/UnitAI.js
| 356| »   »   ····&&·(this.lastShorelinePosition.z·==·cmpPosition.GetPosition().z))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|1906| »   »   »   »   »   »   var·cmpFormation·=·Engine.QueryInterface(this.formationController,·IID_Formation);
|    | [NORMAL] JSHintBear:
|    | 'cmpFormation' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2038| »   »   »   »   »   »   &&·this.order.data.target·!=·msg.data.attacker·&&·this.GetBestAttackAgainst(msg.data.attacker,·true)·!=·"Capture")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2122| »   »   »   »   »   »   »   »   ·&&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2123| »   »   »   »   »   »   »   »   ·||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2124| »   »   »   »   »   »   »   »   ·&&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2147| »   »   »   »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(oldType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2187| »   »   »   »   »   »   »   »   &&·((type.generic·==·"treasure"·&&·oldType.generic·==·"treasure")
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2188| »   »   »   »   »   »   »   »   ||·(type.specific·==·oldType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2189| »   »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·oldTemplate·==·template)))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2233| »   »   »   »   »   »   »   ||·(type.specific·==·resourceType.specific
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '||'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2234| »   »   »   »   »   »   »   &&·(type.specific·!=·"meat"·||·resourceTemplate·==·template))
|    | [NORMAL] JSHintBear:
|    | Misleading line break before '&&'; readers may interpret this as an expression boundary.

binaries/data/mods/public/simulation/components/UnitAI.js
|2250| »   »   »   »   »   var·nearby·=·this.FindNearestDropsite(resourceType.generic);
|    | [NORMAL] JSHintBear:
|    | 'nearby' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2423| »   »   »   »   »   var·cmpResourceGatherer·=·Engine.QueryInterface(this.entity,·IID_ResourceGatherer);
|    | [NORMAL] JSHintBear:
|    | 'cmpResourceGatherer' is already defined.

binaries/data/mods/public/simulation/components/UnitAI.js
|2439| »   »   »   »   »   var·nearby·=·this.FindNearbyResourc
Vulcan added a comment.Dec 3 2017, 7:10 PM

Successful build - Chance fights ever on the side of the prudent.

Updating workspaces...
Build (release)...
Build (debug)...
Running release tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Running debug tests...
Running cxxtest tests (308 tests)....................................................................................................................................................................................................................................................................................................................OK!
Checking XML files...
bb accepted this revision.Dec 3 2017, 11:37 PM

We could decide to update the males templates later, but then there should be a trac ticket made about that and commit message should tell only females have correct behaviour.

the food to metal shift is indeed not a big deal, could be seems as a feature too, in the same go units walking to kill some animal show there weapons not resources (fine with me too).

add those missing comments or remove all as suggested by Stan (idc), and remove some useless stuff from the hero, further patch complete and correct

binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
19–26 ↗(On Diff #4509)

Why does a hero have these props

binaries/data/mods/public/art/actors/units/romans/female_citizen.xml
29 ↗(On Diff #4509)

second comment?

binaries/data/mods/public/art/actors/units/seleucids/female_citizen.xml
26 ↗(On Diff #4509)

...

binaries/data/mods/public/art/actors/units/spartans/female_citizen.xml
26 ↗(On Diff #4509)

etc.

binaries/data/mods/public/art/actors/units/spartans/female_gorgo.xml
25 ↗(On Diff #4509)

hmmpff

This revision is now accepted and ready to land.Dec 3 2017, 11:37 PM
This revision was automatically updated to reflect the committed changes.

I'm creating a forum art thread instead of a trac ticket, since this is more of an art task.

binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
19–26 ↗(On Diff #4509)

No idea.

Stan added a subscriber: enrique.Dec 10 2017, 3:45 PM
Stan added inline comments.
binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
19–26 ↗(On Diff #4509)

I think @enrique did a lot of copy paste, they should be removed.