monster_human_grunt: add initial set of schedules
This commit is contained in:
parent
6bfda4d419
commit
d3e22907b5
56 changed files with 381 additions and 164 deletions
|
@ -24,20 +24,6 @@ ClientGame_EventParse(float fHeader)
|
|||
case EV_HITNOTIFY:
|
||||
pSeatLocal->m_flDamageIndicator = 1.0f;
|
||||
break;
|
||||
case EV_BLOOD:
|
||||
vector vBloodPos = g_vec_null;
|
||||
vector vBloodColor = g_vec_null;
|
||||
|
||||
vBloodPos[0] = readcoord();
|
||||
vBloodPos[1] = readcoord();
|
||||
vBloodPos[2] = readcoord();
|
||||
|
||||
vBloodColor[0] = readbyte() / 255;
|
||||
vBloodColor[1] = readbyte() / 255;
|
||||
vBloodColor[2] = readbyte() / 255;
|
||||
|
||||
FX_Blood(vBloodPos, vBloodColor);
|
||||
break;
|
||||
case EV_GAUSSBEAM:
|
||||
FX_GaussBeam_Parse();
|
||||
break;
|
||||
|
|
|
@ -70,7 +70,6 @@ ClientGame_RendererRestart(string rstr)
|
|||
Damage_Precache();
|
||||
Obituary_Precache();
|
||||
|
||||
FX_Blood_Init();
|
||||
FX_GaussBeam_Init();
|
||||
|
||||
BEAM_TRIPMINE = particleeffectnum("weapon_tripmine.beam");
|
||||
|
|
|
@ -38,6 +38,7 @@ void
|
|||
CodeCallback_StartGameType(void)
|
||||
{
|
||||
motd.LoadDefault();
|
||||
precache.Entity("player_mp");
|
||||
|
||||
if (IsTeamplay() == true) {
|
||||
int c;
|
||||
|
|
|
@ -45,7 +45,7 @@ AllowFlashlight(void)
|
|||
void
|
||||
CodeCallback_StartGameType(void)
|
||||
{
|
||||
ents.Precache(autocvar_invasion_monsterClass);
|
||||
precache.Entity(autocvar_invasion_monsterClass);
|
||||
motd.LoadDefault();
|
||||
game.SetSpawnPoint("info_player_deathmatch");
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ void world_items::world_items(void)
|
|||
spawnfunc_item_battery();
|
||||
break;
|
||||
case 45:
|
||||
spawnfunc_item_suit();
|
||||
spawnfunc_HLSuit();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
|
|
@ -1,117 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2016-2020 Marco Cawthorne <marco@icculus.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifdef CLIENT
|
||||
var float PARTICLE_BLOOD;
|
||||
var int DECAL_BLOOD;
|
||||
|
||||
void
|
||||
FX_Blood_Init(void)
|
||||
{
|
||||
precache_model("sprites/bloodspray.spr");
|
||||
precache_model("sprites/blood.spr");
|
||||
PARTICLE_BLOOD = particleeffectnum("part_blood");
|
||||
DECAL_BLOOD = particleeffectnum("decal_blood.effect");
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
FX_Blood(vector pos, vector color)
|
||||
{
|
||||
#ifdef SERVER
|
||||
WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET);
|
||||
WriteByte(MSG_MULTICAST, EV_BLOOD);
|
||||
WriteCoord(MSG_MULTICAST, pos[0]);
|
||||
WriteCoord(MSG_MULTICAST, pos[1]);
|
||||
WriteCoord(MSG_MULTICAST, pos[2]);
|
||||
WriteByte(MSG_MULTICAST, color[0] * 255);
|
||||
WriteByte(MSG_MULTICAST, color[1] * 255);
|
||||
WriteByte(MSG_MULTICAST, color[2] * 255);
|
||||
msg_entity = self;
|
||||
multicast(pos, MULTICAST_PVS);
|
||||
#else
|
||||
static void Blood_Touch(void)
|
||||
{
|
||||
if (self.think != ncEntity::Destroy) {
|
||||
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
||||
Decals_Place(self.origin, sprintf("{blood%d", floor(random(1,9))));
|
||||
else {
|
||||
decal_pickwall(self, self.origin);
|
||||
pointparticles(DECAL_BLOOD, g_tracedDecal.endpos, g_tracedDecal.normal, 1);
|
||||
}
|
||||
}
|
||||
|
||||
self.think = ncEntity::Destroy;
|
||||
self.nextthink = time + 5.0f;
|
||||
}
|
||||
static void ABlood_Touch(void)
|
||||
{
|
||||
if (self.think != ncEntity::Destroy) {
|
||||
if (serverkeyfloat("*bspversion") == BSPVER_HL)
|
||||
Decals_Place(self.origin, sprintf("{yblood%d", floor(random(1,9))));
|
||||
else {
|
||||
decal_pickwall(self, self.origin);
|
||||
pointparticles(DECAL_BLOOD, g_tracedDecal.endpos, g_tracedDecal.normal, 1);
|
||||
}
|
||||
}
|
||||
|
||||
self.think = ncEntity::Destroy;
|
||||
self.nextthink = time + 5.0f;
|
||||
}
|
||||
|
||||
if (cvar("violence_hblood") <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
env_sprite eBlood = spawn(env_sprite);
|
||||
eBlood.SetOrigin(pos);
|
||||
eBlood.SetModel("sprites/bloodspray.spr");
|
||||
eBlood.SetMaxFrame(modelframecount(eBlood.modelindex));
|
||||
eBlood.SetFramerate(20);
|
||||
eBlood.SetLoopFlag(false);
|
||||
eBlood.SetScale(0.25f);
|
||||
eBlood.SetRenderColor(color);
|
||||
eBlood.SetRenderMode(RM_COLOR);
|
||||
eBlood.SetRenderAmt(1.0f);
|
||||
eBlood.nextthink = time + 0.05f;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ncRenderableEntity ePart = spawn(ncRenderableEntity);
|
||||
ePart.SetOrigin(pos);
|
||||
ePart.SetModel("sprites/blood.spr");
|
||||
ePart.SetMovetype(MOVETYPE_BOUNCE);
|
||||
ePart.SetGravity(0.5f);
|
||||
ePart.SetScale(0.25f);
|
||||
ePart.SetFrame((random() < 0.5) ? 0 : 1);
|
||||
ePart.SetRenderColor(color);
|
||||
ePart.SetRenderMode(RM_COLOR);
|
||||
ePart.SetRenderAmt(1.0f);
|
||||
ePart.SetVelocity(randomvec() * 96 + [0,0,64]);
|
||||
ePart.SetSolid(SOLID_BBOX);
|
||||
ePart.SetSize([0,0,0], [0,0,0]);
|
||||
|
||||
if (color[1] != 0 && color[2] != 0)
|
||||
ePart.touch = ABlood_Touch;
|
||||
else
|
||||
ePart.touch = Blood_Touch;
|
||||
|
||||
/* ignore player physics */
|
||||
ePart.dimension_solid = 1;
|
||||
ePart.dimension_hit = 1;
|
||||
ePart.hitcontentsmaski = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
|
@ -5,7 +5,6 @@
|
|||
../../../valve/src/shared/skeleton.h
|
||||
../../../valve/src/shared/player.qc
|
||||
../../../valve/src/shared/animations.qc
|
||||
../../../valve/src/shared/fx_blood.qc
|
||||
../../../valve/src/shared/fx_gaussbeam.qc
|
||||
../../../valve/src/shared/HLGaussBeam.qc
|
||||
../../../valve/src/shared/HLWeapon.qc
|
||||
|
|
|
@ -7,4 +7,5 @@ entityDef item_healthkit
|
|||
"snd_acquire" "item.healthkit"
|
||||
"snd_respawn" "item.respawn"
|
||||
"inv_health" "skill:healthkit"
|
||||
"droptofloor" "1"
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ entityDef monster_barney
|
|||
"snd_death" "Barney.Die"
|
||||
"snd_ranged_attack" "Barney.FirePistol"
|
||||
"snd_reload" "HGrunt.Reload"
|
||||
"snd_thud" "AI_BaseNPC.BodyDrop_Light"
|
||||
|
||||
"talk_answer" "!BA_ANSWER"
|
||||
"talk_ask" "!BA_QUESTION"
|
||||
|
|
|
@ -18,11 +18,10 @@ entityDef monster_bullchicken
|
|||
"def_attack_melee" "melee_bullchicken_tailwhip"
|
||||
"def_attack_melee2" "melee_bullchicken_bite"
|
||||
|
||||
"snd_alert" "Bullsquid.Alert"
|
||||
"snd_alert" "Bullsquid.Growl"
|
||||
"snd_idle" "Bullsquid.Idle"
|
||||
"snd_pain" "Bullsquid.Pain"
|
||||
"snd_death" "Bullsquid.Die"
|
||||
// Bullsquid.Growl
|
||||
|
||||
events {
|
||||
1 "SpawnProjectileDef" "ranged_bullchicken_spit"
|
||||
|
@ -74,4 +73,4 @@ entityDef ranged_bullchicken_spit
|
|||
entityDef damage_spitDirect
|
||||
{
|
||||
damage "skill:bullsquid_dmg_spit"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
entityDef monster_human_grunt
|
||||
{
|
||||
"spawnclass" "ncSquadMonster"
|
||||
"spawnclass" "ncTalkMonster"
|
||||
"model" "models/hgrunt.mdl"
|
||||
"netname" "Grunt"
|
||||
"health" "skill:hgrunt_health"
|
||||
|
@ -38,6 +38,10 @@ entityDef monster_human_grunt
|
|||
"snd_death" "HGrunt.Die"
|
||||
"snd_reload" "HGrunt.Reload"
|
||||
"weapons" "3"
|
||||
|
||||
"mindset_idle" "hgrunt_idle"
|
||||
"mindset_defense" "hgrunt_takeCover"
|
||||
"mindset_combat" "hgrunt_combatFace"
|
||||
|
||||
"squad_leader_body" "1:2"
|
||||
|
||||
|
@ -63,6 +67,13 @@ entityDef monster_human_grunt
|
|||
// animation event callbacks
|
||||
events {
|
||||
2 "StartSoundDef" "HGrunt.Reload"
|
||||
3 "SpawnProjectileDef" "melee_hgrunt_kick"
|
||||
4 "SpawnProjectileDef" "ranged_hgrunt_mp5"
|
||||
5 "SpawnProjectileDef" "ranged_hgrunt_mp5"
|
||||
6 "SpawnProjectileDef" "ranged_hgrunt_mp5"
|
||||
7 "SpawnProjectileDef" "projectile_hgrunt_grenade"
|
||||
8 "SpawnProjectileDef" "projectile_hgrunt_ARgrenade"
|
||||
9 "SpawnProjectileDef" "projectile_hgrunt_grenadePlant"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -145,8 +156,14 @@ entityDef projectile_hgrunt_grenade
|
|||
"explode_light_radius" "320"
|
||||
"explode_light_fadetime" "0.5"
|
||||
|
||||
"snd_explode" "weapon_handgrenade.explode"
|
||||
"snd_bounce" "weapon_handgrenade.bounce"
|
||||
"snd_explode" "BaseExplosionEffect.Sound"
|
||||
"snd_bounce" "Weapon_HandGrenade.GrenadeBounce"
|
||||
}
|
||||
|
||||
entityDef projectile_hgrunt_grenade
Plant
|
||||
{
|
||||
"inherit" "projectile_hgrunt_grenade"
|
||||
"velocity" "15 0 128"
|
||||
}
|
||||
|
||||
entityDef damage_grenadeSplash
|
||||
|
|
|
@ -20,13 +20,13 @@ entityDef monster_snark
|
|||
|
||||
// Snark.Deploy
|
||||
"snd_attack" "Snark.Bounce"
|
||||
"snd_pain" "Snark.Pain"
|
||||
"snd_pain" "Snark.Die"
|
||||
"snd_death" "Snark.Die"
|
||||
"snd_gib" "Snark.Gibbed"
|
||||
"leap_damage" "skill:snark_dmg_bite"
|
||||
|
||||
events {
|
||||
jump "AddVelocity" "512 0 250"
|
||||
jump "StartSoundDef" "monster_snark.attack"
|
||||
jump "StartSoundDef" "Snark.Squeak"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,21 @@ entityDef player
|
|||
"propdata" "actor_human"
|
||||
"armorProtection" "0.2"
|
||||
"armorBonus" "0.5"
|
||||
|
||||
"snd_stepladderLeft" "step_ladder.left"
|
||||
"snd_stepladderRight" "step_ladder.right"
|
||||
"snd_fall" "Player.FallDamage"
|
||||
"snd_landHard" "Player.LightFall"
|
||||
"snd_death" "Player.Death"
|
||||
"snd_airGaspLight" "Player.GaspLight"
|
||||
"snd_pain" "Player.Pain"
|
||||
"snd_airGaspHeavy" "Player.GaspHeavy"
|
||||
"snd_waterExit" "Player.WaterExit"
|
||||
"snd_waterEnter" "Player.WaterEnter"
|
||||
"snd_useDeny" "Player.DenyWeaponSelection"
|
||||
"snd_useSuccess" "Player.WeaponSelected"
|
||||
"snd_waterWade" "Player.Wade"
|
||||
"snd_waterSwim" "Player.Swim"
|
||||
}
|
||||
|
||||
entityDef player_mp
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_357
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_357.mdl"
|
||||
"model_view" "models/v_357.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_9mmAR
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_9mmAR.mdl"
|
||||
"model_view" "models/v_9mmAR.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// ncWeapon specific
|
||||
|
|
|
@ -19,7 +19,7 @@ entityDef weapon_9mmhandgun
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_9mmhandgun.mdl"
|
||||
"model_view" "models/v_9mmhandgun.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_crossbow
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_crossbow.mdl"
|
||||
"model_view" "models/v_crossbow.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_crowbar
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_crowbar.mdl"
|
||||
"model_view" "models/v_crowbar.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_egon
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_egon.mdl"
|
||||
"model_view" "models/v_egon.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
"def_onFire" "projectile_egonbeam"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_gauss
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_gauss.mdl"
|
||||
"model_view" "models/v_gauss.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_handgrenade
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_grenade.mdl"
|
||||
"model_view" "models/v_grenade.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
"inv_name" "Hand Grenade"
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_rpg
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_rpg.mdl"
|
||||
"model_view" "models/v_rpg.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
"def_fireInfo" "fireInfo_rpg"
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_satchel
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_satchel.mdl"
|
||||
"model_view" "models/v_satchel.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
"def_fireInfo" "fireInfo_satchel_primary"
|
||||
|
|
|
@ -9,7 +9,7 @@ entityDef weapon_shotgun
|
|||
"spawnclass" "HLWeapon"
|
||||
"model" "models/w_shotgun.mdl"
|
||||
"model_view" "models/v_shotgun.mdl"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
// weapon specific
|
||||
|
@ -113,6 +113,7 @@ entityDef fireInfo_altShotgun_mp
|
|||
"ammoPerShot" "2"
|
||||
"fireRate" "1.5"
|
||||
"punchAngle" "-10 0 0"
|
||||
"act_fire" "2"
|
||||
}
|
||||
|
||||
entityDef weapon_shotgun_mp
|
||||
|
|
|
@ -10,7 +10,7 @@ entityDef weapon_snark
|
|||
"model" "models/w_sqknest.mdl"
|
||||
"model_view" "models/v_squeak.mdl"
|
||||
"frame" "1"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
"inv_name" "Snark"
|
||||
|
|
|
@ -12,7 +12,7 @@ entityDef weapon_tripmine
|
|||
"body0" "2"
|
||||
"body1" "2"
|
||||
"frame" "8"
|
||||
"snd_acquire" "weapon.pickup"
|
||||
"snd_acquire" "Player.PickupWeapon"
|
||||
"snd_respawn" "item.respawn"
|
||||
|
||||
"def_fireInfo" "fireInfo_tripminePlant"
|
||||
|
|
13
zpak001.pk3dir/decls/schedules/hgrunt_combatFace.decl
Normal file
13
zpak001.pk3dir/decls/schedules/hgrunt_combatFace.decl
Normal file
|
@ -0,0 +1,13 @@
|
|||
typeInfo hgrunt_combatFace
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "PlayActivity idleAngry"
|
||||
"task_3" "TurnToEnemy"
|
||||
"task_4" "PerformSchedule hgrunt_sweep"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDeadEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onCanRangedAttack1" "1"
|
||||
"fail_onCanRangedAttack2" "1"
|
||||
"Damage" "ChangeMindset defense"
|
||||
}
|
9
zpak001.pk3dir/decls/schedules/hgrunt_combatFail.decl
Normal file
9
zpak001.pk3dir/decls/schedules/hgrunt_combatFail.decl
Normal file
|
@ -0,0 +1,9 @@
|
|||
typeInfo hgrunt_combatFail
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "PlayActivity combatIdle"
|
||||
"task_3" "TurnToEnemy"
|
||||
"task_4" "WaitPVS"
|
||||
"fail_onCanRangedAttack1" "1"
|
||||
"fail_onCanRangedAttack2" "1"
|
||||
}
|
9
zpak001.pk3dir/decls/schedules/hgrunt_establishLoF.decl
Normal file
9
zpak001.pk3dir/decls/schedules/hgrunt_establishLoF.decl
Normal file
|
@ -0,0 +1,9 @@
|
|||
typeInfo hgrunt_establishLoF
|
||||
{
|
||||
"task_1" "SetFailSchedule hgrunt_fail"
|
||||
"task_2" "TargetEnemy"
|
||||
"task_3" "Sentence !HG_COVER"
|
||||
"task_4" "RunToTarget"
|
||||
"task_5" "WaitForMovement"
|
||||
"task_6" "PerformSchedule hgrunt_rangedAttack1A"
|
||||
}
|
12
zpak001.pk3dir/decls/schedules/hgrunt_fail.decl
Normal file
12
zpak001.pk3dir/decls/schedules/hgrunt_fail.decl
Normal file
|
@ -0,0 +1,12 @@
|
|||
typeInfo hgrunt_fail
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "PlayActivity idle"
|
||||
"task_3" "Wait 2"
|
||||
"task_4" "WaitPVS"
|
||||
"fail_onCanRangedAttack1" "1"
|
||||
"fail_onCanRangedAttack2" "1"
|
||||
"fail_onCanMeleeAttack1" "1"
|
||||
"fail_onCanMeleeAttack2" "1"
|
||||
"NewEnemy" "PerformSchedule hgrunt_combatFace"
|
||||
}
|
7
zpak001.pk3dir/decls/schedules/hgrunt_foundEnemy.decl
Normal file
7
zpak001.pk3dir/decls/schedules/hgrunt_foundEnemy.decl
Normal file
|
@ -0,0 +1,7 @@
|
|||
typeInfo hgrunt_foundEnemy
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity signal1"
|
||||
"task_4" "ChangeMindset combat"
|
||||
}
|
11
zpak001.pk3dir/decls/schedules/hgrunt_grenadeCover.decl
Normal file
11
zpak001.pk3dir/decls/schedules/hgrunt_grenadeCover.decl
Normal file
|
@ -0,0 +1,11 @@
|
|||
typeInfo hgrunt_grenadeCover
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "FindCoverNodeFromEnemy 99"
|
||||
"task_3" "FindFarCoverNodeFromEnemy 384"
|
||||
"task_4" "PlayActivity specialAttack1"
|
||||
"task_5" "CLEAR MOVE WAIT ?"
|
||||
"task_6" "RunToTarget"
|
||||
"task_7" "WaitForMovement"
|
||||
"task_8" "PerformSchedule hgrunt_WaitInCover"
|
||||
}
|
13
zpak001.pk3dir/decls/schedules/hgrunt_hideReload.decl
Normal file
13
zpak001.pk3dir/decls/schedules/hgrunt_hideReload.decl
Normal file
|
@ -0,0 +1,13 @@
|
|||
typeInfo hgrunt_hideReload
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "SetFailSchedule reload"
|
||||
"task_3" "FindCoverFromEnemy"
|
||||
"task_4" "RunToTarget"
|
||||
"task_5" "WaitForMovement"
|
||||
"task_6" "Remember inCover"
|
||||
"task_7" "TurnToEnemy"
|
||||
"task_8" "PlayActivity reload"
|
||||
"fail_onHeavyDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
}
|
11
zpak001.pk3dir/decls/schedules/hgrunt_idle.decl
Normal file
11
zpak001.pk3dir/decls/schedules/hgrunt_idle.decl
Normal file
|
@ -0,0 +1,11 @@
|
|||
typeInfo hgrunt_idle
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "PlayActivity idle"
|
||||
"task_3" "Wait 2"
|
||||
"task_4" "WaitPVS"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"NewEnemy" "PerformSchedule hgrunt_foundEnemy"
|
||||
"Damage" "PerformSchedule hgrunt_takeCover"
|
||||
}
|
25
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack1A.decl
Normal file
25
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack1A.decl
Normal file
|
@ -0,0 +1,25 @@
|
|||
typeInfo hgrunt_rangedAttack1A
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity crouch"
|
||||
"task_4" "TaskCheck_FriendlyFire"
|
||||
"task_5" "AttackRanged1"
|
||||
"task_6" "TurnToEnemy"
|
||||
"task_7" "TaskCheck_FriendlyFire"
|
||||
"task_8" "AttackRanged1"
|
||||
"task_9" "TurnToEnemy"
|
||||
"task_10" "TaskCheck_FriendlyFire"
|
||||
"task_11" "AttackRanged1"
|
||||
"task_12" "TurnToEnemy"
|
||||
"task_13" "TaskCheck_FriendlyFire"
|
||||
"task_14" "AttackRanged1"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDeadEnemy" "1"
|
||||
"fail_onHeavyDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"fail_onOccludedEnemy" "1"
|
||||
"fail_onNoAmmo" "1"
|
||||
"DeadEnemy" "PerformSchedule hgrunt_victoryDance"
|
||||
"HeavyDamage" "ChangeMindset defense"
|
||||
}
|
24
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack1B.decl
Normal file
24
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack1B.decl
Normal file
|
@ -0,0 +1,24 @@
|
|||
typeInfo hgrunt_rangedAttack1B
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity idleAngry"
|
||||
"task_4" "TaskCheck_FriendlyFire"
|
||||
"task_5" "AttackRanged1"
|
||||
"task_6" "TurnToEnemy"
|
||||
"task_7" "TaskCheck_FriendlyFire"
|
||||
"task_8" "AttackRanged1"
|
||||
"task_9" "TurnToEnemy"
|
||||
"task_10" "TaskCheck_FriendlyFire"
|
||||
"task_11" "AttackRanged1"
|
||||
"task_12" "TurnToEnemy"
|
||||
"task_13" "TaskCheck_FriendlyFire"
|
||||
"task_14" "AttackRanged1"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDeadEnemy" "1"
|
||||
"fail_onHeavyDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"fail_onOccludedEnemy" "1"
|
||||
"fail_onNoAmmo" "1"
|
||||
"DeadEnemy" "PerformSchedule hgrunt_victoryDance"
|
||||
}
|
18
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack2.decl
Normal file
18
zpak001.pk3dir/decls/schedules/hgrunt_rangedAttack2.decl
Normal file
|
@ -0,0 +1,18 @@
|
|||
typeInfo hgrunt_rangedAttack2
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity crouch"
|
||||
"task_4" "TaskCheck_FriendlyFire"
|
||||
"task_5" "AttackRanged1"
|
||||
"task_6" "TurnToEnemy"
|
||||
"task_7" "TaskCheck_FriendlyFire"
|
||||
"task_8" "AttackRanged1"
|
||||
"task_9" "TurnToEnemy"
|
||||
"task_10" "TaskCheck_FriendlyFire"
|
||||
"task_11" "AttackRanged1"
|
||||
"task_12" "TurnToEnemy"
|
||||
"task_13" "TaskCheck_FriendlyFire"
|
||||
"task_14" "AttackRanged1"
|
||||
"DeadEnemy" "PerformSchedule hgrunt_victoryDance"
|
||||
}
|
10
zpak001.pk3dir/decls/schedules/hgrunt_repel.decl
Normal file
10
zpak001.pk3dir/decls/schedules/hgrunt_repel.decl
Normal file
|
@ -0,0 +1,10 @@
|
|||
typeInfo hgrunt_repel
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToIdealPosition"
|
||||
"task_3" "PlayActivity glide"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onSeeEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
}
|
6
zpak001.pk3dir/decls/schedules/hgrunt_repelAttack.decl
Normal file
6
zpak001.pk3dir/decls/schedules/hgrunt_repelAttack.decl
Normal file
|
@ -0,0 +1,6 @@
|
|||
typeInfo hgrunt_repelAttack
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity fly"
|
||||
}
|
13
zpak001.pk3dir/decls/schedules/hgrunt_repelLand.decl
Normal file
13
zpak001.pk3dir/decls/schedules/hgrunt_repelLand.decl
Normal file
|
@ -0,0 +1,13 @@
|
|||
typeInfo hgrunt_repelLand
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "PlayActivity land"
|
||||
"task_3" "TargetLastPosition"
|
||||
"task_4" "RunToTarget"
|
||||
"task_5" "WaitForMovement"
|
||||
"task_6" "ClearLastPosition"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onSeeEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
}
|
24
zpak001.pk3dir/decls/schedules/hgrunt_signalSuppress.decl
Normal file
24
zpak001.pk3dir/decls/schedules/hgrunt_signalSuppress.decl
Normal file
|
@ -0,0 +1,24 @@
|
|||
typeInfo hgrunt_signalSuppress
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "PlayActivity signal2"
|
||||
"task_4" "TaskCheck_FriendlyFire"
|
||||
"task_5" "AttackRanged1"
|
||||
"task_6" "TurnToEnemy"
|
||||
"task_7" "TaskCheck_FriendlyFire"
|
||||
"task_8" "AttackRanged1"
|
||||
"task_9" "TurnToEnemy"
|
||||
"task_10" "TaskCheck_FriendlyFire"
|
||||
"task_11" "AttackRanged1"
|
||||
"task_12" "TurnToEnemy"
|
||||
"task_13" "TaskCheck_FriendlyFire"
|
||||
"task_14" "AttackRanged1"
|
||||
"task_15" "TurnToEnemy"
|
||||
"task_16" "TaskCheck_FriendlyFire"
|
||||
"task_17" "AttackRanged1"
|
||||
"fail_onDeadEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"fail_onNoAmmo" "1"
|
||||
}
|
23
zpak001.pk3dir/decls/schedules/hgrunt_suppress.decl
Normal file
23
zpak001.pk3dir/decls/schedules/hgrunt_suppress.decl
Normal file
|
@ -0,0 +1,23 @@
|
|||
typeInfo hgrunt_suppress
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "TaskCheck_FriendlyFire"
|
||||
"task_4" "AttackRanged1"
|
||||
"task_5" "TurnToEnemy"
|
||||
"task_6" "TaskCheck_FriendlyFire"
|
||||
"task_7" "AttackRanged1"
|
||||
"task_8" "TurnToEnemy"
|
||||
"task_9" "TaskCheck_FriendlyFire"
|
||||
"task_10" "AttackRanged1"
|
||||
"task_11" "TurnToEnemy"
|
||||
"task_12" "TaskCheck_FriendlyFire"
|
||||
"task_13" "AttackRanged1"
|
||||
"task_14" "TurnToEnemy"
|
||||
"task_15" "TaskCheck_FriendlyFire"
|
||||
"task_16" "AttackRanged1"
|
||||
"fail_onDeadEnemy" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onNoAmmo" "1"
|
||||
}
|
15
zpak001.pk3dir/decls/schedules/hgrunt_sweep.decl
Normal file
15
zpak001.pk3dir/decls/schedules/hgrunt_sweep.decl
Normal file
|
@ -0,0 +1,15 @@
|
|||
typeInfo hgrunt_sweep
|
||||
{
|
||||
"task_1" "TurnLeft 179"
|
||||
"task_2" "Wait 1.0"
|
||||
"task_3" "TurnLeft 179"
|
||||
"task_4" "Wait 1.0"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
"fail_onCanRangedAttack1" "1"
|
||||
"fail_onCanRangedAttack2" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"CanRangedAttack1" "PerformSchedule hgrunt_rangedAttack1A"
|
||||
"CanRangedAttack2" "PerformSchedule hgrunt_rangedAttack2"
|
||||
"Damage" "ChangeMindset defense"
|
||||
}
|
12
zpak001.pk3dir/decls/schedules/hgrunt_takeCover.decl
Normal file
12
zpak001.pk3dir/decls/schedules/hgrunt_takeCover.decl
Normal file
|
@ -0,0 +1,12 @@
|
|||
typeInfo hgrunt_takeCover
|
||||
{
|
||||
"task_1" "SetFailSchedule hgrunt_rangedAttack1A"
|
||||
"task_2" "StopMovement"
|
||||
"task_3" "Wait 0.2"
|
||||
"task_4" "FindCoverFromEnemy"
|
||||
"task_5" "SpeakSentence !HG_COVER"
|
||||
"task_6" "RunToTarget"
|
||||
"task_7" "WaitForMovement"
|
||||
"task_8" "Remember inCover"
|
||||
"task_9" "PerformSchedule hgrunt_waitInCover"
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
typeInfo hgrunt_takeCoverFromBestSound
|
||||
{
|
||||
"task_1" "SetFailScheduke cower"
|
||||
"task_2" "StopMovement"
|
||||
"task_3" "FindCoverFromBestSound"
|
||||
"task_4" "RunToTarget"
|
||||
"task_5" "WaitForMovement"
|
||||
"task_6" "Rememeber inCover"
|
||||
"task_7" "TurnLeft 179"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
typeInfo hgrunt_tossGrenadeCover
|
||||
{
|
||||
"task_1" "TurnToEnemy"
|
||||
"task_2" "AttackRanged2"
|
||||
"task_3" "PerformSchedule hgrunt_takeCover"
|
||||
}
|
11
zpak001.pk3dir/decls/schedules/hgrunt_victoryDance.decl
Normal file
11
zpak001.pk3dir/decls/schedules/hgrunt_victoryDance.decl
Normal file
|
@ -0,0 +1,11 @@
|
|||
typeInfo hgrunt_victoryDance
|
||||
{
|
||||
"task_1" "StopMovement"
|
||||
"task_2" "TurnToEnemy"
|
||||
"task_3" "Wait 1.5"
|
||||
"task_4" "TargetEnemy"
|
||||
"task_5" "WalkToTarget"
|
||||
"task_6" "PlayActivity victoryDance"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onDamage" "1"
|
||||
}
|
15
zpak001.pk3dir/decls/schedules/hgrunt_waitInCover.decl
Normal file
15
zpak001.pk3dir/decls/schedules/hgrunt_waitInCover.decl
Normal file
|
@ -0,0 +1,15 @@
|
|||
typeInfo hgrunt_waitInCover
|
||||
{
|
||||
"task_1" "SetFailSchedule hgrunt_takeCover"
|
||||
"task_2" "StopMovement"
|
||||
"task_3" "PlayActivity idle"
|
||||
"task_4" "WaitFacingEnemy"
|
||||
"fail_onNewEnemy" "1"
|
||||
"fail_onAlertSound" "1"
|
||||
"fail_onCanRangedAttack1" "1"
|
||||
"fail_onCanRangedAttack2" "1"
|
||||
"fail_onCanMeleeAttack1" "1"
|
||||
"fail_onCanMeleeAttack2" "1"
|
||||
"CanRangedAttack1" "PerformSchedule hgrunt_rangedAttack1A"
|
||||
"CanRangedAttack2" "PerformSchedule hgrunt_rangedAttack2"
|
||||
}
|
|
@ -8,6 +8,11 @@ ammo.respawn
|
|||
sample items/suitchargeok1.wav
|
||||
}
|
||||
|
||||
item.longjump
|
||||
{
|
||||
sample items/gunpickup2.wav
|
||||
}
|
||||
|
||||
item.airtank
|
||||
{
|
||||
sample items/airtank1.wav
|
||||
|
@ -43,11 +48,6 @@ item.respawn
|
|||
sample items/suitchargeok1.wav
|
||||
}
|
||||
|
||||
weapon.pickup
|
||||
{
|
||||
sample items/gunpickup2.wav
|
||||
}
|
||||
|
||||
item_weaponbox.Pickup
|
||||
{
|
||||
sample items/gunpickup2.wav
|
||||
|
|
|
@ -283,7 +283,6 @@ BigMomma.FootstepRight
|
|||
|
||||
Bullsquid.Growl
|
||||
{
|
||||
sample bullchicken/bc_attackgrowl1.wav
|
||||
sample bullchicken/bc_attackgrowl2.wav
|
||||
sample bullchicken/bc_attackgrowl3.wav
|
||||
}
|
||||
|
|
|
@ -119,3 +119,9 @@ Player.Swim
|
|||
sample player/pl_swim3.wav
|
||||
sample player/pl_swim4.wav
|
||||
}
|
||||
|
||||
Player.PickupWeapon
|
||||
{
|
||||
sample items/gunpickup2.wav
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,6 @@ set maxplayers "8"
|
|||
set con_color "255 150 0"
|
||||
set vgui_color "255 170 0"
|
||||
set cross_color "0 255 0"
|
||||
|
||||
set r_menutint "0.157 0.094 0.0"
|
||||
set con_textfont "CONCHARS?fmt=hl"
|
||||
set con_textsize "-12"
|
||||
|
|
0
zpak001.pk3dir/fonts/subtitle.font
Normal file
0
zpak001.pk3dir/fonts/subtitle.font
Normal file
0
zpak001.pk3dir/fonts/title.font
Normal file
0
zpak001.pk3dir/fonts/title.font
Normal file
BIN
zpak001.pk3dir/models/error.vvm
Normal file
BIN
zpak001.pk3dir/models/error.vvm
Normal file
Binary file not shown.
15
zpak001.pk3dir/scripts/wireframe.shader
Normal file
15
zpak001.pk3dir/scripts/wireframe.shader
Normal file
|
@ -0,0 +1,15 @@
|
|||
// Overriding this material
|
||||
// so that r_wireframe being
|
||||
// 2 means that we'll have an overlay
|
||||
// of triangle lines instead of
|
||||
// wall hacks
|
||||
wireframe
|
||||
{
|
||||
program wireframe
|
||||
|
||||
{
|
||||
if r_wireframe == 1
|
||||
nodepthtest
|
||||
endif
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue