class DismemberEffector extends Effector
{
	var m_bodyPart : CName;
	var m_woundType : CName;
	var m_hitPosition : Vector3;
	var m_isCritical : Bool;

	protected override function Initialize( record : TweakDBID, game : GameInstance, parentRecord : TweakDBID )
	{
		m_bodyPart = TweakDBInterface.GetCName( record + T".bodyPart", 'HEAD' );
		m_woundType = TweakDBInterface.GetCName( record + T".woundType", 'CLEAN' );
		m_hitPosition = TweakDBInterface.GetVector3( record + T".hitPosition", Vector3( 0.0, 0.0, 0.0 ) );
		m_isCritical = TweakDBInterface.GetBool( record + T".isCritical", false );
	}

	protected override function ActionOn( owner : GameObject )
	{
		DismembermentComponent.RequestDismemberment( owner, ( ( gameDismBodyPart )( ( ( Int32 )( EnumValueFromName( 'gameDismBodyPart', m_bodyPart ) ) ) ) ), ( ( gameDismWoundType )( ( ( Int32 )( EnumValueFromName( 'gameDismWoundType', m_woundType ) ) ) ) ), Vector4.Vector3To4( m_hitPosition ), m_isCritical );
	}

}

