Skip to content

Commit d71a6b0

Browse files
authored
Merge pull request #1175 from MageKing17/bugfix/energy-transfer-oddities
Fix two bugs with transferring energy to/from shields/weapons.
2 parents 5d7b64f + cf14728 commit d71a6b0

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

code/object/objectshield.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ void shield_add_strength(object *objp, float delta) {
8787
float shield_str = shield_get_strength(objp);
8888
float shield_recharge_limit = shield_get_max_strength(objp);
8989

90-
if (shield_str >= shield_recharge_limit)
90+
if ((delta > 0.0f) && (shield_str >= shield_recharge_limit))
9191
return;
9292

9393
if (!(Ai_info[Ships[objp->instance].ai_index].ai_profile_flags[AI::Profile_Flags::Smart_shield_management])

code/ship/ship.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8130,7 +8130,7 @@ void ship_chase_shield_energy_targets(ship *shipp, object *obj, float frametime)
81308130
shield_add_strength(obj, delta);
81318131
shipp->target_shields_delta -= delta;
81328132
} else if (shipp->target_shields_delta < 0.0f) {
8133-
if (delta < -shipp->target_shields_delta)
8133+
//if (delta > -shipp->target_shields_delta)
81348134
delta = -shipp->target_shields_delta;
81358135

81368136
shield_add_strength(obj, -delta);
@@ -8146,7 +8146,7 @@ void ship_chase_shield_energy_targets(ship *shipp, object *obj, float frametime)
81468146
shipp->weapon_energy += delta;
81478147
shipp->target_weapon_energy_delta -= delta;
81488148
} else if (shipp->target_weapon_energy_delta < 0.0f) {
8149-
if (delta < -shipp->target_weapon_energy_delta)
8149+
//if (delta > -shipp->target_weapon_energy_delta)
81508150
delta = -shipp->target_weapon_energy_delta;
81518151

81528152
shipp->weapon_energy -= delta;

0 commit comments

Comments
 (0)