Merge pull request #1 from Dinorush/master

Add missing weapons, add class name callbacks, and restructure
This commit is contained in:
Legonzaur
2023-08-18 13:10:19 +02:00
committed by GitHub
101 changed files with 1748 additions and 211 deletions
+8 -2
View File
@@ -1,9 +1,15 @@
# WeaponFireCallbacks # WeaponFireCallbacks
Provides `AddCallback_OnWeaponFired` Provides `WeaponFireCallbacks_AddCallbackOnWeaponFired`, `WeaponFireCallbacks_AddCallbackOnWeaponClassFired`, `WeaponFireCallbacks_RemoveCallbackOnWeaponClassFired`, `WeaponFireCallbacks_AddCallbackOnOwnerClassFired`, and `WeaponFireCallbacks_RemoveCallbackOnOwnerClassFired`
## Use ## Use
```cpp ```cpp
AddCallback_OnWeaponFired(entity weapon, void functionref(WeaponPrimaryAttackParams attackParams) callback) WeaponFireCallbacks_AddCallbackOnWeaponFired( entity weapon, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
WeaponFireCallbacks_AddCallbackOnWeaponClassFired( string weaponClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
WeaponFireCallbacks_RemoveCallbackOnWeaponClassFired( string weaponClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
WeaponFireCallbacks_AddCallbackOnOwnerClassFired( string ownerClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
WeaponFireCallbacks_RemoveCallbackOnOwnerClassFired( string ownerClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
``` ```
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_ammo_swap"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_ammo_swap"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_basic_block"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_smoke"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_gun_shield"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_gun_shield"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_TitanHover"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_NPC_OnWeaponPrimaryAttack_TitanHover"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_laser_trip"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_laser_trip"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_nuke_eject"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_particle_wall"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_particle_wall"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_phase_dash"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanability_phase_dash"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_power_shot"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_power_shot"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_rearm"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanability_rearm"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_rocketeer_ammo_swap"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_rocketeer_ammo_swap"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_slow_trap"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_slow_trap"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_smoke"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanability_smoke"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanability_sonar_pulse"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanability_sonar_pulse"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_tether_trap"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_tether_trap"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_TimeShift"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_AmpCore"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_AmpCore"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titancore_flame_wave"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_salvo_core"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_salvo_core"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_arc_wave"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_arc_wave"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_dumbfire_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_dumbfire_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_FlameWall"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_FlameWall"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_flightcore_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_flightcore_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_heat_shield"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_heat_shield"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_homing_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_homing_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_laser_lite"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_laser_lite"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_leadwall"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_leadwall"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_Meteor"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_Meteor"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_salvo_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_particle_accelerator"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_particle_accelerator"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_predator_cannon"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_predator_cannon"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_TitanWeapon_Rocketeer_RocketStream"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_TitanWeapon_Rocketeer_RocketStream"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_salvo_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_salvo_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_shoulder_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_shoulder_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_sniper"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_sniper"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_40mm"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_40mm"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_stun_laser"
"OnWeaponNPCPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_stun_laser"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_tracker_rockets"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNPCPrimaryAttack_titanweapon_tracker_rockets"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_vortex_shield"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_vortex_shield"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smr"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_smr"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_NPC"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_titanweapon_xo16"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_titanweapon_xo16"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_alternator_smg" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_alternator_smg"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_alternator_smg"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_arc_launcher"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_NPC"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_NPC"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+3 -2
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_defender" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_defender"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_defender"
}
+3 -2
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_doubletake" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_doubletake"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_doubletake"
} }
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_DroneBeam"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_DronePlasma"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_dronerocket"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_engineer_combat_drone"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+2 -1
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_NPC"
}
+2 -1
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_lmg" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_lmg"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+3 -2
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GunshipLauncher"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_GunshipLauncher"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_gunship_missile"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+2 -1
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_lmg" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_lmg"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_lstar" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_lstar"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_lstar"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_mastiff" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_mastiff"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_mastiff"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_mega_turret"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_mega_turret"
}
+2 -1
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_mgl" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_mgl"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_mgl"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_npc_rocket_launcher"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_npc_rocket_launcher"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_NPC"
}
+3 -2
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_rocket_launcher" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_rocket_launcher"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_rocket_launcher"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_shotgun"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_shotgun_doublebarrel" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_shotgun_doublebarrel"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_shotgun_doublebarrel"
} }
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun_pistol" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun_pistol"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_shotgun_pistol"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smart_pistol" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smart_pistol"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+2 -1
View File
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smr" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smr"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_smr"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_sniper" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_sniper"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_sniper"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_softball" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_softball"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_softball"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_SuperSpectre"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_TurretLaser_Mega"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_TurretLaser_Mega"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_TurretPlasma"
}
@@ -0,0 +1,4 @@
WeaponData
{
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_TurretPlasma_Mega"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -1,4 +1,5 @@
WeaponData WeaponData
{ {
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_sniper" "OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_sniper"
} "OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_yh803Rocket"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack_weapon_yh803"
}
@@ -0,0 +1,5 @@
WeaponData
{
"OnWeaponPrimaryAttack" "WeaponFireCallbacks_OnWeaponPrimaryAttack"
"OnWeaponNpcPrimaryAttack" "WeaponFireCallbacks_OnWeaponNpcPrimaryAttack"
}
+5 -1
View File
@@ -7,7 +7,11 @@
"Scripts": [ "Scripts": [
{ {
"Path": "weaponFireCallbacks.gnut", "Path": "weaponFireCallbacks.gnut",
"RunOn": "SERVER" "RunOn": "CLIENT || SERVER"
},
{
"Path": "weaponFireReroutes.gnut",
"RunOn": "CLIENT || SERVER"
} }
] ]
} }
+123 -166
View File
@@ -3,194 +3,151 @@ untyped
globalize_all_functions globalize_all_functions
struct { struct {
table < entity, array< void functionref(WeaponPrimaryAttackParams attackParams) > > weaponCallbacks table < entity, array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > > weaponCallbacks
table < string, array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > > weaponClassCallbacks
table < string, array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > > ownerClassCallbacks
bool clearThreadRunning = false // Only used on client
} file } file
void function AddCallback_OnWeaponFired(entity weapon, void functionref(WeaponPrimaryAttackParams attackParams) callback){ void function WeaponFireCallbacks_AddCallbackOnWeaponFired( entity weapon, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
if(weapon in file.weaponCallbacks){ {
file.weaponCallbacks[weapon].append(callback) if ( !IsValid( weapon ) )
}else{ return
if ( weapon in file.weaponCallbacks )
file.weaponCallbacks[weapon].append( callback )
else
file.weaponCallbacks[weapon] <- [callback] file.weaponCallbacks[weapon] <- [callback]
}
AddEntityDestroyedCallback(weapon, HandleWeaponDestroyed) #if SERVER
AddEntityDestroyedCallback( weapon, WeaponFireCallbacks_HandleWeaponDestroyed )
#else
// Per-entity destroyed callbacks don't exist on client. Client needs to clear invalid keys periodically.
if ( !file.clearThreadRunning )
thread ClearInvalidWeaponsThread()
#endif
} }
function HandleWeaponDestroyed(weapon){ void function WeaponFireCallbacks_AddCallbackOnWeaponClassFired( string weaponClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
entity w = expect entity(weapon) {
if(w in file.weaponCallbacks){ if ( weaponClass in file.weaponClassCallbacks )
file.weaponClassCallbacks[weaponClass].append( callback )
else
file.weaponClassCallbacks[weaponClass] <- [callback]
}
void function WeaponFireCallbacks_RemoveCallbackOnWeaponClassFired( string weaponClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
{
if ( weaponClass in file.weaponClassCallbacks )
{
file.weaponClassCallbacks[weaponClass].fastremovebyvalue( callback )
if ( file.weaponClassCallbacks[weaponClass].len() == 0 )
delete file.weaponClassCallbacks[weaponClass]
}
}
void function WeaponFireCallbacks_AddCallbackOnOwnerClassFired( string ownerClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
{
if ( ownerClass in file.ownerClassCallbacks )
file.ownerClassCallbacks[ownerClass].append( callback )
else
file.ownerClassCallbacks[ownerClass] <- [callback]
}
void function WeaponFireCallbacks_RemoveCallbackOnOwnerClassFired( string ownerClass, void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) callback )
{
if ( ownerClass in file.ownerClassCallbacks )
{
file.ownerClassCallbacks[ownerClass].fastremovebyvalue( callback )
if ( file.ownerClassCallbacks[ownerClass].len() == 0 )
delete file.ownerClassCallbacks[ownerClass]
}
}
function WeaponFireCallbacks_HandleWeaponDestroyed( weapon )
{
entity w = expect entity( weapon )
if ( w in file.weaponCallbacks )
delete file.weaponCallbacks[w] delete file.weaponCallbacks[w]
}
} }
void function OnWeaponFired(entity weapon, WeaponPrimaryAttackParams attackParams){ #if CLIENT
if(weapon in file.weaponCallbacks){ void function ClearInvalidWeaponsThread()
array< void functionref(WeaponPrimaryAttackParams attackParams) > callbacks = file.weaponCallbacks[weapon] {
foreach(callback in callbacks){ file.clearThreadRunning = true
callback(attackParams)
while( file.weaponCallbacks.len() > 0 )
{
array< entity > invalidList = []
foreach( key, callback in file.weaponCallbacks )
{
if ( !IsValid( key ) )
invalidList.append( key )
} }
foreach( w in invalidList )
delete file.weaponCallbacks[w]
wait 1.0 // Some arbitrary number that isn't WaitFrame(), don't need to run this very often
} }
file.clearThreadRunning = false
} }
#endif
void function WeaponFireCallbacks_OnWeaponFired( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed )
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_alternator_smg( entity weapon, WeaponPrimaryAttackParams attackParams )
{ {
var result = OnWeaponPrimaryAttack_alternator_smg(weapon, attackParams) if ( weapon in file.weaponCallbacks )
if(result == 0){ {
return 0 #if CLIENT
ClearInvalidWeapons()
#endif
array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > callbacks = file.weaponCallbacks[weapon]
foreach ( callback in callbacks )
callback( weapon, attackParams, ammoUsed )
}
string weaponClass = weapon.GetWeaponClassName()
if ( weaponClass in file.weaponClassCallbacks )
{
array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > callbacks = file.weaponClassCallbacks[weaponClass]
foreach ( callback in callbacks )
callback( weapon, attackParams, ammoUsed )
}
entity owner = weapon.GetWeaponOwner()
if ( !IsValid( owner ) )
return
string ownerClass = owner.GetClassName()
if ( ownerClass in file.ownerClassCallbacks )
{
array< void functionref( entity weapon, WeaponPrimaryAttackParams attackParams, var ammoUsed ) > callbacks = file.ownerClassCallbacks[ownerClass]
foreach ( callback in callbacks )
callback( weapon, attackParams, ammoUsed )
} }
OnWeaponFired(weapon, attackParams)
return result
} }
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_defender( entity weapon, WeaponPrimaryAttackParams attackParams ) var function WeaponFireCallbacks_OnWeaponPrimaryAttack( entity weapon, WeaponPrimaryAttackParams attackParams )
{ {
var result = OnWeaponPrimaryAttack_weapon_defender(weapon, attackParams) weapon.EmitWeaponNpcSound( LOUD_WEAPON_AI_SOUND_RADIUS_MP, 0.2 )
if(result == 0){ var result = weapon.FireWeaponBullet( attackParams.pos, attackParams.dir, 1, weapon.GetWeaponDamageFlags() )
if ( result == 0 )
return 0 return 0
} WeaponFireCallbacks_OnWeaponFired( weapon, attackParams, result )
OnWeaponFired(weapon, attackParams)
return result return result
} }
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_doubletake( entity weapon, WeaponPrimaryAttackParams attackParams ) #if SERVER
var function WeaponFireCallbacks_OnWeaponNpcPrimaryAttack( entity weapon, WeaponPrimaryAttackParams attackParams )
{ {
var result = OnWeaponPrimaryAttack_weapon_doubletake(weapon, attackParams) weapon.EmitWeaponNpcSound( LOUD_WEAPON_AI_SOUND_RADIUS_MP, 0.2 )
if(result == 0){ var result = weapon.FireWeaponBullet( attackParams.pos, attackParams.dir, 1, weapon.GetWeaponDamageFlags() )
if ( result == 0 )
return 0 return 0
} WeaponFireCallbacks_OnWeaponFired( weapon, attackParams, result )
OnWeaponFired(weapon, attackParams)
return result return result
} }
#endif
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_lmg( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_lmg(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_lstar( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_lstar(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_mastiff( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_mastiff(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_mgl( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_mgl(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_rocket_launcher( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_rocket_launcher(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_shotgun(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_shotgun_doublebarrel( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_shotgun_doublebarrel(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_shotgun_pistol( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_shotgun_pistol(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smart_pistol( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_smart_pistol(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_smr( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_smr(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_sniper( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_sniper(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_softball( entity weapon, WeaponPrimaryAttackParams attackParams )
{
var result = OnWeaponPrimaryAttack_weapon_softball(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_weapon_generic( entity weapon, WeaponPrimaryAttackParams attackParams ){
OnWeaponFired(weapon, attackParams)
}
var function WeaponFireCallbacks_OnWeaponPrimaryAttack_GenericBoltWithDrop_Player( entity weapon, WeaponPrimaryAttackParams attackParams ){
var result = OnWeaponPrimaryAttack_GenericBoltWithDrop_Player(weapon, attackParams)
if(result == 0){
return 0
}
OnWeaponFired(weapon, attackParams)
return result
}

Some files were not shown because too many files have changed in this diff Show More