Paul Chote
db1f794beb
Fix captor being disposed if the capture fails.
2018-10-07 18:46:21 +02:00
Paul Chote
d97a2a5fa0
Remove legacy building lock calls.
...
This has been superseded by conditions.
2018-10-07 18:46:21 +02:00
Paul Chote
50423b13fb
Add ConsumedByCapture flag to emulate legacy external behaviour.
2018-10-07 18:46:21 +02:00
Paul Chote
4d2f1f8942
Add capture progress bars and blinking.
2018-10-07 18:46:21 +02:00
Paul Chote
bab34252dd
Add support for capture delays and conditions.
...
CaptureDelay is defined per-trait, and the shortest
delay will be used if multiple traits are enabled.
CapturingCondition and BeingCapturedCondition are
global, and are granted when any capture is in progress.
The capture period is defined from when the unit reaches
the cell next to the target, and either starts to wait
or enter the target through to when the capture succeeds
or fails.
2018-10-07 18:46:21 +02:00
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