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

@ -314,7 +314,7 @@ Class DispersionAmmo : Actor
{
a = FRandom[DPistol](0,360);
s = FRandom[ASMD](0,0.35);
dir = (-x+y*cos(a)*s+z*sin(a)*s).unit();
dir = dt_Utility.ConeSpread(-x,y,z,a,s);
p = Spawn(invoker.BurstClass,level.Vec3Offset(pos,scale.x*(dir*16.+x*32.)));
p.A_SetScale(0.1*min(0.8+invoker.mult*0.75,1.5));
p.vel = vel*0.5+dir*FRandom[DPistol](3,8);
@ -322,7 +322,7 @@ Class DispersionAmmo : Actor
}
action void A_DispExpl()
{
UTMainHandler.DoKnockback(tracer,(cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)),6000);
UTMainHandler.DoKnockback(tracer,dt_Utility.Vec3FromAngle(angle,pitch),6000);
A_AlertMonsters(gameinfo.gametype&GAME_Strife?100:0);
A_SprayDecal("RazorBlast",20);
Spawn(invoker.LightClass,pos);
@ -335,7 +335,7 @@ Class DispersionAmmo : Actor
a.A_SetScale(0.2*min(0.8+invoker.mult*0.75,1.5));
ang = FRandom[DPistol](0,360);
pt = FRandom[DPistol](-90,90);
a.vel = (cos(ang)*cos(pt),sin(ang)*cos(pt),-sin(pt))*FRandom[DPistol](6,16);
a.vel = dt_Utility.Vec3FromAngle(ang,pt)*FRandom[DPistol](6,16);
a.alpha *= 2.;
}
a = Spawn(invoker.ExploClass,pos);
@ -479,6 +479,30 @@ Class DispersionPistol : UnrealWeapon
double chargesize, count;
bool bCharging;
int MainUse, ChargeUse;
bool bOldSkin;
override void Tick()
{
Super.Tick();
if ( sting_olddpistol )
{
if ( !bOldSkin )
{
A_ChangeModel("",1,"","",1,"models/OldSkins","DPistol1_.png");
A_ChangeModel("",0,"","",1,"models/OldSkins","DPistol1.png",CMDL_USESURFACESKIN);
}
bOldSkin = true;
}
else
{
if ( bOldSkin )
{
A_ChangeModel("",1,"","",1,"models","DPistol1_.png");
A_ChangeModel("",0,"","",1,"models","DPistol1.png",CMDL_USESURFACESKIN);
}
bOldSkin = false;
}
}
override int, int, bool, bool GetClipAmount()
{
@ -551,18 +575,18 @@ Class DispersionPistol : UnrealWeapon
A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
Vector3 x, y, z;
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-3*z);
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-3*y-3*z);
Actor p = Spawn(proj,origin);
p.angle = angle;
p.pitch = BulletSlope();
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed;
p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*p.speed;
p.target = self;
DispersionAmmo(p).mult = mult;
int numpt = Random[DPistol](10,20);
for ( int i=0; i<numpt; i++ )
{
let s = Spawn(part,origin);
ViewASMDSpark(s).ofs = (10,3,-3);
ViewASMDSpark(s).ofs = (10,-3,-3);
s.target = self;
ViewASMDSpark(s).vvel += (FRandom[ASMD](0.5,2.0),FRandom[ASMD](-1.5,1.5),FRandom[ASMD](-1.5,1.5));
}
@ -625,11 +649,11 @@ Class DispersionPistol : UnrealWeapon
A_QuakeEx(qs,qs,qs,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
Vector3 x, y, z;
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-3*z);
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x-3*y-3*z);
Actor p = Spawn(proj,origin);
p.angle = angle;
p.pitch = BulletSlope();
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed;
p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*p.speed;
p.target = self;
p.bAMBUSH = true;
double scl = 0.5+invoker.chargesize*0.6;
@ -639,7 +663,7 @@ Class DispersionPistol : UnrealWeapon
for ( int i=0; i<numpt; i++ )
{
let s = Spawn(part,origin);
ViewASMDSpark(s).ofs = (10,3,-3);
ViewASMDSpark(s).ofs = (10,-3,-3);
s.target = self;
ViewASMDSpark(s).vvel += (FRandom[ASMD](0.5,2.0),FRandom[ASMD](-1.5,1.5),FRandom[ASMD](-1.5,1.5));
}