]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
no ready restart counter in ca, fix bot behaviour when warmup is enabled in ca, new...
authorFruitieX <rasse@rasse-laptop.(none)>
Sat, 23 Oct 2010 14:24:30 +0000 (17:24 +0300)
committerFruitieX <rasse@rasse-laptop.(none)>
Sat, 23 Oct 2010 14:24:30 +0000 (17:24 +0300)
defaultXonotic.cfg
qcsrc/server/arena.qc
qcsrc/server/cl_client.qc
qcsrc/server/clientcommands.qc
qcsrc/server/g_damage.qc

index e9cd073be1b929be1b1a8b8dfaa41d4c79f126d7..49c8483a198940e784f85248a06d722a23a5fde5 100644 (file)
@@ -615,6 +615,7 @@ set g_arena_respawn_delay 0
 set g_arena_respawn_waves 0
 set g_ca_respawn_delay 0
 set g_ca_respawn_waves 0
+set g_ca_damage2score_multiplier 0.1
 set g_nexball_respawn_delay 0
 set g_nexball_respawn_waves 0
 set g_as_respawn_delay 0
index ee4ce1b87ed9388ca2bf376f98a437866ef21bc3..0c9d769e4c9973ab471d3d65b0b28253b10fabf4 100644 (file)
@@ -122,10 +122,14 @@ void reset_map(float dorespawn)
        if(g_keyhunt)
                kh_Controller_SetThink(cvar("g_balance_keyhunt_delay_round")+(game_starttime - time), "", kh_StartRound);
 
-       if(g_arena || g_ca)
+       if(g_arena)
        if(champion && champion.classname == "player" && player_count > 1)
                UpdateFrags(champion, +1);
 
+       if(g_ca)
+       if(champion && champion.classname == "player" && player_count > 1)
+               TeamScore_AddToTeam(champion.team, SP_SCORE, 1);
+
        self = oldself;
 }
 
@@ -199,7 +203,7 @@ void Arena_Warmup()
 
        allowed_to_spawn = 0;
 
-       if(g_ca && (ca_players < required_ca_players || inWarmupStage))
+       if(inWarmupStage)
                allowed_to_spawn = 1;
 
        msg = NEWLINES;
index df6c8d4b2a3f41e0793e271d8aae9a9b54512692..bb2b753b84369a3d87907d307885b0e44b94bcbf 100644 (file)
@@ -1305,7 +1305,12 @@ void ClientKill_TeamChange (float targetteam) // 0 = don't change, -1 = auto
 
 void ClientKill (void)
 {
-       ClientKill_TeamChange(0);
+       if((g_arena || g_ca) && ((champion && champion.classname == "player" && player_count > 1) || player_count == 1)) // don't allow a kill in this case either
+       {
+               // do nothing
+       }
+       else
+               ClientKill_TeamChange(0);
 }
 
 void DoTeamChange(float destteam)
index a9fd886bfe9c331e34b7651faf4c4bca063703c5..b705e9c09ce18a1877a3e9889e2130c06a53daa9 100644 (file)
@@ -430,7 +430,7 @@ void ReadyRestartForce()
 
        readyrestart_happened = 1;
        game_starttime = time;
-       if(!g_ca)
+       if(!g_ca && !g_arena)
                game_starttime += RESTART_COUNTDOWN;
        restart_mapalreadyrestarted = 0; //reset this var, needed when cvar sv_ready_restart_repeatable is in use
 
@@ -448,7 +448,7 @@ void ReadyRestartForce()
        }
 
        //initiate the restart-countdown-announcer entity
-       if(cvar("sv_ready_restart_after_countdown"))
+       if(cvar("sv_ready_restart_after_countdown") && !g_ca && !g_arena)
        {
                restartTimer = spawn();
                restartTimer.think = restartTimer_Think;
index 6a636a16befb63f50b5ea94169e1ccc81ac97fff..e4dc77d219b5530beead3ffce2fca1821d9a2620 100644 (file)
@@ -756,6 +756,8 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                                                        if(deathtype & HITTYPE_HEADSHOT)
                                                                headshot = 1;
                                                }
+                                               if(g_ca)
+                                                       PlayerScore_Add(attacker, SP_SCORE, damage * cvar("g_ca_damage2score_multiplier"));
                                        }
                                }
                                else