Commit Graph

108 Commits

Author SHA1 Message Date
reaperrr
7470391c5d Move RA World traits, FrozenUnderFog Modifier and various other traits into Traits 2014-12-03 12:52:17 +01:00
atlimit8
bbd54cb32f Added IDisabledTrait & rewrote upgrade code using a level-based approach.
Upgradeable traits are notified whenever an upgrade of their declared types are granted or revoked.  The traits maintain their own internal level counter, which is then used to enable or disable the trait functionality.  A trait can register for multiple upgrade types which then all affect the internal level counter.

	IDisabledTrait for identifying (and filtering) disabled traits
	UpgradableTrait provides an abstract base for traits to support upgrade levels
	Added IDisabledTrait support to GlobalButtonOrderGenerator

	Includes rework by pchote with alterations.
2014-11-26 05:45:26 -06:00
huwpascoe
a660bb95b5 Actor properties consistency improved 2014-11-21 02:44:05 +00:00
reaperrr
0cbcae93a9 Move Valued, CustomSellValue and CustomBuildTimeValue to Common 2014-11-14 01:01:46 +01:00
Chris Forbes
f2492f4155 LevelUpCrateAction: fix loop variable in closure bug
This was a real bug -- if there were multiple recipients, we'd apply the
levels N times to the last recipient rather than once to each.
2014-10-07 18:19:55 +13:00
reaperrr
ab30e8a993 Move FloatingText effect to Mods.Common 2014-10-03 23:08:42 +02:00
Paul Chote
8a014393a3 Rename UnitUpgradeCrateAction to GrantUpgradeCrateAction. 2014-10-01 21:29:22 +13:00
Paul Chote
c697a1e7b4 Add a UnitUpgradeManager trait.
This introduces support for timed upgrades, starting with crate buffs.
2014-10-01 21:28:45 +13:00
Paul Chote
b009913e64 Clean up DuplicateUnitCrateAction. 2014-09-12 20:06:52 +12:00
Paul Chote
e95974153d Unify the code style across crate actions. 2014-09-12 20:06:52 +12:00
DeadlySurprise
7183c52a2e Adds damage debug overlay 2014-09-06 16:16:36 +02:00
atlimit8
9efcf231e1 Refactor MobileInfo.CanEnterCell 2014-08-29 23:00:53 -05:00
UberWaffe
76ccb0cf00 Changes Weapon.Impact() to use Target (from WPos). 2014-08-23 11:23:34 +02:00
Paul Chote
57ba1b54b4 Convert weapon plumbing to use integer damage modifiers. 2014-08-23 17:14:10 +12:00
Alexander Fast
070d00c678 Fixes year numbers in license text in file headers. 2014-08-21 11:27:52 +02:00
UberWaffe
30e675a306 Added YamlException to GiveUnitCrateAction if no units are defined. 2014-08-08 17:00:04 +02:00
Paul Chote
1a4f476ffa Replace CloakCrateAction with upgrades. 2014-08-07 20:44:30 +12:00
Paul Chote
0ca5336072 Reimplement UnitUpgradeCrate using IUpgradable. 2014-08-07 20:43:27 +12:00
Chris Forbes
c482e97060 Merge pull request #6152 from Mailaender/money-crate
Added money crates to be spawned by destroyed supply trucks
2014-08-04 10:39:29 +12:00
UberWaffe
c972b39687 Custom Warheads refactor
Changes included:

Warhead code split out of weapon code and refactored.
Warhead functionality now split into several classes, each handling one effect/impact.

Additional custom warheads can now be defined and called via yaml.
Custom warheads inherit the abstract class Warhead,
which provides target check functions.

Custom warheads have to define their own impact functions,
and can also define their own replacement for check
functions.
2014-08-03 17:10:44 +02:00
Matthias Mailänder
91b612fa47 ITeleportable does not exist anymore 2014-08-03 16:26:18 +02:00
UberWaffe
cb6a724e48 Rename Race to ValidRaces. 2014-07-20 21:40:10 +02:00
UberWaffe
94b1f53ebf Rebased. (+1 squashed commits)
Squashed commits:

[43010a0] Fixes. (+1 squashed commits)

Squashed commits:

[94ee90e] Fixes. (+1 squashed commits)

Squashed commits:

[ef827c7] Style cop updates. Updates to LevelUp, Cloak, and UnitUpgrade to allow multiple units within range, plus maximum extra unit limit. (+1 squashed commits)

Squashed commits:

[2103b01] Dupe crate action updates and fixes. (+2 squashed commit)

Squashed commit:

[0f4df4a] Added DuplicateUnitCrateAction.

[2787fa1] Clarity update. (+1 squashed commits)

Squashed commits:

[93ddc3b] Crate updates.
+Multiple units per crate allowed.
+Allow time delay on crate actions.
2014-07-20 21:37:40 +02:00
Paul Chote
e3dae2edd0 Replace the obsolete race check from GiveUnitCrateAction. 2014-07-15 10:15:35 +12:00
RoosterDragon
22abf9b4c4 Remove and sort usings. 2014-06-18 21:43:35 +01:00
ScottNZ
dbffce81a6 Remove unused usings 2014-06-15 22:16:40 +12:00
Matthias Mailänder
8f64835898 StyleCop 2014-06-15 10:51:57 +02:00
ScottNZ
7e6f7c51e1 Refactor AutoTarget scan and GPS interaction, and cache trait lookup for a slight performance boost 2014-06-07 12:01:50 +12:00
RoosterDragon
b733465f33 General uncontroversial cleanup:
- Made private methods static where possible (runtime can elide checking the object for null).
- Declared attribute classes as sealed (allows reflection on attributes to complete faster).
- Moved some static cctor's into field initializers (static cctor's are slower than static field initializers).
- Made classes static if they contained only static methods (can't create instances of useless objects).
- Use inferable Exts.Lazy and not new Lazy<T>().
- Added required STAThread attribute to CrashDialog.
- Removed unused parameters in private methods.
- Added Serializable attribute to exceptions.
- Added parameter name in calls to ArgumentNullException.
- Use of as operator instead of is + cast.
- Changed (x as Foo).Bar anti-pattern into ((Foo)x).Bar. Results in sensible cast exceptions on error rather than null dereferences.
- Removed unused method in NullShader.
2014-05-23 15:50:54 +01:00
Pavlos Touboulidis
63ec6d60e7 Refactoring to remove static Rules & SequenceProvider 2014-05-17 14:32:03 +03:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Curtis Shmyr
8ada3d34ec Initial support for individual unit upgrade crates 2013-12-29 19:10:50 -07:00
ScottNZ
00ec1ca87a Remove unused usings 2013-11-12 19:39:33 +13:00
Paul Chote
1e53434e45 Simplify cloak crate behavior.
This removes the runtime trait addition which
prevented Cloak from being cached.

The CloakCrateAction in D2K was never used, so
has also been removed.
2013-08-22 19:29:05 +12:00
Paul Chote
935b829532 Tidy TargetableUnit and subclasses. 2013-07-10 19:22:11 +12:00
Paul Chote
7883b1bd7f Convert Combat.DoExplosion to world coords. 2013-07-08 21:52:27 +12:00
Chris Forbes
979ac4f91f Merge pull request #3407 from pchote/voxel-fbo
Voxel refactoring
2013-06-19 14:57:17 -07:00
Paul Chote
1eb04a70a5 Add TextRenderable for CashTick. Make ticks consistent. 2013-06-16 19:10:38 +12:00
Matthias Mailänder
bad3bd5fbb added the parabox animation when parabomb cates are collected 2013-06-15 08:35:21 +02:00
Paul Chote
656476991f Replace ColorRamp with HSLColor everywhere.
Fixes:
* Nuclear-purple color exploit.
* #3247.
* Removes a bunch of unnecessary color conversions every frame.

Caveats:
* The ramp range is now defined on the palette, so ramps can no longer be set per-player (may impact maps which define custom colors).
* It's no longer possible to perfectly recreate the original WW color ramps (I doubt we care).
* The old ColorRamp setting isn't migrated, so players will lose their color settings.
2013-05-10 19:23:30 +12:00
Chris Forbes
afa28dbc24 fix MCV crate not being given if normal SelectionShares was zero 2013-03-31 20:53:15 +13:00
Kenny
f41fb32d60 Introducing per-player shrouds.
- Each player has their own shroud and their visibility does not extend outside of the shroud. 
- Units and buildings can no longer target other units outside of their visibility. Buildings can still be targetted if they have been explored.
- GPS will provide visibility in the fog-of-war.
- Spies that infiltrate radar domes will gain their victim's exploration and reset it on all clients (if the victim does not have GPS)
2012-12-13 15:16:56 -08:00
Scott_NZ
56f36e45db New crate type 'HealUnitsCrateAction' which heals all of the units that the collecting player has. Very rare. New 'ContainsCrate' trait which goes along with this - could be used to hide crates inside churches for example like in the original RA missions. 2012-10-02 21:52:38 +13:00
James Dunne
ba1a36f26e Units heading in generally opposite directions are now considered blockers; this fixes pathing deadlocks. 2012-07-05 23:53:31 -05:00
James Dunne
9c9a16d80e Path planning no longer considers moving friendly units as blockers. 2012-07-05 23:52:34 -05:00
James Dunne
9c49143534 New types for cell and pixel coordinate position/vectors. 2012-06-21 15:36:59 -05:00
Chris Forbes
0904ac3a70 remove spurious trait lookup 2012-04-13 13:32:59 +12:00
Chris Forbes
8488223eee fix misspelling of Received 2012-04-13 13:28:31 +12:00
Chris Forbes
1de3db0903 Don't take a NRE in GiveUnitCrateAction.GetSuitableCells if not Mobile 2012-01-07 20:33:56 +13:00
Chris Forbes
bc6af1841b fix indents everywhere 2011-10-18 15:10:17 +13:00