Compatibility fixes against upstream Nuclide.
Hard-code some known water textures to use `defaultwarp` shader.
This commit is contained in:
parent
f56b72d9b0
commit
6bfda4d419
135 changed files with 1527 additions and 362 deletions
|
@ -14,7 +14,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void NSWeapon_SelectWeapon(NSWeapon nextWeapon);
|
void ncWeapon_SelectWeapon(ncWeapon nextWeapon);
|
||||||
|
|
||||||
void
|
void
|
||||||
HLWeaponSelect::HLWeaponSelect(void)
|
HLWeaponSelect::HLWeaponSelect(void)
|
||||||
|
@ -32,7 +32,7 @@ HLWeaponSelect::Active(void)
|
||||||
void
|
void
|
||||||
HLWeaponSelect::Trigger(void)
|
HLWeaponSelect::Trigger(void)
|
||||||
{
|
{
|
||||||
NSWeapon_SelectWeapon(m_selectedWeapon);
|
ncWeapon_SelectWeapon(m_selectedWeapon);
|
||||||
Deactivate();
|
Deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ HLWeaponSelect::Deactivate(void)
|
||||||
void
|
void
|
||||||
HLWeaponSelect::Draw(void)
|
HLWeaponSelect::Draw(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
|
|
||||||
if (!pl.m_activeWeapon) {
|
if (!pl.m_activeWeapon) {
|
||||||
return;
|
return;
|
||||||
|
@ -139,7 +139,7 @@ HLWeaponSelect::SelectSlot(int wantedSlot, bool fastSwitch)
|
||||||
void
|
void
|
||||||
HLWeaponSelect::SelectNext(bool fastSwitch)
|
HLWeaponSelect::SelectNext(bool fastSwitch)
|
||||||
{
|
{
|
||||||
NSClient ourPlayer = (NSClient)pSeat->m_ePlayer;
|
ncClient ourPlayer = (ncClient)pSeat->m_ePlayer;
|
||||||
|
|
||||||
m_firstWeapon = (HLWeapon)ourPlayer.SortWeaponChain();
|
m_firstWeapon = (HLWeapon)ourPlayer.SortWeaponChain();
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ HLWeaponSelect::SelectNext(bool fastSwitch)
|
||||||
void
|
void
|
||||||
HLWeaponSelect::SelectPrevious(bool fastSwitch)
|
HLWeaponSelect::SelectPrevious(bool fastSwitch)
|
||||||
{
|
{
|
||||||
NSClient ourPlayer = (NSClient)pSeat->m_ePlayer;
|
ncClient ourPlayer = (ncClient)pSeat->m_ePlayer;
|
||||||
|
|
||||||
m_firstWeapon = (HLWeapon)ourPlayer.SortWeaponChain();
|
m_firstWeapon = (HLWeapon)ourPlayer.SortWeaponChain();
|
||||||
|
|
||||||
|
|
|
@ -18,11 +18,19 @@ void HUD_DrawWeaponSelect_Back(void);
|
||||||
void HUD_DrawWeaponSelect_Forward(void);
|
void HUD_DrawWeaponSelect_Forward(void);
|
||||||
void HUD_DrawWeaponSelect_Last(void);
|
void HUD_DrawWeaponSelect_Last(void);
|
||||||
void HUD_SlotSelect(int);
|
void HUD_SlotSelect(int);
|
||||||
|
void VGUI_ChooseClass(int);
|
||||||
|
void VGUI_ChooseTeam(void);
|
||||||
|
|
||||||
int
|
int
|
||||||
ClientGame_ConsoleCommand(void)
|
ClientGame_ConsoleCommand(void)
|
||||||
{
|
{
|
||||||
switch(argv(0)) {
|
switch(argv(0)) {
|
||||||
|
case "changeclass":
|
||||||
|
VGUI_ChooseClass(userinfo.GetInteger(pSeat->m_ePlayer, "*team"));
|
||||||
|
break;
|
||||||
|
case "changeteam":
|
||||||
|
VGUI_ChooseTeam();
|
||||||
|
break;
|
||||||
case "chooseteam":
|
case "chooseteam":
|
||||||
localcmd(sprintf("cmd %s %s\n", argv(0), argv(1)));
|
localcmd(sprintf("cmd %s %s\n", argv(0), argv(1)));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
Player_Flashlight(NSClientPlayer pl)
|
Player_Flashlight(ncPlayer pl)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,15 +58,6 @@ ClientGame_EventParse(float fHeader)
|
||||||
case EV_VIEWMODEL:
|
case EV_VIEWMODEL:
|
||||||
View_PlayAnimation(readbyte());
|
View_PlayAnimation(readbyte());
|
||||||
break;
|
break;
|
||||||
case EV_WEAPON_PICKUP:
|
|
||||||
int w = readbyte();
|
|
||||||
|
|
||||||
if (autocvar_cl_autoweaponswitch == 1) {
|
|
||||||
sendevent("PlayerSwitchWeapon", "i", w);
|
|
||||||
}
|
|
||||||
|
|
||||||
//HUD_WeaponPickupNotify(w);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,7 +138,7 @@ void
|
||||||
HUD_DrawHealth(void)
|
HUD_DrawHealth(void)
|
||||||
{
|
{
|
||||||
vector pos;
|
vector pos;
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
|
|
||||||
if (pl.health != pSeatLocal->m_iHealthOld) {
|
if (pl.health != pSeatLocal->m_iHealthOld) {
|
||||||
pSeatLocal->m_flHealthAlpha = 1.0;
|
pSeatLocal->m_flHealthAlpha = 1.0;
|
||||||
|
@ -185,7 +185,7 @@ void
|
||||||
HUD_DrawArmor(void)
|
HUD_DrawArmor(void)
|
||||||
{
|
{
|
||||||
vector pos;
|
vector pos;
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
|
|
||||||
pos = g_hudmins + [198, g_hudres[1] - 42];
|
pos = g_hudmins + [198, g_hudres[1] - 42];
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ HUD_DrawArmor(void)
|
||||||
void
|
void
|
||||||
HUD_DrawAmmo1(void)
|
HUD_DrawAmmo1(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
vector pos;
|
vector pos;
|
||||||
|
|
||||||
if (pl.a_ammo1 != pSeatLocal->m_iAmmo1Old) {
|
if (pl.a_ammo1 != pSeatLocal->m_iAmmo1Old) {
|
||||||
|
@ -255,7 +255,7 @@ HUD_DrawAmmo1(void)
|
||||||
void
|
void
|
||||||
HUD_DrawAmmo2(void)
|
HUD_DrawAmmo2(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
vector pos;
|
vector pos;
|
||||||
|
|
||||||
if (pl.a_ammo2 != pSeatLocal->m_iAmmo2Old) {
|
if (pl.a_ammo2 != pSeatLocal->m_iAmmo2Old) {
|
||||||
|
@ -277,7 +277,7 @@ HUD_DrawAmmo2(void)
|
||||||
void
|
void
|
||||||
HUD_DrawAmmo3(void)
|
HUD_DrawAmmo3(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
vector pos;
|
vector pos;
|
||||||
|
|
||||||
if (pl.a_ammo3 != pSeatLocal->m_iAmmo3Old) {
|
if (pl.a_ammo3 != pSeatLocal->m_iAmmo3Old) {
|
||||||
|
@ -314,7 +314,7 @@ void
|
||||||
HUD_DrawFlashlight(void)
|
HUD_DrawFlashlight(void)
|
||||||
{
|
{
|
||||||
vector pos;
|
vector pos;
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
pos = g_hudmins + [g_hudres[0] - 48, 16];
|
pos = g_hudmins + [g_hudres[0] - 48, 16];
|
||||||
|
|
||||||
/* both on, draw both sprites at full intensity */
|
/* both on, draw both sprites at full intensity */
|
||||||
|
@ -390,7 +390,7 @@ HUD_DrawLogo(void)
|
||||||
void
|
void
|
||||||
HUD_DrawNotify(void)
|
HUD_DrawNotify(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)self;
|
ncPlayer pl = (ncPlayer)self;
|
||||||
vector pos;
|
vector pos;
|
||||||
float a;
|
float a;
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ HUD_TimeRemaining(void)
|
||||||
void
|
void
|
||||||
HUD_Draw(void)
|
HUD_Draw(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
|
|
||||||
#ifndef TFC
|
#ifndef TFC
|
||||||
#ifndef GEARBOX
|
#ifndef GEARBOX
|
||||||
|
@ -519,7 +519,7 @@ HUD_DrawSpectator(void)
|
||||||
{
|
{
|
||||||
Textmenu_Draw();
|
Textmenu_Draw();
|
||||||
|
|
||||||
NSClientSpectator spec = (NSClientSpectator)pSeat->m_ePlayer;
|
ncSpectator spec = (ncSpectator)pSeat->m_ePlayer;
|
||||||
|
|
||||||
drawfont = Font_GetID(FONT_20);
|
drawfont = Font_GetID(FONT_20);
|
||||||
vector vecPos = [0.0f, 0.0f, 0.0f];
|
vector vecPos = [0.0f, 0.0f, 0.0f];
|
||||||
|
|
|
@ -113,7 +113,7 @@ HUD_AmmoNotify_Insert(int type, int count)
|
||||||
|
|
||||||
/* called whenever we should check for pickup updates */
|
/* called whenever we should check for pickup updates */
|
||||||
void
|
void
|
||||||
HUD_AmmoNotify_Check(NSClientPlayer pl)
|
HUD_AmmoNotify_Check(ncPlayer pl)
|
||||||
{
|
{
|
||||||
HUD_AmmoNotify_Insert(0, pl.m_iAmmoTypes[1] - pl.m_iAmmoTypes_net[1]);
|
HUD_AmmoNotify_Insert(0, pl.m_iAmmoTypes[1] - pl.m_iAmmoTypes_net[1]);
|
||||||
HUD_AmmoNotify_Insert(1, pl.m_iAmmoTypes[2] - pl.m_iAmmoTypes_net[2]);
|
HUD_AmmoNotify_Insert(1, pl.m_iAmmoTypes[2] - pl.m_iAmmoTypes_net[2]);
|
||||||
|
|
|
@ -76,7 +76,7 @@ HUD_ItemNotify_Insert(int type, int count)
|
||||||
|
|
||||||
/* called whenever we should check for pickup updates */
|
/* called whenever we should check for pickup updates */
|
||||||
void
|
void
|
||||||
HUD_ItemNotify_Check(NSClientPlayer pl)
|
HUD_ItemNotify_Check(ncPlayer pl)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
int healthdiff = (int)bound(0, pl.health - pSeatLocal->m_iHealthOld, 100);
|
int healthdiff = (int)bound(0, pl.health - pSeatLocal->m_iHealthOld, 100);
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void View_ForceChange(NSClientPlayer pl, int targetWeapon);
|
void View_ForceChange(ncPlayer pl, int targetWeapon);
|
||||||
|
|
||||||
|
|
||||||
vector g_vecHUDNums[6] =
|
vector g_vecHUDNums[6] =
|
||||||
|
@ -28,7 +28,7 @@ vector g_vecHUDNums[6] =
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
HUD_SelectWeapon(NSWeapon nextWeapon)
|
HUD_SelectWeapon(ncWeapon nextWeapon)
|
||||||
{
|
{
|
||||||
if (!nextWeapon) {
|
if (!nextWeapon) {
|
||||||
pSeat->m_iHUDWeaponSelected = 0i;
|
pSeat->m_iHUDWeaponSelected = 0i;
|
||||||
|
@ -78,12 +78,12 @@ void
|
||||||
HUD_SlotSelect(int slot)
|
HUD_SlotSelect(int slot)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
int curslot = g_weapons[pSeat->m_iHUDWeaponSelected].slot;
|
int curslot = g_weapons[pSeat->m_iHUDWeaponSelected].slot;
|
||||||
int i;
|
int i;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (g_textmenu != "") {
|
if (Textmenu_IsActive() == true) {
|
||||||
Textmenu_Input(slot);
|
Textmenu_Input(slot);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ void
|
||||||
HUD_DrawWeaponSelect(void)
|
HUD_DrawWeaponSelect(void)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
NSClientPlayer pl = (NSClientPlayer)pSeat->m_ePlayer;
|
ncPlayer pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
if (!pl.activeweapon) {
|
if (!pl.activeweapon) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,8 @@ void
|
||||||
ClientGame_Init(float apilevel, string enginename, float engineversion)
|
ClientGame_Init(float apilevel, string enginename, float engineversion)
|
||||||
{
|
{
|
||||||
Obituary_Init();
|
Obituary_Init();
|
||||||
|
registercommand("changeclass");
|
||||||
|
registercommand("changeteam");
|
||||||
registercommand("chooseteam");
|
registercommand("chooseteam");
|
||||||
|
|
||||||
registercommand("lastinv");
|
registercommand("lastinv");
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#pragma target fte_5768
|
#pragma target fte_5768
|
||||||
#pragma progs_dat "../../zpak001.pk3dir/csprogs.dat"
|
#pragma progs_dat "../../zpak001.pk3dir/csprogs.dat"
|
||||||
|
#pragma forcecrc 54730
|
||||||
|
|
||||||
#define CSQC
|
#define CSQC
|
||||||
#define CLIENT
|
#define CLIENT
|
||||||
#define VALVE
|
#define VALVE
|
||||||
#define CLASSIC_VGUI
|
|
||||||
|
|
||||||
#includelist
|
#includelist
|
||||||
../../../src/shared/fteextensions.qc
|
../../../src/shared/fteextensions.qc
|
||||||
|
@ -34,6 +34,8 @@
|
||||||
../../../valve/src/client/hud_weaponselect.qc
|
../../../valve/src/client/hud_weaponselect.qc
|
||||||
../../../valve/src/client/scoreboard.qc
|
../../../valve/src/client/scoreboard.qc
|
||||||
../../../src/client/include.src
|
../../../src/client/include.src
|
||||||
|
../../../valve/src/client/vgui_changeclass.qc
|
||||||
|
../../../valve/src/client/vgui_chooseteam.qc
|
||||||
../../../valve/src/client/vgui_motd.qc
|
../../../valve/src/client/vgui_motd.qc
|
||||||
../../../src/shared/include.src
|
../../../src/shared/include.src
|
||||||
#endlist
|
#endlist
|
||||||
|
|
|
@ -29,7 +29,7 @@ Scores_Init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Scores_DrawTeam(NSClientPlayer pl, vector pos)
|
Scores_DrawTeam(ncPlayer pl, vector pos)
|
||||||
{
|
{
|
||||||
drawfill(pos, [290, 1], SCORE_LINE_C, 1.0f, DRAWFLAG_ADDITIVE);
|
drawfill(pos, [290, 1], SCORE_LINE_C, 1.0f, DRAWFLAG_ADDITIVE);
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ Scores_DrawTeam(NSClientPlayer pl, vector pos)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Scores_DrawNormal(NSClientPlayer pl, vector pos)
|
Scores_DrawNormal(ncPlayer pl, vector pos)
|
||||||
{
|
{
|
||||||
drawfill(pos, [290, 1], SCORE_LINE_C, 1.0f, DRAWFLAG_ADDITIVE);
|
drawfill(pos, [290, 1], SCORE_LINE_C, 1.0f, DRAWFLAG_ADDITIVE);
|
||||||
|
|
||||||
|
@ -192,9 +192,9 @@ void
|
||||||
Scores_Draw(void)
|
Scores_Draw(void)
|
||||||
{
|
{
|
||||||
vector pos;
|
vector pos;
|
||||||
NSClientPlayer pl;
|
ncPlayer pl;
|
||||||
|
|
||||||
pl = (NSClientPlayer)pSeat->m_ePlayer;
|
pl = (ncPlayer)pSeat->m_ePlayer;
|
||||||
|
|
||||||
if (autocvar_cl_centerscores) {
|
if (autocvar_cl_centerscores) {
|
||||||
int c = 10;
|
int c = 10;
|
||||||
|
|
160
src/client/vgui_changeclass.qc
Normal file
160
src/client/vgui_changeclass.qc
Normal file
|
@ -0,0 +1,160 @@
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static string g_classDescrScout;
|
||||||
|
static string g_classDescrSniper;
|
||||||
|
static string g_classDescrSoldier;
|
||||||
|
static string g_classDescrDemoman;
|
||||||
|
static string g_classDescrMedic;
|
||||||
|
static string g_classDescrHWGuy;
|
||||||
|
static string g_classDescrPyro;
|
||||||
|
static string g_classDescrSpy;
|
||||||
|
static string g_classDescrEngineer;
|
||||||
|
static string g_classDescrRandomPC;
|
||||||
|
|
||||||
|
static void
|
||||||
|
TFCClass_Init(void)
|
||||||
|
{
|
||||||
|
g_classDescrScout = textfile_to_string("classes/short_scout.txt");
|
||||||
|
g_classDescrSniper = textfile_to_string("classes/short_sniper.txt");
|
||||||
|
g_classDescrSoldier = textfile_to_string("classes/short_soldier.txt");
|
||||||
|
g_classDescrDemoman = textfile_to_string("classes/short_demoman.txt");
|
||||||
|
g_classDescrMedic = textfile_to_string("classes/short_medic.txt");
|
||||||
|
g_classDescrHWGuy = textfile_to_string("classes/short_hwguy.txt");
|
||||||
|
g_classDescrPyro = textfile_to_string("classes/short_pyro.txt");
|
||||||
|
g_classDescrSpy = textfile_to_string("classes/short_spy.txt");
|
||||||
|
g_classDescrEngineer = textfile_to_string("classes/short_engineer.txt");
|
||||||
|
g_classDescrRandomPC = textfile_to_string("classes/short_randompc.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
static vguiWindow winClassSelection;
|
||||||
|
static vguiPic imgClassPreview;
|
||||||
|
static vguiLabel lblClassTitle;
|
||||||
|
static vguiLabel lblClassDescription;
|
||||||
|
static vguiLabel lblClassCounter;
|
||||||
|
|
||||||
|
class VGUIChangeClassButton:vguiButton
|
||||||
|
{
|
||||||
|
void VGUIChangeClassButton(void);
|
||||||
|
|
||||||
|
virtual void OnMouseUp(void);
|
||||||
|
virtual void OnMouseEntered(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUIChangeClassButton::VGUIChangeClassButton(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUIChangeClassButton::OnMouseUp(void)
|
||||||
|
{
|
||||||
|
int classSelection = GetTag();
|
||||||
|
int teamID = player.GetTeam();
|
||||||
|
string classType = teams.ClassForIndex(teamID, classSelection);
|
||||||
|
|
||||||
|
localcmd(sprintf("cmd %s\n", classType));
|
||||||
|
winClassSelection.Hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUIChangeClassButton::OnMouseEntered(void)
|
||||||
|
{
|
||||||
|
int classSelection = GetTag();
|
||||||
|
int teamID = player.GetTeam();
|
||||||
|
string teamName = teams.Name(teamID);
|
||||||
|
string baseName = teams.ClassForIndex(teamID, classSelection);
|
||||||
|
|
||||||
|
lblClassTitle.SetTitle(baseName);
|
||||||
|
imgClassPreview.SetImage(strcat("gfx/classes/", baseName, "_", teamName));
|
||||||
|
lblClassDescription.SetTitle(g_classDescrRandomPC);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUI_ChooseClass(int wishTeam)
|
||||||
|
{
|
||||||
|
static int initialized;
|
||||||
|
static VGUIChangeClassButton *btns;
|
||||||
|
static vguiLabel lblSelectClass;
|
||||||
|
static vguiFrame frmClassInfo;
|
||||||
|
|
||||||
|
if (!initialized) {
|
||||||
|
vector btnpos = [40,80];
|
||||||
|
initialized = TRUE;
|
||||||
|
|
||||||
|
TFCClass_Init();
|
||||||
|
|
||||||
|
winClassSelection = spawn(vguiWindow);
|
||||||
|
winClassSelection.SetSize([640, 480]);
|
||||||
|
winClassSelection.SetStyleMask(vguiWindowBorderless | vguiWindowFullscreen);
|
||||||
|
|
||||||
|
lblSelectClass = spawn(vguiLabel);
|
||||||
|
lblSelectClass.SetTitle(Titles_GetTextBody("Title_SelectYourClass"));
|
||||||
|
lblSelectClass.SetTextSize(19);
|
||||||
|
lblSelectClass.SetPos([40, 38]);
|
||||||
|
lblSelectClass.SetSize([400, 24]);
|
||||||
|
|
||||||
|
frmClassInfo = spawn(vguiFrame);
|
||||||
|
frmClassInfo.SetPos([176, 80]);
|
||||||
|
frmClassInfo.SetSize([424, 312]);
|
||||||
|
|
||||||
|
imgClassPreview = spawn(vguiPic);
|
||||||
|
imgClassPreview.SetPos([190, 90]);
|
||||||
|
|
||||||
|
lblClassTitle = spawn(vguiLabel);
|
||||||
|
lblClassTitle.SetPos([338, 90]);
|
||||||
|
lblClassTitle.SetTextSize(19);
|
||||||
|
lblClassTitle.SetSize([320, 24]);
|
||||||
|
|
||||||
|
lblClassCounter = spawn(vguiLabel);
|
||||||
|
lblClassCounter.SetPos([338, 90 + 32]);
|
||||||
|
lblClassCounter.SetSize([320, 18]);
|
||||||
|
|
||||||
|
lblClassDescription = spawn(vguiLabel);
|
||||||
|
lblClassDescription.SetPos([338, 90 + 32 + 32]);
|
||||||
|
lblClassDescription.SetSize([250, 240]);
|
||||||
|
|
||||||
|
g_uiDesktop.Add(winClassSelection);
|
||||||
|
winClassSelection.Add(lblSelectClass);
|
||||||
|
winClassSelection.Add(frmClassInfo);
|
||||||
|
winClassSelection.Add(imgClassPreview);
|
||||||
|
winClassSelection.Add(lblClassTitle);
|
||||||
|
winClassSelection.Add(lblClassCounter);
|
||||||
|
winClassSelection.Add(lblClassDescription);
|
||||||
|
|
||||||
|
int classCount = teams.TotalClasses(wishTeam);
|
||||||
|
btns = memalloc(sizeof(VGUIChangeClassButton) * classCount);
|
||||||
|
for (int i = 0; i < classCount; i++) {
|
||||||
|
btns[i] = spawn(VGUIChangeClassButton);
|
||||||
|
btns[i].SetTitle(Titles_GetTextBody(teams.ClassForIndex(wishTeam, i)));
|
||||||
|
btns[i].SetSize([124, 24]);
|
||||||
|
btns[i].SetPos(btnpos);
|
||||||
|
btns[i].SetTag(i);
|
||||||
|
|
||||||
|
if (i == 9) {
|
||||||
|
btns[i].SetKeyEquivalent("0");
|
||||||
|
} else {
|
||||||
|
btns[i].SetKeyEquivalent(ftos((float)i+1));
|
||||||
|
}
|
||||||
|
|
||||||
|
winClassSelection.Add(btns[i]);
|
||||||
|
btnpos[1] += 32;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
winClassSelection.Show();
|
||||||
|
winClassSelection.SetPos((g_vidsize / 2) - (winClassSelection.GetSize() / 2));
|
||||||
|
}
|
154
src/client/vgui_chooseteam.qc
Normal file
154
src/client/vgui_chooseteam.qc
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static vguiWindow winChooseTeam;
|
||||||
|
|
||||||
|
class VGUITeamSelectButton:vguiButton
|
||||||
|
{
|
||||||
|
void VGUITeamSelectButton(void);
|
||||||
|
|
||||||
|
virtual void OnMouseUp(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUITeamSelectButton::VGUITeamSelectButton(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUITeamSelectButton::OnMouseUp(void)
|
||||||
|
{
|
||||||
|
int tag = GetTag();
|
||||||
|
|
||||||
|
if (tag == 0) {
|
||||||
|
tag = teams.BestAutoJoinTeam();
|
||||||
|
}
|
||||||
|
|
||||||
|
localcmd(sprintf("cmd joinTeam %i\n", tag));
|
||||||
|
|
||||||
|
if (teams.TotalClasses(tag) > 0i) {
|
||||||
|
VGUI_ChooseClass(tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
winChooseTeam.Hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
string
|
||||||
|
VGUI_ChooseTeam_MapInfo(void)
|
||||||
|
{
|
||||||
|
static string mapinfo = __NULL__;
|
||||||
|
|
||||||
|
if (mapinfo != __NULL__)
|
||||||
|
return mapinfo;
|
||||||
|
|
||||||
|
filestream fileMap = fopen(strcat("maps/", mapname, ".txt"), FILE_READ);
|
||||||
|
string temp;
|
||||||
|
|
||||||
|
if (fileMap != -1) {
|
||||||
|
while ((temp = fgets(fileMap))) {
|
||||||
|
mapinfo = strcat(mapinfo, temp, "\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
mapinfo = Titles_GetTextBody("Map_Description_not_available");
|
||||||
|
}
|
||||||
|
|
||||||
|
return mapinfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VGUI_ChooseTeam(void)
|
||||||
|
{
|
||||||
|
static int initialized;
|
||||||
|
static vguiButton btnAutoAssign;
|
||||||
|
static vguiButton btnGoSpectator;
|
||||||
|
static vguiFrame frmMapInfo;
|
||||||
|
static vguiLabel lblSelectTeam;
|
||||||
|
static vguiLabel lblMapName;
|
||||||
|
static vguiLabel lblMapInfo;
|
||||||
|
|
||||||
|
if (!initialized) {
|
||||||
|
vector btnpos = [40,80];
|
||||||
|
|
||||||
|
initialized = TRUE;
|
||||||
|
winChooseTeam = spawn(vguiWindow);
|
||||||
|
winChooseTeam.SetSize('640 480');
|
||||||
|
winChooseTeam.SetStyleMask(vguiWindowBorderless | vguiWindowFullscreen);
|
||||||
|
|
||||||
|
lblSelectTeam = spawn(vguiLabel);
|
||||||
|
lblSelectTeam.SetTitle(Titles_GetTextBody("Title_SelectYourTeam"));
|
||||||
|
lblSelectTeam.SetTextSize(19);
|
||||||
|
lblSelectTeam.SetPos([40, 38]);
|
||||||
|
lblSelectTeam.SetSize('400 24');
|
||||||
|
|
||||||
|
frmMapInfo = spawn(vguiFrame);
|
||||||
|
frmMapInfo.SetPos('176 80');
|
||||||
|
frmMapInfo.SetSize('424 312');
|
||||||
|
|
||||||
|
lblMapName = spawn(vguiLabel);
|
||||||
|
lblMapName.SetTitle(mapname);
|
||||||
|
lblMapName.SetTextSize(19);
|
||||||
|
lblMapName.SetPos('194 105');
|
||||||
|
lblMapName.SetSize('250 312');
|
||||||
|
|
||||||
|
lblMapInfo = spawn(vguiLabel);
|
||||||
|
lblMapInfo.SetTitle(VGUI_ChooseTeam_MapInfo());
|
||||||
|
lblMapInfo.SetPos('194 129');
|
||||||
|
lblMapInfo.SetSize('375 250');
|
||||||
|
|
||||||
|
for (int t = 1; t <= teams.TeamCount() ; t++) {
|
||||||
|
VGUITeamSelectButton btnForTeam;
|
||||||
|
string team_name = teams.Name(t);
|
||||||
|
|
||||||
|
btnForTeam = spawn(VGUITeamSelectButton);
|
||||||
|
btnForTeam.SetTitle(strtoupper(team_name));
|
||||||
|
btnForTeam.SetPos(btnpos);
|
||||||
|
btnForTeam.SetKeyEquivalent(ftos((float)t+1));
|
||||||
|
btnForTeam.SetSize('124 24');
|
||||||
|
btnForTeam.SetTag(t);
|
||||||
|
|
||||||
|
winChooseTeam.Add(btnForTeam);
|
||||||
|
btnpos[1] += 32;
|
||||||
|
}
|
||||||
|
|
||||||
|
btnAutoAssign = spawn(VGUITeamSelectButton);
|
||||||
|
btnAutoAssign.SetTitle(Titles_GetTextBody("Team_AutoAssign"));
|
||||||
|
btnAutoAssign.SetPos(btnpos);
|
||||||
|
btnAutoAssign.SetSize('124 24');
|
||||||
|
btnAutoAssign.SetKeyEquivalent("5");
|
||||||
|
btnAutoAssign.SetTag(0);
|
||||||
|
//btnAutoAssign.SetFunc(VGUI_AutoAssign);
|
||||||
|
btnpos[1] += 32;
|
||||||
|
|
||||||
|
btnGoSpectator = spawn(VGUITeamSelectButton);
|
||||||
|
btnGoSpectator.SetTitle(Titles_GetTextBody("Menu_Spectate"));
|
||||||
|
btnGoSpectator.SetPos(btnpos);
|
||||||
|
btnGoSpectator.SetSize('124 24');
|
||||||
|
btnGoSpectator.SetKeyEquivalent("6");
|
||||||
|
btnGoSpectator.SetTag(TEAM_SPECTATOR);
|
||||||
|
//btnGoSpectator.SetFunc(VGUI_GoSpectator);
|
||||||
|
|
||||||
|
g_uiDesktop.Add(winChooseTeam);
|
||||||
|
winChooseTeam.Add(frmMapInfo);
|
||||||
|
winChooseTeam.Add(lblSelectTeam);
|
||||||
|
winChooseTeam.Add(lblMapName);
|
||||||
|
winChooseTeam.Add(lblMapInfo);
|
||||||
|
winChooseTeam.Add(btnAutoAssign);
|
||||||
|
winChooseTeam.Add(btnGoSpectator);
|
||||||
|
}
|
||||||
|
|
||||||
|
winChooseTeam.Show();
|
||||||
|
winChooseTeam.SetPos((g_vidsize / 2) - (winChooseTeam.GetSize() / 2));
|
||||||
|
}
|
|
@ -18,13 +18,26 @@ void
|
||||||
VGUI_ShowMOTD(void)
|
VGUI_ShowMOTD(void)
|
||||||
{
|
{
|
||||||
static int initialized;
|
static int initialized;
|
||||||
static VGUIButton winMotdClose;
|
static vguiButton winMotdClose;
|
||||||
static VGUIWindow winMotd;
|
static vguiWindow winMotd;
|
||||||
static VGUILabel winMotdHostname;
|
static vguiLabel winMotdHostname;
|
||||||
static VGUILabel winMotdBody;
|
static vguiLabel winMotdBody;
|
||||||
|
|
||||||
static void VGUI_ShowMOTD_Close(void)
|
static void VGUI_ShowMOTD_Close(void)
|
||||||
{
|
{
|
||||||
|
int playerTeam = player.GetTeam();
|
||||||
|
bool teamSelect = ((playerTeam == TEAM_UNASSIGNED) || (playerTeam == TEAM_SPECTATOR)) ? (true) : (false);
|
||||||
|
|
||||||
|
if (playerTeam == 0) {
|
||||||
|
teamSelect = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// printf("MOTD opening team? %i %d open teams: %i\n", playerTeam, teamSelect, teams.OpenTeamCount());
|
||||||
|
|
||||||
|
if (teams.OpenTeamCount() > 0i && teamSelect) {
|
||||||
|
VGUI_ChooseTeam();
|
||||||
|
}
|
||||||
|
|
||||||
winMotd.Hide();
|
winMotd.Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,23 +46,24 @@ VGUI_ShowMOTD(void)
|
||||||
|
|
||||||
if (!initialized) {
|
if (!initialized) {
|
||||||
initialized = TRUE;
|
initialized = TRUE;
|
||||||
winMotd = spawn(VGUIWindow);
|
winMotd = spawn(vguiWindow);
|
||||||
winMotd.SetTitle("Message Of The Day");
|
winMotd.SetTitle("Message Of The Day");
|
||||||
|
winMotd.SetStyleMask(vguiWindowBorderless | vguiWindowFullscreen);
|
||||||
winMotd.SetSize('424 312');
|
winMotd.SetSize('424 312');
|
||||||
winMotd.SetStyleMask(0);
|
winMotd.SetStyleMask(0);
|
||||||
|
|
||||||
winMotdClose = spawn(VGUIButton);
|
winMotdClose = spawn(vguiButton);
|
||||||
winMotdClose.SetTitle("OK");
|
winMotdClose.SetTitle("OK");
|
||||||
winMotdClose.SetPos([16, 266]);
|
winMotdClose.SetPos([16, 266]);
|
||||||
winMotdClose.SetSize([160, 30]);
|
winMotdClose.SetSize([160, 30]);
|
||||||
winMotdClose.SetFunc(VGUI_ShowMOTD_Close);
|
winMotdClose.SetFunc(VGUI_ShowMOTD_Close);
|
||||||
|
|
||||||
winMotdHostname = spawn(VGUILabel);
|
winMotdHostname = spawn(vguiLabel);
|
||||||
winMotdHostname.SetTitle(serverkey("hostname"));
|
winMotdHostname.SetTitle(serverkey("hostname"));
|
||||||
winMotdHostname.SetTextSize(19);
|
winMotdHostname.SetTextSize(19);
|
||||||
winMotdHostname.SetPos([16, 20]);
|
winMotdHostname.SetPos([16, 20]);
|
||||||
|
|
||||||
winMotdBody = spawn(VGUILabel);
|
winMotdBody = spawn(vguiLabel);
|
||||||
winMotdBody.SetTitle(MOTD_GetTextBody());
|
winMotdBody.SetTitle(MOTD_GetTextBody());
|
||||||
winMotdBody.SetPos([16, 48]);
|
winMotdBody.SetPos([16, 48]);
|
||||||
winMotdBody.SetSize([392, 210]);
|
winMotdBody.SetSize([392, 210]);
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
#pragma target fte_5768_5768
|
#pragma target fte_5768_5768
|
||||||
//#pragma flag enable assumeint
|
|
||||||
#pragma progs_dat "../../zpak001.pk3dir/menu.dat"
|
#pragma progs_dat "../../zpak001.pk3dir/menu.dat"
|
||||||
#define MENU
|
#define MENU
|
||||||
#define GAME_DIR "valve"
|
#define GAME_DIR "valve"
|
||||||
#define MODEL_PREVIEW
|
#define MODEL_PREVIEW
|
||||||
|
|
||||||
#includelist
|
#includelist
|
||||||
../../../src/menu-fn/includes.src
|
../../../src/menu-vgui/includes.src
|
||||||
#endlist
|
#endlist
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ CodeCallback_StartGameType(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CodeCallback_PlayerSpawn(entity playerEntity)
|
HLDM_PlayerSpawn(entity playerEntity)
|
||||||
{
|
{
|
||||||
string playerModel;
|
string playerModel;
|
||||||
|
|
||||||
|
@ -102,6 +102,18 @@ CodeCallback_PlayerSpawn(entity playerEntity)
|
||||||
game.TeleportToSpawn(playerEntity);
|
game.TeleportToSpawn(playerEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CodeCallback_PlayerSpawn(entity playerEntity)
|
||||||
|
{
|
||||||
|
if (IsTeamplay() == false) {
|
||||||
|
HLDM_PlayerSpawn(playerEntity);
|
||||||
|
} else {
|
||||||
|
ents.ChangeToClass(playerEntity, "spectator");
|
||||||
|
game.TeleportToSpawn(playerEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
CodeCallback_PlayerDisconnect(entity playerEntity)
|
CodeCallback_PlayerDisconnect(entity playerEntity)
|
||||||
{
|
{
|
||||||
|
@ -121,17 +133,25 @@ CodeCallback_PlayerDamage(entity playerEntity, entity inflictor, entity attacker
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CodeCallback_CallRequestTeam(entity playerEntity, int teamNum)
|
||||||
|
{
|
||||||
|
ents.Input(playerEntity, "SetTeam", itos(teamNum), playerEntity);
|
||||||
|
ents.Input(playerEntity, "Damage", "1000", playerEntity);
|
||||||
|
return (true);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CodeCallback_PlayerKilled(entity playerEntity, entity inflictor, entity attacker, string weapon)
|
CodeCallback_PlayerKilled(entity playerEntity, entity inflictor, entity attacker, string weapon)
|
||||||
{
|
{
|
||||||
combat.Obituary(self.netname, attacker.netname, weapon, "");
|
combat.Obituary(playerEntity.netname, attacker.netname, weapon, "");
|
||||||
|
|
||||||
/* death-counter */
|
/* death-counter */
|
||||||
self.deaths++;
|
playerEntity.deaths++;
|
||||||
|
|
||||||
/* update score-counter */
|
/* update score-counter */
|
||||||
if (ents.isPlayer(attacker)) {
|
if (ents.isPlayer(attacker)) {
|
||||||
if (self == attacker) {
|
if (playerEntity == attacker) {
|
||||||
attacker.frags--;
|
attacker.frags--;
|
||||||
} else {
|
} else {
|
||||||
attacker.frags++;
|
attacker.frags++;
|
||||||
|
@ -163,8 +183,8 @@ CodeCallback_ClientCommand(entity playerEntity, string command)
|
||||||
for (float i = 0; i < c; i++) {
|
for (float i = 0; i < c; i++) {
|
||||||
if (argv(i) == teamName) {
|
if (argv(i) == teamName) {
|
||||||
string newTeam = ftos(i + 1);
|
string newTeam = ftos(i + 1);
|
||||||
ents.Input(self, "SetTeam", newTeam, self);
|
ents.Input(playerEntity, "SetTeam", newTeam, playerEntity);
|
||||||
ents.Input(self, "Damage", "1000", self);
|
ents.Input(playerEntity, "Damage", "1000", playerEntity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,7 +202,7 @@ CodeCallback_ImpulseCommand(entity playerEntity, float impulseNum)
|
||||||
switch (impulseNum) {
|
switch (impulseNum) {
|
||||||
case 100:
|
case 100:
|
||||||
if (AllowFlashlight() == true) {
|
if (AllowFlashlight() == true) {
|
||||||
ents.Input(self, "UseItem", "item_suit", self);
|
ents.Input(playerEntity, "UseItem", "item_suit", playerEntity);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -22,7 +22,7 @@ void
|
||||||
CodeCallback_PlayerSpawn(entity playerEntity)
|
CodeCallback_PlayerSpawn(entity playerEntity)
|
||||||
{
|
{
|
||||||
ents.ChangeToClass(playerEntity, "player");
|
ents.ChangeToClass(playerEntity, "player");
|
||||||
game.TeleportToSpawn(self);
|
game.TeleportToSpawn(playerEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class
|
class
|
||||||
HLScientist:NSTalkMonster
|
HLScientist:ncTalkMonster
|
||||||
{
|
{
|
||||||
void HLScientist(void);
|
void HLScientist(void);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class
|
class
|
||||||
HLSuit:NSItem
|
HLSuit:ncItem
|
||||||
{
|
{
|
||||||
void HLSuit(void);
|
void HLSuit(void);
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class
|
class
|
||||||
XenDecore:NSSurfacePropEntity
|
XenDecore:ncSurfacePropEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void XenDecore(void);
|
void XenDecore(void);
|
||||||
|
@ -27,7 +27,7 @@ public:
|
||||||
private:
|
private:
|
||||||
float m_flDamageTime;
|
float m_flDamageTime;
|
||||||
float m_flDamageTest;
|
float m_flDamageTest;
|
||||||
NSDict m_damageDecl;
|
ncDict m_damageDecl;
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -66,7 +66,7 @@ XenDecore::Respawn(void)
|
||||||
SetFrame(GetSpawnFloat("frame"));
|
SetFrame(GetSpawnFloat("frame"));
|
||||||
|
|
||||||
if (!m_damageDecl) {
|
if (!m_damageDecl) {
|
||||||
m_damageDecl = spawn(NSDict);
|
m_damageDecl = spawn(ncDict);
|
||||||
m_damageDecl.AddKey("damage", GetSpawnString("damage"));
|
m_damageDecl.AddKey("damage", GetSpawnString("damage"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class item_weaponbox:NSRenderableEntity
|
class item_weaponbox:ncRenderableEntity
|
||||||
{
|
{
|
||||||
int ammo_9mm;
|
int ammo_9mm;
|
||||||
int ammo_357;
|
int ammo_357;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma target fte_5768
|
#pragma target fte_5768
|
||||||
//#pragma flag enable assumeint
|
//#pragma flag enable assumeint
|
||||||
#pragma progs_dat "../../zpak001.pk3dir/progs.dat"
|
#pragma progs_dat "../../zpak001.pk3dir/progs.dat"
|
||||||
|
#pragma forcecrc 54730
|
||||||
|
|
||||||
#define QWSSQC
|
#define QWSSQC
|
||||||
#define SERVER
|
#define SERVER
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
|
* Copyright (c) 2016-2025 Marco Cawthorne <marco@icculus.org>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and distribute this software for any
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -14,24 +14,6 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
|
||||||
Game_InitRules(void)
|
|
||||||
{
|
|
||||||
string gameType = cvar_string("g_gametype");
|
|
||||||
|
|
||||||
FX_Corpse_Init();
|
|
||||||
|
|
||||||
if (STRING_SET(gameType)) {
|
|
||||||
g_grMode = NSGameRules::InitFromProgs(strcat("progs/", gameType, ".dat"));
|
|
||||||
} else {
|
|
||||||
if (cvar("sv_playerslots") == 1 || cvar("coop") == 1) {
|
|
||||||
g_grMode = NSGameRules::InitFromProgs("progs/singleplayer.dat");
|
|
||||||
} else {
|
|
||||||
g_grMode = NSGameRules::InitFromProgs("progs/deathmatch.dat");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Game_Worldspawn(void)
|
Game_Worldspawn(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* This is one of those leftovers from trying to get a game out in time */
|
/* This is one of those leftovers from trying to get a game out in time */
|
||||||
class world_items:NSRenderableEntity
|
class world_items:ncRenderableEntity
|
||||||
{
|
{
|
||||||
void(void) world_items;
|
void(void) world_items;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
class
|
class
|
||||||
HLGaussBeam:NSProjectile
|
HLGaussBeam:ncProjectile
|
||||||
{
|
{
|
||||||
void HLGaussBeam(void);
|
void HLGaussBeam(void);
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ HLGaussBeam::Launch(vector startPos, vector launchDir, float fuseOffset, float p
|
||||||
void
|
void
|
||||||
HLGaussBeam::GaussAttack(float fuseOffset)
|
HLGaussBeam::GaussAttack(float fuseOffset)
|
||||||
{
|
{
|
||||||
NSClientPlayer ourOwner = (NSClientPlayer)owner;
|
ncPlayer ourOwner = (ncPlayer)owner;
|
||||||
int iLoop = 6i;
|
int iLoop = 6i;
|
||||||
vector vecCurPlane;
|
vector vecCurPlane;
|
||||||
vector vecCurPos;
|
vector vecCurPos;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
/*! \brief Half-Life weapon base class. */
|
/*! \brief Half-Life weapon base class. */
|
||||||
/*!QUAKED HLWeapon (0 0.8 0.8) (-16 -16 0) (16 16 72)
|
/*!QUAKED HLWeapon (0 0.8 0.8) (-16 -16 0) (16 16 72)
|
||||||
# OVERVIEW
|
# OVERVIEW
|
||||||
Half-Life specific weapon based on NSWeapon.
|
Half-Life specific weapon based on ncWeapon.
|
||||||
|
|
||||||
# NEW KEYS
|
# NEW KEYS
|
||||||
- "ammoIcon" - Which sprites/ image to use. See notes.
|
- "ammoIcon" - Which sprites/ image to use. See notes.
|
||||||
|
@ -32,7 +32,7 @@ Since the weapon specific files only contain short names like `ammo` and `crossh
|
||||||
For example, `ammoIcon` being set to `weapon_foobar.ammo` will look up `ammo` inside `sprites/weapon_foobar.txt`.
|
For example, `ammoIcon` being set to `weapon_foobar.ammo` will look up `ammo` inside `sprites/weapon_foobar.txt`.
|
||||||
*/
|
*/
|
||||||
class
|
class
|
||||||
HLWeapon:NSWeapon
|
HLWeapon:ncWeapon
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void HLWeapon(void);
|
void HLWeapon(void);
|
||||||
|
@ -57,7 +57,7 @@ private:
|
||||||
string m_crossHair;
|
string m_crossHair;
|
||||||
string m_icon;
|
string m_icon;
|
||||||
string m_iconSel;
|
string m_iconSel;
|
||||||
NSWeapon m_nextWeapon;
|
ncWeapon m_nextWeapon;
|
||||||
#endif
|
#endif
|
||||||
bool m_bAltModeLaser;
|
bool m_bAltModeLaser;
|
||||||
};
|
};
|
|
@ -107,14 +107,14 @@ HLWeapon::AddedToInventory(void)
|
||||||
void
|
void
|
||||||
HLWeapon::UpdateGUI(void)
|
HLWeapon::UpdateGUI(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer ourOwner = __NULL__;
|
ncPlayer ourOwner = __NULL__;
|
||||||
vector ammoPos;
|
vector ammoPos;
|
||||||
|
|
||||||
/* draw crosshair */
|
/* draw crosshair */
|
||||||
HLSprite_DrawCrosshair(m_crossHair);
|
HLSprite_DrawCrosshair(m_crossHair);
|
||||||
|
|
||||||
/* draw ammo icon */
|
/* draw ammo icon */
|
||||||
if (m_ammoIcon) {
|
if (STRING_SET(m_ammoIcon)) {
|
||||||
ammoPos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
ammoPos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42];
|
||||||
HLSprite_Draw_RGBA(m_ammoIcon, ammoPos, g_hud_color, pSeatLocal->m_flAmmo2Alpha, true);
|
HLSprite_Draw_RGBA(m_ammoIcon, ammoPos, g_hud_color, pSeatLocal->m_flAmmo2Alpha, true);
|
||||||
}
|
}
|
||||||
|
@ -150,10 +150,11 @@ HLWeapon::UpdateGUI(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (m_bAmmoRequired == false)
|
if (m_bAmmoRequired == false) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ourOwner = (NSClientPlayer)GetOwner();
|
ourOwner = (ncPlayer)GetOwner();
|
||||||
|
|
||||||
if (m_iClipSize > 0i) {
|
if (m_iClipSize > 0i) {
|
||||||
ourOwner.a_ammo1 = m_iClip;
|
ourOwner.a_ammo1 = m_iClip;
|
||||||
|
@ -163,12 +164,12 @@ HLWeapon::UpdateGUI(void)
|
||||||
ourOwner.a_ammo2 = ourOwner.GetReserveAmmo(m_primaryAmmoType);
|
ourOwner.a_ammo2 = ourOwner.GetReserveAmmo(m_primaryAmmoType);
|
||||||
HUD_DrawAmmo2();
|
HUD_DrawAmmo2();
|
||||||
|
|
||||||
if (m_secondaryAmmoType && m_primaryAmmoType != m_secondaryAmmoType) {
|
if (UsesSecondaryAmmo() && m_primaryAmmoType != m_secondaryAmmoType) {
|
||||||
ourOwner.a_ammo3 = ourOwner.GetReserveAmmo(m_secondaryAmmoType);
|
ourOwner.a_ammo3 = ourOwner.GetReserveAmmo(m_secondaryAmmoType);
|
||||||
HUD_DrawAmmo3();
|
HUD_DrawAmmo3();
|
||||||
|
|
||||||
/* draw ammo icon */
|
/* draw ammo icon */
|
||||||
if (m_ammo2Icon) {
|
if (STRING_SET(m_ammo2Icon)) {
|
||||||
ammoPos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 74];
|
ammoPos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 74];
|
||||||
HLSprite_Draw_RGBA(m_ammo2Icon, ammoPos, g_hud_color, pSeatLocal->m_flAmmo2Alpha, true);
|
HLSprite_Draw_RGBA(m_ammo2Icon, ammoPos, g_hud_color, pSeatLocal->m_flAmmo2Alpha, true);
|
||||||
}
|
}
|
||||||
|
@ -178,7 +179,7 @@ HLWeapon::UpdateGUI(void)
|
||||||
void
|
void
|
||||||
HLWeapon::DrawLaser(void)
|
HLWeapon::DrawLaser(void)
|
||||||
{
|
{
|
||||||
NSClientPlayer ourOwner = (NSClientPlayer)GetOwner();
|
ncPlayer ourOwner = (ncPlayer)GetOwner();
|
||||||
float lerpValue;
|
float lerpValue;
|
||||||
vector laser_pos = g_vec_null;
|
vector laser_pos = g_vec_null;
|
||||||
vector jitter = [0.0f, 0.0f, 0.0f];
|
vector jitter = [0.0f, 0.0f, 0.0f];
|
||||||
|
|
|
@ -45,7 +45,7 @@ FX_Blood(vector pos, vector color)
|
||||||
#else
|
#else
|
||||||
static void Blood_Touch(void)
|
static void Blood_Touch(void)
|
||||||
{
|
{
|
||||||
if (self.think != NSEntity::Destroy) {
|
if (self.think != ncEntity::Destroy) {
|
||||||
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
||||||
Decals_Place(self.origin, sprintf("{blood%d", floor(random(1,9))));
|
Decals_Place(self.origin, sprintf("{blood%d", floor(random(1,9))));
|
||||||
else {
|
else {
|
||||||
|
@ -54,12 +54,12 @@ FX_Blood(vector pos, vector color)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.think = NSEntity::Destroy;
|
self.think = ncEntity::Destroy;
|
||||||
self.nextthink = time + 5.0f;
|
self.nextthink = time + 5.0f;
|
||||||
}
|
}
|
||||||
static void ABlood_Touch(void)
|
static void ABlood_Touch(void)
|
||||||
{
|
{
|
||||||
if (self.think != NSEntity::Destroy) {
|
if (self.think != ncEntity::Destroy) {
|
||||||
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
||||||
Decals_Place(self.origin, sprintf("{yblood%d", floor(random(1,9))));
|
Decals_Place(self.origin, sprintf("{yblood%d", floor(random(1,9))));
|
||||||
else {
|
else {
|
||||||
|
@ -68,7 +68,7 @@ FX_Blood(vector pos, vector color)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.think = NSEntity::Destroy;
|
self.think = ncEntity::Destroy;
|
||||||
self.nextthink = time + 5.0f;
|
self.nextthink = time + 5.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ FX_Blood(vector pos, vector color)
|
||||||
eBlood.nextthink = time + 0.05f;
|
eBlood.nextthink = time + 0.05f;
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
NSRenderableEntity ePart = spawn(NSRenderableEntity);
|
ncRenderableEntity ePart = spawn(ncRenderableEntity);
|
||||||
ePart.SetOrigin(pos);
|
ePart.SetOrigin(pos);
|
||||||
ePart.SetModel("sprites/blood.spr");
|
ePart.SetModel("sprites/blood.spr");
|
||||||
ePart.SetMovetype(MOVETYPE_BOUNCE);
|
ePart.SetMovetype(MOVETYPE_BOUNCE);
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2016-2022 Vera Visions LLC.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef SERVER
|
|
||||||
#define CORPSES_MAX 16
|
|
||||||
entity g_bodies;
|
|
||||||
|
|
||||||
var bool autocvar_corpse_ragdolls = true;
|
|
||||||
|
|
||||||
void
|
|
||||||
FX_Corpse_Init(void)
|
|
||||||
{
|
|
||||||
entity next;
|
|
||||||
|
|
||||||
if (autocvar_corpse_ragdolls)
|
|
||||||
next = spawn(NSRagdoll);
|
|
||||||
else
|
|
||||||
next = spawn(NSRenderableEntity);
|
|
||||||
|
|
||||||
g_bodies = next;
|
|
||||||
|
|
||||||
for ( int i = 0; i <= CORPSES_MAX; i++ ) {
|
|
||||||
next.classname = "corpse";
|
|
||||||
|
|
||||||
if (autocvar_corpse_ragdolls)
|
|
||||||
next.owner = spawn(NSRagdoll);
|
|
||||||
else
|
|
||||||
next.owner = spawn(NSRenderableEntity);
|
|
||||||
|
|
||||||
if ( i == CORPSES_MAX ) {
|
|
||||||
next.owner = g_bodies;
|
|
||||||
} else {
|
|
||||||
next = next.owner;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
entity
|
|
||||||
FX_Corpse_Next(void)
|
|
||||||
{
|
|
||||||
entity r = g_bodies;
|
|
||||||
g_bodies = g_bodies.owner;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
FX_Corpse_Update(void)
|
|
||||||
{
|
|
||||||
NSEntity meSelf = (NSEntity)self;
|
|
||||||
meSelf.frame1time += frametime;
|
|
||||||
|
|
||||||
if (meSelf.frame1time < 10.0)
|
|
||||||
meSelf.ScheduleThink(FX_Corpse_Update, 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
entity
|
|
||||||
FX_Corpse_Spawn(NSClientPlayer pl, float anim)
|
|
||||||
{
|
|
||||||
NSRagdoll body_next = (NSRagdoll)FX_Corpse_Next();
|
|
||||||
|
|
||||||
if (autocvar_corpse_ragdolls) {
|
|
||||||
body_next.SetMovetype(MOVETYPE_PHYSICS);
|
|
||||||
body_next.SetSolid(SOLID_NOT);
|
|
||||||
} else {
|
|
||||||
body_next.SetMovetype(MOVETYPE_BOUNCE);
|
|
||||||
body_next.SetSolid(SOLID_CORPSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
body_next.SetModelindex(pl.GetModelindex());
|
|
||||||
|
|
||||||
if (pl.IsCrouching()) {
|
|
||||||
body_next.SetOrigin(pl.GetOrigin() + [0,0,32]);
|
|
||||||
} else {
|
|
||||||
body_next.SetOrigin(pl.GetOrigin());
|
|
||||||
}
|
|
||||||
|
|
||||||
body_next.SetSize(pl.GetMins(), pl.GetMaxs());
|
|
||||||
body_next.SetAngles(pl.GetAngles());
|
|
||||||
body_next.SetVelocity(pl.GetVelocity() + [0,0,120]);
|
|
||||||
body_next.SetFrame(anim);
|
|
||||||
body_next.m_iBody = pl.m_iBody;
|
|
||||||
body_next.ScheduleThink(FX_Corpse_Update, 0.0f);
|
|
||||||
body_next.colormap = pl.colormap;
|
|
||||||
body_next.frame1time = 0.0f;
|
|
||||||
|
|
||||||
return (entity)body_next;
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -3,7 +3,6 @@
|
||||||
../../../valve/src/shared/events.h
|
../../../valve/src/shared/events.h
|
||||||
../../../valve/src/shared/flags.h
|
../../../valve/src/shared/flags.h
|
||||||
../../../valve/src/shared/skeleton.h
|
../../../valve/src/shared/skeleton.h
|
||||||
../../../valve/src/shared/fx_corpse.qc
|
|
||||||
../../../valve/src/shared/player.qc
|
../../../valve/src/shared/player.qc
|
||||||
../../../valve/src/shared/animations.qc
|
../../../valve/src/shared/animations.qc
|
||||||
../../../valve/src/shared/fx_blood.qc
|
../../../valve/src/shared/fx_blood.qc
|
||||||
|
|
|
@ -23,7 +23,7 @@ enumflags
|
||||||
PLAYER_BOTTOMFRAME
|
PLAYER_BOTTOMFRAME
|
||||||
};
|
};
|
||||||
|
|
||||||
class HLPlayer:NSClientPlayer
|
class HLPlayer:ncPlayer
|
||||||
{
|
{
|
||||||
void(void) HLPlayer;
|
void(void) HLPlayer;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class HLPlayer:NSClientPlayer
|
||||||
virtual void UpdateAliveCam(void);
|
virtual void UpdateAliveCam(void);
|
||||||
virtual void ClientInputFrame(void);
|
virtual void ClientInputFrame(void);
|
||||||
#else
|
#else
|
||||||
virtual void Death(entity, entity, int, vector, int);
|
virtual void Death(entity, entity, int, vector, vector, int);
|
||||||
virtual void EvaluateEntity(void);
|
virtual void EvaluateEntity(void);
|
||||||
virtual float SendEntity(entity, float);
|
virtual float SendEntity(entity, float);
|
||||||
virtual void Save(float);
|
virtual void Save(float);
|
||||||
|
@ -97,7 +97,7 @@ HLPlayer::ClientInputFrame(void)
|
||||||
|
|
||||||
void Camera_RunPosBob(vector angles, __inout vector camera_pos);
|
void Camera_RunPosBob(vector angles, __inout vector camera_pos);
|
||||||
void Camera_StrafeRoll(__inout vector camera_angle);
|
void Camera_StrafeRoll(__inout vector camera_angle);
|
||||||
void Shake_Update(NSClientPlayer);
|
void Shake_Update(ncPlayer);
|
||||||
|
|
||||||
void
|
void
|
||||||
HLPlayer::UpdateAliveCam(void)
|
HLPlayer::UpdateAliveCam(void)
|
||||||
|
@ -110,7 +110,7 @@ HLPlayer::UpdateAliveCam(void)
|
||||||
g_view.SetCameraAngle(view_angles);
|
g_view.SetCameraAngle(view_angles);
|
||||||
|
|
||||||
if (vehicle) {
|
if (vehicle) {
|
||||||
NSVehicle veh = (NSVehicle)vehicle;
|
ncVehicle veh = (ncVehicle)vehicle;
|
||||||
|
|
||||||
if (veh.UpdateView)
|
if (veh.UpdateView)
|
||||||
veh.UpdateView();
|
veh.UpdateView();
|
||||||
|
@ -129,7 +129,7 @@ HLPlayer::UpdateAliveCam(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
.string oldmodel;
|
.string oldmodel;
|
||||||
//string Weapons_GetPlayermodel(NSClientPlayer, int);
|
//string Weapons_GetPlayermodel(ncPlayer, int);
|
||||||
|
|
||||||
var bool autocvar_cg_flashlightClassic = true;
|
var bool autocvar_cg_flashlightClassic = true;
|
||||||
var float autocvar_r_shadow_realtime_dlight;
|
var float autocvar_r_shadow_realtime_dlight;
|
||||||
|
@ -161,7 +161,7 @@ HLPlayer::UpdatePlayerAttachments(bool visible)
|
||||||
p = dynamiclight_add(trace_endpos + (trace_plane_normal * 48.0f), 96, [1,1,1]);
|
p = dynamiclight_add(trace_endpos + (trace_plane_normal * 48.0f), 96, [1,1,1]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
p = dynamiclight_add(src + (v_forward * 16), 512, [1,1,1], 0, "textures/flashlight");
|
p = dynamiclight_add(src + (v_forward * 16), 512, [1,1,1], 0, "lights/flashlight");
|
||||||
dynamiclight_set(p, LFIELD_ANGLES, ang);
|
dynamiclight_set(p, LFIELD_ANGLES, ang);
|
||||||
dynamiclight_set(p, LFIELD_FLAGS, 3);
|
dynamiclight_set(p, LFIELD_FLAGS, 3);
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ HLPlayer::UpdatePlayerAttachments(bool visible)
|
||||||
p_model.skeletonindex = skel_create(p_model.modelindex);
|
p_model.skeletonindex = skel_create(p_model.modelindex);
|
||||||
|
|
||||||
/* hack this thing in here FIXME: this should be done when popping in/out of a pvs */
|
/* hack this thing in here FIXME: this should be done when popping in/out of a pvs */
|
||||||
if (autocvar(cl_himodels, 1, "Use high-quality thisayer models over lower-definition ones"))
|
if (autocvar(cl_himodels, 1, "Use high-quality player models over lower-definition ones"))
|
||||||
setcustomskin(this, "", "geomset 0 2\n");
|
setcustomskin(this, "", "geomset 0 2\n");
|
||||||
else
|
else
|
||||||
setcustomskin(this, "", "geomset 0 1\n");
|
setcustomskin(this, "", "geomset 0 1\n");
|
||||||
|
@ -219,8 +219,8 @@ HLPlayer::UpdatePlayerAttachments(bool visible)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HUD_AmmoNotify_Check(NSClientPlayer pl);
|
void HUD_AmmoNotify_Check(ncPlayer pl);
|
||||||
void HUD_ItemNotify_Check(NSClientPlayer pl);
|
void HUD_ItemNotify_Check(ncPlayer pl);
|
||||||
/*
|
/*
|
||||||
=================
|
=================
|
||||||
HLPlayer::ReceiveEntity
|
HLPlayer::ReceiveEntity
|
||||||
|
@ -340,7 +340,7 @@ void
|
||||||
HLPlayer::EvaluateEntity(void)
|
HLPlayer::EvaluateEntity(void)
|
||||||
{
|
{
|
||||||
/* the generic client attributes */
|
/* the generic client attributes */
|
||||||
NSClientPlayer::EvaluateEntity();
|
ncPlayer::EvaluateEntity();
|
||||||
|
|
||||||
EVALUATE_FIELD(anim_top, PLAYER_TOPFRAME)
|
EVALUATE_FIELD(anim_top, PLAYER_TOPFRAME)
|
||||||
EVALUATE_FIELD(anim_top_time, PLAYER_TOPFRAME)
|
EVALUATE_FIELD(anim_top_time, PLAYER_TOPFRAME)
|
||||||
|
@ -350,19 +350,17 @@ HLPlayer::EvaluateEntity(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
entity FX_Corpse_Spawn(NSClientPlayer pl, float anim);
|
|
||||||
void
|
void
|
||||||
HLPlayer::Death(entity inflictor, entity attacker, int damagePoints, vector dir, int location)
|
HLPlayer::Death(entity inflictor, entity attacker, int damagePoints, vector dir, vector absImpactPos, int hitBody)
|
||||||
{
|
{
|
||||||
/* either gib, or make a corpse */
|
/* either gib, or make a corpse */
|
||||||
if (GetHealth()< -50) {
|
if (GetHealth()< -50) {
|
||||||
vector gibDir = vectoangles(GetOrigin() - attacker.origin);
|
|
||||||
float gibStrength = damagePoints * 2.0f;
|
float gibStrength = damagePoints * 2.0f;
|
||||||
BreakModel_Entity(this, gibDir, gibStrength);
|
BreakModel_Entity(this, dir, gibStrength);
|
||||||
} else {
|
} else {
|
||||||
float deathAnimation = ANIM_DIESIMPLE;
|
float deathAnimation = ANIM_DIESIMPLE;
|
||||||
|
|
||||||
switch (location) {
|
switch (hitBody) {
|
||||||
case BODY_HEAD:
|
case BODY_HEAD:
|
||||||
deathAnimation = ANIM_DIEHEADSHOT;
|
deathAnimation = ANIM_DIEHEADSHOT;
|
||||||
break;
|
break;
|
||||||
|
@ -373,7 +371,7 @@ HLPlayer::Death(entity inflictor, entity attacker, int damagePoints, vector dir,
|
||||||
deathAnimation = ANIM_DIEGUTSHOT;
|
deathAnimation = ANIM_DIEGUTSHOT;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
bool isFacing = IsFacingPosition(GetOrigin() + (dir * 128));
|
bool isFacing = IsFacingPosition(absImpactPos);
|
||||||
|
|
||||||
/* we still want a change to play ANIM_DIESIMPLE */
|
/* we still want a change to play ANIM_DIESIMPLE */
|
||||||
if (random() < 0.5)
|
if (random() < 0.5)
|
||||||
|
@ -386,7 +384,7 @@ HLPlayer::Death(entity inflictor, entity attacker, int damagePoints, vector dir,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSEntity newCorpse = (NSEntity)FX_Corpse_Spawn(this, deathAnimation);
|
ncEntity newCorpse = (ncEntity)BodyQue_Spawn(this, deathAnimation);
|
||||||
|
|
||||||
/* if we were crouching, adjust the bbox (thx 2 lack of crouch death animation) */
|
/* if we were crouching, adjust the bbox (thx 2 lack of crouch death animation) */
|
||||||
if (IsCrouching()) {
|
if (IsCrouching()) {
|
||||||
|
@ -394,7 +392,7 @@ HLPlayer::Death(entity inflictor, entity attacker, int damagePoints, vector dir,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
super::Death(inflictor, attacker, damagePoints, dir, location);
|
super::Death(inflictor, attacker, damagePoints, dir, absImpactPos, hitBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -418,7 +416,7 @@ HLPlayer::SendEntity(entity ePEnt, float flChanged)
|
||||||
flChanged = OptimiseChangedFlags(ePEnt, flChanged);
|
flChanged = OptimiseChangedFlags(ePEnt, flChanged);
|
||||||
|
|
||||||
/* the generic client attributes */
|
/* the generic client attributes */
|
||||||
NSClientPlayer::SendEntity(ePEnt, flChanged);
|
ncPlayer::SendEntity(ePEnt, flChanged);
|
||||||
|
|
||||||
SENDENTITY_BYTE(anim_top, PLAYER_TOPFRAME)
|
SENDENTITY_BYTE(anim_top, PLAYER_TOPFRAME)
|
||||||
SENDENTITY_FLOAT(anim_top_time, PLAYER_TOPFRAME)
|
SENDENTITY_FLOAT(anim_top_time, PLAYER_TOPFRAME)
|
||||||
|
|
|
@ -32,7 +32,7 @@ enum
|
||||||
* Because not being able to place it around levels would be boring.
|
* Because not being able to place it around levels would be boring.
|
||||||
* Some maps, such as subtransit and a few singleplayer chapters have this. */
|
* Some maps, such as subtransit and a few singleplayer chapters have this. */
|
||||||
|
|
||||||
class HLTripmine:NSSurfacePropEntity
|
class HLTripmine:ncSurfacePropEntity
|
||||||
{
|
{
|
||||||
void HLTripmine(void);
|
void HLTripmine(void);
|
||||||
|
|
||||||
|
@ -40,8 +40,8 @@ class HLTripmine:NSSurfacePropEntity
|
||||||
virtual void Respawn(void);
|
virtual void Respawn(void);
|
||||||
virtual void Spawned(void);
|
virtual void Spawned(void);
|
||||||
virtual void Ready(void);
|
virtual void Ready(void);
|
||||||
virtual void Pain(entity, entity, int, vector, int);
|
virtual void Pain(entity, entity, int, vector, vector, int);
|
||||||
virtual void Death(entity, entity, int, vector, int);
|
virtual void Death(entity, entity, int, vector, vector, int);
|
||||||
virtual float SendEntity(entity, float);
|
virtual float SendEntity(entity, float);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ HLTripmine::Spawned(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
HLTripmine::Death(entity inflictor, entity attacker, int damage, vector dir, int location)
|
HLTripmine::Death(entity inflictor, entity attacker, int damage, vector dir, vector absImpactPos, int hitBody)
|
||||||
{
|
{
|
||||||
vector explosionPos = GetOrigin();
|
vector explosionPos = GetOrigin();
|
||||||
float explosionDamage = Skill_GetValue("plr_tripmine", 150);
|
float explosionDamage = Skill_GetValue("plr_tripmine", 150);
|
||||||
|
@ -116,9 +116,9 @@ HLTripmine::Death(entity inflictor, entity attacker, int damage, vector dir, int
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
HLTripmine::Pain(entity inflictor, entity attacker, int damage, vector dir, int location)
|
HLTripmine::Pain(entity inflictor, entity attacker, int damage, vector dir, vector absImpactPos, int hitBody)
|
||||||
{
|
{
|
||||||
Death(trace_ent, attacker, 0, g_vec_null, 0);
|
Death(inflictor, attacker, damage, dir, absImpactPos, hitBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -139,7 +139,7 @@ HLTripmine::Ready(void)
|
||||||
|
|
||||||
/* laser shorter than when calibrated, explode! */
|
/* laser shorter than when calibrated, explode! */
|
||||||
if (trace_endpos != m_vecEndPos) {
|
if (trace_endpos != m_vecEndPos) {
|
||||||
Death(trace_ent, real_owner, 0, g_vec_null, 0);
|
Death(trace_ent, real_owner, 0, g_vec_null, origin, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
exec "skill.cfg"
|
exec "skill_valve.cfg"
|
||||||
|
|
7
zpak001.pk3dir/coop.config
Normal file
7
zpak001.pk3dir/coop.config
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
g_gametype singleplayer
|
||||||
|
fraglimit 0
|
||||||
|
timelimit 20
|
||||||
|
coop 1
|
||||||
|
sv_playerslots 16
|
||||||
|
sv_pure 1
|
||||||
|
map c1a0
|
6
zpak001.pk3dir/deathmatch.config
Normal file
6
zpak001.pk3dir/deathmatch.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
g_gametype deathmatch
|
||||||
|
fraglimit 0
|
||||||
|
timelimit 20
|
||||||
|
sv_playerslots 16
|
||||||
|
sv_pure 1
|
||||||
|
map_restart 0
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef ammo_base
|
entityDef ammo_base
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"snd_acquire" "ammo.pickup"
|
"snd_acquire" "ammo.pickup"
|
||||||
"snd_respawn" "ammo.respawn"
|
"snd_respawn" "ammo.respawn"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_airtank
|
entityDef item_airtank
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_oxygen.mdl"
|
"model" "models/w_oxygen.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_antidote
|
entityDef item_antidote
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_antidote.mdl"
|
"model" "models/w_antidote.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_battery
|
entityDef item_battery
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_battery.mdl"
|
"model" "models/w_battery.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_healthkit
|
entityDef item_healthkit
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_medkit.mdl"
|
"model" "models/w_medkit.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_longjump
|
entityDef item_longjump
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_longjump.mdl"
|
"model" "models/w_longjump.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef item_security
|
entityDef item_security
|
||||||
{
|
{
|
||||||
"spawnclass" "NSItem"
|
"spawnclass" "ncItem"
|
||||||
"model" "models/w_security.mdl"
|
"model" "models/w_security.mdl"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 16"
|
"maxs" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_alien_controller
|
entityDef monster_alien_controller
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/controller.mdl"
|
"model" "models/controller.mdl"
|
||||||
"netname" "Alien Controller"
|
"netname" "Alien Controller"
|
||||||
"health" "skill:controller_health"
|
"health" "skill:controller_health"
|
||||||
|
@ -31,7 +31,7 @@ entityDef monster_alien_controller
|
||||||
|
|
||||||
entityDef ranged_controller_ball
|
entityDef ranged_controller_ball
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "sprites/xspark4.spr"
|
"model" "sprites/xspark4.spr"
|
||||||
"mins" "-16 -16 -16"
|
"mins" "-16 -16 -16"
|
||||||
"mins" "16 16 16"
|
"mins" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_alien_grunt
|
entityDef monster_alien_grunt
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/agrunt.mdl"
|
"model" "models/agrunt.mdl"
|
||||||
"netname" "Alien Grunt"
|
"netname" "Alien Grunt"
|
||||||
"health" "skill:agrunt_health"
|
"health" "skill:agrunt_health"
|
||||||
|
@ -55,7 +55,7 @@ entityDef melee_agrunt_punch
|
||||||
|
|
||||||
entityDef ranged_agrunt_shot_red
|
entityDef ranged_agrunt_shot_red
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/hornet.mdl"
|
"model" "models/hornet.mdl"
|
||||||
|
|
||||||
"def_damage" "damage_hornetDirect"
|
"def_damage" "damage_hornetDirect"
|
||||||
|
@ -74,7 +74,7 @@ entityDef ranged_agrunt_shot_red
|
||||||
|
|
||||||
entityDef ranged_agrunt_shot_orange
|
entityDef ranged_agrunt_shot_orange
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/hornet.mdl"
|
"model" "models/hornet.mdl"
|
||||||
|
|
||||||
"def_damage" "damage_hornetDirect"
|
"def_damage" "damage_hornetDirect"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_alien_slave
|
entityDef monster_alien_slave
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/islave.mdl"
|
"model" "models/islave.mdl"
|
||||||
"netname" "Vortigaunt"
|
"netname" "Vortigaunt"
|
||||||
"health" "skill:islave_health"
|
"health" "skill:islave_health"
|
||||||
|
@ -84,7 +84,7 @@ entityDef damage_islave_zap
|
||||||
|
|
||||||
entityDef ranged_islave_zap
|
entityDef ranged_islave_zap
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"mins" "-16 -16 -32"
|
"mins" "-16 -16 -32"
|
||||||
"maxs" "16 16 32"
|
"maxs" "16 16 32"
|
||||||
"def_damage" "damage_islave_zap"
|
"def_damage" "damage_islave_zap"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_apache
|
entityDef monster_apache
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/apache.mdl"
|
"model" "models/apache.mdl"
|
||||||
"netname" "Apache"
|
"netname" "Apache"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_archerfish
|
entityDef monster_archerfish
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/archer.mdl"
|
"model" "models/archer.mdl"
|
||||||
"netname" "Archer Fish"
|
"netname" "Archer Fish"
|
||||||
"health" "10"
|
"health" "10"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_babycrab
|
entityDef monster_babycrab
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"inherit" "monster_headcrab"
|
"inherit" "monster_headcrab"
|
||||||
"model" "models/baby_headcrab.mdl"
|
"model" "models/baby_headcrab.mdl"
|
||||||
"health" "skill:babycrab_health"
|
"health" "skill:babycrab_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_barnacle
|
entityDef monster_barnacle
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/barnacle.mdl"
|
"model" "models/barnacle.mdl"
|
||||||
"netname" "Barnacle"
|
"netname" "Barnacle"
|
||||||
"health" "skill:barnacle_health"
|
"health" "skill:barnacle_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_barney
|
entityDef monster_barney
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/barney.mdl"
|
"model" "models/barney.mdl"
|
||||||
"netname" "Barney"
|
"netname" "Barney"
|
||||||
"health" "skill:barney_health"
|
"health" "skill:barney_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_barney_dead
|
entityDef monster_barney_dead
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/barney.mdl"
|
"model" "models/barney.mdl"
|
||||||
"netname" "Barney"
|
"netname" "Barney"
|
||||||
"health" "skill:barney_heath"
|
"health" "skill:barney_heath"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_bigmomma
|
entityDef monster_bigmomma
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/big_mom.mdl"
|
"model" "models/big_mom.mdl"
|
||||||
"netname" "Big Momma"
|
"netname" "Big Momma"
|
||||||
"health" "100"
|
"health" "100"
|
||||||
|
@ -78,7 +78,7 @@ entityDef melee_bigmomma
|
||||||
|
|
||||||
entityDef ranged_bigmomma_spit
|
entityDef ranged_bigmomma_spit
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "sprites/mommaspit.spr"
|
"model" "sprites/mommaspit.spr"
|
||||||
"mins" "-16 -16 -16"
|
"mins" "-16 -16 -16"
|
||||||
"mins" "16 16 16"
|
"mins" "16 16 16"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_bloater
|
entityDef monster_bloater
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/floater.mdl"
|
"model" "models/floater.mdl"
|
||||||
"netname" "Flocking Floater" // wonder if it's the Floater from Cosmos
|
"netname" "Flocking Floater" // wonder if it's the Floater from Cosmos
|
||||||
"health" "25"
|
"health" "25"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_bullchicken
|
entityDef monster_bullchicken
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/bullsquid.mdl"
|
"model" "models/bullsquid.mdl"
|
||||||
"netname" "Bullsquid"
|
"netname" "Bullsquid"
|
||||||
"health" "skill:bullsquid_health"
|
"health" "skill:bullsquid_health"
|
||||||
|
@ -55,7 +55,7 @@ entityDef melee_bullchicken_tailwhip
|
||||||
|
|
||||||
entityDef ranged_bullchicken_spit
|
entityDef ranged_bullchicken_spit
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "sprites/bigspit.spr"
|
"model" "sprites/bigspit.spr"
|
||||||
|
|
||||||
"def_damage" "damage_spitDirect"
|
"def_damage" "damage_spitDirect"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_charger
|
entityDef monster_charger
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/charger.mdl"
|
"model" "models/charger.mdl"
|
||||||
"netname" "Charger"
|
"netname" "Charger"
|
||||||
"health" "skill:charger_health"
|
"health" "skill:charger_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_chumtoad
|
entityDef monster_chumtoad
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/chumtoad.mdl"
|
"model" "models/chumtoad.mdl"
|
||||||
"netname" "Chumtoad"
|
"netname" "Chumtoad"
|
||||||
"health" "10"
|
"health" "10"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_cockroach
|
entityDef monster_cockroach
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/roach.mdl"
|
"model" "models/roach.mdl"
|
||||||
"netname" "Cockroach"
|
"netname" "Cockroach"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_flyer
|
entityDef monster_flyer
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/aflock.mdl"
|
"model" "models/aflock.mdl"
|
||||||
"netname" "Flyer Flock"
|
"netname" "Flyer Flock"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_flyer_flock
|
entityDef monster_flyer_flock
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/aflock.mdl"
|
"model" "models/aflock.mdl"
|
||||||
"netname" "Flyer Flock"
|
"netname" "Flyer Flock"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_gargantua
|
entityDef monster_gargantua
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/garg.mdl"
|
"model" "models/garg.mdl"
|
||||||
"netname" "Gargantua"
|
"netname" "Gargantua"
|
||||||
"health" "skill:gargantua_health"
|
"health" "skill:gargantua_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_gman
|
entityDef monster_gman
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/gman.mdl"
|
"model" "models/gman.mdl"
|
||||||
"netname" "G-Man"
|
"netname" "G-Man"
|
||||||
"health" "" // he can't die, he's the G-Man!
|
"health" "" // he can't die, he's the G-Man!
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_headcrab
|
entityDef monster_headcrab
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/headcrab.mdl"
|
"model" "models/headcrab.mdl"
|
||||||
"netname" "Headcrab"
|
"netname" "Headcrab"
|
||||||
"health" "skill:headcrab_health"
|
"health" "skill:headcrab_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_hevsuit_dead
|
entityDef monster_hevsuit_dead
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/player.mdl"
|
"model" "models/player.mdl"
|
||||||
"body1" "1"
|
"body1" "1"
|
||||||
"netname" "Dead H.E.V. Scientist"
|
"netname" "Dead H.E.V. Scientist"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_hgrunt_dead
|
entityDef monster_hgrunt_dead
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/hgrunt.mdl"
|
"model" "models/hgrunt.mdl"
|
||||||
"netname" "Dead Human Grunt"
|
"netname" "Dead Human Grunt"
|
||||||
"health" "skill:hgrunt_health"
|
"health" "skill:hgrunt_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_houndeye
|
entityDef monster_houndeye
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/houndeye.mdl"
|
"model" "models/houndeye.mdl"
|
||||||
"netname" "Houndeye"
|
"netname" "Houndeye"
|
||||||
"health" "skill:houndeye_health"
|
"health" "skill:houndeye_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_human_assassin
|
entityDef monster_human_assassin
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/hassassin.mdl"
|
"model" "models/hassassin.mdl"
|
||||||
"netname" "Human Assassin"
|
"netname" "Human Assassin"
|
||||||
"health" "skill:hassassin_health"
|
"health" "skill:hassassin_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_human_assault
|
entityDef monster_human_assault
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSquadMonster"
|
"spawnclass" "ncSquadMonster"
|
||||||
"model" "models/hassault.mdl"
|
"model" "models/hassault.mdl"
|
||||||
"netname" "Human Assault"
|
"netname" "Human Assault"
|
||||||
"health" "skill:hgrunt_health"
|
"health" "skill:hgrunt_health"
|
||||||
|
@ -33,7 +33,7 @@ entityDef monster_human_assault
|
||||||
|
|
||||||
entityDef melee_hassault_kick
|
entityDef melee_hassault_kick
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"is_bullet" "1"
|
"is_bullet" "1"
|
||||||
"damage" "skill:hgrunt_kick"
|
"damage" "skill:hgrunt_kick"
|
||||||
"delay" "0.25"
|
"delay" "0.25"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_human_grunt
|
entityDef monster_human_grunt
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSquadMonster"
|
"spawnclass" "ncSquadMonster"
|
||||||
"model" "models/hgrunt.mdl"
|
"model" "models/hgrunt.mdl"
|
||||||
"netname" "Grunt"
|
"netname" "Grunt"
|
||||||
"health" "skill:hgrunt_health"
|
"health" "skill:hgrunt_health"
|
||||||
|
@ -68,7 +68,7 @@ entityDef monster_human_grunt
|
||||||
|
|
||||||
entityDef melee_hgrunt_kick
|
entityDef melee_hgrunt_kick
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"is_bullet" "1"
|
"is_bullet" "1"
|
||||||
"damage" "skill:hgrunt_kick"
|
"damage" "skill:hgrunt_kick"
|
||||||
"delay" "0.25"
|
"delay" "0.25"
|
||||||
|
@ -93,7 +93,7 @@ entityDef ranged_hgrunt_shot
|
||||||
|
|
||||||
entityDef projectile_hgrunt_ARgrenade
|
entityDef projectile_hgrunt_ARgrenade
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/grenade.mdl"
|
"model" "models/grenade.mdl"
|
||||||
|
|
||||||
"def_splash_damage" "damage_grenadeSplash"
|
"def_splash_damage" "damage_grenadeSplash"
|
||||||
|
@ -122,7 +122,7 @@ entityDef projectile_hgrunt_ARgrenade
|
||||||
|
|
||||||
entityDef projectile_hgrunt_grenade
|
entityDef projectile_hgrunt_grenade
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/w_grenade.mdl"
|
"model" "models/w_grenade.mdl"
|
||||||
|
|
||||||
"def_splash_damage" "damage_grenadeSplash"
|
"def_splash_damage" "damage_grenadeSplash"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_ichthyosaur
|
entityDef monster_ichthyosaur
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/icky.mdl"
|
"model" "models/icky.mdl"
|
||||||
"netname" "Ichthyosaur"
|
"netname" "Ichthyosaur"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_kingpin
|
entityDef monster_kingpin
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/kingpin.mdl"
|
"model" "models/kingpin.mdl"
|
||||||
"netname" "Kingpin"
|
"netname" "Kingpin"
|
||||||
"health" "200"
|
"health" "200"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_leech
|
entityDef monster_leech
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/leech.mdl"
|
"model" "models/leech.mdl"
|
||||||
"netname" "Leech"
|
"netname" "Leech"
|
||||||
"health" "skill:leech_health"
|
"health" "skill:leech_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_miniturret
|
entityDef monster_miniturret
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/miniturret.mdl"
|
"model" "models/miniturret.mdl"
|
||||||
"netname" "Mini-Turret"
|
"netname" "Mini-Turret"
|
||||||
"health" "skill:miniturret_health"
|
"health" "skill:miniturret_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_mrfriendly
|
entityDef monster_mrfriendly
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/friendly.mdl"
|
"model" "models/friendly.mdl"
|
||||||
"netname" "Mr. Friendly"
|
"netname" "Mr. Friendly"
|
||||||
"health" "100"
|
"health" "100"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_nihilanth
|
entityDef monster_nihilanth
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/nihilanth.mdl"
|
"model" "models/nihilanth.mdl"
|
||||||
"netname" "Nihilanth"
|
"netname" "Nihilanth"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_osprey
|
entityDef monster_osprey
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/osprey.mdl"
|
"model" "models/osprey.mdl"
|
||||||
"netname" "Osprey"
|
"netname" "Osprey"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_panther
|
entityDef monster_panther
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/panther.mdl"
|
"model" "models/panther.mdl"
|
||||||
"netname" "Panther Eye"
|
"netname" "Panther Eye"
|
||||||
"health" "skill:panther_health"
|
"health" "skill:panther_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_rat
|
entityDef monster_rat
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/bigrat.mdl"
|
"model" "models/bigrat.mdl"
|
||||||
"netname" "Rat"
|
"netname" "Rat"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_scientist_dead
|
entityDef monster_scientist_dead
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/scientist.mdl"
|
"model" "models/scientist.mdl"
|
||||||
"netname" "Dead Scientist"
|
"netname" "Dead Scientist"
|
||||||
"health" "skill:scientist_health"
|
"health" "skill:scientist_health"
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
entityDef monster_sentry
|
entityDef monster_sentry
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/sentry.mdl"
|
"model" "models/sentry.mdl"
|
||||||
"netname" "Sentry"
|
"netname" "Sentry"
|
||||||
"health" "skill:sentry_health"
|
"health" "skill:sentry_health"
|
||||||
"mins" "-16 -16 0"
|
"mins" "-16 -16 0"
|
||||||
"maxs" "16 16 72"
|
"maxs" "16 16 72"
|
||||||
"eye_height" "64"
|
"eye_height" "60"
|
||||||
"team" "1"
|
"team" "1"
|
||||||
"propdata" "actor_robot"
|
"propdata" "actor_robot"
|
||||||
|
|
||||||
|
@ -29,6 +29,10 @@ entityDef monster_sentry
|
||||||
|
|
||||||
"speed_walk" "0"
|
"speed_walk" "0"
|
||||||
"speed_run" "0"
|
"speed_run" "0"
|
||||||
|
"turn_rate" "0"
|
||||||
|
"use_nav" "0"
|
||||||
|
"bleed" "0"
|
||||||
|
"fireFromHead" "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
entityDef ranged_sentry_shot
|
entityDef ranged_sentry_shot
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_sitting_scientist
|
entityDef monster_sitting_scientist
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/scientist.mdl"
|
"model" "models/scientist.mdl"
|
||||||
"netname" "Seated Scientist"
|
"netname" "Seated Scientist"
|
||||||
"health" "skill:scientist_health"
|
"health" "skill:scientist_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_skeleton_dead
|
entityDef monster_skeleton_dead
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/skeleton.mdl"
|
"model" "models/skeleton.mdl"
|
||||||
"netname" "Skeleton"
|
"netname" "Skeleton"
|
||||||
"health" "50"
|
"health" "50"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_snapbug
|
entityDef monster_snapbug
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/snapbug.mdl"
|
"model" "models/snapbug.mdl"
|
||||||
"netname" "Snapbug"
|
"netname" "Snapbug"
|
||||||
"health" "25"
|
"health" "25"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_snark
|
entityDef monster_snark
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/w_squeak.mdl"
|
"model" "models/w_squeak.mdl"
|
||||||
"netname" "Snark"
|
"netname" "Snark"
|
||||||
"health" "skill:snark_health"
|
"health" "skill:snark_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_sphere
|
entityDef monster_sphere
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/sphere.mdl"
|
"model" "models/sphere.mdl"
|
||||||
"netname" "Vortigaunt Control Sphere"
|
"netname" "Vortigaunt Control Sphere"
|
||||||
"health" "10"
|
"health" "10"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_stukabat
|
entityDef monster_stukabat
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/stukabat.mdl"
|
"model" "models/stukabat.mdl"
|
||||||
"netname" "Stukabat"
|
"netname" "Stukabat"
|
||||||
"health" "25"
|
"health" "25"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_tentacle
|
entityDef monster_tentacle
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/tentacle2.mdl"
|
"model" "models/tentacle2.mdl"
|
||||||
"netname" "Tentacle"
|
"netname" "Tentacle"
|
||||||
"health" "25"
|
"health" "25"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_turret
|
entityDef monster_turret
|
||||||
{
|
{
|
||||||
"spawnclass" "NSTalkMonster"
|
"spawnclass" "ncTalkMonster"
|
||||||
"model" "models/turret.mdl"
|
"model" "models/turret.mdl"
|
||||||
"netname" "Turret"
|
"netname" "Turret"
|
||||||
"health" "skill:turret_health"
|
"health" "skill:turret_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_hair
|
entityDef xen_hair
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSurfacePropEntity"
|
"spawnclass" "ncSurfacePropEntity"
|
||||||
"model" "models/hair.mdl"
|
"model" "models/hair.mdl"
|
||||||
"netname" "Xen Hair"
|
"netname" "Xen Hair"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_plantlight
|
entityDef xen_plantlight
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSurfacePropEntity"
|
"spawnclass" "ncSurfacePropEntity"
|
||||||
"model" "models/light.mdl"
|
"model" "models/light.mdl"
|
||||||
"netname" "Xen Plant Light"
|
"netname" "Xen Plant Light"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_spore_large
|
entityDef xen_spore_large
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSurfacePropEntity"
|
"spawnclass" "ncSurfacePropEntity"
|
||||||
"model" "models/fungus(large).mdl"
|
"model" "models/fungus(large).mdl"
|
||||||
"netname" "Xen Spore (Large)"
|
"netname" "Xen Spore (Large)"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_spore_medium
|
entityDef xen_spore_medium
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSurfacePropEntity"
|
"spawnclass" "ncSurfacePropEntity"
|
||||||
"model" "models/fungus.mdl"
|
"model" "models/fungus.mdl"
|
||||||
"netname" "Xen Spore (Medium)"
|
"netname" "Xen Spore (Medium)"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_spore_small
|
entityDef xen_spore_small
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSurfacePropEntity"
|
"spawnclass" "ncSurfacePropEntity"
|
||||||
"model" "models/fungus(small).mdl"
|
"model" "models/fungus(small).mdl"
|
||||||
"netname" "Xen Spore (Small)"
|
"netname" "Xen Spore (Small)"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef xen_tree
|
entityDef xen_tree
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/tree.mdl"
|
"model" "models/tree.mdl"
|
||||||
"netname" "Xen Tree"
|
"netname" "Xen Tree"
|
||||||
"health" "0"
|
"health" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef monster_zombie
|
entityDef monster_zombie
|
||||||
{
|
{
|
||||||
"spawnclass" "NSMonster"
|
"spawnclass" "ncMonster"
|
||||||
"model" "models/zombie.mdl"
|
"model" "models/zombie.mdl"
|
||||||
"netname" "Zombie"
|
"netname" "Zombie"
|
||||||
"health" "skill:zombie_health"
|
"health" "skill:zombie_health"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef projectile_bullet_base
|
entityDef projectile_bullet_base
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"is_bullet" "1"
|
"is_bullet" "1"
|
||||||
"decal_impact" "Impact.BigShot"
|
"decal_impact" "Impact.BigShot"
|
||||||
"detonate_on_world" "1"
|
"detonate_on_world" "1"
|
||||||
|
@ -8,7 +8,7 @@ entityDef projectile_bullet_base
|
||||||
|
|
||||||
entityDef projectile_egonbeam
|
entityDef projectile_egonbeam
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"is_bullet" "1"
|
"is_bullet" "1"
|
||||||
"damage" "skill:plr_egon"
|
"damage" "skill:plr_egon"
|
||||||
"detonate_on_world" "0"
|
"detonate_on_world" "0"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
entityDef info_player_start
|
entityDef info_player_start
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSpawnPoint"
|
"spawnclass" "ncSpawnPoint"
|
||||||
"editor_mins" "-16 -16 -36"
|
"editor_mins" "-16 -16 -36"
|
||||||
"editor_maxs" "16 16 36"
|
"editor_maxs" "16 16 36"
|
||||||
"editor_description" "Singleplayer Spawn Point"
|
"editor_description" "Singleplayer Spawn Point"
|
||||||
|
@ -9,7 +9,7 @@ entityDef info_player_start
|
||||||
|
|
||||||
entityDef info_player_deathmatch
|
entityDef info_player_deathmatch
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSpawnPoint"
|
"spawnclass" "ncSpawnPoint"
|
||||||
"editor_mins" "-16 -16 -36"
|
"editor_mins" "-16 -16 -36"
|
||||||
"editor_maxs" "16 16 36"
|
"editor_maxs" "16 16 36"
|
||||||
"editor_description" "Deathmatch Spawn Point"
|
"editor_description" "Deathmatch Spawn Point"
|
||||||
|
@ -18,7 +18,7 @@ entityDef info_player_deathmatch
|
||||||
|
|
||||||
entityDef info_player_coop
|
entityDef info_player_coop
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSpawnPoint"
|
"spawnclass" "ncSpawnPoint"
|
||||||
"editor_mins" "-16 -16 -36"
|
"editor_mins" "-16 -16 -36"
|
||||||
"editor_maxs" "16 16 36"
|
"editor_maxs" "16 16 36"
|
||||||
"editor_description" "Cooperative Spawn Point"
|
"editor_description" "Cooperative Spawn Point"
|
||||||
|
@ -27,7 +27,7 @@ entityDef info_player_coop
|
||||||
|
|
||||||
entityDef info_spectator_start
|
entityDef info_spectator_start
|
||||||
{
|
{
|
||||||
"spawnclass" "NSSpawnPoint"
|
"spawnclass" "ncSpawnPoint"
|
||||||
"editor_mins" "-16 -16 -16"
|
"editor_mins" "-16 -16 -16"
|
||||||
"editor_maxs" "16 16 16"
|
"editor_maxs" "16 16 16"
|
||||||
"editor_description" "Spectator Spawn Point"
|
"editor_description" "Spectator Spawn Point"
|
||||||
|
|
|
@ -12,7 +12,7 @@ entityDef weapon_9mmAR
|
||||||
"snd_acquire" "weapon.pickup"
|
"snd_acquire" "weapon.pickup"
|
||||||
"snd_respawn" "item.respawn"
|
"snd_respawn" "item.respawn"
|
||||||
|
|
||||||
// NSWeapon specific
|
// ncWeapon specific
|
||||||
"def_fireInfo" "fireInfo_9mmAR"
|
"def_fireInfo" "fireInfo_9mmAR"
|
||||||
"def_altFireInfo" "fireInfo_ARGrenade"
|
"def_altFireInfo" "fireInfo_ARGrenade"
|
||||||
"inv_name" "9mm AR"
|
"inv_name" "9mm AR"
|
||||||
|
@ -72,7 +72,7 @@ entityDef fireInfo_ARGrenade
|
||||||
|
|
||||||
entityDef projectile_ARgrenade
|
entityDef projectile_ARgrenade
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/grenade.mdl"
|
"model" "models/grenade.mdl"
|
||||||
"offset" "16 0 0"
|
"offset" "16 0 0"
|
||||||
"velocity" "800 0 0"
|
"velocity" "800 0 0"
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
#define 9MMHANDGUN_IDLE1 0
|
||||||
|
#define 9MMHANDGUN_IDLE2 1
|
||||||
|
#define 9MMHANDGUN_IDLE3 2
|
||||||
|
#define 9MMHANDGUN_FIRE 3
|
||||||
|
#define 9MMHANDGUN_FIRELAST 4
|
||||||
|
#define 9MMHANDGUN_RELOADEMPTY 5
|
||||||
|
#define 9MMHANDGUN_RELOAD 6
|
||||||
|
#define 9MMHANDGUN_DRAW 7
|
||||||
|
#define 9MMHANDGUN_HOLSTER 8
|
||||||
|
|
||||||
entityDef weapon_9mmhandgun
|
entityDef weapon_9mmhandgun
|
||||||
{
|
{
|
||||||
"editor_color" ".3 .3 1"
|
"editor_color" ".3 .3 1"
|
||||||
|
@ -22,13 +32,13 @@ entityDef weapon_9mmhandgun
|
||||||
"ammoPerShot" "1"
|
"ammoPerShot" "1"
|
||||||
"punchAngle" "-2 0 0"
|
"punchAngle" "-2 0 0"
|
||||||
|
|
||||||
"act_fire" "3"
|
"act_fire" "$9MMHANDGUN_FIRE"
|
||||||
"act_fireLast" "4"
|
"act_fireLast" "$9MMHANDGUN_FIRELAST"
|
||||||
"act_holster" "8"
|
"act_holster" "$9MMHANDGUN_HOLSTER"
|
||||||
"act_reload" "6"
|
"act_reload" "$9MMHANDGUN_RELOAD"
|
||||||
"act_reloadEmpty" "5"
|
"act_reloadEmpty" "$9MMHANDGUN_RELOADEMPTY"
|
||||||
"act_draw" "7"
|
"act_draw" "$9MMHANDGUN_DRAW"
|
||||||
"act_idle" "0,1,2"
|
"act_idle" "$9MMHANDGUN_IDLE1,$9MMHANDGUN_IDLE2,$9MMHANDGUN_IDLE3"
|
||||||
|
|
||||||
"snd_fire" "Weapon_Glock.Single"
|
"snd_fire" "Weapon_Glock.Single"
|
||||||
"snd_altfire" "Weapon_Glock.Single"
|
"snd_altfire" "Weapon_Glock.Single"
|
||||||
|
|
|
@ -68,13 +68,13 @@ entityDef fireInfo_crossbowMP
|
||||||
|
|
||||||
entityDef debris_arrow
|
entityDef debris_arrow
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/crossbow_bolt.mdl"
|
"model" "models/crossbow_bolt.mdl"
|
||||||
}
|
}
|
||||||
|
|
||||||
entityDef projectile_arrow
|
entityDef projectile_arrow
|
||||||
{
|
{
|
||||||
"spawnclass" "NSProjectile"
|
"spawnclass" "ncProjectile"
|
||||||
"model" "models/crossbow_bolt.mdl"
|
"model" "models/crossbow_bolt.mdl"
|
||||||
"velocity" "2000 0 0"
|
"velocity" "2000 0 0"
|
||||||
"angular_velocity" "0 0 20"
|
"angular_velocity" "0 0 20"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue