@@ -6,51 +6,49 @@ namespace LabAPI_InfiniteAmmo;
66/// <summary>
77/// 无限子弹事件处理器。
88/// </summary>
9- public class InfiniteAmmoEvent : CustomEventsHandler
10- {
11- /// <summary>
12- /// 初始子弹
13- /// </summary>
14- /// <param name="ev">PlayerReloadingWeaponEventArgs</param>
15- public override void OnPlayerChangedRole ( PlayerChangedRoleEventArgs ev )
16- {
9+ public class InfiniteAmmoEvent : CustomEventsHandler {
10+ /// <inheritdoc />
11+ public override void OnPlayerChangedRole ( PlayerChangedRoleEventArgs ev ) {
1712 // 死人不配
1813 if ( ! ev . Player . IsAlive ) return ;
19- // 给每种子弹类型 1 发子弹,让玩家能换弹
20- ev . Player . SetAmmo ( ItemType . Ammo9x19 , 1 ) ;
21- ev . Player . SetAmmo ( ItemType . Ammo12gauge , 1 ) ;
22- ev . Player . SetAmmo ( ItemType . Ammo44cal , 1 ) ;
23- ev . Player . SetAmmo ( ItemType . Ammo556x45 , 1 ) ;
24- ev . Player . SetAmmo ( ItemType . Ammo762x39 , 1 ) ;
14+ // 切换角色时给每种子弹类型 10 发子弹,让玩家能换弹
15+ ev . Player . SetAmmo ( ItemType . Ammo9x19 , 10 ) ;
16+ ev . Player . SetAmmo ( ItemType . Ammo12gauge , 10 ) ;
17+ ev . Player . SetAmmo ( ItemType . Ammo44cal , 10 ) ;
18+ ev . Player . SetAmmo ( ItemType . Ammo556x45 , 10 ) ;
19+ ev . Player . SetAmmo ( ItemType . Ammo762x39 , 10 ) ;
2520 }
2621
27- /// <summary>
28- /// 无限子弹
29- /// </summary>
30- /// <param name="ev">PlayerReloadingWeaponEventArgs</param>
31- public override void OnPlayerReloadingWeapon ( PlayerReloadingWeaponEventArgs ev )
32- {
22+ /// <inheritdoc />
23+ public override void OnPlayerChangedItem ( PlayerChangedItemEventArgs ev ) {
24+ // 死人不配
25+ if ( ! ev . Player . IsAlive ) return ;
26+ // 更改手持物品时给每种子弹类型 10 发子弹,让玩家能换弹
27+ ev . Player . SetAmmo ( ItemType . Ammo9x19 , 10 ) ;
28+ ev . Player . SetAmmo ( ItemType . Ammo12gauge , 10 ) ;
29+ ev . Player . SetAmmo ( ItemType . Ammo44cal , 10 ) ;
30+ ev . Player . SetAmmo ( ItemType . Ammo556x45 , 10 ) ;
31+ ev . Player . SetAmmo ( ItemType . Ammo762x39 , 10 ) ;
32+ }
33+
34+ /// <inheritdoc />
35+ public override void OnPlayerReloadingWeapon ( PlayerReloadingWeaponEventArgs ev ) {
36+ // 无限子弹
3337 // 没这个判断的话玩家拿 127 就会 BOOM !
3438 if ( ev . FirearmItem . Type is ItemType . GunSCP127 or ItemType . ParticleDisruptor ) return ;
35- // 枪最大子弹 + 1
36- ev . Player . SetAmmo ( ev . FirearmItem . AmmoType , ( ushort ) ( ev . FirearmItem . MaxAmmo + 1 ) ) ;
39+ // 枪最大子弹 + 10
40+ ev . Player . SetAmmo ( ev . FirearmItem . AmmoType , ( ushort ) ( ev . FirearmItem . MaxAmmo + 10 ) ) ;
3741 }
3842
39- /// <summary>
40- /// 禁止玩家掉落子弹
41- /// </summary>
42- /// <param name="ev">PlayerDroppingAmmoEventArgs</param>
43- public override void OnPlayerDroppingAmmo ( PlayerDroppingAmmoEventArgs ev )
44- {
43+ /// <inheritdoc />
44+ public override void OnPlayerDroppingAmmo ( PlayerDroppingAmmoEventArgs ev ) {
45+ // 禁止丢子弹
4546 ev . IsAllowed = false ;
4647 }
4748
48- /// <summary>
49- /// 玩家拾取子弹时始终为0
50- /// </summary>
51- /// <param name="ev">PlayerPickingUpAmmoEventArgs</param>
52- public override void OnPlayerPickingUpAmmo ( PlayerPickingUpAmmoEventArgs ev )
53- {
49+ /// <inheritdoc />
50+ public override void OnPlayerPickingUpAmmo ( PlayerPickingUpAmmoEventArgs ev ) {
51+ // 玩家拾取子弹时始终为0
5452 // 缺一不可
5553 ev . AmmoPickup . Ammo = 0 ;
5654 ev . AmmoAmount = 0 ;
0 commit comments