Annotation of quakeworld/progs/server.qc, revision 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.