diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-08-31 23:14:58 +0100 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-08-31 23:14:58 +0100 |
commit | 9a96d0bff56f1969c68bb52a2f33296095bdc67d (patch) | |
tree | 4175928e488632705692e3cccafa1a38dd854615 /Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut | |
parent | 27bd240871b7c0f2f49fef137718b2e3c208e3b4 (diff) | |
download | NorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.tar.gz NorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.zip |
move to new mod format
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut')
-rw-r--r-- | Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut b/Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut new file mode 100644 index 000000000..46b730d60 --- /dev/null +++ b/Northstar.CustomServers/mod/scripts/vscripts/melee/_melee_rewards.gnut @@ -0,0 +1,74 @@ +untyped + +global function MeleeRewards_Init + + +function MeleeRewards_Init() +{ + AddSyncedMeleeServerCallback( GetSyncedMeleeChooser( "human", "human" ), GiveMeleeRewards ) +} + +void function GiveMeleeRewards( SyncedMeleeChooser actions, SyncedMelee action, entity player, entity enemy ) +{ + thread GiveMeleeRewards_Internal( player, enemy ) +} + +enum eMeleeReward +{ + NONE + AMMO + MAPHACK +} + +function GiveMeleeRewards_Internal( entity player, entity enemy ) +{ + player.EndSignal( "OnDeath" ) + + local reward = eMeleeReward.NONE + + if ( enemy.IsPlayer() ) + reward = eMeleeReward.MAPHACK + else if ( enemy.IsNPC() ) + reward = eMeleeReward.AMMO + + player.WaitSignal( "SyncedMeleeComplete" ) + + switch ( reward ) + { + case eMeleeReward.MAPHACK: + ExecutionGivesMapHack( player ) + break + case eMeleeReward.AMMO: + ExecutionGivesAmmo( player ) + break + default: + break + } +} + +function ExecutionGivesMapHack( entity player ) +{ + printt( "melee gave map hack!" ) + thread ScanMinimap( player, true ) +} + +function ExecutionGivesAmmo( entity player ) +{ + printt( "melee gave ammo!" ) + local grenadeWeapon = player.GetOffhandWeapon( 0 ) + + if ( !IsValid( grenadeWeapon ) ) + return + + local maxAmmoClip = player.GetWeaponAmmoMaxLoaded( grenadeWeapon ) + local remainingAmmo = player.GetWeaponAmmoLoaded( grenadeWeapon ) + + if ( remainingAmmo == maxAmmoClip ) + return + + local ammo = remainingAmmo + 1 + + grenadeWeapon.SetWeaponPrimaryClipCount( ammo ) + + EmitSoundOnEntity( player, "Coop_AmmoBox_AmmoRefill" ) +}
\ No newline at end of file |