class ICECounterHackEffector extends Effector
{
	var m_quickhackObjectActionID : TweakDBID;
	var m_quickhackObjectActionRecord : weak< ObjectAction_Record >;

	protected override function Initialize( record : TweakDBID, game : GameInstance, parentRecord : TweakDBID )
	{
		m_quickhackObjectActionID = TDB.GetForeignKey( record + T".objectAction" );
		m_quickhackObjectActionRecord = TweakDBInterface.GetObjectActionRecord( m_quickhackObjectActionID );
	}

	protected override function ActionOn( owner : GameObject )
	{
		var player : weak< GameObject >;
		var evt : HackTargetEvent;
		evt = new HackTargetEvent;
		player = GameInstance.GetPlayerSystem( owner.GetGame() ).GetLocalPlayerMainGameObject();
		evt.targetID = player.GetEntityID();
		evt.netrunnerID = owner.GetEntityID();
		evt.objectRecord = m_quickhackObjectActionRecord;
		evt.settings.HUDData.type = SimpleMessageType.Boss;
		evt.settings.showDirectionalIndicator = false;
		if( !( GameInstance.GetStatusEffectSystem( owner.GetGame() ).HasStatusEffect( evt.targetID, T"AIQuickHackStatusEffect.BeingHacked" ) ) )
		{
			player.QueueEvent( evt );
		}
	}

}

