# 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());
}
}