Here's something I've been working on for a little while. The ZScript Weapons Library attempts to ease the creation of weapons with features beyond those present in the original Doom engine games. This is only version 0.1.0, so several important features are missing (i.e. those related to non-hitscan weapons), but it should give you an idea of what will be possible in the final version. I haven't created a tutorial (yet), but there are several example weapons in the demo, and the ZWeapon class is fairly well documented.
Here are some features:
- Conical bullet spread. It even stays conical when looking up (an improvement over Snarboo's implementation).
- Automatic weapons can be set to fire at a fixed rate, even one not divisible by a whole number of tics.
- Shotguns have both accuracy, which determines the general direction pellets will go, and spread, which determines how widely they spread apart.
- A bullet casing class and eject function.
- A class for decals that appear on floors/ceilings, and a bullet puff class that spawns them.
- A flexible reloading system.
- Automatic weapons can also have a looping attack sound with an attack, sustain, and release.
- Semi-automatic fire.
- Laser and proximity mines.
- HitOwner flag (for explosives) doesn't activate until explosive is no longer touching player.
- Hitscan and projectile shrapnel.
- Mines can stick to floors, walls, ceilings, and actors.
- Laser-guided missiles.
Downloads:
- zwl-v0.3.0.pk3 - Main download
- demo-v0.3.0.pk3 - Demo weapons and level