diff options
author | Peter Kohaut | 2018-02-18 22:18:41 +0100 |
---|---|---|
committer | Peter Kohaut | 2018-02-18 22:20:16 +0100 |
commit | 7090841ccc43c64d5a1d9058071ebccaf6b52fc2 (patch) | |
tree | 44fb7798096b66646039a34c6d4756e091bc700b /engines/bladerunner/combat.cpp | |
parent | 1d69120112e16a74a9d101a0d4d9de04196d29de (diff) | |
download | scummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.tar.gz scummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.tar.bz2 scummvm-rg350-7090841ccc43c64d5a1d9058071ebccaf6b52fc2.zip |
BLADERUNNER: Support for running
Fixed Runciter idle state
Fixed movement track delay
Basic combat support
Diffstat (limited to 'engines/bladerunner/combat.cpp')
-rw-r--r-- | engines/bladerunner/combat.cpp | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/engines/bladerunner/combat.cpp b/engines/bladerunner/combat.cpp index 26b8b5d785..c371f7bedd 100644 --- a/engines/bladerunner/combat.cpp +++ b/engines/bladerunner/combat.cpp @@ -33,6 +33,13 @@ namespace BladeRunner { Combat::Combat(BladeRunnerEngine *vm) { _vm = vm; + reset(); +} + +Combat::~Combat() { +} + +void Combat::reset() { _active = false; _enabled = true; @@ -40,15 +47,12 @@ Combat::Combat(BladeRunnerEngine *vm) { _ammoDamage[1] = 20; _ammoDamage[2] = 30; - for (int i = 0; i < 9; i++) { + for (int i = 0; i < kSoundCount; i++) { _hitSoundId[i] = -1; _missSoundId[i] = -1; } } -Combat::~Combat() { -} - void Combat::activate() { if(_enabled) { _vm->_playerActor->combatModeOn(-1, -1, -1, -1, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, -1, -1, -1, _vm->_combat->_ammoDamage[_vm->_settings->getAmmoType()], 0, 0); @@ -63,7 +67,17 @@ void Combat::deactivate() { } } -bool Combat::isActive() { +void Combat::change() { + if (!_vm->_playerActor->inWalkLoop() && _enabled) { + if (_active) { + deactivate(); + } else { + activate(); + } + } +} + +bool Combat::isActive() const{ return _active; } @@ -91,4 +105,8 @@ int Combat::getMissSound() { return _hitSoundId[3 * _vm->_settings->getAmmoType() + _vm->_rnd.getRandomNumber(2)]; } +void Combat::shoot(int actorId, Vector3 &to, int screenX) { + +} + } // End of namespace BladeRunner |