From: Mario Date: Sat, 13 Apr 2013 13:35:19 +0000 (+1000) Subject: Fix choppy monster movement X-Git-Tag: xonotic-v0.8.0~241^2^2~413 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2321accc9235386183e0621de2f9527362a6375c;p=xonotic%2Fxonotic-data.pk3dir.git Fix choppy monster movement --- diff --git a/monsters.cfg b/monsters.cfg index 2822f108b..efef254c4 100644 --- a/monsters.cfg +++ b/monsters.cfg @@ -1,6 +1,6 @@ // Misc set g_monsters 1 "Enable monsters (master switch)" -set g_monsters_think_delay 0.05 "Delay between monster think frames" +set g_monsters_think_delay 0.1 "Delay between monster think frames" set g_monsters_skill 1 "Monster skill (affecting some of their attributes). 1 - easy, 2 - medium, 3 - hard, 4 - insane, 5 - nightmare" set g_monsters_miniboss_chance 5 set g_monsters_miniboss_healthboost 100 diff --git a/qcsrc/client/monsters.qc b/qcsrc/client/monsters.qc index 6dd5657fe..80f1b991a 100644 --- a/qcsrc/client/monsters.qc +++ b/qcsrc/client/monsters.qc @@ -262,6 +262,21 @@ void monster_changeteam() self.colormap = 1024 + (self.team - 1) * 17; } +void monster_draw() +{ + float dt; + + dt = time - self.move_time; + self.move_time = time; + if(dt <= 0) + return; + + fixedmakevectors(self.angles); + movelib_groundalign4point(300, 100, 0.25, 45); + setorigin(self, self.origin + self.velocity * dt); + self.angles_y = self.move_angles_y; +} + void monster_construct() { monster_mid2info(self.monsterid); @@ -279,6 +294,7 @@ void monster_construct() self.move_time = time; self.drawmask = MASK_NORMAL; self.alpha = 1; + self.draw = monster_draw; } void ent_monster() diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index 4af941e5c..96cebcd21 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -636,8 +636,7 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_ self.checkattack(); self.SendFlags |= MSF_ANG; - if(vlen(self.velocity) > 0) - self.SendFlags |= MSF_MOVE; + self.SendFlags |= MSF_MOVE; } void monsters_setstatus()