Difference between revisions of "EVENT TYPE ITEM ONHIT"

From Dragon Age Toolset Wiki
Jump to: navigation, search
m (|sourcefile=script.ldf)
(found in rules_core)
Line 2: Line 2:
 
{{event
 
{{event
 
|sourcefile=script.ldf
 
|sourcefile=script.ldf
|when=
+
|when= This event is only ever processed in [[GM_COMBAT]]. That means that NPCs fighting NPCs while not visible to the player (shouldn't ever happen anyway) will not trigger OnHit item abilities.
 
|from=
 
|from=
 
|to=
 
|to=
 +
|creatorname=oAttacker
 +
|creatordesc=
 +
|object0name=oAttacker
 +
|int0name=iEffect
 +
|int0desc=
 +
|int1name=iPower
 +
|int1desc=
 +
|object1name=oItem
 +
|object1desc=
 +
|targetname=oTarget
 +
|targetdesc=
 
}}
 
}}
 +
 +
relevant eclipse engine code
 +
 +
:pAttackerOnHitEvent->SetCreator(nAttackerId);
 +
:pAttackerOnHitEvent->SetObjectId(0, nAttackerId);
 +
:pAttackerOnHitEvent->SetInteger(0, pAttackerItem->GetOnHitEffectId());
 +
:pAttackerOnHitEvent->SetInteger(1, pAttackerItem->GetOnHitPower());
 +
:pAttackerOnHitEvent->SetObjectId(1, pAttackerItem->GetId());
 +
:pAttackerOnHitEvent->SetTarget(a_pEventData->m_nTargetId);
  
 
[[Category:Event types|ITEM_ONHIT]]
 
[[Category:Event types|ITEM_ONHIT]]

Revision as of 18:30, 19 August 2009

The documentation on this page is incomplete, obsolete, or otherwise in need of a thorough review. The current content may provide a good starting point for this, but do not rely on its accuracy when using it to design content.

Source:
script.ldf
Sent when:
This event is only ever processed in GM_COMBAT. That means that NPCs fighting NPCs while not visible to the player (shouldn't ever happen anyway) will not trigger OnHit item abilities.
Sent from:
Sent to:
Parameters:

Usage

case EVENT_TYPE_ITEM_ONHIT:
{
object oAttacker = GetEventCreator(ev); //
object oTarget = GetEventTarget(ev); //
int iEffect = GetEventInteger(ev, 0); //
int iPower = GetEventInteger(ev, 1); //
object oAttacker = GetEventObject(ev, 0); //
object oItem = GetEventObject(ev, 1); //

// insert event-handling code here

break;
}

relevant eclipse engine code

pAttackerOnHitEvent->SetCreator(nAttackerId);
pAttackerOnHitEvent->SetObjectId(0, nAttackerId);
pAttackerOnHitEvent->SetInteger(0, pAttackerItem->GetOnHitEffectId());
pAttackerOnHitEvent->SetInteger(1, pAttackerItem->GetOnHitPower());
pAttackerOnHitEvent->SetObjectId(1, pAttackerItem->GetId());
pAttackerOnHitEvent->SetTarget(a_pEventData->m_nTargetId);