Commit Graph

259 Commits

Author SHA1 Message Date
ScottNZ
b70395e27c Refactor more power and infiltration stuff. Create new power sabotage ability for spies in ra and ts. 2014-08-27 18:45:09 +12:00
Curtis Shmyr
345e88d75a Add IRenderInfantrySequenceModifier 2014-08-23 14:42:16 -06:00
reaperrr
4469b5f5ca Introduces ReloadModifier
and renames ROF -> ReloadDelay
2014-08-19 02:59:50 +02:00
Matthias Mailänder
df09d16a1c Merge pull request #6218 from pchote/percentmods
Change attribute modifiers to use integers.
2014-08-16 17:28:37 +02:00
Paul Chote
c80a12f99c Merge pull request #5937 from reaperrr/explosions2
Implements more sophisticated explosion animation/sound system
2014-08-16 01:58:11 +12:00
reaperrr
ef54f011bb Change ImpactTypes from array to bitfield approach. 2014-08-13 11:45:58 +02:00
Paul Chote
01cd6efbd0 Convert firepower modifiers to integer percentages. 2014-08-12 11:41:09 +12:00
Paul Chote
84d3497e96 Convert speed modifiers to integer percentages. 2014-08-12 11:41:09 +12:00
Paul Chote
0425416ce2 Convert damage modifiers to integer percentages. 2014-08-12 11:41:09 +12:00
Oliver Brakmann
8cec848a0f Add a mission objectives GUI panel 2014-08-08 13:35:49 +02:00
Oliver Brakmann
a3bf3e7403 Add support for mission objectives
Objectives can be either primary or secondary objectives. Primary ones
influence the outcome of the game.  If all primary objectives are
completed the game is won, and lost when any of them fails.

Objectives can be added at any stage during the game, allowing to react
dynamically to game events.

The objectives backend only contains the information about the
objectives themselves. It does not check if objectives are completed or
failed.  Instead, the state of objectives must be manually marked. The
backend, however, does check whether the game is won or lost.
2014-08-07 16:56:17 +02:00
Paul Chote
bf5da145b0 Introduce IUpgradable and purchasable unit upgrades. 2014-08-07 20:40:47 +12:00
atlimit8
43478dd500 enum SubCell => int & Dictionary<SubCell, WVec> => WVec[] 2014-08-04 18:09:26 -05:00
reaperrr
8798658b35 New Explosion system code changes. 2014-08-04 23:24:51 +02:00
Taryn Hill
b6fd757672 Merge pull request #6030 from UberWaffe/CustomWarheads
Custom Warheads refactor
2014-08-03 10:35:36 -05: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
Paul Chote
ef2f909f65 Reorganize IBodyOrientation. 2014-08-03 19:20:40 +12:00
ScottNZ
ca4b947037 Rename IAcceptInfiltrator to INotifyInfiltrated 2014-08-02 22:36:44 +12:00
ScottNZ
9f2e0e181f Add ITraitInfo constraint to Requires<T> 2014-07-31 22:43:37 +12:00
Matthias Mailänder
1d0538526d Merge pull request #6040 from pchote/more-renderables
Convert RenderAfterWorld to use Renderables.
2014-07-26 07:28:53 +02:00
atlimit8
0319b8cbda INotifyCreated 2014-07-25 17:07:15 -05:00
Paul Chote
da6ecbf92e Change IPostRenderSelection and IPlaceBuildingDecoration to return renderables. 2014-07-25 21:14:39 +12:00
Taryn Hill
b4cecff74e ClonesProductionUnits:
string[] CloneableTypes	checks Cloneable.Types

Cloneable:
	string[] Types checked by ClonesProductionUnits.CloneableTypes

Added INotifyOtherProduction
	for notifying self when another actor
	produces a unit.
2014-07-24 19:08:08 -05:00
Paul Chote
6b1cecc6b4 Add a workaround for the legacy map editor. 2014-07-23 11:40:30 +12:00
RoosterDragon
7030d8b2b6 Changed HardwarePalette.ApplyModifiers to be more efficient.
- Add separate ImmutablePalette and MutablePalette classes since the distinction is extremely important to HardwarePalette.
- Keep a cache of palettes in HardwarePalette to avoid reallocation them every time ApplyModifiers is called.
- Palettes that are not allowed to be modified are copied to the buffer once when added, rather than every time ApplyModifiers is called.
- The AdjustPalette method now takes a read-only dictionary to prevent the dictionary being messed with.
- Added a constant for the palette size to remove its usage as a magic number in several areas.
- The ColorPreviewManagerWidget is annoying in that it needs to actually permanently update a palette after it has been added. To allow this, HardwarePalette now allows a palette to be replaced after initialization. The WorldRenderer therefore now also updates the PaletteReference it created earlier with the new palette to prevent stale data being used elsewhere.
2014-06-28 01:11:48 +01:00
Matthias Mailänder
3e627d2eba rename ore to the more generic name resources everywhere 2014-06-20 11:11:31 +02:00
Paul Chote
887a515e14 Add MinRange plumbing to attack activities. 2014-06-15 22:48:43 +12:00
ScottNZ
dbffce81a6 Remove unused usings 2014-06-15 22:16:40 +12:00
Paul Chote
1169211893 Merge pull request #5579 from Mailaender/frozen-C4
Fixed C4 target inconsistencies with Fog of War and Husks
2014-06-15 22:01:04 +12:00
Matthias Mailänder
ee0df9c1cb make C4 Demolition frozen actor aware 2014-06-14 09:35:38 +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
Paul Chote
c0d7c7d840 Make RenderSprites aware of EffectiveOwner. Fixes #5526. 2014-06-02 18:21:06 +12:00
Paul Chote
475aa93271 Merge pull request #5373 from Mailaender/repair-overlay
Added the Dune 2000 repair depot active overlay
2014-05-22 23:29:53 +12:00
Matthias Mailänder
5274776d55 add the Dune 2000 repair depot active overlay 2014-05-20 11:48:52 +02:00
Matthias Mailänder
ddb0d70fd2 add the starport active animation 2014-05-20 11:41:41 +02:00
Matthias Mailänder
ba309a3367 add spice refinery smoke overlay when harvester docked 2014-05-14 09:39:45 +02:00
reaperrr
c8815e1413 Un-hardcodes pip/tag/group palettes.
-Palette for decorations can now be defined under SelectionDecorations trait.
-Adds pip types Ammo and AmmoEmpty.
-LimitedAmmo PipTypes are now customizable.
-Adds art, sequences and rules entries for TS mod decorations that were missing/using a wrong palette.
-Adds PrimaryBuilding trait to TS weapon factories and helipads.
2014-04-28 20:03:00 +02:00
Matthias Mailänder
00ca5516fc add crane animation to Dune 2000 and Tiberian Sun
closes #3754
2014-04-19 13:12:32 +02:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Matthias Mailänder
c76ebbdc46 exclusive force fire on husks and bridges 2014-04-03 15:57:41 +02:00
Paul Chote
ac5a4589ea Add IMove.MoveIntoWorld and IMove.VisualMove. 2014-03-19 13:40:32 +13:00
Curtis Shmyr
8576c24988 Add IEffectiveOwner trait 2014-03-14 19:36:51 -06:00
Paul Chote
1d9681a1d2 Merge pull request #4768 from Mailaender/map-sequences
Fixed map.yaml sequences being ignored
2014-03-07 22:19:31 +13:00
Pizzaoverhead
ed6147ce0b Fixes order lines not being shown after reselect once their lifetime has expired.
Adds INotifyBecomingIdle.
2014-03-05 18:14:57 +00:00
Matthias Mailänder
cb43581c91 also check map.yaml Sequences:
closes #4765
2014-03-03 15:52:56 +01:00
Pizzaoverhead
e0b40e2088 Added debug cheat button to grow map resources. 2014-02-15 17:30:36 +00:00
Taryn
9c4ad15d1e Changed most references of trait Mobile -> IMove.
In Mobile.cs IsMoving now has a public set as opposed to the initial internal. 
Added IMoveInfo interface to go with *Info classes that require IMove.
WithRotor now uses IMove.IsMoving instead of (self.CenterPosition.Z > 0) as part of a check.
2014-02-02 15:13:49 -06:00
Paul Chote
1759d73ed7 Add following to IMove. 2014-02-01 10:55:05 +13:00
Paul Chote
99cb698424 Generalise AttackMove to support anything with IMove and AutoTarget.
Also removes the unnecessary JustMove parameter.
2014-01-16 18:47:29 +13:00
Matthias Mailänder
c78a856894 C4 demolishable bridges 2013-12-26 21:22:47 +01:00