public override bool SharedOnDamage( WeaponFinalCache weaponCache, IWorldObject targetObject, double damagePreMultiplier, double damagePostMultiplier, out double obstacleBlockDamageCoef, out double damageApplied) { var result = base.SharedOnDamage(weaponCache, targetObject, damagePreMultiplier, damagePostMultiplier, out obstacleBlockDamageCoef, out damageApplied); if (!result) { return(false); } if (IsClient) { return(true); } ObjectMineralPragmiumSource.ServerTryClaimPragmiumClusterNearCharacter(weaponCache.Character); return(true); }
public override void ServerOnDestroy(IStaticWorldObject gameObject) { var tilePosition = gameObject.TilePosition; // spawn Pragmium nodes on explosion (right after the damage is dealt to all the objects there) ServerTimersSystem.AddAction( delaySeconds: this.ExplosionPreset.ServerDamageApplyDelay * 1.01, () => ObjectMineralPragmiumSource.ServerOnExplode(tilePosition, this.DamageRadius)); base.ServerOnDestroy(gameObject); }