Piotr Wójcik
7171fa7ad4
Formatting
2017-10-28 11:04:55 +02:00
Piotr Wójcik
f145b4be91
Correctly sacrifice many stacks or many atrifacts, fixes #2607
2017-10-14 21:30:56 +02:00
Arseniy Shestakov
f1e5797834
Code style: move or add licensing information on top of every file
2017-07-14 01:26:03 +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
FeniksFire
4113bdab01
Moving some files from lib to the battle subdirectory.
2017-06-26 15:26:08 +02: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
Arseniy Shestakov
4b0f702e7e
Add LeaveGame netpack and avoid replying on it and CloseServer
2017-06-02 02:51:44 +03:00
FeniksFire
3de891b4b4
Moving/dividing classes from BattleState to separate files.
2017-03-17 16:48:44 +01: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
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
AlexVinS
85f94676a5
Server: convert logging
2016-08-30 01:13:07 +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
Vadim Markovtsev
fa8a282696
Fix pthread_mutex_lock abort() in requestActionASAP impl
2015-10-31 18:04:06 +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
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
DjWarmonger
5b8180e327
Cleaning logs.
2014-12-25 12:58:15 +01:00
Ivan Savenko
aa0433228a
Fixed cheats - sendMesssage will also pass current object.
...
Workaround-ish but should work. Branch should be fixed now.
2014-09-21 20:35:53 +03:00
Ivan Savenko
78709e223b
Breaking things - trying to remove server-side knowledge of selected objects
2014-09-19 00:18:49 +03:00
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
Michał W. Urbańczyk
d8a27d8f3c
Refactored player-specific data into single struct BattleState.
2013-07-21 22:01:29 +00:00
Michał W. Urbańczyk
79026bdfde
Introduced strongly typed QueryID.
...
Exchange between heroes is now a proper first-class query. Fixes #1269 . #66 should also be finally fully fixed.
VC projects: /Zm flag to fix compilation issues with recent Boost.
2013-05-27 10:53:28 +00:00
Michał W. Urbańczyk
e8354908c3
Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955 , #1053 , #1063 , #1191 . Needs testing.
...
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
beegee1
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
mateuszb
dbec99ffc7
* PlayerColor and TeamID refactoring
2013-03-03 17:06:03 +00:00
mateuszb
560315bc48
* SlotID refactoring
2013-02-16 14:03:47 +00:00
mateuszb
9e00090c42
* refactoring, a few intriguing problems remain
2013-02-13 23:55:42 +00:00
mateuszb
bda766b697
* refactoring
2013-02-12 19:49:40 +00:00
mateuszb
86dc9386d6
* refactoring, including a generic solution for IDs
2013-02-10 23:24:57 +00:00
mateuszb
9dd60b6dbe
* refactoring
...
* moat damage went to config file
2013-02-08 21:17:39 +00:00
mateuszb
f1c78e3260
* creature ID refactoring
...
* double week creatures are configurable now
2013-02-07 17:34:50 +00:00
mateuszb
af5287c193
* fixed opening custom campaign selection window
...
* artifact positions refactored
* vstd::advance allows moving between enum values
2013-02-06 23:24:43 +00:00
mateuszb
25663ce7af
* fixed vector<bool> serialization
...
* refactoring
2013-02-04 19:43:16 +00:00
mateuszb
8769f67c5d
* JsonReader can convert to enums
...
* refactoring
2013-02-03 21:05:44 +00:00
alexvins
4bc2fd5519
[c::b] renamed map subfolder to workaround dependency tracking bug
2013-01-03 12:19:20 +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
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
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
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
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
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
3cf4ebc163
Little more work on #760 :
...
* no tactics in creature banks
* no spellcasting during tactics phase
2012-03-28 21:54:43 +00:00
DjWarmonger
2bddf29cbf
Stack artifacts part 2, not working yet.
2012-02-04 16:34:29 +00:00
beegee1
7f04ed990b
Major refactoring. First part: BattleInterface
...
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +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
Michał W. Urbańczyk
4f20c5a376
Fixed #731 .
2011-08-25 21:08:53 +00:00
Michał W. Urbańczyk
79f5b29196
Various player/AI interface related fixes and improvements.
2011-07-17 18:49:05 +00:00
Frank Zago
eecb470e74
Fixed all warnings "take address of temporary".
2011-06-11 04:54:41 +00:00
Michał W. Urbańczyk
3ca95ef5ed
Fixed #730 :
...
* crash on +5 growth week
* crash on spawning wandering creatures on double growth months
(how come that has not been found in previous build?)
More logging for #729-like issues.
2011-05-28 01:02:28 +00:00
mateuszb
94166b83aa
* some changes
2011-05-22 18:46:52 +00:00
Michał W. Urbańczyk
d092eaf9d1
Artifact Merchant: selling artifacts. Messy, but completes H3 town structures functionalities.
...
BTW updating screen after closing marketplace is broken.
2011-04-22 21:51:10 +00:00
Michał W. Urbańczyk
0c700f97cd
A little progress with Eagle Eye and Tactics.
2011-02-13 22:46:04 +00:00
mateuszb
fcdc3f0bdd
Various changes, including exprank limiter and development towards Tactics secondary skill support.
2011-02-12 16:12:48 +00:00
Michał W. Urbańczyk
c9189119b9
Little more work on artifacts.
2010-12-29 21:04:22 +00:00
mateuszb
b3fd14b524
* splitted CGameState into general game state and battle game state
...
* added missing fields to serialize in CHero
2010-12-25 19:23:30 +00:00
mateuszb
af2c4633ad
* partially done duel mode
...
* program options parsing via boost::program_options
* Stupid AI - a stupid battle-only AI
* precompiled headers for server and Stupid AI on MSVC
2010-12-22 20:14:40 +00:00
mateuszb
49083c4e5a
* ConstTransitive CGI more or less done
...
* hch contents distributed to more appropriate folders
2010-12-20 21:22:53 +00:00
Michał W. Urbańczyk
fdb541d81e
Stacks #3 -> towards new system of stack operations.
2010-11-27 20:17:28 +00:00
Michał W. Urbańczyk
bce805dacc
Restored Warmonger's changes to artifacts system.
...
They will be subject of my further work, along with next part of bonus system.
2010-11-10 00:06:25 +00:00
Michał W. Urbańczyk
e83b9fa8fa
Fixed battles for network MP.
2010-10-30 19:26:39 +00:00
Michał W. Urbańczyk
aa131bbf15
Reverted r1811, r1812, r1813
2010-10-24 11:23:43 +00:00
DjWarmonger
0f314e106c
Artifacts will now be handled by pointers.
...
Assembling & disassembling combos may be buggy, but it's already been before.
2010-10-03 07:07:53 +00:00
DjWarmonger
3f31f6d33d
Pyramid fixes : #287 , #403 , #572 , #575 . It's config is now stored in bankconfig.txt
2010-08-18 13:42:46 +00:00
Ivan Savenko
520d40cc59
- uploaded config/settings.txt from 0.82 (fix for #605 )
...
- fixes for #604 and #364
- ally support is mostly done:
-- exchange between heroes
-- exchange between hero\town
-- finishing the game
2010-08-12 15:54:25 +00:00
Michał W. Urbańczyk
8487653a8e
Sacrificing artifacts. [Code is one giant workaround but should work good enough.] Updated changelog.
2010-07-23 12:02:15 +00:00
Ivan Savenko
5dc444cd2b
- University is finally implemented, both town and map objects
2010-07-20 14:08:13 +00:00
Michał W. Urbańczyk
cedf6d812c
Half-done Altar of Sacrifice. (Sacrificing creatures should work)
2010-07-20 06:05:45 +00:00
Ivan Savenko
bb7615309f
- Implemented Portal of Summoning (Dungeon)
2010-07-10 16:50:23 +00:00
Michał W. Urbańczyk
1e30045541
Support for Tavern on adv map.
2010-07-08 23:03:27 +00:00
Ivan Savenko
e4fcfd7044
- Skeleton transformer implemented
2010-07-03 12:00:53 +00:00
Ivan Savenko
60c90af39c
#41 - Implemented Castle Gates
...
#375 , #376 - fixed recruit window
#362 , #377 - fixed town window
2010-06-30 19:27:35 +00:00
Michał W. Urbańczyk
21a05d73cb
Black Market and Artifact Merchant (only buying artifacts) support.
2010-06-27 16:03:01 +00:00
Michał W. Urbańczyk
8bda10b695
* Freelancer's Guild support (both town structure and adventure map object)
...
* fixed crashes on r-click on hero in tavern and adv map
* fixed descync issue
* allow free movement FROM guarded tile
2010-05-26 09:47:53 +00:00
Michał W. Urbańczyk
1002bd2b4f
Trading Post handling.
2010-05-18 07:01:54 +00:00
Michał W. Urbańczyk
70fa697f8b
Support for War Machine Factory.
2010-05-15 08:33:32 +00:00
Michał W. Urbańczyk
921bddc35e
Some changes to the market window, sending resources to other players.
2010-05-07 22:10:32 +00:00
Michał W. Urbańczyk
ad841f7fea
Implemented Summon Boat spell.
2010-03-10 23:16:30 +00:00
mateuszb
b2aa0e5930
* partial support for grail digging
2010-02-21 15:03:30 +00:00
OnionKnight
ab75f4b1f8
Some work on artifact assembly.
2010-02-16 14:39:56 +00:00
OnionKnight
137ab65a13
Fixed artifact screens so only local changes are made. Some ugly const casting, for now.
2010-02-05 22:28:31 +00:00
OnionKnight
0a96decf87
* Fixed the artifact screen completely, hopefully. Structural overhaul of the CArtPlace and CArtifactsOfHero classes, and I had to add a new server message SetArtifact to deal with things properly. The only thing that differs from H3 now is that you can't have gaps of empty slots in the backpack.
...
* Preliminary work on bug #112 , a bigArtifacts set is added to CArtHandler.
2009-12-01 23:19:43 +00:00
Michał W. Urbańczyk
9fd4b5bb62
Fourth part of sailing code.
...
Support for Shipyard (both for town and adventure map versions). Improved boat displaying code. Minor changes.
2009-07-26 03:33:13 +00:00
Michał W. Urbańczyk
db2f8c1d7c
* capitol bar in town hall is grey (not red) if already one exists
...
* disabled autosaving on first turn
* bonuses from bonus artifacts
* fixed crash on battle with neutral creatures
* minor improvements
2009-07-10 23:40:10 +00:00
Michał W. Urbańczyk
d80afb1902
* server sends confirmation (given later to player interface) after applying request (will be needed for AI)
...
* created new package for injuring multiple units - needed for area spells (not tested)
* proper screen updating on garrison change
* spell effects will be removed when they time out
* Corpse (Skeleton) will be accessible from all directions
* new objects supported:
- Corpse
- Lean To
- Wagon
- Warrior's Tomb
* several minor improvements
2009-04-16 00:28:54 +00:00
mateuszb
f9ae91d88c
* further changes towards support for ranged spells
...
* added info about author & license in files
2009-04-15 14:03:31 +00:00
Michał W. Urbańczyk
38b680ed30
* Patch from Ubuntux: fix to avoid resources becoming negative [on handling timed events]
...
* improvements for Garrison Window
* some changes towards Events support
* minor fixes
2009-04-14 23:29:26 +00:00
Michał W. Urbańczyk
6ce9a253a4
* support for Redwood Observatory
...
* support for Shrine of Magic Incantation / Gesture / Thought
* minor improvements
2009-03-14 11:25:25 +00:00
Michał W. Urbańczyk
a7680d3957
Bugfixes and support for timed events.
2009-03-09 19:40:43 +00:00
Michał W. Urbańczyk
4653ca6b29
New file for VCMI_Server - NetPacksServer.cpp
...
Redone client -> server protocol.
2009-03-09 10:37:49 +00:00