Dydzio
d2e9848443
Fix RANGED_RETALIATION bug
2017-09-04 23:35:48 +02:00
Dydzio
4cab76900f
Add SYNERGY_TARGET and [wip]-SHOOTS_ALL_ADJACENT
2017-09-04 23:32:24 +02:00
Henning Koehler
31ca4db8bd
fixed manual control for arrow towers
2017-09-05 00:30:43 +12:00
Henning Koehler
654ca96e9d
fixed code format and other minor issues
2017-08-30 19:19:54 +12:00
Henning Koehler
69a538a600
added bonus type MANUAL_CONTROL
2017-08-28 20:09:27 +12:00
Henning Koehler
7e5c1ec7f8
made artillery bonus-based; supports multiple bonus shots
2017-08-27 21:05:17 +12:00
Henning Koehler
8bdb8f01ca
made scholar skill bonus-based
2017-08-27 20:10:25 +12:00
Henning Koehler
25e6b5cc07
added bonus type SECONDARY_SKILL_VAL2; refactored CSkillHandler::defaultBonus; made eagleEye level bonus-based
2017-08-27 17:40:52 +12:00
Henning Koehler
fc77c40a82
made ballistics bonus-based
2017-08-26 21:16:05 +12:00
Henning Koehler
19e619f61e
wisdom is now bonus-based
2017-08-26 20:49:29 +12:00
Arseniy Shestakov
8180e4d5c5
VCMIDirs: improvements for development on Mac and Linux
...
Also added /usr/share/games in VCMIDirsXDG::dataPaths for mantis#2189.
2017-08-25 08:43:27 +03:00
Dydzio
1df939bf70
Working FIRST_STRIKE ability
2017-08-19 20:39:24 +02:00
Dydzio
ea17b0f458
Major overhaul of VS related files
2017-08-19 15:58:55 +02:00
Dydzio
e3ba491fa1
Use multi-core compile by default, fix VCMI_client path
2017-08-19 13:27:24 +02:00
Arseniy Shestakov
fee999300e
VCMIDirs: add hack to run from single directory on Mac and Linux
...
Also change working directory to where binary is on all platforms except Android
2017-08-16 16:10:08 +03:00
Arseniy Shestakov
40af43c46e
CMake: massive rework for Mac build and other improvements
...
- macOS: RPATH-related code all removed or disabled
- macOS: new osx/CMakeLists.txt to run some install-code running after all subdirectories
- Assets copying into the runtime output directory implemented for Mac and Linux development
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
56f89270db
macOS: full rework of Mac packaging process
...
- Most of outdated CMakeLists code removed.
- All Mac-specific code is removed include Sparkle support and vcmibuilder app.
- DMG buidling reimplemented using macdeployqt command.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
193f492b99
CMake: cleanup, project generation and other improvements
...
- Use EXCLUDE_FROM_ALL for FuzzyLite and GoogleTest to avoid inclusion of unneded headers and libraries into installers.
- Set minimum CMake version only in main CMakeLists.txt
- Set project name only in main CMakeLists.txt
- Visual Studio: add assign_source_group function to generate proper filesystem tree
- Visual Studio: set PROJECT_LABEL so generated projects have same names binaries on Windows
- Visual Studio: enabled USE_FOLDERS for projects grouping. This also possibly affect other IDEs.
- Added add_subdirectory_with_folder function to make sure 3rd-party libraries are affected by USE_FOLDERS.
2017-08-16 16:10:07 +03:00
AlexVinS
8c0fab1dcf
fixes
2017-08-12 14:36:37 +03:00
AlexVinS
15138c23de
Finished conversion to new logging API
...
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
AlexVinS
a8a3230798
Logging cleanup (server).
2017-08-11 16:50:00 +03:00
AlexVinS
046e1a7c29
Prepared JsonNode for new logging API.
2017-08-11 16:27:42 +03:00
Arseniy Shestakov
21074e13c3
macOS: always change working directory for launcher and server
...
This make relative paths work properly when launched from DMG or from different directory.
2017-08-09 01:33:12 +03:00
ArseniyShestakov
cb40c093f8
Avoid boost::optional assignment for Boost 1.64 compatibility ( #360 )
...
Two options here: to use emplace from 1.56 or boost::make_optional.
Unfortunately Ubuntu 14.04 is using 1.54 and I'd rather not to break it.
2017-08-05 16:09:29 +03:00
ArseniyShestakov
9d9c026c85
Code style: serialize everything on own lines for easier debugging ( #357 )
2017-07-31 16:35:42 +03:00
Arseniy Shestakov
6d9f99d4de
Code style: and one more pass on lambda expressions parameter list
2017-07-19 02:11:17 +03:00
Arseniy Shestakov
2da3d8a563
Code style: remove senseless comments
2017-07-18 00:04:00 +03:00
ArseniyShestakov
b52cfe5283
Code style: use parentheses for creating heap-based objects ( #344 )
2017-07-16 12:58:05 +03:00
AlexVinS
7374689301
Fixed https://bugs.vcmi.eu/view.php?id=2715
2017-07-16 00:02:55 +03:00
ArseniyShestakov
a4c0ad94b1
Code style: remove default value hints in definitions ( #342 )
...
Some are outdated and this is something IDE are useful for.
2017-07-15 14:08:20 +03:00
ArseniyShestakov
ea0ceb1805
Merge pull request #323 from vcmi/CStackTweaks
...
CStack tweaks
2017-07-15 00:42:08 +03:00
ArseniyShestakov
006fa6c6df
Merge pull request #332 from FeniksFire/SmallBugFix
...
Fix handling damage from obstacles
2017-07-15 00:09:37 +03:00
AlexVinS
df13851176
fixed wrong battle result
2017-07-14 23:43:03 +03:00
Arseniy Shestakov
f1e5797834
Code style: move or add licensing information on top of every file
2017-07-14 01:26:03 +03:00
Arseniy Shestakov
dbcd79c48a
Code cleanup: remove double and unneded semicolons
2017-07-12 22:01:10 +03:00
AlexVinS
e677373241
tweak
2017-07-10 08:53:29 +03:00
AlexVinS
1fe01b7254
Moved defensive stance log message building to server side.
2017-07-10 04:05:36 +03:00
AlexVinS
ea3502ed60
Removed CStack::totalHealth()
2017-07-09 20:23:51 +03:00
AlexVinS
44fc0cb57b
Broken CHealth dependency on CStack
2017-07-09 19:49:52 +03:00
FeniksFire
43d324b561
Fix handling damage when stack wait in moat.
...
Currently stack don't take any damage from moat when he stay in same
place.
2017-07-09 15:07:20 +02:00
FeniksFire
ce09da783a
Fix taking double damage from the same moat.
...
When stack move to the double moat in the fortress, he will be damaged
twice. I fixed it like in original h3, now stack will be damaged once a
time.
2017-07-08 21:44:26 +02: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
FeniksFire
45a63e003c
Fix: getting additional damage from destination obstacles
...
When the stack was selected to pass through 2 field in moat, first hex
stopped him but then he got also additional damage from destination
obstacle.
2017-07-08 17:40:27 +02:00
Victor Luchits
30cc2f6a01
Change the output path for cmake so all files go into the same root directory
2017-07-07 13:08:53 +03:00
ArseniyShestakov
b670bcb46f
Merge pull request #313 from vcmi/spellCastQuery
...
Spell cast query
2017-07-04 02:43:22 +03:00
AlexVinS
dbaf3cb023
Cleanup & formatting
2017-07-04 01:32:40 +03:00
FeniksFire
8577445b10
Simple fix: http://bugs.vcmi.eu/view.php?id=2366
2017-07-03 22:41:16 +03:00
AlexVinS
a65befaa08
Moved town portal logic to mechanics class
2017-07-03 21:43:04 +03:00
AlexVinS
3d1a84875e
Queries refactoring
...
* Moved SUMMON_BOAT special case to mechanics
* Partially moved Town portal logic to mechanics class
* Added generic query reply to CCallback
* Redesigned Queries so that base API do not depends on CGameHandler
* Got rid of CGameHandler::castSpellRequest
* Removed CGameHandler::castSpell
* Added new Query type for town portal dialog (not used yet)
2017-07-03 21:43:04 +03:00
ArseniyShestakov
5dfb7a5771
Merge pull request #317 from vcmi/attackerOwned
...
Refactored CStack::attackerOwned to CStack::side
2017-07-03 16:19:54 +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
ArseniyShestakov
2f305cc68d
Remove code related to duel mode ( #312 )
...
Remove code related to duel mode
2017-07-01 16:30:13 +03:00
Arseniy Shestakov
fb19a3a068
CMake: update all CMakeLists to include actual sources and headers
...
This make it easier to use project with newer CMake and Qt Creator.
I decided against using GLOB since we don't rename files that much.
2017-06-29 02:03:37 +03:00
ArseniyShestakov
bd27636cd9
Merge pull request #316 from FeniksFire/improvingTheBattle
...
Refactoring.
2017-06-28 19:55:03 +03:00
FeniksFire
4113bdab01
Moving some files from lib to the battle subdirectory.
2017-06-26 15:26:08 +02:00
Arseniy Shestakov
eeff7ee315
Few minor code improvements
...
* All command line options now case insensetive.
* SDL_VIDEO_X11_DGAMOUS unused in SDL2 so it's removed.
* Added current year into the --help output for client and server.
* Moved DO_NOT_START_SERVER into session settings.
2017-06-26 04:56:28 +03:00
AlexVinS
bb0f388f23
Cheat 'vcminahar' now give FREE_SHIP_BOARDING bonus
...
https://bugs.vcmi.eu/view.php?id=2092
2017-06-14 11:41:36 +03:00
AlexVinS
754d63f7a5
hack-fixed ENCHANTED trigger for first 2 rounds
2017-06-13 21:50:59 +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
AlexVinS
0190c9804e
formatting
2017-06-06 19:45:34 +03:00
AlexVinS
a31c28ec33
Unified war machine mechanics.
...
* it is possible to define new war machines
* added warMachine field to artifact configuration
2017-06-06 19:18:26 +03:00
Arseniy Shestakov
1a60c1a94b
Shared memory refactoring and command line control options
...
Now client accept following options:
--disable-shm - disable shared memory usage
--enable-shm-uuid - use UUID for shared memory identifier
UUID is useful when a lot of clients starting simultaneously.
Needed for testing and was easier to implement than alternatives.
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
a2284c3209
Automated testing: graceful shutdown for when game is ended
...
Before when CloseServer / LeaveGame applied there was no thread sync on server.
Now server use std::atomic bool for synchronization and graceful shutdown.
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
195e979a18
get rid of CBattleInfoCallback::battleCanCastThisSpell
2017-06-05 23:46:55 +03:00
AlexVinS
6c308956f9
get rid of CBattleInfoCallback::battleCanCastThisSpellHere
2017-06-05 23:25:48 +03:00
AlexVinS
1d1519db5c
ENCHANTER_CASTING trigger tweak
2017-06-05 21:41:27 +03:00
AlexVinS
c82afe7156
switch CMapService API to ResourceID
2017-06-04 22:42:48 +03:00
Arseniy Shestakov
bc6f65af04
PlayerCheated: new netpack to apply losing / winning cheat code
2017-06-02 03:34:50 +03:00
Arseniy Shestakov
4b0f702e7e
Add LeaveGame netpack and avoid replying on it and CloseServer
2017-06-02 02:51:44 +03:00
Arseniy Shestakov
c7e7a4d7be
Make usage of boost::interprocess optional
...
If shared memory allocation failed on client server will be started without shared memory option.
Only downside of this is that server wouldn't be able to fallback to random port if default is busy.
2017-06-02 02:44:41 +03:00
Arseniy Shestakov
cc163c4e05
Refactoring of networking code on server and client
...
* Avoid server crash on dummy connect / disconnect.
* Avoid server crash when host left from PreGame.
* Server print it's state with name when it's waiting for connection or in pregame.
* Server will use random port if specified port is busy.
2017-06-02 02:44:39 +03:00
Arseniy Shestakov
9b867808a7
Multiplayer: threat disconnected player just like if he lost
...
Now even if player disconnected on it's own turn game will continue.
2017-05-31 08:04:31 +03:00
Arseniy Shestakov
db5a52a0f8
Multiplayer: gracefully handle player loss unless it's a host
...
We don't want server to shutdown after just one of players lost the game.
2017-05-31 08:04:26 +03:00
FeniksFire
039e3842fc
Aesthetic changes in BattleHex ( #303 )
2017-05-29 10:33:34 +03:00
AlexVinS
25d06c8d70
Fixed CID 1375686
2017-05-28 15:00:55 +03:00
Fay
b5daa24982
Android support ( #299 )
...
* AI libs registering shenanigans on android;
* Fixed resolution aspect + mouse event scaling;
* Proper server init/deinit (through android IPC);
Enabled threaded init in CMT;
* Prevented a deadlock in logger on some devices;
* Fixed frozen intro frame after interrupting the video;
Added android progressbar displaying during initial data loading;
* Hacky fix for choppy animations during heroes movement (should look better now, but it's definitely not a good solution);
* Changes/fixes for new android launcher building process;
* Fixed app hang after getting SDL_QUIT when activity was destroyed;
* Functioanal, configurable advmap swiping support;
* VCMI changes cleanup;
Added few missing VCMI_ANDROID guards on swipe mechanics;
* Removed unneeded sleep in server startup code for android;
* Removed android ioapi hack (fixed in newest ndk);
* Removed unused android's library loading logic;
* Added android's swipe option to settings schema;
* Moved NO_STD_TOSTRING to be defined in global.h instead of build files;
2017-05-25 20:57:20 +03:00
AlexVinS
3c893a6bec
Few spell-related tweaks
2017-03-18 14:08:02 +03:00
AlexVinS
5da109ad30
tweaks
2017-03-18 13:25:12 +03:00
FeniksFire
3de891b4b4
Moving/dividing classes from BattleState to separate files.
2017-03-17 16:48:44 +01:00
Michał Janiszewski
f5ebc763b4
Add override
keyword where applicable
2017-02-17 14:39:16 +01:00
Dydzio
86fe44d9ac
Counterattack correction. Fixes bug #2501
...
Creatures should not be able to counterattack multiple times during one opponent attack under any circumstances.
2017-02-10 00:36:15 +01:00
dydzio
21f4a0ba60
Implement ranged counterattack
2017-02-04 10:33:45 +01:00
Dydzio
6c8ef79727
Merge branch 'develop' into MakeWOGGreatAgain
2017-02-01 23:14:36 +01:00
dydzio
cffa616bf1
Refactor SOUL_STEAL bonus handler
2017-02-01 22:58:31 +01:00
dydzio
4c4539b00e
Rename ADVANCED_CATAPULT bonus to reflect the purpose better
2017-02-01 15:05:46 +01:00
dydzio
a8f04aede7
Extend creature siege support. Fix bug #2600
2017-02-01 11:25:57 +01:00
dydzio
b5bfb763fd
Allow different subtypes of SOUL_STEAL work concurrently
2017-01-29 14:45:36 +01:00
dydzio
330c0961b7
Add missing code fix
2017-01-29 12:52:18 +01:00
dydzio
2f1f725ae6
Code improvements, minor fixes
2017-01-29 11:50:37 +01:00
dydzio
f447e44427
Add missing skill description, handler refactoring
2017-01-26 21:24:01 +01:00
dydzio
3e285c2004
Add santa gremlin missing creature ability, fix shooter init bug
2017-01-26 20:53:28 +01:00
dydzio
daec6d933c
Add "WoG werewolf"-like ability support
2017-01-22 20:28:08 +01:00
dydzio
c310138fc3
Add WoG ghost ability support
2017-01-20 15:48:45 +01:00
DjWarmonger
80d5f7b4a4
Updated project files to MVS 2015 (in fact, it's trivial).
2016-12-12 19:14:45 +01:00
AlexVinS
204ee37ae4
boost/program_options has only 2 uses, and unlikely will be used more -> removed form Global.h.
2016-11-28 21:38:17 +03:00
AlexVinS
eeb21d2446
fixed regression
2016-11-28 05:19:44 +03:00
AlexVinS
2a62ca9522
Fixed CID 1197353
2016-11-28 02:50:43 +03:00
AlexVinS
60b1a9ac52
Fixed CID 1197370, CID 1197369, CID 1197371, CID 1197372, CID 1197374, CID 1288881, CID 1197376
2016-11-27 23:18:21 +03:00
AlexVinS
609c6f81bd
Fixed a few CWE-457
2016-11-27 22:37:41 +03:00
AlexVinS
abe4beebc6
Fixed CID 1197516
2016-11-27 19:13:40 +03:00
AlexVinS
4b2bbd0d76
Fixed CID 1288864
2016-11-26 22:06:12 +03:00
AlexVinS
7befacfb1e
Simplify CGameHandler::makeBattleAction
2016-11-26 20:50:05 +03:00
AlexVinS
86e33a4c45
[Refactoring] Unified SetResources NetPack API.
2016-11-26 15:14:43 +03:00
AlexVinS
0e57825679
Fixed CID 1197463
2016-11-25 21:17:24 +03:00
AlexVinS
e7a0bd690a
Fixed CID 1197453
2016-11-25 17:39:06 +03:00
AlexVinS
dc39fb2d14
Removed useless CPack::type field.
...
* it was an ancient network protocol artifact
2016-11-18 17:45:59 +03:00
DjWarmonger
9db3bfcbf2
Merge pull request #212 from vcmi/refactoring/serialization2
...
Apparently it works - both new and old saves load at least.
2016-11-01 17:25:39 +01:00
Ivan Savenko
256f43f467
Fixes zero-initialized fileVersion member in deserializer
2016-10-29 19:52:19 +03:00
Vadim Markovtsev
24793e115c
Fix formatting
2016-10-29 13:45:08 +02:00
Vadim Markovtsev
dccc25268c
Fix the initial creature spells at battle start
...
Before: built-in spells appear on first move of the creature
After: all built-in spells appear before the first move but after tactics
Example: Air Shield for experienced skeletons
2016-10-28 23:37:45 +02:00
Ivan Savenko
5b76c3f4eb
Rebase of codebase changes for refactored serializer
...
Some of newer fixes not yet merged there and save compatibility a bit off.
2016-10-27 18:12:20 +03:00
Arseniy Shestakov
15b4774076
Logging: always print version of client and server in the begining
2016-10-27 17:14:20 +03:00
Arseniy Shestakov
cb3d6a24e7
Cmake: cleanup for commit hash in build version
...
Since it's available in lib we don't need to include it everywhere.
2016-10-27 17:01:29 +03:00
Vadim Markovtsev
da1c9cf249
Fix rebuilding everything on HEAD change
2016-10-23 16:56:53 +02:00
Vadim Markovtsev
d0beb27197
Add git commit hash into the version string
2016-10-23 15:45:47 +02:00
Vadim Markovtsev
6fe5f2a7f6
Fix segfault / assertion failure during battle
...
The cause of the assertion failure at BattleStackAttacked::applyGs "at"
was shooting and casting some spell in handleAttackBeforeCasting() and
eventually killing the whole stack. Fix: filter dead stacks in the end of
handleAttackBeforeCasting().
2016-10-12 19:11:12 +02:00
Vadim Markovtsev
76ac9991ed
Format code
2016-10-12 17:22:35 +02:00
Vadim Markovtsev
34cf92cb9b
Change logging style
2016-10-03 20:32:01 +02:00
Vadim Markovtsev
eac5aab396
Survive client<->server ABI mismatch
2016-10-02 22:45:00 +02:00
AlexVinS
723734fd04
Fixed commander always dies.
2016-10-02 17:15:25 +03:00
Arseniy Shestakov
7b7958c548
Cheat codes: add option to apply cheats on different players
...
All suitable codes can now be used with "ai", "all" color or with object ID:
vcminahar all - will apply cheat to all heroes of all players
vcminahar ai - will apply cheat to all heroes of AI players
vcminahar blue - will apply it to all heroes of blue player
vcminahar 553 - will apply cheat to hero with instance id of 553 if it's exist
Cheats without options work as before.
2016-10-02 16:21:46 +03:00
AlexVinS
cd5c0b3297
Style tweaks.
2016-10-02 15:22:55 +03:00
AlexVinS
23b7a803b6
cleanup
2016-10-01 20:07:36 +03:00
AlexVinS
a1ff409080
Tweak
...
* handle BIND_EFFECT by bonus type
2016-10-01 08:04:39 +03:00
AlexVinS
72461c5c2e
Fixed http://bugs.vcmi.eu/view.php?id=2268
2016-09-29 23:14:22 +03:00
AlexVinS
9097ffbd8a
Handle HYPNOTIZE effect in case of FEAR and ENCHANTED effects
2016-09-29 22:26:28 +03:00
AlexVinS
83b3c700dd
Handle HYPNOTIZE effect in case of mana drain
2016-09-29 21:47:41 +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
34b8b2c91b
Fixed Berserk spell effect aka Bonus::ATTACKS_NEAREST_CREATURE
...
* issue http://bugs.vcmi.eu/view.php?id=2513
* fix is not retroactive
2016-09-29 14:11:15 +03:00
AlexVinS
8f18dec5e3
Cleanup
2016-09-29 12:13:06 +03:00
AlexVinS
7874dffa7d
fixed http://bugs.vcmi.eu/view.php?id=2282
2016-09-24 10:06:24 +03:00
AlexVinS
62d272f3e5
Cleanup
2016-09-22 21:35:37 +03:00
AlexVinS
ea2e336f54
Merge branch 'develop' into SpellsRefactoring8
2016-09-22 16:40:32 +03:00
Arseniy Shestakov
58f90b736b
New cheat vcmiungoliant: hide all tiles that out of sight radius
2016-09-20 10:51:57 +03:00
Arseniy Shestakov
75cffa7d0b
CGameHandler::arrangeStacks: honour removableUnits of CGGarrison
...
Now server properly check allowed actions for CGGarrison. Fix issue 2303
Server now allow all stack arrangement as long as troops stay inside garrison.
It's possible to put more troops inside using swap/merge/split, but not take anything out if it.
2016-09-19 03:20:44 +03:00
AlexVinS
ef34d21941
Passive cast can be blocked by spell level limit.
2016-09-18 17:21:56 +03:00
AlexVinS
dcb0e8a0c1
Tweak
2016-09-18 13:39:02 +03:00
Arseniy Shestakov
1d45d214e5
CGameHandler refactoring: when possible only use const data
...
We only change gamestate via netpacks so there is absolutely no reason to use non-const pointers and functions in GH.
2016-09-18 11:53:51 +03:00
AlexVinS
d993710f8e
Merge branch 'develop' into SpellsRefactoring8
2016-09-17 20:29:44 +03:00
Arseniy Shestakov
7ae4e70134
CGameHandler: fix player id logging
2016-09-17 00:05:10 +03:00
Arseniy Shestakov
ea65fb15c2
CVCMIServer: do not crash if port not specified
2016-09-16 20:01:07 +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
33d1895d21
Merge branch 'develop' into SpellsRefactoring8
2016-09-11 18:34:18 +03:00
Arseniy Shestakov
fe6c0cf89b
Use RandomGeneratorUtil::randomShuffle for reproducible gameplay
2016-09-11 00:10:52 +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
f8767a6380
cleanup
2016-09-10 09:37:18 +03:00
Arseniy Shestakov
70abae9b51
CGameState::battleGetBattlefieldType: use RNG by ref
...
For now I not sure about proper place for battleGetBattlefieldType so I left it in GS
2016-09-09 23:16:43 +03:00
Arseniy Shestakov
ea63497b19
Move CGameState::setupBattle code to CGameHandler::setupBattle
...
No reason to keep this code in GS.
2016-09-09 23:16:43 +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
ca819b3cda
CGHeroInstance::nextPrimarySkill: don't use GS RNG directly
...
Code used from both GS and CGameHandler.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
c8bcb14d34
CCallbackBase: add CRandomGenerator to all callbacks
...
This is easiest way to make server RNG available to CBattleInfoCallback.
Now server, client and gamestate have own RNG instance.
Only server and gamestate RNGs are serialized.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
85f49bc968
CGHeroInstance::initArmy: don't use GS RNG. Get RNG through a ref
...
This function used by both server-side and gamestate so it's must use appropriate random source.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
2ba3b20928
Multiple changes to RNG usage to both client and server
...
Server should never use RNG from CGameState directly.
Instead server get's own RNG that's state is secret for client.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
6747555339
CGameHandler: use ObjProperty enum instead of magic numbers
2016-09-09 17:42:16 +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
1ce4675df6
Tweaks
2016-09-06 13:33:11 +03:00
AlexVinS
686cd00c68
Cleanup.
2016-09-06 12:26:01 +03:00
AlexVinS
18fc94d709
WIP on SpellCastContext
2016-09-06 06:40:23 +03:00
AlexVinS
d4a35c6839
Simplify getAffectedStacks arguments. casterColor not needed anymore.
2016-08-30 12:14:08 +03:00
AlexVinS
85f94676a5
Server: convert logging
2016-08-30 01:13:07 +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
abad3cfb17
PlayerState::daysWithoutCastle: change in netpacks only. Fix issue 2462
...
Moving code from CGameHandler to NetPacksLib without changes.
2016-08-23 08:02:04 +03:00
AlexVinS
439aeecc8b
[c::b] re-enabled PCH, tested with GCC 5.3. (Older versions may not work)
2016-08-18 13:40:35 +03:00
Arseniy Shestakov
948cca02cc
Fixes to some crashes on exit and to have cleaner valgrind output
2016-08-18 06:52:10 +03:00
Arseniy Shestakov
39fe9472b6
CGameHandler::moveArtifact: check lock status by slot instead of id
...
This one fix issue 2455. We still need to do something with ArtifactID::ART_LOCK or ids for artifact from mods since they might conflict with each other.
2016-08-18 06:35:29 +03:00
AlexVinS
e7f2858d33
Use make_unique for TurnInfo in CGameHandler.
...
* Fixes use after free @CGameHandler.cpp:2093
2016-08-17 08:53:36 +03:00
Arseniy Shestakov
b0045fa357
Fix TurnInfo memory leaks
2016-08-16 15:47:21 +03:00
AlexVinS
36c44c2ce7
projects update
2016-08-13 16:57:11 +03:00
AlexVinS
72f79a3ad7
Draft boost::format based log proxy.
2016-08-13 16:57:09 +03:00
Arseniy Shestakov
2e70d29479
CGameHandler::applyBattleEffects: improve Fire Shield support
...
Now damage is limited to total health of defending stack and clone have no file shield damage. In same time damage calculation is likely remain incorrect.
2016-03-14 15:28:17 +03:00
Arseniy Shestakov
605962019b
CGameHandler::giveSpells: improve Conflux grail building support
...
Aurora Borealis give hero spells of all levels even if only first level of mages guild is built. Widsom requirement is still remain in place of course.
2016-03-13 13:26:00 +03:00
Arseniy Shestakov
bee0c6d705
CGameHandler::buildStructure: give spells after gs apply. Fix issue 2425
...
Hero will also immidiately get new spells when Library built in Tower or Grail in Conflux.
2016-03-13 11:31:09 +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
e3e27b9bfe
Move ghost creation to inner battle loop
2016-03-01 11:07:45 +03:00
AlexVinS
4bf9036c7b
Ensure that ghost stacks are created only by BattleStacksRemoved packet.
...
This will allow client to receive notification.
2016-03-01 05:24:35 +03:00
AlexVinS
2c48c95c8d
Fix casualties calculation for commander
2016-03-01 04:06:32 +03:00
AlexVinS
f890037008
Fixes
2016-02-29 04:42:15 +03:00
AlexVinS
5df8d1cbd0
Update low level battle stacks accessor for ghost selection support.
2016-02-28 05:10:20 +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
AlexVinS
5d5ad99436
Rename DEAD_CLONE -> GHOST, as this will be possible for any stack
2016-02-28 00:13:34 +03:00
Arseniy Shestakov
f8c6751707
CGameHandler::endBattle: change town ownership when hero lost siege
2016-02-22 03:35:38 +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
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
11dc428b1e
Battles: move hexes enum to GameConstants and fix wall position
...
Before we had hex 62 marked as destructible wall while actually it's must be 78.
2016-02-09 17:38:59 +03:00
Arseniy Shestakov
01b4d0ae01
Battles: better handling for walking double-wide creatures
...
Request opening of gate even if only second half of double-wide stack going to stop on it.
2016-02-09 15:41:37 +03:00
Arseniy Shestakov
a07761b608
Battles: readable identifiers enum for drawbridge and gate hexes
...
Dont like to locate them in BattleHex, but it's best place I can see so far.
2016-02-09 12:25:13 +03:00
Arseniy Shestakov
731de439eb
Battles: drawbridge support for double-hex flying creatures
2016-02-09 11:59:20 +03:00
Arseniy Shestakov
28aff78f2c
Battles: implement drawbridge support for flying creatures
2016-02-09 11:30:09 +03:00
Arseniy Shestakov
fbb34b8d04
Battles: always update drawbridge state after battle state changed
...
Now gate tower destruction will immidiately affect drawbridge state.
2016-02-09 10:59:33 +03:00
Arseniy Shestakov
47433919ab
Battles: handle drawbridge lowering from stack start position
2016-02-09 10:45:59 +03:00
Arseniy Shestakov
015a57f81c
Battles: more advanced drawbridge mechanics on server-side
...
Everything work as intended except starting point not included in path.
So we send BattleDrawbridgeStateChanged package when already standing on bridge hex.
2016-02-08 12:16:47 +03:00
ArseniyShestakov
890ae43f55
Merge pull request #180 from Zyx-2000/FileInfo
...
Refactored CFileInfo & ResourceID
2016-02-08 04:55:39 +03:00
ArseniyShestakov
7f68124b97
Merge pull request #136 from vcmi/issue/1372-2
...
issue/1372
2016-01-31 20:28:54 +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
Vadim Markovtsev
918fbd8530
Refactor hero's mana regain
2016-01-30 13:51:07 +03:00
Vadim Markovtsev
22fc4fd3e9
Fix 2406 reset potentially available heroes
2016-01-30 10:02:33 +03:00
AlexVinS
16e0d18880
Added special slots for war machines and arrow towers
2016-01-30 00:53:53 +03:00
Arseniy Shestakov
57328bdc83
Battles: implement basic drawbridge mechanics
...
Movement to blocking hex 94 not yet properly handled as stack movement code need to be rewritten first.
Also gate destruction not immidiately affect drawbridge state.
2016-01-29 22:43:35 +03:00
AlexVinS
ba017c443d
Start from diff of pull request #124 from vcmi/issue/1372
2016-01-29 21:05:17 +03:00
Zyx-2000
3a1a8e3d47
further refactoring-related changes
2016-01-29 15:16:14 +01:00
Zyx-2000
c3e8c8bc1c
Merge branch 'develop' into FileInfo
2016-01-27 19:21:43 +01:00
AlexVinS
d7c0c3759a
Merge branch 'Zyx-develop' into develop
...
Conflicts:
lib/filesystem/AdapterLoaders.h
2016-01-27 18:53:41 +03:00
Vadim Markovtsev
36eaa399e7
Add hardcodedFeature to switch winner's retreating with no troops
2016-01-27 16:42:17 +03:00
AlexVinS
bffdc2813d
revert some project changes
2016-01-27 15:21:29 +03:00
ArseniyShestakov
4483c45905
Merge pull request #167 from vmarkovtsev/issue/1569
...
Fix 1569 winning hero with no troops shall retreat
2016-01-27 11:48:22 +03:00
Vadim Markovtsev
7772b6de74
Fix 981 reset hero on hiring after retreat/surrender
2016-01-26 22:48:31 +03:00
Zyx-2000
70e3c81b9f
Replaced CFileInfo with more correct and efficient alternative
2016-01-26 14:51:38 +01:00
Vadim Markovtsev
6849ff846c
Fix memory corruption with a draw; race in setBattleResult()
2016-01-25 15:55:32 +03:00
Vadim Markovtsev
afa95312ba
Fix 2139 captured spell scroll descriptions
2016-01-25 08:49:26 +03:00
Vadim Markovtsev
7185890723
Fix double free in battleAfterLevelUp() in case of a draw
2016-01-24 01:31:39 +03:00
ArseniyShestakov
b19e082f37
Merge pull request #166 from vmarkovtsev/issue/1723
...
Fix 1723 quest crash on combined arts
2016-01-23 23:23:07 +03:00
Vadim Markovtsev
2a6a8cd433
Fix segfault when non-hero forces win
2016-01-23 19:42:56 +03:00
Vadim Markovtsev
9ffd0155e6
Fix 1810 suggest artifact assembly
2016-01-23 16:24:43 +03:00
Vadim Markovtsev
99992599db
Partially fix 1416 tavern hero rotation
2016-01-22 22:37:46 +03:00
Vadim Markovtsev
9dfef2186d
Fix 1569 winning hero with no troops shall retreat
2016-01-22 22:29:53 +03:00
Vadim Markovtsev
11bce2908d
Fix 1723 quest crash on combined arts
2016-01-22 12:56:25 +03:00
Arseniy Shestakov
d25372a397
Added vcmiglaurung cheat that add 5000 crystal dragons into each slot
2016-01-21 10:49:09 +03:00
Zyx-2000
a50a702073
switched to -std=gnu++11
2016-01-18 17:49:07 +01:00
Vadim Markovtsev
4a05402c2f
Revert 5cd4e852d4
"Use portable cast in CTeleportDialogQuery also"
...
Actually, this leads to crash on MacOSX, I specially left that intact.
2016-01-18 10:45:09 +03:00
Zyx-2000
203b2dccc3
hopefully fixed things
2016-01-09 21:23:55 +01: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
Arseniy Shestakov
29a7934a99
Refactoring: avoid using namespace when it's not absolutely needed
2015-12-29 02:14:08 +03:00
Arseniy Shestakov
6985e96f0d
CGameHandler::newTurn: use next day TurnInfo to set correct hero MP
...
This hotfix actually fix issue 2083, but in future we need to rework new turn code anyway. See issue 2356.
2015-12-25 11:09:06 +03:00
Arseniy Shestakov
6f5c52a229
Refactoring: use cleaner CCreatureSet::stacksCount everywhere
2015-12-24 21:30:57 +03:00
Ivan Savenko
a051a08a46
Merge remote-tracking branch 'origin/issue/2306' into develop
2015-12-18 22:21:11 +02:00
ArseniyShestakov
bf9ac7318a
CPathfinder: change cost calculation sequence for embark / disembark
...
With old embark cost calculation pathfinder may end up thinking that hero can embark/disembark while have less movement points than base movement cost is. Now hero would be only able to embark / disembark if we have enough movement points to step on that tile. This rule is also valid for situation when hero have Admiral's Hat as in H3 even if hero don't have embark penalty he still use move points for embark and disembark.
Problem was found as it's was causing infitite loop in AI. Server of course rejected attempt to embark with less than 100 movement points while pathfinder tell AI that it's can still embark with 93 movement points.
2015-12-15 20:08:52 +03:00
AlexVinS
5cd4e852d4
Use portable cast in CTeleportDialogQuery also
2015-12-13 15:59:48 +03:00
AlexVinS
9a0161e4e2
Fix and unify CBattleQuery::blocksPack
2015-12-13 15:57:33 +03:00
ArseniyShestakov
5aadc1ed6f
CasualtiesAfterBattle: dont remove catapult artifact. Fix 2346 issue
2015-12-10 13:31:03 +03:00
ArseniyShestakov
d900e9bec2
CGameHandler: fix hero removal code on player loss. Fix issue 2347
2015-12-10 12:43:55 +03:00
ArseniyShestakov
03e9dd3bab
Add hero gold cost to GameConstants
2015-12-07 00:13:58 +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
faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
ArseniyShestakov
2f9ca778b2
VCAI: add channel probing support for teleporters with multiple exits
2015-12-03 17:20:03 +03:00
Ivan Savenko
7189a12df2
removed few more includes from headers
2015-12-02 22:10:46 +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
ArseniyShestakov
f55bfe41d6
Digging: implement digging status on right click. Fix issue 401
...
This is also fix possibility to dig on some non-blockable objects like event.
2015-11-29 12:34:23 +03:00
ArseniyShestakov
a1fe2ebc44
Pathfinding: restore gamestate usage to avoid overhead
...
Also when possible pass TerrainTile pointers to getMovementCost instead of using getTile.
2015-11-21 14:31:30 +03:00
ArseniyShestakov
abc4ea272f
TurnInfo: store all bonuses and use TileInfo for everything
...
Currently this going to break ONE_WEEK bonuses because those don't work with CWillLastDays selector.
2015-11-12 14:30:29 +03:00
ArseniyShestakov
2ef9d7c3ec
Rename getCost back to getMovementCost
...
Initially wanter to name main class differently and back then getCost make sense.
Then renamed class to CPathfinderHelper, but forgot to rename function back.
2015-11-10 02:30:05 +03:00
ArseniyShestakov
b2e1ee5363
CGameState: move two pathfinding-related functions to CPathfinderHelper
...
Both getMovementCost and getNeighbours have nothing to do with gamestate.
2015-11-10 02:15:27 +03:00
ArseniyShestakov
d3c8ca7c1c
Pathfinding: implement duration checking for fly and water walking
...
Now pathfinder take into account different bonuses for different tuns. So if you only have FLYING_MOVEMENT bonus from Fly spell for one turn then pathfinder will only let you use air layer within one turn only.
That work for cost calculations too. Let's say you have two bonuses:
- FLYING_MOVEMENT with 20% penalty for next 2 turns
- FLYING_MOVEMENT with 40% penalty for 5 turns
Now pathfinder using correct penalty for each turn so movements in air layer going to be more expensive on 3-5 turns.
2015-11-09 19:57:26 +03:00
ArseniyShestakov
5106738160
Merge branch 'develop' into feature/pathfinderLayers
2015-11-09 19:20:13 +03:00
ArseniyShestakov
74198a537b
CGameHandler::setOwner: fix InfoWindow text on last town loss
2015-11-09 00:54:59 +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
ArseniyShestakov
bd12989ad6
Artifacts: use ArtifactID instead of ints
2015-11-06 21:54:51 +03:00
ArseniyShestakov
62dc070c0a
moveHero: add transit validation and avoid embarking on transit
...
Hero shouldn't embark into boat when attempt to transit over air layer.
2015-11-05 10:50:47 +03:00
ArseniyShestakov
ac12a0735e
Plumbing on client and server to make flying actually work
2015-11-05 10:02:13 +03:00
AlexVinS
6a9dc78dcd
[WiP]Added some checks for RISE_DEMONS action.
2015-11-03 02:18:36 +03:00
AlexVinS
fbebbf39f3
Fix zero size stack summoned in case of basic resurrection.
2015-11-03 02:18:35 +03:00
AlexVinS
f6b9015324
Use constant for summoned creature slot
2015-11-03 02:18:34 +03:00
AlexVinS
c94bea51e3
Update army in case of summoned creatures
2015-11-03 02:18:33 +03:00
AlexVinS
b024237e8a
Remove stack instancies of removed stacks
2015-11-03 02:18:32 +03:00
AlexVinS
d46364c4c3
Merge branch 'develop' into issue/2306
...
Need to reapply changes to pathfiner
Conflicts:
AI/VCAI/VCAI.cpp
lib/CGameState.cpp
lib/CGameStateFwd.h
2015-11-01 01:49:57 +03:00
Vadim Markovtsev
5c623868bf
Fix invalid dynamic_cast replacement
2015-10-31 23:01:22 +03:00
Vadim Markovtsev
fa8a282696
Fix pthread_mutex_lock abort() in requestActionASAP impl
2015-10-31 18:04:06 +03:00
DjWarmonger
17071c6ec8
Merge pull request #125 from ArseniyShestakov/newMovementSystem
...
Okay, time to merge this.
2015-10-31 13:56:22 +01:00
Vadim Markovtsev
68cc860133
Fix dynamic_cast on MacOSX in CQuery.cpp
2015-10-31 15:05:52 +03:00
ArseniyShestakov
a0a55974ea
Fix issue 2320. Town events for buildings should now work
2015-10-28 08:46:43 +03:00
DjWarmonger
c47c08aa01
Replaced iterators with auto & loop.
2015-10-25 07:07:01 +01:00
DjWarmonger
eb0af0096e
Fixed #2072 .
2015-10-24 18:16:57 +02:00
DjWarmonger
61692ba168
Possibly fixed #1583 and other issues concerning players capturing towns.
2015-10-24 18:03:00 +02:00
DjWarmonger
3c4f7ec126
Fixed #2311
2015-10-24 17:15:21 +02: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
DjWarmonger
abe88ea890
- Refactoring legacy code
...
- Some checks for #2311
2015-10-24 15:09:46 +02:00
ArseniyShestakov
fc6f62e633
getMovementCost: get rid of useless flying parameter
2015-10-19 07:27:00 +03:00
ArseniyShestakov
0d83f6fedd
Fix issue 1877. Allow to buy heroes in ally towns
...
Also removed TODO because check already implemented in CGameHandler::hireHero
2015-10-15 04:00:21 +03:00
Alexander Shishkin
fca4deaad2
Merge pull request #122 from vmarkovtsev/feature/warnings
...
Fix warnings produced by recent Clang build
2015-10-14 07:28:47 +03:00
Vadim Markovtsev
e4b1ef1405
Add "override" to virtual overriden methods
2015-10-13 21:05:36 +03:00
AlexVinS
b94432b4ba
Fixed http://bugs.vcmi.eu/view.php?id=2297
...
* allow banned spells by Tomes (XXX_SPELLS bonus), Spelbinders Hat (SPELLS_OF_LEVEL bonus)
* allow banned spells by cheat-code (now also SPELLS_OF_LEVEL bonus)
2015-10-13 13:16:46 +03:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
d042b08682
Fix the SACRIFICE fix regression
...
(crach if stack die on counter attack)
2015-10-06 02:04:25 +03:00
AlexVinS
d1ec538d72
Fix server crash releated to active stack remove.
2015-10-05 21:09:00 +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
36e154d9b9
Use ISpellCaster in getAffectedStacks
2015-09-29 17:26:50 +03:00
AlexVinS
a4d4851d80
Fix typo: casted->cast
2015-09-29 17:26:48 +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
6010bbe7ba
More correct usage of battleGetFightingHero
...
* this should fix "FIXME: battleGetFightingHero wrong argument!"
2015-09-29 17:26:38 +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
2c3a607497
Tweak StacksHealedOrResurrected
...
* flags should be bool
2015-09-29 17:26:31 +03:00
AlexVinS
a1e06aa217
Unify LIFE_DRAIN and Tent healing with magic healing
2015-09-29 17:26:30 +03:00
AlexVinS
b0c039bd7f
fix 2241
2015-09-15 10:54:55 +03:00
AlexVinS
b4d73409b7
Fix random server crash after CLONE or SACRIFICE use
2015-09-15 04:58:32 +03:00
AlexVinS
e9c3bc9df6
Fix after rebase
2015-09-12 21:09:54 +03:00
AlexVinS
7776d7bbf7
rename BattleSpellCastParameters::caster
2015-09-12 21:09:54 +03:00
AlexVinS
e82dfb5a85
fixed mantiss 0002254
2015-09-04 18:08:25 +03:00
David Zéni
41293caf83
Fix bad formatting
2015-08-29 20:02:27 +02:00
David Zéni
b49fb7d07f
Refactor actions for Catapult
...
No target -> Pass
No player or no ballistics -> automatic action
Else -> manual action
2015-08-27 23:03:48 +02:00
David Zéni
f84e5cf8b3
When hero has ballistics and no target pass turn
2015-08-26 20:54:24 +02:00
AlexVinS
40d3bb40c3
Partial fix for mantiss #2237
2015-08-22 16:22:10 +03:00
AlexVinS
782c8ec40b
Changed windows minimum version back to winxp due to mingw bug
...
* will be changed back after newer mingw tests
2015-08-20 04:22:54 +03:00
AlexVinS
03a295f1a0
Added debug mingw64 build, minimum Windows version set to windows 7, SDL suffixes removed from Build Tagerts
2015-08-20 03:28:04 +03:00
DjWarmonger
c5691cbeb1
Compile fix - srsly?
2015-07-18 20:47:09 +02:00
AlexVinS
a8c45df732
Merge branch 'SDL1Wipe' into develop
2015-06-22 14:24:00 +03:00
AlexVinS
e27516a0b5
fix mantiss #2210
2015-06-21 21:27:58 +03:00
AlexVinS
53b85d16be
Cleanup C::B projects
2015-06-21 01:59:33 +03:00
AlexVinS
f5c2e6d5e1
Style tweaks
2015-06-02 07:12:45 +03:00
AlexVinS
9eaa136c58
fix releasing obstacle pointer
2015-06-02 07:12:44 +03:00
AlexVinS
5226081f33
rewrite stack movement processing
2015-06-02 07:12:43 +03:00
AlexVinS
e45b6cfdda
fix mantiss 0001581
2015-04-13 17:27:47 +03:00
AlexVinS
20acdbbf3b
Fix wrong side for opening battle spells
2015-03-30 19:16:08 +03:00
AlexVinS
6dea40aa95
Do not damage immune creature by spell-created obstacle. This should fix 0001846
2015-03-29 16:50:23 +03:00
DjWarmonger
8820bc05a9
MSVS compiler doesn't allow default arguments for Lambdas.
2015-03-10 10:06:45 +01: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
3773859e9d
CGameHandler::moveHero allow transit, but for teleports only
2015-03-08 17:08:57 +03: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
25656aa586
Add showTeleportDialog everywhere except actual code for AI and player
...
Just like TeleportDialog it's based off showBlockingDialog, but as number of package is higher when possible showTeleportDialog will be after other dialogs handling code.
2015-03-08 16:52:50 +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
685deddac1
Start spell-relatet files reorganisation
...
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
AlexVinS
08d4f7991e
Extract adventure spell mechanics
2015-02-26 08:39:39 +03:00
DjWarmonger
a736a863da
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-02-22 18:36:23 +01:00
DjWarmonger
6797c374ed
Additional check
2015-02-22 18:36:13 +01:00
ArseniyShestakov
445ded71a7
Movement: now hero will always ignore guards if visiting object that he staying on
...
This one is replicating original game behaviour and fixes issue 1990 and related to issue 2084.
Currently this is mainly caused problem with teleporters which lead to crash in AI due to unexcepted hero loss.
2015-02-22 20:12:49 +03:00
AlexVinS
aa5e9fc959
get rid of global debug macros.
2015-02-14 22:43:16 +03:00
DjWarmonger
a8ff08a562
Fixed #2012
2015-02-14 19:44:04 +01:00
DjWarmonger
84b2510aa4
Merge pull request #62 from vcmi/SpellsRefactoring4
...
OK
2014-12-26 08:46:29 +01:00
DjWarmonger
8c471f6359
Merge pull request #69 from ArseniyShestakov/artifactsImprovements
...
Thanks, looks great now.
2014-12-25 20:24:08 +01:00
DjWarmonger
5b8180e327
Cleaning logs.
2014-12-25 12:58:15 +01:00
ArseniyShestakov
4cb98e7e8d
Use isTradable and fix issue 1392
...
This change make it possible to sell spell scrolls in Artifacts Merchant.
2014-12-24 20:48:37 +03:00
ArseniyShestakov
937ef0227b
Use ArtifactID instead of int when possible
2014-12-24 18:49:12 +03:00
AlexVinS
eebf65e88f
Merge branch 'develop' into SpellsRefactoring4
2014-12-24 00:15:27 +03:00
DjWarmonger
c538370c5d
Players will be always able to see their owned heroes and other objects. Fixes #1959 .
2014-12-21 13:56:32 +01:00
AlexVinS
d94f15bdf4
Added configurable animation for SPELL_LIKE_ATTACK
2014-11-28 00:36:14 +03:00
AlexVinS
f4cf12d3f8
Fix a crash
2014-11-27 00:53:08 +03:00
AlexVinS
b31ed0e4ea
Use SetMana packet in battle
2014-11-26 13:30:55 +03:00
AlexVinS
ca5391cde6
Get rid of handleSpellCasting
2014-11-25 22:00:04 +03:00
AlexVinS
c67887ae58
Use spell mechanics clases in GameHandler
2014-11-25 18:16:14 +03:00
AlexVinS
f2bf3d7f7b
Added a way to obtain ID of newly added Stack
2014-11-25 12:26:32 +03:00
AlexVinS
f7ff61ce4f
Merge remote-tracking branch 'remotes/origin/develop' into SpellsRefactoring4
2014-11-24 12:41:17 +03:00
KroArtem
e73c60740c
corrected text in vcmibuilder, corrected errors and warnings from cppcheck
2014-11-16 20:48:29 +03:00
AlexVinS
a06dae1f96
Move getAffectedCreatures to CSpell. + more drafts
2014-11-13 04:53:25 +03:00
AlexVinS
d7800b834e
get rid of CBattleInfoCallback::calculateSpellDmg
2014-11-12 09:52:11 +03:00
AlexVinS
e4b726151d
get rid of CBattleInfoCallback::battleStackIsImmune
2014-11-12 09:20:20 +03:00
AlexVinS
ddf98a5920
+SpecialRisingSpellMechanics::isImmuneByStack
2014-11-12 08:34:43 +03:00
Patrick Simmons
41da0ad2e6
multiplayerload changes (committing so I can revert...)
2014-10-25 19:05:49 -04:00
Patrick Simmons
3685e96042
Revert "multiplayer load changes"
...
This reverts commit 368d2c8836cc6e3b5af9cf71e892bf4515f26bda.
2014-10-25 19:05:49 -04:00
Patrick Simmons
99a63c4bbd
multiplayer load changes
2014-10-25 19:05:49 -04:00
Patrick Simmons
cfa6f46d62
VERY buggy, unusable, but progress is being made...
2014-10-25 19:05:49 -04:00
Mikhail Paulyshka
b8f5a57c64
Include ZLib headers for launcher and server
2014-10-12 16:33:38 +03:00
AlexVinS
66b022f93e
initializer lists part1
2014-10-02 19:43:46 +04: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
6c0c03d74b
Refactoing of pathfinder <-> client/AI interaction to remove dependency on selected hero
...
- finished removal of server-side setSelection
- disabled some broken code (AI & cheats). TODO: fix
2014-09-21 16:42:08 +03:00
Ivan Savenko
78709e223b
Breaking things - trying to remove server-side knowledge of selected objects
2014-09-19 00:18:49 +03:00
DjWarmonger
36a7cff998
Cleaning error messages at access to players.
2014-09-17 11:03:53 +02:00
DjWarmonger
d9273b3b2a
Cleaning logs.
2014-09-10 19:09:48 +02:00
Ivan Savenko
b551bdb725
Final part of the merge
...
Merging VCMI Dirs refactoring + GUI refactoring with current develop
2014-09-04 20:59:07 +03:00
josch
2e6e026645
let vcmiserver handle commandline options first
...
The vcmiserver application will first try to initialize various things
before parsing the commandline arguments. This leads to the program only
outputting an initialization error when it cannot initialize instead of
parsing arguments like --help. This patch moves the argument parsing to
earlier in program execution to avoid this behaviour.
2014-09-02 18:42:38 +02:00
DjWarmonger
0edaf4fa8a
Merge pull request #26 from vcmi/FFMpeg
...
Let's do this, way too many branches running now.
2014-09-01 10:35:30 +02:00
DjWarmonger
8b10f70afd
Migrating to MSVS 2013, which allows to delete inttypes.h file.
2014-08-31 19:08:39 +02:00
Karol
1b6f2ea3b7
VCMIDirs update #5 fix
...
- Updated old OS detect macros.
- Fixed 1 misspell.
2014-08-26 12:19:04 +02:00
Karol
a302f6c7ad
VCMIDirs update #3
...
bfs = boost::filesystem;
- Updateting filenames (std::string -> bfs::path) #1
- Added platform detection, and some specyfic boost::filesystem includes
to Global.h
- Updated CBasicLogConfigurator. Now class uses bfs::path pathes.
2014-08-10 23:42:39 +02:00
beegee1
5139378319
- migrated boost::function/ref/bind to std:: variants
2014-08-04 20:33:59 +02:00
Michael Pavlyshko
bad7050096
spaces -> tabulation
2014-07-11 11:01:03 +03:00
Michael Pavlyshko
08ee65c3c8
fix .dll and .exe filenames
2014-07-10 01:06:37 +03:00
Michael Pavlyshko
c935193558
disable WIN32 flag for executables, fix previous commit
2014-07-10 00:47:22 +03:00
AlexVinS
195eae48ca
Merge branch 'develop' into SDL2
...
Conflicts:
client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
DjWarmonger
bf567c9e50
Fixed crash caused by hiding tiles around AI heroes.
2014-07-01 09:13:19 +02:00
Ivan Savenko
1157111fcf
More bugfixing:
...
- Fixed compile in VCAI (precompiled headers should not include VCMI headers)
- Fixed crash on visiting observatories, including shroud of darkness
2014-06-29 17:23:06 +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
6e3eaeee21
Minor fix to schema, server will print visited objects in debug log
2014-06-25 00:23:56 +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
Ivan Savenko
ad632d1e8a
Moved FoW management from CGObjectInstance to callback
2014-06-24 20:39:47 +03:00
AlexVinS
3b8d0e44d4
Merge branch 'develop' into SDL2
2014-06-24 14:09:44 +04:00
DjWarmonger
3ac306f501
Merge pull request #19 from vcmi/feature/mapObjects
...
Feature/map objects
2014-06-22 14:49:42 +02:00
Ivan Savenko
0a71e89f58
Created large number of missing objects in configs
...
Minor bugfixes in code
2014-06-17 14:57:47 +03:00
Haryaalcar
fee9f0c1a0
"0001766: Disassembling artifacts in hero and hero meeting screen doesn't work." fix
2014-06-14 16:52:30 +03:00
AlexVinS
0bf7d2b84c
fix server project configure
2014-06-13 07:55:49 +04:00
AlexVinS
56c74bc46a
+More build target to support both SDL1 and SDL2 builds
2014-06-13 07:55:48 +04:00
AlexVinS
bbd0312b45
Tweak configuration
2014-06-13 07:55:47 +04:00
Ivan Savenko
44742814cd
More cleanup:
...
- moved SoundBase.h to lib since it contains shared data
- added RMG info to object format. Note that data is not yet imported in
configs
- slightly updated API of object handlers
2014-06-05 23:51:24 +03:00
Ivan Savenko
b2e8c92383
Cleanup:
...
- removed commented-out #includ'es
- renamed some files to match name of class
2014-06-05 20:26:50 +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
0afdfa529c
Moved all object-related files to lib/mapObjects directory.
...
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
karol57
c676c5da82
Fixed small error in nearest town finding algorithm.
2014-05-25 21:53:25 +02:00
karol57
dd33fd51a8
int3 dist2d microoptimization
2014-05-25 20:42:25 +02:00
Ivan Savenko
7f276185bd
Moving files:
...
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
2014-05-24 02:07:54 +03:00
AlexVinS
6f65d2484b
Extract battleStackIsImmune from battleIsImmune
...
This fix possible problems with rising spells as now immunty is handled on stack level not on hex level
* battleIsImmune in now protected - only used in canCastThisSpellHere
2014-05-19 13:44:38 +04:00
AlexVinS
ababd0d995
there can`t be resistance to rising spell (immunities are handled seperately)
2014-05-18 17:03:02 +04:00
AlexVinS
afd74ff649
Remove more hardcoded immunity handling.
...
* ANIMATE_DEAD already limited to UNDED
* make DEATH_STARE immunties absolute
2014-05-18 17:03:02 +04:00
AlexVinS
b6b12ad8f6
Merge and simplify resistance calculation
2014-05-18 17:03:01 +04:00
AlexVinS
1431fcedf7
handleSpellCasting: Handle immunity before RESISTANCE. Now immune creatures shouldnt show resisted animation
2014-05-18 17:03:00 +04:00
AlexVinS
d9368ca5ba
Use new battleGetStacksIf method
2014-05-18 17:02:59 +04:00
DjWarmonger
00c31b4b85
Fixed #1790
2014-05-17 21:30:55 +02:00
Ilya Zhuravlev
db7cd79cf7
Android port.
...
Conflicts:
lib/vcmi_endian.h
2014-05-16 23:24:29 +04:00
DjWarmonger
fb5152254d
Merge branch 'develop' of git://github.com/Macron1Robot/vcmi into WarmysBackup
...
Conflicts:
client/CKingdomInterface.cpp
2014-05-02 12:03:02 +02:00
DjWarmonger
4a71442c80
Missing changes.
2014-04-27 14:38:20 +02:00
Macron1Robot
31f2af6243
Removed commented part for daily income
2014-04-27 13:44:56 +04:00
Macron1Robot
8ec7a9b919
Moved "max heroes on map per player", "max heroes available for player" to "defaultMods.json"
2014-04-27 10:43:46 +04:00
Macron1Robot
907caedb13
Added "produce" section in "building" structure. Changed dailyIncome.
2014-04-26 18:23:35 +04:00
Macron1Robot
b7b890acff
Added "tavernVideo","guildBackground" to "faction" JSON config and schema. If "primaryResource" is set to "gold", silo will generate 500 gold per day
2014-04-24 23:36:18 +04:00
DjWarmonger
9e7013de77
Backup for my own MVS project configuration
2014-04-24 21:07:43 +02:00
beegee1
1d57b75bc5
- random number generation refactoring
...
- fixed mantis #1743
2014-04-10 19:22:32 +02:00
DjWarmonger
a64df5718f
Some nontrivial optimizations based on profiling results:
...
- Movement bonuses will be calculated ONCE per pathfinder loop
- Goals will be sorted by hero to reduce number of calculatePaths calls
2014-03-31 14:26:09 +00:00
Ivan Savenko
9c0df68cb8
Fixing spelling mistakes. Patch from josch, fixes #1759
2014-03-23 12:59:03 +00:00
Ivan Savenko
760ae7d44a
Changes related to Debian packaging, based on josch patch
...
- AUTHORS file is now in UTF-8
- tags for desktop files
- fixed some typos
- better reaction on --help and --version commands
- vcmibuilder should work with both avconf and ffmpeg
2014-03-20 18:17:40 +00:00
beegee1
fe1b16a7ec
Some preparation towards mantis #1743 :
...
- refactored CRandomGenerator (added util methods, improved method names)
- usages of std::minstd_ran are replaced by CRandomGenerator (not in entire code base, C rand() usages are still not replaced)
- refactored getArtSync method of CArtHandler -> now named pickRandomArtifact
- fixed some compiler warnings
- updated source code URL in VCMI spec
2014-03-17 19:51:07 +00:00
alexvins
9cac0af7be
[Spells] More spell related refactoring
...
+ smart target modifier
- CREATURE_EXPERT_MASSIVE target type
* save format changed
spell format changes already documented in http://wiki.vcmi.eu/index.php?title=Spell_Format
2014-03-17 13:11:10 +00:00
alexvins
065b8366fb
[Spells] Added basic support for icons and sounds
...
* few changes in spell format
* save format changed
2014-03-10 16:00:58 +00:00
Ivan Savenko
d2ae847ecf
- files in local directories (saves & configs) now always have higher
...
priority than mods. Fixes #1685 and #1733
- fixed possible crash on exit in dispose() function
- (vcmibuilder) fixes problem with partial mp3 -> ogg conversion
2014-03-08 16:05:23 +00:00
alexvins
4203d69525
Part 2 of new spell configuration
...
1) spell handler refactored to support modding in general way
2) imunnity icons moved to WoG as they depends on wog`s graphics
3) introduced new class template for handlers (todo: use this in other handlers)
4) save format changed
5) introduced "absolute immunity" - unaffected by "the Orb" etc. (todo: use it in config)
6) new format documented on wiki, added json schema.
* more split of registertypes - fixes 32 mingw build
2014-03-07 13:21:09 +00:00
stopiccot
7356145c3a
updated LD_RUNPATH_SEARCH_PATHS
2014-03-04 03:51:17 +00:00
Ivan Savenko
8d36bcabce
Split registerTypes into multiple files, now in lib/registerTypes
...
directory in order to reduce huge memory usage by gcc
2014-02-24 19:57:33 +00:00
beegee1
674c8bc591
- Fix to previous commit (keep heroes which are in heroes pool too)
2014-02-23 16:21:30 +00:00
beegee1
d0a5a6eab4
- Implemented hero recreate handling correctly
2014-02-23 13:52:06 +00: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
d01b84b460
[mechanics] fix copy-paste errors in magic skill arrays
...
[c::b] few tweaks to configuration
2014-02-15 09:40:33 +00:00
Ivan Savenko
8d178fbcf5
Minor fixes:
...
- fog of war will be initialized after bonuses are set (needed if heroes
have scouting or arts with sight bonus)
- victory condition "control all dwellings" also requires golem factory/
- it is possible to dismiss troops during exchange between heroes
2014-02-09 19:47:23 +00:00
DjWarmonger
a9b10c8099
- Changed aggregation method so now fuzzy engine takes all the factors into consideration
...
- Heroes now will use real path cost and their movement, which has numerous advantages:
* Actual movement cost is taken into consideration
* Groups of heroes will keep order
* Fastest heroes will be used for exploration first
2014-02-07 08:23:31 +00:00
beegee1
95034b9fa0
- Updated PCH to use our StdInc.h as the prefix header (not generated one from cotire) -> no exclude headers from ffmpeg/etc... statements required
...
- Fixed compilation error (VCAI ResourceSet logging)
2014-02-05 20:25:36 +00:00
Michał W. Urbańczyk
55165a8535
Fixed #1686 . Compatibility measures to be removed later, when format changes become to big.
2014-02-02 14:31:56 +00:00
Michał W. Urbańczyk
e5312887d1
Fixed possible crash at the game start (when victory conditions are checked before currentPlayer is set).
2014-02-01 16:08:01 +00:00
beegee1
df0a28d9cb
- added PCH compilation for CMake using cotire module (PCH is OFF per default, can be enabled with ENABLE_PCH=ON)
2014-02-01 13:37:26 +00:00
Michał W. Urbańczyk
679c3c5830
Split conditions fixed (it should be impossible to take units from ally).
2014-01-30 14:04:09 +00:00
Ivan Savenko
3779a54ddd
- probably fixed 1671
...
- fixed missing loss condition in Birth of Barbarian
- fixed some bugs found by cppcheck
2014-01-30 11:08:37 +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
Ivan Savenko
c5b74a2dce
Miscellaneous fixes:
...
- proper block of "back" button in campaign menu.
- proper block of AI switch in battles
- vertical garrisons can now be attacked from top
- better UI logging, vcmi will print to log file all pressed buttons
- server will not try to build already existing building
2014-01-13 17:44:21 +00:00
Ivan Savenko
fb5c9fc972
- creatures availability tests no longer check for built buildings.
...
Fixes #1650
- do not crash if town has 0 creatures on some dwelling level
- do not crash if dwelling for some level is not present in town at all
2014-01-11 18:12:09 +00:00
alexvins
a740f7989c
[c::b] update projects, disable PHC for now, +few fixes (still wip)
2014-01-05 17:48:50 +00:00
Ivan Savenko
2c4c964a45
Large rewrite of adventure map objects:
...
- replaced CDefObjInfo with ObjectTemplate class
- ObjectTempate is a direct member of objects instead of pointer with
shared ownership across CMap, handler and game objects
- simplified handling of objects that can change appearance (e.g. towns)
- all object queries regarding object appearance/blockmaps use h3m pos
instead of relative positions
- removed need of modhandler::reload
- cleanup of some old code
2014-01-02 23:48:38 +00:00
Ivan Savenko
2b9e074d54
- implements level limit (Mantis #1620 )
...
- added workaround to weird bug where vcmi fails to find objects for
win/loss conditions
2014-01-01 16:12:53 +00:00
Ivan Savenko
0c5be52a42
Win/loss conditions based on logical expressions, yet another large
...
changeset:
- victory/defeat will be detected using triggered events
- vcmi will convert h3 conditions into set of triggered events
- it is possible to either change number of days without towns or even
remove this loss condition completely
- possibility of custom win/loss text and icons in pregame (no longer
connected to win/loss conditions)
Still missing:
- No interface to pass custom events/victory conditions into the game
- AI would benefit from improvemets (handle all victory conditions,
select best one to fulfill)
- You have X days till defeat message still hardcoded to 7 days
2013-12-29 11:27:38 +00:00
Ivan Savenko
f6c1dace6c
Minors:
...
- By default, cmake will keep debug info
- removed warnings from adventure map infobox (part of #1636 )
- adventure map infobox will refresh on artifact changes (part of #1636 )
- moved terrain music files to terrains.json file
- player should act before AI in all games, not only campaigns
2013-12-28 18:57:08 +00:00
beegee1
b8eddcd9a8
- Moved place bonus hero before normal random hero and starting hero placement -> same behaviour as in OH3
...
- Moved placing campaign heroes before random object generation -> same behaviour as in OH3
- Refactored pickHero into pickNextHeroType (hero generation sequence) and pickUnusedHeroTypeRandomly
- Added a SIGSEV violation handler to vcmiserver executable for logging stacktrace (for convenience only)
- Fixed Fuzzy.cpp and VCAI.h compilation on Clang
- Added a handleException function in addition to our macros (no use of macros, enables debugging support, does not re-throw, catches ...-case too)
2013-12-28 12:47:55 +00:00
beegee1
68bdf71db6
- Fixed GCC compiler warnings
...
- Implemented move heroes to next scenario partially
2013-12-20 13:07:58 +00:00
DjWarmonger
f8028f512d
Fixed #1585 - destroyed war machines will be removed from hero's equipment.
2013-12-19 14:35:49 +00:00
beegee1
f0cbbbdb70
- Refactored method CGameState::init
2013-12-18 18:18:12 +00:00
beegee1
61fc216a6f
- Fixed mantis #1421
...
- Fixed initial map selection in campaign bonus screen
2013-12-17 17:14:55 +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
2d095cf20a
- Fixed days without castle counter
...
- Fixed 'you have only 0 days...' message
- Checks victory/loss conditions every player turn instead of every day
- Fixed mantis #1463
2013-12-06 19:44:11 +00:00
Ivan Savenko
122db9963b
More string ID's for buildings:
...
- town hall slots now use string ID's
- converted building requirements to new format
- "upgrades" property from buildings now uses string ID's
- several fixes for improved support of alternative creatures
- removed no longer needed "id" property from structures
Old mods should still work but will produce error messages during
validation
2013-12-04 10:36:39 +00:00
Ivan Savenko
3d3f93275d
Multiple minor fixes:
...
- fixed starting armies of some heroes, including Bron #1602
- (debian) added vcmi-dbg package with debug information
- proper randomization of hero secondary skills, fixes #1603
- second capitol will show up as disabled immediately #1604
- proper deserialization of boost::variant
- empty file will no longer crash JsonNode parser
- fixed some compiler warnings
2013-12-03 09:03:37 +00:00
Ivan Savenko
ee1b0459e6
Extended building dependencies:
...
- buiding/structure lists must use object format. This may break some
outdated mods.
- generic support for logical expressions that consist from and/or/not
operators.
- string ID's for buidings are now actually used.
2013-12-02 11:58:02 +00:00
beegee1
41e274b4aa
- Moved FunctionList from /client to /lib -> used in client and server
...
- Updated project files
2013-11-30 10:08:38 +00:00
beegee1
c786a3076a
- Refactored victory loss condition checks
...
- Added toString() method to EVictoryLossCheckResult enum class to improve debugging
- Removed mostly unused CFunctionList2
- Added missing header files for vcmiclient project to CMakeLists
- Tweaked SDL suggests bpp message a bit
- Added showInfoDialogAndWait (info dialog and waits, used from client thread) and showOkDialog (callback to ok click, used from GUI thread) to player interface
- Added showOkDialog method to CInfoWindow (unused for now, but may be used later)
2013-11-30 09:43:31 +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
3560bbb7f3
two patches/pull requests from janisozaur
...
- replace our custom bmap with std::map::at()
- compile fixes for editor
2013-11-12 10:45:42 +00:00
Ivan Savenko
ee6cdbeffe
went through the rest of cppcheck warnings, mostly harmless
2013-11-07 12:48:41 +00:00
Ivan Savenko
71d6b0fea9
- Fixed some warnings from cppcheck
...
- Minor improvements to JSON validation
- Cleanup in SDL_Extensions.cpp
- Implemented new propery for creature format: idle animation duration
- Disabled idle animation of some of conflux creatures (was clearly
broken)
2013-11-06 13:42:58 +00:00
Ivan Savenko
0e3eae3095
patch from KroArtem
2013-11-03 12:51:25 +00:00
Ivan Savenko
c4716d0a9a
- reordered files in cmake so files with long compile times will be
...
compiled first.
- changed format of modSettings.json, VCMI should properly update file
on the first run.
- implemented property "defaultTavern" that acts as default value for
"tavern" entry in hero class and town formats.
2013-11-03 12:07:23 +00:00
Ivan Savenko
f838cceddd
- fixes Inferno Castle Gate
2013-10-17 13:54:12 +00:00
Michał W. Urbańczyk
5c6d12400f
Fixed AI detection of battle end (solves some freezes).
2013-09-29 20:54:29 +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
Michał W. Urbańczyk
4f29b526ca
The battle callback method battleGetAllStacks will by default omit the arrow turrets. Fixes #1453 , #1455 and related.
2013-09-27 19:42:17 +00:00
DjWarmonger
d06b02638b
Partially implemented #481
2013-09-17 12:02:33 +00:00
DjWarmonger
39f9069ed9
Implemented deterministic secondary skills, #1166 .
2013-09-09 15:23:59 +00:00
DjWarmonger
99352a7220
Fixed crashes when clone dies #1357 , #1441 .
2013-09-08 17:43:10 +00:00
Michał W. Urbańczyk
385f4ab7f5
#1153 and #1395 should be fixed. Terrible, terrible, terrible.
...
Fixed crash in battles, when attempted to access <0 screen coordinates.
2013-09-01 22:55:57 +00:00
Ivan Savenko
5654fef901
- ZipArchive namespace for operations with zip archives, located in CZipLoader.h/cpp.
...
- new fields in mod format, for use with mod manager (check config/shemas/mod.json for details)
- removed some 0.92 compatibility from mods loading
- several compile fixes
2013-08-19 11:50:53 +00:00
Michał W. Urbańczyk
38c1542d9d
Fixed crash on battle end — don't attempt giving exp to loser (hero is removed -> can't get exp -> crash).
2013-08-18 17:49:31 +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
DjWarmonger
6057226665
Fixed in r1364. It's all about logic!
2013-08-04 06:16:17 +00:00
Michał W. Urbańczyk
eb90f93231
Dereference optional in logs.
2013-08-01 16:26:29 +00:00
Ivan Savenko
b87897096c
Filesystem handling is now more flexible
...
- removed CResourceLoader class in favor of one that implements resource loader interface
- removed global pool of files, in favour of more dynamic approach
- renamed some files to match current situation
All these changes are needed mostly for future mod manager + .zip support
2013-07-28 14:49:50 +00:00
DjWarmonger
abaa5b1c59
Fixed #1352 . Implemented correct death stare algorithm.
2013-07-28 08:48:29 +00:00
DjWarmonger
5f310aa20f
Fixed all issues with Resurrection: #123 , #1358
2013-07-27 19:01:31 +00:00
Michał W. Urbańczyk
d8a27d8f3c
Refactored player-specific data into single struct BattleState.
2013-07-21 22:01:29 +00:00
Ivan Savenko
491bd557ef
fixed several bugs reported on forum:
...
- necromancy issues
- fix for lookout tower
- Sir Mullich is unavailable
- first hero is awakened on next turn
- give 500 XP on defeating hero
2013-07-21 18:27:33 +00:00
Michał W. Urbańczyk
1e11904d8a
Fixed Remove Obstacle. TODO: limit its working on spell-created obstacles depending on spell school level.
2013-07-21 10:25:12 +00:00
Michał W. Urbańczyk
e9d51a2670
Fixed issue that allowed to build multiple boats in town. Renamed state() to sth more sensible.
2013-07-21 10:08:32 +00:00
DjWarmonger
9277c695a5
Fixed #1361 .
2013-07-20 08:54:43 +00:00
Ivan Savenko
4ac2a6e8b6
minor refactoring of VCMIDirs, bugfixing
...
- VCMIDirs represent XDG specification more closely (partial #1310 )
- Minor bugfixing, including #1327 #1328 and #1306
2013-07-08 20:55:22 +00:00
Ivan Savenko
146a5e5ef8
Made speed of most of battle animations time-based
...
- speed of creature-related animation no longer depends on framerate
- most of values from cranim.txt are now used correctly
- removed BMPPalette struct in favor of SDL_Color
- animation group "DEAD" that is used to display dead stacks, by default consists from last frame of "DEATH" group
Notes:
- animation speed may still need some adjustments
- range of config property "battle/animationSpeed" has been changed. This may result in extremely fast animation. To fix - change animation speed via options.
2013-07-06 16:10:20 +00:00
Michał W. Urbańczyk
1e8c58ecdf
Patch from O01eg fixing #1308 http://forum.vcmi.eu/viewtopic.php?t=721
...
Helper functions for enabling/disabling smart vector memeber serialziation. [doesn't really save writing but adds consistency]
2013-07-02 16:48:01 +00:00
Michał W. Urbańczyk
a1f545792b
Compile fixes specific for VS 2012"
...
* Reverted std::bind to boost::bind. std::bind on Visual 2012 doesn't work in some cases (especially with std::ref), not sure why [but it seems to be a bug, since 2013 preview compiles the same code fine].
* Move assignment operator for VS 2012.
2013-07-02 15:23:32 +00:00
Michał W. Urbańczyk
4576719abe
Visual Studio 2013 Preview compile fixes:
...
* 0 is not convertible to std::function, nullptr should be used
* std::ref(rand) is not convertible to function<int()>, used lambdas (why we dont just pass "rand" ? )
* CFunctionList needs to be constructible from nullptr
* move constructor for CMapInfo (Visual cannot generate them :( )
* #ifdefed some stuff that is not needed anymore since cmath is updated with C99 stuff
* using std::make_unique instead of our vstd implementation
CSelector:
* introduced a class in place of typedef
* Having an overloaded && || operators over sth that is convertible to bool… Wasn't a good idea after all. Purged the operators, replaced with And/Or methods (chaining-style).
* constructor that is present only when constructing from class or function (SFINAE). std::function has an implicit converting constructor from T causing ambiguities (even if the overload would cause compile error in the body)
2013-07-02 12:08:30 +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
254f194220
Some very early work towards autofight feature.
...
Added EmptyAI to the solution.
Passing callbacks by shared_ptr.
2013-06-22 14:47:20 +00:00
Michał W. Urbańczyk
06dbdd234f
Further changes for duel mode. It is possible to pass names of AIs to be used by command line. Moved things in battle AI.
2013-06-21 20:59:32 +00:00
Ivan Savenko
6737c270c9
gcc 4.5 compatibility fixes. Mostly due to lack of fully finctional nullptr class
2013-06-19 21:26:27 +00:00
Michał W. Urbańczyk
6a88604937
* fixed crash related to cammander's SPELL_AFTER_ATTACK spell id not initialized properly (text id was resolved on copy of bonus)
...
* fixed duels, added no-GUI mode for automatic AI testing
* minor things
2013-06-17 15:45:55 +00:00
Michał W. Urbańczyk
f19e41d38c
Fixed #1269 .
...
Version set to 0.93.
2013-05-31 22:23:53 +00:00
Ivan Savenko
4724ccbb45
- fixes #1276
...
- minor fix to json arrays merging
- fixed update of growth icons on town screen
2013-05-30 18:43:45 +00:00
DjWarmonger
22e14d31cb
Fixed #1275
2013-05-30 07:43:42 +00:00
Michał W. Urbańczyk
9f5d1ba623
Fixed #1271 .
2013-05-27 21:46:04 +00:00
Ivan Savenko
b01637840a
- compile fixes
...
- fixed building in towns after loading (partial #1272 )
2013-05-27 14:20:46 +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
DjWarmonger
5436950119
Fixed abilities of Efreet.
2013-05-25 07:21:02 +00:00
DjWarmonger
c9e95f76df
- Fixed Phoenix fire immunity. Again.
...
- Cheat code with grant all artifacts, including the ones added by mods
- Some clean-up of Berserk effect, however it doesn't work at the moment.
2013-05-25 07:06:00 +00:00
Michał W. Urbańczyk
1c7aad6a50
Improved handling buildings with mode "auto":
...
* they will properly processed (new creatures will be added if dwelling, spells learned if mage guild, and so)
* transitive dependencies are handled (A makes B build, and B makes C and D)
2013-05-22 15:16:36 +00:00
beegee1
5328beb8e7
- Fixed some bugs when starting a RMG map - Checks if there is a template for the chosen options(rejects if not) - Added a few templates for development(2 to 4 players, medium maps are supported) - Refactoring
2013-05-21 19:08:06 +00:00
Michał W. Urbańczyk
be7c2bd07f
CGHeroInstance* can be serialized over network even when hero has been defeated. Strongly typed hero type ID introduced.
...
Should fix #1260 .
2013-05-18 22:30:48 +00:00
Michał W. Urbańczyk
f95e6c233b
It is possible to set on visit query that object is to be removed after visit is over.
...
Fixes #1263 .
2013-05-14 13:42:52 +00:00
Ivan Savenko
8be801a6dc
- CMappedFileLoader class to remap WoG files to h3 names
...
- WoG should be optional, all remapped files are listed in WoG/config/wogFileOverrides.json
- fixed several cases of incorrect positioning of creatures in battles
- some missing sounds for battle effects
- negative luck support, disabled by default
- a bit hackish detection of WoG presence, VCMI should work on SoD-only installs
2013-05-04 13:14:23 +00:00
DjWarmonger
32c87f532f
- Added missing abilities for devil & ghost dragon
...
- Stack affected by Berserk should not try to attack itself
Neither of these can be actually seen in game duo to more general engine bugs :/
2013-04-27 06:39:59 +00:00
DjWarmonger
57ea1ed1b8
Fixed crash at month of double population.
...
doublingCreatures vector was never properly initialized.
2013-04-23 17:29:16 +00:00
DjWarmonger
0dc5a13596
Fixed missing spell effects, root cause of #1257 .
2013-04-23 09:54:57 +00:00
beegee1
8d82c49a99
- Compile fix - Renamed map operations
2013-04-22 15:08:04 +00:00
Ivan Savenko
d88caec82c
- fixes to previous commits
2013-04-21 17:06:24 +00:00
Ivan Savenko
4db13ba845
- proper destructors for handlers and lib objects
2013-04-21 16:38:31 +00:00
Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
Michał W. Urbańczyk
d1d67caa0b
Get rid of some old serialization workaround code that is not needed because serializer was improved in the meantime.
...
Fixing #1254 .
Fixed possible race causing corruption of the server savegame.
2013-04-20 18:44:55 +00:00
DjWarmonger
87988b0ae7
Compile fixes for MVS2010
2013-04-20 16:01:58 +00:00
alexvins
48e51b8d44
[c::b] update projects
2013-04-20 13:59:09 +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
03c2aa9153
- Refactored CMapEditManager(added structure for undo functionality) - Refactored CMap(terrain pointer is private, safe access via getTile)
2013-04-19 11:43:11 +00:00
beegee1
c10266ed97
- Reduced complexity to use the CMapGenerator(simpler interface) - Removed h3m.txt and tchar_amigaos4.h
2013-04-14 18:52:05 +00:00
beegee1
f10ba48c77
- Fully integrated new logging API(ERM, Editor, missing parts) - Removed old logger
2013-04-11 15:58:01 +00:00
beegee1
6827fcdb53
- Integrated the logging API into the server project - Simplified CBasicLogConfigurator usage(exception handling, logging, log file appending)
2013-04-10 17:18:01 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00
DjWarmonger
c8bb363a45
Fixed Death Stare of Commanders, additional tweaks.
2013-03-30 20:09:50 +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
Ivan Savenko
b5fcefe455
- moved all system-specific handling of filesystem to VCMIDirs.cpp (new file)
...
- fixed #1128 , artifact constituents are now stored as pointers
2013-03-02 18:41:25 +00:00
Michał W. Urbańczyk
a9fd7b806c
Fixed crash on the new month when there are no creatures that can get double growth. ( #1219 , possibly #1217 )
...
The list of double growth creatures will be serialized.
Bumped format.
MSVC: silenced that stupid C4275 warning. (senseless when using STL)
2013-02-27 03:11:45 +00:00
Ivan Savenko
74ac44662c
- a bit less memory usage during compilation with gcc, new file - RegisterTypes.cpp
...
- fixed several issues related to visiting town by ally
- fixed #1215
2013-02-23 12:22:23 +00:00
DjWarmonger
a63b30e516
Fixed crash at double attack, including #1202 .
2013-02-19 14:33:30 +00:00
DjWarmonger
bbdac2f068
Fixed Enchanter ability.
2013-02-19 10:31:13 +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
DjWarmonger
2e385375b7
Fixed #831
2013-02-18 07:12:19 +00:00
DjWarmonger
111312636a
Fixed #1207 . Some tweaks.
2013-02-17 18:53:01 +00:00
mateuszb
560315bc48
* SlotID refactoring
2013-02-16 14:03:47 +00:00
Michał W. Urbańczyk
d23a5dcfdf
Fixed #1208 .
2013-02-14 15:19:35 +00:00
mateuszb
9e00090c42
* refactoring, a few intriguing problems remain
2013-02-13 23:55:42 +00:00
alexvins
ceea466f54
[refactor] spell handling
...
* more config options for spells
+ mind immunity handled by config
+ direct damage immunity handled by config
+ immunity icon configurable
- removed mind_spell flag
* more use of new spell identifacation
2013-02-13 19:35:43 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +00:00
alexvins
ba3fbe05a7
compile fix.
2013-02-11 20:34:31 +00:00
mateuszb
8a8eecd063
* refactoring
2013-02-11 19:11:34 +00:00
mateuszb
d540723739
* refactoring
2013-02-11 14:42:09 +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
d03dbf64a6
* refactoring
2013-02-09 12:56:35 +00:00
mateuszb
0003d30991
* refactoring
2013-02-08 22:42:46 +00:00
mateuszb
9dd60b6dbe
* refactoring
...
* moat damage went to config file
2013-02-08 21:17:39 +00:00
DjWarmonger
140786a04b
- Drain Life now has % effect depending on bonus value
...
- Stack can use more than 2 attacks. Additional attacks can now be seperated as "ONLY_MELEE_FIGHT and "ONLY_DISTANCE_FIGHT".
2013-02-08 09:22:10 +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
DjWarmonger
c3a1d10988
Fixed shield effect - spell only.
2013-02-06 20:43:17 +00:00
mateuszb
3958364884
* a bit more work on campaigns; hero crossover still buggy
2013-02-06 10:16:44 +00:00
DjWarmonger
1ef205e5f1
Various tweaks / enchancements to bonus mechanics
...
- Added CREATURE_SPELL_POWER for commanders
- Added spell modifiers to various spells: Hypnotize (Astral), Firewall (Luna), Landmine
- Fixed ENEMY_DEFENCE_REDUCTION, GENERAL_ATTACK_REDUCTION
- Extended usefulness of ONLY_DISTANCE_FIGHT, ONLY_MELEE_FIGHT ranges
2013-02-06 08:02:46 +00:00
mateuszb
dc091a1ce1
* some work on hero crossover; still buggy
2013-02-05 23:16:13 +00:00
mateuszb
25663ce7af
* fixed vector<bool> serialization
...
* refactoring
2013-02-04 19:43:16 +00:00
DjWarmonger
e63747d2d2
Fixed #860 and #1169
...
Imprisoned heroes as well as their commanders will get full level ups, with updated specialty, mana and movement.
2013-02-04 12:32:53 +00:00
mateuszb
8769f67c5d
* JsonReader can convert to enums
...
* refactoring
2013-02-03 21:05:44 +00:00
DjWarmonger
beb1ca1bf8
- getDate function now uses enum for different modes
...
- Fixed Black Market (#1195 )
- Fixed one-week bonuses removed eveyr day (#976 )
2013-02-02 08:29:57 +00:00
mateuszb
a1da195b85
* minor refactoring
2013-01-31 20:11:25 +00:00
beegee1
a4129f43f2
- Correct handling of who manages which players(player count may differ from initial start options for a RMG map) - Fixed warning
2013-01-21 20:49:19 +00:00
DjWarmonger
ce15eb37c2
- Fixed serialization of limiters
...
- Hero can now can have several separate specialty nodes
- Fixed typo (speciality->specialty)
- Fixed several crashes related to commanders
- Improvements to specialty handling, bugfixes and temporary solutions for upcoming hero specialties in mods
2013-01-17 18:15:00 +00:00
alexvins
53b684180d
[refactor]
...
* use spells configuration (all timed effects for battle spells)
* a few more cleanups
+register erm resource types (useful in future and less noise in log now)
2013-01-16 11:19:04 +00:00
alexvins
68e91ada1c
[refactor]
...
* spells are now more configurable (unused yet, WiP)
* a few more cleanups
2013-01-15 14:20:48 +00:00
alexvins
055e922e4d
[refactor] a few more cleanups
2013-01-12 18:08:33 +00:00
alexvins
daf2c285e9
[refactor] reduce some code duplication, get rid of few magic nombers.
...
*fix deletion of empty pandora box
2013-01-12 10:32:03 +00:00
alexvins
d8b068afd9
[c::b] update projects
2013-01-08 09:41:28 +00:00
Michał W. Urbańczyk
d4c30667b8
Fixed #1168 and #1170 .
2013-01-06 04:48:05 +00:00
alexvins
4bc2fd5519
[c::b] renamed map subfolder to workaround dependency tracking bug
2013-01-03 12:19:20 +00:00
alexvins
9051731755
[c::b] reorganize workspace
2012-12-24 15:55:19 +00:00
Ivan Savenko
0b1c215882
- end of world, at least for autotools. Removed completely in favor of CMake
2012-12-23 19:44:37 +00:00
Michał W. Urbańczyk
bcf8cab19a
Project files update/cleanup.
2012-12-19 18:23:21 +00:00
alexvins
66d9edf76e
small refactor secskill limit check.
2012-12-18 11:24:13 +00:00
Ivan Savenko
ffe8b99369
- reorganized hero classes
...
- artifact iconIndex should work
- new file with hardcoded string constants: lib/StringConstants.h
Note: some minor bugs, will fix soon:
- slow to open hero window
- hero adventure map images serialization is broken\incorrect
2012-12-14 15:32:53 +00:00
Ivan Savenko
04358ed0c6
multiple changes in config system, breaks existing mods. See upcoming post on forums.
...
- filesystem initialization works in conjuction with modHandler
- (config) split buildings.json in multiple files in "factions" directory
- (mods) merged filesystem.json and config/mod.json into mod.json
2012-12-12 11:13:57 +00:00
DjWarmonger
cff758cfba
Moved artifact-related text to CArtifact class.
2012-12-06 19:03:47 +00:00
Ivan Savenko
cfaa9fd00a
- fixed deadlock on visiting such objects like artifacts
...
- typos in vcmibuilder script
2012-12-05 10:46:53 +00:00
Ivan Savenko
85a23e298c
- generic string ID -> numeric ID resolution system
...
- - hero army and creature upgrade names are resolved using new system
- - faction names and creatures in towns are resolved using new system
- (linux) replaced build_data.sh with hopefully better vcmibuilder script
- minor fixes
2012-12-03 16:00:17 +00:00
DjWarmonger
ca9033d0e4
- Support for "Enchanted" WoG ability.
...
- Precision will not be cast on non-shooters
2012-12-01 18:30:03 +00:00
DjWarmonger
c5d9110176
Compile fix for last commit.
2012-12-01 07:17:55 +00:00
Ivan Savenko
2643762f08
Mac OS patch from stopiccot
2012-12-01 06:30:52 +00:00
DjWarmonger
7be00e97a0
Fixed #1124 . Probably also other bugs related to two-hex creatures (or they were already resolved).
2012-11-30 14:06:22 +00:00
beegee1
53169abea7
- Foundation for starting a random map is done - Moved StdInc.h to header file in some /Map and /RMG compilation units(better syntax highlighting, should have no negative impact)
2012-11-20 17:53:45 +00:00
Ivan Savenko
8eba824ada
- updated icons + psd file
...
- better log messages if server failed to open port
- 1148 should be fixed. Cleanup in CGameHandler::moveHero()
- compile fixes
2012-11-15 21:29:22 +00:00
Ivan Savenko
0d863c83d7
- removed autogenerated by autotools files
...
- fixes for #386 using patches from Ixtreon
2012-11-10 21:56:19 +00:00
beegee1
105083dd70
* Code convention updates * Default values for CMap types * Updated BinaryReader c-tor * Converted "bool" int types to bool in CMap classes * Removed map event operators in favor of member methods
2012-11-06 16:39:29 +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
beegee1
720deba838
* Added comments to map.h * Refactoring(renamed attributes, some steps towards coding guidelines, ..)
2012-10-26 17:51:05 +00:00
Ivan Savenko
db10f512d5
- game won't crash on missing dwellings (instead random one will generated)
...
- added disabled code that can be used to fix buildings blit order
- minor fixes
2012-10-07 14:58:48 +00:00
Ivan Savenko
c071a03a8a
- fix for #1135
...
- merged wall_pos.json into town config
- removed tower_shooter field from creatures.json
2012-10-05 18:03:49 +00:00
Ivan Savenko
f113f9573d
- CPack support. Works on my side, needs tweaks for Win
2012-10-05 12:38:17 +00:00
Ivan Savenko
3542bfdc63
- fixed #1128 #1127 #1121 #1119
...
- instructions in linux readme use cmake instead of autotools
- update autoconf files
2012-10-02 14:22:58 +00:00
DjWarmonger
1cf99f7be1
- Improved exploration algorithm. AI will avoid dead-end barriers and thus explore much faster.
...
- Fixed crash when there are no heroes available to recruit in the map. TODO: make AI handle it
- Fixed crash when Chain Lightning has not enough targets
- Fixed crash at Hill Fort (?)
- AI will buy Spellbook for its heroes
- AI will try to use Cartographer and Observatory when exploring
- AI will not visit Prison when heroes are at max
- Experiment: AI will try to capture Mines and Dwellings when there are no enemies around (part of CONQUER goal)
2012-10-01 18:25:43 +00:00
Michał W. Urbańczyk
3de9b71cc3
Fixed crash when unit dies by entering obstacle (eg. moat) on the way to perform attack.
2012-09-30 17:48:21 +00:00
Michał W. Urbańczyk
f30ee8ff04
* fixed possible corruption of pack sent by server when player request is rejected
...
* BattleAI will restore callback to its previous state, fixes freeze after battle #1104
* BattleAI won't lose turn when unable to correctly evaluate a spell
* VCAI will correctly recognize hero standing on town entrance
* War machines of defender will have correctly set side
* Faction 9 as neutral causes crashes, changing to -1 as used elsewhere in the code
2012-09-29 14:44:06 +00:00
Michał W. Urbańczyk
786bd73e67
Fixed #1092 .
2012-09-28 11:43:19 +00:00
DjWarmonger
076974729a
Fixed #1089 .
2012-09-28 06:10:01 +00:00
Ivan Savenko
15a7f43e11
- fixed #1075 , #1080 , #1081
...
- fixed some warnings from cppcheck
2012-09-26 13:13:39 +00:00
Michał W. Urbańczyk
ecd8947d8e
Crashes on starting next campaign mission should be fixed.
2012-09-25 18:00:55 +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
Michał W. Urbańczyk
95b866c131
* Further work on Battle AI. Now it is able to cast a number of offensive spells. Battle callback exposes more spell-casting info.
...
* Took down the one Boost.Assign usage offending VC11. I'm getting impatient I guess...
2012-09-23 23:10:56 +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
Michał W. Urbańczyk
62e63d45b1
Work in progress on BattleAI. Related changes:
...
* battle AIs receive ptr to CBattleCallback (not sure why it was CPlayerBattleCallback, likely mistake)
* reworked some battle callback methods to be more generic and able to handle some hypothetic scenarios
* for testing purposes in duel mode the first AI will be taken fro mconfig and the second will remain stupid ai
* minor changes
2012-09-20 16:55:21 +00:00
mateuszb
aa04a5bcd0
* removed unnecessary include in .h -- they should be avoided
...
* fixed bug 1074
* fixed starting new custom campaign
* fixed building of ERM project
2012-09-18 15:06:29 +00:00
alexvins
2b2b02cccc
[static analysis] [WIP] fix few possible bugs
...
CBattleAnimations.cpp,CBitmapHandler.cpp,CGameHandler.cpp Possible null pointer dereference
2012-09-16 14:36:31 +00:00
Ivan Savenko
0ca9f64573
Next part of town configuration:
...
- town screen is mostly implemented, has some minor issues
- factions are now separate from towns, neutrals have faction with id=9
- more constants to GameConstants: town-specific buildings, strings for terrains and resources
- replaced most access to builtBuildings with isBuilt() method
- replaced id's with enums for town subtype and buildings id's
2012-09-05 12:49:23 +00:00
Ivan Savenko
44cc848edc
first part of town configuration:
...
- moved almost all loading to TownHandler
- CBuildings and CStructures are now part of CTown
- merged hall.json into buildings.json
Should not cause any crashes or glitches
2012-09-02 10:33:41 +00:00
Michał W. Urbańczyk
6530e7a1e1
* servers will not allow using out-of-range slots ( #1061 )
...
* server won't crash on some scenarios when they're used
* fixed some minor discrepancies with creature placement in creature banks
2012-08-30 16:01:19 +00:00
Ivan Savenko
8fac276922
- a bit nicer stack queue. Check forum for graphics.
...
- warning fix
2012-08-28 16:28:21 +00:00
Michał W. Urbańczyk
830d94064e
Fixed #1056 , #1057 and #1058 .
...
Should also fix #152 .
2012-08-28 12:28:13 +00:00
Michał W. Urbańczyk
a14f381d48
Fixed #1055 - hang when creature performed automatic (not controleld by player) action.
...
Fixed possible crash on arrow turret turn.
2012-08-27 12:34:43 +00:00
Ivan Savenko
7ce9e95525
- death stare works identically to H3
...
- gcc warnings fix
2012-08-27 10:47:02 +00:00
Michał W. Urbańczyk
7c09f73402
* INFINITE_DIST is now enum, it should cause least trouble that way. Uh, it's so hard to fight magic values these days.
...
* Fixed crashes in battles after loading game
* Fixed crash in battle AI, when stack is blocked and stands next to an enemy
* Fixes problem when server's moveStack is called with dest==position
* Above should cover #1053 .
2012-08-26 19:13:57 +00:00
Ivan Savenko
656999e99f
- fixed bug in AI town development
...
- fixed too slow generation of FowChange package
2012-08-26 12:26:07 +00:00
Michał W. Urbańczyk
d390113c23
* New files for lib: CBattleCallback.cpp and CBattleCallback.h
...
* Updated MSVC project files
* Filesystem: My version of .SND archive does not have \0 after WAV extension. Fixed (though hardcoded 3-char extension length).
* New bonus types: BLOCK_MAGIC_ABOVE for blocking casting spells above given level and BLOCK_ALL_MAGIC for blocking all magic.
* Heavy rewrite of battle callbacks. Fixed some minor bugs. Code reusage between lib/client/server (removed proxy calls). Better access control and support for various perspectives.
* Fixed #1031
* Fixed Orb of Inhibition and Recanter's Cloak (they were incorrectly implemented). Fixed #97 .
* Fleeing hero won't lose artifacts. Spellbook won't be captured. Fixed #980 .
* Fixed crash when attacking stack dies before counterattack (ie. because of Fire Shield)
* Server does some basic checks if action requests during battle are valid
* Minor stuff.
2012-08-26 09:07:48 +00:00
DjWarmonger
edbc7f1223
- Some hardcoded settings will now be read from config/defaultMods.json
...
- Fixed AI crash when it was placed in closed and safe area
2012-08-11 09:06:23 +00:00
DjWarmonger
289b7b68d9
Mod Handler class. It is connected with engine, but doesn't do anything yet.
2012-08-10 13:07:53 +00:00
Ivan Savenko
9cbc1f1058
- merged basicCreatures and upgradedCreatures into single array
...
- missing fix for savegames
2012-08-07 21:46:24 +00:00
Ivan Savenko
8040a81eec
- fixed save games issues ( #1044 )
...
- hopefully some speedup for filesystem loading (#1048 )
2012-08-07 11:28:52 +00:00
Ivan Savenko
e67f8afdd9
- removed multiple unused files
...
- config folder with all json files is used via new FS API
- fixed campaigns loading. Replaced "detect h3m starts" heuristics with CCompessedStream::getNextBlock()
2012-08-02 11:03:26 +00:00
Ivan Savenko
b3c17d2788
large filesystem update. Filesysytem is now fully functional, everything should work.
...
- completely replaced CLodHandler, removed bitmaph and spriteh
- replaced CLodStream in favour of CCompressedStream (2 new files)
- renamed CResourceLoaderFactory and ResourceIndetifier to shorter names
NOTES:
- campaign loading is currently broken. Will fix.
- I am going to remove several unused files in several days (e.g. LodHandler)
2012-08-01 12:02:54 +00:00
Ivan Savenko
a72a294a46
some work on new filesystem, not tested
...
- one more new file
- removed duplicating code
- filesystem parser is now recursive
- decompression should be possible if decompressed size is unknown
- autotools and cmake update
2012-07-23 10:23:43 +00:00
Ivan Savenko
13de841e10
- minor tweaks to quest window
...
- fixed #531
- fixed query crash (empty funciton)
2012-07-21 20:16:54 +00:00
Ivan Savenko
e4c88d5088
- moved ParseBonus to JsonNode.cpp (linkage errors)
...
- fixes to CMakeLists - vcmi can be compiled and started with cmake
- gcc\clang warnings fixes
2012-07-19 18:52:44 +00:00
DjWarmonger
b86706d58c
Commander can now die in a battle and will be automatically rised when visiting town.
2012-07-17 08:52:27 +00:00
ddaroo
69de38bf1d
Tweaks for cmake build system: data dir definitions, flags for clang (not tested), missing CQuestLog.cpp file for the client, naming convention of few binaries same for autotools and cmake
2012-07-15 16:05:41 +00:00
Michał W. Urbańczyk
edccbd4809
Rewritten many parts of query handling. Fixed several scenarios leading to a hang (including #1012 ). Purged boost::function from player interface (handy but impossible to serialize). VCAI will keep description for each unanswered query, so the further debugging will be easier.
2012-07-15 15:34:00 +00:00
DjWarmonger
e3e4bc4c9c
Second part of interactive Commander level-up. Quite messy.
2012-07-04 14:41:53 +00:00
ddaroo
758fb0679e
Stub for a CMake build system.
2012-07-01 14:27:41 +00:00
Ivan Savenko
613172fa45
- fixed #582 , #1019 and #1022
...
- linux readme tweaks
2012-06-27 20:44:01 +00:00
Ivan Savenko
47945383da
gcc-4.5 compatibility
2012-06-23 17:19:50 +00:00
Michał W. Urbańczyk
84630a0984
Fixed #993 , tent code cleanups.
2012-06-10 13:07:08 +00:00
Michał W. Urbańczyk
e6ebf42308
#994 should not crash anymore.
2012-06-09 19:58:17 +00:00
Michał W. Urbańczyk
247fabc3a6
Seems to be actually a missing return and redundant check.
2012-05-29 23:22:28 +00:00
Ivan Savenko
faaf799d95
- fixed some extra warnings. Mostly harmless.
...
NOTE: Please check changes in BattleState.cpp and GameHandler.cpp for possible bugs
2012-05-28 19:29:32 +00:00
Ivan Savenko
61ccabde53
- vcmi can be compiled with clang-3.1
2012-05-27 19:06:35 +00:00
Frank Zago
ee103c7bcd
Compile fix.
2012-05-26 03:29:34 +00:00
Ivan Savenko
49495c9caf
- possibly fixed #966 and #958
...
- fixed crash on shutdown
- fixed compile issue #973
2012-05-25 11:49:56 +00:00
DjWarmonger
d34cf90bf7
Support for Chain Lightning.
...
Fixed getClosestTile function.
2012-05-20 11:40:23 +00:00
DjWarmonger
6419f953cb
Some (disabled) work for commander artifacts. Hero artifacts window seems broken.
...
Minor fixes.
2012-05-19 18:27:23 +00:00
Michał W. Urbańczyk
d2756e8c88
Partial fix for #961 .
...
Minor fixes for VS project files.
2012-05-18 22:47:54 +00:00
Michał W. Urbańczyk
d168f3eac2
* Implemented Moat functionality during siege (stops movement and deals dmg)
...
* Mostly implemented battle spells:
- Fire Wall
- Force Field
- Land Mine
- Quicksands
2012-05-18 20:50:16 +00:00
DjWarmonger
5435101182
Lots of fixes and improvements for Commander interface.
2012-05-18 19:44:15 +00:00
DjWarmonger
d491bc1c3a
Commanders can level up. It's non-interactive yet.
...
Printing secondary skills for Commanders.
2012-05-18 14:02:27 +00:00
Ivan Savenko
97aeaa9f28
- moved ColorPutter's to separate SDL_Pixels.h file
...
- added Channels namespace for accessing subpixels in format-independent way
- fixed several big-endian issues
- re-generated buld system
2012-05-17 10:44:48 +00:00
Ivan Savenko
8de71c2b39
- fixed #711 , #862 , #321
...
- moved PutPixel templates into header to allow inlining
2012-05-15 08:47:11 +00:00
DjWarmonger
05742afd60
Final fix. AI heroes won't loose their turn when visiting adjacent objects.
2012-05-08 09:38:01 +00:00
DjWarmonger
ee2768ab07
- Some work for commanders
...
- New creature window - visit forum for package with necessary graphics: http://forum.vcmi.eu/viewtopic.php?p=6908#6908
- More AI optimizations - heroes will be processed starting from the fastest one.
- AI will check is GATHER_ARMY object is reachable
2012-05-07 12:54:22 +00:00
Ivan Savenko
82b60c00a2
- fixed compile issues. Renamed several "battleobstacleSplaced" to "battleobstacleplaced"
...
- implemented --disable-video command line switch
2012-05-05 08:32:55 +00:00
Michał W. Urbańczyk
5449546447
Advanced work on support for Quicksand and Land Mine spells.
2012-05-04 21:16:39 +00:00
DjWarmonger
bd2a0c2a2b
"You have captured enemy artifact" window. All arts from commander & stacks will also be looted.
2012-05-02 08:37:11 +00:00
DjWarmonger
6f108c41df
Fix for previous commit. Now artifacts from defeated hero are passed to winner.
2012-05-01 14:38:53 +00:00
DjWarmonger
5d311fb3ed
- Hopefully fixed possibleActions for every case
...
- better algorithm for looting artifacts, yet buggy
2012-05-01 13:56:32 +00:00
DjWarmonger
c4d933c668
Quick fix for previous commit.
2012-05-01 09:02:27 +00:00
DjWarmonger
2fbc57e140
1. Better way to disable stack / cursor glitches
...
2. An attempt to handle looting artifacts after battle
2012-05-01 08:52:22 +00:00
Ivan Savenko
d479341a5a
- gcc compile and warning fixes
2012-04-30 12:13:36 +00:00
DjWarmonger
25bdcd3cab
- Fixed wrong creature teleported
...
- Support for Sacrifice
2012-04-28 19:40:27 +00:00
Michał W. Urbańczyk
7dc0d6878e
Rewritten battle obstacles. New file for lib: CObstacleInstance.cpp.
...
Now obstacles should be placed exactly like they were in OH3.
All problems with displaying obstacles in battlefield should be gone. They should be now matched to the single pixel.
If there are still some discrepancies, please report them.
2012-04-23 19:56:37 +00:00
Michał W. Urbańczyk
017013a5a4
Throwing runtime_errors instead of string (or even char*) objects.
2012-04-22 07:32:45 +00:00
DjWarmonger
cd1a9414ac
- Restored Genie random spell
...
- Fixed crashes in many strange creature-spellcasting scenarios, including stack with multiple cast abilities and Enchanter with non-stadard spell
2012-04-18 15:57:49 +00:00
DjWarmonger
05311dd30c
- Fixed and simplified Teleport casting
...
- Stack artifacts will now not be wearable by hero (by default)
- Fixed crash involving clone
2012-04-18 13:24:18 +00:00
DjWarmonger
f720038ca5
- Battle interface fixes. It's possible to move stacks & attack
...
- Creature window allows to pass stack artifact to hero
- Fixes for Mana Drain, including #916
2012-04-17 14:50:23 +00:00
Ivan Savenko
66f5b5e2d7
- gcc compile fixes
2012-04-14 16:28:36 +00:00
Michał W. Urbańczyk
6ec3501909
Fixed #927 .
2012-04-14 07:39:32 +00:00
Michał W. Urbańczyk
722ec55384
Redid stack artifacts. Broken save compatibility. Added serializer support for boost::variant and sending CStackInstace* over network by implicitly passing IDs. Moved seeds and checksum to StartInfo. Various minor changes.
2012-04-14 02:20:22 +00:00
Michał W. Urbańczyk
c61f536d8b
* fixed remaining parts of #760
...
* it's possible to switch active creature during tacts phase by clicking on stack
* a few minor fixes after handleHex rewrite
2012-04-02 23:23:14 +00:00
Michał W. Urbańczyk
c80d9b0a51
Possibly "fixed" #915 .
...
Fixed server output (printing ui8 as %d apparently breaks boost.format :/).
2012-03-31 15:10:16 +00:00
Michał W. Urbańczyk
a9af0da0ab
Rewritten handling mouse movement over hex and l-clicking hex into one procedure. That way the tooltip and cursor are always accurate, because they're set by the same routing that selects action. Having that logic duplicated in two methods was unmaintainable. [though the new one is still monstrous...] By the way fixed numerous issues, including:
...
* #785 and parts of #760
* first aid tent can heal only creatures that suffered damage
* war machines can't be healed by tent
* creatures casting spells won't try to cast them during tactic phase
* console tooltips for first aid tent
* console tooltips for teleport spell
* cursor is reset to pointer when action is requested
* fixed a few other missing or wrong tooltips/cursors
Implemented opening creature window by l-clicking on stack. Master Genie's spell is picked by server, not client.
Minor changes.
2012-03-30 21:36:07 +00:00
Michał W. Urbańczyk
3cf4ebc163
Little more work on #760 :
...
* no tactics in creature banks
* no spellcasting during tactics phase
2012-03-28 21:54:43 +00:00
Michał W. Urbańczyk
c698181c4c
* simple mechanism for detecting desync after init
...
* moving stacks in tactics phase won't affect stack queue (part of #760 )
* moved all boost headers in server to PCH
2012-03-27 20:08:54 +00:00
Michał W. Urbańczyk
13f26fc3cb
* Client is able to await for answers for multiple queries at the same time
...
* Hackish solution allowing AI undertaking actions from event-handling thread
* Fixed crash when death stare or acid breath activated on stack that was just killed
* minor fixes
2012-03-25 22:46:14 +00:00
DjWarmonger
c8c4c5b682
AI heroes won't trash for objects when exploring area together.
...
String logging for goal types. Fixes.
2012-03-13 20:33:00 +00:00
DjWarmonger
9518474ec7
First attempt to replace rule-of-a-thumb behavior with actual reasoning
...
- GATHER_ARMY goal replaces wander function
- Heroes will remember their own goals until they are fulfilled
- Goal search handles mutual dependency
- AI will recruit multiple heroes for exploration
- Lots of tweaks
2012-03-13 12:47:47 +00:00
DjWarmonger
88e9dec974
Fixed Thieves Guild window showing for all players.
...
It needed 11 files modified... :/
2012-03-07 14:05:54 +00:00
Michał W. Urbańczyk
324b11b09c
Possible fix for #848
2012-02-20 23:02:32 +00:00
DjWarmonger
386ac80cf9
Fixed #855 & 861. Unsigned values were bad idea to prevent overflow.
2012-02-20 16:26:14 +00:00
Michał W. Urbańczyk
e4dc00abac
* new file lib/UnlockGuard.h — unlock_guard is for unlocking a mutex for the scope time (RAII)
...
* all lock/unlock and unlock/lock pairs are done by RAII guards now
* fixed two possible crashes at the end of battle when last stack was killed by spell. That should fix #749 and #752 .
* fixed a very nasty race condition, eliminating possible deadlock at the start of battle when human hero has tactics
* fixed #422
2012-02-19 21:03:43 +00:00
Michał W. Urbańczyk
4baf4e13ed
* fixed #857 and #858
...
* fixed crash when AI attacked player before his first turn
* fixed various crashes when mass-effect spells affected town turrets in sieges
* some refactoring around spell positiveness
2012-02-16 21:19:07 +00:00
Ivan Savenko
0c3e88226f
- (linux) replaced Genius with VCAI
...
- gcc set to c++0x mode
- most of gcc warnings fixed
- replaced boost::assign with initialization lists (if available in compiler)
- new cheat code: vcmiarmenelos - build everything
- updated linux readme
- minor fixes, applied patch for #98
2012-02-16 17:10:58 +00:00
Frank Zago
f7ac873303
Added test for librt, since linux needs it and OSX doesn't have it.
2012-02-13 02:15:05 +00:00
DjWarmonger
c724092028
Partial support for Clone spell.
2012-02-10 13:13:24 +00:00
DjWarmonger
2bddf29cbf
Stack artifacts part 2, not working yet.
2012-02-04 16:34:29 +00:00
DjWarmonger
b8a5d0d430
Stack artifacts - part 1
2012-01-30 16:07:52 +00:00
DjWarmonger
1cbd7e94e4
- Extended cap or removed sign for some values that may potentially overflow
...
- Fixed #851
2012-01-26 16:48:53 +00:00
Ivan Savenko
dbc603b7d7
- fixed crash on opening spellbook during enemy turn
...
- fixed last known localization issue (bank configs)
- diplomacy and new weeks\month mechanics should be identical to H3
- minor fixes
2012-01-19 14:33:22 +00:00
Ivan Savenko
3fcf8b6f4b
- minor mechanics fixes, corrected handling of 2nd upgrades (like pirates from hota)
2012-01-13 14:18:32 +00:00
Michał W. Urbańczyk
046e54563c
* fixed project files for RD configuration
...
* fixed crash when creature is casting Hypnosis (ie. exped Vampire Lords)
* fixed crash when creature is casting Cure before attack (ie. exped Unicorns)
* fixed crash when creature is summoning elemental (TODO fix it)
* fixed crash when doing a bonus system operation with a hero liberated from prison (ie. entering town or battle)
* fixed deadlock when StupidAI tried to assault the turrets
* fixed never ending siege when StupidAI has to use catapult (no more deadlocks on AI-AI siege)
* fixed deadlock when a hero received a level during another player's turn (ie. when he successfully defended)
* AI can win the game by defeating all enemies if there is a specific victory condition applying only to human players
* added options to help testing adventure map AI (--onlyAI, --autoSkip and --oneGoodAI).
* many minor changes
2012-01-03 01:55:26 +00:00
beegee1
156aa6e4d9
* Updated class - file - handling
...
* Renamed color constants
* Renamed class AdventureMapButton to CAdventureMapButton
* Moved basic controls like CTextBox from GuiClasses to CIntObjectClasses
* Moved new creature window from GuiClasses to CCreatureWindow
2011-12-22 13:05:19 +00:00
beegee1
2f5d6f2684
* CHexField renamed to CBattleHex
...
* CHexFieldControl renamed to CClickableHex
* CCreatureAnimation.cpp/.h moved to BattleInterface/CCreatureAnimation.cpp/.h
* Removed unused project files
* Added VCMI_client filters file for VS 2010
* Gathered common parts of StdInc.h in Global.h
* Boost.Spirit has been included in PCH for ERM project
* StopWatch renamed to CStopWatch
* GuiBase.cpp split up in UIFramework/...
2011-12-17 18:59:59 +00:00
beegee1
cce814c41b
* Final commit
2011-12-13 21:35:28 +00:00
beegee1
7f04ed990b
Major refactoring. First part: BattleInterface
...
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
Frank Zago
a62634cf94
Add support for SDL 1.3 in compatibility mode.
2011-11-17 00:24:27 +00:00
DjWarmonger
2e0ca6d162
Cleaned some code.
2011-11-13 09:29:22 +00:00
Ivan Savenko
0f2e00c780
-(linux) Moved all (I hope) files created by VCMI to ~/.vcmi to prevents crash on launch from read-only directory
...
- minor fixes for #362 #835 #836
2011-11-01 12:58:01 +00:00
Ivan Savenko
ede7fd5a7a
- (linux) Fixed gcc linking issues
2011-10-31 18:00:44 +00:00
DjWarmonger
10fce0025a
Support for wall penalty & No Wall Penalty ability.
...
All creature abilities should now be more or less working.
2011-10-20 17:41:40 +00:00
DjWarmonger
95f23cf20f
Support for Bind ability.
2011-10-17 08:24:51 +00:00
DjWarmonger
b4d0ebf9ab
Support for Mana Channeling ability.
2011-10-09 11:23:24 +00:00
DjWarmonger
5e40d3da72
Support for Enchanter ability.
2011-10-09 07:20:23 +00:00
DjWarmonger
d607d90a91
Support for Fear & Fearless ability.
...
Ogre Magi can now cast too.
2011-10-08 17:10:43 +00:00
DjWarmonger
0903d6037c
New pack - BattleEffectTrigger for various one-shot effects with animation
2011-10-08 13:02:58 +00:00
DjWarmonger
f4fc77ccb8
Creature spells are now functional.
...
It includes Master Genie, Archangel, Faerie Dragon & Elementals
2011-10-08 09:11:36 +00:00
Frank Zago
28231fee98
Newest GCC linker requires that every necessary library must be explicitly mentioned - no implicit linking allowed.
...
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
2011-10-06 01:11:23 +00:00
DjWarmonger
f1f416c890
Fixed (unnecessary?) deadlock in BattleStacksRemoved. Daemon summoning is pretty functional.
2011-10-02 13:59:12 +00:00
DjWarmonger
07b8f87fb7
Partial support for Daemon Summoning.
...
It freezes for unknown reason, but still.
Minor fixes.
2011-10-02 07:16:34 +00:00
DjWarmonger
6fdb984799
Lots of refactoring & work for creature spells.
...
No new features yet, but summon elementals now work properly again.
2011-10-01 19:56:54 +00:00
Michał W. Urbańczyk
623325ca61
Ouch. Thing was for branch only.
2011-09-27 22:03:43 +00:00
Michał W. Urbańczyk
bdd66b6537
Zmiany do Programming challenge.
2011-09-27 21:54:40 +00:00
Frank Zago
c4b8039c1e
Added a missing rturn in CGameHandler::isAllowedExchangeForQuery. Fixed several typos.
2011-09-24 01:15:36 +00:00
Frank Zago
c481177515
Fixed #815 .
2011-09-24 00:32:55 +00:00
Ivan Savenko
d113517db4
- fixed #108 , #798 , #810
...
- fixed several gcc warnings
- some work on JSON (const char* as input, no crash on missing value)
2011-09-23 15:58:18 +00:00
Michał W. Urbańczyk
6ef44bde5a
Work on pathfinder: torn the code out from CGameState into a separate class. It can use Subterranean Gates and Boats. Removed code for handling Fly spell effect. It didn't work as supposed anyway.
2011-09-19 20:50:25 +00:00
ori.bar
74fafbedbf
Fix #807
2011-09-17 18:15:10 +00:00
Michał W. Urbańczyk
9621cbcaa7
* fixed crash on calculating dmg dealt by stack under Curse
...
* fixed crash on sea battles (obstacles data got corrupted during conversion)
* fixed crash when StupidAI had a catapult
* minor fixes and refactorings (typename for bonus list under shared ptr)
2011-09-06 13:59:26 +00:00
Michał W. Urbańczyk
bb1bdcb0a7
* fixed crash on visiting Sirens
...
* fixed race condition on the new turn, #729 should be gone
* fixed crashes in AI-only game mode
2011-09-06 09:59:06 +00:00
Michał W. Urbańczyk
8b7a2f179c
* Server will strictly require answering the queries before taking any actions. Let me know, if this causes any freezes.
...
* Fixed crash on new week after we lost battle with neutral monster but killed the top stack (merging failed then).
* minor changes
2011-09-06 06:00:32 +00:00
DjWarmonger
e3a8a41063
Fixed #804 .
...
Phoenix won't upgrade to Centaur Captain ;)
Minor tweaks.
2011-09-05 06:37:24 +00:00
ori.bar
4f2bc1cc35
Fix bug 803
2011-09-04 01:44:50 +00:00
Michał W. Urbańczyk
102593aabe
Fixed #789 and #795 ,
2011-09-01 02:48:29 +00:00
Michał W. Urbańczyk
20a53b04fd
Removed object recycling that was causing #796 . Fixed text nr typo.
...
Corrected json include in client/Client.cpp.
2011-09-01 01:40:46 +00:00
Michał W. Urbańczyk
18444fc72f
Rewritten code handling growth to eliminate duplication and make it conformant to OH3 mechanics. Proper support for Statue of Legion.
...
Displaying shield over minimap during AI turn.
2011-08-26 20:32:05 +00:00
Michał W. Urbańczyk
4f20c5a376
Fixed #731 .
2011-08-25 21:08:53 +00:00
Michał W. Urbańczyk
4c3ed24fe1
Fixed #768 . More logging for #774 .
...
Fixed crash on town time event (-1 and -2 "structures" present on buildings list).
2011-08-25 20:02:38 +00:00
Michał W. Urbańczyk
77be397bf6
Fixed #782 .
2011-08-25 15:49:11 +00:00
Michał W. Urbańczyk
26a83d7680
http://forum.vcmi.eu/viewtopic.php?p=5956#5956
...
Significant changes in project files:
* new library package required! URL: http://download.vcmi.eu/msvc-pack.7z
* created VCMI_global.props property sheet for settings common to all VCMI projects
* added configuration for x64 builds
2011-08-15 21:53:03 +00:00
DjWarmonger
287761a93d
Fixed #229 & #332
2011-08-12 19:38:30 +00:00
Frank Zago
56bf3dc8ab
Replaced io_service()) with get_io_service(). Fixes bug #780 .
2011-08-04 23:49:32 +00:00
beegee1
f609c4ad9a
* Fixed #33 -> Creatures tend to stop at every hex during movement
2011-08-01 17:36:18 +00:00
DjWarmonger
2272b4a316
Reverted changes from r2270. These strange callbacks were introduced for purpose (bugs 574 & 615).
...
Described crash after a battle is not reproductible now. Refer to these bug reports for more details.
2011-07-30 18:02:31 +00:00
beegee1
a5c39ca84b
* Fixed a crash which occurred when a battle was won against a enemy hero but not gaining a lvl-up.
...
* Code improvements, fixed warnings.
2011-07-30 15:04:34 +00:00
Frank Zago
5eab8339d0
Someone likes to put semicolons in the wrong places. Fixed.
2011-07-28 00:38:19 +00:00
DjWarmonger
8789968d67
Fixed #777 .
2011-07-27 10:41:27 +00:00
DjWarmonger
2047862eb1
Compile fix for Kingdom Overview
...
Fixed common crash with gained exp, fixed necromancy.
2011-07-23 06:14:05 +00:00
DjWarmonger
da83f0fcde
For dev release 0.85b
...
Quick fix for #762
2011-07-21 14:16:45 +00:00
Ivan Savenko
0693312a8e
- fixed several crashes with joining creatures
...
- support for loading *.tga images
- minor fixes
2011-07-18 15:21:16 +00:00
Michał W. Urbańczyk
79f5b29196
Various player/AI interface related fixes and improvements.
2011-07-17 18:49:05 +00:00
DjWarmonger
ef954b8a4f
Most of the stuff I've commited today makes no sense, proper solution is trivial.
2011-07-17 18:11:03 +00:00
DjWarmonger
e4c5de3d0f
Fixes for previous commit. Now #574 , #615 and #743 work correctly.
2011-07-17 13:56:55 +00:00
DjWarmonger
096e77333f
Better handling of after-battle callbacks. Looks messy, but works.
2011-07-17 12:53:06 +00:00
DjWarmonger
16e7241fbd
Support for WoG's Defense bonus.
2011-07-16 16:40:38 +00:00
DjWarmonger
b609479496
Support for Magic Mirror spell.
2011-07-16 08:28:01 +00:00
DjWarmonger
79a453f442
Support for WoG "cast before attack" bonus. Minor fixes.
2011-07-16 06:42:44 +00:00
DjWarmonger
5269e845fd
handling of Rebirth ability for Phoenix.
...
However, I've got no idea how to restore its animation to alive state.
2011-07-08 14:54:20 +00:00
DjWarmonger
1bf9bb4d94
Flexible handling of creature spell power.
2011-07-08 13:17:05 +00:00
DjWarmonger
f33fbdc43b
Support for Thunderbolt (Thunderbirds).
...
General framework for handling creatures casting spells with arbitrary spell power.
2011-07-08 07:00:11 +00:00
DjWarmonger
8102fd4cf0
Support for Death Blow ability.
2011-07-06 17:00:45 +00:00
DjWarmonger
c53c226820
Support for Titan's Thunder (creating Spellbook) & Titan's Lightning Bolt.
2011-07-06 14:25:12 +00:00
Michał W. Urbańczyk
ed056cf0df
Set of minor improvements and fixes.
2011-07-05 19:05:41 +00:00
Ivan Savenko
b8448e4c3b
- (linux) build system update
...
- gcc errors/warnings fixes
2011-07-05 11:31:26 +00:00
Michał W. Urbańczyk
b3234e8bfa
* CGameInterface.h/.cpp moved from client project to lib (and, appropriately, to lib subfolder).
...
* New files in lib: ResourceSet.h/.cpp -> containing new structure for managing resources logic
* Minor changes and fixes
2011-07-05 06:14:07 +00:00
DjWarmonger
08b7d0db17
All multi-hex attacks and shots should now be fully functional.
2011-07-05 06:07:36 +00:00
DjWarmonger
e95ae22061
Implemented Dragon Breath, Attack All Around & Three-Headed Attack.
...
Dragon Breath does not yet work correctly for all double-wide stacks, though.
2011-07-04 19:34:49 +00:00
mateuszb
aac1c0b4e7
* cleaner code is better :)
2011-07-03 19:10:36 +00:00
DjWarmonger
57a36e77f3
Improvement for multiple-hex effects.
...
TODO: Attacker must know exact attacked tile, not only the stack.
2011-07-03 05:55:57 +00:00
DjWarmonger
81180de8be
Handling of area attack animation & effect
2011-07-02 17:40:33 +00:00
DjWarmonger
51943e5f1e
Partial support for Death Cloud & Magog's Fire Ball.
...
Lots of refactoring is needed to handle this and multiple-target attacks.
2011-07-02 16:49:22 +00:00
Ivan Savenko
a89895452a
- (linux) fixed searching/loading of scripting libraries
...
- (linux) moved AI libraries to /lib/vcmi/AI/lib*, ERM lib to /lib/vcmi/Scripting/*
- gcc compile and warnings fixes
2011-06-28 14:19:16 +00:00
Michał W. Urbańczyk
e6409e8ddd
Fix for printing the line number. Fixed #753 .
2011-06-27 16:03:03 +00:00