Commit graph

38 commits

Author SHA1 Message Date
Atrik
fb1c0d2a82 Fix renamed entities on TurretPoint
Some units would retain an undue HeightOffset after renaming
while being on a TurretPoint.

Fixes #8651
Fixes #2004
2026-02-04 11:05:07 +01:00
Ralph Sennhauser
7b4cf11e25
Fix eslint rule 'no-shadow'
Manual fixes needed for:
eslint --no-config-lookup --rule '"no-shadow": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-17 09:48:36 +02:00
Ralph Sennhauser
5a9968f88d Fix eslint rule 'prefer-const' in simulation/helpers
eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/public/simulation/helpers

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-11 08:50:27 +02:00
Ralph Sennhauser
ddba1ceabd
Fix eslint rule 'no-extra-semi'
eslint --no-config-lookup --fix --rule '"no-extra-semi": 1'

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-05-03 11:18:16 +02:00
freagarach
1d6f7f3837 Always mark 'PromotedEntity' on transform
If the new entity did not have Promotion, we would fail to do so.
Not doing this caused ghost units to appear when promoting inside a GarrisonHolder.

Fixes #7472, reported by Langbart.
2025-01-15 19:22:54 +01:00
Lancelot de Ferrière
533429e800 Handle phenotype in Transform, tweak SetPhenotype logic 2024-11-30 19:12:11 +01:00
Stan
91509290d6 Workaround TriggerHelper.js not being able to spawn units correctly because of promotion.
Avoid duplication by moving the function to Transform.js.
Add tests to Transform.js
Add tests to TurretHolder.js
Optimize slightly Trainer.js by removing some useless
Engine.QueryInterface calls.
Refs #6784 (symptoms in TriggerHelper.js are fixed underlying cause not)

`SkirmishReplacer` is called before the Modifier Manager so it does not
suffer the same fate.
Entities using `ChangeEntityTemplate` function are still affected.
Maps calling Engine.AddEntity directly are still affected.

Ideally this should be handled by hotloading components instead of
creating new entities each time. See =>
https://code.wildfiregames.com/D4991
Tested using:
908dd631d9

Differential Revision: https://code.wildfiregames.com/D4984
This was SVN commit r27636.
2023-05-10 15:13:52 +00:00
Freagarach
471b05da04 Fix actors changing on transform.
Reported by `Aristippus of Cyrene` at
https://wildfiregames.com/forum/topic/101769-chinese-mangonels/.

Investigated by: @Langbart
Refs. c6a9e7188e
Fixes #6707

This was SVN commit r27483.
2023-01-24 07:54:53 +00:00
Freagarach
6b0802836a Fix duplicating promoting entities in XP trickling structures.
The entity received a value modif. message while promoting, triggering a
second promotion.

Differential revision: https://code.wildfiregames.com/D3918
Fixes: #6162
Comments by: @Angen, @Stan
This was SVN commit r25439.
2021-05-15 05:40:13 +00:00
Freagarach
ea86790e4e Profile the Transform helper.
Differential revision: D3825
Comments by: @Stan, @wraitii
This was SVN commit r25234.
2021-04-12 06:23:30 +00:00
Freagarach
14d24e03f2 Fix promoting entities going back to default stance.
Introduced in 93d22ef16b.
Brings back the less intrusive bug of transforming while garrisoned of
turreted and unloading results in the default stance. That needs to be
fixed again.

Differential revision: D3822
This was SVN commit r25221.
2021-04-09 08:46:39 +00:00
Freagarach
f7f82ecf25 Use explicit functions for passing on a builders list.
Instead of relying on the assumption that an entity which transforms
only has one of the two (and the same) before and after.
Fixes 5b3bdf3647.

Differential revision: D3821
Comment by: @Stan
This was SVN commit r25220.
2021-04-09 08:42:43 +00:00
Freagarach
5b3bdf3647 Use transform to finish construction.
Decreases duplication.

Differential revision: D3804
Comment from: @wraitii (also on IRC)

This was SVN commit r25197.
2021-04-06 12:54:33 +00:00
Freagarach
93d22ef16b Allow to specify subunits on creation.
This basically does two things:
- Allow turrets on moving entities (fixes serialisation in cmpPos).
- Allow an entity to be present on another when the other is created.

That makes it basically a boiled down version of a prior patch, omitting
the part where orders could be passed on.
This does allow e.g. ranged units on chariots that fire while the
chariot moves.

Original diff by: @sanderd17
Redone by: @Stan
Differential revision: D1958
Comments by: @Alexandermb, @Angen, @bb, @Langbart, @Nescio, @Stan,
@wraitii
Refs. #2577 by implementing the entity on platform case.

This was SVN commit r25192.
2021-04-05 05:22:25 +00:00
Freagarach
8cdfc107b7 Let garrisoned entities be IDLE.
The "GARRISONED"-state was quite strange, for entities being garrisoned
can just as well perform other tasks (see e.g. turrets).
Also, the need for keeping a "garrison" order on the stack is removed.

Fixes: #6022
Differential revision: D3656
Refs. #6081

This was SVN commit r25069.
2021-03-17 14:53:09 +00:00
Freagarach
d3c3072c83 Give the Garrisonable component the power to set garrisoned on an entity with UnitAI, instead of leaving it to UnitAI.
Since the only way of garrisoning is using `cmpGarrisonable`.
025a00340e introduced the `this.isGarrisoned`-flag, its meaning was
discussed in https://code.wildfiregames.com/D1403.

Refs. #5979, #6081
Differential revision: D2379
Comments by: @elexis, @Stan, @wraitii
This was SVN commit r25030.
2021-03-08 07:19:06 +00:00
Freagarach
979636cc57 Ungarrison entities using cmpGarrisonable.
Follow-up to e18001e897.
This moves responsibilities even further to the garrisoning entity.

Fixes the garrison flag when renaming entities cannot garrison (#5906).
Allows easy fixing of #6087.

Ticket: #6081
Differential revision: D3628
Comments by: @Stan, @wraitii (also in length on IRC)
This was SVN commit r25019.
2021-03-06 06:07:32 +00:00
Freagarach
e18001e897 Let entities garrison using cmpGarrisonable.
Followup to f4c9305eee.
Moves the logic for garrisoning from cmpGarrisonHolder to the entity
that is being garrisoned.
Also fixes
https://wildfiregames.com/forum/topic/36863-teleportation-feature-in-a24/?do=findComment&comment=418441
while at it (setting garrisoned before transferring orders on
transform).

Differential revision: D3280
Refs: #5906
Comments by: @Stan, @wraitii
This was SVN commit r24977.
2021-03-02 15:06:16 +00:00
Freagarach
41a5650a62 Allow garrisoned entities to upgrade.
Since its introduction in b2f4b0f494 garrisoned entities were not
allowed to upgrade (b2f4b0f494#inline-4821) but that is not needed (at
least since 4fadd75ace).

Changing templates to anything not being able to garrison will still
fail (#5906) but that can also be done with this code.

Differential revision: D3251
Comment by: @bb
This was SVN commit r24958.
2021-02-28 06:47:36 +00:00
bb
19762acf03 Also do transform
This was SVN commit r24441.
2020-12-23 17:48:24 +00:00
Angen
17c9950cee Fix entities not retaining repair order after target transforms
Update this.repairTarget in UnitAI when target renames.
Transfer builders among renamed entities.

Differential Revision: https://code.wildfiregames.com/D2360
Patch by: @Freagarach
Comments by: Stan, elexis
This was SVN commit r23449.
2020-01-27 17:14:30 +00:00
Angen
82a5ab6d19 Allow status effect to apply modifiers and fix 2333b1814e
Status effect can apply modifier to the entity (armour strength, walking
speed, ...)
This is also hiding status effect icons by default in selection detail.
Fixing smaller related bugs.

Differential Revision: https://code.wildfiregames.com/D2281
Patch by: @Freagarach
Comments by: Stan, wraitii
This was SVN commit r23448.
2020-01-27 16:51:25 +00:00
Angen
bd58e3ba1d Set last carried resource after promotion/transformation
Set last carried resource when transforming gatherer as that information
is needed to set correct animation variant.

Missing since 7499b23991 (was still relevant in that time for
"RETURNRESOURCE.APPROACHING")

Differential revision: https://code.wildfiregames.com/D2471
This was SVN commit r23353.
2020-01-09 21:21:38 +00:00
wraitii
4fd3f071a5 Fix SetGarrisoned() call when transforming an entity
Before cc1ea7cca0, the promotion code would carry the UnitAI
IsGarrisoned flag, which the Transform helper incorrectly didn't do.
However, this was missed when merging the two code paths.

This fixes an issue for example when units are promoted while atop
walls.

Reported By: faction02
Patch By: Freagarach
Differential Revision: https://code.wildfiregames.com/D2303
This was SVN commit r22929.
2019-09-18 19:07:16 +00:00
wraitii
cc1ea7cca0 Make Promotion.js use the common Transform helper, add resource gatherer and promotion to said helper.
Fixes #4334

Differential Revision: https://code.wildfiregames.com/D2026
This was SVN commit r22753.
2019-08-22 17:25:44 +00:00
elexis
8ace8034a2 Fix mirages (and any other entity that blocks something but not BlockConstruction) blocking foundation construction following 29492badb7 / D21.
Clean the code by removing the animal hardcoding in the Foundation
component and adding a flag DeleteUponConstruction to the Obstruction
component.

Have locked gates and upgraded entities equally delete entities when
transforming.
Add a workaround for trees inside walls on random maps.

Reviewed by: temple
Differential Revision: https://code.wildfiregames.com/D1415
Refs #4268

This was SVN commit r21624.
2018-03-26 15:18:53 +00:00
elexis
29492badb7 Delete sheep corpses when starting to build a foundation,
so that units don't try to gather forever while not being able to reach
it and
so that the sheep corpse can't be selected and seen anymore.

Differential Revision: https://code.wildfiregames.com/D21
Fixes #4268
Based On Patch By: wraitii
Reviewed By: temple
Previously Reviewed By: Itms
This was SVN commit r21597.
2018-03-21 01:44:15 +00:00
mimo
2214f206b7 Garrisoned units are lost after an upgrade towards a non garrison holder
Differential Revision: https://code.wildfiregames.com/D1228
This was SVN commit r20939.
2018-01-20 15:22:02 +00:00
fatherbushido
de1bb8a766 Move out of world promoted, packed and upgraded entity as they are not destroyed immediately. So they don't interact with the 'physical' world. Refs #4595.
Differential Revision: https://code.wildfiregames.com/D590
Reviewed By: wraitii
This was SVN commit r20393.
2017-11-01 14:55:18 +00:00
mimo
bcdfbd28f8 Change some occurrences of BroadcastMessage where an entity id is available to use PostMessage
Patch by echotangoecho

Reviewed By: O2 JS Simulation, mimo
Differential Revision: https://code.wildfiregames.com/D733
This was SVN commit r20038.
2017-08-25 16:06:29 +00:00
fatherbushido
67a7a92b95 Fix the missing hp for gates: when a full health wall was upgraded to a gate, it lost 1 hp. Complete c312c35698. Ultimately, the copy-move of health should be handled by the Health component itself.
This was SVN commit r19996.
2017-08-19 07:43:24 +00:00
mimo
9b819645f5 fix typo in 82faae8637
This was SVN commit r19179.
2017-01-28 10:22:03 +00:00
mimo
d6d45fc53d fix a wrong copy/paste in 82faae8637
This was SVN commit r19030.
2016-12-08 18:05:44 +00:00
mimo
82faae8637 Speed up the guard component by removing OnGlobal calls, based on a patch from wraitii, fixes #4333
This was SVN commit r19026.
2016-12-07 18:08:26 +00:00
fatherbushido
b70af394df Take account of control group when checking if we can upgrade an entity. Fix a call to an unknown function. Style reviewed by elexis, logic overviewed by wraitii. Fix #4285.
This was SVN commit r18878.
2016-10-28 12:17:16 +00:00
mimo
26b29e1de7 fix fa7e0c10ba
This was SVN commit r18541.
2016-07-21 07:44:28 +00:00
mimo
fa7e0c10ba fix a call to DeleteEntityAndReturn with undefined arguments, + some cleanup, refs #2706
This was SVN commit r18532.
2016-07-19 18:25:31 +00:00
wraitii
b2f4b0f494 Allow entities to upgrade into other entities.
This new components allows giving the upgrade a cost, required
technologies, and a required time.
Implement gates using this generic component.
Fixes #2706

This was SVN commit r18467.
2016-07-01 19:43:26 +00:00