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;
//---