class edef changes
This commit is contained in:
parent
73b6749546
commit
bc5e8aaae1
7 changed files with 176 additions and 239 deletions
|
@ -207,7 +207,7 @@ info_tfgoal::Touch(entity eToucher)
|
|||
pl.GiveAmmo(detpackType, m_iDetpack);
|
||||
|
||||
/* clamp */
|
||||
pl.health = bound(0, pl.health, pl.m_iMaxHealth);
|
||||
pl.health = bound(0, pl.health, pl.max_health);
|
||||
pl.armor = bound(0, pl.armor, pl.m_iMaxArmor);
|
||||
|
||||
pl.frags += frags;
|
||||
|
|
|
@ -136,10 +136,6 @@ CSEv_ClassJoin_f(float f)
|
|||
return;
|
||||
}
|
||||
|
||||
if (self.classname != "player") {
|
||||
spawnfunc_TFPlayer();
|
||||
}
|
||||
|
||||
/* invalid */
|
||||
if (pl.classtype == f)
|
||||
return;
|
||||
|
@ -157,6 +153,5 @@ CSEv_ClassJoin_f(float f)
|
|||
|
||||
/* turn the player into the class of his choice */
|
||||
pl.MakeClass(f);
|
||||
pl.SpawnIntoGame();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,26 +52,3 @@ string g_teammodels_hd[] = {
|
|||
"models/player/spy/spy2.mdl",
|
||||
"models/player/engineer/engineer2.mdl"
|
||||
};
|
||||
|
||||
/* are we using a later build of TF? */
|
||||
bool
|
||||
TFC_IsLaterBuild(void)
|
||||
{
|
||||
if (whichpack(g_teammodels_hd[1]))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* stuff */
|
||||
string
|
||||
TFC_GetModelForClasstype(classtype_e type)
|
||||
{
|
||||
if (TFC_IsLaterBuild() == true)
|
||||
if (autocvar(tfc_newmodels, 0) == 1)
|
||||
return g_teammodels[type]; /* on later versions, the old names are the HD ones */
|
||||
else
|
||||
return g_teammodels_hd[type];
|
||||
|
||||
return g_teammodels[type];
|
||||
}
|
|
@ -5,12 +5,12 @@ weapons.h
|
|||
|
||||
flags.h
|
||||
events.h
|
||||
../../../valve/src/shared/skeleton.h
|
||||
../../../valve/src/shared/player.qc
|
||||
player.qc
|
||||
../../../valve/src/shared/animations.h
|
||||
animations_tfc.h
|
||||
../../../valve/src/shared/animations.qc
|
||||
../../../valve/src/shared/pmove.qc
|
||||
pmove.qc
|
||||
|
||||
../../../valve/src/shared/fx_blood.qc
|
||||
|
|
|
@ -85,7 +85,6 @@ class TFPlayer:HLPlayer
|
|||
void
|
||||
TFPlayer::TFPlayer(void)
|
||||
{
|
||||
classname = "player";
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -448,200 +447,58 @@ TFPlayer::SpawnIntoGame(void)
|
|||
}
|
||||
|
||||
void
|
||||
TFPlayer::MakeClass(classtype_e class)
|
||||
TFPlayer::MakeClass(classtype_e classType)
|
||||
{
|
||||
int atShells = ammoNumForName("ammo_shells");
|
||||
int atNails = ammoNumForName("ammo_nails");
|
||||
int atCells = ammoNumForName("ammo_cells");
|
||||
int atRockets = ammoNumForName("ammo_rockets");
|
||||
MakePlayer();
|
||||
int oldTeam = team;
|
||||
|
||||
/* select our class model */
|
||||
model = TFC_GetModelForClasstype(classtype);
|
||||
setmodel(this, model);
|
||||
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
|
||||
velocity = [0,0,0];
|
||||
gravity = __NULL__;
|
||||
|
||||
armor = activeweapon = g_items = 0;
|
||||
iBleeds = TRUE;
|
||||
forceinfokey(this, "*spec", "0");
|
||||
forceinfokey(this, "*team", ftos(team));
|
||||
|
||||
switch (classtype) {
|
||||
switch (classType) {
|
||||
case CLASS_SCOUT:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_ng");
|
||||
GiveAmmo(atShells, 17i);
|
||||
GiveAmmo(atNails, 100i);
|
||||
|
||||
m_iMaxHealth = 75;
|
||||
m_iMaxArmor = 50;
|
||||
health = m_iMaxHealth;
|
||||
armor = 25;
|
||||
|
||||
m_iMaxShells = 50;
|
||||
m_iMaxNails = 200;
|
||||
m_iMaxCells = 100;
|
||||
m_iMaxRockets = 25;
|
||||
EntityDef_SpawnClassname("player_scout");
|
||||
env_message_single(this, "HELP_SCOUT");
|
||||
break;
|
||||
case CLASS_SNIPER:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_sniperrifle");
|
||||
GiveItem("tf_weapon_autorifle");
|
||||
GiveItem("tf_weapon_ng");
|
||||
GiveAmmo(atShells, 60i); /* sniper rifles use shells */
|
||||
GiveAmmo(atNails, 50i);
|
||||
|
||||
m_iMaxHealth = 90;
|
||||
m_iMaxArmor = 50;
|
||||
health = m_iMaxHealth;
|
||||
armor = 0;
|
||||
|
||||
m_iMaxShells = 75;
|
||||
m_iMaxNails = 100;
|
||||
m_iMaxCells = 50;
|
||||
m_iMaxRockets = 25;
|
||||
EntityDef_SpawnClassname("player_sniper");
|
||||
env_message_single(this, "HELP_SNIPER");
|
||||
break;
|
||||
case CLASS_SOLDIER:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_supershotgun");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_rpg");
|
||||
GiveAmmo(atShells, 26i);
|
||||
GiveAmmo(atRockets, 6i);
|
||||
|
||||
m_iMaxHealth = 100;
|
||||
m_iMaxArmor = 200;
|
||||
health = m_iMaxHealth;
|
||||
armor = 100;
|
||||
|
||||
m_iMaxShells = 100;
|
||||
m_iMaxNails = 100;
|
||||
m_iMaxCells = 50;
|
||||
m_iMaxRockets = 50;
|
||||
EntityDef_SpawnClassname("player_soldier");
|
||||
env_message_single(this, "HELP_SOLDIER");
|
||||
break;
|
||||
case CLASS_DEMO:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_gl");
|
||||
GiveItem("tf_weapon_pl");
|
||||
GiveAmmo(atShells, 22i);
|
||||
GiveAmmo(atRockets, 14i);
|
||||
|
||||
m_iMaxHealth = 90;
|
||||
m_iMaxArmor = 100;
|
||||
health = m_iMaxHealth;
|
||||
armor = 50;
|
||||
|
||||
m_iMaxShells = 75;
|
||||
m_iMaxNails = 50;
|
||||
m_iMaxCells = 50;
|
||||
m_iMaxRockets = 50;
|
||||
EntityDef_SpawnClassname("player_demo");
|
||||
env_message_single(this, "HELP_DEMOMAN");
|
||||
break;
|
||||
case CLASS_MEDIC:
|
||||
GiveItem("tf_weapon_medikit");
|
||||
GiveItem("tf_weapon_supershotgun");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_superng");
|
||||
GiveAmmo(atShells, 26i);
|
||||
GiveAmmo(atNails, 50i);
|
||||
|
||||
m_iMaxHealth = 90;
|
||||
m_iMaxArmor = 100;
|
||||
health = m_iMaxHealth;
|
||||
armor = 50;
|
||||
|
||||
m_iMaxShells = 75;
|
||||
m_iMaxNails = 150;
|
||||
m_iMaxCells = 50;
|
||||
m_iMaxRockets = 25;
|
||||
EntityDef_SpawnClassname("player_medic");
|
||||
env_message_single(this, "HELP_MEDIC");
|
||||
break;
|
||||
case CLASS_HVYWEAPON:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_supershotgun");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_ac");
|
||||
GiveAmmo(atShells, 176i); /* all of the heavy's weapons use shells */
|
||||
|
||||
m_iMaxHealth = 100;
|
||||
m_iMaxArmor = 300;
|
||||
health = m_iMaxHealth;
|
||||
armor = 150;
|
||||
|
||||
m_iMaxShells = 200;
|
||||
m_iMaxNails = 200;
|
||||
m_iMaxCells = 50;
|
||||
m_iMaxRockets = 25;
|
||||
EntityDef_SpawnClassname("player_heavy");
|
||||
env_message_single(this, "HELP_HWGUY");
|
||||
break;
|
||||
case CLASS_PYRO:
|
||||
GiveItem("tf_weapon_axe");
|
||||
GiveItem("tf_weapon_shotgun");
|
||||
GiveItem("tf_weapon_flamethrower");
|
||||
GiveItem("tf_weapon_ic");
|
||||
GiveAmmo(atShells, 12i);
|
||||
GiveAmmo(atCells, 120i);
|
||||
GiveAmmo(atRockets, 5i);
|
||||
|
||||
m_iMaxHealth = 100;
|
||||
m_iMaxArmor = 150;
|
||||
health = m_iMaxHealth;
|
||||
armor = 50;
|
||||
|
||||
m_iMaxShells = 40;
|
||||
m_iMaxNails = 50;
|
||||
m_iMaxCells = 200;
|
||||
m_iMaxRockets = 60;
|
||||
EntityDef_SpawnClassname("player_pyro");
|
||||
env_message_single(this, "HELP_PYRO");
|
||||
break;
|
||||
case CLASS_SPY:
|
||||
GiveItem("tf_weapon_knife");
|
||||
GiveItem("tf_weapon_tranq");
|
||||
GiveItem("tf_weapon_supershotgun");
|
||||
GiveItem("tf_weapon_ng");
|
||||
GiveAmmo(atShells, 24i); /* tranquil and dbs use shells */
|
||||
GiveAmmo(atNails, 50i);
|
||||
|
||||
m_iMaxHealth = 90;
|
||||
m_iMaxArmor = 100;
|
||||
health = m_iMaxHealth;
|
||||
armor = 25;
|
||||
|
||||
m_iMaxShells = 40;
|
||||
m_iMaxNails = 50;
|
||||
m_iMaxCells = 30;
|
||||
m_iMaxRockets = 15;
|
||||
EntityDef_SpawnClassname("player_spy");
|
||||
env_message_single(this, "HELP_SPY");
|
||||
break;
|
||||
case CLASS_ENGINEER:
|
||||
GiveItem("tf_weapon_spanner");
|
||||
GiveItem("tf_weapon_railgun");
|
||||
GiveItem("tf_weapon_supershotgun");
|
||||
GiveAmmo(atCells, 100i);
|
||||
GiveAmmo(atNails, 25i);
|
||||
GiveAmmo(atShells, 4i);
|
||||
|
||||
m_iMaxHealth = 80;
|
||||
m_iMaxArmor = 50;
|
||||
health = m_iMaxHealth;
|
||||
armor = 25;
|
||||
|
||||
m_iMaxShells = 50;
|
||||
m_iMaxNails = 50;
|
||||
m_iMaxCells = 200;
|
||||
m_iMaxRockets = 30;
|
||||
EntityDef_SpawnClassname("player_engineer");
|
||||
env_message_single(this, "HELP_ENGINEER");
|
||||
break;
|
||||
}
|
||||
|
||||
MakePlayer();
|
||||
team = oldTeam;
|
||||
forceinfokey(this, "*team", ftos(team));
|
||||
GiveItem("item_suit");
|
||||
SpawnIntoGame();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,3 +2,157 @@ entityDef player
|
|||
{
|
||||
"spawnclass" "TFPlayer"
|
||||
}
|
||||
|
||||
entityDef player_scout
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/scout/scout.mdl"
|
||||
"health" "75"
|
||||
"armor" "25"
|
||||
"maxarmor" "50"
|
||||
"ammo_shells" "17"
|
||||
"ammo_nails" "100"
|
||||
"max_ammo_shells" "50"
|
||||
"max_ammo_nails" "200"
|
||||
"max_ammo_cells" "100"
|
||||
"max_ammo_rockets" "25"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_shotgun,tf_weapon_ng"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_sniper
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/sniper/sniper.mdl"
|
||||
"health" "90"
|
||||
"armor" "0"
|
||||
"maxarmor" "50"
|
||||
"ammo_shells" "60"
|
||||
"ammo_nails" "50"
|
||||
"max_ammo_shells" "75"
|
||||
"max_ammo_nails" "100"
|
||||
"max_ammo_cells" "50"
|
||||
"max_ammo_rockets" "25"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_sniperrifle,tf_weapon_autorifle,tf_weapon_ng"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_soldier
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/soldier/soldier.mdl"
|
||||
"health" "100"
|
||||
"armor" "100"
|
||||
"maxarmor" "200"
|
||||
"ammo_shells" "26"
|
||||
"ammo_rockets" "6"
|
||||
"max_ammo_shells" "100"
|
||||
"max_ammo_nails" "100"
|
||||
"max_ammo_cells" "50"
|
||||
"max_ammo_rockets" "50"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_supershotgun,tf_weapon_shotgun,tf_weapon_rpg"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_demo
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/demo/demo.mdl"
|
||||
"health" "90"
|
||||
"armor" "50"
|
||||
"maxarmor" "100"
|
||||
"ammo_shells" "22"
|
||||
"ammo_rockets" "14"
|
||||
"max_ammo_shells" "75"
|
||||
"max_ammo_nails" "50"
|
||||
"max_ammo_cells" "50"
|
||||
"max_ammo_rockets" "50"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_shotgun,tf_weapon_gl,tf_weapon_pl"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_medic
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/medic/medic.mdl"
|
||||
"health" "90"
|
||||
"armor" "50"
|
||||
"maxarmor" "100"
|
||||
"ammo_shells" "26"
|
||||
"ammo_nails" "50"
|
||||
"max_ammo_shells" "75"
|
||||
"max_ammo_nails" "150"
|
||||
"max_ammo_cells" "50"
|
||||
"max_ammo_rockets" "25"
|
||||
"weapon" "tf_weapon_medikit,tf_weapon_supershotgun,tf_weapon_shotgun,tf_weapon_superng"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_heavy
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/hvyweapon/hvyweapon.mdl"
|
||||
"health" "100"
|
||||
"armor" "150"
|
||||
"maxarmor" "300"
|
||||
"ammo_shells" "176"
|
||||
"max_ammo_shells" "200"
|
||||
"max_ammo_nails" "200"
|
||||
"max_ammo_cells" "50"
|
||||
"max_ammo_rockets" "25"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_supershotgun,tf_weapon_shotgun,tf_weapon_ac"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_pyro
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/pyro/pyro.mdl"
|
||||
"health" "100"
|
||||
"armor" "50"
|
||||
"maxarmor" "150"
|
||||
"ammo_shells" "12"
|
||||
"ammo_cells" "120"
|
||||
"ammo_rockets" "5"
|
||||
"max_ammo_shells" "40"
|
||||
"max_ammo_nails" "50"
|
||||
"max_ammo_cells" "200"
|
||||
"max_ammo_rockets" "60"
|
||||
"weapon" "tf_weapon_axe,tf_weapon_shotgun,tf_weapon_flamethrower,tf_weapon_ic"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_spy
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/spy/spy.mdl"
|
||||
"health" "90"
|
||||
"armor" "25"
|
||||
"maxarmor" "100"
|
||||
"ammo_shells" "24"
|
||||
"ammo_nails" "50"
|
||||
"max_ammo_shells" "40"
|
||||
"max_ammo_nails" "50"
|
||||
"max_ammo_cells" "30"
|
||||
"max_ammo_rockets" "15"
|
||||
"weapon" "tf_weapon_knife,tf_weapon_tranq,tf_weapon_supershotgun,tf_weapon_ng"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
||||
entityDef player_engineer
|
||||
{
|
||||
"inherit" "player"
|
||||
"model" "models/player/engineer/engineer.mdl"
|
||||
"health" "80"
|
||||
"armor" "25"
|
||||
"maxarmor" "50"
|
||||
"ammo_shells" "4"
|
||||
"ammo_nails" "25"
|
||||
"ammo_cells" "100"
|
||||
"max_ammo_shells" "50"
|
||||
"max_ammo_nails" "50"
|
||||
"max_ammo_cells" "200"
|
||||
"max_ammo_rockets" "30"
|
||||
"weapon" "tf_weapon_spanner,tf_weapon_railgun,tf_weapon_supershotgun"
|
||||
"current_weapon" "1"
|
||||
}
|
||||
|
|
54
zpak001.pk3dir/default.cfg
Executable file → Normal file
54
zpak001.pk3dir/default.cfg
Executable file → Normal file
|
@ -1,52 +1,6 @@
|
|||
// 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"
|
||||
|
||||
// Game Variables
|
||||
exec default_controls.cfg
|
||||
exec cvar_defaults.cfg
|
||||
|
||||
seta "hostname" "FreeTFC Server"
|
||||
seta "maxplayers" "8"
|
||||
|
||||
// disable some nuclide niceties
|
||||
seta v_muzzledlight 0
|
||||
|
||||
// config compat
|
||||
alias mp_timelimit timelimit
|
||||
alias mp_fraglimit fraglimit
|
||||
|
||||
// video settings
|
||||
seta gl_overbright 0
|
||||
seta gl_ldr 1
|
||||
seta r_lightmap_format rgb8
|
||||
|
Loading…
Reference in a new issue