Annotation of quakeworld/progs/server.qc, revision 1.1.1.1

1.1       root        1: 
                      2: void() monster_ogre = {remove(self);};
                      3: void() monster_demon1 = {remove(self);};
                      4: void() monster_shambler = {remove(self);};
                      5: void() monster_knight = {remove(self);};
                      6: void() monster_army = {remove(self);};
                      7: void() monster_wizard = {remove(self);};
                      8: void() monster_dog = {remove(self);};
                      9: void() monster_zombie = {remove(self);};
                     10: void() monster_boss = {remove(self);};
                     11: void() monster_tarbaby = {remove(self);};
                     12: void() monster_hell_knight = {remove(self);};
                     13: void() monster_fish = {remove(self);};
                     14: void() monster_shalrath = {remove(self);};
                     15: void() monster_enforcer = {remove(self);};
                     16: void() monster_oldone = {remove(self);};
                     17: void() event_lightning = {remove(self);};
                     18: 
                     19: /*
                     20: ==============================================================================
                     21: 
                     22: MOVETARGET CODE
                     23: 
                     24: The angle of the movetarget effects standing and bowing direction, but has no effect on movement, which allways heads to the next target.
                     25: 
                     26: targetname
                     27: must be present.  The name of this movetarget.
                     28: 
                     29: target
                     30: the next spot to move to.  If not present, stop here for good.
                     31: 
                     32: pausetime
                     33: The number of seconds to spend standing or bowing for path_stand or path_bow
                     34: 
                     35: ==============================================================================
                     36: */
                     37: 
                     38: /*
                     39: =============
                     40: t_movetarget
                     41: 
                     42: Something has bumped into a movetarget.  If it is a monster
                     43: moving towards it, change the next destination and continue.
                     44: ==============
                     45: */
                     46: void() t_movetarget =
                     47: {
                     48: local entity    temp;
                     49: 
                     50:        if (other.movetarget != self)
                     51:                return;
                     52:        
                     53:        if (other.enemy)
                     54:                return;         // fighting, not following a path
                     55: 
                     56:        temp = self;
                     57:        self = other;
                     58:        other = temp;
                     59: 
                     60:        if (self.classname == "monster_ogre")
                     61:                sound (self, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound
                     62: 
                     63: //dprint ("t_movetarget\n");
                     64:        self.goalentity = self.movetarget = find (world, targetname, other.target);
                     65:        self.ideal_yaw = vectoyaw(self.goalentity.origin - self.origin);
                     66:        if (!self.movetarget)
                     67:        {
                     68:                self.pausetime = time + 999999;
                     69:                self.th_stand ();
                     70:                return;
                     71:        }
                     72: };
                     73: 
                     74: 
                     75: 
                     76: void() movetarget_f =
                     77: {
                     78:        if (!self.targetname)
                     79:                objerror ("monster_movetarget: no targetname");
                     80:                
                     81:        self.solid = SOLID_TRIGGER;
                     82:        self.touch = t_movetarget;
                     83:        setsize (self, '-8 -8 -8', '8 8 8');
                     84:        
                     85: };
                     86: 
                     87: /*QUAKED path_corner (0.5 0.3 0) (-8 -8 -8) (8 8 8)
                     88: Monsters will continue walking towards the next target corner.
                     89: */
                     90: void() path_corner =
                     91: {
                     92:        movetarget_f ();
                     93: };
                     94: 
                     95: 
                     96: 
                     97: //============================================================================

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.