AlexVinS
7bf8c9bd69
fixed and cleanup
2017-07-08 21:20:38 +03:00
AlexVinS
4f14f22d3a
Unified CStack ammo, casts and counterattacks
...
* it is possible now to add casts and shoots OTF (f.e. with spell bonus)
Centralized stack 'ammo' loading from bonus system.
* introduced small proxy class for local bonus cache
(no need to use global cache if particular selector used on node only in one place)
* handle killing resurrected creatures
* use IBonusBearer::MaxHealth() where possible
* Fixed https://bugs.vcmi.eu/view.php?id=2486
* Possible fix for 0 HP after resurrection.
* Hack-fixed https://bugs.vcmi.eu/view.php?id=2584
* Unified CStack health API
* Use CHealth for CStack count and health points
* increased SERIALIZATION_VERSION
2017-07-08 20:29:59 +03:00
ArseniyShestakov
3634af10ba
Merge pull request #330 from dydzio0614/AmountBoxTweaks
...
Tweak battle creatures amount box hiding
2017-07-08 15:54:18 +03:00
Dydzio
2d6f964d65
Amount box support for stacked war machines
2017-07-07 19:04:29 +02:00
Dydzio
ae2323672a
Tweak battle creatures amount box hiding
2017-07-07 18:11:05 +02:00
AlexVinS
4d204095cf
fix
2017-07-07 02:55:23 +03:00
AlexVinS
3ce238e4d3
Tweak
2017-07-03 13:40:22 +03:00
AlexVinS
e4c14c4cc2
avoid assertions in stack position checks
2017-07-03 12:59:33 +03:00
AlexVinS
4f8c7bd4bb
CStack refactoring
...
* removed all occurrences of attackerOwned
* Use BattleSide enum
* more tweaks
2017-07-01 19:17:08 +03:00
AlexVinS
0af9aa382c
Possible fix for https://bugs.vcmi.eu/view.php?id=2692
2017-06-14 04:53:26 +03:00
AlexVinS
0f5202689e
Cumulative spell effects
...
* Added experimental support for cumulative effects for ENCHANTED bonus
* Updated and fixed SPECIAL_PECULIAR_ENCHANT processing
* Initial implementation of cumulative spell effects.
* Scheme for new spell feature - cumulative bonus.
2017-06-13 21:50:50 +03:00
Arseniy Shestakov
3f7cb9f893
Client: add some shortcuts for spectator mode
...
Following mode only work when client is started in spectator mode:
F5 - Pause / resume game by locking of pim
F6 - Toggle spectate-ignore-hero
F7 - Toggle spectate-skip-battle
F8 - Toggle spectate-skip-battle-result
F9 - Skip current battle
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
18161d3688
Client: implement spectator mode via command-line options
...
If running with --spectate/-s CPlayerInterface will appear even without human players.
Following command-line options also available:
--spectate-ignore-hero
--spectate-hero-speed=N
--spectate-battle-speed=N
--spectate-skip-battle
--spectate-skip-battle-result
Boolean options can also be changed in runtime via client console:
set spectate-ignore-hero on / off
Spectator mode also:
- Work with --onlyAI option when starting game or loading saves.
- Allow to use any cheat codes.
- Give recon on towns and heroes.
2017-06-06 07:30:16 +03:00
AlexVinS
6c308956f9
get rid of CBattleInfoCallback::battleCanCastThisSpellHere
2017-06-05 23:25:48 +03:00
AlexVinS
4d430f6ad8
get rid of CPlayerBattleCallback::battleCanCastSpell
2017-06-05 22:16:12 +03:00
FeniksFire
d390dff54d
Fix game crash after autofight.
...
Vcmi makes crash when I turn on autofight in the battle and wait until I
close result battle window.
2017-05-13 09:54:03 +02:00
Arseniy Shestakov
09d593e59b
CBattleInterface: avoid freezes on end of battle. Fix issue 1897
2017-03-19 05:15:31 +03:00
FeniksFire
3de891b4b4
Moving/dividing classes from BattleState to separate files.
2017-03-17 16:48:44 +01:00
dydzio
141e5ad032
Implement "emergency" projectile init attempt
2017-02-03 23:25:46 +01:00
Dydzio
6c8ef79727
Merge branch 'develop' into MakeWOGGreatAgain
2017-02-01 23:14:36 +01:00
dydzio
3e285c2004
Add santa gremlin missing creature ability, fix shooter init bug
2017-01-26 20:53:28 +01:00
Michał Kalinowski
4d39f652bf
Making more detailed options when choosing AI in launcher: http://
...
bugs.vcmi.eu/view.php?id=2369
2017-01-17 12:34:28 +01:00
AlexVinS
abe4beebc6
Fixed CID 1197516
2016-11-27 19:13:40 +03:00
AlexVinS
80666fb134
Tweaks
2016-11-25 22:12:22 +03:00
AlexVinS
4e28efb8b4
Fixed CID 1288860
2016-11-25 16:09:14 +03:00
Vadim Markovtsev
79c85be93f
Fix large obstacles drawing in front of the stacks
2016-10-30 04:51:35 +01:00
Vadim Markovtsev
ab7a0d64eb
Fix formatting
2016-10-28 23:37:20 +02:00
AlexVinS
feaccead36
fixed missed initialization
2016-10-18 02:37:02 +03:00
AlexVinS
b256c4c36d
Improved creature casting GUI.
...
* "F" is new hotkey for creature spells
* creature spells now have lowest priority unless F pressed
* creatures can cast NO_LOCATION spells (only with hotkey)
2016-10-17 08:09:09 +03:00
AlexVinS
63cbf960df
cleaned up spell window creation
2016-10-16 09:27:22 +03:00
AlexVinS
c5440a1c6c
Fixed http://bugs.vcmi.eu/view.php?id=2541
2016-10-02 01:32:28 +03:00
AlexVinS
52ae5b4a86
Fixed http://bugs.vcmi.eu/view.php?id=482
2016-10-01 18:18:46 +03:00
AlexVinS
96c17505ae
get rid of IBonusBearer::getSpellBonuses & Selector::anyRange
2016-10-01 09:07:18 +03:00
AlexVinS
6ddc1c78a2
Fixed http://bugs.vcmi.eu/view.php?id=2530
2016-09-30 02:35:07 +03:00
Vadim Markovtsev
2c1dddde33
Fix memory problems with BonusList
...
Bonus * -> std::shared_ptr<Bonus>
This cures the following problems:
1) Memory corruption at exit. Some Bonus-es were deleted twice (mods?).
2) Memory leaks. Some Bonuses were not deleted.
3) Reduce the number of "Orphaned child" messages.
Valgrind reports 0 leaked memory now and no invalid reads/writes.
2016-09-29 15:08:00 +02:00
AlexVinS
849e3fc04e
Fixed http://bugs.vcmi.eu/view.php?id=2506
2016-09-24 09:27:58 +03:00
AlexVinS
21de5817e3
fixed http://bugs.vcmi.eu/view.php?id=2499
2016-09-22 18:44:57 +03:00
AlexVinS
505e53c17d
Merge remote-tracking branch 'remotes/origin/develop' into SpellsRefactoring8
...
# Conflicts:
# client/battle/CBattleInterface.cpp
# lib/spells/BattleSpellMechanics.cpp
2016-09-12 10:13:40 +03:00
Arseniy Shestakov
c8faca8f39
Refactoring: only use RNGs explicitly to avoid bug prone code in future
...
Now server-side code should always use CRandomGenerator::getDefault which is serialized in GH.
CGameState::getRandomGenerator should be only used from GS code and CPackForClient-based applyGs.
2016-09-11 00:10:46 +03:00
AlexVinS
4a9978c642
Disabled massive spells fore creatures as they are not fully supported yet.
...
* (WoG) commanders now cast spells properly.
2016-09-10 21:07:36 +03:00
AlexVinS
8eca149eb3
Fixed creature`s aimed spell targeting.
2016-09-10 20:21:51 +03:00
AlexVinS
f36b40e311
fixed typo
2016-09-10 19:38:14 +03:00
AlexVinS
b7509f588f
Support all spell target types (except NO_TARGET) for creature casting.
2016-09-10 19:26:55 +03:00
AlexVinS
be002f6576
Cleanup
2016-09-10 18:56:38 +03:00
AlexVinS
62abde6c46
Prepare battle log for spell-cast on server side.
2016-09-10 18:23:55 +03:00
AlexVinS
5d329b40a4
Factored spell action selection for location target.
2016-08-30 12:20:15 +03:00
AlexVinS
d1579ea620
Simplify spell action selection for creature target.
2016-08-30 12:20:13 +03:00
AlexVinS
8d2aa2c8c7
Reduced scope of CBattleInterface spellSelMode
2016-08-30 12:14:12 +03:00
AlexVinS
d4d1693152
Start with a todo note for this branch
2016-08-30 12:12:44 +03:00
Arseniy Shestakov
3a1a6cf338
CBattleInterface: fix crash on defeat in tactics phase. Fix issue 2440
...
It's possible to lose all mobile stacks if you move them on moat so tactics phase must end in that case.
2016-08-09 18:15:58 +03:00
AlexVinS
6e24d1e929
Applied patch by rumianom from http://bugs.vcmi.eu/view.php?id=2442
2016-08-01 18:28:14 +03:00
Arseniy Shestakov
4240ecad01
One more small fix for possible issues with gate surface
2016-03-14 13:11:04 +03:00
Arseniy Shestakov
af05b025e7
CBattleInterface: avoid crashes on gate state changes. Fix issue 2415
2016-03-14 10:37:43 +03:00
Arseniy Shestakov
10dbbead2d
Fix indentation of logging code and around it
...
That wouldn't be as big issue if problem affected few files, but it everywhere in codebase.
Fixed it everywhere since in most files that is the only code with wrong indentation.
2016-03-12 04:46:21 +03:00
AlexVinS
42af83f0dd
Added todo note about ghost stack fadeout
2016-03-01 05:39:04 +03:00
AlexVinS
5c716f6581
Fix hackfix for ghost stack drawing
2016-03-01 04:41:51 +03:00
AlexVinS
94770e7598
Cleanup
2016-03-01 03:09:50 +03:00
AlexVinS
ace52cfdb1
Hackfix for ghost stack draw.
2016-02-29 05:09:13 +03:00
AlexVinS
f890037008
Fixes
2016-02-29 04:42:15 +03:00
AlexVinS
9036d39241
Do not remove battle stacks, make them ghosts instead.
...
* exclude ghost stacks from (hopefully all) get* results for now
2016-02-28 01:08:56 +03:00
ArseniyShestakov
c550484613
Merge pull request #181 from vcmi/feature/drawbridgeMechanics
...
Feature/drawbridge mechanics
2016-02-14 16:32:24 +03:00
Arseniy Shestakov
f453172d53
CBattleInterface: cleaner implementation of optional drawbridge blit
...
Checking against nullptr isn't clean solution so we only blit in case gate opened or destroyed.
2016-02-14 15:38:58 +03:00
Arseniy Shestakov
2cfdfca7e5
Battles: fix more cases where invalid wall hex position present
2016-02-14 14:38:24 +03:00
Arseniy Shestakov
c5cfc8467f
Battles: change naming from drawbridge to gate for everything
...
This way code is shorter and cleaner while in future we may support towns with gate only.
2016-02-13 17:40:31 +03:00
Arseniy Shestakov
b946c52242
CBattleInterface: introduce EWallVisual instead of ids with comments
2016-02-13 17:10:14 +03:00
Arseniy Shestakov
422d5cabdf
CBattleInterface: first pass on client drawbridge visualization
2016-02-10 07:10:32 +03:00
AlexVinS
ba017c443d
Start from diff of pull request #124 from vcmi/issue/1372
2016-01-29 21:05:17 +03:00
Vadim Markovtsev
40cb48d65e
Replace std::remove_if with vstd::erase_if
2016-01-26 10:19:58 +03:00
Arseniy Shestakov
9fd1cff090
Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared
...
Long time ago it's was used without prefix to make future switch from boost to std version easier.
I discusses this with Ivan and decide to drop these using from Global.h now.
This change wouldn't break anything because there was already code with prefix for each of three cases.
2015-12-29 05:43:33 +03:00
AlexVinS
e645b46aed
Revert "Merge pull request #124 from vcmi/issue/1372"
...
This reverts commit da01af319b
, reversing
changes made to 8b6b4e2e0b
.
2015-11-07 11:35:02 +03:00
AlexVinS
4b5cb3599a
Do not try to rise demons from war machines
2015-11-03 02:20:26 +03:00
AlexVinS
6a9dc78dcd
[WiP]Added some checks for RISE_DEMONS action.
2015-11-03 02:18:36 +03:00
AlexVinS
2677d4a677
Fixed action cancel on active stack remove
2015-10-08 08:15:29 +03:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
a06e34cf61
Cleanup
2015-09-29 19:14:24 +03:00
AlexVinS
70d9be8447
Use ISpellCaster in battle callback
2015-09-29 17:26:52 +03:00
AlexVinS
d9cbe487c7
remove useless function CSpell::getTargetInfo
2015-09-29 17:26:47 +03:00
AlexVinS
2b434111bf
More hero|creature casting unification
2015-09-29 17:26:40 +03:00
AlexVinS
92990c887c
Fix creatures can always cast on self
2015-09-29 17:26:37 +03:00
AlexVinS
caf8ae62cc
Allow custom effect animation on any stack during spell cast.
2015-09-14 06:21:49 +03:00
AlexVinS
0f0e67dbe3
Do not include resisted stacks in affected
2015-09-14 05:45:05 +03:00
AlexVinS
075b65b31b
Use dummy animations
2015-09-12 21:09:53 +03:00
AlexVinS
832d69ec11
Hide battle log algorithm in spell classes.
...
* not finished, to be moved to json of splitted between mechanics classes
2015-09-12 21:09:51 +03:00
AlexVinS
5d0ecd9cdf
More battle log refactoring
2015-09-12 21:09:50 +03:00
AlexVinS
7cf9bd36b7
Display AGE effect with any value (not only -50%).
2015-09-12 21:09:49 +03:00
AlexVinS
3a5a02e73b
Use boost::fromat in CBattleInterface::spellCast
2015-09-12 21:09:48 +03:00
AlexVinS
805c839761
More CBattleInterface::spellCast refactoring
2015-09-12 21:09:47 +03:00
AlexVinS
8171924eb4
More simplification of CBattleInterface::spellCast
...
* was started in previous branch
2015-09-12 21:09:46 +03:00
AlexVinS
9482852020
few tweaks
2015-09-12 21:09:45 +03:00
AlexVinS
fb5903d610
Initial experiments on hero & creature casting unification
2015-09-12 21:09:44 +03:00
AlexVinS
2cb6cb7baa
Remove useless durationType selector
...
* duration is a mask, equality comparison is not enough
2015-06-02 07:12:02 +03:00
AlexVinS
e1deff089d
Actually use ANY_CREATURE possible action
...
* this fixes mantiss 0002140
2015-04-11 10:56:35 +03:00
AlexVinS
a061e3c2f7
Fix use-after-free in spell window
2015-04-11 10:18:40 +03:00
Fay
1cb54689cf
Prevents first aid tents from melee attacking;
...
Moves attack possibility checks to battle callback (for consistency with shooting checks);
2015-04-09 21:49:11 +02:00
AlexVinS
67a7cd8350
Allow FREE_LOCATION action over dead stack. This fixes 0001560
2015-03-29 16:24:43 +03:00
AlexVinS
9600446cf9
+smart target, +hit animation
2015-03-18 17:48:32 +03:00
AlexVinS
69c458e881
initial implementation.
2015-03-18 13:27:07 +03:00
AlexVinS
025a00362b
Simplify CBattleInterface::spellCast
2015-02-26 08:39:58 +03:00
AlexVinS
685deddac1
Start spell-relatet files reorganisation
...
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
AlexVinS
a3f2667376
Remove some deprecated fields from CSpell
...
* now only new SpellScholl API is used
(!) untested
2015-02-26 08:39:43 +03:00