Changes from Cost and Build time to Cost and Health, for that is less
complicated.
Patch by: @borg-
Differential revision: D3355
Reviewed by: @Nescio
Comments by: @Freagarach, @wraitii
This was SVN commit r24655.
D3269 / 1649a8c221 made Mercenaries unable to gather. Ptolemies
Javelineers are mercs, so thy now had a non-gatherer starter unit,
putting them at a disadvantage.
This swaps the Merc javelineer with the slinger to correct for that.
Patch by: Nescio (for Stockfish0ad)
Differential Revision: https://code.wildfiregames.com/D3378
This was SVN commit r24649.
This patch fixes a few oversights:
* When redoing D3287, a typo slipped in, spotted by @borg-: “wood”
instead of “food”.
* From the same patch, @Angen suggested to change a technology name,
from “Metal Shield” to “Metal Rim”.
* When redoing D2494, I missed that the ptol polybolos has a third less
reload time; as a consequence its damage per second is now 50% higher
than that of other bolt-shooters; this patch fixes that by adjusting its
damage.
* Likewise, D3235 adjusted archer attacks but omitted the crossbowman,
which currently has half the base damage of its champion counterpart but
three times the reload time, which means its damage per second is only
one-sixth the archer's; this patch raises its base damage sixfold to
give the crossbowman the same damage per second as the archer.
Patch by: Nescio
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D3375
This was SVN commit r24646.
a4852c4c01 changed hotkeys to use scancode, but didn't change g_keys to
reflect that, and this could break hotkey release.
This fixes that by explicitly using scancodes. Note that we might want a
g_keys map in the future, but it seems un-necessary at the moment.
Also remove the last remnants of 'negated' hotkeys, which were disabled
following b995135138.
Tested By: OptimusShepard
Fixes#5922
Differential Revision: https://code.wildfiregames.com/D3379
This was SVN commit r24645.
d0fc8ff67d / D2759 make buildRestriction distances take obstruction
sizes into account.
This requires AI adjustment, which wasn't done then.
Differential Revision: https://code.wildfiregames.com/D3364
This was SVN commit r24643.
Following 9fc6c3c897, the OOS debugSerializer would try to serialize AI
objects entirely. This is extremely slow (might be an infinite loop in
some cases).
Instead, it should print the result of Serialize() in those cases.
(The original idea was that it would print more debugging information,
but in practice it seems to mostly print things that show up when
diffing but aren't actually sources of OOS, so essentially garbage).
Fixes#5917
Differential Revision: https://code.wildfiregames.com/D3361
This was SVN commit r24641.
This puts them on-par with champion infantry.
Patch by: @Nescio
Differential revision: D3372
Reviewed by: @borg-
Comment by: @wraitii
This was SVN commit r24640.
Since they don't have much bonuses (structure health, stronger female
citizens) to stand up against two penalties (no stone walls and this).
This removes the population penalty; other civilisations have better
bonuses but no such penalties.
Besides, Sparta was larger than other city states in ancient Greece,
both in terms of area and army size.
Patch by: @Nescio
Differential revision: D3376
Reviewed by: @borg-
This was SVN commit r24639.
- axemen, macemen, swordsmen: 3.5 -> 3
- spearmen: 4.5 -> 4
- pikemen: 7 -> 8
In single combat or small numbers the effect of this patch is probably
negligible; however, in large groups more pikemen could hit a single
target. Given that pikemen have by far the lowest damage per second,
increasing the range differences won't hurt.
In reality pikes were two to three times as long as spears, and up to
six pikes extended in front before an opponent could touch the first
pikemen, so this improves historical realism too.
Patch by: @Nescio
Differential revision: D3080
Reviewed by: @borg-
Comment by: @wratiii
This was SVN commit r24638.
Now that rams are available to all civs, it's no longer necessary for
elephants to keep having the same amount of crush damage as rams.
This patch therefore reduces their crush damage by 20%, but raises their
hack damage by 50%, making them less effective vs structures but better
against units.
Patch by: @Nescio
Differential revision: D3371
Reviewed by: @borg-, @wraitii
This was SVN commit r24637.
A frequent complaint is that ranged troops are too effective in 0 A.D.
They're supposed to die quickly, however, they get the same resistance
increases as melee troops. This limits the advanced and elite resistance
bonus to melee only (thus also excluding healers) and reduces the
resistance of ranged champions and heroes by two levels, to stay in pace
with their elite counterparts.
As a consequence, nothing changes for basic ranged troops, but advanced
are about 11% easier to kill, and elite, champion, and heroes about 23%.
Patch by: @Nescio
Differential revision: D3369
Reviewed by: @wraitii
Comment by: @borg-
This was SVN commit r24636.
Mercenaries:
- Can't gather but can build structures.
- Cost 60% less food, neither wood nor stone, but metal.
- Less training time.
Patch by: @Nescio
Differential revision: D3269
Reviewed by: @borg-, @wraitii
This was SVN commit r24635.
The carnyx was a long, bronze, Celtic trumpet and used on the
battlefield; its sound would intimidate opponents.
This patch introduces a trainable infantry champion for the carnyx-using
actor, at the assembly, and adds a generic template and an aura file,
which lowers the attack damage of nearby enemy soldiers a bit.
While it has an aura that could make a difference, it has no training
restrictions (unlike heroes); to compensate for that, it has a higher
cost, less resistance and less attack damage than other champions. If it
turns out to make the Gauls too strong, its values can be adjusted in
the future.
Having this (historically attested) unit would make the Gauls less
similar to other civs.
The specific name was suggested by @genava55 on the forums.
Icon adapted by @Stan from @niektb.
Original patch by: @Stan
Redone by: @Nescio
Differential revision: D3320
Reviewed by: @borg-
Comments by: @Freagarach
This was SVN commit r24634.
Fixes 5473393e30.
This:
- Puts RL code under the RL namespace to avoid name collisions
- Avoids usage of new/delete
- Adds more documentation
- Does general cleanup (const-correctness, move semantics, argument
types, early returns...)
Patch by: irishninja
Comments by: Vladislavbelov, wraitii
Differential Revision: https://code.wildfiregames.com/D2947
This was SVN commit r24631.
A pure stone cost makes it easier to research and more unique.
Patch By: borg-
Accepted By: wraitii, Nescio
Differential Revision: https://code.wildfiregames.com/D3356
This was SVN commit r24628.
Foundations were originally made conquest critical in 722578fdcd.
However, it remains rather frustrating that a player can evade defeat by
placing an unbuilt, uncommitted foundation. While allies can revive a
player with only a foundation, that cannot happen in 1v1, where it is
simply undue frustration, and the inconvenience seems greater than the
feature.
This thus removes them again from the conquest critical list.
Patch By: nephele
Differential Revision: https://code.wildfiregames.com/D2674
This was SVN commit r24624.
Houses increase the population limit. Various other structures did it
too as a side-effect.
This changes that, making houses more unique.
This also removes the Gaul/Brit bonus that most buildings increased
population, as they already build structures 20% faster and that is
deemed a sufficient early-game advantage.
Accepted By: borg-
Differential Revision: https://code.wildfiregames.com/D2950
This was SVN commit r24623.
If there is a building that has a paired tech researchable, where the
two techs have a civ requirement but the parent pair tech doesn't, then
the selection panels will throw errors.
This has happened with add6b0206c,
https://wildfiregames.com/forum/index.php?/topic/24732-de-alpha-24/page/2/
and other incidences.
Now when both paired techs have an unmet civ dependency they are not
shown, when one of them hasn't, it is shown.
Fixes: #5915
Original patch by: @elexis
Changes by: @Freagarach
Differential revision: D2171
Comment by: @Imarok
This was SVN commit r24621.
Since many players might not notice the new snapping feature
(a8f241da5d), a loading screen tip is nice.
Patch by: @elexis
Differential revision: D2545
Comments by: @bb, @Nescio, @vladislavbelov
Some minor changes by: @Freagarach
This was SVN commit r24620.
Because heroes permanently die (de3ed2cd19) it is nice to users of that.
Differential revision: D3294
Comments by: @Nescio, @Stan
This was SVN commit r24619.
This changes ConfigDB to support empty settings, marked with `= ""`. It
also changes hotkey to handle unused hotkeys, but stil have them appear
in the hotkey editor.
Fixes an issue where the current editor would bug when saving an empty
hotkey.
Removes the old system for unused hotkeys, adjust hotkey files
accordingly.
Reported by: FeldFeld
Differential Revision: https://code.wildfiregames.com/D3307
This was SVN commit r24618.
Adjusts the jb.js to not try and place walls outside of the map.
Only adds really added walls to the entity list (refs. #5919).
Patch by: @elexis
Differential revision: D3299
Tested by: @Freagarach, @StanFixes: #5177
Refs. #5150
This was SVN commit r24617.
The NetClient code is now threaded, and this means it can try to flush
messages while 'knowingly' being disconnected.
This can be avoided by storing some state in NetClientSession
Improves 2d40068cd1, refs #3700
Differential Revision: https://code.wildfiregames.com/D3352
This was SVN commit r24616.
- Changes the Hero Elephant damage to twice that of Champion Elephants
(consistent with other classes).
- Reduces Champion Elephant crush damage resistance to the same of other
Champions.
- Give all elephants the same walk speed.
- Removed the bonus vs cav from GAIA elephants.
Patch by: @Nescio
Differential revision: D2853
Reviewed by: @borg-, @wraitii
Comments by: @Feldfeld
This was SVN commit r24615.
Clients don't get map size updates shown in the gamesetup (they do
appear in the description).
Tested by: Freagarach
Differential Revision: https://code.wildfiregames.com/D3351
This was SVN commit r24614.
Previous to 7f77cf2f3e the AI got its population bonus per entity from
the Cost component, which every entity happened to have.
Thereafter, the population bonus was handled by a separate component,
which was not always present leading to `(void 0)` additions to the pop
cap and PetraAI not constructing houses.
Differential revision: D3360
Reviewed by: @Angen, @wraitii
This was SVN commit r24613.
And moves elephant training thereto.
This means the Persians get to train them again, by popular demand.
Mauryas are not the only ones anymore that have the elephant stables,
but they can build it earlier.
Patch by: @Nescio
Differential revision: D3362
Reviewed by: @borg-
This was SVN commit r24612.
7460d0e56e uses a GCHashTable to recognize objects. However, It should
have used MovableCellHasher to maintain a stble hashmaps when GC
pointers change.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3363
This was SVN commit r24610.
Artillery is not that effective in 0 A.D., partly because their damage
per second is unimpressive (especially compared to rams or war
elephants), partly because of their splash damage.
Splash damage was added in f72d820cd4 (nearly eight years ago). The
values have changed multiple times, as has the exact calculation (see
simulation/components/Attack.js). While it's quite interesting in
theory, in practice it's not that effective. @fatherbushido explained
how it works on the forums. It's important to understand the actual
splash damage depends on the distance to the centre of entities, in
contrast to ordinary attacks, which do full damage when they hit the
footprint (edge).
Splash damage has some serious problems:
- It may have no effect vs entities with footprints longer than the
splash radius, such as many (most?) structures and warships.
- The AI does not take it into account.
- It's anachronistic: exploding shells did not exist yet in 0 A.D.'s
timeframe. Missiles were rigid objections, and even the very largest
projectiles were well under a metre in diameter.
This patch therefore removes splash damage from artillery (except bolt
shooters).
Fireships and fireraisers now deal fire damage instead of a combination
of other damage types.
Basically, stone throwers are good against large unit masses and
structures only, while bolt shooters are unit killers.
Artillery and bolt towers no longer get additional projectiles from
garrisoned units.
Roman artillery does not get a larger range but keeps the increased
damage.
Patch by: @Nescio
Differential revision: D2494
Reviewed by: @borg-, @wraitii
Comments by: @Angen, @Stan
This was SVN commit r24608.
- Changes footprints to better match their visuals.
- Lowers ram cost to compensate for ther reduced effectiveness (against
units).
- Loot = 20% cost.
- Change experience loot to relate to health.
- Give Kush ram +2 garrison capacity and +20 attack damage since it is
the same actor as the Persian ram.
- Adjust fireraiser template.
Patch by: @Nescio
Differential revision: D3345
Reviewed by: @borg-
This was SVN commit r24606.
Since they are conceptually more policical techs than commercial.
Patch by: @Nescio
Differential revision: D3321
Reviewed by: @borg-
This was SVN commit r24605.
This separates the pierce and hack damage resistance techs but lets them
apply to all soldiers (including elephants).
Patch by: @borg-
Differential revision: D3287
Reviewed by: @Nescio, @wraitii
This was SVN commit r24604.