Difference between revisions of "Combat HandleCreatureDisappear"
From Dragon Age Toolset Wiki
Mouser9169 (Talk | contribs) m |
Mouser9169 (Talk | contribs) m |
||
Line 6: | Line 6: | ||
Variables: | Variables: | ||
+ | |||
+ | Returns: | ||
Used for: | Used for: |
Revision as of 06:58, 1 August 2011
Called by:
Calls:
Parameters:
Variables:
Returns:
Used for:
// Handles any combat related logic for when a creature disappears from combat. This function should be run // at 2 cases both for a player object and a creature object: // 1. Disappear event // 2. Appear event when the hostile creature turned non-hostile void Combat_HandleCreatureDisappear(object oCreature, object oDisappearer) { #ifdef DEBUG Log_Trace(LOG_CHANNEL_COMBAT,"Combat_HandleCreatureDisappeart","creature: " + GetTag(oCreature) + ", disappearer: " + GetTag(oDisappearer)); #endif if(IsFollower(oCreature)) { AI_Threat_UpdateEnemyDisappeared(oCreature, oDisappearer); // ---------------------------------------------------------------------- // If the party does no longer perceive any hostiles.... // ---------------------------------------------------------------------- if (!IsPartyPerceivingHostiles(oCreature)) { if (!IsPartyDead()) { #ifdef DEBUG Log_Trace(LOG_CHANNEL_COMBAT, "Combat_HandleCreatureDisappear", "STOPPING COMBAT FOR PARTY!"); #endif SSPlaySituationalSound(GetRandomPartyMember(),SOUND_SITUATION_END_OF_COMBAT); DelayEvent(3.0f, GetModule(), Event(EVENT_TYPE_DELAYED_GM_CHANGE)); } } } else // non party members { AI_Threat_UpdateEnemyDisappeared(oCreature, oDisappearer); if (!IsPerceivingHostiles(oCreature) && GetCombatState(oCreature) == TRUE) { #ifdef DEBUG Log_Trace(LOG_CHANNEL_COMBAT, "Combat_HandleCreatureDisappear", "STOPPING COMBAT FOR NORMAL CREATURE!"); #endif SetCombatState(oCreature,FALSE); // Added to make a COMBAT_END event // FAB 9/4 event evCombatEnds = Event(EVENT_TYPE_COMBAT_END); //evCombatEnds = SetEventInteger(evCombatEnds, 0, bcombatstate); SignalEvent(oCreature, evCombatEnds); } } }
Category: Combat_H