Commit Graph

83 Commits

Author SHA1 Message Date
abcdefg30
cadbd0d9ab Change the year number in all cs headers from 2018 to 2019 2019-01-26 23:15:21 +01:00
reaperrr
eb86160021 Remove CrateEffect in favor of using updated SpriteEffect 2018-12-05 09:04:29 +13:00
Andre Mohren
b1a44086a0 Removed unused using directives. 2018-11-17 17:23:22 +00:00
Mustafa Alperen Seki
98006d3870 Make CrateAction>Sound to play for everyone 2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
5f17f0b5b0 Add actual notification support for *CrateAction traits 2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
f066655bb7 Rename CrateAction>Notification to Sound 2018-10-26 22:37:00 +01:00
Mustafa Alperen Seki
f3cbc5f72b Make CrateAction conditional. 2018-10-24 15:13:04 +01:00
Andre Mohren
640078a2b1 Refactored Health usage to IHealth. 2018-09-29 18:12:40 +02:00
Chris Forbes
51e000599a Convert crushclasses to bitset 2018-07-28 21:28:46 +01:00
Paul Chote
c65d6d1484 Suppress negative cash crate action if the collector has no cash. 2018-05-07 19:47:41 +02:00
GSonderling
bf4dbd9b80 Added checks to make sure cash can't be < 0. 2018-05-07 19:47:41 +02: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
Chris Forbes
dddd057e3d Add IPositionable.CanExistInCell
This is like CanEnterCell, but doesn't take into account conflicting
actors, etc.
2018-04-10 01:01:53 +02: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
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
RoosterDragon
c8c7629bce Convert some stray spaces to tabs. 2017-12-16 15:53:03 +00:00
RoosterDragon
62ab6ae6f1 OccupiedCells and TargetableCells must return arrays, not just enumerables.
This allows callers to efficiently enumerate these returned collections without the allocation and overhead imposed by the IEnumerable interface. All implementations were already returning arrays, so this only required a signature change.
2017-12-07 20:39:30 +02:00
Paul Chote
47634b25f9 Remove IFogVisibilityModifier. 2017-11-03 09:56:00 +01:00
reaperrr
8533debc44 Require explicit INotifyAddedToWorld and INotifyRemovedFromWorld 2017-10-07 10:17:11 +02:00
reaperrr
28e1f391e0 Make ITick require explicit implementation 2017-09-16 15:51:37 +02:00
Paul Chote
da5a725458 Add support for per-source and total external condition caps. 2017-02-18 19:10:22 +00:00
abcdefg30
ce97b3a3a2 Fix IPositionableInfo not inheriting IOccupySpaceInfo 2017-02-09 22:04:33 +01:00
abcdefg30
a385835939 Fix GiveUnitCrateAction being limited to MobileInfo 2017-02-09 22:04:32 +01:00
Paul Chote
255214e77c Fix timed external conditions being rejected instead of reset. 2017-01-26 22:52:26 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Paul Chote
d0270ab866 Rename comments and documentation. 2016-12-23 15:17:02 +00:00
Paul Chote
f360c10569 Rename ConditionManager variables. 2016-12-23 15:02:52 +00:00
Paul Chote
dcad5c3f7c Rename UpgradeManager to ConditionManager. 2016-12-23 14:57:56 +00:00
Paul Chote
9ddfdc45b3 Introduce SoundType enum. 2016-12-23 11:34:23 +00:00
Paul Chote
bcb3d52eb0 Convert Parachutable to conditions. 2016-12-13 19:30:38 +00:00
Paul Chote
6e29dfecfe Port GrantUpgradeCrateAction to GrantExternalConditionCrateAction. 2016-12-06 17:21:13 +00:00
Zimmermann Gyula
ecc65e4fe4 Do not apply the cell's Z offset twice during crate positioning. 2016-08-27 16:41:52 +02:00
Zimmermann Gyula
cf8fff2b99 Remove passing the warheads from DamageWarhead to AttackInfo.
Added a Damage class to pass damage value and damage(types) instead.
This removes a great amount of overhead and longterm opens possibilities to have damagetypes without warheads.
2016-07-12 10:09:49 +02:00
Oliver Brakmann
b080417db3 Prevent non-combatant players from receiving units from crate pickups 2016-07-08 13:24:25 +02:00
Paul Chote
9edf4be229 Disable hide map crate if explored map is enabled. 2016-06-18 14:18:05 +01:00
Paul Chote
a0b5b5ce66 Move initial map exploration to Shroud. 2016-05-14 18:54:44 +01:00
reaperrr
fd5a597966 Move Render traits to Traits.Render namespace 2016-04-15 20:43:04 +02:00
Bynnar18
a9ffe0a779 Paradrop Production 2016-03-30 02:46:19 +02:00
Oliver Brakmann
59d9eeaa08 Merge pull request #10795 from Mailaender/screenmap-bounds-crash
Fixed screen map updates for invisible mobile actors
2016-02-27 17:52:49 +01:00
Matthias Mailänder
9734054582 Reduce duplication. 2016-02-27 14:10:17 +01:00
Paul Chote
e71225496b Clarify GPL version. 2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9 Update licence header year. 2016-02-21 16:27:31 +00:00
Matthias Mailänder
3885f0b559 Fix screen map updates for boundless actors. 2016-02-21 11:34:33 +01:00
abcdefg30
fe5754e2bd Change the parameters of ICrushable.CrushableBy 2016-02-14 18:51:59 +01:00
abcdefg30
f21d1f52e7 Make the ICrushable implementation explicit 2016-02-14 18:51:57 +01:00
abcdefg30
8b59ce4dc2 Add a new INotifyCrushed interface 2016-02-14 18:51:56 +01:00
abcdefg30
e343803810 Remove an unnecessary Where in Crate.cs 2016-02-14 18:51:55 +01:00
RoosterDragon
8e89a6a696 Simplify names, remove unused usings, remove redundant casts. 2016-01-17 21:35:36 +00:00
abcdefg30
3c171569a7 Merge pull request #10193 from atlimit8/ITraitInfoInterface
TraitInfoInterface base for interfaces implemented by trait infos
2015-12-29 15:04:57 +01:00
RoosterDragon
dcf375a412 Store Targetables in Actor.
This can be used to avoid several lookups for these traits, as well as allow Actor to provide specialised methods to deal with target types efficiently. This also reduces some code duplication.
2015-12-12 20:55:17 +00:00