swwmgz_m/zscript/dlc/swwm_thiccbolts.zsc
Marisa the Magician 80db58b0d0 Bump zscript ver to 4.14.1, plus a whole lot of stuff.
- Try to get rid of all implicit casts from string to name, color or class.
 - Use FindClass where needed.
 - Used a map in a case where a dictionary was unneeded.
 - Use new bounce flags where needed.
 - Replace Legacy of Rust weapons/ammo.
2025-03-13 14:50:58 +01:00

64 lines
2 KiB
Text

// Kmonn Shunna Ray-Khom (from UnSX series)
// Slot 8, shared spawn with Silver Bullet JET
/*
dev notes:
- I cannot screw this one up, this is the chance to finally bring it
into existence and it has to be as accurate as possible to the lore
- A fun idea I've had is to use scripted textures to draw arc lightning
around the barrel and bayonets, using a "glass overlay" akin to the
one on the hellblazer
- The scope will use a set of coarse gravity-affected linetraces to
calculate where the projectile will land and then offset the reticle
accordingly, shouldn't be too hard, but it's best to do it per-tic
and then interpolate in the render pass
- the logic for the lightning in water effect shouldn't be too
difficult, albeit costly due to the need for recursion between
connected sectors that have liquid terrain, as well as swimmable 3d
floors, height transfers, etc.
- obviously a range limit must be added for that, about 3200 map units
(100 meters) should be enough?
- the idea with the charge is that it always goes up, but primary fire
only consumes a bit of it, thus ensuring a steady automatic fire rate
and then the secondary drains all of it, which will make it charge
back up slower
- the fulldrain bool is set by the altfire, so when charge is back to
full, a message will be sent to the player in case the weapon is
holstered, kinda like the full charge message for the ynykton
*/
Class RayKhom : SWWMWeapon
{
int clipcount;
int charge;
bool fulldrain;
Property ClipCount : clipcount;
Default
{
Tag "$T_RAYKHOM";
Inventory.PickupMessage "$T_RAYKHOM";
Obituary "$O_RAYKHOM";
SWWMWeapon.Tooltip "$TT_RAYKHOM";
SWWMWeapon.GetLine "getraykhom";
Weapon.SlotNumber 8;
Weapon.SlotPriority 2.;
Weapon.SelectionOrder 750;
Weapon.AmmoType1 'RayAmmo';
Weapon.AmmoGive1 1;
SWWMWeapon.DropAmmoType 'SWWMCellAmmoSmall';
RayKhom.ClipCount 10;
Stamina 500000;
+SWWMWEAPON.NOFIRSTGIVE;
+SWWMWEAPON.HASSCRTEX;
+WEAPON.EXPLOSIVE;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}