]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Replace enforcer model with e-wheel
authorMario <mario.mario@y7mail.com>
Mon, 11 Feb 2013 21:08:00 +0000 (08:08 +1100)
committerMario <mario.mario@y7mail.com>
Mon, 11 Feb 2013 21:08:00 +0000 (08:08 +1100)
18 files changed:
models/monsters/enforcer.mdl [deleted file]
models/monsters/enforcer.mdl.framegroups [deleted file]
models/monsters/enforcer.txt [deleted file]
qcsrc/server/monsters/monster/demon.qc
qcsrc/server/monsters/monster/dog.qc
qcsrc/server/monsters/monster/enforcer.qc
qcsrc/server/monsters/monster/fish.qc
qcsrc/server/monsters/monster/hknight.qc
qcsrc/server/monsters/monster/knight.qc
qcsrc/server/monsters/monster/ogre.qc
qcsrc/server/monsters/monster/shalrath.qc
qcsrc/server/monsters/monster/shambler.qc
qcsrc/server/monsters/monster/soldier.qc
qcsrc/server/monsters/monster/spawner.qc
qcsrc/server/monsters/monster/spider.qc
qcsrc/server/monsters/monster/tarbaby.qc
qcsrc/server/monsters/monster/wizard.qc
qcsrc/server/monsters/monster/zombie.qc

diff --git a/models/monsters/enforcer.mdl b/models/monsters/enforcer.mdl
deleted file mode 100644 (file)
index b52fe4f..0000000
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 (file)
index b767b2b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-1 6 10 1 // enforcer stand\r8 15 10 1 // enforcer walk\r24 7 10 1 // enforcer run\r32 9 10 1 // enforcer attack\r42 13 10 0 // enforcer death1\r56 10 10 0 // enforcer death2\r67 3 10 0 // enforcer pain1\r71 4 10 0 // enforcer pain2\r76 7 10 0 // enforcer pain3\r84 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 (file)
index 6a85459..0000000
+++ /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
index 6bff2017c129d752291009484371534eff493570..44c5990ac7ef04d2cbdda3d6634e7c6c4943a11c 100644 (file)
@@ -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;
        
index a79c443e2ea44e4ea1d60d7ff6067f7b4f4dd0bd..c8cbc6160acea61c1171d19b14216b569232c988 100644 (file)
@@ -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;
        
index b370e402ee49549423e3fa56b0b884bc6c4d8879..01f5fff04240e840465061992b6d29013c2b6598 100644 (file)
@@ -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))
index f40272266a79a4f35f11d56022ae3b0d465a0f8b..0e6fe9e758f727b6e975eadffc9c40841ffeea81 100644 (file)
@@ -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;
        
index 46c652af57275fdf789de35666906d7af5e76032..ad4bfab44feb6764658e04dc06a98bb1ff6ace51 100644 (file)
@@ -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;
        
index 67ef1576b503edc127b2b186d0e0e98338795fc8..48026e621fff2decd856ceced06d2e08f4dd4499 100644 (file)
@@ -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;
        
index 2331dd9f4035a5b695096a915c567e1e2ab9b897..3775fc20f7086cabd2f91f9b460dca3b3f41b54e 100644 (file)
@@ -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;
        
index caa96b73afacf73338aa893fbfe9d5acd00435d9..86c5b0d30f8b67aa32b1a051875cd1d587f3bd09 100644 (file)
@@ -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;
        
index 5694628678570fb025a479f97d528ef7c228e70f..102b40be664ef8f7edd50b1c656ee29727eff96c 100644 (file)
@@ -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;
        
index a5bea6d9369cf5073729f981d4dfd42dcbdee871..249f0e6c328bd42870c2d4c08bf3fbc64a98b831 100644 (file)
@@ -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;
        
index f73085a17394391a05f60b148821809dfc530227..76cc94f22d0ab985e6ef6e74aca625ade8058bed 100644 (file)
@@ -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;
        
index 0db9fce3673e3c725c9fb7c7878f4023907067c5..af3864a119c86ea72518cb8462ca473a0a059980 100644 (file)
@@ -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";
index 25903b3ef73f7768373555c76a074343719314de..8da2de528164a991bd3849336a1ffe987638c101 100644 (file)
@@ -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;
        
index 62a3be9e0a889000a9ded01f07f837f772b944bc..bdbcf3a36a8b54a0d229ba60127861a8dd4312da 100644 (file)
@@ -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;
        
index 939bf325c6b26fb479ce04be7c96b4563732a9c6..7261141b1bf0186b6890a17ed18350f73ca59257 100644 (file)
@@ -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;