# Play Sound On Unit

Grammar — Play soundLink for audibleMask owned by player owningPlayer on unit with Z offset height|Z (at volume% volume, skip the first offset seconds)
FlagsNative | Action

Plays a sound at a unit for the specified player group. Use the “Last Played Sound” function to refer to this sound.

# Arguments

  • soundlink — Sound Link
  • int — Owning Player
  • playergroup — Audible Mask
  • unit — Unit
  • fixed — Height
  • fixed — Volume
  • fixed — Offset

Returns — void

native void SoundPlayOnUnitForPlayer(
	soundlink link,
	int inOwningPlayer,
	playergroup audibleMask,
	unit inUnit,
	fixed height,
	fixed volume,
	fixed offset,
);

Category: Sound / Sounds

# Examples

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/paiur01.sc2map/MapScript.galaxy:2333

    libVoiC_gf_SetAllSoundChannelVolumesCampaign(libVoiC_ge_VolumeChannelModeCampaign_Speech);
    SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryCombat, 12.5, 0.25);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(40), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/paiur01.sc2map/MapScript.galaxy:2335

    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(40), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox0122", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(5), 10.0, 100.0, 0.0);

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/paiur01.sc2map/MapScript.galaxy:2337

    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox0122", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(5), 10.0, 100.0, 0.0);
    libVoiC_gf_SetAllSoundChannelVolumesCampaign(libVoiC_ge_VolumeChannelModeCampaign_Game);
    Wait(1.0, c_timeAI);

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/pmoebius01.sc2map/MapScript.galaxy:2272

    ActorSend(lv_hybridDeathModel, "SetHeight 2.250000");
    libNtve_gf_KillModel(lv_hybridDeathModel);
    SoundPlayOnUnitForPlayer(SoundLink("Hybrid_Protoss_Death", -1), c_maxPlayers, PlayerGroupAll(), EventUnit(), 0.0, 100.0, 0.0);
    libNtve_gf_CreateUnitsAtPoint2(1, "RawSolarite", c_unitCreateIgnorePlacement, 0, lv_hybridCellPoint);
    lv_solariteUnit = UnitLastCreated();

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/pulnar02.sc2map/MapScript.galaxy:606

    // Automatic Variable Declarations
    // Implementation
    SoundPlayOnUnitForPlayer(SoundLink("StoneZealot_Birth", -1), c_maxPlayers, PlayerGroupAll(), lp_construct, 0.0, 100.0, 0.0);
    SoundPlayAtPoint(SoundLink("Thor_Movement", -1), PlayerGroupAll(), UnitGetPosition(lp_construct), 0.0, 100.0, 0.0);
    UnitSetTeamColorIndex(lp_construct, 10);

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/void/pulnar03.sc2map/MapScript.galaxy:3543

        if ((UnitIsAlive(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == true)) {
            libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(EventPlayerEffectUsedUnit(c_effectUnitCaster)), c_animNameDefault, "Spell", 0, c_animTimeDefault);
            SoundPlayOnUnitForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), EventPlayerEffectUsedUnit(c_effectUnitCaster), 0.0, 100.0, 0.0);
            libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZerglingCarbot", 0, gv_pLAYER_07_ZERG_STREAM, PointWithOffset(UnitGetPosition(EventPlayerEffectUsedUnit(c_effectUnitCaster)), 1.0, -1.0));
            UnitBehaviorAdd(UnitLastCreated(), "CritterWanderLeash", UnitLastCreated(), 1);

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/paiur01.sc2mapMapScript.galaxy:2333

    libVoiC_gf_SetAllSoundChannelVolumesCampaign(libVoiC_ge_VolumeChannelModeCampaign_Speech);
    SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryCombat, 12.5, 0.25);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(40), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/paiur01.sc2mapMapScript.galaxy:2335

    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(40), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox0122", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(5), 10.0, 100.0, 0.0);

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/paiur01.sc2mapMapScript.galaxy:2337

    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox012", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(39), 10.0, 100.0, 0.0);
    Wait(1.0, c_timeAI);
    SoundPlayOnUnitForPlayer(SoundLink("PAiur01_ColossusEnterVox0122", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(5), 10.0, 100.0, 0.0);
    libVoiC_gf_SetAllSoundChannelVolumesCampaign(libVoiC_ge_VolumeChannelModeCampaign_Game);
    Wait(1.0, c_timeAI);

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/pmoebius01.sc2mapMapScript.galaxy:2272

    ActorSend(lv_hybridDeathModel, "SetHeight 2.250000");
    libNtve_gf_KillModel(lv_hybridDeathModel);
    SoundPlayOnUnitForPlayer(SoundLink("Hybrid_Protoss_Death", -1), c_maxPlayers, PlayerGroupAll(), EventUnit(), 0.0, 100.0, 0.0);
    libNtve_gf_CreateUnitsAtPoint2(1, "RawSolarite", c_unitCreateIgnorePlacement, 0, lv_hybridCellPoint);
    lv_solariteUnit = UnitLastCreated();

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/pulnar02.sc2mapMapScript.galaxy:606

    // Automatic Variable Declarations
    // Implementation
    SoundPlayOnUnitForPlayer(SoundLink("StoneZealot_Birth", -1), c_maxPlayers, PlayerGroupAll(), lp_construct, 0.0, 100.0, 0.0);
    SoundPlayAtPoint(SoundLink("Thor_Movement", -1), PlayerGroupAll(), UnitGetPosition(lp_construct), 0.0, 100.0, 0.0);
    UnitSetTeamColorIndex(lp_construct, 10);

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/void/pulnar03.sc2mapMapScript.galaxy:3543

        if ((UnitIsAlive(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == true)) {
            libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(EventPlayerEffectUsedUnit(c_effectUnitCaster)), c_animNameDefault, "Spell", 0, c_animTimeDefault);
            SoundPlayOnUnitForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), EventPlayerEffectUsedUnit(c_effectUnitCaster), 0.0, 100.0, 0.0);
            libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZerglingCarbot", 0, gv_pLAYER_07_ZERG_STREAM, PointWithOffset(UnitGetPosition(EventPlayerEffectUsedUnit(c_effectUnitCaster)), 1.0, -1.0));
            UnitBehaviorAdd(UnitLastCreated(), "CritterWanderLeash", UnitLastCreated(), 1);

mods/core.sc2modbase.sc2data/TriggerLibs/NativeLib.galaxy:4269

    // Automatic Variable Declarations
    // Implementation
    SoundPlayOnUnitForPlayer(lp_soundLink, c_maxPlayers, lp_players, lp_unit, lp_height, lp_volume, lp_offset);
}

mods/core.stormmodbase.stormdata/TriggerLibs/NativeLib.galaxy:3535

    // Automatic Variable Declarations
    // Implementation
    SoundPlayOnUnitForPlayer(lp_soundLink, c_maxPlayers, lp_players, lp_unit, lp_height, lp_volume, lp_offset);
}

mods/heroesbrawlmods/brawlmapmods/blackheartsrevenge.stormmodbase.stormdata/LibMDoE.galaxy:2596

    PingSetScale(PingLastCreated(), 0.1);
    PingSetUnit(PingLastCreated(), lv_missile);
    SoundPlayOnUnitForPlayer(SoundLink("Event_GhostShip_CannonBall_Loop", -1), c_maxPlayers, PlayerGroupAll(), lv_missile, 0.0, 100.0, 0.0);
    lv_ballLoopingSound = SoundLastPlayed();
    while (true) {

mods/heroesbrawlmods/brawlmapmods/blackheartsrevenge.stormmodbase.stormdata/LibMDoE.galaxy:3306

    }

    SoundPlayOnUnitForPlayer(SoundLink("Event_Mines_EnterMinesEnd", -1), c_maxPlayers, PlayerGroupAll(), lv_hero, 0.0, 100.0, 0.0);
    Wait(0.125, c_timeGame);
    libNtve_gf_MakeUnitUncommandable(lv_hero, false);

mods/heroesbrawlmods/brawlmapmods/coop/deadmansstand.stormmodbase.stormdata/LibPEB1.galaxy:7245

    PingSetUnit(PingLastCreated(), lv_missile);
    Wait(0.125, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Event_GhostShip_CannonBall_Loop", -1), c_maxPlayers, PlayerGroupAll(), lv_missile, 0.0, 100.0, 0.0);
    lv_ballLoopingSound = SoundLastPlayed();
    while (true) {

mods/heroesbrawlmods/brawlmapmods/coop/escapefrombraxis.stormmodbase.stormdata/LibPEB1.galaxy:5516

    }

    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[1].lv_entryGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[1].lv_entryGateZergSound = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[1].lv_exitGate, 0.0, 100.0, 0.0);

mods/heroesbrawlmods/brawlmapmods/coop/escapefrombraxis.stormmodbase.stormdata/LibPEB1.galaxy:5518

    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[1].lv_entryGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[1].lv_entryGateZergSound = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[1].lv_exitGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[1].lv_exitGateZergSound = SoundLastPlayed();
    if ((libPEB1_gv_zergSpawningDisabled == true)) {

mods/heroesbrawlmods/brawlmapmods/coop/escapefrombraxis.stormmodbase.stormdata/LibPEB1.galaxy:5594

    }

    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[2].lv_entryGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[2].lv_entryGateZergSound = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[2].lv_exitGate, 0.0, 100.0, 0.0);

mods/heroesbrawlmods/brawlmapmods/coop/escapefrombraxis.stormmodbase.stormdata/LibPEB1.galaxy:5596

    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[2].lv_entryGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[2].lv_entryGateZergSound = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Doodad_EscapeFromBraxis_Gate_Zerged_Loop", -1), c_maxPlayers, PlayerGroupAll(), libPEB1_gv_checkpoints[2].lv_exitGate, 0.0, 100.0, 0.0);
    libPEB1_gv_checkpoints[2].lv_exitGateZergSound = SoundLastPlayed();
    if ((libPEB1_gv_zergSpawningDisabled == true)) {

mods/heroesbrawlmods/brawlmapmods/coop/pvebrawlmod.stormmodbase.stormdata/LibPVEB.galaxy:246

        	if (lv_itPlayer<0) { break; }
        	if ((lv_itPlayer == lp_killingPlayer)) {
            SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Direct", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
        }
        else {

mods/heroesbrawlmods/brawlmapmods/coop/pvebrawlmod.stormmodbase.stormdata/LibPVEB.galaxy:249

        }
        else {
            SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Indirect", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
        }
        if ((lp_killedUnitClassification != libGame_ge_XPSources_Structure)) {

mods/heroesbrawlmods/brawlmapmods/coop/pvemod.stormmodbase.stormdata/LibPVEM.galaxy:1230

        	if (lv_itPlayer<0) { break; }
        	if ((lv_itPlayer == lp_killingPlayer)) {
            SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Direct", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
        }
        else {

mods/heroesbrawlmods/brawlmapmods/coop/pvemod.stormmodbase.stormdata/LibPVEM.galaxy:1233

        }
        else {
            SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Indirect", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
        }
        if ((lp_killedUnitClassification != libGame_ge_XPSources_Structure)) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:4715


    PingDestroy(libUIUI_gv_ping_PlayerHearth[lv_hearthstonePlayer]);
    SoundPlayOnUnitForPlayer(SoundLink("Gen_Hearthstone_Teleport_Fizzle", -1), lv_hearthstonePlayer, PlayerGroupSingle(lv_hearthstonePlayer), lv_hearthstoneUnit, 0.0, 100.0, 0.0);
    libUIUI_gf_UIPartyFrameHeroHearthstoneFizzle(lv_hearthstonePlayer, lv_hearthstoneUnit);
    return true;

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:3895

    DataTableSetPoint(false, TriggerEventParamName(libGame_gv_eventID_HeroParticipatedInTakedown_C, libGame_gv_eventParam_HeroParticipatedInTakedown_HeroKilledPosition_C), lp_heroKilledPosition);
    TriggerSendEvent(libGame_gv_eventID_HeroParticipatedInTakedown_C);
    SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Direct", -1), c_maxPlayers, PlayerGroupSingle(lp_playerKilling), lp_heroKilled, 0.0, 100.0, 0.0);
}

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:9131

            	libGame_gf_ScoreValuesRecordXPContributionForPlayer(lv_itPlayer, (lv_xPValue / PlayerGroupCount(lv_killCreditGroup)), true);
            if ((lv_itPlayer == lp_killingPlayer)) {
                SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Direct", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
            }
            else {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:9134

            }
            else {
                SoundPlayOnUnitForPlayer(SoundLink("XP_Gain_Indirect", -1), c_maxPlayers, PlayerGroupSingle(lv_itPlayer), lp_killedUnit, 0.0, 100.0, 0.0);
            }
        }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/SoundLib.galaxy:238

    lv_heroUnit = libGame_gv_players[lp_speakingPlayer].lv_heroUnit;
    if ((lv_soundID != null) && (lv_heroUnit != null)) {
        SoundPlayOnUnitForPlayer(SoundLink(lv_soundID, c_soundIndexAny), lp_speakingPlayer, lp_targetPlayerGroup, lv_heroUnit, 0.0, 100.0, 0.0);
    }

mods/heroesmapmods/battlegroundmapmods/alteracpass.stormmodbase.stormdata/LibMMAP.galaxy:1326

    // Implementation
    if (((lp_damage / (UnitGetPropertyFixed(libGame_gv_teams[lp_team].lv_core, c_unitPropLife, c_unitPropCurrent) + 1.0)) >= 0.05)) {
        SoundPlayOnUnitForPlayer(libMMAP_gv_aVSounds.lv_aVTeamSpecificSounds[lp_team].lv_coreGetHitLarge, c_maxPlayers, PlayerGroupAll(), libGame_gv_teams[lp_team].lv_core, 0.0, 100.0, 0.0);
    }
    else {

mods/heroesmapmods/battlegroundmapmods/alteracpass.stormmodbase.stormdata/LibMMAP.galaxy:1329

    }
    else {
        SoundPlayOnUnitForPlayer(libMMAP_gv_aVSounds.lv_aVTeamSpecificSounds[lp_team].lv_coreGetHitSmall, c_maxPlayers, PlayerGroupAll(), libGame_gv_teams[lp_team].lv_core, 0.0, 100.0, 0.0);
    }
}

mods/heroesmapmods/battlegroundmapmods/alteracpass.stormmodbase.stormdata/LibMMAP.galaxy:3067


    }
    SoundPlayOnUnitForPlayer(SoundLink("Gen_Spell_Slow_Loop_PLR", -1), lv_player, PlayerGroupSingle(lv_player), EventUnit(), 0.0, 100.0, 0.0);
    libMMAP_gv_aVSounds.lv_snowSound[lv_player][lv_unitIndex] = SoundLastPlayed();
    return true;

mods/heroesmapmods/battlegroundmapmods/blackheartsbay.stormmodbase.stormdata/LibBBAY.galaxy:1716

    PingSetUnit(PingLastCreated(), lv_missile);
    Wait(0.125, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Event_GhostShip_CannonBall_Loop", -1), c_maxPlayers, PlayerGroupAll(), lv_missile, 0.0, 100.0, 0.0);
    lv_ballLoopingSound = SoundLastPlayed();
    while (true) {

mods/heroesmapmods/battlegroundmapmods/hauntedmines.stormmodbase.stormdata/LibMHtM.galaxy:1744

    }

    SoundPlayOnUnitForPlayer(SoundLink("Event_Mines_EnterMinesEnd", -1), c_maxPlayers, PlayerGroupAll(), lv_heroUnit, 0.0, 100.0, 0.0);
    Wait(0.125, c_timeGame);
    UnitSetState(lv_heroUnit, c_unitStateOrdersPaused, false);

mods/heroesmapmods/battlegroundmapmods/hauntedmines.stormmodbase.stormdata/LibMHtM.galaxy:1809

    }

    SoundPlayOnUnitForPlayer(SoundLink("Event_Mines_EnterMinesEnd", -1), c_maxPlayers, PlayerGroupAll(), lv_heroUnit, 0.0, 100.0, 0.0);
    Wait(0.125, c_timeGame);
    UnitSetState(lv_heroUnit, c_unitStateOrdersPaused, false);

mods/heroesmapmods/battlegroundmapmods/towersofdoom.stormmodbase.stormdata/LibMTOD.galaxy:3177

    }

    SoundPlayOnUnitForPlayer(SoundLink("Event_Mines_EnterMinesEnd", -1), c_maxPlayers, PlayerGroupAll(), lv_hero, 0.0, 100.0, 0.0);
    Wait(0.125, c_timeGame);
    libNtve_gf_MakeUnitUncommandable(lv_hero, false);

mods/heroesmapmods/battlegroundmapmods/volskayadata.stormmodbase.stormdata/LibVolV.galaxy:506

    }

    SoundPlayOnUnitForPlayer(SoundLink("Event_Volskaya_Vehicle_CriticalDamage", -1), c_maxPlayers, PlayerGroupSingle(lv_pilotPlayer), EventUnit(), 0.0, 100.0, 0.0);
    DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lv_pilotPlayer], "StartAlt");
    lv_gunnerPlayer = UnitGetOwner(libMapM_gv_vehicle[libMapM_gf_GetVehicleIndexOfUnit(EventUnit())].lv_unit_LinkedVehicle);

mods/heroesmapmods/battlegroundmapmods/volskayadata.stormmodbase.stormdata/LibVolV.galaxy:510

    lv_gunnerPlayer = UnitGetOwner(libMapM_gv_vehicle[libMapM_gf_GetVehicleIndexOfUnit(EventUnit())].lv_unit_LinkedVehicle);
    if (((lv_gunnerPlayer >= 1) && (lv_gunnerPlayer <= libCore_gv_bALMaxPlayers))) {
        SoundPlayOnUnitForPlayer(SoundLink("Event_Volskaya_Vehicle_CriticalDamage", -1), c_maxPlayers, PlayerGroupSingle(lv_gunnerPlayer), EventUnit(), 0.0, 100.0, 0.0);
        DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lv_gunnerPlayer], "StartAlt");
    }

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy:2792

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_artanis, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy:2795

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_artanis, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:2307

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:2310

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:10461

    UnitIssueOrder(gv_cinematicNova, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(640)), c_orderQueueReplace);
    UnitBehaviorAdd(UnitFromId(4741), "SuppressCloak", UnitFromId(4741), 1);
    SoundPlayOnUnitForPlayer(SoundLink("Spell_CloakField_Off", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(4741), 0.0, 400.0, 0.25);
    CinematicFade(true, 1.0, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
    libNCMI_gf_SendTransmissionCampaign(gv_cinematicNova, "Mission_Nova03|Line00076", c_transmissionDurationAdd, 0.0, false, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:10466

    Wait(1.5, c_timeGame);
    Wait(2.5, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Terran_CloakOn", -1), c_maxPlayers, PlayerGroupAll(), gv_cinematicNova, 0.0, 200.0, 0.0);
    libNovC_gf_UnequipNovaEquipmentForSlot("EQPSlotSuit");
    libNovC_gf_EnableDisableNovaEquipment(true, "EQPSuitItem1");

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:10483

    SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryAlert, 0.0, 0.1);
    UnitBehaviorRemove(UnitFromId(4741), "SuppressCloak", 1);
    SoundPlayOnUnitForPlayer(SoundLink("Spell_CloakField_On", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(4741), 0.0, 200.0, 0.5);
    Wait(1.0, c_timeGame);
    UnitSetOwner(UnitFromId(4741), 0, false);

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy:10518

    libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(gv_zeratul), c_animNameDefault, "Unload End", c_animFlagNonLooping, c_animTimeDefault);
    Wait(0.5, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Marine_Land", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 200.0, 0.0);
    Wait(3.5, c_timeGame);
    libNtve_gf_ClearAnimation(libNtve_gf_MainActorofUnit(gv_zeratul), c_animNameDefault);

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova07.sc2map/MapScript.galaxy:2191

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_nova, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova07.sc2map/MapScript.galaxy:2194

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_nova, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova07.sc2map/MapScript.galaxy:3880

    TimerStart(gv_autoSaveTimer, gv_autoSaveTimerCooldown, false, c_timeGame);
    UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/49BD262C"), null, UnitGetPosition(gv_nova));
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallCheering", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(537678267), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_01 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova07.sc2map/MapScript.galaxy:3882

    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallCheering", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(537678267), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_01 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_02 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdJeers_01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(1098427410), 0.0, 100.0, 0.0);

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova07.sc2map/MapScript.galaxy:3884

    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_02 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdJeers_01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(1098427410), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_03 = SoundLastPlayed();
    libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(61), libNCMI_ge_StealthAIDefendRegionState_Active);

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2mapMapScript.galaxy:2792

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_artanis, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2mapMapScript.galaxy:2795

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_artanis, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:2307

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:2310

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:10461

    UnitIssueOrder(gv_cinematicNova, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(640)), c_orderQueueReplace);
    UnitBehaviorAdd(UnitFromId(4741), "SuppressCloak", UnitFromId(4741), 1);
    SoundPlayOnUnitForPlayer(SoundLink("Spell_CloakField_Off", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(4741), 0.0, 400.0, 0.25);
    CinematicFade(true, 1.0, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
    libNCMI_gf_SendTransmissionCampaign(gv_cinematicNova, "Mission_Nova03|Line00076", c_transmissionDurationAdd, 0.0, false, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:10466

    Wait(1.5, c_timeGame);
    Wait(2.5, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Terran_CloakOn", -1), c_maxPlayers, PlayerGroupAll(), gv_cinematicNova, 0.0, 200.0, 0.0);
    libNovC_gf_UnequipNovaEquipmentForSlot("EQPSlotSuit");
    libNovC_gf_EnableDisableNovaEquipment(true, "EQPSuitItem1");

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:10483

    SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryAlert, 0.0, 0.1);
    UnitBehaviorRemove(UnitFromId(4741), "SuppressCloak", 1);
    SoundPlayOnUnitForPlayer(SoundLink("Spell_CloakField_On", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(4741), 0.0, 200.0, 0.5);
    Wait(1.0, c_timeGame);
    UnitSetOwner(UnitFromId(4741), 0, false);

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2mapMapScript.galaxy:10518

    libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(gv_zeratul), c_animNameDefault, "Unload End", c_animFlagNonLooping, c_animTimeDefault);
    Wait(0.5, c_timeGame);
    SoundPlayOnUnitForPlayer(SoundLink("Marine_Land", -1), c_maxPlayers, PlayerGroupAll(), gv_zeratul, 0.0, 200.0, 0.0);
    Wait(3.5, c_timeGame);
    libNtve_gf_ClearAnimation(libNtve_gf_MainActorofUnit(gv_zeratul), c_animNameDefault);

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova07.sc2mapMapScript.galaxy:2191

    TriggerEnable(TriggerGetCurrent(), false);
    if ((EventPlayerEffectUsed() == "HealthDispenserLife500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Health_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_nova, 0.0, 100.0, 0.0);
    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova07.sc2mapMapScript.galaxy:2194

    }
    else if ((EventPlayerEffectUsed() == "HealthDispenserEnergy500")) {
        SoundPlayOnUnitForPlayer(SoundLink("HeroNovaMP1_Energy_Pickup", -1), c_maxPlayers, PlayerGroupAll(), gv_nova, 0.0, 100.0, 0.0);
    }
    else if (true) {

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova07.sc2mapMapScript.galaxy:3880

    TimerStart(gv_autoSaveTimer, gv_autoSaveTimerCooldown, false, c_timeGame);
    UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/49BD262C"), null, UnitGetPosition(gv_nova));
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallCheering", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(537678267), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_01 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova07.sc2mapMapScript.galaxy:3882

    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallCheering", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(537678267), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_01 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_02 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdJeers_01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(1098427410), 0.0, 100.0, 0.0);

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova07.sc2mapMapScript.galaxy:3884

    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdSmallDiscussion", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(851297348), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_02 = SoundLastPlayed();
    SoundPlayOnUnitForPlayer(SoundLink("Emitter_Nova07_CrowdJeers_01", -1), c_maxPlayers, PlayerGroupAll(), UnitFromId(1098427410), 0.0, 100.0, 0.0);
    gv_civilian_Cheers_03 = SoundLastPlayed();
    libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(61), libNCMI_ge_StealthAIDefendRegionState_Active);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:4596

    if ((lv_dehakaCurrentLevel >= libCOMI_gv_cM_DehakaLevelsMax[lp_dehakaPlayer]) && (libCOMI_gv_cM_DehakaLevelMaxMusicPlayed == false)) {
        libCOMI_gv_cM_DehakaLevelMaxMusicPlayed = true;
        SoundPlayOnUnitForPlayer(SoundLink("MusicDehakaMaxLevel", -1), lp_dehakaPlayer, PlayerGroupSingle(lp_dehakaPlayer), lp_dehakaUnit, 1.0, 100.0, 0.0);
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:16795

        UnitCreateEffectUnit(lv_dehakaUnit, libCOMI_gv_c_DehakaConsumeEffectTriggerEffect, lv_targetUnit);
        if ((UnitGetType(lv_targetUnit) == "MutatorAmonDehaka")) {
            SoundPlayOnUnitForPlayer(SoundLink("DehakaEatDehaka", -1), c_maxPlayers, PlayerGroupAll(), lv_dehakaUnit, 1.0, 100.0, 0.0);
        }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:24831

        UnitCreate(1, "SIInfestedTrooper", 0, lv_p, lv_point, 270.0);
        lv_newUnit = UnitLastCreated();
        SoundPlayOnUnitForPlayer(SoundLink("Medivac_Unload", -1), EventPlayer(), PlayerGroupAll(), lv_newUnit, 0.0, 100.0, 0.0);
    }
    UnitSetState(lv_newUnit, c_unitStateUsingSupply, false);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:12988

                    lv_hungerTarget = UnitGroupRandomUnit(lv_hungerUnits, c_unitCountAlive);
                    PlayerCreateEffectUnit(lv_hungryPlayer, "MutatorHungerDamage", lv_hungerTarget);
                    SoundPlayOnUnitForPlayer(SoundLink("InfestedCivilian_Moan", -1), c_maxPlayers, PlayerGroupAll(), lv_hungerTarget, 0.0, 100.0, 0.0);
                }
                else if ((UnitGroupCount(lv_hungerWorkers, c_unitCountAlive) > 0)) {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:12993

                    lv_hungerTarget = UnitGroupRandomUnit(lv_hungerWorkers, c_unitCountAlive);
                    PlayerCreateEffectUnit(lv_hungryPlayer, "MutatorHungerDamage", lv_hungerTarget);
                    SoundPlayOnUnitForPlayer(SoundLink("InfestedCivilian_Moan", -1), c_maxPlayers, PlayerGroupAll(), lv_hungerTarget, 0.0, 100.0, 0.0);
                }
            }