With the new 'fire' status effect, the damage against buildings was much
lower than in A23. This upgrades it from 2 to 6.
Reported by: soloooy0
Patch by: borg-
Differential Revision: https://code.wildfiregames.com/D3430
This was SVN commit r24738.
When one hovers over gate in structure tree (e.g. gauls), it shows
unmodified hp.
As soon as one opens template viewer, one can see correct values.
Reason is that when getting values of upgrades, civ modifiers are not
applied.
Differential revision: D3427
Reviewed by: @wraitii, @s0600204
This was SVN commit r24730.
Maurya players had little incentive to build further support elephants.
This reduces their cost to make it more interesting for players.
It also reduces their Resistance, which was un-naturally high for a
support unit.
Patch by: FeldFeld
Accepted by: borg-
Differential Revision: https://code.wildfiregames.com/D2852
This was SVN commit r24729.
Current issue with the lobby, is that we make ips of hosts public for
anyone to read. This patch consists of 3 parts.
1.) Removing ips and ports from lobby javascript
2.) Removing need of script on the server to attach public ips to game
stanza by asking the host using xmppclient as proxy.
3.) Implementing password protected matches, to deny this information to
not trusted players.
Further description:
Do not send ports and stunip to the bots.
Removed from stanza.
Do not send ip to the lobby.
Removed from mapping gamelist from backend to gui (still on the backend
side, because it is done by script on 0ad server).
Get ip and ports on request when trying to connect.
On the host side, ask stun server what is host's public ip and remember
it.
On the client side, send iq through xmppclient to the hosting player and
ask for ip, port and if Stun is used, then if answer is success,
continue
with connecting, else fail.
Add optional password for matches.
Add password required identifier to the stanza.
Allow host to setup password for the match. Hash it on the host side and
store inside Netserver. If no password is given, matches will behave
as it is not required.
On the client side, if password for the match is required, show
additional window before trying to connect and ask for password, then
hash it
and send with iq request for ip, port and stun.
Server will answer with ip, port and stun only if passwords matches,
else will asnwer with error string.
Some security:
Passwords are hashed before sending, so it is not easy to guess what
users typed. (per wraitii)
Hashes are using different salt as lobby hashing and not using usernames
as salt (as that is not doable), so they are different even typing the
same password as for the lobby account.
Client remembers which user was asked for connection data and iq's id of
request. If answer doesn't match these things, it is ignored. (thnx
user1)
Every request for connection data is logged with hostname of the
requester to the mainlog file (no ips).
If user gets iq to send connection data and is not hosting the match,
will respond with error string "not_server".
If server gets iq::result with connection data, request is ignored.
Differential revision: D3184
Reviewed by: @wraitii
Comments by: @Stan, @bb, @Imarok, @vladislavbelov
Tested in lobby
This was SVN commit r24728.
Follow up to D3287/9a3da390b9.
- Remove the specialised infantry/cavalry attack technologies, in favour
of generalist melee/ranged techs to make it easier to switch army
compositions.
- Lower the costs of the technologies substantially.
- Make melee techs cost Food/Metal and Ranged techs Wood/Metal, like
resistance techs.
- City phase upgrades take 60s
- New names and descriptions for the ranged attack technologies.
Initial patch by @borg-, rebased and updated by @Nescio.
Differential Revision: https://code.wildfiregames.com/D3366
This was SVN commit r24725.
A23 siege techs were rarely used. This:
- Lowers the cost of the attack tech slightly.
- Remove the cost techs which were not very useful or interesting.
- Rework the armor tech into a Health bonus
- Introduces a tech to pack/unpack faster.
Patch By: borg-
Accepted By: Feldfeld
Differential Revision: https://code.wildfiregames.com/D2878
This was SVN commit r24722.
9fc6c3c897 stopped supporting components with a non-null Serialize() and
a null Deserialize().
Unfortunately, these throw exceptions and it appears we have codepaths
that don't handle these exceptions (possibly all of them). Since this
error is likely, and easily fixable, and doesn't actually _crash_, I'll
issue a LogError for now.
This will possibly help modders update to A24.
Differential Revision: https://code.wildfiregames.com/D3422
This was SVN commit r24720.
Since they were deemed too powerful.
Patch by: @Nescio
Differential revision: D3404
Reviewed by: @Feldfeld, @wraitii
Reservations by: @borg-
Comments by: @Stan
This was SVN commit r24719.
Removed false information, added information that was missing.
Removed history of stronger Spartan women in the game.
Initial patch by: @ValihrAnt
Redone by: @Nescio
Cleaned in between by: s0600204
Differential revision: D2720
Comments by: @asterix, @badosu, @borg-, @elexis, @Stan, @wraitii
This was SVN commit r24716.
The major change here is that Archer spread is reduced to 2 to make them
have much better aim than before at max-range, where they often missed.
This makes their DPS more predictable over their range.
This makes ranged unit's spread proportional between citizen soldiers,
advanced/elite CS, champions and heroes.
Because of the spread reduction and because promotion more strongly
reduces spread, the 10% spread reduction from the archery tradition
technology is removed.
Gravity values are tweaked.
LaunchPoint values are raised and standardised by unit type.
Patch By: Nescio
Differential Revision: https://code.wildfiregames.com/D3374
This was SVN commit r24709.
This fixes chasing, particularly chasing ranged cavalry.
- Standardise the range of melee cav to 4.
- Decreases the speed of ranged cavalry slightly to make melee cavalry a
better counter & reduce the ability of ranged cavalry to dominate an
area.
- Fix UnitMotion to better chase units, by increasing direct-range
distance and making "from scratch" short paths recompute better paths
(by increasing the search range).
- Gives some free rotation time for slight angles to units. Angles below
30° take no time to rotate towards. Chasing units that recomputed a lot
of paths could be slowed down substantially by minute angle differences.
Fixes#5936
Differential Revision: https://code.wildfiregames.com/D3402
This was SVN commit r24708.
- Fix compiler warning with Clang
- Fix usage of libiconv
- Fix an incorrect SSE macro in NVTT for SSE
Patch by: @madpilot and Stan
Fixes: #5255
Differential Revision: https://code.wildfiregames.com/D3421
This was SVN commit r24704.
- Add an option to control the 'null formation' override, so it can be
turned off/on independently of having a default formation set. It
defaults to "Walk/Patrol only".
- Make only 'walk' and 'patrol' orders use the default formation.
This makes the system more flexible, and easier to use for competitive
play.
Differential Revision: https://code.wildfiregames.com/D3413
This was SVN commit r24703.
Attack.js can use UnitMotion to calculate the position of the unit in
the future, accounting for odd movements such
as zigzags, turnarouds and early stops (to the extent of the current
order).
This improves the resilience of units against the 'dancing' trick.
The linear interpolation is kept as a failsafe and to avoid an edge case
in the new prediction code.
Patch by: bb
Refs #5106
Differential Revision: https://code.wildfiregames.com/D3225
This was SVN commit r24701.
As pointed out by @Feldfeld, Spartan swordsmen are much better troops
than basic soldiers, yet hardly cost more. Moreover, 8e19745bba
practically doubled their gather speed (from 25% to 49%).
This raises their cost a bit, to a total of 125 resources, instead of
110. For comparison, basic infantry has a total cost of 100, champion
infantry 220.
Patch by: @Nescio
Differential revision: D3423
Reviewed by: @borg-, @wraitii
This was SVN commit r24700.
This enables the 'save' button only when there is (probably) something
to save. It improves the UX of using the editor since it gives feedback
that the hotkeys were indeed saved.
Refs #5867
Differential Revision: https://code.wildfiregames.com/D3419
This was SVN commit r24699.
SDL 2.0.9 introduced a 32-pixel leeway for double clicks to register,
which makes it possible to trigger "select all units of the same type"
behaviour while trying to select different units that are close by.
This effectively reverts that by setting the "hint" to 1.
Fixes#5920
Differential Revision: https://code.wildfiregames.com/D3420
This was SVN commit r24698.
The Ptolemy have not used it since A21, and Kushites have a better
Nubian archer.
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D3415
This was SVN commit r24695.
Wrong assumptions on reviewing 2627714c07 and 7f7a3edfae made it such
that non-capture attacks did not play a being-attacked sound anymore.
We only want a different sound when being captured.
Differential revision: D3408
Tested by: @Stan
This was SVN commit r24694.
Since wonders already have many bonuses by default.
This merges the two population auras to one that increases the
population cap after researching the technology and instead of flat +50,
it now is relative: +20%.
Patch by: @Nescio
Differential revision: D2951
Reviewed by: @Palaxin
Comments by: @badosu, @borg-,
Reservations by: @bb, @Freagarach
This was SVN commit r24692.
- Remove movement speed technology, which was a straight trade bonus.
- Buffed health tech from +2 armour to +50% HP, moved to town phase,
made costlier.
- Changed gain of trade techs to +15% each.
The intent is to slightly reduce the snowballing effect from trade
techs.
Patch by: Nescio
Comments by: borg-
Differential Revision: https://code.wildfiregames.com/D3357
This was SVN commit r24690.
All animals have the default resistance of 1H/1P/1C. This makes macemen
able to kill them again.
Damage has been reduced on some templates.
HP has been reduced across the board.
Fix the goat cost with respect to other domestic animals after
D3301/082bd8bd44.
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D3397
This was SVN commit r24689.
#5932 reported a segfault. The direct cause is an infinite loop in
Order.Repair in a formation controller.
There are multiple issues at play here, but the core problem is that the
controller has been marked for destruction, but remains alive over the
turn and UnitAI timers can fire. This leads to an unexpected state that
triggers an infinite loop.
To avoid this problem, immediately switch the formation controller to a
clean state when it's being disbanded.
Fixes#5932
Differential Revision: https://code.wildfiregames.com/D3410
This was SVN commit r24688.
- Make the library a Ptolemaic exclusive. The tech discount is 15%
unstackable.
- Enable Theater for Ptolemy & Seleucid, tweak stats.
- 'Hellenistic Metropolis' is now in the Civil Centre, and no longer
affects military colonies/crannogs.
- The Ptolemaic lighthouse no longer reveals all shores, instead simply
has a very large vision range. It's moved to City Phase.
- The Carthaginian super dock is moved to city pahse as well.
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D3350
This was SVN commit r24687.
This patch will:
- Pass `gameRegisterStanza` to `playerAssignmentsControl` constructor.
- Remove handlers for `onClientJoin` and `onClientLeave` from
`gameRegisterStanza` class.
- Call `gameRegisterStanza` method `sendImmediately` only once after
all handlers have run and after updating g_PlayerAssignments .
- Remove from `gameRegisterStanza` the dependency on
`playerAssignmentsControl` since the `onClientJoin` and `onClientLeave`
handlers are removed.
Reviewers: Angen, wraitii
Accepted By: wraitii
Trac Tickets: #5929, #5933
Differential Revision: https://code.wildfiregames.com/D3406
This was SVN commit r24686.
Siege engines are faster to destroy than to capture. As such, capture as
a default is annoying, since it's not the best tactical choice.
Unfortunately, fixing this for now means removing "Capturable" from
siege engines.
Rams/Siege towers retain 50 Pierce Armour, others get 25.
Patch by: Nescio
Differential Revision: https://code.wildfiregames.com/D2493
This was SVN commit r24685.
Network settings must be synchronised when the map selection is
submitted. Fixes ae9ea5b859.
Reported by: Imarok
Differential Revision: https://code.wildfiregames.com/D3405
This was SVN commit r24684.