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
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
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
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
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
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
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
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
Andre Mohren
ef7c49c116
Allow mods to determine associated SuperPower from SelectGenericPowerTarget
2018-09-12 15:11:18 +02:00
Paul Chote
16ff9fbc8e
Fix menu/exit fade effect for paused replays.
2018-09-11 23:29:23 +02:00
reaperrr
bbf6e38faa
Always leave trails when no TerrainTypes are defined
...
Requiring terrain types is bogus, as it unnecessarily complicates using this trait for airborne units.
2018-09-10 19:45:02 +02:00
Paul Chote
0a507f3d33
Allow deploy orders to be queued from the command bar.
2018-09-10 19:42:24 +02:00
Paul Chote
3abc85b588
Add a Desc for Buildable.BuildPaletteOrder.
...
Also removes the long-outdated UI-fluff comment.
2018-09-10 11:27:50 +02:00
Chris Forbes
67d9ad6a93
Convert cloak types to use BitSet
...
Fixes #15412
2018-08-20 01:11:43 +02:00
Mustafa Alperen Seki
6df243f79b
Fix GivesExperienceModifier not working
2018-08-16 19:44:08 +02:00
Mustafa Alperen Seki
1977e64e07
Fix Cargo>EjectOnDeath crash with multipile INotifyBlockingMove
2018-08-14 23:00:08 +02:00
reaperrr
c983dda077
Fix husks not updating targetable positions on teleport
...
This should have checked for IPositionableInfo to begin with.
Husk already implements IPositionable, so implementing *Info as well
makes sense, even if it only serves to exclude it from
ITargetablePositions caching for now.
2018-08-14 17:26:36 +01:00
reaperrr
ba231636f5
Minor RepairsUnits style fix
2018-08-12 14:36:59 +01:00
reaperrr
46cee82027
Move RepairsUnits out of Building folder
2018-08-12 14:36:59 +01:00
reaperrr
77d03ce1e1
Replace Airfield/Helipad references with generic Resupplier in RTB activities
...
More generalization to prepare for possible future activity merger.
2018-08-12 14:24:21 +02:00
Paul Chote
1b1521812c
Add EnabledByDefault check to WithInfantryBody.
2018-08-11 14:30:01 +02:00
Paul Chote
d110a21bfe
Add missing EnabledByDefault checks to WithSpriteBodyInfo subclasses.
2018-08-11 14:30:01 +02:00
Zimmermann Gyula
813e53f823
Fix deathsounds regression.
2018-07-29 09:13:53 -07:00
Chris Forbes
51e000599a
Convert crushclasses to bitset
2018-07-28 21:28:46 +01:00
Mustafa Alperen Seki
82f6c2b862
Make SpawnActorsOnSell conditional
2018-07-28 21:20:28 +01:00
Mustafa Alperen Seki
ea2794b417
Make EjectOnDeath conditional
2018-07-28 21:20:28 +01:00
reaperrr
0bff9e9119
Make some Attack* methods/classes public
...
Instead of protected, because some 3rd-party mods rely on these being
public.
2018-07-28 21:35:42 +02:00