From: Jakob MG Date: Mon, 6 Jun 2011 20:27:31 +0000 (+0200) Subject: Support g_vehicles_delayspawn (makes vehciles spawn after their set respawntime at... X-Git-Tag: xonotic-v0.5.0~199^2~11^2~35 X-Git-Url: http://de.git.xonotic.org/?a=commitdiff_plain;h=d88aaf89d5bc44e3529b7317718825b6f02a505c;p=xonotic%2Fxonotic-data.pk3dir.git Support g_vehicles_delayspawn (makes vehciles spawn after their set respawntime at map load) and g_vehicles_delayspawn_jitter (to randomize this timer) --- diff --git a/qcsrc/server/vehicles/racer.qc b/qcsrc/server/vehicles/racer.qc index 2d74316af..34302074d 100644 --- a/qcsrc/server/vehicles/racer.qc +++ b/qcsrc/server/vehicles/racer.qc @@ -732,7 +732,7 @@ void spawnfunc_vehicle_racer() self.vehicle_flags |= VHF_HEALTHREGEN; self.think = racer_dinit; - self.nextthink = time + 1; + self.nextthink = time + (autocvar_g_vehicles_delayspawn ? autocvar_g_vehicle_racer_respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter) : 0.5); } #endif // SVQC diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index c700050ca..7188328ff 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -795,7 +795,7 @@ void spawnfunc_vehicle_raptor() precache_sound ("vehicles/raptor_speed.wav"); self.think = raptor_dinit; - self.nextthink = time + 1; + self.nextthink = time + (autocvar_g_vehicles_delayspawn ? autocvar_g_vehicle_raptor_respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter) : 0.5); } #endif // SVQC diff --git a/qcsrc/server/vehicles/spiderbot.qc b/qcsrc/server/vehicles/spiderbot.qc index f7910f7c7..693749c9b 100644 --- a/qcsrc/server/vehicles/spiderbot.qc +++ b/qcsrc/server/vehicles/spiderbot.qc @@ -681,9 +681,9 @@ void spawnfunc_vehicle_spiderbot() if(autocvar_g_vehicle_spiderbot_health_regen) self.vehicle_flags |= VHF_HEALTHREGEN; - - self.think = vewhicle_spiderbot_dinit; - self.nextthink = time + 0.5; + + self.think = vewhicle_spiderbot_dinit; + self.nextthink = time + (autocvar_g_vehicles_delayspawn ? autocvar_g_vehicle_spiderbot_respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter) : 0.5); } #endif // SVQC diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index ffac64b9c..5c7f4e593 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -1,6 +1,7 @@ float autocvar_g_vehicles_crush_dmg; float autocvar_g_vehicles_crush_force; float autocvar_g_vehicles_delayspawn; +float autocvar_g_vehicles_delayspawn_jitter; void vehicles_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force); void vehicles_return(); @@ -836,13 +837,8 @@ float vehicle_initialize(string net_name, self.PlayerPhysplug = physproc; self.event_damage = vehicles_damage; self.touch = vehicles_touch; - self.think = vehicles_spawn; - - if(autocvar_g_vehicles_delayspawn) - self.nextthink = time + _respawntime; - else - self.nextthink = time; - + self.think = vehicles_spawn; + self.nextthink = time; self.vehicle_respawntime = _respawntime; self.vehicle_spawn = spawnproc; diff --git a/vehicles.cfg b/vehicles.cfg index 3dca4bd70..4d0642928 100644 --- a/vehicles.cfg +++ b/vehicles.cfg @@ -15,3 +15,4 @@ set g_vehicles_crush_force 50 set cl_vehicles_hudscale 0.5 set g_vehicles_delayspawn 0 +set g_vehicles_delayspawn_jitter 10