]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Enable fraglimit & fix players blocking monster paths
authorMario <mario.mario@y7mail.com>
Sat, 18 May 2013 07:21:24 +0000 (17:21 +1000)
committerMario <mario.mario@y7mail.com>
Sat, 18 May 2013 07:21:24 +0000 (17:21 +1000)
qcsrc/common/mapinfo.qh
qcsrc/server/mutators/gamemode_towerdefense.qc
qcsrc/server/teamplay.qc

index 3eda45e76b01cd0bae373c9133c570639af3b4d5..fdfc5eabd2bcfb1992a68a0c8cb32a33e7fd57d7 100644 (file)
@@ -39,7 +39,7 @@ REGISTER_GAMETYPE(_("Deathmatch"),dm,g_dm,DEATHMATCH,"timelimit=20 pointlimit=30
 REGISTER_GAMETYPE(_("Last Man Standing"),lms,g_lms,LMS,"timelimit=20 lives=9 leadlimit=0")
 #define g_lms IS_GAMETYPE(LMS)
 
-REGISTER_GAMETYPE(_("Tower Defense"),td,g_td,TD,"timelimit=0 pointlimit=10 leadlimit=0")
+REGISTER_GAMETYPE(_("Tower Defense"),td,g_td,TD,"timelimit=0 pointlimit=1 leadlimit=0")
 #define g_td IS_GAMETYPE(TD)
 
 REGISTER_GAMETYPE(_("Arena"),arena,g_arena,ARENA,"timelimit=20 pointlimit=10 leadlimit=0")
index d10b821c67290678ef323acb4013af2fac4a3972..29f316f13cb6d94cbd73470c9b72595fedad72a6 100644 (file)
@@ -545,7 +545,7 @@ MUTATOR_HOOKFUNCTION(td_MonsterSpawn)
        self.bot_attack = FALSE;
        self.ammo_fuel = bound(20, 20 * self.level, 100);
        self.target_range = 300;
-       self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_CORPSE | DPCONTENTS_MONSTERCLIP;
+       self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_BOTCLIP | DPCONTENTS_MONSTERCLIP;
        
        return FALSE;
 }
@@ -590,9 +590,16 @@ MUTATOR_HOOKFUNCTION(td_MonsterThink)
                
        if(IS_PLAYER(self.enemy))
                self.enemy = world;
+               
+       float tr = 100;
+       
+       if not(self.enemy)
+       if(monster_target.flags & FL_GENERATOR)
+       if(monster_target.health <= 0)
+               tr = 250;
 
        if not(self.enemy) // don't change targets while attacking
-       if(vlen(monster_target.origin - self.origin) <= 100)
+       if(vlen(monster_target.origin - self.origin) <= tr)
        {
                if(monster_target.target2)
                {
@@ -648,6 +655,7 @@ MUTATOR_HOOKFUNCTION(td_PlayerSpawn)
 {
        self.monster_attack = FALSE;
        self.bot_attack = FALSE;
+       self.solid = SOLID_CORPSE;
        
        if(self.newfuel)
        {
index 6c9f64bcb8d31ed7b6ac35fd093ff0612b024f01..ba8cdee26fc56b38e1406d29ef17b7690340bbf2 100644 (file)
@@ -109,8 +109,7 @@ void InitGameplayMode()
        if(g_td)
        {
                ActivateTeamplay();
-               fraglimit_override = 0; // not supported by TD
-               leadlimit_override = 0;
+               leadlimit_override = 0; // not supported by TD
                timelimit_override = 0;
                MUTATOR_ADD(gamemode_towerdefense);
        }