Paul Chote
a53ef6e503
Add CaptureManager trait to fix multiple-trait interactions.
...
This fixes the various edge cases that occur when multiple
Captures or Capturable traits are defined on an actor and
are toggled using conditions.
The Sabotage threshold field moves from Capturable to
Captures in order to simplify the plumbing. The previous
behaviour ingame can be restored by creating a new
capturable type for each threshold level, each with their
own Captures trait.
2018-10-07 18:46:21 +02:00
Paul Chote
588a5d784f
Add IMove.EstimatedMoveDuration.
2018-10-07 18:46:21 +02:00
Paul Chote
3b16938ae5
Remove legacy building.Locked and building.BuildComplete from Gate.
2018-10-07 18:23:03 +02:00
BGluth
b88b84c05a
Units that have turrets while deployed now move their turrets back to their initial positions before undeploying
...
- Tested in TS with all deployable units and did a quick check for obvious issues in TD and RA.
2018-10-07 12:19:09 +01:00
abcdefg30
00dc161628
Add a proper exception when creating an actor with an invalid owner in Lua
2018-10-07 11:09:06 +00:00
Paul Chote
eb0e2eeb9d
Fix misc indentation errors.
2018-10-06 23:32:38 +02:00
abcdefg30
01d340db09
Properly end capturing during an owner change
2018-10-06 14:59:33 +01:00
Mustafa Alperen Seki
536f5f05a8
Make WithBuildingPlacedAnimation conditional
2018-10-06 13:31:47 +01:00
teinarss
e353c8c176
Changed SubCell to byte
2018-09-30 19:48:27 +01:00
Andre Mohren
52a7d39e51
Implemented Parallel ProductionQueue style.
2018-09-30 16:58:49 +02:00
Andre Mohren
3bfcecd539
Refactored ProductionQueue to support different production styles.
2018-09-30 16:58:49 +02:00
Andre Mohren
6cd1919cca
Calling PreparingAttack before calculating Muzzle.
2018-09-30 15:34:08 +02:00
Mustafa Alperen Seki
abdb1f7547
Add TargetTypes to AttackSuicides
2018-09-30 14:34:14 +02:00
reaperrr
adc03c41b1
Cache DomainIndex in PathFinder
...
Should save a trait look-up for each path search. Also ditch bogus null checks (this trait is a must-have anyway, so we *want* to crash if it's missing).
2018-09-30 14:34:05 +02:00
Andre Mohren
693b5a54af
PNG spritesheet support, along with PaletteFromPng.
...
Cursor palette loader can now be specified via yaml.
2018-09-29 21:12:40 +02:00
Andre Mohren
48248266a8
ClickSound and ClickDisabledSound and ChatLine are optional ui sounds.
2018-09-29 20:05:53 +02:00
Andre Mohren
28623ce54c
Allow usage of different palette for WithSpriteTurret
2018-09-29 19:47:47 +02:00
Andre Mohren
640078a2b1
Refactored Health usage to IHealth.
2018-09-29 18:12:40 +02:00
reaperrr
83cd7cf485
Merge two ifs in RevealOnDeath
2018-09-29 12:54:34 +01:00
reaperrr
ade85f8977
Skip DamageWarhead armor lookups if no Versus defined
...
- directly return 100 when no Versus values are defined (meaning the warhead would have 100% efficiency vs. all armor types anyway)
2018-09-29 12:54:34 +01:00
reaperrr
1f7edf9f0b
Cache *Notify traits in Health where applicable
...
During heated battles, those TraitsImplementing look-ups in Health might cause bursty CPU load on warhead impacts. Caching the notify traits of the actor + owner can reduce the trait look-ups per impact by more than half.
2018-09-29 12:54:34 +01:00
reaperrr
13769d48a1
Minor Health readability style fix
2018-09-29 12:54:34 +01:00
reaperrr
43693d84d1
Migrate DamageState thresholds to integer
...
While avoiding divisions.
While there haven't been any desyncs to speak of recently (not in this part of the code, in any case), this still looks like an oversight from when we migrated away from using floats.
This also makes it easier to expose the thresholds to modders later.
2018-09-29 12:54:34 +01:00
reaperrr
0b0c3b7170
Changed an 'if' to 'else' in Health.Tick
...
Since the two 'if's were mutually exclusive, the 2nd 'if' was turned into an 'else' to potentially skip that check if the 1st succeeds.
2018-09-29 12:54:34 +01:00
Mustafa Alperen Seki
b53c13dca4
Add GrantConditionOnProduction
2018-09-29 12:10:11 +01:00
abcdefg30
4298584af2
Prevent units from gaining more experience than MaxLevel requires
2018-09-28 22:48:50 +01:00
Andre Mohren
a86f41cd5c
Made Valued optional for traits who do not require it.
2018-09-28 22:06:56 +01:00
reaperrr
ec15acbc80
Enable LaserZap launch-effect syncing with current source barrel/muzzle facing
2018-09-28 21:32:34 +02:00
reaperrr
28c89920ac
Add dynamic muzzle LaunchEffect facing plumbing
2018-09-28 21:32:34 +02:00
reaperrr
8144fca5be
Merge repair and rearm anim traits into WithResupplyAnimation
...
This is the safest approach to avoid conflicts/visual glitches when the host is responsible for both resupply types.
The new trait will simply play a looping animation as long as the actor is resupplying in any form.
2018-09-27 16:38:08 +02:00
reaperrr
288dfdbf03
Update UpdatePaths and move bleed rules to subfolder
2018-09-26 23:43:30 +01:00
Paul Chote
09d8aafddf
Add a lint test for audio notifications.
...
Only traits are linted - the UI still hardcodes
too many audio references for this to be worthwhile.
2018-09-26 13:57:05 +02:00
Andre Mohren
f342ecf18a
Added UpdateRule.
2018-09-24 22:43:14 +02:00
Andre Mohren
a68ea0fe2d
RepairsUnits notification now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
091f660dc7
Extracted Repairing notification to RepairableBuilding.
2018-09-24 22:43:14 +02:00
Andre Mohren
a0ad79e555
Extracted RadarUp and RadarDown notifications to RadarWidget.
2018-09-24 22:43:14 +02:00
Andre Mohren
d7f81d4a20
Extracted Win and Lose and Leave notifications MissionObjectives.
2018-09-24 22:43:14 +02:00
Andre Mohren
fac758f38e
ProductionQueue notifications now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
c2b1a5f4e0
Extracted BuildingCannotPlaceAudio to PlaceBuilding.
2018-09-24 22:43:14 +02:00
Andre Mohren
8834cee13c
PlaceBuilding notification now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
7057e32902
PowerManager notification now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
90c2249317
PrimaryBuilding notification now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
cf84e6f8d5
GainsExperience notification now optional.
2018-09-24 22:43:14 +02:00
Andre Mohren
e353ff326e
Extracted CashTickUp and CashTickDown to PlayerResources.
2018-09-24 22:43:14 +02:00
reaperrr
bb7c19ad02
Fix spawning 1 crate too much if maximum == minimum
...
If Maximum == Minimum but 'crates' < Maximum, the formula would simply return min + 1 regardless of max being identical to min.
Only adding 1 more crate if Maximum is higher than Minimum fixes that.
2018-09-24 22:06:21 +02:00
reaperrr
1098804f9b
Make WithSpriteBody always use Animation.PlayRepeating
...
... for looped sequences.
PlayCustomAnimationRepeating looping back into itself via Action instead of simply using Animation.PlayRepeating is weird, and in fact causes a slight 'desync' in animation speed with Animation.PlayRepeating in at least one downstream mod.
2018-09-24 22:06:10 +02:00
abcdefg30
978d447d42
Disable the restart button on dedicated servers
2018-09-22 15:44:56 +01:00
abcdefg30
92e8fbf4d0
Make the menu widget readonly
2018-09-22 15:44:56 +01:00
Ectras
d9946f63e4
Renamed EditorTilesetFilter to MapEditorData and added an update rule
2018-09-22 15:12:15 +02:00
Matthias Mailänder
cb05d8a98d
Fix CustomTerrainDebugOverlay not rendered in isometric mods
2018-09-19 20:04:41 +02:00