]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/monsters/sv_monsters.qc
Reset spider slowness on respawn
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / monsters / sv_monsters.qc
index cf651842a667ef66e1471ab5532f1382ba1166cf..f75987ee02b53b4d1021f9a9645f7eaa7f67c29d 100644 (file)
@@ -104,7 +104,7 @@ float monster_isvalidtarget (entity targ, entity ent)
        if(SAME_TEAM(targ, ent))
                return FALSE; // enemy is on our team
                
-       if (targ.frozen == 1 || (targ.frozen == 2 && ent.monsterid != MON_SPIDER))
+       if (targ.frozen)
                return FALSE; // ignore frozen
 
        if(autocvar_g_monsters_target_infront || ent.spawnflags & MONSTERFLAG_INFRONT)
@@ -605,6 +605,12 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_
        targ = monster_target;
        runspeed = bound(0, monster_speed_run * Monster_SkillModifier(), runspeed * 2); // limit maxspeed to prevent craziness
        walkspeed = bound(0, monster_speed_walk * Monster_SkillModifier(), walkspeed * 2); // limit maxspeed to prevent craziness
+       
+       if(time < self.spider_slowness)
+       {
+               runspeed *= 0.5;
+               walkspeed *= 0.5;
+       }
 
        if(teamplay)
        if(autocvar_g_monsters_teams)
@@ -637,7 +643,7 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_
                self.moveto = monster_pickmovetarget(targ);
 
        if not(self.enemy)
-               MonsterSound(monstersound_idle, 5, TRUE, CH_VOICE);
+               MonsterSound(monstersound_idle, 7, TRUE, CH_VOICE);
 
        if(self.state != MONSTER_STATE_ATTACK_LEAP && self.state != MONSTER_STATE_ATTACK_MELEE)
                self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
@@ -928,7 +934,7 @@ void monster_setupcolors()
        if(IS_PLAYER(self.monster_owner))
                self.colormap = self.monster_owner.colormap;
        else if(teamplay && self.team)
-               self.colormap = 1024 + self.team * 17;
+               self.colormap = 1024 + (self.team - 1) * 17;
        else
        {
                if(self.monster_skill <= MONSTER_SKILL_EASY)
@@ -1060,6 +1066,7 @@ float monster_initialize(float mon_id, float nodrop)
        self.scale                              = 1;
        self.noalign                    = nodrop;
        self.spawn_time                 = time;
+       self.spider_slowness    = 0;
        self.gravity                    = 1;
        self.dphitcontentsmask  = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP;