Compare commits

...

4 commits

31 changed files with 212 additions and 252 deletions

1
PROJECT Normal file
View file

@ -0,0 +1 @@
ScientistHunt

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -19,7 +19,6 @@ void VGUI_ChooseTeam(void);
int
ClientGame_ConsoleCommand(void)
{
switch(argv(0)) {
case "+sciscore":
if (cvar("sh_announcescinum") == 1)
@ -36,15 +35,18 @@ ClientGame_ConsoleCommand(void)
default:
return (0);
}
return (1);
}
void
CMD_ChooseTeam(void)
{
if (serverkeyfloat("sv_playerslots") <= 1)
if (serverkeyfloat("sv_playerslots") <= 1) {
return;
}
if (serverkeyfloat("teams") > 1)
if (serverkeyfloat("teams") > 1) {
VGUI_ChooseTeam();
}
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2023 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2022 Vera Visions LLC.
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -12,7 +12,7 @@
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
*/
var bool g_sciscore = false;
@ -29,28 +29,28 @@ SH_DrawSciScore(void)
vector pos;
line = "^xFA0Scientist round score info:";
pos = (video_res / 2);
pos = (g_vidsize / 2);
pos[0] -= (Font_StringWidth(line, FALSE, FONT_CON) / 2);
pos[1] -= 64;
Font_DrawText(pos, line, FONT_CON);
line = sprintf("^xFA0Team Red: %d kills", serverkeyfloat("teamkills_1"));
pos = (video_res / 2);
pos = (g_vidsize / 2);
pos[0] -= (Font_StringWidth(line, FALSE, FONT_CON) / 2);
pos[1] -= 36;
Font_DrawText(pos, line, FONT_CON);
line = sprintf("^xFA0Team Blue: %d kills", serverkeyfloat("teamkills_2"));
pos = (video_res / 2);
pos = (g_vidsize / 2);
pos[0] -= (Font_StringWidth(line, FALSE, FONT_CON) / 2);
pos[1] -= 24;
Font_DrawText(pos, line, FONT_CON);
line = sprintf("^xFA0Scientists left: %d", serverkeyfloat("sci_count"));
pos = (video_res / 2);
pos = (g_vidsize / 2);
pos[0] -= (Font_StringWidth(line, FALSE, FONT_CON) / 2);
Font_DrawText(pos, line, FONT_CON);
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View file

@ -309,8 +309,9 @@ HUD_DrawAmmo3(void)
void
HUD_DrawAmmoBar(vector pos, float val, float max, float a)
{
if (val <= 0)
if (val <= 0) {
return;
}
float perc;
perc = val / max;
@ -390,6 +391,7 @@ HUD_DrawLogo(void)
frame_timer = 0.1f;
f++;
if (f == 31) {
f = 0;
}
@ -447,8 +449,9 @@ HUD_DrawDamageIndicator(void)
{
vector cross_pos;
if (pSeatLocal->m_flDamageIndicator <= 0.0)
if (pSeatLocal->m_flDamageIndicator <= 0.0) {
return;
}
cross_pos = g_hudmins + (g_hudres / 2) + [-12,-12];
@ -478,7 +481,7 @@ HUD_DrawInsanityIcon(void)
insanityalpha = bound(0,pl.sh_insaneactive * 0.05f,0.4);
drawfill(
video_mins,
video_res,
g_vidsize,
[1,0,0],
insanityalpha,
DRAWFLAG_ADDITIVE
@ -568,8 +571,9 @@ HUD_Draw(void)
#endif
/* little point in not drawing these, even if you don't have a suit */
if (pl.m_activeWeapon)
if (pl.m_activeWeapon) {
pl.m_activeWeapon.UpdateGUI();
}
HUD_DrawDamageIndicator();
HUD_DrawWeaponSelect();

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2021 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -32,7 +32,6 @@ void
TeamButton::OnMouseUp(void)
{
int tag = GetTag();
localcmd("changeclass\n");
sendevent("TeamJoin", "f", (float)tag);
winChooseTeam.Hide();
@ -44,8 +43,9 @@ VGUI_ChooseTeam_MapInfo(void)
{
static string mapinfo = __NULL__;
if (mapinfo != __NULL__)
if (mapinfo != __NULL__) {
return mapinfo;
}
filestream fileMap = fopen(strcat("maps/", mapname, ".txt"), FILE_READ);
string temp;
@ -167,5 +167,5 @@ VGUI_ChooseTeam(void)
}
winChooseTeam.Show();
winChooseTeam.SetPos((video_res / 2) - (winChooseTeam.GetSize() / 2));
winChooseTeam.SetPos((g_vidsize / 2) - (winChooseTeam.GetSize() / 2));
}

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2023 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2023-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@ -30,8 +30,9 @@ VGUI_ShowMOTD(void)
winMotd.Hide();
}
if (MOTD_GetLineCount() < 1i)
if (MOTD_GetLineCount() < 1i) {
return;
}
if (!initialized) {
initialized = TRUE;
@ -75,5 +76,5 @@ VGUI_ShowMOTD(void)
}
winMotd.Show();
winMotd.SetPos((video_res / 2) - (winMotd.GetSize() / 2));
winMotd.SetPos((g_vidsize / 2) - (winMotd.GetSize() / 2));
}

View file

@ -170,7 +170,4 @@ var int autocvar_sh_announcescideath = 1;
var int autocvar_sh_announcescinum = 1;
/* default kills required for insanity */
var int autocvar_sh_insanity = 5;
/* an override for sh_scimax */
var int autocvarsh_scimax_override = 0;
var int autocvar_sh_insanity = 5;

View file

@ -399,8 +399,6 @@ HLGameRules::PlayerSpawn(NSClientPlayer pp)
pl.SetOrigin(spot.origin);
pl.SetAngles(spot.angles);
Client_FixAngle(pl, pl.angles);
pl.GiveItem("item_suit");
SHData_GetItems(pl);
}

View file

@ -339,6 +339,8 @@ SHScientist::PlayerUse(void)
void
SHScientist::Pain(entity inflictor, entity attacker, int damage, vector dir, int location)
{
super::Pain(inflictor, attacker, damage, dir, location);
/* make everyone on edge */
WarnAllies();
@ -369,7 +371,7 @@ SHScientist::Death(entity inflictor, entity attacker, int damage, vector dir, in
rules.ScientistKill((SHPlayer)attacker, (entity)this);
Plugin_PlayerObituary(attacker, this, g_dmg_iWeapon, g_dmg_iHitBody, g_dmg_iDamage);
Sound_Speak(this, "SHScientist.die");
Sound_Speak(this, "monster_scientist.die");
deathcheck = true;
}

View file

@ -51,6 +51,7 @@ Game_Worldspawn(void)
Sound_Precache("Player.FlashLightOff");
Sound_Precache("Player.FlashLightOn");
EntityDef_Precache("monster_scientist");
EntityDef_Precache("weapon_crowbar");
EntityDef_Precache("weapon_9mmhandgun");
EntityDef_Precache("weapon_357");

View file

@ -1,54 +0,0 @@
/*
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#define ITEM_CROWBAR 0x00000001
#define ITEM_GLOCK 0x00000002
#define ITEM_PYTHON 0x00000004
#define ITEM_MP5 0x00000008
#define ITEM_CROSSBOW 0x00000010
#define ITEM_SHOTGUN 0x00000020
#define ITEM_RPG 0x00000040
#define ITEM_GAUSS 0x00000080
#define ITEM_EGON 0x00000100
#define ITEM_HORNETGUN 0x00000200
#define ITEM_HANDGRENADE 0x00000400
#define ITEM_TRIPMINE 0x00000800
#define ITEM_SATCHEL 0x00001000
#define ITEM_SNARK 0x00002000
#define ITEM_SUIT 0x00004000
#define ITEM_LONGJUMP 0x00008000
#define ITEM_HEALTHKIT 0x00010000
#define ITEM_BATTERY 0x00020000
#define ITEM_CANNON 0x00040000
#define ITEM_CHAINSAW 0x00080000
#define ITEM_HAMMER 0x00100000
#define ITEM_NEEDLE 0x00200000
#define ITEM_UNUSED23 0x00400000
#define ITEM_UNUSED24 0x00800000
#define ITEM_UNUSED25 0x01000000
#define ITEM_UNUSED26 0x02000000
#define ITEM_UNUSED27 0x04000000
#define ITEM_UNUSED28 0x08000000
#define ITEM_UNUSED29 0x10000000
#define ITEM_UNUSED30 0x20000000
#define ITEM_UNUSED31 0x40000000
#define ITEM_UNUSED32 0x80000000
/* part of .gflags */
#define GF_MADNESS (1<<23)

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2021 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2023 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
* Copyright (c) 2016-2023 Gethyn ThomasQuail <gethyn@vera-visions.com>
*
* Permission to use, copy, modify, and distribute this software for any
@ -15,21 +15,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#define PMOVE_AIRSTEPHEIGHT 0
#define PMOVE_STEPHEIGHT 18
#define PMOVE_FRICTION 4
#define PMOVE_EDGEFRICTION 1
#define PMOVE_STOPSPEED 100
#define PMOVE_GRAVITY 800
#define PMOVE_AIRACCELERATE 10
#define PMOVE_WATERACCELERATE 10
#define PMOVE_ACCELERATE 10
#define PMOVE_MAXSPEED 270
#define PMOVE_STEP_WALKSPEED 135
#define PMOVE_STEP_RUNSPEED 220
#define PHY_VIEWPOS [0,0,28]
#define PHY_VIEWPOS_CROUCHED [0,0,12]
#include "items.h"
#define GF_MADNESS (1<<23)
/* insanity changes player move and attack speed
* so lets override some base player functions */

View file

@ -1,3 +1,19 @@
/*
* Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
typedef enum {
SCIANIM_WALK = 0,
SCIANIM_WALK_SCARED = 1,

View file

@ -1,17 +1,21 @@
exec skill_valve.cfg
set sk_plr_hammer1 "50"
set sk_plr_hammer2 "50"
set sk_plr_hammer3 "50"
set sk_plr_hammeralt1 "200"
set sk_plr_hammeralt2 "200"
set sk_plr_hammeralt3 "200"
set sk_plr_chainsaw1 "10"
set sk_plr_chainsaw2 "10"
set sk_plr_chainsaw3 "10"
set sk_plr_hammer1 "50"
set sk_plr_hammer2 "50"
set sk_plr_hammer3 "50"
set sk_plr_hammer_alt1 "200"
set sk_plr_hammer_alt2 "200"
set sk_plr_hammer_alt3 "200"
set sk_plr_handcannon1 "5"
set sk_plr_handcannon2 "5"
set sk_plr_handcannon3 "5"
set sk_plr_needle1 "5"
set sk_plr_needle2 "5"
set sk_plr_needle3 "5"

View file

@ -12,6 +12,8 @@ entityDef weapon_chainsaw
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
"snd_idle" "weapon_chainsaw.idle"
"snd_start" "weapon_chainsaw.start"
"snd_stop" "weapon_chainsaw.stop"
// weapon specific
"def_melee" "damage_chainsaw"
@ -25,12 +27,12 @@ entityDef weapon_chainsaw
"meleeRateMiss" "0.5"
"meleeRateHit" "0.25"
"actIdle" "5,6"
"actDraw" "3"
"actHolster" "4"
"act_idle" "5,6"
"act_draw" "3"
"act_holster" "4"
"actMeleeStart" "0"
"actMeleeMiss" "1"
"actMeleeHit" "1"
"act_fireFailed" "1"
"act_fire" "1"
"actMeleeStop" "2"
// HLWeapon specific

View file

@ -0,0 +1,76 @@
entityDef weapon_hammer
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Hammer"
"editor_rotatable" "1"
"spawnclass" "HLWeapon"
"model" "models/p_hammer.mdl"
"model_view" "models/v_hammer.mdl"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
"snd_hit" "weapon_hammer.hit"
"snd_failed" "weapon_hammer.miss"
// weapon specific
"def_fireInfo" "fireInfo_hammer"
"def_altFireInfo" "fireInfo_hammerCharged"
"inv_name" "Hammer"
"ammoRequired" "0"
"silent_fire" "1"
"testDistance" "-32"
"act_idle" "0,5,6"
"act_draw" "1"
"act_holster" "2,7,8"
// HLWeapon specific
"hudSlot" "0"
"hudSlotPos" "1"
"weight" "1"
"crosshair" "none"
"ammoIcon" "none"
}
entityDef damage_hammerCharged
{
"damage" "skill: plr_hammer_alt"
}
entityDef projectile_hammer
{
"spawnclass" "NSProjectile"
"damage" "skill:plr_hammer"
"is_bullet" "1"
"decal_impact" "Impact.Shot"
"detonate_on_world" "1"
"push" "3500"
}
entityDef projectile_hammerCharged
{
"spawnclass" "NSProjectile"
"def_damage" "damage_hammerCharged"
"is_bullet" "1"
"decal_impact" "Impact.Shot"
"detonate_on_world" "1"
}
entityDef fireInfo_hammer
{
"def_onFire" "projectile_hammer"
"failRate" "1.0"
"fireRate" "1.0"
"act_fireFailed" "3"
"act_fire" "3"
}
entityDef fireInfo_hammerCharged
{
"def_onRelease" "projectile_hammerCharged"
"act_fireFailed" "4"
"act_fire" "4"
}

View file

@ -21,10 +21,10 @@ entityDef weapon_handcannon
"ammoRequired" "1"
"model_flash" "sprites/muzzleflash2.spr"
"actHolster" "5"
"actReload" "3"
"actDraw" "4"
"actIdle" "6,7"
"act_holster" "5"
"act_reload" "3"
"act_draw" "4"
"act_idle" "6,7"
"snd_fire" "weapon_handcannon.shoot"
"snd_empty" "weapon_shotgun.empty"
@ -56,7 +56,7 @@ entityDef fireInfo_handcannon
"def_onFire" "projectile_handcannon"
"ammoPerShot" "2"
"fireRate" "1.5"
"actFire" "0"
"act_fire" "0"
}
entityDef fireInfo_altCannon
@ -64,7 +64,7 @@ entityDef fireInfo_altCannon
"def_onFire" "projectile_handcannon_single"
"ammoPerShot" "1"
"fireRate" "1.5"
"actFire" "1,2"
"act_fire" "1,2"
}
// TODO respect sh_hchorror = 1
@ -72,6 +72,6 @@ entityDef fireInfo_handcannonHorror
{
"def_onFire" "projectile_handcannon"
"fireRate" "0.5"
"actFire" "0"
"act_fire" "0"
"ammoRequired" "0"
}

View file

@ -17,8 +17,7 @@ entityDef weapon_needle
"clipSize" "0"
"meleeRateMiss" "0.5"
"meleeRateHit" "0.25"
"meleeRateHit" "0.5"
// HLWeapon specific
"hudSlot" "0"
@ -26,16 +25,13 @@ entityDef weapon_needle
"weight" "0"
"crosshair" "none"
"ammoIcon" "none"
"icon" "none"
"iconSelected" "none"
}
// TODO needs infection
entityDef damage_needle
{
"damage" "skill:plr_needle"
// "kickDir" "-1 0 0"
// "knockback" "20"
// "push" "20000"
"gib" "0"
"snd_hit" "weapon_needle.hit"
"snd_miss" "weapon_needle.miss"
}

View file

@ -3,11 +3,6 @@ weapon_handcannon.shoot
sample cannon/fire.wav
}
weapon_chainsaw.attack
{
sample sh/chainsaw_idle2.wav
}
weapon_chainsaw.draw
{
sample sh/chainsaw_pullout.wav
@ -30,7 +25,12 @@ weapon_chainsaw.idle
sample sh/chainsaw_idle.wav
}
weapon_chainsaw.startup
weapon_chainsaw.miss
{
sample sh/chainsaw_idle2.wav
}
weapon_chainsaw.start
{
sample sh/chainsaw_startup.wav
}

View file

@ -1,65 +0,0 @@
entityDef weapon_hammer
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Hammer"
"editor_rotatable" "1"
"spawnclass" "HLWeapon"
"model" "models/p_hammer.mdl"
"model_view" "models/v_hammer.mdl"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
"snd_idle" "weapon_hammer.idle"
"snd_hit" "weapon_hammer.hit"
"snd_miss" "weapon_hammer.miss"
// weapon specific
"def_melee" "damage_hammer"
"def_meleeAlt" "damage_hammerWindup"
"melee_distance" "32"
"inv_name" "Hammer"
"ammoType" ""
"ammoRequired" "0"
"clipSize" "0"
"meleeRateMiss" "1.0"
"meleeRateHit" "1.0"
"actIdle" "0,5,6"
"actDraw" "1"
"actHolster" "2,7,8"
"actMeleeMiss" "3"
"actMeleeHit" "3"
// HLWeapon specific
"hudSlot" "0"
"hudSlotPos" "1"
"weight" "1"
"crosshair" "none"
"ammoIcon" "none"
}
// TODO double check push/knockback works on victims
entityDef damage_hammer
{
"damage" "skill:plr_hammer"
// "kickDir" "-1 0 0"
// "knockback" "20"
"push" "20000"
"gib" "0"
}
// TODO
entityDef damage_hammerWindup
{
"damage" "skill:plr_hammeralt"
"gib" "1"
"meleeRateMiss" "0.75"
"meleeRateHit" "0.75"
"actMeleeMiss" "4"
"actMeleeHit" "4"
}

View file

@ -1,40 +1,48 @@
// Generic Binds
bind "ESC" "togglemenu"
bind "w" "+forward"
bind "s" "+back"
bind "a" "+moveleft"
bind "d" "+moveright"
bind "SPACE" "+jump"
bind "CTRL" "+duck"
bind "SHIFT" "+speed"
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind "UPARROW" "+forward"
bind "DOWNARROW" "+back"
bind "LEFTARROW" "+left"
bind "RIGHTARROW" "+right"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "MWHEELDOWN" "invnext"
bind "MWHEELUP" "invprev"
bind "r" "+reload"
bind "e" "+use"
bind "TAB" "+showscores"
bind "y" "messagemode"
bind "u" "messagemode2"
bind "t" "impulse 201"
bind "f" "impulse 100"
bind "f1" "vote yes"
bind "f2" "vote no"
unbindall
bind CTRL "+duck"
bind DOWNARROW "+back"
bind ESCAPE "togglemenu"
bind F1 "vote yes"
bind F2 "vote no"
bind LEFTARROW "+left"
bind MOUSE1 "+attack"
bind MOUSE2 "+attack2"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"
bind RIGHTARROW "+right"
bind SHIFT "+speed"
bind SPACE "+jump"
bind TAB "+showscores"
bind UPARROW "+forward"
bind 0 "slot10"
bind 1 "slot1"
bind 2 "slot2"
bind 3 "slot3"
bind 4 "slot4"
bind 5 "slot5"
bind 6 "slot6"
bind 7 "slot7"
bind 8 "slot8"
bind 9 "slot9"
bind ` "toggleconsole"
bind a "+moveleft"
bind d "+moveright"
bind e "+use"
bind f "impulse 100"
bind r "+reload"
bind s "+back"
bind t "impulse 201"
bind u "messagemode2"
bind w "+forward"
bind y "messagemode"
bind q "weaplast"
bind ~ "toggleconsole"
// load game defaults
exec cvar_defaults.cfg
// our mod overrides below
// Game Variables
seta "hostname" "FreeSH Server"
seta "maxplayers" "8"
@ -43,18 +51,3 @@ seta "maxplayers" "8"
seta "con_color" "255 255 215"
seta "vgui_color" "255 255 215"
seta "cross_color" "0 255 0"
// disable some nuclide niceties
seta v_muzzledlight 0
// config compat
alias mp_timelimit timelimit
alias mp_fraglimit fraglimit
alias sv_gamemode sh_realistic
// video settings
seta gl_overbright 0
seta gl_ldr 1
seta r_lightmap_format rgb8
exec skill_scihunt.cfg