1.3 update and whatnot.
This commit is contained in:
parent
608be2e2c9
commit
2f56442ffb
47 changed files with 153 additions and 178 deletions
|
|
@ -176,6 +176,8 @@ Class ImpalerBurstBolt : Actor
|
|||
t.hitlist[i].hitactor.DamageMobj(self,target,3,'Impaler',DMG_THRUSTLESS);
|
||||
}
|
||||
Vector3 normal = -t.Results.HitVector, dir = t.Results.HitVector;
|
||||
double a = FRandom[Impaler](0,360), s = FRandom[Impaler](0.,.8);
|
||||
invoker.nextdir = dt_Utility.ConeSpread(dir,y,z,a,s);
|
||||
if ( t.Results.HitType == TRACE_HitWall )
|
||||
{
|
||||
normal = (t.Results.HitLine.delta.y,-t.Results.HitLine.delta.x,0).unit();
|
||||
|
|
@ -197,13 +199,10 @@ Class ImpalerBurstBolt : Actor
|
|||
}
|
||||
else
|
||||
{
|
||||
// why the fuck
|
||||
t.Results.HitPos = level.Vec3Offset(pos,x*10.125);
|
||||
normal *= 0;
|
||||
invoker.nextpos = t.Results.HitPos;
|
||||
return;
|
||||
}
|
||||
double a = FRandom[Impaler](0,360), s = FRandom[Impaler](0.,.8);
|
||||
invoker.nextpos = level.Vec3Offset(t.Results.HitPos,normal);
|
||||
invoker.nextdir = dt_Utility.ConeSpread(dir,y,z,a,s);
|
||||
}
|
||||
action void A_Spread()
|
||||
{
|
||||
|
|
@ -545,11 +544,7 @@ Class StarterImpalerBolt : ImpalerBolt
|
|||
}
|
||||
Vector3 x, y, z, origin;
|
||||
bRELATIVETOFLOOR = (target.pos.z <= target.floorz); // hack, but kinda works
|
||||
if ( target.player )
|
||||
{
|
||||
[x, y, z] = dt_Utility.GetAxes(target.angle,target.pitch,target.roll);
|
||||
origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),15*x-2.5*z);
|
||||
}
|
||||
if ( target.player ) origin = dt_Utility.GetFireOffset(target,15,0,-2.5);
|
||||
else origin = target.Vec3Offset(0,0,target.missileheight);
|
||||
SetOrigin(origin,true);
|
||||
if ( !flares[0] ) flares[0] = Spawn("ImpalerFlare",pos);
|
||||
|
|
@ -562,7 +557,7 @@ Class StarterImpalerBolt : ImpalerBolt
|
|||
flares[0].A_SetScale(0.01+cos(gametic*8)*0.002);
|
||||
flares[1].A_SetScale(0.02+cos(gametic*8)*0.004);
|
||||
double a = FRandom[Impaler](0,360), s = FRandom[Impaler](0.,.1);
|
||||
[x, y, z] = dt_Utility.GetAxes(target.angle,target.pitch,target.roll);
|
||||
[x, y, z] = dt_Utility.GetPlayerAxes(target);
|
||||
Vector3 dir = dt_Utility.ConeSpread(x,y,z,a,s);
|
||||
dir = oldx*.5+dir*.5;
|
||||
oldx = dir;
|
||||
|
|
@ -793,9 +788,7 @@ Class Impaler : UnrealWeapon
|
|||
UTMainHandler.DoFlash(self,Color(16,224,64,255),1);
|
||||
if ( !Dampener.Active(self) ) A_AlertMonsters();
|
||||
A_QuakeEx(1,1,1,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
||||
Vector3 x, y, z;
|
||||
[x, y, z] = dt_Utility.GetAxes(angle,pitch,roll);
|
||||
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-2.5*z);
|
||||
Vector3 origin = dt_Utility.GetFireOffset(self,10,0,-2.5);
|
||||
Actor p = Spawn("ImpalerProjectile",origin);
|
||||
p.angle = angle;
|
||||
p.pitch = BulletSlope();
|
||||
|
|
@ -818,9 +811,7 @@ Class Impaler : UnrealWeapon
|
|||
}
|
||||
action void A_StartBeam()
|
||||
{
|
||||
Vector3 x, y, z, origin;
|
||||
[x, y, z] = dt_Utility.GetAxes(angle,pitch,roll);
|
||||
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),15*x-2.5*z);
|
||||
Vector3 origin = dt_Utility.GetFireOffset(self,15,0,-2.5);
|
||||
invoker.beam = Spawn("StarterImpalerBolt",origin);
|
||||
invoker.beam.angle = angle;
|
||||
invoker.beam.pitch = BulletSlope();
|
||||
|
|
@ -846,9 +837,7 @@ Class Impaler : UnrealWeapon
|
|||
invoker.FireEffect();
|
||||
UTMainHandler.DoFlash(self,Color(16,255,32,255),3);
|
||||
A_AlertMonsters();
|
||||
Vector3 x, y, z;
|
||||
[x, y, z] = dt_Utility.GetAxes(angle,pitch,roll);
|
||||
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),15*x-2.5*z);
|
||||
Vector3 origin = dt_Utility.GetFireOffset(self,15,0,-2.5);
|
||||
int numpt = Random[Impaler](4,7);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
|
|
@ -895,9 +884,7 @@ Class Impaler : UnrealWeapon
|
|||
FTranslatedLineTarget t;
|
||||
double slope = AimLineAttack(angle,DEFMELEERANGE*1.5,t,0.,ALF_CHECK3D);
|
||||
FLineTraceData d;
|
||||
Vector3 x, y, z, origin;
|
||||
[x, y, z] = dt_Utility.GetAxes(angle,pitch,roll);
|
||||
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),-z*4);
|
||||
Vector3 origin = dt_Utility.GetFireOffset(self,0,0,-4);
|
||||
LineTrace(angle,DEFMELEERANGE*1.5,slope,TRF_ABSPOSITION,origin.z,origin.x,origin.y,data:d);
|
||||
if ( d.HitType != TRACE_HitNone )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue