The Gauls were part of well-connected trade networks in ancient times.
Their exports mainly centered on slaves, mercenary, and military
equipment.
As such, a team bonus reducing blacksmith costs makes much more sense
than one reducing technology research time (particularly since the
historical justification for the existing team bonus was... thin).
Patch by: Nescio
Approved by: borg-, ValihrAnt, wraitii
Differential Revision: https://code.wildfiregames.com/D2669
This was SVN commit r23832.
'Hack' melee units had a preference towards Siege units. This made them
awkward to use in some fights.
PreferredClasses is not intended to remove Micro from the player's hand
but to prevent units from attacking unlikely targets (e.g. ships for
land units).
As such, this reworks PreferredClasses so that:
- Ranged & Spearmen/Pikemen (which deal Pierce damage) target Human
units, against which they are reasonably effective.
- Other units target either Human or Siege units with no particular
preference (Unit+!Ship).
This further specifies the preferred classes for all base templates for
easier modification, since extending this list (ordered by priority) is
tricky.
Patch by: borg-
Reviewed By: Nescio, wraitii
Differential Revision: https://code.wildfiregames.com/D2851
This was SVN commit r23831.
This is a major buff to their anti-ram capabilities and thus to their
viability in general.
The historical background for this unit is an elite corps of Thracians
under Philip V of Macedon.
Patch by: Nescio
Approved by: borg-, badosu, wraitii
Differential Revision: https://code.wildfiregames.com/D2872
This was SVN commit r23829.
Wonders cost food previously, which is not in line with their look or
other buildings.
Their healing aura is removed to make the slightly easier to capture.
Kushites pyramids are adjusted slightly, and the monumental architecture
tech moved to the CC to match the Persian.
Patch by: Nescio
Accepted By: borg-, Feldfeld
Differential Revision: https://code.wildfiregames.com/D2686
This was SVN commit r23824.
Attack strengths for citizen soldiers is increased, making it easier to
capture in the early game.
Hero capture points reduced to align them with their attack multiplier.
Patch by: Nescio
Reviewed By: borg-, wraitii
Differential Revision: https://code.wildfiregames.com/D2847
This was SVN commit r23820.
Techs which enabled training advanced/elite mercenaries directly also
increased the train time of those units.
It is more consistent and more maintainable to increase the train time
in the advanced/elite tech.
This does not affect promoting units since those are not trained.
Also rename and use a consistent order.
Patch by: Nescio
Reviewed By: borg-, wraitii
Differential Revision: https://code.wildfiregames.com/D2865
This was SVN commit r23818.
Formation were reshaping in cases where they should not (such as when
the controller is waiting on members).
This made them look very odd for some orders.
This also cleans up held positions for formations somewhat.
Also:
- ed54ad3486 fixed units not facing correctly after a formation-walk.
The fix is correct, but we can actually make it slightly more
self-contained by moving everything in `leave`. Also clarify comments.
- This fixes some very broken code in 4ca448a686 in
FORMATIONMEMBER.WALKING.MovementUpdate. It never errored because
formation controllers weren't moved out of the world before.
Reviewed By: Angen
Fixes#5443
Differential Revision: https://code.wildfiregames.com/D2763
This was SVN commit r23806.
As a result, any player that captures an embassy (including Blemmy camp
or Nuba village) can train these mercenaries there, while preventing
them from building structures they shouldn't have access to.
Differential Revision: https://code.wildfiregames.com/D2536
Patch by: @Nescio
Reviewed by: @Angen
Agreed by: @ValihrAnt, @borg-
This was SVN commit r23802.
Lower repeat rate of spear cavalry so it does not look like attacking in
slow motion and lower attack damage as well to compensate speeding up
attack.
Differential Revision: https://code.wildfiregames.com/D1365
Patch by: @temple
Reviewed by: @wraitii, @Angen
Agreed by: @ValihrAnt, @Lionkanzen
Comments by: @badosu
This was SVN commit r23801.
Decrease the health gain to 10%. (20% health + 1 armour);
Increase the crush damage for axemen as well (Previously they only got a
penalty)
Patch by: @borg-
Reviewed by: @Nescio, @Feldfeld, @badosu
Differential Revision: https://code.wildfiregames.com/D2792
This was SVN commit r23800.
This gives Kushites more interesting gameplay options, and is consistant
with other mercenary camps.
Kushite mercenaries lived outside of the core Kushite territory, thus
giving a historical ground to this change.
Accepted by: ValihrAnt, borg-, scythetwirler, Angen, badosu, sundiata
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D2534
This was SVN commit r23793.
Introduces axeman parent templates, used to differentiate axemen from
swordsmen
(which they had been "under the hood" up until now), and update entity
templates
and maps where applicable.
Artwork (actors, icons) is not touched here - see D2688 for that.
Patch by: Nescio
Reviewed By: s0600204
Differential Revision: https://code.wildfiregames.com/D1355
This was SVN commit r23780.
This lets it support the JSClass syntax, introduced for components in
5fb88172a2/D2492, which required a workaround before.
As cleanup, remove the prefix logic which was too specific to be in
ScriptInterface, and use an upstream-compatible API that also does more
of what we want.
Based on a patch by: elexis
Differential Revision: https://code.wildfiregames.com/D2644
This was SVN commit r23771.
Many were 'pair' technologies, originally removed from the game in
13b229d503.
Patch by: Nescio
Reviewed by: wraitii
Fixes#3800
Differential Revision: https://code.wildfiregames.com/D1775
This was SVN commit r23770.
Carthaginians currently rely on embassies to be competitive, and
restricting them to 2 is too limiting for balance purposes.
This change also affects Kushites structures which was also approved by
borg- and ValihrAnt.
Further, the original choice of 2 seems to have been to force
Carthaginian players to make a choice, but since one can delete an
existing embassy and pick another, that seems somewhat artificially
restricting.
Patch by: borg-
Approved By: ValihrAnt, PhyZic
Differential Revision: https://code.wildfiregames.com/D2798
This was SVN commit r23764.
Branches introduced in f1610ce4fa had commented part to consider
stonewalls as blocking targets only if there have been siege units in
army.
Commented part was removed in ade8bcc0b8.
Differential Revision: https://code.wildfiregames.com/D2804
This was SVN commit r23760.
Avoid trying to attack unattackable entities based on restricted classes
from Attack component.
Differential Revision: https://code.wildfiregames.com/D2111
Patch by: Freagarach
Reviewed by: Angen
This was SVN commit r23759.
Match trader footprint with mesh shape for nicer visual effect.
This also removes footprint inconsistency among camels.
Patch by: Nescio
Reviewed by: Angen
Comments by: Feldfeld
Differential Revision: https://code.wildfiregames.com/D2640
This was SVN commit r23758.
Continuation of work on status effects, following 82a5ab6d19.
Allow techs to modify properties.
Enable different behaviour when status effects would stack, such as
extending the duration or stacking the effects.
Fix GUI issue with more than 5 status effects.
Improve tooltips.
Let status effects show a different tooltip for the attacker and the
receiver.
Patch by: Freagarach
Reviewed By: wraitii, Angen (on an older differential).
Differential Revision: https://code.wildfiregames.com/D2296
This was SVN commit r23757.
Rams are currently evry strong. This nerfs them by reducing their speed
slightly and by preventing them from attacking organic units.
The speed change was agreed by ValihrAnt, the organic restriction is
more experimental and might be reverted in favour of a "reduced damage"
approach (see D2684) if it proves too limiting.
Patch By: borg-
Approved by: wraitii, ValihrAnt (mostly on the speed debuf)
Differential Revision: https://code.wildfiregames.com/D2782
This was SVN commit r23753.
Elephants were designed to prefer targeting structures. This is not
particularly historically accurate, and makes them rather annoying to
use against enemy units, reducing their efficiency.
This simply removes the preferred class, making elephants easier to
handle while keeping their usage as siege units for some civilisations.
Max-range is reduced slightly as the previous one was extremely large
for a melee unit.
Approved by: Nescio, wraitii
Patch by: borg-
Differential Revision: https://code.wildfiregames.com/D2786
This was SVN commit r23752.
Remove champions from the fortress. This mimics the Maurian elephant
stable.
Approved By: ValihrAnt, Feldfeld, borg-
Differential Revision: https://code.wildfiregames.com/D2532
This was SVN commit r23746.
Formation controllers were not always waiting on their members correctly
because the "finishedOrder" check was being reset in the wrong place.
This happened particularly with queued orders.
This merges the "finishedOrder" and the "InPosition" logic.
Reported by: elexis
Based on a patch by: Freagarach
Tested by: Freagarach
Reviewed By: Angen
Fixes#3274
Differential Revision: https://code.wildfiregames.com/D2702
This was SVN commit r23744.
423b3cbcaa Moved the message sent that an entity garrisons from
`PerformGarrison` to `Garrison`. However, when an entity is
autogarrisoned from `ProductionQueue` `PerformGarrison` is called thus
not triggering the message. When ejecting the entity from the structure
there is a message sent that the entity is removed, thus allowing for a
negative amount of archers/arrows in `BuildingAI` (see
423b3cbcaa#42654).
Note that `PerformGarrison` was explicitly split in 2102648f7c when
introducing autogarrisoning. It probably has something to do with the
position, since that was split. But I couldn't find any reason why it
cannot be used now.
A side effect of this is that when autogarrisoning an entity with
visible garrison points those will be occupied as well now.
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D2790
This was SVN commit r23743.
This lets unitAI FSM states correctly handle target entity renaming by
processing a message when that happens. The default behaviour is to
leave-reenter the state, which re-runs sanity checks and optionally
picks a better behaviour.
UnitMotion is still not made aware of entity renaming, as the
leave-enter makes it irrelevant in practice. It still may be a good idea
to implement that someday.
Fixes the concern raised at de1bb8a766.
Fixes#5584
Comments by: bb, Freagarach
Tested by: Freagarach
Reported by: minohaka, bb, Freagarach, gameboy (error in the original
commit)
Differential Revision: https://code.wildfiregames.com/D2735
This was SVN commit r23742.
The wrong components were mocked, but the test did not fail as the
asserts were not called.
Add a check that tests are indeed called here.
Patch by: Freagarach
Reviewed by: wraitii
Differential Revision: https://code.wildfiregames.com/D2787
This was SVN commit r23738.
Citizen, Champion and Hero cavalry now have the same 2x walk speed
multiplier.
Speed difference between cavalry type unchanged.
Patch by: Nescio
Approved by: borg-, ValihrAnt, wraitii
Differential Revision: https://code.wildfiregames.com/D2596
This was SVN commit r23737.
Entities should look for a new foundation near the targeted one, not
near themselves, when they cannot proceed with constructing the original
target.
This behaviour matches expectations from players better, since the
entity will go closer to where the player intended.
It also rejoins behaviour when gathering introduced in 7d53fb19a2.
For now, keep looking near the entity too if there are no obvious picks
at the destination, but this could be done only within a certain range
(see D2525).
Comments by: Angen
Differential Revision: https://code.wildfiregames.com/D2753
This was SVN commit r23734.
This moves some resource committing logic from `UnitAI` to
`ResourceGatherer`.
Allows easier modification by modders, and cleaner separation of
concerns.
Check if the carried resources actually changed before sending the
message.
Make all paths through Repair.ConstructionFinished return resources.
Patch by: Freagarach
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D2664
This was SVN commit r23733.
This is the same commit as 2abd9cead2 / D1418, fixing noted issues.
This addresses two related issues:
- Units visibly garrisoned on gates keep the gate open.
- Units visibly garrisoned on entities keep their pathfinding blocker
flags.
De-activate the obstruction of visibly-garrisoned entities, fixing the
2nd issue.
Keep a list of entities that cannot move and thus should not count
towards gate-opening logic.
Packing logic is kept separate: it is more related to entities having
'alternate forms' with different capabilities than being currently
incapable of moving.
Based on work by temple
Fixes#2679.
Fixes#5151.
Differential Revision: https://code.wildfiregames.com/D2775
This was SVN commit r23731.
Before this change, civilisation could train champions in captured
barracks only if captured barracks allowed to train that unit, what was
not always the case so some champions were allowed to be trained in
captured barracks and some was not.
Differential Revision: https://code.wildfiregames.com/D2547
Patch by: Nescio
Reviewed by: ValihrAnt
This was SVN commit r23715.
Player-testing has revealed QA issues, so reverting these for now.
Differential Revision: https://code.wildfiregames.com/D2773
This was SVN commit r23714.
0363202a20 actually fixed the particular issue of upgrading a long-wall
to a gate by correctly handling it in UnitAI, so this code, which didn't
work, is no longer needed anyways.
Noticed by running units_demo which seems to have skirmish replacer
placeholders.
This was SVN commit r23711.