Skip to content

OnSiegeWeaponFire

Usage

  • Return a non-null value to override default behavior

Example Autogenerated

csharp
private object OnSiegeWeaponFire( BatteringRam instance, BasePlayer player )
{
    Puts( "OnSiegeWeaponFire works!" );
    return null;
}
csharp
private object OnSiegeWeaponFire( Catapult instance, BasePlayer player )
{
    Puts( "OnSiegeWeaponFire works!" );
    return null;
}

Location

  • BatteringRam::SERVER_WantsAttack(BaseEntity.RPCMessage msg)
  • Catapult::SERVER_WantsFire(BaseEntity.RPCMessage msg)
csharp
//---
public void SERVER_WantsAttack(RPCMessage msg)
{
	BasePlayer player = msg.player;
	BasePlayer driver = GetDriver();
	if (driver == null || player == null || driver != player || !CanAttack() || driver.InSafeZone() || Interface.CallHook("OnSiegeWeaponFire", this, player) != null)
	{
		return;
	}
	ClientRPC(RpcTarget.NetworkGroup("CLIENT_Attack"));
	Invoke(delegate
//---
csharp
public void SERVER_WantsFire(RPCMessage msg)
{
	BasePlayer player = msg.player;
	if (CanFire() && Interface.CallHook("OnSiegeWeaponFire", this, player) == null)
	{
		float force = reloadProgress;
		Fire(player, force);
		reloadProgress = 0f;
		timeSinceLastFire = 0f;
//---

Released under the MIT License.