diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-06-22 14:30:49 +0100 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-06-22 14:30:49 +0100 |
commit | 207facbc402f5639cbcd31f079214351ef605cf2 (patch) | |
tree | 4710b2a88dd64f3dfea1609d31a5de9141640951 /Northstar.CustomServers/scripts/vscripts/melee/_melee_rewards.gnut | |
parent | c2d438568df6d98cf731807e30eaa7da31e5ea52 (diff) | |
download | NorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.tar.gz NorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.zip |
initial commit after moving to new repo
Diffstat (limited to 'Northstar.CustomServers/scripts/vscripts/melee/_melee_rewards.gnut')
-rw-r--r-- | Northstar.CustomServers/scripts/vscripts/melee/_melee_rewards.gnut | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Northstar.CustomServers/scripts/vscripts/melee/_melee_rewards.gnut b/Northstar.CustomServers/scripts/vscripts/melee/_melee_rewards.gnut new file mode 100644 index 000000000..46b730d60 --- /dev/null +++ b/Northstar.CustomServers/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 |