swwmgz_m/zscript/dlc1/swwm_blastin.zsc

76 lines
1.9 KiB
Text

// Nuutek Plasma Blaster (from SWWM series)
// Slot 2, spawns shared with Explodium Gun
/*
dev notes:
- very low recoil per shot, except for altfire
- chargelevel is used as a timer, once reached, release altfire to
spend entire clipcount for alt projectile, with damage, size and
lifespan scaling with clipcount
- idea for projectile include solid "glob" with glowing tail, as well
as various particle trails and lingering "beams"
- lingering beams will use bezier curves to follow trailing points that
gradually move away, with alpha interpolating between them based on
their own lifespan as well (no idea how hard this will be to
implement but that's part of the fun, really)
- originally intended to have a very verbose display, but that may not
be a great idea and I need to look into a more "ergonomic" design
*/
Class PlasmaBlast : SWWMWeapon
{
int clipcount, chargelevel;
Property ClipCount : clipcount;
Default
{
Tag "$T_PLASMABLAST";
Inventory.Icon "graphics/HUD/Icons/W_PlasmaBlast.png";
Inventory.PickupMessage "$T_PLASMABLAST";
Obituary "$O_PLASMABLAST";
SWWMWeapon.Tooltip "$TT_PLASMABLAST";
SWWMWeapon.GetLine "getplasmablast1";
Weapon.SlotNumber 2;
Weapon.SlotPriority 3.;
Weapon.SelectionOrder 1100;
Inventory.MaxAmount 2;
Weapon.SisterWeapon "DualPlasmaBlast";
Stamina 7000;
PlasmaBlast.ClipCount 8;
+WEAPON.EXPLOSIVE;
+SWWMWEAPON.HASSCRTEX;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class DualPlasmaBlast : SWWMWeapon
{
int clipcount;
Property ClipCount : clipcount;
Default
{
Tag "$T_PLASMABLAST2";
Obituary "$O_PLASMABLAST";
SWWMWeapon.Tooltip "$TT_PLASMABLAST2";
SWWMWeapon.GetLine "getplasmablast2";
SWWMWeapon.NumCrosshairs 2;
Weapon.SlotNumber 2;
Weapon.SlotPriority 4.;
Weapon.SelectionOrder 1050;
Weapon.SisterWeapon "PlasmaBlast";
DualPlasmaBlast.ClipCount 8;
+WEAPON.EXPLOSIVE;
+SWWMWEAPON.HIDEINMENU;
+SWWMWEAPON.NOSWAPWEAPON;
+SWWMWEAPON.HASSCRTEX;
}
}