X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fvehicle%2Fbumblebee.qc;h=da21a4bcb42d5e599fc5fdf4aae1a4fbbb49b172;hb=6c27fe90b0454df3dbf7b098bc554fcb5eaa75d0;hp=f0519aa21573de0b151537b042b5d1cb82e278ba;hpb=bebef6b9a1c5d5d79cb9cf11180dbb6cda6fcd29;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/vehicles/vehicle/bumblebee.qc b/qcsrc/common/vehicles/vehicle/bumblebee.qc index f0519aa21..da21a4bcb 100644 --- a/qcsrc/common/vehicles/vehicle/bumblebee.qc +++ b/qcsrc/common/vehicles/vehicle/bumblebee.qc @@ -233,7 +233,7 @@ void bumblebee_gunner_exit(entity this, int _exitflag) player.PlayerPhysplug = func_null; player.view_ofs = STAT(PL_VIEW_OFS, player); player.event_damage = PlayerDamage; - player.hud = HUD_NORMAL; + STAT(HUD, player) = HUD_NORMAL; player.teleportable = TELEPORT_NORMAL; for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) { @@ -298,7 +298,7 @@ bool bumblebee_gunner_enter(entity this, entity player) set_movetype(player, MOVETYPE_NOCLIP); player.event_damage = func_null; player.view_ofs = '0 0 0'; - player.hud = gunner.hud; + STAT(HUD, player) = STAT(HUD, gunner); player.teleportable = false; player.PlayerPhysplug = gunner.PlayerPhysplug; player.vehicle_ammo1 = vehic.vehicle_ammo1; @@ -332,7 +332,7 @@ bool bumblebee_gunner_enter(entity this, entity player) WriteAngle(MSG_ONE, 0); // roll } - CSQCVehicleSetup(player, player.hud); + CSQCVehicleSetup(player, STAT(HUD, player)); MUTATOR_CALLHOOK(VehicleEnter, player, gunner); @@ -557,18 +557,18 @@ bool bumblebee_pilot_frame(entity this, float dt) } else if(IS_CLIENT(trace_ent)) { - if(trace_ent.health <= autocvar_g_vehicle_bumblebee_healgun_hmax && autocvar_g_vehicle_bumblebee_healgun_hps) - trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax); + if(GetResourceAmount(trace_ent, RESOURCE_HEALTH) <= autocvar_g_vehicle_bumblebee_healgun_hmax && autocvar_g_vehicle_bumblebee_healgun_hps) + GiveResourceWithLimit(trace_ent, RESOURCE_HEALTH, autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax); - if(trace_ent.armorvalue <= autocvar_g_vehicle_bumblebee_healgun_amax && autocvar_g_vehicle_bumblebee_healgun_aps) - trace_ent.armorvalue = min(trace_ent.armorvalue + autocvar_g_vehicle_bumblebee_healgun_aps * dt, autocvar_g_vehicle_bumblebee_healgun_amax); + if(GetResourceAmount(trace_ent, RESOURCE_ARMOR) <= autocvar_g_vehicle_bumblebee_healgun_amax && autocvar_g_vehicle_bumblebee_healgun_aps) + GiveResourceWithLimit(trace_ent, RESOURCE_ARMOR, autocvar_g_vehicle_bumblebee_healgun_aps * dt, autocvar_g_vehicle_bumblebee_healgun_amax); - trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax); + GiveResourceWithLimit(trace_ent, RESOURCE_HEALTH, autocvar_g_vehicle_bumblebee_healgun_hps * dt, autocvar_g_vehicle_bumblebee_healgun_hmax); } else if(IS_TURRET(trace_ent)) { - if(trace_ent.health <= trace_ent.max_health && autocvar_g_vehicle_bumblebee_healgun_hps) - trace_ent.health = min(trace_ent.health + autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health); + if(GetResourceAmount(trace_ent, RESOURCE_HEALTH) <= trace_ent.max_health && autocvar_g_vehicle_bumblebee_healgun_hps) + GiveResourceWithLimit(trace_ent, RESOURCE_HEALTH, autocvar_g_vehicle_bumblebee_healgun_hps * dt, trace_ent.max_health); //else ..hmmm what? ammo? trace_ent.SendFlags |= TNSF_STATUS; @@ -803,7 +803,7 @@ METHOD(Bumblebee, vr_death, void(Bumblebee thisveh, entity instance)) Send_Effect(EFFECT_EXPLOSION_MEDIUM, findbetterlocation(instance.origin, 16), '0 0 0', 1); - instance.health = 0; + SetResourceAmountExplicit(instance, RESOURCE_HEALTH, 0); instance.event_damage = func_null; instance.solid = SOLID_NOT; instance.takedamage = DAMAGE_NO;