Exemple #1
0
        public override void on_message(string msg, dynamic data)
        {
            if (msg.Equals("fireInput"))
            {
                if (((Playing_State)state).game_conf.soccer_mode)
                {
                    return;
                }

                Entity    origin = data.Origin;
                Weapon    weapon = data.Weapon;
                Ship_Info ship   = data.Ship;
                Bullet_Factory.fire_weapon(origin, weapon);
                if (!ship.has_powerup(typeof(Free_Fire_Powerup)))
                {
                    ship.energy_value -= weapon.energy_cost;
                }



                var input = origin.get_component <Input>();
                if (input != null)
                {
                    input.left_vib  += weapon.vib_left;
                    input.right_vib += weapon.vib_right;
                }
                Fab5_Game.inst().message("weapon_fired", new { name = weapon.sound, entity1 = origin, varying_pitch = true });
                weapon.timeSinceLastShot = 0f;
                if (weapon.GetType() == typeof(Secondary_Weapon) && ship.has_powerup(typeof(Fast_Bombs_Powerup)))
                {
                    weapon.timeSinceLastShot = weapon.fire_rate * 0.8f;
                }
            }
        }
Exemple #2
0
        public override void begin(Entity holder)
        {
            var weapon = holder.get_component <Primary_Weapon>();

            holder_id = holder.id;

            Bullet_Factory.fire_burst_powerup(holder, weapon);
            Fab5_Game.inst().message("weapon_fired", new { name = weapon.sound, entity1 = holder, varying_pitch = true });
        }