Commit Graph

187 Commits

Author SHA1 Message Date
Mustafa Alperen Seki
3e39ada304 Implement DetectCloakedMultiplier. 2019-06-28 12:19:08 +02:00
Mustafa Alperen Seki
d36973138c Implement ReloadAmmoDelay multiplier. 2019-06-28 12:16:48 +02:00
tovl
ea036d4cc0 Allow move orders to cancel DeployForGrantedCondition. 2019-06-08 02:09:30 +02:00
Mustafa Alperen Seki
feeae74455 Add INotifyResourceDumped Interface 2019-05-22 19:41:21 +02:00
Paul Chote
55f6744cf3 Replace IPreventsAutoTarget with IDisable(Enemy)AutoTarget.
This allows traits on the attacking unit to suppress auto targeting
and makes the distinction between the two interfaces clear.
2019-05-19 13:23:01 +02:00
Oliver Brakmann
a63cc2d317 Add a time limit lobby option 2019-05-16 14:56:56 +02:00
Paul Chote
5f8a0f3372 Add IBotEnabled interface. 2019-05-05 09:30:58 +02:00
reaperrr
83934074a4 Merge INotifyRearm/Repair into INotifyResupply
And streamline its notify methods.
Also cache INotifyResupply traits at beginning
of Resupply activity.
2019-04-29 01:40:52 +01:00
abcdefg30
38b3a4a668 Split INotifyWinStateChanged from INotifyObjectivesUpdated 2019-04-22 21:04:42 +02:00
Mustafa Alperen Seki
de7706c98f Add ProductionCost/TimeMultiplier 2019-04-22 20:44:50 +02:00
reaperrr
a10af382b4 Add plumbing for notifying traits of movement
More precisely, about start and stop of movement.
2019-03-30 16:24:47 +00:00
Oliver Brakmann
0bd00d3b7c Add a ReturnToGroundLayerOnIdle flag to CustomMovementLayers
Co-authored-by: Mazar Farran <farranmazar@gmail.com>
Co-authored-by: Paul Chote <paul@chote.net>
2019-03-10 18:20:01 +01:00
Paul Chote
ab4a7e3558 Replace System.Drawing primitives with our own. 2019-03-04 18:26:42 +00:00
Paul Chote
2080c72ab9 Define plumbing to pass initial target positions to inner move activities. 2019-01-26 22:53:46 +00:00
Paul Chote
b2d960ec19 Pass target line color to inner move activities. 2019-01-26 22:53:46 +00:00
abcdefg30
cadbd0d9ab Change the year number in all cs headers from 2018 to 2019 2019-01-26 23:15:21 +01:00
Oliver Brakmann
c2cf8ba599 Add an interface to prevent actors from being spawned by SpawnMapActors 2019-01-07 10:13:50 +00:00
Paul Chote
f5d788f4fc Prevent unit requests from stacking during production. 2019-01-04 21:14:20 +00:00
reaperrr
54c2894b4e Split off last bot modules
And dissolve AI namespace.
There would have been so little left in Common.AI,
that keeping it made no sense anymore.
2018-12-31 10:56:01 +00:00
reaperrr
6db27b1839 Split off CaptureManagerBotModule
from HackyAI.

Note: This isn't used in any official mod right know,
and known to be bugged on bleed already.
2018-12-22 17:42:53 +01:00
Oliver Brakmann
e71a31925f Require explicit implementation of INotifyObjectivesUpdated 2018-12-22 16:39:06 +13:00
reaperrr
04c34741c8 Extract BaseBuilderBotModule from HackyAI 2018-12-19 21:50:54 +13:00
Paul Chote
4723e5ddb9 Expose common actor Inits in the map editor. 2018-12-08 22:53:13 +01:00
reaperrr
67cba65800 Fix bot module plumbing
Fixes the issues pointed out after the original harvester module was merged.
Also merges the update rules as discussed on IRC.
2018-11-24 11:05:37 +00:00
Paul Chote
807a40c209 Remove IExplodeModifier interface. 2018-11-22 22:16:56 +01:00
Mustafa Alperen Seki
becfc154c5 Add Creates/RevealsShroudMultiplier. 2018-11-10 12:14:14 +01:00
Paul Chote
ea3731a7cc Pass the original init dict to UnitProducedByOther. 2018-11-03 17:30:05 +01:00
Paul Chote
47a470e945 Remove legacy Building plumbing. 2018-11-03 15:09:14 +01:00
Paul Chote
18b84750aa Reimplement demolition lock using conditions. 2018-11-03 15:09:14 +01:00
Paul Chote
7e67ce0139 Pass CaptureTypes through the INotifyCapture interface.
Also make it require explicit implementation.
2018-11-03 14:47:22 +01:00
Paul Chote
588a5d784f Add IMove.EstimatedMoveDuration. 2018-10-07 18:46:21 +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
0a507f3d33 Allow deploy orders to be queued from the command bar. 2018-09-10 19:42:24 +02:00
Chris Forbes
51e000599a Convert crushclasses to bitset 2018-07-28 21:28:46 +01:00
Mustafa Alperen Seki
c14c7653bc Make Prerequisite Lint Check use ITechTreePrerequisiteInfo 2018-07-26 12:34:26 +01:00
Paul Chote
01c3c14a4c Add ITransformActorInitModifier.
Remove hardcoded Cargo reference from Transform.
2018-07-22 13:45:37 +01:00
Mustafa Alperen Seki
a65a5d17e4 Add CashTricklerMultiplier 2018-07-19 18:49:35 +00:00
reaperrr
bd38fe4926 Add INotifyAiming interface
And trigger notifications from Attack* traits.
2018-06-03 12:23:54 +01:00
Mustafa Alperen Seki
6c5c4a129f Add CargoCondition(s) to Passenger 2018-05-06 20:09:39 +01:00
reaperrr
81343926b6 Split Locomotor trait from Mobile
Add GrantConditionOn*Layer traits

This allows to
- drop some booleans from Locomotor
- drop a good part of the subterranean- and jumpjet-specific code/hacks from Mobile
- grant more than 1 condition per layer type (via multiple traits)
- easily add more traits of this kind for other layers
2018-05-03 10:49:21 +02:00
reaperrr
83f100618b Make INotifyAppliedDamage require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
3a82b13093 Make INotifyKilled require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
7ca9aa5e0b Make INotifyDamage require explicit implementation 2018-04-29 11:59:49 +01:00
reaperrr
0c52ff3ae5 Cache TargetablePositions in Actor
To speed up Target.Positions.
2018-04-07 17:24:13 +01:00
RoosterDragon
5bd5a384b7 Use a BitSet for representing target types.
- Rename Bits<T> to BitSet<T>.
- Implement set based helpers for BitSet<T>.
- When representing TargetTypes of ITargetable in various traits, use a BitSet<TargetableType> instead of HashSet<string> for better performance & reduced memory usage.
- Fix FieldLoader to trim input values when generating a BitSet<T>.
- Require T in BitSet<T> and BitSetAllocator<T> to be a class since it's just a marker value. This allows the JIT to instantiate generic code for these classes once, as they don't benefit from specialized code for T. (Typically JITs will generate shared code for all reference types, and unique code for every value type encountered).
2018-03-21 12:07:44 +01:00
Paul Chote
2fccfdf1ee Add support for disabling IIssueDeployOrders. 2018-01-28 18:06:30 +01:00
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
Mustafa Alperen Seki
fc07391c8c Add Type Support for InfiltrateFor* traits 2017-12-27 11:13:09 +00:00
Unknown
4be593123d add me (jongleur1983) to AUTHORS
#14558: MovingToRefinery takes actor instead of CPos

DeliveryOffset (previously added by the harvester) is now taken into account by the AutoCarryable
fix whitespaces
2017-12-25 03:52:44 +01:00
GSonderling
488cec64b8 Added support for filtering exits by production type. 2017-12-13 04:08:52 +01:00