3408b078b7
-Added functionality for "casting" and creating net messages (without JS) -Rank textures-specified in XML -Formations-currently don't attack correctly (i.e. travel like mobs) and don't switch to their movement formations when tasked to go somewhere (the pathfinder doesn't give any heads up about destination reached, so there's no way to change back to the original). Also, base switching is untested so no garuntees for next and prior formation things. This was SVN commit r3710.
105 lines
3.7 KiB
C++
Executable File
105 lines
3.7 KiB
C++
Executable File
#include "precompiled.h"
|
|
#include "EventHandlers.h"
|
|
#include "Entity.h"
|
|
|
|
CEventGeneric::CEventGeneric( CEntity* target, int action ) : CScriptEvent( L"generic", EVENT_GENERIC, true)
|
|
{
|
|
m_target = target;
|
|
m_action = action;
|
|
AddLocalProperty( L"target", &m_target );
|
|
AddLocalProperty( L"action", &m_action );
|
|
}
|
|
|
|
CEventStartProduction::CEventStartProduction( int productionType, const CStrW& name )
|
|
: CScriptEvent( L"startProduction", EVENT_START_PRODUCTION, true)
|
|
{
|
|
m_productionType = productionType;
|
|
m_name = name;
|
|
m_time = -1;
|
|
AddLocalProperty( L"productionType", &m_productionType );
|
|
AddLocalProperty( L"name", &m_name );
|
|
AddLocalProperty( L"time", &m_time );
|
|
}
|
|
|
|
CEventFinishProduction::CEventFinishProduction( int productionType, const CStrW& name )
|
|
: CScriptEvent( L"finishProduction", EVENT_FINISH_PRODUCTION, true)
|
|
{
|
|
m_productionType = productionType;
|
|
m_name = name;
|
|
AddLocalProperty( L"productionType", &m_productionType );
|
|
AddLocalProperty( L"name", &m_name );
|
|
}
|
|
|
|
CEventCancelProduction::CEventCancelProduction( int productionType, const CStrW& name )
|
|
: CScriptEvent( L"cancelProduction", EVENT_CANCEL_PRODUCTION, true)
|
|
{
|
|
m_productionType = productionType;
|
|
m_name = name;
|
|
AddLocalProperty( L"productionType", &m_productionType );
|
|
AddLocalProperty( L"name", &m_name );
|
|
}
|
|
|
|
CEventTargetChanged::CEventTargetChanged( CEntity* target ) : CScriptEvent( L"targetChanged", EVENT_TARGET_CHANGED, false )
|
|
{
|
|
m_target = target;
|
|
m_defaultOrder = -1;
|
|
m_defaultAction = 0;
|
|
m_defaultCursor = L"arrow-default";
|
|
|
|
m_secondaryOrder = -1;
|
|
m_secondaryAction = 0;
|
|
m_secondaryCursor = L"arrow-default";
|
|
|
|
AddLocalProperty( L"target", &m_target, true );
|
|
AddLocalProperty( L"defaultOrder", &m_defaultOrder );
|
|
AddLocalProperty( L"defaultAction", &m_defaultAction );
|
|
AddLocalProperty( L"defaultCursor", &m_defaultCursor );
|
|
AddLocalProperty( L"secondaryOrder", &m_secondaryOrder );
|
|
AddLocalProperty( L"secondaryCursor", &m_secondaryCursor );
|
|
AddLocalProperty( L"secondaryAction", &m_secondaryAction );
|
|
}
|
|
|
|
CEventPrepareOrder::CEventPrepareOrder( CEntity* target, int orderType, int action, const CStrW& name)
|
|
: CScriptEvent( L"prepareOrder", EVENT_PREPARE_ORDER, true )
|
|
{
|
|
m_target = target;
|
|
m_orderType = orderType;
|
|
m_action = action;
|
|
m_name = name;
|
|
AddLocalProperty( L"target", &m_target, true );
|
|
AddLocalProperty( L"orderType", &m_orderType, true );
|
|
AddLocalProperty( L"action", &m_action );
|
|
AddLocalProperty( L"name", &m_name );
|
|
AddLocalProperty( L"notifyType", &m_notifyType );
|
|
AddLocalProperty( L"notifySource", &m_notifySource );
|
|
}
|
|
|
|
CEventOrderTransition::CEventOrderTransition( int orderPrevious, int orderCurrent, CEntity*& target, CVector3D& worldPosition )
|
|
: CScriptEvent( L"orderTransition", EVENT_ORDER_TRANSITION, true )
|
|
{
|
|
m_orderPrevious = orderPrevious;
|
|
m_orderCurrent = orderCurrent;
|
|
m_target = ⌖
|
|
m_worldPosition = &worldPosition;
|
|
AddLocalProperty( L"orderPrevious", &m_orderPrevious, true );
|
|
AddLocalProperty( L"orderCurrent", &m_orderCurrent );
|
|
AddLocalProperty( L"target", m_target );
|
|
AddLocalProperty( L"position", m_worldPosition );
|
|
}
|
|
CEventNotification::CEventNotification( CEntityOrder order, int notifyType ) : CScriptEvent( L"notification", EVENT_NOTIFICATION, true )
|
|
{
|
|
m_notifyType = notifyType;
|
|
m_target = order.m_data[0].entity;
|
|
CVector3D convert( order.m_data[0].location.x, 0.0f, order.m_data[0].location.y );
|
|
m_location = convert;
|
|
|
|
AddLocalProperty( L"notifyType", &m_notifyType );
|
|
AddLocalProperty( L"target", &m_target );
|
|
AddLocalProperty( L"location", &m_location );
|
|
}
|
|
CFormationEvent::CFormationEvent( int type ) : CScriptEvent( L"formationEvent", EVENT_FORMATION, true )
|
|
{
|
|
(int&) m_formationEvent = type;
|
|
AddLocalProperty( L"formationEvent", &m_formationEvent );
|
|
}
|