Bumped ZScript ver.
Added OnDrop to weapons replicating the UT drop style. Some fixes for UT player movement. Hide keys from HUD in DM. Added "classic jump boots" option. Fixed missing ambientglow on some weapon skins.
This commit is contained in:
parent
64a0648ae7
commit
fe08f11997
7 changed files with 50 additions and 8 deletions
|
|
@ -30,3 +30,4 @@ server bool flak_nowalkdrop = false; // don't drop off ledges while holding wal
|
||||||
server bool flak_corpsedamage = false; // [WIP/EXPERIMENTAL] allow corpses to take damage and be gibbed, currently just causes a jump to XDeath until gore system is implemented
|
server bool flak_corpsedamage = false; // [WIP/EXPERIMENTAL] allow corpses to take damage and be gibbed, currently just causes a jump to XDeath until gore system is implemented
|
||||||
server bool flak_swingers = true; // weapon recoil that affects player view
|
server bool flak_swingers = true; // weapon recoil that affects player view
|
||||||
server float flak_swingerstrength = 0.5; // strength of visual recoil
|
server float flak_swingerstrength = 0.5; // strength of visual recoil
|
||||||
|
server bool flak_radboots = true; // jump boots protect against damaging floors (this is to account for the lack of a radsuit)
|
||||||
|
|
|
||||||
12
gldefs.txt
12
gldefs.txt
|
|
@ -182,6 +182,10 @@ HardwareShader Texture "models/JFA1.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
}
|
}
|
||||||
|
HardwareShader Texture "models/Flak_t.png"
|
||||||
|
{
|
||||||
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
}
|
||||||
HardwareShader Texture "models/JMedBox1.png"
|
HardwareShader Texture "models/JMedBox1.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
|
@ -264,6 +268,10 @@ HardwareShader Texture "models/JM21.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
}
|
}
|
||||||
|
HardwareShader Texture "models/Mini_t.png"
|
||||||
|
{
|
||||||
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
}
|
||||||
HardwareShader Texture "models/JRocketPack1.png"
|
HardwareShader Texture "models/JRocketPack1.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
|
@ -272,6 +280,10 @@ HardwareShader Texture "models/JuRocket1_.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
}
|
}
|
||||||
|
HardwareShader Texture "models/Eight_t.png"
|
||||||
|
{
|
||||||
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
}
|
||||||
HardwareShader Texture "models/BulletBoxT.png"
|
HardwareShader Texture "models/BulletBoxT.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AmbientGlow.fp"
|
Shader "shaders/glsl/AmbientGlow.fp"
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,9 @@ OptionMenu "UTOptionMenu"
|
||||||
Option "Visual Recoil", "flak_swingers", "YesNo"
|
Option "Visual Recoil", "flak_swingers", "YesNo"
|
||||||
Slider "Visual Recoil Strength", "flak_swingerstrength", 0.0, 1.0, 0.1, 1
|
Slider "Visual Recoil Strength", "flak_swingerstrength", 0.0, 1.0, 0.1, 1
|
||||||
StaticText " "
|
StaticText " "
|
||||||
|
StaticText "Item Options", "Gold"
|
||||||
|
Option "Jump Boots Act Like Radsuit", "flak_radboots", "YesNo"
|
||||||
|
StaticText " "
|
||||||
StaticText "Translocator (Potentially Game-Breaking)", "Gold"
|
StaticText "Translocator (Potentially Game-Breaking)", "Gold"
|
||||||
Option "Prevent Boss Telefrag", "flak_nobosstelefrag", "YesNo"
|
Option "Prevent Boss Telefrag", "flak_nobosstelefrag", "YesNo"
|
||||||
Option "Enable Translocator", "flak_translocator", "YesNo"
|
Option "Enable Translocator", "flak_translocator", "YesNo"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
version "3.5"
|
version "3.7"
|
||||||
|
|
||||||
#include "zscript/mk_matrix.zsc"
|
#include "zscript/mk_matrix.zsc"
|
||||||
#include "zscript/mk_coordutil.zsc"
|
#include "zscript/mk_coordutil.zsc"
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,9 @@ Class DamageAmpLight : DynamicLight
|
||||||
Destroy();
|
Destroy();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SetOrigin(target.pos,true);
|
if ( target.player )
|
||||||
|
SetOrigin(target.Vec2OffsetZ(0,0,target.player.viewz),true);
|
||||||
|
else SetOrigin(target.Vec3Offset(0,0,target.height/2),true);
|
||||||
args[LIGHT_INTENSITY] = Random[ASMD](10,12)*8;
|
args[LIGHT_INTENSITY] = Random[ASMD](10,12)*8;
|
||||||
bDORMANT = Powerup(master).isBlinking();
|
bDORMANT = Powerup(master).isBlinking();
|
||||||
}
|
}
|
||||||
|
|
@ -317,6 +319,7 @@ Class UTJumpBoots : Inventory
|
||||||
if ( pickup )
|
if ( pickup )
|
||||||
{
|
{
|
||||||
Owner.GiveInventory("PowerJumpBoots_HighJump",1);
|
Owner.GiveInventory("PowerJumpBoots_HighJump",1);
|
||||||
|
if ( flak_radboots )
|
||||||
Owner.GiveInventory("PowerJumpBoots_IronFeet",1);
|
Owner.GiveInventory("PowerJumpBoots_IronFeet",1);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -325,6 +328,7 @@ Class UTJumpBoots : Inventory
|
||||||
{
|
{
|
||||||
Super.Tick();
|
Super.Tick();
|
||||||
if ( !Owner || !Owner.player ) return;
|
if ( !Owner || !Owner.player ) return;
|
||||||
|
if ( flak_radboots )
|
||||||
amount--;
|
amount--;
|
||||||
if ( (amount > 0) && (owner.player.jumptics == -1) )
|
if ( (amount > 0) && (owner.player.jumptics == -1) )
|
||||||
{
|
{
|
||||||
|
|
@ -379,6 +383,8 @@ Class PowerJumpBoots_IronFeet : PowerIronFeet
|
||||||
override void DoEffect()
|
override void DoEffect()
|
||||||
{
|
{
|
||||||
Powerup.DoEffect();
|
Powerup.DoEffect();
|
||||||
|
if ( !flak_radboots )
|
||||||
|
DepleteOrDestroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,7 @@ Class UTPlayer : DoomPlayer
|
||||||
else Angle += cmd.yaw*(360./65536.);
|
else Angle += cmd.yaw*(360./65536.);
|
||||||
player.onground = (pos.z <= floorz) || bOnMobj || bMBFBouncer || (player.cheats & CF_NOCLIP2);
|
player.onground = (pos.z <= floorz) || bOnMobj || bMBFBouncer || (player.cheats & CF_NOCLIP2);
|
||||||
if ( player.onground ) lastgroundtic = gametic;
|
if ( player.onground ) lastgroundtic = gametic;
|
||||||
if ( !player.onground && (abs(pos.z-floorz) <= maxdropoffheight) && (player.jumptics == 0) )
|
if ( !player.onground && !bNoGravity && (waterlevel < 3) && (abs(pos.z-floorz) <= maxdropoffheight) && (player.jumptics == 0) )
|
||||||
{
|
{
|
||||||
SetOrigin(Vec2OffsetZ(0,0,floorz),true);
|
SetOrigin(Vec2OffsetZ(0,0,floorz),true);
|
||||||
player.onground = true;
|
player.onground = true;
|
||||||
|
|
@ -277,9 +277,9 @@ Class UTPlayer : DoomPlayer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_sm = sm;
|
last_sm = sm;
|
||||||
if ( !bNoGravity && player.onground )
|
if ( !bNoGravity && player.onground && (waterlevel < 3) )
|
||||||
{
|
{
|
||||||
if ( !waterlevel && (dodge.length() > 0) )
|
if ( dodge.length() > 0 )
|
||||||
{
|
{
|
||||||
if ( flak_doomspeed ) vel += dodge.unit()*(groundspeed_doomish*1.5)/TICRATE;
|
if ( flak_doomspeed ) vel += dodge.unit()*(groundspeed_doomish*1.5)/TICRATE;
|
||||||
else vel += dodge.unit()*(groundspeed*1.5)/TICRATE;
|
else vel += dodge.unit()*(groundspeed*1.5)/TICRATE;
|
||||||
|
|
@ -329,7 +329,7 @@ Class UTPlayer : DoomPlayer
|
||||||
player.vel = vel.xy;
|
player.vel = vel.xy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( !bNoGravity && !waterlevel )
|
else if ( !bNoGravity && (waterlevel < 3) )
|
||||||
{
|
{
|
||||||
// air acceleration when falling
|
// air acceleration when falling
|
||||||
float maxaccel = accelrate/TICRATE;
|
float maxaccel = accelrate/TICRATE;
|
||||||
|
|
@ -491,6 +491,12 @@ Class UTWeapon : Weapon
|
||||||
override void Tick()
|
override void Tick()
|
||||||
{
|
{
|
||||||
Super.Tick();
|
Super.Tick();
|
||||||
|
// don't slide on floor when dropped
|
||||||
|
if ( CurState == ResolveState("Spawn")+1 )
|
||||||
|
{
|
||||||
|
if ( pos.z <= floorz )
|
||||||
|
vel.xy *= 0;
|
||||||
|
}
|
||||||
if ( !Owner || !Owner.player || (Owner.player.ReadyWeapon != self) ) return;
|
if ( !Owner || !Owner.player || (Owner.player.ReadyWeapon != self) ) return;
|
||||||
Owner.player.WeaponState |= WF_WEAPONBOBBING; // UT weapons always bob
|
Owner.player.WeaponState |= WF_WEAPONBOBBING; // UT weapons always bob
|
||||||
}
|
}
|
||||||
|
|
@ -580,6 +586,19 @@ Class UTWeapon : Weapon
|
||||||
return ammoitem;
|
return ammoitem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void OnDrop( Actor dropper )
|
||||||
|
{
|
||||||
|
Vector2 hofs = RotateVector((dropper.radius,0),dropper.angle);
|
||||||
|
SetOrigin(dropper.Vec3Offset(hofs.x,hofs.y,dropper.height*0.5),false);
|
||||||
|
Vector3 x, y, z;
|
||||||
|
[x, y, z] = Matrix4.GetAxes(dropper.pitch,dropper.angle,dropper.roll);
|
||||||
|
vel = x*12.0;
|
||||||
|
vel.z += 4.0;
|
||||||
|
angle = dropper.angle;
|
||||||
|
pitch = 0;
|
||||||
|
roll = 0;
|
||||||
|
}
|
||||||
|
|
||||||
Default
|
Default
|
||||||
{
|
{
|
||||||
Weapon.BobStyle "Smooth";
|
Weapon.BobStyle "Smooth";
|
||||||
|
|
|
||||||
|
|
@ -509,6 +509,7 @@ Class UTHud : BaseStatusBar
|
||||||
|
|
||||||
private void DrawKeys()
|
private void DrawKeys()
|
||||||
{
|
{
|
||||||
|
if ( deathmatch ) return; // no need to draw in DM
|
||||||
if ( gameinfo.gametype&(GAME_Hexen|GAME_Strife) ) return; // no key display for these ATM (will do eventually)
|
if ( gameinfo.gametype&(GAME_Hexen|GAME_Strife) ) return; // no key display for these ATM (will do eventually)
|
||||||
bool locks[6];
|
bool locks[6];
|
||||||
for ( int i=0; i<6; i++ ) locks[i] = CPlayer.mo.CheckKeys(i+1,false,true);
|
for ( int i=0; i<6; i++ ) locks[i] = CPlayer.mo.CheckKeys(i+1,false,true);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue