Hey!
The idea is using "Battery" type magazines for energy/fuel based weapons/damage types.
As Yankees added the code for different ammo using with shot numbers with it, i got an idea to go over this code. Editing shot types ("weapons use"s) with different stats and abilities to make a weapon more tactical.
With this idea, you will have battery for your weapon. With this battery, you can use it differently from shot to shot.
Think about a heavy laser weapon we all have and used.. default one always sucked, still heavy weapons don't have a big part of modded community because it's big damage with high TU and low ACC mostly.. but we love to use it because it's powerful. But we want a burst version of it too.. maybe a long range sniping shots with good acc could be nice addition.. we need to have a sniper laser and a gatling one to make this happen.. but if we add burst to a heavy laser, it could be OP at short to mid range.. if we add good acc and long range, then it will be an OP sniper..
So.. what can we do... we need to able to get them together with nice and logical limitations.. Lets take our heavy laser.. and give it a battery of 30 charge.. so basicly a magazine with 30 ammo...
- Replace aimed shot with "Beam Shot", %500 of standard damage, short range, high dropoff, high damage reduction by tile, or just simple very short maxRange.. takes "10" charge from the battery..
- Replace snap shot with nothing, just snap.. %250 damage with everything standard for heavy laser.. uses "5" charge.
- Replace auto with "Burst Shot", an auto shot with 10 shots, %100 damage, moderate range and acc.. uses "1" charge per shot..
Now you got a heavy laser you can use at different situations.. i gave an example.. you can create shots with armor damaging/destroying stats, you can use a armour penetrating shot with more charge used.. everything is possible..
And you can make other "batteries" with more charge less damage, with more penetrating power with less charge.. and you can use this battery for all kind of weapons at your branch, from pistol to heavy..
With this options, you can have a pistol with smg and shotgun abilities, a rifle with sniping, a heavy with more tactical options.. so rather then have 10+ type of weapons at your weapon tier like pistol, heavy pistol, smg, shotgun, rifle, sniper, heavy, LMG, gatling vs.. you can handle it with 4 weapon and 2 battery type even with more options then having that 10+ weapon together!
Energy and fuel based (like laser, plasma and flamethrowers) weapons can have totally different game style rather then having different sprites/names and only a different damage type..
I shortly talked over with Yankees anyway, so i wanted to share the idea with you all..
PS: And the problem which player and AI and game code can have with this, "can't able to shoot even you got some ammo but not enough for the shot type"..
There is possible solutions which will save the AI too..
- The shot gets penalty if it does not have all the ammo it needs.. like a shot with 100 damage and 10 charge needed, can fire it with 5 charge but with %50 damage reduction.. so AI can shoot and replace the ammo after it finished off. But player can forget to check the ammo before fire.. so needs more attention.. this could be an option with true/false to not break the AI..
- The system could check the ammo needs and tell the player that there is not enough ammo to shoot..simple but it won't work with AI because there is still ammo.. but if it could be coded just only a warning but able to shot anyway, there won't be any problem.. I mean when you try to shot, the game will warn you, but you can still fire it with penalty, and AI can shot it because there is no limit..
- The modder could avoid to use this method for the "only alien" weapons.. so AI won't bother with it.. this is the worst case scenario.. but the first idea can handle most of things..
The example code:
confAimed:
shots: 1 #number of shots. Defulat `1`.
[i]ammoPerShot: 5 #number of ammo needed to shot[/i]
name: STR_AIMED_SHOT #name of attack in action menu.
ammoSlot: 0 #with ammo slot is used by this attack. Defulat `0`.
[i]damagemultiplayer: #as % of damage of default weapon damage
accuracyMultiplier: #same as damage[/i]
maxRange:
minRange:
dropoff:
powerRangeReduction: 0.0 #how much power a bullet loses per tile, used by Psi-Amp damage too.
powerRangeThreshold: 0.0 #how far in tiles bullet need fly to start appling `powerRangeReduction`.
damageAlter: #with all the stats under it, to make shot unique, tactical
[i]damagePenalty: true #if there is not enough ammo, the shoot will get damage penalty as %...[/i]
I hope i could explain myself.. thank you!