Projectile physics hotfix from Demolitionist.
This commit is contained in:
parent
ba4fabc410
commit
ec1794c755
14 changed files with 65 additions and 2 deletions
|
|
@ -226,6 +226,7 @@ Class ASMDSpark : Actor
|
|||
+DONTSPLASH;
|
||||
+CANBOUNCEWATER;
|
||||
-BOUNCEAUTOOFF;
|
||||
+NOFRICTION;
|
||||
BounceType "Hexen";
|
||||
BounceFactor 1.0;
|
||||
WallBounceFactor 1.0;
|
||||
|
|
@ -437,6 +438,7 @@ Class ASMDBall : Actor
|
|||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOFRICTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -374,6 +374,7 @@ Class DispersionAmmo : Actor
|
|||
+NODAMAGETHRUST;
|
||||
+INTERPOLATEANGLES;
|
||||
+HITTRACER;
|
||||
+NOFRICTION;
|
||||
DispersionAmmo.LightClass "DispExLight1";
|
||||
DispersionAmmo.BurstClass "DispBurst1";
|
||||
DispersionAmmo.ExploClass "DispExplo1";
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ Class UFireball : Actor
|
|||
+NODAMAGETHRUST;
|
||||
+FORCEXYBILLBOARD;
|
||||
+DONTSPLASH;
|
||||
+NOFRICTION;
|
||||
UFireball.SpreadFactor 0.2;
|
||||
UFireball.NumSmokes 1;
|
||||
UFireball.NumSparks 2;
|
||||
|
|
|
|||
|
|
@ -588,6 +588,7 @@ Class ImpalerProjectile : Actor
|
|||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOFRICTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -246,6 +246,8 @@ Class VoiceBoxHitbox : Actor
|
|||
|
||||
Class VoiceBoxActive : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
Actor b;
|
||||
double desiredangle, anglevel, oldangle;
|
||||
|
||||
|
|
@ -411,6 +413,8 @@ Class Flare : UnrealInventory
|
|||
|
||||
Class FlareThrown : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
double pitchvel, anglevel, rollvel;
|
||||
double desiredangle;
|
||||
bool rotatetodesired;
|
||||
|
|
@ -724,6 +728,8 @@ Class DarkFlare : BetaFlare
|
|||
|
||||
Class BetaFlareThrown : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
double pitchvel, anglevel, rollvel;
|
||||
double desiredangle;
|
||||
bool rotatetodesired;
|
||||
|
|
@ -1838,6 +1844,8 @@ Class MinigunSentry : Actor
|
|||
|
||||
Class SentryFragment : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
int deadtimer;
|
||||
double rollvel, anglevel, pitchvel;
|
||||
double heat;
|
||||
|
|
|
|||
|
|
@ -376,6 +376,16 @@ Class UNapalm : Actor
|
|||
yawvel = FRandom[FlameT](10,30)*RandomPick[FlameT](-1,1);
|
||||
if ( waterlevel <= 0 ) myfire = OnFire.Apply(self,target,int(120*scale.x),true,6);
|
||||
}
|
||||
override void FallAndSink( double grav, double oldfloorz )
|
||||
{
|
||||
if ( bNOGRAVITY || (waterlevel < 1) )
|
||||
{
|
||||
Super.FallAndSink(grav,oldfloorz);
|
||||
return;
|
||||
}
|
||||
vel *= .99;
|
||||
if ( pos.z > floorz ) vel.z += grav*.01; // floats in water
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
Super.Tick();
|
||||
|
|
@ -387,7 +397,6 @@ Class UNapalm : Actor
|
|||
pitch += yawvel;
|
||||
if ( waterlevel > 0 )
|
||||
{
|
||||
vel.xy *= 0.98;
|
||||
rollvel *= 0.98;
|
||||
pitchvel *= 0.98;
|
||||
yawvel *= 0.98;
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ Class PeaceRocket : Actor
|
|||
+NODAMAGETHRUST;
|
||||
+INTERPOLATEANGLES;
|
||||
+HITOWNER;
|
||||
+NOFRICTION;
|
||||
ReactionTime 9;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -207,6 +208,8 @@ Class PeaceFragment : SentryFragment
|
|||
|
||||
Class PeaceBarrel : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
action void A_AlignSelf()
|
||||
{
|
||||
// find closest 3d floor for its normal
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ Class RazorBlade : Actor
|
|||
+NODAMAGETHRUST;
|
||||
+DONTBOUNCEONSHOOTABLES;
|
||||
+ROLLSPRITE;
|
||||
+NOFRICTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ Class StingerBurstLight : PaletteLight
|
|||
|
||||
Class StingerChunk : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
int deadtimer;
|
||||
double rollvel, anglevel, pitchvel;
|
||||
|
||||
|
|
@ -417,6 +419,7 @@ Class StingerProjectile : Actor
|
|||
Height 2;
|
||||
PROJECTILE;
|
||||
+SKYEXPLODE;
|
||||
+NOFRICTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -81,6 +81,16 @@ Class UBioGel : Actor
|
|||
if ( (victim is 'BioHitbox') && ((victim.target == master) || (victim.target.master == master)) ) return 1;
|
||||
return -1;
|
||||
}
|
||||
override void FallAndSink( double grav, double oldfloorz )
|
||||
{
|
||||
if ( bNOGRAVITY || (waterlevel < 1) )
|
||||
{
|
||||
Super.FallAndSink(grav,oldfloorz);
|
||||
return;
|
||||
}
|
||||
vel *= .99;
|
||||
if ( pos.z > floorz ) vel.z += grav*.01; // floats in water
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
Super.Tick();
|
||||
|
|
@ -92,7 +102,6 @@ Class UBioGel : Actor
|
|||
pitch += yawvel;
|
||||
if ( waterlevel > 0 )
|
||||
{
|
||||
vel.xy *= 0.98;
|
||||
rollvel *= 0.98;
|
||||
pitchvel *= 0.98;
|
||||
yawvel *= 0.98;
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@ Class URocketTrail : Actor
|
|||
|
||||
Class URocket : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
Vector3 InitialDir, Acceleration;
|
||||
int ticcnt;
|
||||
bool ringex;
|
||||
|
|
|
|||
|
|
@ -97,6 +97,8 @@ Class NaliFruit : Health
|
|||
|
||||
Class SeedProj : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
double pitchvel, anglevel, rollvel;
|
||||
double desiredangle;
|
||||
bool rotatetodesired;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,22 @@
|
|||
// backported from DEMOLITIONIST, needed to fix the broken water physics of some projectiles
|
||||
Mixin Class UMissileFix
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOFRICTION;
|
||||
}
|
||||
override void FallAndSink( double grav, double oldfloorz )
|
||||
{
|
||||
if ( bNOGRAVITY || (waterlevel < 1) )
|
||||
{
|
||||
Super.FallAndSink(grav,oldfloorz);
|
||||
return;
|
||||
}
|
||||
vel *= .99;
|
||||
if ( pos.z > floorz ) vel.z -= grav*.01;
|
||||
}
|
||||
}
|
||||
|
||||
Class UPlayer : UTPlayer
|
||||
{
|
||||
Default
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ Class UTranslocatorAmmo : Ammo
|
|||
|
||||
Class UTranslocatorModule : Actor
|
||||
{
|
||||
Mixin UMissileFix;
|
||||
|
||||
Actor b;
|
||||
bool alreadyhit;
|
||||
double anglevel;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue