Client: Update bobbing cvar defaults

Gamerules: Use setorigin_safe() on player spawns, as spawn points appear to be in the ground?
Weapons: update various weapons and their skill/damage values
This commit is contained in:
Marco Cawthorne 2024-01-08 15:27:21 -08:00
parent 31e80e786f
commit f14bd46aef
Signed by: eukara
GPG key ID: CE2032F0A2882A22
19 changed files with 82 additions and 56 deletions

View file

@ -577,12 +577,6 @@ HUD_Draw(void)
Damage_Draw(); Damage_Draw();
} }
string g_specmodes[] = {
"Free Camera",
"Third Person",
"First Person"
};
/* specatator main entry */ /* specatator main entry */
void void
HUD_DrawSpectator(void) HUD_DrawSpectator(void)

View file

@ -20,12 +20,12 @@
like viewmodel bob that people may like like viewmodel bob that people may like
*/ */
var float autocvar_v_bob = 0.005; var float autocvar_v_bob = 0.01;
var float autocvar_v_bobcycle = 0.6; var float autocvar_v_bobcycle = 0.8;
var float autocvar_v_bobup = 0.5; var float autocvar_v_bobup = 0.5;
var float autocvar_v_bob2 = 0.005; var float autocvar_v_bob2 = 0.005;
var float autocvar_v_bob2cycle = 1.4; var float autocvar_v_bob2cycle = 1.6;
var float autocvar_v_bob2up = 0.5; var float autocvar_v_bob2up = 0.5;
struct struct

View file

@ -225,6 +225,8 @@ HLMultiplayerRules::PlayerSpawn(NSClientPlayer pp)
spot = Spawn_SelectRandom("info_player_deathmatch"); spot = Spawn_SelectRandom("info_player_deathmatch");
pl.Transport(spot.origin, spot.angles); pl.Transport(spot.origin, spot.angles);
setorigin_safe(pl, pl.origin + [0,0,1]);
Weapons_RefreshAmmo(pl); Weapons_RefreshAmmo(pl);
Client_FixAngle(pl, pl.angles); Client_FixAngle(pl, pl.angles);
} }

View file

@ -96,6 +96,7 @@ HLSingleplayerRules::PlayerSpawn(NSClientPlayer pl)
spawnPoint = find(world, ::classname, "info_player_start"); spawnPoint = find(world, ::classname, "info_player_start");
pl.Transport(spawnPoint.origin, spawnPoint.angles); pl.Transport(spawnPoint.origin, spawnPoint.angles);
} }
setorigin_safe(pl, pl.origin + [0,0,1]);
Weapons_RefreshAmmo(pl); Weapons_RefreshAmmo(pl);
Client_FixAngle(pl, pl.angles); Client_FixAngle(pl, pl.angles);

View file

@ -23,10 +23,9 @@ defs.h
../../../valve/src/server/player.qc ../../../valve/src/server/player.qc
../../../valve/src/server/items.qc ../../../valve/src/server/items.qc
../../../valve/src/server/item_longjump.qc item_suit.qc
../../../valve/src/server/item_suit.qc item_healthkit.qc
../../../valve/src/server/item_healthkit.qc item_battery.qc
../../../valve/src/server/item_battery.qc
../../../valve/src/server/world_items.qc ../../../valve/src/server/world_items.qc
../../../valve/src/server/xen_spore_small.qc ../../../valve/src/server/xen_spore_small.qc
../../../valve/src/server/xen_spore_medium.qc ../../../valve/src/server/xen_spore_medium.qc

View file

@ -2,32 +2,33 @@
../../../valve/src/shared/entities.h ../../../valve/src/shared/entities.h
../../../valve/src/shared/events.h ../../../valve/src/shared/events.h
../../../valve/src/shared/flags.h ../../../valve/src/shared/flags.h
player.qc ../../../hl2/src/shared/player.qc
../../../valve/src/shared/weapon_common.h ../../../valve/src/shared/weapon_common.h
../../../valve/src/shared/animations.h ../../../valve/src/shared/animations.h
../../../valve/src/shared/animations.qc ../../../valve/src/shared/animations.qc
../../../valve/src/shared/pmove.qc ../../../hl2/src/shared/pmove.qc
../../../valve/src/shared/fx_blood.qc ../../../valve/src/shared/fx_blood.qc
../../../valve/src/shared/fx_gaussbeam.qc ../../../valve/src/shared/fx_gaussbeam.qc
../../../valve/src/shared/fx_corpse.qc ../../../valve/src/shared/fx_corpse.qc
items.h ../../../hl2/src/shared/items.h
weapons.h ../../../hl2/src/shared/weapons.h
w_357.qc ../../../hl2/src/shared/w_357.qc
w_ar2.qc ../../../hl2/src/shared/w_ar2.qc
w_bugbait.qc ../../../hl2/src/shared/w_bugbait.qc
w_crossbow.qc ../../../hl2/src/shared/w_crossbow.qc
w_crowbar.qc ../../../hl2/src/shared/w_crowbar.qc
w_frag.qc ../../../hl2/src/shared/w_frag.qc
w_gravitygun.qc ../../../hl2/src/shared/w_gravitygun.qc
w_pistol.qc ../../../hl2/src/shared/w_pistol.qc
w_rpg.qc ../../../hl2/src/shared/w_rpg.qc
w_shotgun.qc ../../../hl2/src/shared/w_shotgun.qc
w_smg1.qc ../../../hl2/src/shared/w_smg1.qc
w_stunstick.qc ../../../hl2/src/shared/w_stunstick.qc
w_slam.qc ../../../hl2/src/shared/w_slam.qc
weapons.qc ../../../hl2/src/shared/weapons.qc
../../../hl2/src/shared/prop_vehicle_jeep.qc
../../../valve/src/shared/weapon_common.qc ../../../valve/src/shared/weapon_common.qc
#endlist #endlist

View file

@ -128,7 +128,7 @@ w_357_primary(player pl)
#ifdef CLIENT #ifdef CLIENT
View_SetMuzzleflash(MUZZLE_SMALL); View_SetMuzzleflash(MUZZLE_SMALL);
#else #else
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_357_bullet", 40), [0.008, 0.008], WEAPON_357); TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_dmg_357", 40), [0.008, 0.008], WEAPON_357);
Sound_Play(pl, CHAN_WEAPON, "Weapon_357.Single"); Sound_Play(pl, CHAN_WEAPON, "Weapon_357.Single");
#endif #endif

View file

@ -128,9 +128,12 @@ w_ar2_primary(player pl)
//return; //return;
} }
Weapons_ViewPunchAngle(pl, [-3,0,0]);
#ifdef SERVER #ifdef SERVER
w_ar2_shoothornet(pl); w_ar2_shoothornet(pl);
Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Single"); Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Single");
TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_ar2", 8), [0.025,0.025], WEAPON_AR2);
#endif #endif
// pl.ammo_hornet--; // pl.ammo_hornet--;
@ -159,6 +162,8 @@ w_ar2_secondary(player pl)
return; return;
} }
Weapons_ViewPunchAngle(pl, [-3,0,0]);
#ifdef SERVER #ifdef SERVER
// w_ar2_shoothornet(pl); // w_ar2_shoothornet(pl);
Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Double"); Sound_Play(pl, CHAN_WEAPON, "Weapon_AR2.Double");

View file

@ -136,7 +136,7 @@ w_crossbow_primary(player pl)
traceline(src, dest, MOVE_LAGGED, pl); traceline(src, dest, MOVE_LAGGED, pl);
if (trace_ent.takedamage == DAMAGE_YES) if (trace_ent.takedamage == DAMAGE_YES)
Damage_Apply(trace_ent, pl, Skill_GetValue("plr_xbow_bolt_monster", 50), WEAPON_CROSSBOW, DMG_BLUNT); Damage_Apply(trace_ent, pl, Skill_GetValue("plr_dmg_crossbow", 50), WEAPON_CROSSBOW, DMG_BLUNT);
if (other.iBleeds == FALSE) if (other.iBleeds == FALSE)
pointparticles(particleeffectnum("platform.spark"), self.origin, trace_plane_normal, 1); pointparticles(particleeffectnum("platform.spark"), self.origin, trace_plane_normal, 1);

View file

@ -137,7 +137,7 @@ w_crowbar_primary(player pl)
} }
if (trace_ent.takedamage) { if (trace_ent.takedamage) {
Damage_Apply(trace_ent, pl, Skill_GetValue("plr_crowbar", 10), WEAPON_CROWBAR, DMG_BLUNT); Damage_Apply(trace_ent, pl, Skill_GetValue("plr_dmg_crowbar", 10), WEAPON_CROWBAR, DMG_BLUNT);
if (trace_ent.iBleeds) { if (trace_ent.iBleeds) {
Sound_Play(pl, CHAN_WEAPON, "Weapon_Crowbar.Melee_Hit"); Sound_Play(pl, CHAN_WEAPON, "Weapon_Crowbar.Melee_Hit");
} }

View file

@ -74,7 +74,7 @@ void w_gravitygun_draw(player pl)
Weapons_SetModel("models/weapons/v_physcannon.mdl"); Weapons_SetModel("models/weapons/v_physcannon.mdl");
Weapons_ViewAnimation(pl, GRAVGUN_DRAW); Weapons_ViewAnimation(pl, GRAVGUN_DRAW);
pl.w_idle_next = 0.95f; pl.w_idle_next = 0.28f;
} }
void w_gravitygun_holster(player pl) void w_gravitygun_holster(player pl)
@ -105,7 +105,6 @@ void w_gravitygun_primary(player pl)
if (trace_ent.isPhysics) { if (trace_ent.isPhysics) {
NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent; NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent;
physEnt.PhysicsEnable();
physEnt.ApplyForceCenter(v_forward * 15000); physEnt.ApplyForceCenter(v_forward * 15000);
physEnt.ApplyForceOffset(v_forward * 600, trace_endpos); physEnt.ApplyForceOffset(v_forward * 600, trace_endpos);
@ -122,6 +121,7 @@ void w_gravitygun_primary(player pl)
} }
} }
void w_gravitygun_secondary(player pl) void w_gravitygun_secondary(player pl)
{ {
if (pl.w_attack_next > 0.0f) { if (pl.w_attack_next > 0.0f) {
@ -140,11 +140,10 @@ void w_gravitygun_secondary(player pl)
if (trace_ent.isPhysics) { if (trace_ent.isPhysics) {
vector pullDirection; vector pullDirection;
NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent; NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent;
physEnt.PhysicsEnable();
pullDirection = normalize(srcOrg - physEnt.WorldSpaceCenter()); pullDirection = normalize(srcOrg - physEnt.WorldSpaceCenter());
//pullDirection *= (physEnt.mass + 0.5) * (1/50.0f); //pullDirection *= (physEnt.mass + 0.5) * (1/50.0f);
physEnt.ApplyForceCenter(pullDirection * 50.0); physEnt.ApplyForceCenter(pullDirection * 500.0f);
//physEnt.velocity = v_forward * -100.0f; //physEnt.velocity = v_forward * -100.0f;
physEnt.nextthink = time; physEnt.nextthink = time;
} }

View file

@ -154,6 +154,9 @@ w_pistol_isempty(player pl)
return 0; return 0;
} }
.entity first_ent;
.vector first_pos;
void void
w_pistol_primary(player pl) w_pistol_primary(player pl)
{ {
@ -178,7 +181,29 @@ w_pistol_primary(player pl)
View_SetMuzzleflash(MUZZLE_SMALL); View_SetMuzzleflash(MUZZLE_SMALL);
View_AddEvent(w_pistol_ejectshell, 0.0f); View_AddEvent(w_pistol_ejectshell, 0.0f);
#else #else
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_9mm_bullet", 8), [0.01,0.01], WEAPON_PISTOL);
#if 0
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, Skill_GetValue("plr_dmg_buckshot", 5), [0.01,0.01], WEAPON_PISTOL);
#else
makevectors(pl.v_angle);
traceline(pl.GetEyePos(), pl.GetEyePos() + v_forward * 1024, MOVE_NORMAL, pl);
if (1) {
print("Weld ingggg\n");
if (!pl.first_ent) {
pl.first_ent = trace_ent;
pl.first_pos = trace_endpos;
print("Weld 1\n");
} else {
NSPhysicsConstraint::Weld(pl.first_ent, trace_ent, 0,0,0,0,0);
pl.first_ent = 0;
pl.first_pos = g_vec_null;
print("Weld done\n");
}
}
#endif
Sound_Play(pl, CHAN_WEAPON, "Weapon_Pistol.Single"); Sound_Play(pl, CHAN_WEAPON, "Weapon_Pistol.Single");
#endif #endif

View file

@ -243,7 +243,6 @@ void w_rpg_hud(player pl)
{ {
#ifdef CLIENT #ifdef CLIENT
vector laser_pos; vector laser_pos;
vector aicon_pos;
/* crosshair/laser */ /* crosshair/laser */
if (pl.ammo_rpg_state == 1) { if (pl.ammo_rpg_state == 1) {
@ -260,7 +259,7 @@ void w_rpg_hud(player pl)
drawsubpic( drawsubpic(
laser_pos + jitter, laser_pos + jitter,
[lerp,lerp], [lerp,lerp],
g_laser_spr, "materials/Sprites/redglow1",
[0,0], [0,0],
[1.0, 1.0], [1.0, 1.0],
[1,1,1], [1,1,1],

View file

@ -82,6 +82,7 @@ void w_shotgun_precache(void)
precache_model("models/weapons/v_shotgun.mdl"); precache_model("models/weapons/v_shotgun.mdl");
precache_model("models/p_shotgun.mdl"); precache_model("models/p_shotgun.mdl");
precache_model("models/shotgunshell.mdl"); precache_model("models/shotgunshell.mdl");
precache_model("models/weapons/shotgun_shell.mdl");
#endif #endif
} }

View file

@ -72,6 +72,7 @@ w_smg1_precache(void)
#else #else
precache_model("models/weapons/v_smg1.mdl"); precache_model("models/weapons/v_smg1.mdl");
precache_model("models/p_9mmar.mdl"); precache_model("models/p_9mmar.mdl");
precache_model("models/weapons/rifleshell.mdl");
#endif #endif
} }
@ -183,9 +184,9 @@ w_smg1_primary(player pl)
#else #else
/* singleplayer is more accurate */ /* singleplayer is more accurate */
if (cvar("sv_playerslots") == 1) { if (cvar("sv_playerslots") == 1) {
TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_9mmAR_bullet", 5), [0.025,0.025], WEAPON_SMG1); TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_smg1", 4), [0.025,0.025], WEAPON_SMG1);
} else { } else {
TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_9mmAR_bullet", 5), [0.05,0.05], WEAPON_SMG1); TraceAttack_FireBullets(1, Weapons_GetCameraPos(pl), Skill_GetValue("plr_dmg_smg1", 4), [0.05,0.05], WEAPON_SMG1);
} }
Sound_Play(pl, CHAN_WEAPON, "Weapon_SMG1.Single"); Sound_Play(pl, CHAN_WEAPON, "Weapon_SMG1.Single");

View file

@ -13,11 +13,6 @@ entityDef weapon_frag
"snd_respawn" "item.respawn" "snd_respawn" "item.respawn"
} }
entityDef projectile_frag entityDef projectile_frag
{ {
"spawnclass" "NSProjectile" "spawnclass" "NSProjectile"
@ -42,6 +37,6 @@ entityDef damage_handgrenadeDirect
entityDef damage_handgrenadeSplash entityDef damage_handgrenadeSplash
{ {
"damage" "skill:plr_hand_grenade" "damage" "skill:plr_dmg_fraggrenade"
"radius" "250" "radius" "250"
} }

View file

@ -57,12 +57,11 @@ entityDef projectile_rocket_homing
entityDef damage_rocketDirect entityDef damage_rocketDirect
{ {
"damage" "skill:plr_rocketlauncher_impact" "damage" "skill:plr_dmg_rpg_round"
"damage_random" "skill:plr_rocketlauncher_impact_rand"
} }
entityDef damage_rocketSplash entityDef damage_rocketSplash
{ {
"damage" "skill:plr_rpg" "damage" "skill:plr_dmg_rpg_round"
"radius" "250" "radius" "250"
} }

View file

@ -37,6 +37,6 @@ entityDef projectile_slam
entityDef damage_satchelExplosion entityDef damage_satchelExplosion
{ {
"damage" "skill:plr_satchel" "damage" "skill:plr_dmg_slam"
"radius" "375" "radius" "375"
} }

View file

@ -57,10 +57,15 @@ seta gl_ldr 0
seta r_lightmap_format rgb9e5 seta r_lightmap_format rgb9e5
seta rate 30000 // some HL configs set this to 2500 by default! seta rate 30000 // some HL configs set this to 2500 by default!
exec skill_hl2.cfg
seta cl_forwardspeed 190 seta cl_forwardspeed 190
seta cl_sidespeed 190 seta cl_sidespeed 190
seta cl_backspeed 190 seta cl_backspeed 190
seta cl_movespeedkey 1.684 seta cl_movespeedkey 1.684
seta pm_maxspeed 320 seta pm_maxspeed 320
exec skill_hl2.cfg
seta fov 75
seta viewmodel_fov 54