# Fixed some trigger bugs.

- Conditions were not properly converted to JavaScript (not read from
the XML file correctly either).
- Added an OrderFromTriggers function so that triggers can give orders
which ignore fog of war.
- Fixed some spelling mistakes in TriggerSpecs.xml (parameter vs.
parameters).
- Moved trigger update to CSimulation update, which is more correct.

This was SVN commit r4821.
This commit is contained in:
Matei
2007-01-29 22:21:25 +00:00
parent 41cf5c6139
commit 465c0a037b
12 changed files with 130 additions and 88 deletions
+5 -2
View File
@@ -49,6 +49,7 @@ void CEntity::ScriptingInit()
AddMethod<jsval, &CEntity::ToString>( "toString", 0 );
AddMethod<bool, &CEntity::OrderSingle>( "order", 1 );
AddMethod<bool, &CEntity::OrderQueued>( "orderQueued", 1 );
AddMethod<bool, &CEntity::OrderFromTriggers>( "orderFromTriggers", 1 );
AddMethod<jsval, &CEntity::TerminateOrder>( "terminateOrder", 1 );
AddMethod<bool, &CEntity::Kill>( "kill", 0 );
AddMethod<bool, &CEntity::IsIdle>( "isIdle", 0 );
@@ -244,7 +245,7 @@ void CEntity::JSI_SetPlayer( jsval val )
SetPlayer(newPlayer);
}
bool CEntity::Order( JSContext* cx, uintN argc, jsval* argv, bool Queued )
bool CEntity::Order( JSContext* cx, uintN argc, jsval* argv, CEntityOrder::EOrderSource source, bool Queued )
{
// This needs to be sorted (uses Scheduler rather than network messaging)
@@ -261,7 +262,9 @@ bool CEntity::Order( JSContext* cx, uintN argc, jsval* argv, bool Queued )
}
CEntityOrder newOrder;
newOrder.m_source = CEntityOrder::SOURCE_PLAYER;
newOrder.m_source = source;
CEntity* target;
(int&)newOrder.m_type = orderCode;