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:
parent
5346b420e3
commit
a21aa43f35
1485 changed files with 1157 additions and 380 deletions
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue