Commit Graph

422 Commits

Author SHA1 Message Date
reaperrr
4469b5f5ca Introduces ReloadModifier
and renames ROF -> ReloadDelay
2014-08-19 02:59:50 +02:00
UberWaffe
0ebe1c2c6a Made Effect, Resource and Smudge warheads return 0% effective against actors. 2014-08-16 10:58:04 +02:00
UberWaffe
fb2b63c7f8 #6030 regression fix. Added EffectivenessAgainst <= 0 check to IsvalidAgainst for Warhead. 2014-08-16 10:58:03 +02:00
UberWaffe
390ca380bd Fixed Warhead ValidTargets and InvalidTargets. 2014-08-16 10:58:02 +02: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
reaperrr
eb96b72878 Add MaxSpread to Warhead to allow setting a specific area of effect. 2014-07-12 12:14:56 +02:00
reaperrr
fabca5dca6 Move ProneDamage modifier from TakeCover to Warhead.
Rename it to ProneModifier and convert it to integer.
2014-07-08 21:05:42 +02:00
Paul Chote
9487f49cd5 Replace WPos.ToCPos -> Map.CellContaining. 2014-06-27 23:30:40 +12:00
Paul Chote
5560f276ca Map: Rename IsInMap -> Contains. 2014-06-27 22:07:03 +12:00
Matthias Mailänder
e607c04cce let harvester splatter resources when exploding
closes #2346
2014-06-20 11:11:31 +02:00
Matthias Mailänder
3e627d2eba rename ore to the more generic name resources everywhere 2014-06-20 11:11:31 +02:00
ScottNZ
90894aa03e Use var everywhere 2014-06-15 22:17:34 +12:00
ScottNZ
dbffce81a6 Remove unused usings 2014-06-15 22:16:40 +12:00
Pavlos Touboulidis
c282fa1077 Move GetTerrainIndex/Info from WorldUtils to Map 2014-06-13 13:57:32 +03:00
Paul Chote
f6f366c4b3 Merge pull request #5401 from RoosterDragon/nodesdict
Changed MiniYaml.NodesDict property into a method.
2014-06-12 17:34:59 +12:00
Paul Chote
e347cdfb32 Merge pull request #5410 from RoosterDragon/IDisposable
Disposable fixup
2014-06-11 10:55:44 +12:00
RoosterDragon
a598a01108 Fixed IDisposable implementation and usage.
- Implement IDisposable interface correctly, with sealed classes where possible for simplicity.
- Add using statement around undisposed local variables.
2014-06-10 11:23:55 +01:00
RoosterDragon
e63f330717 Improved efficiency of startup methods.
- ShpReader will copy the input stream into memory just once rather than for every header.
- ShpReader.CopyImageData switched to use Array.Copy since that uses some unsafe magic for speed.
- In ActorInfo, cache a GetType call and prevent needless materialization in PrerequisitesOf.
- In ObjectCreator, cache type and ctor lookups since these are expensive and often repeated.
- Implement IReadOnlyDictionary<T, U> on Cache<T, U> to provide some supplementary functions.
- In TechTree.GatherOwnedPrerequisites, rearrange a Boolean 'and' expression to evaluate expensive functions later in the chain, and use ContainsKey to speed up name check.
2014-06-09 17:13:01 +01:00
RoosterDragon
2e992a7310 Changed MiniYaml.NodesDict property into a method.
Method is now called ToDictionary.
- Cached a few invocations into locals which should prevent some redundant evaluation.
- Added ToDictionary overloads that take projection functions for the keys and elements, since several callsites were doing a subsequent Linq.ToDictionary call to get this.
2014-06-09 17:06:42 +01:00
RoosterDragon
0c8bdff5be Formatting fixes.
Spaces to tabs, indents, etc.
2014-05-26 18:10:59 +01:00
Pavlos Touboulidis
f651cb3677 Final style & rebase fixes 2014-05-17 14:34:52 +03:00
Pavlos Touboulidis
ca44be7b2e Only update the loading screen from the main thread
Fixes the crash experienced by pchote. It's a hack but it's easy
to get rid of and it will have to do for now, until the messy
LoadScreen gets fixed.
2014-05-17 14:33:17 +03:00
Pavlos Touboulidis
a845947e0f Minor style & nit fixes 2014-05-17 14:33:17 +03:00
Pavlos Touboulidis
894db95d58 Move Ruleset.cs from Map/ to GameRules/ 2014-05-17 14:33:16 +03:00
Pavlos Touboulidis
44c01bbaa2 Remove TileSetData and separate TileSet from Sequences 2014-05-17 14:33:16 +03:00
Pavlos Touboulidis
750fc4e02c Merge ModRuleset and MapRuleset into Ruleset 2014-05-17 14:33:16 +03:00
Pavlos Touboulidis
63ec6d60e7 Refactoring to remove static Rules & SequenceProvider 2014-05-17 14:32:03 +03:00
Pavlos Touboulidis
c68427eaa6 Less aggressive rules caching
ActorInfo instances depend on the whole set of ActorInfos
2014-05-17 14:26:54 +03:00
Pavlos Touboulidis
2b3d5f1544 Better caching for Rules and Sequences
Refactored the Rules and SequenceProvider classes to be parts of ModData and
maintain a cache of the instances used in the mod.

The caching reduced the load times a lot, especially after the first load.
Some lazy loading in sequences also helped lower the startup time..

Note: The static classes were left behind to redirect the existing code's
calls.
2014-05-17 14:26:53 +03:00
reaperrr
98e48ae991 Converts InfDeath from integer to string.
Wire up updated DeathSounds for all mods.
2014-05-14 15:24:06 +02:00
Matthias Mailänder
f19fbb1794 StyleCop 2014-04-20 15:26:33 +02:00
reaperrr
c9b162ec3c Added ExplosionPalette and WaterExplosionPalette traits to Warheads.
This is needed for TS water splashes, for example (they use unit*.pal instead of anim.pal).
Defaults to "effect".
2014-04-18 01:23:09 +02:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
Paul Chote
1b2a90c00c Migrate to System.Lazy. 2014-04-09 20:20:41 +12:00
Paul Chote
c720cb0b41 Extract mod selector into its own mod. 2014-04-03 07:21:56 +13:00
Paul Chote
3a8c94d8f8 Hook up observer view keybindings. Fixes #4435.
Uses 0-9 to select view (plus shift to cycle backwards), '-' for                 combined shroud and '=' for world view.
2014-03-22 23:18:52 +13:00
Paul Chote
9fce6dd310 Change beacon hotkey to F9 to be consistent with sell / power / repair. 2014-03-22 00:12:28 +13:00
Paul Chote
c3ba27ef6c Reimplement ingame map downloading. 2014-03-21 23:33:15 +13:00
Matthias Mailänder
c5ef9cbfb2 moved internal time step setting to Game
player should not be able change it as it is not synced yet
2014-03-14 10:07:32 +01:00
Igor Popov
ec50906296 map api: use new site and fallbacks 2014-03-06 00:39:49 +04:00
ScottNZ
2a8efde8e6 Add map beacons and radar pings 2014-02-22 00:07:53 +13:00
Pizzaoverhead
7be3078115 Adds selecting of all units matching the current type across the screen or map using Ctrl + T. 2014-02-20 21:59:23 +00:00
ScottNZ
1a3ec26a1e Unify ra and cnc main menu logic and clean up the main menus.
Move a bunch of buttons into an Extras submenu and the server browser.
Move CncMenuPaletteEffect to ra so it can be used elsewhere and rename it to MenuPaletteEffect.
2014-01-31 23:47:15 +13:00
Matthias Mailänder
3de1516747 allow invalid terrain targets for Air/Water bound weapons
made terrain targeting consistent with actors
2014-01-04 09:57:09 +01:00
Matthias Mailänder
027a281ae3 define torpedoes in a more generic way
fixes #3252 and closes #2097
2014-01-04 09:39:43 +01:00
Matthias Mailänder
4b43bb1cad replace misleading Underwater bool with what it really does 2014-01-04 09:39:43 +01:00
Matthias Mailänder
62ffe4aeaf StyleCop 2014-01-04 09:19:20 +01:00
Paul Chote
ecdae4cbbe Convert weapons to world coords. 2013-12-26 19:45:12 +13:00
Matthias Mailänder
b72ea8c227 added a new hotkey to cycle production buildings except conyards 2013-12-07 12:20:10 +01:00
Matthias Mailänder
bcba26a04e don't hardcode SHIFT modifier for backwards tab cycle
closes #4144
2013-12-07 12:19:32 +01:00