Commit Graph

274 Commits

Author SHA1 Message Date
obrakmann
a91084c0f8 Merge pull request #6613 from pchote/remove-mp-tooltips
Remove the MP tooltip row from campaign missions.
2014-10-04 12:20:14 +02:00
atlimit8
3f6e1a608a Added IDisableMove 2014-10-03 08:07:05 -05:00
Paul Chote
80f42b4921 Add support for generic tooltip names. 2014-10-03 20:25:33 +13:00
atlimit8
83acbe0266 Extended IMove for Enter logic 2014-10-02 20:47:28 -05:00
reaperrr
5e9b0a964f Adds InaccuracyModifier. 2014-09-04 20:28:34 +02:00
Matthias Mailänder
c1ca55b303 Merge pull request #6208 from atlimit8/FixUnloadCargo
Fixed UnloadCargo stacking using new subcell API exposure
2014-08-30 14:38:17 +02:00
atlimit8
8ad1140921 Reduce ICrushable trait lookup & drop -SubCell suffix.
Replace `a.HasTrait<ICrushable>()` with a.TraitsImplementing<ICrushable>().Any() or equivalent.
2014-08-30 04:43:57 -05:00
Matthias Mailänder
1ffa88a750 Merge pull request #6162 from UberWaffe/WeaponDiplomacyCheck
Closes #5618
2014-08-30 09:39:05 +02:00
atlimit8
e29b9edfc1 Changes to map.cs, rename IPositionable.IsLeaving{ => Cell}, add IPositionable.GetValidSubCell 2014-08-29 23:30:16 -05:00
atlimit8
63c28ee4d7 Refactored in new enum SubCell 2014-08-29 23:00:53 -05:00
atlimit8
27ad5208fb Fixed Mobile.SetPosition & other FixUnloadCargo touch-ups
Fixed Mobile.SetPosition
Finally removed old SubCell enum
Folded MobileInfo.CanEnterCell overloads into one
Renamed IPositionable.{IsMovingFrom => IsLeaving}
Changed Crate.IsLeaving to use crate lifetime
2014-08-29 23:00:53 -05:00
atlimit8
b2c9064545 Refactored [sub-]cell availability logic in IPositionable & ActorMap
Moved the logic from IPositionable.CanEnterCell & integrated sub-cell selection.
Added IPositionable.IsMovingFrom(CPos location, int subCell = -1) - to detect transient actors
Renamed IPositionable.{GetDesiredSubcell => GetAvailableSubcell} - since it checks for available sub-cells
Reduced IPositionable.CanEnterCell to one method that usually uses IPositionable.GetAvailableSubcell
Added actor checking to ActorMap.{HasFreeSubCell, FreeSubCell, AnyUnitsAt} - used by [sub-]cell availability logic
2014-08-29 23:00:53 -05:00
atlimit8
ff7ad53dee Fixed UnloadCargo stacking using new subcell API exposure 2014-08-29 23:00:53 -05:00
atlimit8
fe57417aa8 Added int subCell = -1 to IMove.MoveIntoWorld & IPositionable.SetPosition(Actor self, CPos cell) 2014-08-29 23:00:53 -05:00
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
UberWaffe
e3e5e9eb00 Adds Diplomacy keywords for ValidTarget checks.
Changes:

Allows diplomacy stance checks to be done on warheads and weapons, using keywords in ValidTargets and InvalidTargets.
2014-08-24 07:00:21 +02: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