public RocketShootEvent(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity) { _entity = new Entity(baseEntity); _player = Server.GetPlayer(msg.player); _msg = msg; _launch = baseLauncher; }
void DrawRocketPath(BasePlayer player, BaseLauncher launcher) { if (Settings.UsePermissions) { if (!permission.UserHasPermission(player.UserIDString, Permission_Path) && !player.IsAdmin) { return; } } if (launcher.primaryMagazine.contents == 0) { return; } var ammoType = launcher.primaryMagazine.ammoType.GetComponent <ItemModProjectile>().projectileObject.Get().GetComponent <ServerProjectile>(); float velocityScale = Settings.RocketVelocityScale; if (launcher.primaryMagazine.ammoType.shortname == "ammo.rocket.hv") { velocityScale = Settings.HVRocketVelocityScale; } else if (launcher.primaryMagazine.ammoType.shortname == "ammo.rocket.fire") { velocityScale = Settings.FireRocketVelocityScale; } List <Vector3> list = Pool.GetList <Vector3>(); float step = 0.3f; DoMovement(list, player.eyes.position + (player.eyes.BodyForward() * ammoType.speed) * velocityScale * step, (player.eyes.BodyForward() * ammoType.speed) * velocityScale, step, 30, ammoType.gravityModifier); for (int i = 0; i < list.Count - 1; i++) { DrawArrow(player, UpdateRate, Color.green, list[i], list[i + 1]); } Pool.FreeList(ref list); }
public ShootRocketEvent(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity) { BaseLauncher = baseLauncher; Entity = new Entity(baseEntity); Player = Server.GetPlayer(msg.player); }
/// <summary> /// Called from <c>BaseLauncher.SV_Launch(BaseEntity.RPCMessage)</c> . /// </summary> public static void On_PlayerShootRocket(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity) { OnNext("On_PlayerShootRocket", new ShootRocketEvent(baseLauncher, msg, baseEntity)); }
public static void OnRocketShoot(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity) { OnRocketShooting.OnNext(new RocketShootEvent(baseLauncher, msg, baseEntity)); }
public static void On_RocketShooting(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity) { OnNext("On_RocketShooting", new RocketShootEvent(baseLauncher, msg, baseEntity)); }