Commit Graph

75 Commits

Author SHA1 Message Date
Oliver Brakmann
6e3000ab0e Make Conquest- and StrategicVictoryConditions use objectives backend
Note: 3rd party KotH maps will need to be modified to work correctly
with this change.  Previously, StrategicVictoryConditions was a
supplement to ConquestVictoryConditions.  After this change, each works
by itself.  So KotH maps will need to remove the ConquestVictoryConditions
trait from the player definitions, or both victory conditions will have
to be satisfied to win the game.
2014-08-07 16:56:17 +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
Matthias Mailänder
405d21d797 add Game.AddChatLine to the new Lua API 2014-07-27 07:34:24 +02:00
Matthias Mailänder
7901c06e4c differentiate new/old Lua APIs 2014-07-20 13:53:12 +02:00
Paul Chote
87e425042f Fix scripted paradrops. 2014-07-19 14:40:29 +12:00
Oliver Brakmann
3a67b3dec3 Fix breakage of the old Lua API due to recent changes
Specifically, the CPos::CenterPosition -> Map::CenterOfCell rename (#5758),
as well as the additional argument to Paradrop::SetLZ (#5695).
2014-07-06 01:21:22 +02:00
Matthias Mailänder
a38d43019a new setting to allow unlucky paratroopers 2014-07-05 09:13:51 +02:00
Paul Chote
d7f1b1c9e2 Remove CVec -> WVec conversion. 2014-06-27 23:30:41 +12:00
Paul Chote
7b52fa52b6 Replace CPos.CenterPosition -> Map.CenterOfCell. 2014-06-27 23:30:40 +12:00
Paul Chote
086ec07eb6 Add World parameter to Target.FromCell. 2014-06-27 23:30:40 +12:00
Paul Chote
b52cdd4b45 Remove redundant FindActorsInBox helpers. 2014-06-27 23:30:40 +12:00
Paul Chote
4db2cf6b2b Propagate race to produced actors. 2014-06-26 23:14:14 +12:00
Paul Chote
ca082e3cec Allow ProductionQueue to filter by race. 2014-06-26 23:14:13 +12:00
Paul Chote
7b3a0ebeb5 Tidy production traits. 2014-06-26 23:14:10 +12:00
Paul Chote
c5089db19c Allow actors to exist in multiple building queues. 2014-06-26 23:12:22 +12: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
86febed0ce Move ChooseRandomEdgeCell from WorldUtils to Map 2014-06-13 14:31:01 +03:00
Pavlos Touboulidis
f0c672b70c Move ChooseRandomCell from WorldUtils to Map 2014-06-13 14:02:51 +03: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
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
a8b2187d93 Possible fix for lua crash #5269
Check if this instance has been disposed and don't call 'tick'
if it has.

Also remove the finalizer that was broken and wrong anyway.
'runtime' would never become null because it's readonly and
managed resources are freed automatically or may have already
been freed by then.
2014-05-19 23:37:23 +03:00
Oliver Brakmann
b90e6ccae5 Remove the deprecation notice from the old Lua interface
Fixes #5332.  The impending deprecation should probably still be
mentioned in the release notes.
2014-05-17 19:34:57 +02:00
Pavlos Touboulidis
63ec6d60e7 Refactoring to remove static Rules & SequenceProvider 2014-05-17 14:32:03 +03:00
Paul Chote
06f162ad57 Add initial standard library, and port shellmaps. 2014-05-02 22:18:34 +12:00
Paul Chote
d73af0190f Add a new native-lua implementation. 2014-05-02 22:18:34 +12:00
Paul Chote
f6efc9c5bc Add deprecation notice to the original api. 2014-05-02 22:08:42 +12:00
Paul Chote
4935266945 Merge FileFormats dll into Game and reorganise namespaces. 2014-04-17 01:20:47 +12:00
ScottNZ
856120f2b2 Remove hardcoded missions 2014-03-08 00:26:09 +13:00
ScottNZ
7d43ecc33f Remove the temperate RA shellmap and port the desert shellmap to Lua. 2014-03-06 19:27:29 +13:00
Oliver Brakmann
e65626cc6b Add Actor.Guard 2014-02-17 19:16:47 +01:00
Oliver Brakmann
bfc34df581 Add Actor.OnDamaged
Allows the AI to react to its units being attacked.
2014-02-17 19:16:47 +01:00
Oliver Brakmann
886efd0b97 Add production-related Lua functions 2014-02-02 23:37:22 +01:00
Oliver Brakmann
b3323869cb Add Map.FindActorsInCircle and ...InBox, plus related shortcuts 2014-02-02 23:37:22 +01:00
Oliver Brakmann
5322096dc4 Add Team.Patrol and Actor.Patrol. Fixes #4491. 2014-02-02 23:37:22 +01:00
Paul Chote
fae9611d27 Fix HeliFly lua bindings. 2014-02-01 10:56:06 +13:00
Paul Chote
4eaaa052cc Simplify Fly interface. 2014-02-01 10:55:04 +13:00
Paul Chote
85500c0ec7 Tidy AutoTarget code. 2014-02-01 10:55:04 +13:00
ScottNZ
d34de25495 Move lua logs to lua.log 2014-01-12 23:28:50 +13:00
Dan9550
91050ba458 OnCapture lua trigger & nod03a
Cleaned up nod03a, spaces -> tabs

nod03a and OnCapture lua trigger
2014-01-05 20:19:13 +11:00
ScottNZ
09b694095c Add Map.GetNamedActor for map actor lookup 2013-12-20 19:20:56 +13:00
ScottNZ
b2e9de810e Add CPos.New etc functions to Lua standard library and helpers to LuaScriptInterface.cs. Rename Team.Create to Team.New. 2013-12-19 19:26:57 +13:00
ScottNZ
1a4888b050 PerfSample Lua Tick execution 2013-12-06 23:11:33 +13:00
ScottNZ
452a0c0e25 Add Lua reserved name checking and exception hooks 2013-12-06 21:53:07 +13:00
ScottNZ
aca618ceef Introduce LuaScriptContext function cache 2013-12-06 21:53:06 +13:00
ScottNZ
1cf1086122 Swap LuaInterface for NLua and KopiLua 2013-12-06 21:52:59 +13:00
Chris Forbes
870685995d defer disposal of lua context to main thread 2013-12-02 17:50:09 +13:00
ScottNZ
e4d477b0e0 Add Lua standard library and supporting C#/yaml 2013-11-29 23:48:44 +13:00
ScottNZ
cd0b3d8862 Add map scripting support 2013-11-18 20:55:59 +13:00