1.2 update, w/ GZDoom 4.9 stuff:

- Customizable player skins here too.
 - Integrated re-skin add-ons ("Old Sounds" is still separate).
 - The usual fixes and optimizations.
 - All weapons are now left-handed, where possible.
This commit is contained in:
Marisa the Magician 2022-11-06 00:02:46 +01:00
commit a21aa43f35
1485 changed files with 1157 additions and 380 deletions

View file

@ -156,7 +156,7 @@ Class URocket : Actor
}
if ( !invoker.ringex ) return;
Actor r = Spawn("ASMDSBeamRing",pos);
Vector3 HitNormal = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
Vector3 HitNormal = dt_Utility.Vec3FromAngle(angle,pitch);
if ( BlockingLine ) HitNormal = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit();
else if ( BlockingFloor )
{
@ -428,8 +428,8 @@ Class Eightball : UnrealWeapon
{
a = FRandom[Eightball](0,360);
s = FRandom[Eightball](0,(num>1)?12:0);
Vector3 dir = (x2+cos(a)*y2*s*0.004+sin(a)*z2*s*0.004).unit();
p = Spawn("UGrenade",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s));
Vector3 dir = dt_Utility.ConeSpread(x2,y2,z2,a,s*0.004);
p = Spawn("UGrenade",level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,a,s)));
p.vel = x*(vel dot x)*0.4 + dir*p.speed*FRandom[Eightball](1.0,1.2);
p.vel.z += 3.5;
p.target = self;
@ -438,7 +438,7 @@ Class Eightball : UnrealWeapon
else if ( num <= 1 )
{
// single rocket
p = Spawn("URocket",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s));
p = Spawn("URocket",level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,a,s)));
p.vel = x2*p.speed;
p.target = self;
p.tracer = invoker.LockedTarget;
@ -451,7 +451,7 @@ Class Eightball : UnrealWeapon
s = (num>1)?6:0;
for ( int i=0; i<num; i++ )
{
p = Spawn("URocket",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s));
p = Spawn("URocket",level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,a,s)));
p.vel = x2*p.speed;
p.target = self;
p.tracer = invoker.LockedTarget;
@ -500,7 +500,7 @@ Class Eightball : UnrealWeapon
while ( a = Actor(t.Next()) )
{
if ( !a.bSHOOTABLE || (a.Health <= 0) || a.bKilled || !a.bIsMonster || a.bCorpse || (a == self) || isTeammate(a) || !CheckSight(a) ) continue;
Vector3 viewdir = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
Vector3 viewdir = dt_Utility.Vec3FromAngle(angle,pitch);
Vector3 reldir = level.Vec3Diff(Vec2OffsetZ(0,0,player.viewz),a.Vec2OffsetZ(0,0,a.pos.z+a.height*0.5));
double reldist = reldir.length();
if ( reldist > 2000 ) continue;