From: Mario Date: Mon, 11 Feb 2013 21:08:00 +0000 (+1100) Subject: Replace enforcer model with e-wheel X-Git-Tag: xonotic-v0.8.0~241^2^2~518 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=458422c0e9026cc3b8ea5e3b5e062d4bc82d40a7;p=xonotic%2Fxonotic-data.pk3dir.git Replace enforcer model with e-wheel --- diff --git a/models/monsters/enforcer.mdl b/models/monsters/enforcer.mdl deleted file mode 100644 index b52fe4f65..000000000 Binary files a/models/monsters/enforcer.mdl and /dev/null differ diff --git a/models/monsters/enforcer.mdl.framegroups b/models/monsters/enforcer.mdl.framegroups deleted file mode 100644 index b767b2bf8..000000000 --- a/models/monsters/enforcer.mdl.framegroups +++ /dev/null @@ -1 +0,0 @@ -1 6 10 1 // enforcer stand 8 15 10 1 // enforcer walk 24 7 10 1 // enforcer run 32 9 10 1 // enforcer attack 42 13 10 0 // enforcer death1 56 10 10 0 // enforcer death2 67 3 10 0 // enforcer pain1 71 4 10 0 // enforcer pain2 76 7 10 0 // enforcer pain3 84 18 10 0 // enforcer pain4 \ No newline at end of file diff --git a/models/monsters/enforcer.txt b/models/monsters/enforcer.txt deleted file mode 100644 index 6a85459a2..000000000 --- a/models/monsters/enforcer.txt +++ /dev/null @@ -1,28 +0,0 @@ -Enforcer - -Copyright (C) 2004 Greg Mapes - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -7-7-04 -First Release: - -Greg Mapes - -7-11-04 - -The gun was a bit long and stuck through a lot of walls and other surfaces when it died, so it got revised. - -Greg Mapes diff --git a/qcsrc/server/monsters/monster/demon.qc b/qcsrc/server/monsters/monster/demon.qc index 6bff2017c..44c5990ac 100644 --- a/qcsrc/server/monsters/monster/demon.qc +++ b/qcsrc/server/monsters/monster/demon.qc @@ -104,11 +104,7 @@ void demon_spawn () /* QUAKED monster_demon (1 0 0) (-32 -32 -24) (32 32 64) Ambush */ void spawnfunc_monster_demon () { - if not(autocvar_g_monster_demon) - { - remove(self); - return; - } + if not(autocvar_g_monster_demon) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_demon; diff --git a/qcsrc/server/monsters/monster/dog.qc b/qcsrc/server/monsters/monster/dog.qc index a79c443e2..c8cbc6160 100644 --- a/qcsrc/server/monsters/monster/dog.qc +++ b/qcsrc/server/monsters/monster/dog.qc @@ -98,11 +98,7 @@ void dog_spawn () void spawnfunc_monster_dog () { - if not(autocvar_g_monster_dog) - { - remove(self); - return; - } + if not(autocvar_g_monster_dog) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_dog; diff --git a/qcsrc/server/monsters/monster/enforcer.qc b/qcsrc/server/monsters/monster/enforcer.qc index b370e402e..01f5fff04 100644 --- a/qcsrc/server/monsters/monster/enforcer.qc +++ b/qcsrc/server/monsters/monster/enforcer.qc @@ -1,6 +1,6 @@ // size -const vector ENFORCER_MIN = '-16 -16 -24'; -const vector ENFORCER_MAX = '16 16 24'; +const vector ENFORCER_MIN = '-32 -32 0'; +const vector ENFORCER_MAX = '32 32 64'; // cvars float autocvar_g_monster_enforcer; @@ -10,16 +10,11 @@ float autocvar_g_monster_enforcer_speed_run; float autocvar_g_monster_enforcer_attack_uzi_bullets; // animations -#define enforcer_anim_stand 0 +#define enforcer_anim_stop 0 #define enforcer_anim_walk 1 #define enforcer_anim_run 2 -#define enforcer_anim_attack 3 -#define enforcer_anim_death1 4 -#define enforcer_anim_death2 5 -#define enforcer_anim_pain1 6 -#define enforcer_anim_pain2 7 -#define enforcer_anim_pain3 8 -#define enforcer_anim_pain4 9 +#define enforcer_anim_walkback 3 +#define enforcer_anim_runback 4 void enforcer_think () { @@ -29,15 +24,11 @@ void enforcer_think () if(self.delay != -1) self.nextthink = self.delay; - if(time < self.attack_finished_single) - monster_move(0, 0, 0, enforcer_anim_attack, enforcer_anim_attack, enforcer_anim_attack); - else - monster_move(autocvar_g_monster_enforcer_speed_run, autocvar_g_monster_enforcer_speed_walk, 100, enforcer_anim_run, enforcer_anim_walk, enforcer_anim_stand); + monster_move(autocvar_g_monster_enforcer_speed_run, autocvar_g_monster_enforcer_speed_walk, 100, enforcer_anim_run, enforcer_anim_walk, enforcer_anim_stop); } void enforcer_laser () { - self.frame = enforcer_anim_attack; self.attack_finished_single = time + 0.8; W_Laser_Attack(0); } @@ -50,7 +41,6 @@ float enf_missile_laser () void enforcer_shotgun () { - self.frame = enforcer_anim_attack; self.attack_finished_single = time + 0.8; W_Shotgun_Attack(); } @@ -79,7 +69,6 @@ void enforcer_uzi_fire () void enforcer_uzi () { - self.frame = enforcer_anim_attack; self.attack_finished_single = time + 0.8; self.delay = time + 0.1; self.monster_delayedattack = enforcer_uzi_fire; @@ -94,7 +83,6 @@ float enf_missile_uzi () void enforcer_rl () { - self.frame = enforcer_anim_attack; self.attack_finished_single = time + 0.8; W_Rocket_Attack(); } @@ -107,7 +95,6 @@ float enf_missile_rocket () void enforcer_electro () { - self.frame = enforcer_anim_attack; self.attack_finished_single = time + 0.8; W_Electro_Attack(); } @@ -131,6 +118,9 @@ void enforcer_die () self.nextthink = time + 2.1; self.pain_finished = self.nextthink; + remove(self.weaponentity); + self.weaponentity = world; + if (self.attack_ranged == enf_missile_rocket) W_ThrowNewWeapon(self, WEP_ROCKET_LAUNCHER, 0, self.origin, self.velocity); else if (self.attack_ranged == enf_missile_plasma) @@ -142,10 +132,7 @@ void enforcer_die () else W_ThrowNewWeapon(self, WEP_LASER, 0, self.origin, self.velocity); - if (random() > 0.5) - self.frame = enforcer_anim_death1; - else - self.frame = enforcer_anim_death2; + self.frame = enforcer_anim_stop; monster_hook_death(); // for post-death mods } @@ -161,7 +148,15 @@ void enforcer_spawn () self.nextthink = time + random() * 0.5 + 0.1; self.think = enforcer_think; self.items = (IT_SHELLS | IT_ROCKETS | IT_NAILS | IT_CELLS); - self.sprite_height = 30 * self.scale; + self.sprite_height = 45 * self.scale; + + self.weaponentity = spawn(); + self.weaponentity.owner = self; + self.weaponentity.team = self.team; + self.weaponentity.owner = self.weaponentity.realowner = self; + self.weaponentity.movetype = MOVETYPE_NOCLIP; + setmodel(self.weaponentity, "models/turrets/ewheel-gun1.md3"); + setattachment(self.weaponentity, self, "tag_head"); local float r = random(); if (r < 0.20) @@ -180,11 +175,7 @@ void enforcer_spawn () void spawnfunc_monster_enforcer () { - if not(autocvar_g_monster_enforcer) - { - remove(self); - return; - } + if not(autocvar_g_monster_enforcer) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_enforcer; @@ -196,11 +187,9 @@ void spawnfunc_monster_enforcer () return; } - self.scale = 1.3; - if not (monster_initialize( "Enforcer", - "models/monsters/enforcer.mdl", + "models/turrets/ewheel-base2.md3", ENFORCER_MIN, ENFORCER_MAX, FALSE, enforcer_die, enforcer_spawn)) diff --git a/qcsrc/server/monsters/monster/fish.qc b/qcsrc/server/monsters/monster/fish.qc index f40272266..0e6fe9e75 100644 --- a/qcsrc/server/monsters/monster/fish.qc +++ b/qcsrc/server/monsters/monster/fish.qc @@ -68,11 +68,7 @@ void fish_spawn () void spawnfunc_monster_fish () { - if not(autocvar_g_monster_fish) - { - remove(self); - return; - } + if not(autocvar_g_monster_fish) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_fish; diff --git a/qcsrc/server/monsters/monster/hknight.qc b/qcsrc/server/monsters/monster/hknight.qc index 46c652af5..ad4bfab44 100644 --- a/qcsrc/server/monsters/monster/hknight.qc +++ b/qcsrc/server/monsters/monster/hknight.qc @@ -439,11 +439,7 @@ void hellknight_spawn () void spawnfunc_monster_hell_knight () { - if not(autocvar_g_monster_hellknight) - { - remove(self); - return; - } + if not(autocvar_g_monster_hellknight) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_hell_knight; diff --git a/qcsrc/server/monsters/monster/knight.qc b/qcsrc/server/monsters/monster/knight.qc index 67ef1576b..48026e621 100644 --- a/qcsrc/server/monsters/monster/knight.qc +++ b/qcsrc/server/monsters/monster/knight.qc @@ -77,11 +77,7 @@ void knight_spawn () void spawnfunc_monster_knight () { - if not(autocvar_g_monster_knight) - { - remove(self); - return; - } + if not(autocvar_g_monster_knight) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_knight; diff --git a/qcsrc/server/monsters/monster/ogre.qc b/qcsrc/server/monsters/monster/ogre.qc index 2331dd9f4..3775fc20f 100644 --- a/qcsrc/server/monsters/monster/ogre.qc +++ b/qcsrc/server/monsters/monster/ogre.qc @@ -180,11 +180,7 @@ void ogre_spawn () void spawnfunc_monster_ogre () { - if not(autocvar_g_monster_ogre) - { - remove(self); - return; - } + if not(autocvar_g_monster_ogre) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_ogre; diff --git a/qcsrc/server/monsters/monster/shalrath.qc b/qcsrc/server/monsters/monster/shalrath.qc index caa96b73a..86c5b0d30 100644 --- a/qcsrc/server/monsters/monster/shalrath.qc +++ b/qcsrc/server/monsters/monster/shalrath.qc @@ -208,11 +208,7 @@ void shalrath_spawn () void spawnfunc_monster_shalrath () { - if not(autocvar_g_monster_shalrath) - { - remove(self); - return; - } + if not(autocvar_g_monster_shalrath) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_shalrath; diff --git a/qcsrc/server/monsters/monster/shambler.qc b/qcsrc/server/monsters/monster/shambler.qc index 569462867..102b40be6 100644 --- a/qcsrc/server/monsters/monster/shambler.qc +++ b/qcsrc/server/monsters/monster/shambler.qc @@ -173,11 +173,7 @@ void shambler_spawn () void spawnfunc_monster_shambler () { - if not(autocvar_g_monster_shambler) - { - remove(self); - return; - } + if not(autocvar_g_monster_shambler) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_shambler; diff --git a/qcsrc/server/monsters/monster/soldier.qc b/qcsrc/server/monsters/monster/soldier.qc index a5bea6d93..249f0e6c3 100644 --- a/qcsrc/server/monsters/monster/soldier.qc +++ b/qcsrc/server/monsters/monster/soldier.qc @@ -297,7 +297,8 @@ void soldier_spawn () self.weaponentity = spawn(); self.weaponentity.movetype = MOVETYPE_NOCLIP; - self.weaponentity.owner = self; + self.weaponentity.team = self.team; + self.weaponentity.owner = self.weaponentity.realowner = self; setmodel(self.weaponentity, "models/weapons/v_seeker.md3"); setattachment(self.weaponentity, self, "bip01 r hand"); @@ -335,11 +336,7 @@ void soldier_spawn () void spawnfunc_monster_soldier () { - if not(autocvar_g_monster_soldier) - { - remove(self); - return; - } + if not(autocvar_g_monster_soldier) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_soldier; diff --git a/qcsrc/server/monsters/monster/spawner.qc b/qcsrc/server/monsters/monster/spawner.qc index f73085a17..76cc94f22 100644 --- a/qcsrc/server/monsters/monster/spawner.qc +++ b/qcsrc/server/monsters/monster/spawner.qc @@ -123,11 +123,7 @@ modeldisabled="models/containers/crate01.md3" */ void spawnfunc_monster_spawner() { - if not(autocvar_g_monster_spawner) - { - remove(self); - return; - } + if not(autocvar_g_monster_spawner) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_spawner; diff --git a/qcsrc/server/monsters/monster/spider.qc b/qcsrc/server/monsters/monster/spider.qc index 0db9fce36..af3864a11 100644 --- a/qcsrc/server/monsters/monster/spider.qc +++ b/qcsrc/server/monsters/monster/spider.qc @@ -209,11 +209,7 @@ modeldisabled="models/monsters/spider.dpm" */ void spawnfunc_monster_spider() { - if not(autocvar_g_monster_spider) - { - remove(self); - return; - } + if not(autocvar_g_monster_spider) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_spider; self.classname = "monster_spider"; diff --git a/qcsrc/server/monsters/monster/tarbaby.qc b/qcsrc/server/monsters/monster/tarbaby.qc index 25903b3ef..8da2de528 100644 --- a/qcsrc/server/monsters/monster/tarbaby.qc +++ b/qcsrc/server/monsters/monster/tarbaby.qc @@ -125,11 +125,7 @@ void tarbaby_spawn () void spawnfunc_monster_tarbaby () { - if not(autocvar_g_monster_tarbaby) - { - remove(self); - return; - } + if not(autocvar_g_monster_tarbaby) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_tarbaby; diff --git a/qcsrc/server/monsters/monster/wizard.qc b/qcsrc/server/monsters/monster/wizard.qc index 62a3be9e0..bdbcf3a36 100644 --- a/qcsrc/server/monsters/monster/wizard.qc +++ b/qcsrc/server/monsters/monster/wizard.qc @@ -147,11 +147,7 @@ void wizard_spawn () void spawnfunc_monster_wizard () { - if not(autocvar_g_monster_wizard) - { - remove(self); - return; - } + if not(autocvar_g_monster_wizard) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_wizard; diff --git a/qcsrc/server/monsters/monster/zombie.qc b/qcsrc/server/monsters/monster/zombie.qc index 939bf325c..7261141b1 100644 --- a/qcsrc/server/monsters/monster/zombie.qc +++ b/qcsrc/server/monsters/monster/zombie.qc @@ -187,11 +187,7 @@ modeldisabled="models/monsters/zombie.dpm" */ void spawnfunc_monster_zombie() { - if not(autocvar_g_monster_zombie) - { - remove(self); - return; - } + if not(autocvar_g_monster_zombie) { remove(self); return; } self.monster_spawnfunc = spawnfunc_monster_zombie;