Make items drop in "Unreal style" from the player.
This commit is contained in:
parent
e503c8d004
commit
e35f78035e
12 changed files with 42 additions and 2 deletions
|
|
@ -5,6 +5,7 @@ Class SWWMAmmo : Ammo
|
|||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
meta String PickupTag;
|
||||
meta Class<MagAmmo> MagAmmoType;
|
||||
|
|
@ -277,6 +278,7 @@ Class MagAmmo : Inventory abstract
|
|||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
meta Class<Ammo> ParentAmmo;
|
||||
Ammo pamo;
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ Class SWWMSpareArmor : Inventory abstract
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
meta Class<SWWMArmor> giveme;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ Class SWWMHealth : Inventory abstract
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
// can't use the Health class for whatever reason
|
||||
// nice parser you got there I guess?
|
||||
|
|
|
|||
|
|
@ -237,6 +237,20 @@ Mixin Class SWWMRotatingPickup
|
|||
}
|
||||
}
|
||||
|
||||
Mixin Class SWWMUnrealStyleDrop
|
||||
{
|
||||
override void OnDrop( Actor dropper )
|
||||
{
|
||||
if ( !(dropper is 'Demolitionist') ) return;
|
||||
Vector3 ofs = SWWMUtility.RotateVector3((dropper.radius,0.,dropper.height*.5),dropper.angle);
|
||||
SetOrigin(level.Vec3Offset(dropper.pos,ofs),false);
|
||||
vel = SWWMUtility.GetPlayerViewDir(dropper)*12.+(0.,0.,4.);
|
||||
angle = dropper.angle;
|
||||
pitch = 0;
|
||||
roll = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Mixin Class SWWMRespawn
|
||||
{
|
||||
override void Hide()
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ Class SWWMCollectible : Inventory abstract
|
|||
{
|
||||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
meta int avail;
|
||||
bool propagated;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ Class SWWMKey : Key abstract
|
|||
Mixin SWWMOverlapPickupSound;
|
||||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
bool propagated;
|
||||
|
||||
|
|
|
|||
|
|
@ -493,6 +493,7 @@ Class SWWMLamp : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
bool bActive, bActivated;
|
||||
TextureID OnIcon;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ Class Omnisight : Inventory
|
|||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override bool TryPickup( in out Actor toucher )
|
||||
{
|
||||
|
|
@ -76,6 +77,7 @@ Class SafetyTether : Inventory
|
|||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
bool bPrimed, bFailed;
|
||||
int primetim;
|
||||
|
|
|
|||
|
|
@ -190,6 +190,13 @@ Class GrilledCheeseSandwich : Inventory
|
|||
override void OnDrop( Actor dropper )
|
||||
{
|
||||
lastdropper = dropper;
|
||||
if ( !(dropper is 'Demolitionist') ) return;
|
||||
Vector3 ofs = SWWMUtility.RotateVector3((dropper.radius,0.,dropper.height*.5),dropper.angle);
|
||||
SetOrigin(level.Vec3Offset(dropper.pos,ofs),false);
|
||||
vel = SWWMUtility.GetPlayerViewDir(dropper)*12.+(0.,0.,4.);
|
||||
angle = dropper.angle;
|
||||
pitch = 0;
|
||||
roll = 0;
|
||||
}
|
||||
override void PostTeleport( Vector3 destpos, double destangle, int flags )
|
||||
{
|
||||
|
|
@ -414,6 +421,7 @@ Class GhostArtifact : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
Default
|
||||
{
|
||||
|
|
@ -585,6 +593,7 @@ Class GravitySuppressor : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override bool Use( bool pickup )
|
||||
{
|
||||
|
|
@ -817,6 +826,7 @@ Class FuckingInvinciball : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override Inventory CreateCopy( Actor other )
|
||||
{
|
||||
|
|
@ -1095,6 +1105,7 @@ Class Ragekit : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override bool Use( bool pickup )
|
||||
{
|
||||
|
|
@ -1337,6 +1348,7 @@ Class EBarrier : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
int terrainwait;
|
||||
|
||||
|
|
|
|||
|
|
@ -466,6 +466,7 @@ Class Mykradvo : Inventory
|
|||
Mixin SWWMUseToPickup;
|
||||
Mixin SWWMRespawn;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
Actor ringa[2];
|
||||
|
||||
|
|
@ -899,6 +900,7 @@ Class AngerySigil : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override bool Use( bool pickup )
|
||||
{
|
||||
|
|
@ -1183,6 +1185,7 @@ Class DivineSprite : Inventory
|
|||
Mixin SWWMRespawn;
|
||||
Mixin SWWMRotatingPickup;
|
||||
Mixin SWWMPickupGlow;
|
||||
Mixin SWWMUnrealStyleDrop;
|
||||
|
||||
override bool Use( bool pickup )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue