Sheen HMG fully functional. May need touchups later.
This commit is contained in:
parent
4ec3a595c4
commit
57253d5434
36 changed files with 528 additions and 94 deletions
|
|
@ -350,37 +350,6 @@ extend Class SWWMHandler
|
|||
if ( SWWMCredits.Take(players[e.Args[0]],e.Args[1]) )
|
||||
{
|
||||
let def = GetDefaultByType(item);
|
||||
SWWMWeapon sw;
|
||||
// drop the swapweapon if we own it first
|
||||
if ( swwm_swapweapons && (item is 'SWWMWeapon') && (sw = SWWMWeapon(def).HasSwapWeapon(players[e.Args[0]].mo)) )
|
||||
{
|
||||
// special case, otherwise candy gun won't drop itself
|
||||
if ( sw is 'CandyGun' ) CandyGun(sw).swapdrop = true;
|
||||
bool swapto = (sw == players[e.Args[0]].ReadyWeapon) || (sw.SisterWeapon && (sw.Sisterweapon == players[e.Args[0]].ReadyWeapon));
|
||||
int ngun = sw.Amount;
|
||||
if ( ngun == 2 )
|
||||
{
|
||||
// create a dual giver to drop
|
||||
let dg = SWWMDualWeaponGiver(Actor.Spawn("SWWMDualWeaponGiver",players[e.Args[0]].mo.pos+(0,0,10)));
|
||||
dg.angle = players[e.Args[0]].mo.angle;
|
||||
dg.VelFromAngle(5.);
|
||||
dg.vel.z += 1.;
|
||||
dg.vel += players[e.Args[0]].mo.vel;
|
||||
// transfer both guns
|
||||
dg.giveme[0] = SWWMWeapon(sw.CreateTossable(1));
|
||||
dg.giveme[0].AttachToOwner(dg);
|
||||
dg.giveme[1] = SWWMWeapon(sw.CreateTossable(1));
|
||||
dg.giveme[1].AttachToOwner(dg);
|
||||
dg.SetPickupState();
|
||||
}
|
||||
else players[e.Args[0]].mo.DropInventory(sw); // just drop it
|
||||
// don't autoswitch just yet (hacky)
|
||||
if ( swapto )
|
||||
{
|
||||
players[e.Args[0]].ReadyWeapon = null;
|
||||
players[e.Args[0]].PendingWeapon = WP_NOCHANGE;
|
||||
}
|
||||
}
|
||||
if ( (item is 'ArmorNuggetItem') || (item is 'HealthNuggetItem') )
|
||||
{
|
||||
// these have to be given in a loop because fun reasons
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue