From acc2be466c4dd8beaf3bb3c9366b3539cad71bd5 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Mon, 30 Mar 2020 11:11:21 +0200 Subject: [PATCH] Gearbox: Added monster_recruit, monster_drillsergeant --- src/server/gearbox/monster_drillsergeant.cpp | 93 ++++++++++++++++++++ src/server/gearbox/monster_recruit.cpp | 79 +++++++++++++++++ src/server/gearbox/progs.src | 3 + 3 files changed, 175 insertions(+) create mode 100644 src/server/gearbox/monster_drillsergeant.cpp create mode 100644 src/server/gearbox/monster_recruit.cpp diff --git a/src/server/gearbox/monster_drillsergeant.cpp b/src/server/gearbox/monster_drillsergeant.cpp new file mode 100644 index 00000000..c273c445 --- /dev/null +++ b/src/server/gearbox/monster_drillsergeant.cpp @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2016-2019 Marco Hladik + * + * 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. + */ + +/*QUAKED monster_drillsergeant (0 0.8 0.8) (-16 -16 0) (16 16 72) + +Drill Sergeant + +Opposing Force Boot-Camp Training + +*/ + +enum +{ + DRILL_IDLE1, + DRILL_IDLE2, + DRILL_IDLE3, + DRILL_WALK, + DRILL_RUN, + DRILL_TURNLEFT, + DRILL_TURNRIGHT, + DRILL_FLINCH, + DRILL_DIESIMPLE, + DRILL_DIEBACKWARD, + DRILL_DIEFORWARD, + DRILL_DEADONSIDE, + DRILL_DEADONSTOMACH, + DRILL_HANDSONHIPS, + DRILL_POINT1, + DRILL_POINT2, + DRILL_BARK, + DRILL_YELLHARD, + DRILL_BARKHARD, + DRILL_WHISTLE, + DRILL_BINOCULARS +}; + +class monster_drillsergeant:CBaseNPC +{ + void() monster_drillsergeant; + virtual void() Respawn; + virtual int() AnimIdle; + virtual int() AnimWalk; + virtual int() AnimRun; +}; + +int +monster_drillsergeant::AnimIdle(void) +{ + return DRILL_IDLE1; +} + +int +monster_drillsergeant::AnimWalk(void) +{ + return DRILL_WALK; +} + +int +monster_drillsergeant::AnimRun(void) +{ + return DRILL_RUN; +} + +void +monster_drillsergeant::Respawn(void) +{ + CBaseNPC::Respawn(); + takedamage = DAMAGE_NO; + iBleeds = FALSE; +} + +void +monster_drillsergeant::monster_drillsergeant(void) +{ + netname = "Drill Sergeant"; + model = "models/drill.mdl"; + base_mins = [-16,-16,0]; + base_maxs = [16,16,72]; + CBaseNPC::CBaseNPC(); +} diff --git a/src/server/gearbox/monster_recruit.cpp b/src/server/gearbox/monster_recruit.cpp new file mode 100644 index 00000000..925b21ff --- /dev/null +++ b/src/server/gearbox/monster_recruit.cpp @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2016-2019 Marco Hladik + * + * 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. + */ + +/*QUAKED monster_recruit (0 0.8 0.8) (-16 -16 0) (16 16 72) + +Recruit + +Opposing Force Boot-Camp Training + +*/ + +enum { + RECRUIT_IDLE, + RECRUIT_WALK, + RECRUIT_RUN, + RECRUIT_TURNLEFT, + RECRUIT_TURNRIGHT, + RECRUIT_PUSHUPS, + RECRUIT_JUMPINJACK, + RECRUIT_SALUTE +}; + +class monster_recruit:CBaseNPC +{ + void() monster_recruit; + virtual void() Respawn; + virtual int() AnimIdle; + virtual int() AnimWalk; + virtual int() AnimRun; +}; + +int +monster_recruit::AnimIdle(void) +{ + return RECRUIT_IDLE; +} + +int +monster_recruit::AnimWalk(void) +{ + return RECRUIT_WALK; +} + +int +monster_recruit::AnimRun(void) +{ + return RECRUIT_RUN; +} + +void +monster_recruit::Respawn(void) +{ + CBaseNPC::Respawn(); + takedamage = DAMAGE_NO; + iBleeds = FALSE; +} + +void +monster_recruit::monster_recruit(void) +{ + netname = "Recruit"; + model = "models/recruit.mdl"; + base_mins = [-16,-16,0]; + base_maxs = [16,16,72]; + CBaseNPC::CBaseNPC(); +} diff --git a/src/server/gearbox/progs.src b/src/server/gearbox/progs.src index 4c1c240e..db67d18f 100755 --- a/src/server/gearbox/progs.src +++ b/src/server/gearbox/progs.src @@ -57,6 +57,9 @@ ../valve/monster_turret.cpp ../valve/monster_zombie.cpp +../gearbox/monster_drillsergeant.cpp +../gearbox/monster_recruit.cpp + ../../shared/decals.c ../../shared/effects.c ../../shared/spraylogo.cpp