Piotr Wójcik
97d358b70f
Marking visited for team
...
Also no longer gives reward every player
2016-09-20 22:05:44 +02: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
33d1895d21
Merge branch 'develop' into SpellsRefactoring8
2016-09-11 18:34:18 +03:00
AlexVinS
62abde6c46
Prepare battle log for spell-cast on server side.
2016-09-10 18:23:55 +03:00
Arseniy Shestakov
53502e84e3
Add PrepareHeroLevelUp netpack to keep secondary skills RNG in sync
2016-09-09 23:16:43 +03:00
Arseniy Shestakov
d06d07a39b
Add ChangeFormation netpack to avoid MP desyncs
...
Previous code was working fine for single client, but would cause desync in multiplayer. Fix issue 2460.
2016-09-08 19:29:15 +03:00
AlexVinS
ef05a56e49
cleanup
2016-08-30 05:13:45 +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
422d5cabdf
CBattleInterface: first pass on client drawbridge visualization
2016-02-10 07:10:32 +03:00
Arseniy Shestakov
1e008b9756
SiegeInfo: add foundation for drawbridge mechanics support
...
EDrawbridgeState enum represent current state of drawbridge.
BattleDrawbridgeStateChanged netpack to pass bridge state changes to client.
2016-01-29 22:35:11 +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
0fab319c73
Merge remote-tracking branch 'remotes/origin/develop' into issue/2306
...
s reverts commit fa8a282696
.
Conflicts:
AI/VCAI/VCAI.cpp
Conflicts:
AI/VCAI/VCAI.cpp
client/windows/CAdvmapInterface.cpp
lib/CPathfinder.cpp
lib/CPathfinder.h
2015-12-05 12:56:12 +03:00
ArseniyShestakov
0a5e9c0fbe
Merge pull request #144 from vcmi/fix/teleportMultiExitPoints
...
Support for exit selection between multiple teleport exit points
2015-12-05 03:12:17 +03:00
Ivan Savenko
8a3feb1e48
Added assert to hopefully catch invalid GiveBonus package at some point
2015-12-05 01:39:14 +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
ArseniyShestakov
f6de3f94ca
Teleports: use TTeleportExitsList typedef for exits list
...
There is several ideas that teleportation code have to be shared between object/spells and this way we can avoid changing showTeleportDialog declaration every time.
2015-11-28 02:41:30 +03:00
AlexVinS
cfb5853689
Just a bit of black magic
2015-10-25 03:29:16 +03:00
DjWarmonger
641aa13526
Some fixes for previous commit.
2015-10-24 17:02:00 +02:00
DjWarmonger
716c324695
Don't give a turn to player who is about to lose (days without town).
2015-10-24 16:21:30 +02:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
a4d4851d80
Fix typo: casted->cast
2015-09-29 17:26:48 +03:00
AlexVinS
2c3a607497
Tweak StacksHealedOrResurrected
...
* flags should be bool
2015-09-29 17:26:31 +03:00
ArseniyShestakov
76cd002f07
Remove unused variable found by valgrind
2015-09-23 11:09:15 +03:00
AlexVinS
bd70f672c3
fix 1814
2015-09-15 03:08:45 +03:00
AlexVinS
caf8ae62cc
Allow custom effect animation on any stack during spell cast.
2015-09-14 06:21:49 +03:00
AlexVinS
32337102ac
Fix a typo
2015-09-13 00:54:39 +03:00
AlexVinS
e82dfb5a85
fixed mantiss 0002254
2015-09-04 18:08:25 +03:00
AlexVinS
69c458e881
initial implementation.
2015-03-18 13:27:07 +03:00
DjWarmonger
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +01:00
ArseniyShestakov
21aaad6972
MoveHero: add transit movement option
...
Transit is new option for hero movement. If it passed for movement then hero can get get on tile without visiting of object on it.
Currently it's will be only allowed is object under destination is teleport.
2015-03-08 17:04:09 +03:00
ArseniyShestakov
18535db0ef
Add TeleportDialog and CTeleportDialogQuery
...
TeleportDialog is based off BlockingDialog and it's needed for server to ask client what teleport hero should be teleported to.
It's also contain list of possible exits, identifier of currently used channel and also impassable option.
If impassable set to true then client will remember that current teleport channel is lack of exit point.
2015-03-08 16:37:33 +03:00
AlexVinS
f4c683cd5e
Move VievXXX logic to server side (except expert ViewEarth)
2015-02-26 17:15:17 +03:00
AlexVinS
d94f15bdf4
Added configurable animation for SPELL_LIKE_ATTACK
2014-11-28 00:36:14 +03:00
AlexVinS
657385e32c
We need to know caster stack ID for proper projectile animation
2014-11-27 20:47:37 +03:00
AlexVinS
6893509f65
Fix manaGain animation always showing
2014-11-27 19:09:59 +03:00
AlexVinS
b31ed0e4ea
Use SetMana packet in battle
2014-11-26 13:30:55 +03:00
AlexVinS
f2bf3d7f7b
Added a way to obtain ID of newly added Stack
2014-11-25 12:26:32 +03:00
Ivan Savenko
aa0433228a
Fixed cheats - sendMesssage will also pass current object.
...
Workaround-ish but should work. Branch should be fixed now.
2014-09-21 20:35:53 +03:00
Ivan Savenko
78709e223b
Breaking things - trying to remove server-side knowledge of selected objects
2014-09-19 00:18:49 +03:00
AlexVinS
195eae48ca
Merge branch 'develop' into SDL2
...
Conflicts:
client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
AlexVinS
aea5a7ba75
add comment. no code changes.
2014-06-26 20:49:18 +04:00
AlexVinS
c28b5f6633
fix mingw build
2014-06-26 20:41:27 +04:00
Ivan Savenko
00b6232ff6
Replaced usage of DLL_LINKAGE with ELF_VISIBILITY in netpacks. Please make sure that compilation now works on all platforms
2014-06-26 18:34:54 +03:00
Haryaalcar
ce6940e272
build fix for mac os:
...
1) type_info visibility for CatapultAttack
2) using IObjectInfo::CArmyStructure in min_element : operator< should be const
2014-06-26 01:24:48 +03:00
Ivan Savenko
32240da34e
Reduced number of #include's in headers. May break compilation on Win
...
since some net packs now need DLL_LINKAGE
2014-06-25 17:11:07 +03:00
Ivan Savenko
3b0ecee678
Ugly workaround for DLL_LINKAGE issue. Should be removed once I figure
...
out what's triggering it.
2014-06-25 00:37:33 +03:00
Ivan Savenko
a0689fa377
Refactoring of hoverText from objects:
...
- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
2014-06-24 20:39:47 +03:00
AlexVinS
4e4ba6654c
fix Eye of magi, also fix #1608
...
Conflicts:
lib/CObjectHandler.cpp
2014-06-24 18:20:28 +04:00
AlexVinS
c7dc4c05b8
fix mingw build
...
(?) does this brake *nix build?
2014-06-24 18:17:25 +04:00
Ivan Savenko
13bc4cb24f
Added -fvisibility=hidden parameter for gcc.
...
Should help a bit with endless missing DLL_LINKAGE attributes and
(according to gcc docs) help a bit with library loading times.
2014-06-24 00:05:53 +03:00
Ivan Savenko
ab475195ac
Banks now use new scheme as well
...
- Implemented Bank Constructor object.
- Merged Pyramid object into common Bank class. Banks can now grant
spells as part of their reward.
- Move bank config code to config/objects/creatureBanks.json. Note: WoG
banks are not updated yet, should be moved to WoG mod.
- Updated AI code so it can correctly evaluate bank danger (should be
generic enough for use with other objects)
- New files JsonRandom.* that contain routines for loading random
objects from Json (still WiP but should be stable)
2014-06-22 13:39:40 +03:00
Ivan Savenko
652ceb2bde
Finally shattered CObjectHandler.cpp into tiny bits
...
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
Ivan Savenko
ba5092d669
Some bugfixing, basic functionality of map objects seems to be working
2014-04-11 22:49:25 +03:00
beegee1
1d57b75bc5
- random number generation refactoring
...
- fixed mantis #1743
2014-04-10 19:22:32 +02:00
Ivan Savenko
dab9fd7148
Heroes will be properly marked as visited on visiting
2014-04-07 20:32:15 +03:00
Ivan Savenko
43ba3d30ea
Breaking things - first commit towards configurable object(s).
...
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil
Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
2014-04-06 23:14:26 +03:00
Michał W. Urbańczyk
1e555a8ee3
Improved serializer. See: http://forum.vcmi.eu/viewtopic.php?p=11562#11562
...
Save format changed, removed compatibility workarounds.
2014-02-19 01:04:27 +00:00
alexvins
16d6292be9
[refactor] extract often used classes from lib\NetPacks.h to separate header - less dependecies on whole packets class tree
...
[mingw build] fix linking issues with netpacks.
Mingw build is finally fixed!
[c::b] update projects
[config] fix and cleanup spell_info.json
2014-01-16 20:24:06 +00:00
beegee1
69eee05ccc
- Partially fixed mantis #1065 (Gate with hex 95 can't be attacked)
...
- Fixed 'catapult tried to attack non-catapultable hex!' problem, now catapult attacks attackable wall parts only
- Fixed problem that the server performed applying damage on a wall part twice
- Added methods for checking what wall parts are attackable and if a wall part is potentially attackable
- Added functionality to trace net packages
- Added functionality to trace std::vectors
- Added tracing for CatapultAttack(CPack)
- Updated various toString methods to use {} instead of []
- Refactoring
2013-12-08 17:54:13 +00:00
beegee1
3e4407593f
- Refactoring for checking victory/loss conditions (use enum class instead of magic numbers)
...
- Improved showing player lost message for one special case
2013-11-17 17:57:04 +00:00
Ivan Savenko
ee6cdbeffe
went through the rest of cppcheck warnings, mostly harmless
2013-11-07 12:48:41 +00:00
Michał W. Urbańczyk
0abbe71b25
Merged fixes from the branch.
2013-09-28 00:58:33 +00:00
Michał W. Urbańczyk
c6c53a5b1e
Few more freeze-related fixes.
2013-09-28 00:30:12 +00:00
Michał W. Urbańczyk
d1807585ad
Fixed at least two #1428 freezes, likely more.
...
They were occurring when AI hero visited bank that was also guarded by neutral creature nearby,
2013-09-27 23:46:58 +00:00
Ivan Savenko
208df34fc2
bigfixing & new file: launcher/jsonutils.cpp
...
- launcher uses json parser from vcmi lib instead of one from Qt #1469
- fixed abilities overrides for some creatures #1476
- fixed hero portraits in seer huts #1402
- ttf fonts will render text in utf-8 mode. Not really useful at this point
- new settings entry, available in launcher: encoding. Unused for now.
2013-09-21 18:29:26 +00:00
DjWarmonger
d06b02638b
Partially implemented #481
2013-09-17 12:02:33 +00:00
Michał W. Urbańczyk
d4a8e90460
Fixed #1448 , #1470
2013-09-14 19:09:35 +00:00
Ivan Savenko
45c2bd7511
hopefully fixes #1397 . Still too much magic in this code :(
2013-08-09 17:37:41 +00:00
Ivan Savenko
8beee29482
- corrected "isToReverse" check, partially fixes 1397
...
- ballistics fix
- minor
2013-08-06 15:25:51 +00:00
Ivan Savenko
c81a31c74a
- catapult attacks should be identical to H3
...
- catapult may miss and attack another part of wall instead (this is how it works in H3)
- minor fixes
2013-08-06 11:20:28 +00:00
Ivan Savenko
f82122d9be
second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
...
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Ivan Savenko
2b45e13c5c
c++03 -> c++11 switch:
...
- use std versions of function, bind and ref
- OVERRIDE -> override
- NULL -> nullptr
- use std versions of random distributions
NOTE: this may be last revision that supports gcc-4.5
2013-06-26 11:18:27 +00:00
Michał W. Urbańczyk
f19e41d38c
Fixed #1269 .
...
Version set to 0.93.
2013-05-31 22:23:53 +00:00
Michał W. Urbańczyk
79026bdfde
Introduced strongly typed QueryID.
...
Exchange between heroes is now a proper first-class query. Fixes #1269 . #66 should also be finally fully fixed.
VC projects: /Zm flag to fix compilation issues with recent Boost.
2013-05-27 10:53:28 +00:00
Michał W. Urbańczyk
e8354908c3
Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955 , #1053 , #1063 , #1191 . Needs testing.
...
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
beegee1
c7c2686379
- Integrated the logging API into the client and the lib - Remove some more comments and switched to /// style - Fixed recursive locks - Added Global.h to CMakeLists(now visible in qt-creator) - Removed usage of shared_mutex - Added unique_ptr to CLogger targets
2013-04-09 14:31:36 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00
Ivan Savenko
c4c592b773
- bugfixing: #1243 , #1227 , #1241 , #1236 , #1233
2013-03-14 20:44:00 +00:00
mateuszb
dbec99ffc7
* PlayerColor and TeamID refactoring
2013-03-03 17:06:03 +00:00
Michał W. Urbańczyk
d45a554fec
Significant changes to saving system. Now both client and server store their lib part.
...
Desync detection upon loading. Fixed many desyncs. (more remain)
Monsters won't have creature count 0 even if that is set as creature properties.
2013-02-18 22:37:22 +00:00
mateuszb
560315bc48
* SlotID refactoring
2013-02-16 14:03:47 +00:00
Michał W. Urbańczyk
12e627ec49
Fixed #1206 .
2013-02-14 13:19:03 +00:00
mateuszb
9e00090c42
* refactoring, a few intriguing problems remain
2013-02-13 23:55:42 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +00:00
Ivan Savenko
5a8787b74d
- fixed some compiler warnings, gcc\clang work fine
...
- better handling of innoextract in vcmibuilder.
2013-02-11 22:36:12 +00:00
mateuszb
8a8eecd063
* refactoring
2013-02-11 19:11:34 +00:00
mateuszb
86dc9386d6
* refactoring, including a generic solution for IDs
2013-02-10 23:24:57 +00:00
Michał W. Urbańczyk
13b3d23b26
Finally working hero crossover in campaigns.
...
Uncovered new secrets of h3m.
2013-02-09 18:18:55 +00:00
mateuszb
f1c78e3260
* creature ID refactoring
...
* double week creatures are configurable now
2013-02-07 17:34:50 +00:00
mateuszb
af5287c193
* fixed opening custom campaign selection window
...
* artifact positions refactored
* vstd::advance allows moving between enum values
2013-02-06 23:24:43 +00:00
mateuszb
25663ce7af
* fixed vector<bool> serialization
...
* refactoring
2013-02-04 19:43:16 +00:00
alexvins
4bc2fd5519
[c::b] renamed map subfolder to workaround dependency tracking bug
2013-01-03 12:19:20 +00:00
beegee1
c336abcf4a
* Added RMG tab to pregame(disabled by default, activate with: enableRMG=true in settings.json) * Fixed tab intendation * Renamed colors to more comprehensible names
2012-11-11 12:23:31 +00:00
beegee1
a878f5f79a
* Separated map loading from the map object * Moved map classes to lib/Map * Renamed map.h/cpp to CMap.h/cpp * Profiling of map loading is now optional * Updated CMemoryStream
2012-11-03 13:30:47 +00:00
Ivan Savenko
15a7f43e11
- fixed #1075 , #1080 , #1081
...
- fixed some warnings from cppcheck
2012-09-26 13:13:39 +00:00
mateuszb
f3f4a7633d
* fixed 1085
...
* fixed starting hero is granted in normal scenarios
* introduced TArtifactInstanceID
2012-09-25 14:40:39 +00:00
mateuszb
18bd898cb1
* fixed bug when starting certain maps in campaigns
...
* introduced TPlayerColor typedef
2012-09-24 16:14:53 +00:00
mateuszb
6a81c8b1af
* campaign against magic numbers
...
* ArtifactID was misleading and wrongly used in one place -- renamed and fixed
* minor changes
2012-09-23 18:01:04 +00:00
mateuszb
8e3de98059
* restoring campaign features
...
* minor improvements
2012-09-21 17:59:54 +00:00