Impact Hammer fully implemented. Began working on Chainsaw.
Tweaked the shake effect on all weapons. Covered up some seams on redeemer texture. Moved the model slightly to cover up a gap. Corrected the chainsaw and translocator HUD icons.
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
|
@ -22,3 +22,84 @@ Model "UTChainsaw"
|
||||||
|
|
||||||
FrameIndex CSWP B 1 0
|
FrameIndex CSWP B 1 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Model "UTChainsaw"
|
||||||
|
{
|
||||||
|
Path "models"
|
||||||
|
Model 0 "chainsawM_d.3d"
|
||||||
|
SurfaceSkin 0 0 "Jchainsaw1.png"
|
||||||
|
SurfaceSkin 0 1 "Jchainsaw2.png"
|
||||||
|
SurfaceSkin 0 2 "Jchainsaw3.png"
|
||||||
|
SurfaceSkin 0 3 "Jchainsaw4.png"
|
||||||
|
Scale 0.2 0.16 0.18
|
||||||
|
Offset 3.5 -12.8 -7.2
|
||||||
|
AngleOffset 268
|
||||||
|
PitchOffset 90
|
||||||
|
|
||||||
|
// select
|
||||||
|
FrameIndex CSWS A 0 2
|
||||||
|
FrameIndex CSWS B 0 3
|
||||||
|
FrameIndex CSWS C 0 4
|
||||||
|
FrameIndex CSWS D 0 5
|
||||||
|
FrameIndex CSWS E 0 6
|
||||||
|
FrameIndex CSWS F 0 7
|
||||||
|
FrameIndex CSWS G 0 8
|
||||||
|
FrameIndex CSWS H 0 9
|
||||||
|
FrameIndex CSWS I 0 10
|
||||||
|
FrameIndex CSWS J 0 11
|
||||||
|
FrameIndex CSWS K 0 12
|
||||||
|
FrameIndex CSWS L 0 13
|
||||||
|
FrameIndex CSWS M 0 14
|
||||||
|
FrameIndex CSWS N 0 15
|
||||||
|
FrameIndex CSWS O 0 16
|
||||||
|
// idle
|
||||||
|
FrameIndex CSWI A 0 17
|
||||||
|
FrameIndex CSWI B 0 18
|
||||||
|
FrameIndex CSWI C 0 19
|
||||||
|
FrameIndex CSWI D 0 20
|
||||||
|
FrameIndex CSWI E 0 21
|
||||||
|
FrameIndex CSWI F 0 22
|
||||||
|
FrameIndex CSWI G 0 23
|
||||||
|
FrameIndex CSWI H 0 24
|
||||||
|
FrameIndex CSWI I 0 25
|
||||||
|
FrameIndex CSWI J 0 26
|
||||||
|
// swipe
|
||||||
|
FrameIndex CSWA A 0 27
|
||||||
|
FrameIndex CSWA B 0 28
|
||||||
|
FrameIndex CSWA C 0 29
|
||||||
|
FrameIndex CSWA D 0 30
|
||||||
|
FrameIndex CSWA E 0 31
|
||||||
|
FrameIndex CSWA F 0 32
|
||||||
|
FrameIndex CSWA G 0 33
|
||||||
|
FrameIndex CSWA H 0 34
|
||||||
|
FrameIndex CSWA I 0 35
|
||||||
|
FrameIndex CSWA J 0 36
|
||||||
|
FrameIndex CSWA K 0 37
|
||||||
|
// jab
|
||||||
|
FrameIndex CSWJ A 0 42
|
||||||
|
FrameIndex CSWJ B 0 43
|
||||||
|
FrameIndex CSWJ C 0 44
|
||||||
|
FrameIndex CSWJ D 0 45
|
||||||
|
FrameIndex CSWJ E 0 46
|
||||||
|
FrameIndex CSWJ F 0 47
|
||||||
|
FrameIndex CSWJ G 0 48
|
||||||
|
FrameIndex CSWJ H 0 49
|
||||||
|
FrameIndex CSWJ I 0 50
|
||||||
|
FrameIndex CSWJ J 0 51
|
||||||
|
FrameIndex CSWJ K 0 52
|
||||||
|
FrameIndex CSWJ L 0 53
|
||||||
|
FrameIndex CSWJ M 0 54
|
||||||
|
FrameIndex CSWJ N 0 55
|
||||||
|
FrameIndex CSWJ O 0 56
|
||||||
|
FrameIndex CSWJ P 0 57
|
||||||
|
FrameIndex CSWJ Q 0 58
|
||||||
|
FrameIndex CSWJ R 0 59
|
||||||
|
FrameIndex CSWJ S 0 60
|
||||||
|
// down
|
||||||
|
FrameIndex CSWD A 0 62
|
||||||
|
FrameIndex CSWD B 0 63
|
||||||
|
FrameIndex CSWD C 0 64
|
||||||
|
FrameIndex CSWD D 0 65
|
||||||
|
FrameIndex CSWD E 0 66
|
||||||
|
FrameIndex CSWD F 0 67
|
||||||
|
}
|
||||||
|
|
@ -79,10 +79,10 @@ Model "WarheadLauncher"
|
||||||
SurfaceSkin 0 1 "jwarhead2.png"
|
SurfaceSkin 0 1 "jwarhead2.png"
|
||||||
SurfaceSkin 0 2 "jwarhead3.png"
|
SurfaceSkin 0 2 "jwarhead3.png"
|
||||||
SurfaceSkin 0 3 "jwarhead4.png"
|
SurfaceSkin 0 3 "jwarhead4.png"
|
||||||
Scale 0.1 0.06 0.1
|
Scale 0.2 0.12 0.2
|
||||||
PitchOffset 2.8125
|
PitchOffset 2.8125
|
||||||
RollOffset 22.5
|
RollOffset 22.5
|
||||||
Offset 4.5 -7.8 -4.2
|
Offset 7.9 -15.6 -9.2
|
||||||
|
|
||||||
// select
|
// select
|
||||||
FrameIndex WARS A 0 0
|
FrameIndex WARS A 0 0
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 75 KiB |
|
|
@ -30,10 +30,10 @@ Currently implemented:
|
||||||
- Searchlight (light amplification visor)
|
- Searchlight (light amplification visor)
|
||||||
- Enhanced Shock Rifle (slot 4, limited ammo, invulnerability sphere)
|
- Enhanced Shock Rifle (slot 4, limited ammo, invulnerability sphere)
|
||||||
- UT HUD
|
- UT HUD
|
||||||
|
- Impact Hammer (slot 1)
|
||||||
|
|
||||||
In progress:
|
In progress:
|
||||||
|
|
||||||
- Impact Hammer (slot 1)
|
|
||||||
- Chainsaw (slot 1)
|
- Chainsaw (slot 1)
|
||||||
- Translocator (slot 1)
|
- Translocator (slot 1)
|
||||||
- Enforcer (slot 2)
|
- Enforcer (slot 2)
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,11 @@ impact/loop imploop
|
||||||
impact/release impaltrl
|
impact/release impaltrl
|
||||||
impact/fire impfire
|
impact/fire impfire
|
||||||
|
|
||||||
|
chainsaw/select chainpck
|
||||||
|
chainsaw/idle chainidl
|
||||||
|
chainsaw/lower chainpdn
|
||||||
|
chainsaw/fire sawhit
|
||||||
|
|
||||||
ges/hit gelhit
|
ges/hit gelhit
|
||||||
ges/select gelselec
|
ges/select gelselec
|
||||||
ges/fire gelshot
|
ges/fire gelshot
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,63 @@
|
||||||
Sprite "CSWPA0",1,1{}
|
Sprite "CSWPA0",1,1{}
|
||||||
Sprite "CSWPB0",1,1{}
|
Sprite "CSWPB0",1,1{}
|
||||||
|
Sprite "CSWSA0",1,1{}
|
||||||
|
Sprite "CSWSB0",1,1{}
|
||||||
|
Sprite "CSWSC0",1,1{}
|
||||||
|
Sprite "CSWSD0",1,1{}
|
||||||
|
Sprite "CSWSE0",1,1{}
|
||||||
|
Sprite "CSWSF0",1,1{}
|
||||||
|
Sprite "CSWSG0",1,1{}
|
||||||
|
Sprite "CSWSH0",1,1{}
|
||||||
|
Sprite "CSWSI0",1,1{}
|
||||||
|
Sprite "CSWSJ0",1,1{}
|
||||||
|
Sprite "CSWSK0",1,1{}
|
||||||
|
Sprite "CSWSL0",1,1{}
|
||||||
|
Sprite "CSWSM0",1,1{}
|
||||||
|
Sprite "CSWSN0",1,1{}
|
||||||
|
Sprite "CSWSO0",1,1{}
|
||||||
|
Sprite "CSWIA0",1,1{}
|
||||||
|
Sprite "CSWIB0",1,1{}
|
||||||
|
Sprite "CSWIC0",1,1{}
|
||||||
|
Sprite "CSWID0",1,1{}
|
||||||
|
Sprite "CSWIE0",1,1{}
|
||||||
|
Sprite "CSWIF0",1,1{}
|
||||||
|
Sprite "CSWIG0",1,1{}
|
||||||
|
Sprite "CSWIH0",1,1{}
|
||||||
|
Sprite "CSWII0",1,1{}
|
||||||
|
Sprite "CSWIJ0",1,1{}
|
||||||
|
Sprite "CSWAA0",1,1{}
|
||||||
|
Sprite "CSWAB0",1,1{}
|
||||||
|
Sprite "CSWAC0",1,1{}
|
||||||
|
Sprite "CSWAD0",1,1{}
|
||||||
|
Sprite "CSWAE0",1,1{}
|
||||||
|
Sprite "CSWAF0",1,1{}
|
||||||
|
Sprite "CSWAG0",1,1{}
|
||||||
|
Sprite "CSWAH0",1,1{}
|
||||||
|
Sprite "CSWAI0",1,1{}
|
||||||
|
Sprite "CSWAJ0",1,1{}
|
||||||
|
Sprite "CSWAK0",1,1{}
|
||||||
|
Sprite "CSWJA0",1,1{}
|
||||||
|
Sprite "CSWJB0",1,1{}
|
||||||
|
Sprite "CSWJC0",1,1{}
|
||||||
|
Sprite "CSWJD0",1,1{}
|
||||||
|
Sprite "CSWJE0",1,1{}
|
||||||
|
Sprite "CSWJF0",1,1{}
|
||||||
|
Sprite "CSWJG0",1,1{}
|
||||||
|
Sprite "CSWJH0",1,1{}
|
||||||
|
Sprite "CSWJI0",1,1{}
|
||||||
|
Sprite "CSWJJ0",1,1{}
|
||||||
|
Sprite "CSWJK0",1,1{}
|
||||||
|
Sprite "CSWJL0",1,1{}
|
||||||
|
Sprite "CSWJM0",1,1{}
|
||||||
|
Sprite "CSWJN0",1,1{}
|
||||||
|
Sprite "CSWJO0",1,1{}
|
||||||
|
Sprite "CSWJP0",1,1{}
|
||||||
|
Sprite "CSWJQ0",1,1{}
|
||||||
|
Sprite "CSWJR0",1,1{}
|
||||||
|
Sprite "CSWJS0",1,1{}
|
||||||
|
Sprite "CSWDA0",1,1{}
|
||||||
|
Sprite "CSWDB0",1,1{}
|
||||||
|
Sprite "CSWDC0",1,1{}
|
||||||
|
Sprite "CSWDD0",1,1{}
|
||||||
|
Sprite "CSWDE0",1,1{}
|
||||||
|
Sprite "CSWDF0",1,1{}
|
||||||
|
|
|
||||||
|
|
@ -398,7 +398,7 @@ Class BioRifle : UTWeapon
|
||||||
UTMainHandler.DoFlash(self,Color(48,0,255,0),1);
|
UTMainHandler.DoFlash(self,Color(48,0,255,0),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
if ( alt ) A_QuakeEx(1+0.5*invoker.charge,1+0.5*invoker.charge,1+0.5*invoker.charge,5+1.2*invoker.charge,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05+0.01*invoker.charge);
|
if ( alt ) A_QuakeEx(1+0.5*invoker.charge,1+0.5*invoker.charge,1+0.5*invoker.charge,5+1.2*invoker.charge,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05+0.01*invoker.charge);
|
||||||
else A_QuakeEx(1,1,1,5,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
else A_QuakeEx(1,1,1,5,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
double a, s;
|
double a, s;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,20 @@
|
||||||
Class UTChainsaw : UTWeapon replaces Chainsaw
|
Class UTChainsaw : UTWeapon replaces Chainsaw
|
||||||
{
|
{
|
||||||
|
double sawcnt;
|
||||||
|
|
||||||
|
action void A_SawHit()
|
||||||
|
{
|
||||||
|
A_QuakeEx(3,3,3,2,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
||||||
|
invoker.sawcnt += 1./TICRATE;
|
||||||
|
if ( invoker.sawcnt < 0.15 ) return;
|
||||||
|
invoker.sawcnt = 0;
|
||||||
|
invoker.FireEffect();
|
||||||
|
}
|
||||||
|
action void A_SawSwipe()
|
||||||
|
{
|
||||||
|
A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
||||||
|
invoker.FireEffect();
|
||||||
|
}
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Tag "Chainsaw";
|
Tag "Chainsaw";
|
||||||
|
|
@ -16,5 +31,75 @@ Class UTChainsaw : UTWeapon replaces Chainsaw
|
||||||
Stop;
|
Stop;
|
||||||
CSWP B -1;
|
CSWP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
|
Select:
|
||||||
|
CSWS A 1 A_Raise(int.max);
|
||||||
|
Wait;
|
||||||
|
Ready:
|
||||||
|
CSWS ABCDEFGHIJLMNO 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
||||||
|
Idle:
|
||||||
|
CSWI A 0 A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
||||||
|
CSWI ABCDEFGHIJ 1
|
||||||
|
{
|
||||||
|
A_WeaponReady();
|
||||||
|
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
||||||
|
}
|
||||||
|
Goto Idle+1;
|
||||||
|
Fire:
|
||||||
|
CSWJ A 1 A_PlaySound("chainsaw/fire",CHAN_6,looping:true);
|
||||||
|
CSWJ BCDEF 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
||||||
|
Hold:
|
||||||
|
CSWJ G 1 A_SawHit();
|
||||||
|
CSWJ H 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ H 1 A_SawHit();
|
||||||
|
CSWJ I 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ I 1 A_SawHit();
|
||||||
|
CSWJ J 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ J 1 A_SawHit();
|
||||||
|
CSWJ K 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ K 1 A_SawHit();
|
||||||
|
CSWJ L 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ L 1 A_SawHit();
|
||||||
|
CSWJ M 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ M 1 A_SawHit();
|
||||||
|
CSWJ N 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ N 1 A_SawHit();
|
||||||
|
CSWJ O 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ O 1 A_SawHit();
|
||||||
|
CSWJ P 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ P 1 A_SawHit();
|
||||||
|
CSWJ Q 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ Q 1 A_SawHit();
|
||||||
|
CSWJ R 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ R 1 A_SawHit();
|
||||||
|
CSWJ S 0 A_Refire(1);
|
||||||
|
Goto Release;
|
||||||
|
CSWJ S 1 A_SawHit();
|
||||||
|
CSWJ G 0 A_Refire("Hold");
|
||||||
|
Release:
|
||||||
|
CSWJ FEDCBA 1 A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
||||||
|
Goto Idle;
|
||||||
|
AltFire:
|
||||||
|
CSWA A 0 A_PlaySound("chainsaw/fire",CHAN_6);
|
||||||
|
CSWA ABCDEFG 2 A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
||||||
|
CSWA H 2 A_SawSwipe();
|
||||||
|
CSWA IJK 2 A_QuakeEx(3,3,3,3,0,1,"",QF_RELATIVE,rollIntensity:0.15);
|
||||||
|
CSWA K 0 A_PlaySound("chainsaw/idle",CHAN_6,looping:true);
|
||||||
|
Goto Ready;
|
||||||
|
Deselect:
|
||||||
|
CSWD A 0 A_PlaySound("chainsaw/lower",CHAN_6);
|
||||||
|
CSWD ABCDEF 2;
|
||||||
|
CSWD F 1 A_Lower(int.max);
|
||||||
|
Wait;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -469,7 +469,7 @@ Class FlakCannon : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(160,255,96,0),1);
|
UTMainHandler.DoFlash(self,Color(160,255,96,0),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(1,1,1,3,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
A_QuakeEx(1,1,1,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
double a, s;
|
double a, s;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
|
|
@ -507,7 +507,7 @@ Class FlakCannon : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,255,96,0),1);
|
UTMainHandler.DoFlash(self,Color(128,255,96,0),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(2,2,2,6,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
A_QuakeEx(2,2,2,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
double a, s;
|
double a, s;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
if ( d.HitType == TRACE_HitActor )
|
if ( d.HitType == TRACE_HitActor )
|
||||||
{
|
{
|
||||||
d.HitActor.DamageMobj(invoker,self,60*realcharge,'impact');
|
d.HitActor.DamageMobj(invoker,self,60*realcharge,'impact');
|
||||||
d.HitActor.vel += x*(1000/d.HitActor.mass)*realcharge;
|
d.HitActor.vel = x*(1000/d.HitActor.mass)*realcharge;
|
||||||
if ( d.HitActor.bNOBLOOD )
|
if ( d.HitActor.bNOBLOOD )
|
||||||
{
|
{
|
||||||
let p = Spawn("HammerImpact",d.HitLocation-d.HitDir*4);
|
let p = Spawn("HammerImpact",d.HitLocation-d.HitDir*4);
|
||||||
|
|
@ -81,7 +81,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
}
|
}
|
||||||
else if ( d.HitType != TRACE_HitNone )
|
else if ( d.HitType != TRACE_HitNone )
|
||||||
{
|
{
|
||||||
realcharge = max(1.0,invoker.chargesize);
|
realcharge = max(1.0,realcharge);
|
||||||
DamageMobj(invoker,self,24*realcharge,'impact'); // It's a flat damage of 36 on UT, but I think it's more fair for it to scale
|
DamageMobj(invoker,self,24*realcharge,'impact'); // It's a flat damage of 36 on UT, but I think it's more fair for it to scale
|
||||||
TraceBleed(24*realcharge,invoker);
|
TraceBleed(24*realcharge,invoker);
|
||||||
vel -= x*(1200/mass)*realcharge;
|
vel -= x*(1200/mass)*realcharge;
|
||||||
|
|
@ -90,8 +90,8 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
p.pitch = asin(-d.HitDir.z);
|
p.pitch = asin(-d.HitDir.z);
|
||||||
if ( d.HitType == TRACE_HitWall ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation-d.HitDir*4);
|
if ( d.HitType == TRACE_HitWall ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation-d.HitDir*4);
|
||||||
}
|
}
|
||||||
A_QuakeEx(realcharge*4,realcharge*4,realcharge*4,12,0,96,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:realcharge*0.2);
|
A_QuakeEx(realcharge*6,realcharge*6,realcharge*6,16,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:realcharge*0.2);
|
||||||
realcharge = max(1.0,invoker.chargesize);
|
realcharge = max(1.0,realcharge);
|
||||||
int numpt = Random[Impact](20,40);
|
int numpt = Random[Impact](20,40);
|
||||||
for ( int i=0; i<numpt; i++ )
|
for ( int i=0; i<numpt; i++ )
|
||||||
{
|
{
|
||||||
|
|
@ -112,7 +112,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
A_PlaySound("impact/fire",CHAN_WEAPON);
|
A_PlaySound("impact/fire",CHAN_WEAPON);
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(2,2,2,6,0,96,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
A_QuakeEx(2,2,2,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
||||||
|
|
@ -122,7 +122,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
if ( d.HitType == TRACE_HitActor )
|
if ( d.HitType == TRACE_HitActor )
|
||||||
{
|
{
|
||||||
d.HitActor.DamageMobj(invoker,self,20*dscale,'impact');
|
d.HitActor.DamageMobj(invoker,self,20*dscale,'impact');
|
||||||
d.HitActor.vel += x*(500/d.HitActor.mass)*dscale;
|
d.HitActor.vel = x*(500/d.HitActor.mass)*dscale;
|
||||||
}
|
}
|
||||||
else if ( d.HitType != TRACE_HitNone )
|
else if ( d.HitType != TRACE_HitNone )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -348,6 +348,7 @@ Class PulseGun : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(32,128,255,128),1);
|
UTMainHandler.DoFlash(self,Color(32,128,255,128),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
|
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+4.5*y-2.4*z;
|
Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+4.5*y-2.4*z;
|
||||||
|
|
@ -383,7 +384,7 @@ Class PulseGun : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(32,128,255,128),1);
|
UTMainHandler.DoFlash(self,Color(32,128,255,128),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(1,1,1,2,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.05);
|
||||||
A_Overlay(-2,"MuzzleFlash");
|
A_Overlay(-2,"MuzzleFlash");
|
||||||
A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true);
|
A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true);
|
||||||
A_OverlayRenderstyle(-2,STYLE_Add);
|
A_OverlayRenderstyle(-2,STYLE_Add);
|
||||||
|
|
|
||||||
|
|
@ -791,7 +791,7 @@ Class ShockRifle : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(3,3,3,4,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
A_QuakeEx(3,3,3,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
||||||
|
|
@ -810,7 +810,7 @@ Class ShockRifle : UTWeapon
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
UTMainHandler.DoFlash(self,Color(128,128,0,255),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(3,3,3,8,0,64,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
A_QuakeEx(3,3,3,8,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
||||||
|
|
@ -859,7 +859,7 @@ Class ShockRifle : UTWeapon
|
||||||
ASMA BCDEFGHIJ 2;
|
ASMA BCDEFGHIJ 2;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
Deselect:
|
Deselect:
|
||||||
ASMD ABCDEFG 1;
|
ASMD ABCDEFG 2;
|
||||||
ASMD G 1 A_Lower(int.max);
|
ASMD G 1 A_Lower(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Select:
|
Select:
|
||||||
|
|
@ -900,7 +900,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(8,8,8,12,0,96,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25);
|
A_QuakeEx(8,8,8,12,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
||||||
|
|
@ -919,7 +919,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
UTMainHandler.DoFlash(self,Color(128,255,128,0),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(8,8,8,16,0,96,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25);
|
A_QuakeEx(8,8,8,16,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+3.0*y-4.0*z;
|
||||||
|
|
@ -968,7 +968,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
||||||
ASMA BCDEFGHIJ 2;
|
ASMA BCDEFGHIJ 2;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
Deselect:
|
Deselect:
|
||||||
ASMD ABCDEFG 1;
|
ASMD ABCDEFG 2;
|
||||||
ASMD G 1 A_Lower(int.max);
|
ASMD G 1 A_Lower(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Select:
|
Select:
|
||||||
|
|
|
||||||
|
|
@ -522,7 +522,7 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(6,6,6,20,0,100,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.2);
|
A_QuakeEx(6,6,6,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.2);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
vel -= x*10;
|
vel -= x*10;
|
||||||
|
|
@ -558,7 +558,7 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
||||||
invoker.FireEffect();
|
invoker.FireEffect();
|
||||||
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
UTMainHandler.DoFlash(self,Color(128,255,128,128),1);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(6,6,6,20,0,100,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.2);
|
A_QuakeEx(6,6,6,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.2);
|
||||||
Vector3 x, y, z;
|
Vector3 x, y, z;
|
||||||
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
vel -= x*10;
|
vel -= x*10;
|
||||||
|
|
|
||||||