Skip to content

OnSiegeWeaponFire

Usage

  • Return a non-null value to override default behavior

Example Autogenerated

csharp
private object OnSiegeWeaponFire( BatteringRam instance, BasePlayer driver )
{
    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
//---
[RPC_Server]
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)
	{
		ClientRPC(RpcTarget.NetworkGroup("CLIENT_Attack"));
		Invoke(delegate
		{
			ScanEntities(driver);
//---
csharp
[RPC_Server.MaxDistance(3f)]
[RPC_Server]
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.