AlexVinS
1fd87ecc4a
Simplified offensive spell damage calculation
2016-09-18 14:54:17 +03:00
AlexVinS
53fbf88316
Spell cast logging refactored.
2016-09-17 23:04:23 +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
AlexVinS
3fa62beb6d
Do not allow to cast Cure if there is nothing to cure.
2016-09-11 13:48:14 +03:00
Arseniy Shestakov
fe6c0cf89b
Use RandomGeneratorUtil::randomShuffle for reproducible gameplay
2016-09-11 00:10:52 +03:00
AlexVinS
5e0a9d7966
hackfix for commander spells
2016-09-10 22:41:50 +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
62abde6c46
Prepare battle log for spell-cast on server side.
2016-09-10 18:23:55 +03:00
AlexVinS
f8767a6380
cleanup
2016-09-10 09:37:18 +03:00
AlexVinS
f39e619304
More tweaks
2016-09-06 13:51:53 +03:00
AlexVinS
1ce4675df6
Tweaks
2016-09-06 13:33:11 +03:00
AlexVinS
838717dfc1
Magic mirror unified again with normal cast.
2016-09-06 13:05:33 +03:00
AlexVinS
686cd00c68
Cleanup.
2016-09-06 12:26:01 +03:00
AlexVinS
cc4362211c
Extracted MagicMirror handling
2016-09-06 11:03:36 +03:00
AlexVinS
f3d9e718bf
Handle AcidBreathDamage immunity in standard way.
2016-09-06 10:52:54 +03:00
AlexVinS
0241c6e843
Improved spell range calculation.
...
* should now support smart custom range AOE spells
2016-09-06 08:56:31 +03:00
AlexVinS
1e32c71e47
Make sure that there is no unwanted stack affect by spells.
2016-09-06 08:20:17 +03:00
AlexVinS
39c2c6cde7
Ensure no immunity to AcidBreathDamage
2016-09-06 07:16:32 +03:00
AlexVinS
f1d0bede11
Moved all affected stacks calculations to mechanics
2016-09-06 07:05:55 +03:00
AlexVinS
18fc94d709
WIP on SpellCastContext
2016-09-06 06:40:23 +03:00
AlexVinS
9ee954edcc
WIP on SpellCastContext
2016-09-06 05:11:32 +03:00
AlexVinS
1d840a33a5
Started SpellCastContext rework
2016-09-06 04:11:30 +03:00
AlexVinS
82ac035340
OO design for obstacle spells.
2016-09-05 13:34:48 +03:00
AlexVinS
f3b7fe947c
Reworked spell target existence check.
...
* related to 2269
2016-09-05 11:36:25 +03:00
AlexVinS
a23144b361
Extracted adventure spell mechanics to distinct class hierarchy.
2016-09-04 08:19:28 +03:00
AlexVinS
eb128a0207
More style tweaks
2016-09-04 05:15:37 +03:00
AlexVinS
c0cf5d6956
Style tweaks
2016-09-04 04:59:30 +03:00
AlexVinS
1e7e7a7006
Fixed http://bugs.vcmi.eu/view.php?id=2419
2016-08-30 12:20:17 +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
b09f150e7b
Factored out battleCanCastThisSpellHere
2016-08-30 12:20:11 +03:00
AlexVinS
0d5eaa1183
Proper fix for http://bugs.vcmi.eu/view.php?id=2422
2016-08-30 12:20:09 +03:00
AlexVinS
b634482bb0
Fix http://bugs.vcmi.eu/view.php?id=2422
2016-08-30 12:20:07 +03:00
AlexVinS
22d885af22
Fixed http://bugs.vcmi.eu/view.php?id=2302
2016-08-30 12:20:05 +03:00
AlexVinS
be67faad90
Drafts
2016-08-30 12:20:03 +03:00
AlexVinS
f053754653
Advance REMOVE_OBSTACLE mechanics
2016-08-30 12:20:01 +03:00
AlexVinS
40e6e0c143
Move REMOVE_OBSTACLE-related code from callback to where it should be.
2016-08-30 12:19:59 +03:00
AlexVinS
750c114648
Drafts
2016-08-30 12:19:57 +03:00
AlexVinS
d4a35c6839
Simplify getAffectedStacks arguments. casterColor not needed anymore.
2016-08-30 12:14:08 +03:00
AlexVinS
f6715ad787
Use ISpellCaster in CSpell::canBeCast.
...
* -2 todo notes
2016-08-30 12:12:46 +03:00
AlexVinS
ef05a56e49
cleanup
2016-08-30 05:13:45 +03:00
Alexander Shishkin
5e5ce0bb09
Merge pull request #203 from vcmi/logFormat
...
boost::format support for CLogger
2016-08-29 17:32:44 +04:00
Arseniy Shestakov
452e28d183
Remove some useless includes found by cppclean
...
This of course was tested and shouldn't break anything
2016-08-26 04:42:16 +03:00
AlexVinS
74a82c4c9d
Moved boost:format log proxy to CLoggerBase
2016-08-13 16:57:18 +03:00
AlexVinS
599f4cfb55
extracted base logger class to vstd
2016-08-13 16:57:16 +03:00
AlexVinS
d6178d0bb5
Implemented boost::format based log proxy.
2016-08-13 16:57:13 +03:00
ArseniyShestakov
7886e8986e
Merge pull request #197 from vcmi/issue/2304_2418
...
Issues/2304/2418/2293
2016-03-01 15:20:59 +03:00
AlexVinS
3873e5047e
Attempt to fix 2293
2016-03-01 13:24:46 +03:00
AlexVinS
277211e569
Fix summoning block by clones.
2016-03-01 04:16:51 +03:00
AlexVinS
5df8d1cbd0
Update low level battle stacks accessor for ghost selection support.
2016-02-28 05:10:20 +03:00
AlexVinS
47b619a543
Centralize GHOST state handling
2016-02-28 01:35:23 +03:00
AlexVinS
d2a5e64542
Remove clone of killed or removed creature. Treat summoned creature as clone when killed.
2016-02-27 18:39:37 +03:00
AlexVinS
53b5587c2e
Advance map header serialization
2016-02-21 21:21:22 +03:00
AlexVinS
150fcc9422
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
2016-02-15 13:39:00 +03:00
AlexVinS
4d9058e412
Whitespace cleanup. (No code changes.)
2016-02-15 13:34:37 +03:00
AlexVinS
7106c5d1af
Fix loading of spell identifier
2016-02-13 19:41:28 +03:00
AlexVinS
6e205a58b4
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/VCMI_lib.cbp
lib/filesystem/CZipLoader.cpp
lib/filesystem/CZipLoader.h
lib/mapObjects/CGTownInstance.cpp
2016-02-04 10:27:51 +03:00
Vadim Markovtsev
bdd87be10d
Try to fix http://bugs.vcmi.eu/view.php?id=2362
2016-02-02 11:46:33 +03:00
Vadim Markovtsev
3926920103
Rename radious -> radius
...
There is no such English word, "radious"
Some files get new lines in the end - BSD sed bug + best practices
2016-01-31 18:01:58 +03:00
AlexVinS
37d0dad70a
Merge branch 'develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.cpp
2016-01-01 20:28:52 +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
ArseniyShestakov
48be566050
Dimension Door: fix movement points cost for expert level
2015-12-21 18:46:52 +03:00
ArseniyShestakov
e872b400b7
Comments save format backward compatability code as Ivan suggested
...
Also we should always handle RumorState::TYPE_NONE in getTavernRumor properly anyway.
2015-12-06 02:51:54 +03:00
AlexVinS
6f203fb7e2
Save string identifiers for all game objects
2015-12-05 12:36:39 +03:00
Ivan Savenko
faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
Ivan Savenko
7b5a7f43ad
Removed includes of CGameState from headers
2015-12-02 21:39:53 +02:00
Ivan Savenko
c3ce4b25df
Removed all #include's of CMap.h from headers.
...
To all - please, avoid #include's in headers as much as possible
This kills incremental build compile times
2015-12-02 21:05:10 +02:00
AlexVinS
eeb100d6a4
More comments about dispell special cases.
2015-10-13 07:11:49 +03:00
AlexVinS
02c15085be
Remove (aready disabled in prev. commit) active stack change in sacrifice mechanics
...
* stack removing is evil, but changing active stack by spells is more evil ...
2015-10-06 03:59:05 +03:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
4e60b4cf53
Fixed 0002280
2015-10-06 01:26:50 +03:00
AlexVinS
6cf220b882
Partial fix for 2272, there are more active stack sacrifice problems.
2015-10-05 20:33:05 +03:00
AlexVinS
b07d272c2a
Added new BattleSpellCastParameters support to SACRIFICE spell.
2015-10-01 02:36:00 +03:00
AlexVinS
939a9180e2
Added new BattleSpellCastParameters support to TELEPORT spell.
2015-09-30 22:38:50 +03:00
AlexVinS
57e5b768e8
Allow multiple destinations in BattleSpellCastParameters
2015-09-30 00:31:50 +03:00
AlexVinS
70d9be8447
Use ISpellCaster in battle callback
2015-09-29 17:26:52 +03:00
AlexVinS
75c2566410
"const" tweak
2015-09-29 17:26:51 +03:00
AlexVinS
36e154d9b9
Use ISpellCaster in getAffectedStacks
2015-09-29 17:26:50 +03:00
AlexVinS
947f6089d5
Use ISpellCaster in isImmuneByStack
2015-09-29 17:26:49 +03:00
AlexVinS
a4d4851d80
Fix typo: casted->cast
2015-09-29 17:26:48 +03:00
AlexVinS
d9cbe487c7
remove useless function CSpell::getTargetInfo
2015-09-29 17:26:47 +03:00
AlexVinS
5f41ec912f
fix sphereOfPermanence
2015-09-29 17:26:45 +03:00
AlexVinS
3d7435c520
Introduced absolute specific spell immunity.
2015-09-29 17:26:44 +03:00
AlexVinS
253b850ac3
Partial fix for 1791
2015-09-29 17:26:43 +03:00
AlexVinS
a44c606277
Use callback methods
2015-09-29 17:26:42 +03:00
AlexVinS
660203b436
Tweak BattleSpellCastParameters
2015-09-29 17:26:41 +03:00
AlexVinS
2b434111bf
More hero|creature casting unification
2015-09-29 17:26:40 +03:00
AlexVinS
e454649886
Use BattleSpellCastParameters for spell parameters override
2015-09-29 17:26:39 +03:00
AlexVinS
10318a3da3
Intoduce PASSIVE_CASTING mode for opening battle spells
...
* now at least one "caster" object is present
2015-09-29 17:26:39 +03:00
AlexVinS
e552e37cf7
Factored out CDefaultSpellMechanics::battleCast
...
(-) still huge
2015-09-29 17:26:36 +03:00
AlexVinS
baba3a46e1
Centralize creature spell bonuses handling
...
* unified heal and damage calculation
* apply SPELL_DAMAGE_REDUCTION, MORE_DAMAGE_FROM_SPELL for Fairy dragon
2015-09-29 17:26:35 +03:00
AlexVinS
67bd698019
Added some debug logging
2015-09-29 17:26:34 +03:00
AlexVinS
873979a300
The only usage of secHero cast parameter is mana channeling - better to get it OTF
2015-09-29 17:26:33 +03:00
AlexVinS
46f99db8d7
Hide some spell mechnaics details
2015-09-29 17:26:32 +03:00
AlexVinS
9ed9075afc
Introduce calculateHealedHP again, now in better place.
2015-09-29 17:26:29 +03:00
AlexVinS
0929e009db
Remove suspicios code in display damage calculation
2015-09-29 17:26:28 +03:00
AlexVinS
16f0714474
More usage of OOP in HealingSpellMechanics::applyBattleEffects
2015-09-29 17:26:28 +03:00
AlexVinS
0fecb40039
Extract HealingSpellMechanics
...
* healing effects are too specific to be allowed for any spell
* mixing heal with direct damage does not make sence
* mixing heal with timed effect can be easy allowed if needed
2015-09-29 17:26:27 +03:00
AlexVinS
c050fde3f9
Get rid of DefaultSpellMechanics::calculateHealedHP
2015-09-29 17:26:26 +03:00
AlexVinS
a35b8a46d3
Comment out wrong code
2015-09-29 17:26:25 +03:00