# Damage Source Position
Grammar — Damage source position
Flags —Native|Function
Returns the damage source position or where the unit who is dealing damage is standing at.
Returns — point
native point EventUnitDamageSourcePoint();
# Supported triggers
- Unit Dies — TriggerAddEventUnitDied
 - Unit Takes Damage — TriggerAddEventUnitDamaged
 
# Related
Category: Unit / Combat
- Get Unit Damage Dealt Time — 
fixed— UnitGetDamageDealtTime - Get Unit Damage Taken Time — 
fixed— UnitGetDamageTakenTime - Weapon Used In Attack — 
string<gamelink::Weapon> — EventUnitGetWeapon - Item Used In Attack — 
unit— EventUnitGetItem - Item Type Used In Attack — 
string<gamelink::Item> — EventUnitGetItemType - Unit Dies — 
void— TriggerAddEventUnitDied - Killing Unit — 
unit— libNtve_gf_KillingUnit - Killing Player — 
int— libNtve_gf_KillingPlayer - Triggering Death Type Check — 
bool— EventUnitDamageDeathCheck - Unit Is Being Removed — 
void— TriggerAddEventUnitRemoved - Unit Starts Attacking (Deprecated) — 
void— TriggerAddEventUnitStartedAttack - Unit Starts Attacking — 
void— TriggerAddEventUnitStartedAttack2 - Unit Is Attacked (Deprecated) — 
void— TriggerAddEventUnitAttacked - Unit Is Attacked — 
void— TriggerAddEventUnitAttacked2 - Attacking Unit — 
unit— EventUnitTarget - Unit Absorbs Damage — 
void— TriggerAddEventUnitDamageAbsorbed - Unit Takes Damage — 
void— TriggerAddEventUnitDamaged - Damaging Unit — 
unit— EventUnitDamageSourceUnit - Damaging Player — 
int— EventUnitDamageSourcePlayer - Damaging Effect — 
string<gamelink::Effect> — EventUnitDamageEffect - Triggering Damage Taken — 
fixed— EventUnitDamageAmount - Triggering Damage Attempted — 
fixed— EventUnitDamageAttempted - Triggering Damage Attempted Vitals — 
fixed— EventUnitDamageAttemptedVitals - Triggering Damage Absorbed — 
fixed— EventUnitDamageAbsorbed - Triggering Damage Behavior Shield — 
fixed— EventUnitDamageBehaviorShield - Triggering Vitals Leeched — 
fixed— EventUnitDamageVitalsLeeched - Triggering Unit Kill XP — 
int— EventUnitDamageKillXP - Damage Source Position — 
point— EventUnitDamageSourcePoint - Unit is Healed — 
void— TriggerAddEventUnitHealed - Healing Unit — 
unit— EventUnitHealLaunchUnit - Healing Player — 
int— EventUnitHealLaunchPlayer - Triggering Heal Vital Type — 
int<preset::UnitVitalType> — EventUnitHealVital - Triggering Heal Given — 
fixed— EventUnitHealAmount - Healing Effect — 
string<gamelink::Effect> — EventUnitHealEffect - Unit Spends Vital — 
void— TriggerAddEventUnitSpendVital - Triggering Spent Vital Type — 
int<preset::UnitVitalType> — EventUnitSpentVitalVital - Triggering Vital Spent — 
fixed— EventUnitSpentVitalAmount - Unit Acquires Target — 
void— TriggerAddEventUnitAcquiredTarget - Acquired Target — 
unit— libNtve_gf_AcquiredTarget - Unit Is Revived — 
void— TriggerAddEventUnitRevive - Triggering Victim Unit — 
unit— EventUnitVictimUnit - Triggering Item Used — 
unit— EventUnitItemUsed - Triggering Effect Used — 
string<gamelink::Effect> — EventUnitEffectUsed 
# Examples
mods/novastoryassets.sc2mod — base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy:2507
    TriggerEnable(TriggerGetCurrent(), false);
    UnitGroupIssueOrder(gv_bonusObjSouthRavagers, OrderTargetingPoint(AbilityCommand("RavagerCorrosiveBile", 0), EventUnitDamageSourcePoint()), c_orderQueueReplace);
    Wait(0.25, c_timeAI);
    TriggerEnable(TriggerGetCurrent(), true);
mods/novastoryassets.sc2mod — base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy:4858
    lv_nearbyRavagers = UnitGroup("Ravager", EventPlayer(), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
    lv_ravagerShotTargetRegion = RegionCircle(EventUnitDamageSourcePoint(), 1.5);
    auto6284706C_g = lv_nearbyRavagers;
    auto6284706C_u = UnitGroupCount(auto6284706C_g, c_unitCountAll);
mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map — MapScript.galaxy:2507
    TriggerEnable(TriggerGetCurrent(), false);
    UnitGroupIssueOrder(gv_bonusObjSouthRavagers, OrderTargetingPoint(AbilityCommand("RavagerCorrosiveBile", 0), EventUnitDamageSourcePoint()), c_orderQueueReplace);
    Wait(0.25, c_timeAI);
    TriggerEnable(TriggerGetCurrent(), true);
mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map — MapScript.galaxy:4858
    lv_nearbyRavagers = UnitGroup("Ravager", EventPlayer(), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
    lv_ravagerShotTargetRegion = RegionCircle(EventUnitDamageSourcePoint(), 1.5);
    auto6284706C_g = lv_nearbyRavagers;
    auto6284706C_u = UnitGroupCount(auto6284706C_g, c_unitCountAll);
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMI.galaxy:18527
        auto735B6DBB_val = lv_unitType;
        if (auto735B6DBB_val == "FenixArbiter") {
            libCOMI_gf_CM_Fenix_SuicideRecallTalandarThread(lv_player, AbilityCommand("SOASummonFenixArbiter", 0), EventUnitDamageSourcePoint());
        }
        else if (auto735B6DBB_val == "FenixCoop") {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMI.galaxy:18530
        }
        else if (auto735B6DBB_val == "FenixCoop") {
            libCOMI_gf_CM_Fenix_SuicideRecallTalandarThread(lv_player, AbilityCommand("SOASummonFenix", 0), EventUnitDamageSourcePoint());
        }
        else if (auto735B6DBB_val == "FenixDragoon") {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMI.galaxy:18533
        }
        else if (auto735B6DBB_val == "FenixDragoon") {
            libCOMI_gf_CM_Fenix_SuicideRecallTalandarThread(lv_player, AbilityCommand("SOASummonFenixDragoon", 0), EventUnitDamageSourcePoint());
        }
        else {
mods/starcoop/starcoop.sc2mod — base.sc2data/LibCOMI.galaxy:18536
        }
        else {
            libCOMI_gf_CM_Fenix_SuicideRecallTalandarThread(lv_player, AbilityCommand("SOASummonFenix", 0), EventUnitDamageSourcePoint());
        }
    }