/**************************************************************************

template_ability_effect.tgi
Copyright © 2002-2003 TimeGate Studios

DESCRIPTION: effects that ability definitions may have.

REVISION HISTORY:
drp090402 - created

USAGE:

	[Effect Template=AbilityEffect]
	This node goes under an "AbilityDefinition" and represents an effect that
	the ability has.  There are several sub-classes to "AbilityEffect" that 
	should be used instead.	This node also go under a "AbilityEffectModifier."
	
	[Effect Template=MoraleGainEffect]
	[Effect Template=MoraleLossEffect]
	[Effect Template=HealEffect]
	[Effect Template=MainDamageEffect]
	[Effect Template=AddDamageEffect]
	[Effect Template=SummonEffect]
	
FIELDS:
	targets = 
	all effects have an optional sub-targeting field.  If this is 'null' (the default)
	it essentially uses the same target as the ability definition.  This can be used to
	make that effect only apply to some targets.
	
EXAMPLES:

[Effect Template=MoraleGainEffect]
amount = 5


[Effect Template=MoraleLossEffect]
amount = 5


[Effect Template=HealEffect]
amount = 40


[Effect Template=MainDamageEffect]
damage_type_IDS = piercing
amount = 20


[Effect Template=AddDamageEffect]
damage_type_IDS = blast
amount = 5


[Effect Template=SummonEffect]

**************************************************************************/



;; targets = target definition. Null means no restriction (uses the target definition of the ability).

[Template Effect]
{
	;; hidden field - defined by appropriate template
	string	type	
	
	;; optional fields
	string	targets = null
	
	bool hide_from_tooltip = false

} ; end [Template Effect]

[Template InstantEffect Inherit=Effect]
{
} ; end [Template InstantEffect]

[Template SummonEffect Inherit=InstantEffect]
{
	type = SUMMON
	
	;; ids of what will be summoned
	string	object_ids
	
	;; ids for a different object that should be summoned instead if we are in the dynamic campaign.
	;;	This is needed to support summoning the correct corps HQ.  If not specified we use the 
	;;	object_ids above.
	string	dynamic_campaign_object_ids = NULL
	
	;; property that will be given to summoned object (only valid if summoned object is an actor
	;; with a property component)
	string	property_ids = NULL

	;; if the actor should be controllable or not after being summoned
	bool	controllable = false
	
	;; if the ability is SUMMON_UNIQUE then these actors that match these prevent ability from being usable
	string	unique_target_flags = null
}

[Template MoraleGainEffect Inherit=InstantEffect]
{
	type = MORALE_GAIN
	fixed amount
}

[Template MoraleLossEffect Inherit=InstantEffect]
{
	type = MORALE_LOSS
	fixed amount	
}

[Template HealEffect Inherit=InstantEffect]
{
	type = HEAL
	
	;; heal_type currently only changes the description
	;; Valid heal type options include:  HEAL, REPAIR
	string heal_type = HEAL
	
	fixed amount
}

[Template RepairEffect Inherit=InstantEffect]
{
	type = HEAL
	
	;; heal_type currently only changes the description
	;; Valid heal type options include:  HEAL, REPAIR
	string heal_type = REPAIR
	
	fixed amount
}

[Template DamageEffect Inherit=InstantEffect]
{
	string damage_type_IDS
	fixed amount
}

[Template MainDamageEffect Inherit=DamageEffect]
{
	type = MAIN_DAMAGE
}

[Template AddDamageEffect Inherit=DamageEffect]
{
	type = ADD_DAMAGE
}

[Template CaptureEffect Inherit=InstantEffect]
{
	type = CAPTURE
	targets = capturable
}

[Template StealResourcesEffect Inherit=InstantEffect]
{
	type = STEAL_RESOURCES

	[ResourcesAmount Template=CostList]
}

[Template DescribeEconomyEffect Inherit=InstantEffect]
{
	type = DESCRIBE_ECONOMY
}

;; NOTE: EnchantmentEffect is defined in "template_ability_effect_enchantment.tgi"


