swwmgz_m/zscript/dlc/swwm_ultimate.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

60 lines
1.7 KiB
Text

// Nekuratek Rafan-Kos aka "The Ultimate Weapon" (from UnSX 4)
// Slot 0, spawns shared with Ynykron Artifact
/*
dev notes:
- another weapon of the old lore, gotta do my best here
- charge should start with "one extra point", which will count as
the vacuum seal on the pod itself having to be broken before it can
be used, it's simple enough
- to eject the pod, the entire crucible (the barrel) has to slide
backwards, important design detail
- magazine is loaded from the front by opening the handguard as if it
was an oven door (yes, that's how I want it)
- the "elastic beam" system from that one failed unrealscript project
could be recycled for this
- obviously, each beam has to do the fun thing of keeping track of
entry and exit points into level geometry, hopefully this won't be
too costly as the beam range isn't super-long and segments will be
rather large in size, though I worry about the altfire since the idea
is to split it into four thinner beams with the same length but lower
damage
*/
Class RafanKos : SWWMWeapon
{
int clipcount;
bool chambered;
int charge;
Property ClipCount : clipcount;
Default
{
Tag "$T_RAFANKOS";
Inventory.PickupMessage "$T_RAFANKOS";
Inventory.PickupSound "misc/w_pkup_vip";
Obituary "$O_RAFANKOS";
SWWMWeapon.Tooltip "$TT_RAFANKOS";
SWWMWeapon.GetLine "getrafankos";
Weapon.SlotNumber 0;
Weapon.SlotPriority 2.;
Weapon.SelectionOrder 8000;
Weapon.AmmoType1 'UltimateAmmo';
Weapon.AmmoGive1 1;
SWWMWeapon.DropAmmoType 'SWWMCellAmmoBig';
RafanKos.ClipCount 4;
Stamina -5000000;
+SWWMWEAPON.NOFIRSTGIVE;
+SWWMWEAPON.HASSCRTEX;
+WEAPON.EXPLOSIVE;
+WEAPON.BFG;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}