Added bullsquid to VPC, FGD, and soundscripts

This commit is contained in:
1upD 2018-12-05 23:20:21 -05:00
parent 1a6d5530ec
commit 27b700b0cc
5 changed files with 122 additions and 177 deletions

View File

@ -0,0 +1,18 @@
//=============================================================================
//
// Purpose: Half-Life 2 mod game definition file (.fgd)
// Defines new entities for bullsquid
//
//=============================================================================
@include "base.fgd"
@include "halflife2.fgd"
//-------------------------------------------------------------------------
//
// NPCs
//
//-------------------------------------------------------------------------
@NPCClass base(BaseNPC) studio(" "models/bullsquid.mdl" ) = npc_bullsquid : "Bullsquid"
[
]

View File

@ -119,8 +119,11 @@ game_sounds_manifest
"precache_file" "scripts/npc_sounds_alyx_episodic2.txt"
"precache_file" "scripts/npc_sounds_turret_episodic2.txt"
// 1upD's Halloween NPCs
// 1upD's Custom NPCs
"precache_file" "scripts/npc_sounds_shadow_walker.txt"
"precache_file" "scripts/npc_sounds_lost_soul.txt"
"precache_file" "scripts/npc_sounds_bullsquid.txt"
}

View File

@ -0,0 +1,98 @@
// Bullsquid
"NPC_Bullsquid.Idle"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_75dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_idle1.wav"
"wave" "bullchicken/bc_idle2.wav"
"wave" "bullchicken/bc_idle3.wav"
"wave" "bullchicken/bc_idle4.wav"
"wave" "bullchicken/bc_idle5.wav"
}
}
"NPC_Bullsquid.Pain"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_85dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_pain1.wav"
"wave" "bullchicken/bc_pain2.wav"
"wave" "bullchicken/bc_pain3.wav"
"wave" "bullchicken/bc_pain4.wav"
}
}
"npc_bullsquid.Alert"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_85dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_idle1.wav"
"wave" "bullchicken/bc_idle2.wav"
}
}
"NPC_Bullsquid.Die"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_85dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_die1.wav"
"wave" "bullchicken/bc_die2.wav"
"wave" "bullchicken/bc_die3.wav"
}
}
"NPC_Bullsquid.Attack1"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_100dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_attack2.wav"
"wave" "bullchicken/bc_attack3.wav"
}
}
"NPC_Bullsquid.Bite"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_85dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_bite2.wav"
"wave" "bullchicken/bc_bite3.wav"
}
}
"NPC_Bullsquid.Growl"
{
"channel" "CHAN_VOICE"
"volume" "1.0"
"soundlevel" "SNDLVL_80dB"
"pitch" "PITCH_NORM"
"rndwave"
{
"wave" "bullchicken/bc_attackgrowl.wav"
"wave" "bullchicken/bc_attackgrowl2.wav"
"wave" "bullchicken/bc_attackgrowl3.wav"
}
}

View File

@ -1,176 +0,0 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
// This is a skeleton file for use when creating a new
// NPC. Copy and rename this file for the new
// NPC and add the copy to the build.
//
// Leave this file in the build until we ship! Allowing
// this file to be rebuilt with the rest of the game ensures
// that it stays up to date with the rest of the NPC code.
//
// Replace occurances of CNPC_Test with the new NPC's
// classname. Don't forget the lower-case occurance in
// LINK_ENTITY_TO_CLASS()
//
//
// ASSUMPTIONS MADE:
//
// You're making a character based on CAI_BaseNPC. If this
// is not true, make sure you replace all occurances
// of 'CAI_BaseNPC' in this file with the appropriate
// parent class.
//
// You're making a human-sized NPC that walks.
//
//=============================================================================//
#include "cbase.h"
#include "ai_default.h"
#include "ai_task.h"
#include "ai_schedule.h"
#include "ai_hull.h"
#include "soundent.h"
#include "game.h"
#include "npcevent.h"
#include "entitylist.h"
#include "activitylist.h"
#include "ai_basenpc.h"
#include "engine/IEngineSound.h"
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
//=========================================================
// Private activities
//=========================================================
int ACT_TESTCUSTOMACTIVITY = -1;
//=========================================================
// Custom schedules
//=========================================================
enum
{
SCHED_TESTCUSTOMSCHEDULE = LAST_SHARED_SCHEDULE,
};
//=========================================================
// Custom tasks
//=========================================================
enum
{
TASK_TESTCUSTOMTASK = LAST_SHARED_TASK,
};
//=========================================================
// Custom Conditions
//=========================================================
enum
{
COND_TESTCUSTOMCONDITION = LAST_SHARED_CONDITION,
};
//=========================================================
//=========================================================
class CNPC_Test : public CAI_BaseNPC
{
DECLARE_CLASS( CNPC_Test, CAI_BaseNPC );
public:
void Precache( void );
void Spawn( void );
Class_T Classify( void );
DECLARE_DATADESC();
// This is a dummy field. In order to provide save/restore
// code in this file, we must have at least one field
// for the code to operate on. Delete this field when
// you are ready to do your own save/restore for this
// character.
int m_iDeleteThisField;
DEFINE_CUSTOM_AI;
};
LINK_ENTITY_TO_CLASS( npc_test, CNPC_Test );
IMPLEMENT_CUSTOM_AI( npc_citizen,CNPC_Test );
//---------------------------------------------------------
// Save/Restore
//---------------------------------------------------------
BEGIN_DATADESC( CNPC_Test )
DEFINE_FIELD( m_iDeleteThisField, FIELD_INTEGER ),
END_DATADESC()
//-----------------------------------------------------------------------------
// Purpose: Initialize the custom schedules
// Input :
// Output :
//-----------------------------------------------------------------------------
void CNPC_Test::InitCustomSchedules(void)
{
INIT_CUSTOM_AI(CNPC_Test);
ADD_CUSTOM_TASK(CNPC_Test, TASK_TESTCUSTOMTASK);
ADD_CUSTOM_SCHEDULE(CNPC_Test, SCHED_TESTCUSTOMSCHEDULE);
ADD_CUSTOM_ACTIVITY(CNPC_Test, ACT_TESTCUSTOMACTIVITY);
ADD_CUSTOM_CONDITION(CNPC_Test, COND_TESTCUSTOMCONDITION);
}
//-----------------------------------------------------------------------------
// Purpose:
//
//
//-----------------------------------------------------------------------------
void CNPC_Test::Precache( void )
{
PrecacheModel("models/humans/group01/female_01.mdl");
BaseClass::Precache();
}
//-----------------------------------------------------------------------------
// Purpose:
//
//
//-----------------------------------------------------------------------------
void CNPC_Test::Spawn( void )
{
Precache();
SetModel( "models/humans/group01/female_01.mdl" );
SetHullType(HULL_HUMAN);
SetHullSizeNormal();
SetSolid( SOLID_BBOX );
AddSolidFlags( FSOLID_NOT_STANDABLE );
SetMoveType( MOVETYPE_STEP );
SetBloodColor( BLOOD_COLOR_RED );
m_iHealth = 20;
m_flFieldOfView = 0.5;
m_NPCState = NPC_STATE_NONE;
CapabilitiesClear();
//CapabilitiesAdd( bits_CAP_NONE );
NPCInit();
}
//-----------------------------------------------------------------------------
// Purpose:
//
//
// Output :
//-----------------------------------------------------------------------------
Class_T CNPC_Test::Classify( void )
{
return CLASS_TEST;
}

View File

@ -59,6 +59,8 @@ $Project "Server (Episodic)"
$File "mod\npc_shadow_walker.cpp"
$File "mod\weapon_custom_melee.h"
$File "mod\weapon_custom_flaregun.cpp"
$File "hl2\npc_bullsquid.h"
$File "hl2\npc_bullsquid.cpp"
}
$File "$SRCDIR\game\shared\episodic\achievements_ep1.cpp"
$File "$SRCDIR\game\shared\episodic\achievements_ep2.cpp"