X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fvehicles%2Fvehicles.qc;h=861f8ee4e8ff39c2f68621e52973a31e9a2ffdea;hb=55a58edd7283429a241ac242065b6d739f482aab;hp=f66c2b925278575cb08235a72394a572aab208de;hpb=7b772862f8e35704bd91da01be941ec25eb10e22;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index f66c2b925..861f8ee4e 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -2,7 +2,6 @@ float autocvar_g_vehicles_crush_dmg; float autocvar_g_vehicles_crush_force; float autocvar_g_vehicles_delayspawn; float autocvar_g_vehicles_delayspawn_jitter; -float autocvar_g_vehicles_allow_flagcarry; var float autocvar_g_vehicles_nex_damagerate = 0.5; var float autocvar_g_vehicles_uzi_damagerate = 0.5; @@ -472,6 +471,7 @@ void vehicles_spawn() self.touch = vehicles_touch; self.event_damage = vehicles_damage; self.iscreature = TRUE; + self.teleportable = FALSE; // no teleporting for vehicles, too buggy self.damagedbycontents = TRUE; self.movetype = MOVETYPE_WALK; self.solid = SOLID_SLIDEBOX; @@ -658,18 +658,12 @@ void vehicles_enter() vehicles_clearrturn(); CSQCVehicleSetup(self.owner, self.hud); - - if(other.flagcarried) - { - if(!autocvar_g_vehicles_allow_flagcarry) - DropFlag(other.flagcarried, world, world); - else - { - other.flagcarried.scale = 1; - setattachment(other.flagcarried, self, ""); - setorigin(other.flagcarried, self.maxs_z * '0 0 1'); - } - } + + vh_player = other; + vh_vehicle = self; + MUTATOR_CALLHOOK(VehicleEnter); + other = vh_player; + self = vh_vehicle; self.vehicle_enter(); antilag_clear(other); @@ -793,13 +787,6 @@ void vehicles_exit(float eject) _player.hud = HUD_NORMAL; _player.switchweapon = _vehicle.switchweapon; - if(_player.flagcarried) - { - _player.flagcarried.scale = 0.6; - setattachment(_player.flagcarried, _player, ""); - setorigin(_player.flagcarried, FLAG_CARRY_POS); - } - CSQCVehicleSetup(_player, HUD_NORMAL); } _vehicle.flags |= FL_NOTARGET; @@ -812,7 +799,14 @@ void vehicles_exit(float eject) if(!teamplay) _vehicle.team = 0; else - _vehicle.team = _vehicle.tur_head.team; + + vh_player = _player; + vh_vehicle = _vehicle; + MUTATOR_CALLHOOK(VehicleExit); + _player = vh_player; + _vehicle = vh_vehicle; + + _vehicle.team = _vehicle.tur_head.team; sound (_vehicle, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTN_NORM); _vehicle.vehicle_hudmodel.viewmodelforclient = _vehicle; @@ -1039,7 +1033,7 @@ void vehicles_showwp() } if(teamplay && self.team) - rgb = TeamColor(self.team); + rgb = Team_ColorRGB(self.team); else rgb = '1 1 1'; WaypointSprite_Spawn("vehicle", 0, 0, self, '0 0 64', world, 0, self, waypointsprite_attached, TRUE, RADARICON_POWERUP, rgb); @@ -1265,6 +1259,7 @@ float vehicle_initialize(string net_name, self.takedamage = DAMAGE_AIM; self.bot_attack = TRUE; self.iscreature = TRUE; + self.teleportable = FALSE; // no teleporting for vehicles, too buggy self.damagedbycontents = TRUE; self.hud = vhud; self.tur_health = _max_health; @@ -1410,4 +1405,4 @@ vector predict_target(entity _targ, vector _from, float _shot_speed) return _predict_pos; } -*/ \ No newline at end of file +*/