Weapon Salvo's & other misc musings

1. Weapon Salvo’s
I’d like to bring this up again, as the other thread very quickly dropped off the page.
viewtopic.php?f=23&t=2777

There are currently two types of weapons possible in GSB:

  1. Weapons that fire very quickly. (BANG-BANG-BANG-BANG-BANG-BANG, ect)
  2. Weapons that fire very slowly. (BANG… BANG… BANG… BANG… BANG…, ect)

A salvo is defined as: “the simultaneous discharge of artillery or firearms including the firing of guns”

An example of a salvo weapon would be the Russian “Katyusha” launcher or German “Nebelwerfer.” Both of these weapons fire a number of shots very rapidly, then taken a large amount of time to reload. ie; (BANG-BANG-BANG-BANG… (delay) BANG-BANG-BANG-BANG… (delay), ect)

I would like to request the creation of three new variables for use in weapons:

fire_reload=
An integer, determines the time between firing salvos. “fire_interval” is used to determine the time between individual shots within the salvo. By default is 0 (only required if fire_salvo=1).

fire_amount=
An integer, determines the number of shots in a salvo between reload. By default is 0 (only required if fire_salvo=1).

has_salvo=
Boolean, determines whether or not to fire in salvos. By default is 0.

This would allow the creation of weapons that fire a number of shots very quickly, then take time to reload, or rail guns that fire in bursts. The key here is alternating many quick shots with a long delay to balance.

2. Random Integers for use as variables, ie; Damage, Fire Intervals, Beam Duration.
My second question has to do with the use of integers for most variables (such as damage).
Would it be too much to add support for random integers? IE: damage=(50,100), or fire_interval=(1000,2500)

3. Specific “weapon hex” requirements.
Another question is about the possibility of making a variable to determine whether a weapon must be placed on a “multiple turret” hex, or if it cannot be placed on said hex, or if it doesn’t matter. Then you could make special weapons which are only able to placed on single hexes (such as giant beams of death) and thus do not end up having multiple visual turrets. Or make a flak weapon that requires to be placed on a multiple turret hex, so you get that “flak battery” look.

Something like an integer “has_requirement”, for example

has_requirement=0 (default, no special hex requirements)
has_requirement=1 (can only be placed on hexes WITHOUT additional visual turrets)
has_requirement=2 (can only be placed on hexes WITH additional visual turrets)


I bring these up because as far as I know, these are all impossible without changing what has been hard-coded into the game.

This is a good idea, but it will just have to wait until he decides to do so.

These would all be very useful things to add, along with settings the limit Field of Fire/Firing Arcs and to make fixed turrets.

Lets just hope Cliff can impliment them…

Salvoes for missiles AND limited ammo is a huge addition that is needed.

One, designing the ships is half the fun—adding limited ammo for some weapons, PLUS allowing novel uses (constant fire vs spreads, etc) makes this process more varied and interesting. Two, it’s gratuitous. The anime like battles with a pod sending forth a twisting swarm of missiles is as gratuitous as it gets, IMO.

Orders to take advantage are needed as well. A “Shoot and Scoot” order would be nice—approach to ordered range, fire a gratuitous swarm, then run away and wait to reload.

I cheated some almost salvos for myself. went and edited the decoy seperation range to the max range of the launcher. on most ships this has the effect of a group of missles going going out with each shot.

IN addition to a salvo option, to be truly gratuitous, we need for the weapon module this setting: anime=1

When anime=1 (if none set it =0) the missiles describe some sort of twisting path around their base course. giving the real anime effect of a twisting swarm of missiles.

Cliffski just pointed out that the new guns in tribes use salvo.
The parameters are:

Salvo_size: How many shots are fired in one salvo.
Salvo_interval: The number of time between in each shot in the salvo, presumably in milliseconds.

The time between each salvo is determined by the value in the fire_interval string.

  • CT