Difference between revisions of "EVENT TYPE ABILITY CAST IMPACT"

From Dragon Age Toolset Wiki
Jump to: navigation, search
(add information from CProjectile.cpp)
Line 1: Line 1:
 
{{event
 
{{event
 
|sourcefile=script.ldf
 
|sourcefile=script.ldf
|when=Fires for the moment of impact for every ability. This is where damage should be applied, fireballs explode, enemies get poisoned etc. We assume that stamina/mana have been deducted when the ability was triggered (COMMAND_PENDING stage)  
+
|when=Fires for the moment of impact for every ability. This is where damage should be applied, fireballs explode, enemies get poisoned etc. We assume that stamina/mana have been deducted when the ability was triggered (COMMAND_PENDING stage)
|to={{undocumented}}
+
For melee talents, this event fires if the associated animations has an "Ability cast impact" event assigned to it (see [[Animation blend tree editor#Event editor]]).
 +
|to=ability_core
 
|from=engine
 
|from=engine
 
|object0name=oEventObjectId
 
|object0name=oEventObjectId

Revision as of 00:43, 13 April 2010

Source:
script.ldf
Sent when:
Fires for the moment of impact for every ability. This is where damage should be applied, fireballs explode, enemies get poisoned etc. We assume that stamina/mana have been deducted when the ability was triggered (COMMAND_PENDING stage) For melee talents, this event fires if the associated animations has an "Ability cast impact" event assigned to it (see Animation blend tree editor#Event editor).
Sent from:
engine
Sent to:
ability_core
Parameters:

Usage

case EVENT_TYPE_ABILITY_CAST_IMPACT:
{
int nAbilityId = GetEventInteger(ev, 0); //
int nResitanceCheckResult = GetEventInteger(ev, 1); //
object oEventObjectId = GetEventObject(ev, 0); //
object oItem = GetEventObject(ev, 1); // the item used to cast the ability (optional - set to INVALID_OBJECT_ID otherwise)
object oTarget = GetEventObject(ev, 2); // the object that the ability was targeted>
location lPosition = GetEventLocation(ev, 0); //
location lAnimBaseOrientation = GetEventLocation(ev, 1); //

// insert event-handling code here

break;
}

note: in case of a projectile impact, there might be more than one target (object 2+...) this allows doing things like lightning bolts going through targets, but this is not currently made use of in Dragon Age.