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();
}
string g_specmodes[] = {
"Free Camera",
"Third Person",
"First Person"
};
/* specatator main entry */
void
HUD_DrawSpectator(void)

View file

@ -20,12 +20,12 @@
like viewmodel bob that people may like
*/
var float autocvar_v_bob = 0.005;
var float autocvar_v_bobcycle = 0.6;
var float autocvar_v_bob = 0.01;
var float autocvar_v_bobcycle = 0.8;
var float autocvar_v_bobup = 0.5;
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;
struct

View file

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

View file

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

View file

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

View file

@ -2,32 +2,33 @@
../../../valve/src/shared/entities.h
../../../valve/src/shared/events.h
../../../valve/src/shared/flags.h
player.qc
../../../hl2/src/shared/player.qc
../../../valve/src/shared/weapon_common.h
../../../valve/src/shared/animations.h
../../../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_gaussbeam.qc
../../../valve/src/shared/fx_corpse.qc
items.h
weapons.h
../../../hl2/src/shared/items.h
../../../hl2/src/shared/weapons.h
w_357.qc
w_ar2.qc
w_bugbait.qc
w_crossbow.qc
w_crowbar.qc
w_frag.qc
w_gravitygun.qc
w_pistol.qc
w_rpg.qc
w_shotgun.qc
w_smg1.qc
w_stunstick.qc
w_slam.qc
weapons.qc
../../../hl2/src/shared/w_357.qc
../../../hl2/src/shared/w_ar2.qc
../../../hl2/src/shared/w_bugbait.qc
../../../hl2/src/shared/w_crossbow.qc
../../../hl2/src/shared/w_crowbar.qc
../../../hl2/src/shared/w_frag.qc
../../../hl2/src/shared/w_gravitygun.qc
../../../hl2/src/shared/w_pistol.qc
../../../hl2/src/shared/w_rpg.qc
../../../hl2/src/shared/w_shotgun.qc
../../../hl2/src/shared/w_smg1.qc
../../../hl2/src/shared/w_stunstick.qc
../../../hl2/src/shared/w_slam.qc
../../../hl2/src/shared/weapons.qc
../../../hl2/src/shared/prop_vehicle_jeep.qc
../../../valve/src/shared/weapon_common.qc
#endlist

View file

@ -128,7 +128,7 @@ w_357_primary(player pl)
#ifdef CLIENT
View_SetMuzzleflash(MUZZLE_SMALL);
#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");
#endif

View file

@ -128,9 +128,12 @@ w_ar2_primary(player pl)
//return;
}
Weapons_ViewPunchAngle(pl, [-3,0,0]);
#ifdef SERVER
w_ar2_shoothornet(pl);
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
// pl.ammo_hornet--;
@ -159,6 +162,8 @@ w_ar2_secondary(player pl)
return;
}
Weapons_ViewPunchAngle(pl, [-3,0,0]);
#ifdef SERVER
// w_ar2_shoothornet(pl);
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);
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)
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) {
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) {
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_ViewAnimation(pl, GRAVGUN_DRAW);
pl.w_idle_next = 0.95f;
pl.w_idle_next = 0.28f;
}
void w_gravitygun_holster(player pl)
@ -105,7 +105,6 @@ void w_gravitygun_primary(player pl)
if (trace_ent.isPhysics) {
NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent;
physEnt.PhysicsEnable();
physEnt.ApplyForceCenter(v_forward * 15000);
physEnt.ApplyForceOffset(v_forward * 600, trace_endpos);
@ -122,6 +121,7 @@ void w_gravitygun_primary(player pl)
}
}
void w_gravitygun_secondary(player pl)
{
if (pl.w_attack_next > 0.0f) {
@ -140,11 +140,10 @@ void w_gravitygun_secondary(player pl)
if (trace_ent.isPhysics) {
vector pullDirection;
NSPhysicsEntity physEnt = (NSPhysicsEntity)trace_ent;
physEnt.PhysicsEnable();
pullDirection = normalize(srcOrg - physEnt.WorldSpaceCenter());
//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.nextthink = time;
}

View file

@ -154,6 +154,9 @@ w_pistol_isempty(player pl)
return 0;
}
.entity first_ent;
.vector first_pos;
void
w_pistol_primary(player pl)
{
@ -178,7 +181,29 @@ w_pistol_primary(player pl)
View_SetMuzzleflash(MUZZLE_SMALL);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#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");
#endif

View file

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

View file

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

View file

@ -72,6 +72,7 @@ w_smg1_precache(void)
#else
precache_model("models/weapons/v_smg1.mdl");
precache_model("models/p_9mmar.mdl");
precache_model("models/weapons/rifleshell.mdl");
#endif
}
@ -183,9 +184,9 @@ w_smg1_primary(player pl)
#else
/* singleplayer is more accurate */
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 {
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");

View file

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

View file

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

View file

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

View file

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