Skip to content

Commit a6ef15f

Browse files
committed
Merge remote-tracking branch 'upstream/master' into loadout_copy_paste
2 parents 50303b2 + e688c69 commit a6ef15f

25 files changed

Lines changed: 399 additions & 250 deletions

‎bin/data/Language/en-GB.yml‎

Lines changed: 47 additions & 39 deletions
Large diffs are not rendered by default.

‎bin/data/Language/en-US.yml‎

Lines changed: 44 additions & 36 deletions
Large diffs are not rendered by default.

‎bin/data/Ruleset/Xcom1Ruleset.rul‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2578,7 +2578,7 @@ items:
25782578
clipSize: -1
25792579
strengthApplied: true
25802580
damageType: 7
2581-
accuracyMelee: 80
2581+
accuracyMelee: 100
25822582
tuMelee: 15
25832583
battleType: 3
25842584
fixedWeapon: true
@@ -2594,7 +2594,7 @@ items:
25942594
clipSize: -1
25952595
strengthApplied: true
25962596
damageType: 7
2597-
accuracyMelee: 80
2597+
accuracyMelee: 100
25982598
tuMelee: 15
25992599
battleType: 3
26002600
fixedWeapon: true
@@ -2632,7 +2632,7 @@ items:
26322632
hitSound: 48
26332633
strengthApplied: true
26342634
damageType: 7
2635-
accuracyMelee: 92
2635+
accuracyMelee: 100
26362636
tuMelee: 15
26372637
clipSize: -1
26382638
battleType: 3
@@ -2671,7 +2671,7 @@ items:
26712671
hitSound: 48
26722672
strengthApplied: true
26732673
damageType: 7
2674-
accuracyMelee: 80
2674+
accuracyMelee: 100
26752675
tuMelee: 15
26762676
battleType: 3
26772677
fixedWeapon: true

‎src/Battlescape/BattlescapeGenerator.cpp‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,12 @@ bool BattlescapeGenerator::placeItemByLayout(BattleItem *item)
884884
item->setSlot(_game->getRuleset()->getInventory((*j)->getSlot()));
885885
item->setSlotX((*j)->getSlotX());
886886
item->setSlotY((*j)->getSlotY());
887+
if (Options::includePrimeStateInSavedLayout &&
888+
(item->getRules()->getBattleType() == BT_GRENADE ||
889+
item->getRules()->getBattleType() == BT_PROXIMITYGRENADE))
890+
{
891+
item->setFuseTimer((*j)->getFuseTimer());
892+
}
887893
_save->getItems()->push_back(item);
888894
return true;
889895
}

‎src/Battlescape/BriefingState.cpp‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "../Savegame/Ufo.h"
3737
#include <sstream>
3838
#include "../Engine/Options.h"
39+
#include "../Engine/Screen.h"
3940

4041
namespace OpenXcom
4142
{
@@ -168,6 +169,9 @@ BriefingState::~BriefingState()
168169
void BriefingState::btnOkClick(Action *)
169170
{
170171
_game->popState();
172+
Options::baseXResolution = Options::baseXBattlescape;
173+
Options::baseYResolution = Options::baseYBattlescape;
174+
_game->getScreen()->resetDisplay();
171175
BattlescapeState *bs = new BattlescapeState(_game);
172176
int liveAliens = 0, liveSoldiers = 0;
173177
bs->getBattleGame()->tallyUnits(liveAliens, liveSoldiers, false);
@@ -180,6 +184,9 @@ void BriefingState::btnOkClick(Action *)
180184
}
181185
else
182186
{
187+
Options::baseXResolution = Options::baseXGeoscape;
188+
Options::baseYResolution = Options::baseYGeoscape;
189+
_game->getScreen()->resetDisplay();
183190
delete bs;
184191
_game->pushState(new AliensCrashState(_game));
185192
}

‎src/Battlescape/DebriefingState.cpp‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
#include "../Interface/Cursor.h"
6262
#include "../Engine/Options.h"
6363
#include "../Basescape/ManageAlienContainmentState.h"
64+
#include "../Engine/Screen.h"
6465

6566
namespace OpenXcom
6667
{
@@ -71,6 +72,10 @@ namespace OpenXcom
7172
*/
7273
DebriefingState::DebriefingState(Game *game) : State(game), _region(0), _country(0), _noContainment(false), _manageContainment(false), _destroyBase(false)
7374
{
75+
Options::baseXResolution = Options::baseXGeoscape;
76+
Options::baseYResolution = Options::baseYGeoscape;
77+
_game->getScreen()->resetDisplay();
78+
7479
// Restore the cursor in case something weird happened
7580
_game->getCursor()->setVisible(true);
7681
_containmentLimit = Options::alienContainmentLimitEnforced ? 1 : 0;

‎src/Battlescape/Inventory.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ void Inventory::mouseClick(Action *action, State *state)
682682
{
683683
if (_selItem == 0)
684684
{
685-
if (!_base)
685+
if (!_base || Options::includePrimeStateInSavedLayout)
686686
{
687687
if (!_tu)
688688
{

‎src/Battlescape/InventoryState.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,8 @@ void InventoryState::saveEquipmentLayout()
382382
(*j)->getSlot()->getId(),
383383
(*j)->getSlotX(),
384384
(*j)->getSlotY(),
385-
ammo
385+
ammo,
386+
(*j)->getFuseTimer()
386387
));
387388
}
388389
}

‎src/Battlescape/Projectile.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ int Projectile::calculateTrajectory(double accuracy, Position originVoxel)
106106
_action.actor->getFaction() == FACTION_PLAYER &&
107107
_action.autoShotCounter == 1 &&
108108
(SDL_GetModState() & KMOD_CTRL) == 0 &&
109-
_save->getBattleGame()->getPanicHandled())
109+
_save->getBattleGame()->getPanicHandled() &&
110+
_action.type != BA_LAUNCH)
110111
{
111112
Position hitPos = Position(_trajectory.at(0).x/16, _trajectory.at(0).y/16, _trajectory.at(0).z/24);
112113
if (test == V_UNIT && _save->getTile(hitPos) && _save->getTile(hitPos)->getUnit() == 0) //no unit? must be lower

‎src/Battlescape/ProjectileFlyBState.cpp‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ bool ProjectileFlyBState::createNewProjectile()
332332
delete projectile;
333333
_parent->getMap()->setProjectile(0);
334334
_action.result = "STR_NO_LINE_OF_FIRE";
335+
_unit->abortTurn();
335336
_parent->popState();
336337
return false;
337338
}
@@ -372,6 +373,7 @@ bool ProjectileFlyBState::createNewProjectile()
372373
delete projectile;
373374
_parent->getMap()->setProjectile(0);
374375
_action.result = "STR_NO_LINE_OF_FIRE";
376+
_unit->abortTurn();
375377
_parent->popState();
376378
return false;
377379
}

0 commit comments

Comments
 (0)