Example #1
0
 public RocketShootEvent(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity)
 {
     _entity = new Entity(baseEntity);
     _player = Server.GetPlayer(msg.player);
     _msg = msg;
     _launch = baseLauncher;
 }
Example #2
0
 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);
        }
Example #4
0
 public ShootRocketEvent(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity)
 {
     BaseLauncher = baseLauncher;
     Entity = new Entity(baseEntity);
     Player = Server.GetPlayer(msg.player);
 }
Example #5
0
 /// <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));
 }
Example #6
0
 public static void OnRocketShoot(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity)
 {
     OnRocketShooting.OnNext(new RocketShootEvent(baseLauncher, msg, baseEntity));
 }
Example #7
0
 public static void On_RocketShooting(BaseLauncher baseLauncher, BaseEntity.RPCMessage msg, BaseEntity baseEntity)
 {
     OnNext("On_RocketShooting", new RocketShootEvent(baseLauncher, msg, baseEntity));
 }