Vadim Markovtsev
a266154b26
Fix 2014 cursor must disappear during movement and Magi's Eye
2016-01-23 00:35:41 +03:00
Vadim Markovtsev
11bce2908d
Fix 1723 quest crash on combined arts
2016-01-22 12:56:25 +03:00
Vadim Markovtsev
e8db456beb
Reset obelisks upon game end
...
Otherwise, the static variables are preserved and lead to wrong values in next new game.
2016-01-20 13:02:52 +03:00
Vadim Markovtsev
1a2cd36df8
Initialize obelisks count to 0
...
Otherwise every time player starts with a random number.
2016-01-20 12:43:07 +03:00
Vadim Markovtsev
bb3a31f3ff
Mark obelisk visited for all players in the team
2016-01-20 11:14:03 +03:00
Vadim Markovtsev
10f888a483
Fix obelisks puzzle revealing
...
Teams and players were messed up in lib; hardcoded constants were refactored.
2016-01-20 10:44:13 +03:00
Zyx-2000
c385c8757b
TAB instead of spaces
2016-01-19 20:53:29 +01:00
Zyx-2000
2a55d5f85e
added copyright info
2016-01-19 14:26:18 +01:00
Zyx-2000
64365fa294
additional polishing
2016-01-19 11:56:03 +01:00
Zyx-2000
170e4283ae
Small improvements to FileStream
2016-01-18 21:30:06 +01:00
Vadim Markovtsev
92e011429f
Fix crash on unknown map objects
...
If getHandlerFor() fails to find the handler, it returns a nullptr
shared pointer, which is later dereferenced unconditionally.
How to reproduce:
Download map "Happy time Dragons!!!" from http://heroesportal.net/maps.php?type=H3AB-XL&sort=r
=>
Failed to find object of type 5:144
SIGSEGV
2016-01-18 21:16:55 +03:00
Zyx-2000
a50a702073
switched to -std=gnu++11
2016-01-18 17:49:07 +01:00
Arseniy Shestakov
575a68d78b
CRewardableObject: fix onVisited message duplication for Idol of Fortune
2016-01-17 15:16:35 +03:00
Zyx-2000
cf61837ced
replaced std::string with boost::filesystem::path in several places
2016-01-16 16:36:16 +01:00
Arseniy Shestakov
18b2f866c9
CGPickable: add missing break for flotsam. Fix issue 1956
2016-01-16 09:45:30 +03:00
Arseniy Shestakov
725cce368f
CGameState::initStartingBonus: fix amounts for wood and ore bonus
...
In original game when wood and ore bonus is choosen you always get same amount of both resources.
2016-01-15 20:36:16 +03:00
AlexVinS
a638d0cd51
Creature set serialization
2016-01-15 20:24:17 +03:00
Arseniy Shestakov
b84d7bd288
CGCreature: add reward granting. Fix issue 2372
2016-01-15 04:29:46 +03:00
DjWarmonger
ac730a591c
Fixed large treasure piles sometimes being uncovered.
2016-01-13 20:03:25 +01:00
DjWarmonger
8c5f93dd8f
Little refactoring for object placement.
2016-01-13 19:17:12 +01:00
Zyx-2000
933b7c1f5e
some modernization of CFileInputStream implementation code
2016-01-12 23:40:24 +01:00
Zyx-2000
f9b255c896
Cleaner code & MSVC compatibility
2016-01-12 22:40:05 +01:00
Zyx-2000
1f4bc0f2e4
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2016-01-11 22:38:47 +01:00
Zyx-2000
99cf8069d7
FileStream files
2016-01-09 21:24:20 +01:00
Zyx-2000
203b2dccc3
hopefully fixed things
2016-01-09 21:23:55 +01:00
DjWarmonger
676f078b2e
RMG will now multiply Monolith defs to ensure there are at least 100 pairs avaiable for connections.
2016-01-09 09:03:40 +01:00
DjWarmonger
dd1fc47c93
Workaround for Seer Hut offset. They seem to work fine now.
2016-01-08 21:51:55 +01:00
DjWarmonger
d840fb40eb
Fixed crashes with RMG Seer Huts. Now they are functional.
2016-01-08 21:14:57 +01:00
Arseniy Shestakov
383f754ed1
Starting gold bonuses must be always multiples of 100
2016-01-07 20:51:37 +03:00
Arseniy Shestakov
c93f8fea48
moatHexes: implement reading moat hexes from configuration files
...
This also fix Fortess moat that previously used wrong hexes
2016-01-06 12:53:40 +03:00
DjWarmonger
cdd50b1603
Version bump.
2016-01-01 20:06:38 +01:00
AlexVinS
37d0dad70a
Merge branch 'develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.cpp
2016-01-01 20:28:52 +03:00
Arseniy Shestakov
9fd1cff090
Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared
...
Long time ago it's was used without prefix to make future switch from boost to std version easier.
I discusses this with Ivan and decide to drop these using from Global.h now.
This change wouldn't break anything because there was already code with prefix for each of three cases.
2015-12-29 05:43:33 +03:00
Arseniy Shestakov
29a7934a99
Refactoring: avoid using namespace when it's not absolutely needed
2015-12-29 02:14:08 +03:00
Arseniy Shestakov
66e6f15e67
NewTurn::applyGs: update bonuses in beginning. Fix issue 2083
...
Before bonuses was removed after hero get movement points and mana so affected hero one day more than intended.
2015-12-25 01:48:53 +03:00
Arseniy Shestakov
6f5c52a229
Refactoring: use cleaner CCreatureSet::stacksCount everywhere
2015-12-24 21:30:57 +03:00
Arseniy Shestakov
62bab27e7e
CGArtifact: show yes/no dialog for guarded artifacts. Fix issue 2095
...
Also fix hover text for CGMine
2015-12-24 21:05:02 +03:00
Arseniy Shestakov
75ca020890
CCeatureSet: add getArmyDescription for hover and InfoWindow texts
2015-12-24 21:03:51 +03:00
DjWarmonger
be50d699fb
Compile fixes for MSVS
2015-12-23 15:23:56 +01:00
ArseniyShestakov
48be566050
Dimension Door: fix movement points cost for expert level
2015-12-21 18:46:52 +03:00
Ivan Savenko
a051a08a46
Merge remote-tracking branch 'origin/issue/2306' into develop
2015-12-18 22:21:11 +02:00
ArseniyShestakov
b6176649ec
CGMonolith: avoid crash when all exits are blocked by friendly heroes
2015-12-18 01:08:19 +03:00
ArseniyShestakov
9490a5d66d
CPathfinder: deny transit to land blockvis objs from water layer
...
When hero is in water walking layer he can only exit to accessible or visitable land tiles, but not objects that have blocking visit and leave hero standing on water.
This is different than default flying behaviour because hero in air layer can only transit into accessible land layer without any blocking or visitable objects on them.
2015-12-16 20:14:36 +03: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
ArseniyShestakov
2724a67a27
CPathfinder: add border gate support and use passableFor
2015-12-14 14:33:50 +03:00
ArseniyShestakov
9f565b81e9
CBankInfo: fix huge memory leak that appear in long run
2015-12-14 11:29:24 +03:00
ArseniyShestakov
59199ccdbd
Bonus system: add treeHasChanged call where bonus objects changed
2015-12-11 16:13:18 +03:00
ArseniyShestakov
1730a31471
HeroBonus: get rid of code that used getBonusList
2015-12-11 16:01:51 +03:00
ArseniyShestakov
8fb5dacba2
CBonusSystemNode: get rid of non-const getBonusList
2015-12-11 15:02:36 +03:00
ArseniyShestakov
ab92123da3
CPathfinder: improve support for visits and battles in teleports
...
Related movement code for client and AI is plumbed as well. Though at moment code still not finished because it's not teleport hero to the exit tile if he won battle.
2015-12-11 09:42:30 +03:00
ArseniyShestakov
a430769b44
CPathfinder: fix possible crash when using invisible teleport exit
...
This one is similar with FoW bug when hero was covered by FoW while one tile around wasn't.
2015-12-11 04:10:30 +03:00
ArseniyShestakov
c3e5231146
CPathfinder: avoid pathing through hero standing on Subterranean Gate
...
Subterranean Gates unlike Monolith allow to visit hero standing on other exit. So of course pathfinder allowed that, but it's also allowed future movement through that hero which caused infinite loop for AI.
2015-12-10 16:51:19 +03:00
ArseniyShestakov
2be6818e33
FoWChange::applyGs: correct copy-paste error. Fix issue 2345
2015-12-09 10:02:33 +03:00
ArseniyShestakov
1c0d4e3f6f
Fix filenames in file headers
2015-12-08 09:53:14 +03:00
ArseniyShestakov
07807fb044
Client: slience visibility error on shipyard in non-coastal town
2015-12-08 07:33:13 +03:00
ArseniyShestakov
03e9dd3bab
Add hero gold cost to GameConstants
2015-12-07 00:13:58 +03:00
ArseniyShestakov
e872b400b7
Comments save format backward compatability code as Ivan suggested
...
Also we should always handle RumorState::TYPE_NONE in getTavernRumor properly anyway.
2015-12-06 02:51:54 +03:00
ArseniyShestakov
05a34fb417
Use "Favorable" instead of "Favourable" everywhere for consistency
...
Original game of course used american english version so we stick to it.
2015-12-06 02:23:41 +03:00
AlexVinS
f33bcee84c
post-merge fixes
2015-12-05 13:56:38 +03:00
AlexVinS
947edc0693
Merge branch 'develop' into feature/VCMIMapFormat1
2015-12-05 13:04:04 +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
AlexVinS
3bf9696b13
Tweaks
2015-12-05 12:38:37 +03:00
AlexVinS
3f79d001c1
Fix subObject identification
2015-12-05 12:38:36 +03:00
AlexVinS
b56b7017ba
Added stubs for some Map objects serialization
2015-12-05 12:38:35 +03:00
AlexVinS
6977fc3a14
Move test filesystem creation to global fixture
2015-12-05 12:37:37 +03:00
AlexVinS
e7359c9a36
Serialize tempOwner
2015-12-05 12:37:35 +03:00
AlexVinS
8a979d016f
ObjectTemplate serialization
...
(+) generated map displayed correctly in editor
2015-12-05 12:36:44 +03:00
AlexVinS
2d777ea676
Small (temp) fix. Prevent nulls from serialization.
2015-12-05 12:36:43 +03:00
AlexVinS
2d5a366e6c
Implemented (basic) object construction and placement
...
* contain refactoring of RMG and class handling (will be more)
2015-12-05 12:36:42 +03:00
AlexVinS
9cc3dae5fe
Started working on objects serialization
2015-12-05 12:36:42 +03:00
AlexVinS
a5b72ce593
Cleanup
2015-12-05 12:36:41 +03:00
AlexVinS
8493d0cded
Initial implementation of new team settings format
2015-12-05 12:36:40 +03:00
AlexVinS
6f203fb7e2
Save string identifiers for all game objects
2015-12-05 12:36:39 +03:00
AlexVinS
93c214d7a0
fix CMakeLists
2015-12-05 12:36:38 +03:00
AlexVinS
60825fbbd3
Start implementing PlayerInfo serialisation
2015-12-05 12:36:37 +03:00
AlexVinS
2f67e015e1
Fix build
2015-12-05 12:36:36 +03:00
AlexVinS
7c8d29b871
Start implementing player info serialization
2015-12-05 12:36:36 +03:00
AlexVinS
f5b348a1d1
Formatting
2015-12-05 12:36:35 +03:00
AlexVinS
3af255d1b9
Implemented terrain serialisation
...
* with test
2015-12-05 12:36:34 +03:00
AlexVinS
6552acdff6
Check coastal tile OTF
2015-12-05 12:36:29 +03:00
AlexVinS
8bc242d002
Cleanup
2015-12-05 12:06:52 +03:00
AlexVinS
27bf2524a3
Advance triggered events serialization
...
(-) missing indentifier serialization (unimplemented in engine)
(-) missing tests
2015-12-05 12:06:51 +03:00
AlexVinS
11af00bcdf
Start working on Triggered Events
2015-12-05 12:06:50 +03:00
AlexVinS
b683c29b6e
Added modification time to zip.
...
* it is required to consider archive valid (by some tools)
2015-12-05 12:06:49 +03:00
AlexVinS
f6e2cd16ed
Fix header.mapLevels saving
2015-12-05 12:06:48 +03:00
AlexVinS
0cc7213a27
WiP on zip serialization
...
(-) still not works correctly
2015-12-05 12:06:47 +03:00
AlexVinS
fc2cbc841a
Another fix for JsonWriter::writeString
...
* RMG description check passed
2015-12-05 12:06:46 +03:00
AlexVinS
ff18944088
Fix writing escaped string json fields
2015-12-05 12:06:45 +03:00
AlexVinS
f2164abf1b
Wip on zip serialize fixes
2015-12-05 12:06:45 +03:00
AlexVinS
27a29bd035
Start implementing actulal json serialization
2015-12-05 12:06:44 +03:00
AlexVinS
1a8faeb0b9
Start implementing map saver
2015-12-05 12:06:42 +03:00
AlexVinS
0040b459c3
Add support of CIOApi to CZipStream and CZipLoader (unused, untested)
2015-12-05 12:06:41 +03:00
AlexVinS
b3ac146ba9
Define bridge interface to minizip IOAPI
2015-12-05 12:06:40 +03:00
AlexVinS
3d265f94dc
Update projects
2015-12-05 12:06:39 +03:00
AlexVinS
0cc47f00c5
Advance map format simple test
2015-12-05 12:06:35 +03:00
AlexVinS
7d16585f89
Use COutputStream in CMapSaverJson
2015-12-05 12:06:34 +03:00
AlexVinS
c965f9d02d
Added draft of IO memeory buffer
2015-12-05 12:06:33 +03:00
AlexVinS
221ec55f51
Define basic design of output streams
2015-12-05 12:06:32 +03:00
AlexVinS
adc271d7b3
Draft on classes hierarchy.
...
* patcher and loader uses diferent input (JsonNode and binary stream of zipped map archive), dicided to split them
2015-12-05 12:06:32 +03:00
ArseniyShestakov
360ebcce7e
Merge pull request #145 from vcmi/feature/tavernRumors
...
Tavern rumors and Thieves Guild fixes
2015-12-05 03:13:25 +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
ArseniyShestakov
9e7e5b81e4
Merge pull request #143 from vcmi/feature/patrolSupport
...
Patrol support for AI heroes
2015-12-05 03:11:07 +03:00
Ivan Savenko
89bf3592e3
Likely fixed duplicated random heroes
2015-12-05 01:40:23 +02:00
Ivan Savenko
8a3feb1e48
Added assert to hopefully catch invalid GiveBonus package at some point
2015-12-05 01:39:14 +02:00
ArseniyShestakov
82ce58eceb
CPathfinder::initializePatrol: don't pass valid PlayerColor
...
It's break getTilesInRange with mode 0 and we don't really need to check visibility anyway.
2015-12-05 01:45:10 +03:00
ArseniyShestakov
01c5bc25e5
Move TTeleportExitsList to CObjectHandler.h
...
Not a perfect solution, but this is the best location for now.
2015-12-05 01:14:03 +03:00
ArseniyShestakov
c83f15e413
Merge branch 'develop' into feature/tavernRumors
...
Conflicts:
lib/CGameState.h
2015-12-05 01:01:26 +03:00
ArseniyShestakov
d856fde73f
Rumors: use enum instead of magic numbers and avoid potential crash
2015-12-04 22:58:14 +03:00
ArseniyShestakov
bdc369ffba
Patrol: use manhattan distance for getting tiles in radius
2015-12-04 21:08:09 +03:00
ArseniyShestakov
2a63ba148a
Thieves Guild: fix tavern map object, lvl 0 when no taverns owned
...
We also now check not number of towns, but only towns that has tavern built. Also according to original mechanics all taverns always display information based on your number of taverns and not number of taverns of object owner.
2015-12-04 18:38:57 +03:00
ArseniyShestakov
3b3c49420f
Thieves Guild: correct number of taverns to access information
2015-12-04 17:52:30 +03:00
ArseniyShestakov
eced16945e
getVisibleTeleportObjects: use getObj as not verbose
...
We checking visibility in this function so there no need to send information about that into errorStream.
2015-12-04 05:43:55 +03:00
Ivan Savenko
faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
Ivan Savenko
f02e553b70
Fixed another uninitialized field possiblity causing issues with StupidAI
2015-12-04 00:11:44 +02:00
Ivan Savenko
90dfe3e782
reduced visibility for members of Mine and Dwellings
2015-12-02 22:34:13 +02: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
Ivan Savenko
bef7048460
minimized visibility of members of teleportation-related classes
2015-12-02 21:01:43 +02:00
Ivan Savenko
f9d9a38e53
Fixed gcc warnings
2015-12-02 20:59:38 +02:00
ArseniyShestakov
b5100bee94
Teleport: rework code to support exit point selection for whirlpools
2015-12-02 17:56:26 +03:00
ArseniyShestakov
a62ee65d72
Rumors: implement income checking via statsHLP::getIncome
...
This also fix income ranking in Thieves' Guild
2015-12-01 06:28:08 +03:00
ArseniyShestakov
ffcc5ccdd2
Rumors: implement support for grail terrain rumor
2015-12-01 04:57:52 +03:00
ArseniyShestakov
15273ac0f7
Rumors: avoid repeating of same rumor twice in a row
...
Multiple rumors of same type can go in a row, but not identical rumors.
2015-12-01 02:14:11 +03:00
ArseniyShestakov
98582d628c
Rumors: move code into CGameState and add backward compatability
2015-12-01 00:44:58 +03:00
ArseniyShestakov
879eaa47f8
Rumors: client-side proof of concept implementation
...
Actually information about this week rumor should be stored in gamestate and updated weekly
2015-11-30 20:52:15 +03:00
ArseniyShestakov
6704ea0cff
Rumors: rename getTavernGossip to getTavernRumor for consistency
...
Original game used "Rumors" and not "Gossips" and we already using rumor in CMap.
2015-11-30 17:51:28 +03: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
ce5b7c73be
CGEvent: avoid permanent event removal after visit. Fix issue 2339
2015-11-28 23:03:26 +03:00
ArseniyShestakov
6bb205b15b
CPathfinder: patrol support using getTilesInRange
...
For now we use getTilesInRange which isn't really correct for patrol, but good enough for first version.
2015-11-28 20:34:50 +03:00
ArseniyShestakov
56c6785bd0
Add backward compatability for patrol and bump save format version
2015-11-28 17:58:59 +03:00
ArseniyShestakov
f6de3f94ca
Teleports: use TTeleportExitsList typedef for exits list
...
There is several ideas that teleportation code have to be shared between object/spells and this way we can avoid changing showTeleportDialog declaration every time.
2015-11-28 02:41:30 +03:00
ArseniyShestakov
d6a142ca3d
CMapLoaderH3M: support for patrol initialPos in readHero
2015-11-27 11:34:03 +03:00
ArseniyShestakov
5d2e47faba
CGHeroInstance::Patrol: add initialPos
2015-11-27 11:04:01 +03:00
ArseniyShestakov
c45cd1f4c2
CGHeroInstance::getOutOffsets: temporary fix for boat summoning
...
Appropriate fix would require to get rid of convertPosition everywhere. Check issue 515 for more details.
2015-11-26 10:55:02 +03:00
ArseniyShestakov
64c6d3c950
CGCreature::takenAction: add neverFlee check. Fix issue 2242
2015-11-25 09:34:49 +03:00
ArseniyShestakov
3d8f67f864
getFreeTiles: filter ROCK tiles. Fix issue 1870
2015-11-25 09:12:09 +03:00
ArseniyShestakov
2276af70dc
PreGame: avoid crashing on random map options
...
Options is still broken, but at least we shouldn't crash there.
2015-11-25 07:25:44 +03:00
DjWarmonger
45d183289d
Merge pull request #142 from edeksumo/Fix-Defence-Ani
...
Fix crash
2015-11-24 21:37:32 +01:00
edeksumo
aab5a05036
Fix crash during auto battle
2015-11-24 20:55:11 +01:00
ArseniyShestakov
a851062891
Merge pull request #133 from vcmi/feature/pathfinderLayers
...
Pathfinder layers and related changes: fly and water walking implemented
2015-11-24 13:09:06 +03:00
ArseniyShestakov
df4515901d
CPathfinder: fix special movement boundary check
...
Forgot to fix it for water walking after fe12b8f664
2015-11-23 14:11:08 +03:00
ArseniyShestakov
f4c06660e4
CPathfinder::evaluateAccessibility: apply more optimizations
2015-11-22 21:31:47 +03:00
ArseniyShestakov
2632389aaf
CPathfinder: bring FoW reference back to avoid performance loss
...
This one is revert 148355908d
2015-11-22 21:06:37 +03:00
ArseniyShestakov
6dacb84404
CPathfinder::addNeighbours: avoid allocating new vector each time
2015-11-22 07:32:33 +03:00
ArseniyShestakov
e1a360408d
GameConstants: move operators into header and always inline them
2015-11-22 07:24:12 +03:00
ArseniyShestakov
5a87f58e09
CPathfinder: optimize checks order in calculatePaths
2015-11-22 06:23:54 +03:00
ArseniyShestakov
8217eb3a82
CPathfinder: split isLayerTransitionPossible into two functions
...
This way we can avoid usage of getNode for layers that clearly can't be used.
2015-11-22 06:16:16 +03:00
ArseniyShestakov
649ebfad2f
TerrainTile::topVisitableObj: avoid costly vector copying
2015-11-22 05:34:37 +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
438a444443
CGHeroInstance: move native terrain check into getNativeTerrain
...
That make it easier to use that code independently in TurnInfo
2015-11-21 13:32:45 +03:00
ArseniyShestakov
a375c86ea2
movementPointsAfterEmbark: get max move points from TurnInfo
...
Missed that when originally implemented TurnInfo.
Not pretties code, but boost performance a lot.
2015-11-21 12:46:59 +03:00
ArseniyShestakov
5ae6225ebc
TurnInfo: implement internal bonus cache for most used bonuses
...
Bonus system even with caching add too big overhead so we'll only use it once for these bonuses.
Still I'm like it to be transparent for external code so it's a bit hacky code.
2015-11-21 10:00:09 +03:00
ArseniyShestakov
e91d79414b
PathfinderOptions: use settings and move all defaults into schema
2015-11-21 00:32:23 +03:00
ArseniyShestakov
b48d65ad57
addNewBonus: add turnsRemain check for N_TURNS, N_DAYS and ONE_WEEK
2015-11-20 14:37:57 +03:00
ArseniyShestakov
f99ffbd074
Bonus system: use duration helpers in selecters
2015-11-20 13:24:48 +03:00
ArseniyShestakov
cb61572878
TurnInfo: add cache for bonuses selection
2015-11-20 12:28:35 +03:00
ArseniyShestakov
6d395bcba7
Bonus system: add turnsRemain support for ONE_WEEK duration
2015-11-20 12:11:35 +03:00
ArseniyShestakov
d19cb5ce89
EPathfindingLayer: fix obvious layer over-allocation in CPathsInfo
2015-11-19 04:01:56 +03:00
ArseniyShestakov
adeefe903a
CGPathNode: apply suggested optimizations
...
Also make EPathfindingLayers ui8 too
2015-11-19 03:08:57 +03:00
ArseniyShestakov
7101083a24
CPathfinder: restore transit via garrisons
2015-11-18 00:07:25 +03:00
ArseniyShestakov
ab9680a7d9
CPathfinder: handle event object properly everywhere
...
Also add forgoted check for AdvmapInterface to avoid possible crash.
2015-11-17 07:09:01 +03:00
ArseniyShestakov
e9636a8d37
CPathfinder: add TODO and ideas for available options
2015-11-17 04:33:21 +03:00
ArseniyShestakov
fe12b8f664
Pathfinding: re-introduce EAccessibility::FLYABLE
...
That let us get rid of really hacky code in initializeGraph and also fix flying over tiles that aren't visible.
2015-11-17 03:59:02 +03:00
ArseniyShestakov
c2ba3e3faf
CPathfinderHelper: very firts pass over getNeighbours
2015-11-17 02:41:31 +03:00
ArseniyShestakov
73d8687785
CPathfinder: add some comments and TODO for future changes
2015-11-17 01:38:13 +03:00
ArseniyShestakov
578aa2acd4
Pathfinding: don't use gamestate directly as it's not needed
2015-11-16 21:22:11 +03:00
ArseniyShestakov
d524b4eabe
CPathfinder: get rid of addNeighbours coord argument
2015-11-16 19:54:17 +03:00
ArseniyShestakov
8f72d73241
CPathfinder: update teleport code and use TurnInfo for whirlpools
2015-11-16 19:14:18 +03:00
ArseniyShestakov
0949283cb9
Pathfinding: pass PathfinderOptions to helper and avoid changing them
...
Original idea behind options is that options should only be set on pathfinder object creation (or via some special method in case pathfinder become persistent).
2015-11-16 18:43:02 +03:00
ArseniyShestakov
3185b64fb0
CPathfinder: rename cObj and dObjt to ctObj and dtObj
...
This way it's more clear that it's pointer to object on tile and not path node.
It's important because air layer nodes don't have visitable objects while tile under them can have one.
2015-11-16 17:41:23 +03:00
ArseniyShestakov
6dd9572644
CPathfinder: cleanup checks for source node visitable object
2015-11-16 17:36:58 +03:00
ArseniyShestakov
aa59ad05ed
CPathfinder: don't access map->guardingCreaturePositions directly
2015-11-13 23:32:52 +03:00
ArseniyShestakov
324cf5490c
CPathfinder: fix movement into guardian tile
2015-11-13 23:07:56 +03:00
ArseniyShestakov
0be9d21132
CPathfinder: add rule that hero in boat can't visit empty boats
2015-11-13 10:28:44 +03:00
ArseniyShestakov
d2baa5b0d0
Pathfinding: move isLayerAvailable into TurnInfo
2015-11-12 14:40:56 +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
9ed9d94009
TurnInfo: first step towards better abstraction
2015-11-12 05:20:32 +03:00
ArseniyShestakov
4e11d81673
CGWhirlpool: fix random exit chooser
2015-11-12 01:23:27 +03:00
ArseniyShestakov
942c0cd718
CPathfinder: improve support for whirlpools
2015-11-12 01:16:06 +03:00
ArseniyShestakov
d76b2b7ca8
CPathsInfo: rework nodes multi_array allocation
2015-11-12 00:05:20 +03:00
ArseniyShestakov
09473f6648
CPathfinder: move embark special case to isMovementToDestPossible
2015-11-11 22:29:20 +03:00
ArseniyShestakov
46b923713b
Pathfinding: rework isLayerTransitionPossible and fix formatting
2015-11-11 22:08:15 +03:00
ArseniyShestakov
f1311abd0b
CPathfinder: move node action code into getDestAction
2015-11-11 19:51:08 +03:00
DjWarmonger
5fadb239f2
Merge pull request #134 from edeksumo/Fix-Defence-Ani
...
Let's try this.
2015-11-11 09:43:51 +01:00
ArseniyShestakov
4aaf6191a5
CPathfinder: implemented originalMovementRules option
2015-11-10 21:07:27 +03:00
ArseniyShestakov
2b6851b3d2
Pathfinding: use unique_ptr for hlp and fix few rules
2015-11-10 19:15:59 +03:00
ArseniyShestakov
9a63735c24
CPathfinderHelper: implement TurnInfo to avoid bonus re-checking
...
TurnInfo contain information about what movement-related bonuses and MP hero going to have on certain turn.
This way we can collect this information once for each turn so it's huge performance boost.
2015-11-10 14:26:45 +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
96897acc46
CWillLastDays: add condition for permanent durations
...
Accidentally missed them in pull request
2015-11-09 19:05:22 +03:00
ArseniyShestakov
7f0b0bd1b5
Bonus system: use updateBonuses in battleTurnPasseed
2015-11-09 15:48:07 +03:00
ArseniyShestakov
ee1c5e452f
Bonus system: add CWillLastDays selector
2015-11-09 15:01:58 +03:00
ArseniyShestakov
5bfbd8526b
Bonus system: fix N_DAYS bonus duration
2015-11-09 14:18:36 +03:00
ArseniyShestakov
45e4cf354e
Revert "Pathfinding: do path calculation in separate thread"
...
This reverts commit f376b27999
.
2015-11-09 09:35:56 +03:00
ArseniyShestakov
f376b27999
Pathfinding: do path calculation in separate thread
2015-11-08 19:19:48 +03:00
ArseniyShestakov
9cf35d1bfd
CPathfinder: support for Castle Gate
...
No support for client / server implemented yet.
2015-11-08 10:06:24 +03:00
ArseniyShestakov
be37e1cd8b
CPathfinder: add const to appropriate methods
2015-11-08 08:39:00 +03:00
ArseniyShestakov
f590b364c5
Pathfinder: shorten EPathfindingLayer to ELayer
2015-11-08 08:27:51 +03:00
ArseniyShestakov
4af9c7c29d
CPathfinder: add one turn boundary for flying and water walking
...
Now when oneTurnSpecialLayersLimit is enabled hero won't be able to stop on blocked or water tiles between turns.
It's default H3 mechanics so it's enabled by default.
2015-11-08 07:44:00 +03:00
ArseniyShestakov
2fb73c55e1
CPathfinder: use node action in isMovementAfterDestPossible checks
2015-11-08 04:41:06 +03:00
ArseniyShestakov
4973a1ec90
CGPathNode: get rid of land member as it's now obsolete
...
CTerrainRect::showPath behaviour changed so it's will only add cross path graphics on embark/disembark and path ending.
We want continuous paths for flying and water walking even when land<-> water transition occur.
2015-11-08 04:01:58 +03:00
ArseniyShestakov
160fa38254
Client: change cursor using node action information of pathfinder
2015-11-08 03:10:48 +03:00
edeksumo
ba1062ed3c
Formating2
...
Change ani to anim
2015-11-07 23:30:01 +01:00
ArseniyShestakov
82048cbf2d
Pathfinder: implement new feature - node action
...
No action going to simplify isMovementAfterDestPossible and should be as well useful for cost calculations.
It's can be also used by client interface to show appropriate cursors and path.
2015-11-08 00:26:41 +03:00
ArseniyShestakov
bd8eec7fb8
CGPathNode: move resetting code into separate function
2015-11-07 22:16:45 +03:00
ArseniyShestakov
d8a612f5d6
CPathsInfo: use boost::multi_array for storing graph of nodes
2015-11-07 22:02:57 +03:00
ArseniyShestakov
3f2cdf3137
CPathfinder: implement priority queue and node locking
2015-11-07 21:11:07 +03:00
ArseniyShestakov
7eebcb9d60
Artifacts: replace few more ints by ArtifactID
2015-11-07 11:46:58 +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
148355908d
CPathfinder: get rid of FoW variable and bunch of small fixes
2015-11-05 15:04:56 +03:00
ArseniyShestakov
9fe442537b
Pass on EPathfindingLayer and small fixes for code around it
2015-11-05 12:46:44 +03:00
ArseniyShestakov
5f3e9deda7
CPathfinder: deny transit over whirlpools when hero not protected
2015-11-05 11:34:01 +03:00
ArseniyShestakov
a1290f548b
CPathfinder: only allow water walking over accessible tiles
2015-11-05 11:25:41 +03:00
ArseniyShestakov
3de94a8b99
CPathfinder: don't allow future movement after guarded tile
...
There is two exceptions:
- Hero start movement from guarded tile.
- Hero that embarking into boat that standing on guarded tile.
In other cases future movement is impossible.
2015-11-05 10:22:38 +03:00
edeksumo
dd525da153
Formatting
2015-11-04 23:37:53 +01:00
ArseniyShestakov
f4dea88e3b
CPathfinder: get rid of hero object usage when it's not needed
2015-11-04 15:38:15 +03:00
ArseniyShestakov
1bc335323d
CPathfinder: add lightweightFlyingMode option suggested by @alexvins
2015-11-04 15:05:22 +03:00
ArseniyShestakov
330c1666fc
CPathfinder: move isLayerTransitionPossible and remove outdated comment
2015-11-04 12:29:51 +03:00
ArseniyShestakov
934c682733
CPathfinder: always add air and water layer nodes to queue
...
It's should be possible to go into air layer from visitable object (but opposite isn't allowed).
And when walking on water player can't really interact with any object at all so future movement always possible.
2015-11-04 11:53:52 +03:00
ArseniyShestakov
595deda270
CPathfinder: rename functions to better represent what they doing
2015-11-04 11:47:43 +03:00
Alexander Shishkin
da01af319b
Merge pull request #124 from vcmi/issue/1372
...
Issue/1372
2015-11-04 10:39:40 +03:00
edeksumo
75a76c0bf0
FixDefenceAni
2015-11-04 00:19:40 +01:00
ArseniyShestakov
8b6b4e2e0b
Fix header case for Linux to Windows cross compilation using MingGW
2015-11-03 14:40:36 +03:00
ArseniyShestakov
dfd70849e9
CPathfinder: restore selective tile initialization to initializeGraph
...
This way we can avoid layer checks when calculating paths by ignoring unitialized tiles entirely.
Also at this point pathfinder and movement actually works for everything except flying.
2015-11-03 03:25:12 +03:00
AlexVinS
f6b9015324
Use constant for summoned creature slot
2015-11-03 02:18:34 +03:00
ArseniyShestakov
c85c7f4b61
CPathfinder: always initialize all nodes within initializeGraph
2015-11-03 01:29:43 +03:00
DjWarmonger
349f16a359
Version bump.
2015-11-02 17:28:54 +01:00
ArseniyShestakov
400152caee
CPathfinder: draft implementation of layers logic; not yet works
2015-11-02 16:03:03 +03:00
ArseniyShestakov
9c1c7d0caf
Pathfinding: move getNode into CPathsInfo
2015-11-02 14:04:26 +03:00
ArseniyShestakov
4b64bec711
EPathfindingLayer: copy other code from ETerrainType for debugging
2015-11-02 13:25:01 +03:00
ArseniyShestakov
2b6e1498d2
Pathfinding: change argument order for getPath and AUTO layer as default
...
This still need investigation, but likely most of external code shouldn't be aware of layers in order to work properly because only LAND and SAIL can be targeted and single tile can't have both of these layers.
2015-11-02 11:14:32 +03:00
ArseniyShestakov
b8253206c7
Pathfinding: make related code aware that layers exist
2015-11-02 11:06:06 +03:00
ArseniyShestakov
118039a368
Pathfinding: add copy-pasted EPathfindingLayer
2015-11-02 11:05:26 +03:00
AlexVinS
1bcfa986e4
Apply fixes to pathfinder
2015-11-01 01:52:43 +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
AlexVinS
34cc9c78f7
[c::b] update projects
2015-11-01 00:01:41 +03:00
DjWarmonger
621c62b44e
Don't crash when spell school level is higher than 3 (which is another bug)
2015-10-31 21:15:40 +01:00
Vadim Markovtsev
e6e975e9ef
Fix adventure map movement segfault in some scenarios
2015-10-31 20:23:13 +03:00
DjWarmonger
5ef02aaf88
Updated MSVS project.
2015-10-31 15:08:13 +01:00
DjWarmonger
17071c6ec8
Merge pull request #125 from ArseniyShestakov/newMovementSystem
...
Okay, time to merge this.
2015-10-31 13:56:22 +01:00
ArseniyShestakov
c4ea0c7ff2
CPathfinder: don't include RegisterTypes
2015-10-27 17:42:31 +03:00
Vadim Markovtsev
c5ebec0d1f
Fix the second crash (dynamic_cast failure)
2015-10-27 09:09:42 +03:00
ArseniyShestakov
92fee1bdbf
CPathfinder: shorten options struct declaration
2015-10-27 03:50:38 +03:00
ArseniyShestakov
6b34eb729e
Move all pathfinding-related code into new file
2015-10-27 03:34:47 +03:00
ArseniyShestakov
9e8427a078
CPathfinder: update comment for isSourceGuarded condition
2015-10-27 00:22:40 +03:00
ArseniyShestakov
01257efc02
CPathfinder: get rid of curPos and pass on initializeGraph
2015-10-26 20:17:10 +03:00
ArseniyShestakov
68bd37aa45
Store penalty in value of FLYING_MOVEMENT and WATER_WALKING
2015-10-26 18:30:11 +03:00
ArseniyShestakov
44ca00cd16
CPathfinder: rename functions
2015-10-25 19:11:00 +03:00
ArseniyShestakov
a536691781
CPathfinder: fix typos and more code cleanups
2015-10-25 17:01:28 +03:00
Vadim Markovtsev
79fb5b0c7b
Fix typeid ordering bug on MacOSX
2015-10-25 13:08:59 +03:00
AlexVinS
cfb5853689
Just a bit of black magic
2015-10-25 03:29:16 +03:00
AlexVinS
0f9de1c560
Made CTypeList threadsafe
2015-10-25 03:26:48 +03:00
AlexVinS
687a82886f
cleanup CTypeList interface
2015-10-25 01:38:30 +03:00
AlexVinS
92ae56b369
Mingw build fix
2015-10-24 22:21:54 +03:00
DjWarmonger
a6ea0981b6
Merge branch 'develop' into mutexRelax
2015-10-24 18:30:43 +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
4f7c3ec60f
Minor formatting fixes within pathfinder-related code
2015-10-24 15:50:00 +03:00
ArseniyShestakov
939b3c05a1
CPathfinder: use struct instead of enum for options
...
Suggested by @DjWarmonger as better alternative from performance standpoint while struct still more organized than bunch of variables.
Other reason of change it's that in future we may need non-boolean options, e.g for patrol movement and some new pathfinder usages.
2015-10-24 15:34:27 +03:00
ArseniyShestakov
6934c6bc95
CPathfinder: move check into isBetterWay lambda
...
It's must be of course used for teleporters too.
2015-10-24 14:54:15 +03:00
ArseniyShestakov
5a04f05b9b
CPathfinder: move one more check into isMovementPossible
2015-10-24 12:09:57 +03:00
ArseniyShestakov
6ebe2abc1a
Fix penalties for FLYING_MOVEMENT and WATER_WALKING
2015-10-23 20:50:52 +03:00
ArseniyShestakov
fc6f62e633
getMovementCost: get rid of useless flying parameter
2015-10-19 07:27:00 +03:00
ArseniyShestakov
498eb1d032
Fix typos
2015-10-19 05:16:18 +03:00
DjWarmonger
8c9f8f22d9
Merge pull request #123 from ArseniyShestakov/mantis-1230
...
Okay, now we shouldn't get broken savegames. Merging.
2015-10-17 08:31:44 +02:00
ArseniyShestakov
3663b952ea
Fix issue 2276. Refugee Camp shouldn't be guarded
2015-10-16 06:45:06 +03:00
ArseniyShestakov
226650582d
Move base movement cost to GameConstants
2015-10-16 03:03:40 +03:00
ArseniyShestakov
3466e0fae7
getTileCost: one more pass over code and formatting fix
2015-10-15 15:17:21 +03:00
ArseniyShestakov
46c7e8e36d
Add list ending comment as suggested by @alexvins
...
This way we can add new bonuses without changing last line in list and avoid possible issues of extra concatenating.
2015-10-15 12:20:53 +03:00
ArseniyShestakov
25da9f249e
Move NO_TERRAIN_PENALTY to the end of list to avoid save breakage
2015-10-15 11:44:59 +03:00
ArseniyShestakov
52a52dcfd9
Implement NO_TERRAIN_PENALTY bonus
...
Penalty of specified terrain type is ignored if hero have this bonus
2015-10-15 01:09:02 +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
b701835de0
Fix wrong comparison
2015-10-13 21:05:46 +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
eeb100d6a4
More comments about dispell special cases.
2015-10-13 07:11:49 +03:00
ArseniyShestakov
9954dfb33a
CPathfinder: move flying into options and add walk on sea
2015-10-12 19:03:08 +03:00
ArseniyShestakov
41c4323818
CGHeroInstance: add canFly and update canWalkOnSea
...
canWalkOnSea shouldn't check for FLYING_MOVEMENT because it's two separate mechanics that apply different limitations.
2015-10-12 18:52:23 +03:00
ArseniyShestakov
0faedde6b9
CPathfinder: store pathfinding options in set instead of variables
...
There is plenty of variables now and in future I'm going to add more more once pathfinder become usable for all kind of things.
2015-10-12 10:29:39 +03:00
ArseniyShestakov
886042dc11
CPathfinder: clean calculatePaths of code unsused for pathfinding
...
Map graph initialization should be there as well because it's needed for path checking.
This change wouldn't affect anything since currently CPathfinder object created from scratch every time.
2015-10-12 08:31:35 +03:00
ArseniyShestakov
213d8c2258
CPathfinder: turn checkDestinationTile into function
...
This code was only kept as lamba to access guard related variables that is now gone.
2015-10-12 08:22:31 +03:00
ArseniyShestakov
1beacf2260
CPathfinder: move guard checks into functions
2015-10-12 08:13:10 +03:00
ArseniyShestakov
cd7c5acbc4
CPathfinder: move embark special case code down
...
It's not affect cost calculations any way so let it's be in same order as it's used in condition under it.
2015-10-12 07:26:13 +03:00
ArseniyShestakov
c6f9cd1e52
CPathfinder: move passability checks into renamed goodForLandSeaTransition
...
There no need in dedicated function for embark / disembark and other conditions belong there perfectly.
This function is going to check what movements are plain impossible so we don't have to bother check their cost.
2015-10-12 07:10:33 +03:00
ArseniyShestakov
ee4305cd6d
CPathfinder: move destTopVisObjID where it's belongs to
2015-10-10 19:02:21 +03:00
ArseniyShestakov
13c2b5e2d8
CPathfinder: separate teleporter exits and neighbour tile code
...
This way code that handle real neighbour tiles is more readable and teleport exits don't have to go via all checks they ignore anyway.
2015-10-10 17:17:41 +03:00
ArseniyShestakov
f15065fdc5
CPathfinder: separate neighbours code into getNeighbours
...
This is first step to make this code usable outside of calculatePaths.
2015-10-10 16:09:40 +03:00
AlexVinS
2677d4a677
Fixed action cancel on active stack remove
2015-10-08 08:15:29 +03:00
AlexVinS
02c15085be
Remove (aready disabled in prev. commit) active stack change in sacrifice mechanics
...
* stack removing is evil, but changing active stack by spells is more evil ...
2015-10-06 03:59:05 +03:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
4e60b4cf53
Fixed 0002280
2015-10-06 01:26:50 +03:00
AlexVinS
f1d9e15783
[Tweak] Magic values--
2015-10-06 00:33:46 +03:00
AlexVinS
6cf220b882
Partial fix for 2272, there are more active stack sacrifice problems.
2015-10-05 20:33:05 +03:00
AlexVinS
fa06e05487
Merge branch 'develop' into SpellsRefactoring7
2015-10-05 00:45:57 +03:00
DjWarmonger
abe02247b5
Fixed bank randomization.
2015-10-02 17:28:33 +02:00
DjWarmonger
2733927527
Version bump.
2015-10-01 17:22:07 +02:00
AlexVinS
b07d272c2a
Added new BattleSpellCastParameters support to SACRIFICE spell.
2015-10-01 02:36:00 +03:00
AlexVinS
939a9180e2
Added new BattleSpellCastParameters support to TELEPORT spell.
2015-09-30 22:38:50 +03:00
AlexVinS
57e5b768e8
Allow multiple destinations in BattleSpellCastParameters
2015-09-30 00:31:50 +03:00
AlexVinS
70d9be8447
Use ISpellCaster in battle callback
2015-09-29 17:26:52 +03:00
AlexVinS
75c2566410
"const" tweak
2015-09-29 17:26:51 +03:00
AlexVinS
36e154d9b9
Use ISpellCaster in getAffectedStacks
2015-09-29 17:26:50 +03:00
AlexVinS
947f6089d5
Use ISpellCaster in isImmuneByStack
2015-09-29 17:26:49 +03:00
AlexVinS
a4d4851d80
Fix typo: casted->cast
2015-09-29 17:26:48 +03:00
AlexVinS
d9cbe487c7
remove useless function CSpell::getTargetInfo
2015-09-29 17:26:47 +03:00
AlexVinS
72587a8299
Removed hardcoded check for ANIMATE_DEAD absolute imminity - there is json configuration for that
2015-09-29 17:26:46 +03:00
AlexVinS
5f41ec912f
fix sphereOfPermanence
2015-09-29 17:26:45 +03:00
AlexVinS
3d7435c520
Introduced absolute specific spell immunity.
2015-09-29 17:26:44 +03:00
AlexVinS
253b850ac3
Partial fix for 1791
2015-09-29 17:26:43 +03:00
AlexVinS
a44c606277
Use callback methods
2015-09-29 17:26:42 +03:00
AlexVinS
660203b436
Tweak BattleSpellCastParameters
2015-09-29 17:26:41 +03:00
AlexVinS
2b434111bf
More hero|creature casting unification
2015-09-29 17:26:40 +03:00
AlexVinS
e454649886
Use BattleSpellCastParameters for spell parameters override
2015-09-29 17:26:39 +03:00
AlexVinS
10318a3da3
Intoduce PASSIVE_CASTING mode for opening battle spells
...
* now at least one "caster" object is present
2015-09-29 17:26:39 +03:00
AlexVinS
6010bbe7ba
More correct usage of battleGetFightingHero
...
* this should fix "FIXME: battleGetFightingHero wrong argument!"
2015-09-29 17:26:38 +03:00
AlexVinS
e552e37cf7
Factored out CDefaultSpellMechanics::battleCast
...
(-) still huge
2015-09-29 17:26:36 +03:00
AlexVinS
baba3a46e1
Centralize creature spell bonuses handling
...
* unified heal and damage calculation
* apply SPELL_DAMAGE_REDUCTION, MORE_DAMAGE_FROM_SPELL for Fairy dragon
2015-09-29 17:26:35 +03:00
AlexVinS
67bd698019
Added some debug logging
2015-09-29 17:26:34 +03:00
AlexVinS
873979a300
The only usage of secHero cast parameter is mana channeling - better to get it OTF
2015-09-29 17:26:33 +03:00
AlexVinS
46f99db8d7
Hide some spell mechnaics details
2015-09-29 17:26:32 +03:00
AlexVinS
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
9ed9075afc
Introduce calculateHealedHP again, now in better place.
2015-09-29 17:26:29 +03:00
AlexVinS
0929e009db
Remove suspicios code in display damage calculation
2015-09-29 17:26:28 +03:00
AlexVinS
16f0714474
More usage of OOP in HealingSpellMechanics::applyBattleEffects
2015-09-29 17:26:28 +03:00
AlexVinS
0fecb40039
Extract HealingSpellMechanics
...
* healing effects are too specific to be allowed for any spell
* mixing heal with direct damage does not make sence
* mixing heal with timed effect can be easy allowed if needed
2015-09-29 17:26:27 +03:00
AlexVinS
c050fde3f9
Get rid of DefaultSpellMechanics::calculateHealedHP
2015-09-29 17:26:26 +03:00
AlexVinS
a35b8a46d3
Comment out wrong code
2015-09-29 17:26:25 +03:00
AlexVinS
f66c29ea3b
fix comments
2015-09-29 17:26:24 +03:00
AlexVinS
05e52993fd
Simplified healed HP calculation
2015-09-29 17:26:23 +03:00
AlexVinS
eb1753851e
Fix comment
2015-09-29 17:25:04 +03:00
DjWarmonger
f81b46088a
Fixed #2218
2015-09-29 11:01:59 +02:00
AlexVinS
108d4c39b5
Fix build
2015-09-24 11:55:23 +03:00
DjWarmonger
6b45f323ea
Fixed logic regression from previous commit.
2015-09-23 21:38:16 +02:00
DjWarmonger
971f6d1c1f
Removed WoG dependency for random artifacts. WoG version in repository updated.
2015-09-23 21:14:41 +02:00
DjWarmonger
e2165a33a0
- Updated MSVS project
...
- Artifacts added via mods now work correctly without WoG
2015-09-23 19:34:12 +02:00
DjWarmonger
def56051fc
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-09-23 19:03:48 +02:00
ArseniyShestakov
76cd002f07
Remove unused variable found by valgrind
2015-09-23 11:09:15 +03:00
DjWarmonger
57637dd71a
Added some checks & logs for empty def names, but it only delays the crash.
2015-09-20 13:02:13 +02:00
DjWarmonger
e14faea181
Merge branch 'develop' of https://github.com/vcmi/vcmi into mutexRelax
2015-09-20 09:46:52 +02:00
AlexVinS
9e0fd70208
Move isCastableBy logic back to CGHeroInstance - it is Hero-specific
...
* When and if canCastThisSpell will also be implmented for creatures common part may be moved to CSpell class.
2015-09-16 04:39:44 +03:00
AlexVinS
dc8b05fbd8
Give banned spells only by SPELL bonus
2015-09-16 04:16:46 +03:00
AlexVinS
f2605e059c
Fix 2042
2015-09-16 02:20:57 +03:00
AlexVinS
395070b584
Fix 1974
2015-09-15 08:51:05 +03:00
AlexVinS
017b4c308c
Enable crashhandler for mingw. It works for mingw 4.0.
2015-09-15 07:27:18 +03:00
AlexVinS
080244f30e
MAXED_SPELL bonus should only affect spell effects
...
* fixes 2146
2015-09-15 06:00:24 +03:00
AlexVinS
27f2dfc576
Quick fix for SACRIFICE immunity check
2015-09-15 04:31:43 +03:00
AlexVinS
bd70f672c3
fix 1814
2015-09-15 03:08:45 +03:00
AlexVinS
466ddb37b3
fix 1556
2015-09-14 18:38:41 +03:00
AlexVinS
3ed3f1fa13
Use json configuration for special spell effect duration
2015-09-14 13:22:23 +03:00
AlexVinS
3c053e5dd5
Quick fix for 2245 & 2238
2015-09-14 12:35:58 +03:00
AlexVinS
329c1d6b94
Calculate magic mirror effect at same time as magic resistance.
2015-09-14 11:52:56 +03:00
AlexVinS
caf8ae62cc
Allow custom effect animation on any stack during spell cast.
2015-09-14 06:21:49 +03:00
AlexVinS
0f0e67dbe3
Do not include resisted stacks in affected
2015-09-14 05:45:05 +03:00
AlexVinS
843a2a39bd
Use general dispell algorithm for CURE
2015-09-13 01:06:07 +03:00
AlexVinS
32337102ac
Fix a typo
2015-09-13 00:54:39 +03:00
AlexVinS
3029b1a432
Fix initialization of CSpell::AnimationItem
2015-09-12 23:52:04 +03:00
AlexVinS
f310be5d5f
Fix pasring csv cells with multiple quoted parts
2015-09-12 23:03:10 +03:00
AlexVinS
7776d7bbf7
rename BattleSpellCastParameters::caster
2015-09-12 21:09:54 +03:00
AlexVinS
98ea8bf314
Introduce dummy spell animation/ animation pause configuration
...
* save format changed with backward compatibility, UNTESTED
2015-09-12 21:09:52 +03:00
AlexVinS
832d69ec11
Hide battle log algorithm in spell classes.
...
* not finished, to be moved to json of splitted between mechanics classes
2015-09-12 21:09:51 +03:00
AlexVinS
786acad70b
project update
2015-09-12 21:09:49 +03:00
AlexVinS
fb5903d610
Initial experiments on hero & creature casting unification
2015-09-12 21:09:44 +03:00
AlexVinS
8f2da66a18
fix mantiss 1967 + some refactoring
...
* remove TModDescr and realted APIs - they were only used in one place
2015-09-04 22:29:20 +03:00
AlexVinS
e82dfb5a85
fixed mantiss 0002254
2015-09-04 18:08:25 +03:00
DjWarmonger
1c14dbf7b2
Cache SectorMaps to evaluate multiple goals -> huge performance boost
2015-08-31 08:25:33 +02:00
DjWarmonger
a3ce1521e5
Cache visible tiles within SectorMap for quicker access.
2015-08-31 07:39:03 +02:00
DjWarmonger
904a66764c
Optimization to getPlayerTeam functions, not very successful :/
2015-08-30 21:42:19 +02:00
DjWarmonger
70801309bd
Optimization for CGameInfoCallback:getPlayer function. It also seems to be called more often than needed.
2015-08-30 20:51:22 +02:00
DjWarmonger
cdad9f88b7
Relaxed Mutex of Logger. Attempt to optimize format function.
2015-08-30 19:26:19 +02:00
AlexVinS
40d3bb40c3
Partial fix for mantiss #2237
2015-08-22 16:22:10 +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
AlexVinS
f24f744f4b
Fix a few warnings
2015-08-19 23:02:37 +03:00
Sandy Carter
bdee647525
CastleInterface: Exclude previous building upgrade in reqs
...
Hide CityHall from Capitol prerequisites in Capitol build window
2015-08-19 12:05:43 -04:00
DjWarmonger
237d3f2624
Refactoring: random spells
2015-08-12 16:40:08 +02:00
DjWarmonger
3863756009
Version bump.
2015-08-01 18:37:14 +02:00
DjWarmonger
50b7b8e47b
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-07-18 20:15:17 +02:00
DjWarmonger
e9654ef487
Fixed issue when player starting towns were wiped.
2015-07-18 20:14:45 +02:00
AlexVinS
a8c45df732
Merge branch 'SDL1Wipe' into develop
2015-06-22 14:24:00 +03:00
AlexVinS
53b85d16be
Cleanup C::B projects
2015-06-21 01:59:33 +03:00
AlexVinS
56a1805339
Merge branch 'issue/2185' into develop
2015-06-20 19:16:41 +03:00
DjWarmonger
f9781ffb47
Creature abilities won't spawn in random Pandora Boxes.
2015-06-10 14:27:53 +02:00
DjWarmonger
9e7b459882
Partial solution to #2206
...
TODO: add serialized field that contains custom guard config
2015-06-05 11:28:14 +02:00
DjWarmonger
3f1bc7e21c
One more case for Subterranean Gates
2015-06-04 09:42:39 +02:00
DjWarmonger
927dfa5565
Added correct connections for Subterranean Gates
2015-06-04 09:02:56 +02:00
DjWarmonger
63d6cf168f
- Solved problems with sealed-off objects for once and all.
...
- Refactoring
2015-06-03 21:57:22 +02:00
DjWarmonger
923437bf76
Corrected offset check for required objects.
2015-06-03 19:38:53 +02:00
DjWarmonger
55c1a7eade
Clear unused tiles to make more space for roads.
2015-06-03 15:16:11 +02:00
DjWarmonger
e21b2d9cbd
Attempt to use A* algorithm for required objects.
2015-06-02 20:29:37 +02:00
DjWarmonger
a68b58d969
- Use straight paths for some connections
...
- More fixes for template schema
2015-06-02 16:40:32 +02:00
DjWarmonger
8b1641d498
Generate main towns for zones with no player present.
2015-06-02 09:30:56 +02:00
DjWarmonger
1389ae0ea3
Fix Travis build
2015-06-02 07:01:38 +02:00
AlexVinS
2cb6cb7baa
Remove useless durationType selector
...
* duration is a mask, equality comparison is not enough
2015-06-02 07:12:02 +03:00
AlexVinS
b1837d0311
Fix removing STACK_GETS_TURN bonuses
...
* this should fix some crashes with FRENZY spell
2015-06-02 07:12:01 +03:00
AlexVinS
45a3ad94ae
fix autoremoving UNTIL_ATTACK & UNITL_BEING_ATTACKED bonuses
...
* this should fix crashes with paralyze, stonegaze & blind
2015-06-02 07:12:01 +03:00
AlexVinS
a2901cb8f0
Fix RemoveBonus::applyGs
...
* use CBonusSystemNode::removeBonus instead of direct modification of _cashe_
2015-06-02 07:12:00 +03:00
AlexVinS
3a50afe1a3
invalidate bonus cashe on effect actualization
2015-06-02 07:11:59 +03:00
DjWarmonger
c6f714db9c
Fixed generation of CPU teams.
2015-06-01 21:57:43 +02:00
DjWarmonger
34a59a2788
- Fixed issues with number of players selection
...
- Added new template for testing multiple players
2015-05-27 18:58:14 +02:00
DjWarmonger
6890ae9f02
- Fixed improper use of playersCount. Now RMG can generate maps up to 8 players, with CPU players only as well.
...
- Fixes for template scheme
2015-05-27 11:30:46 +02:00
DjWarmonger
2e70d8a084
- VCMI will now read templates from mods
...
- Added partial schema for RMG template
2015-05-26 18:19:41 +02:00
DjWarmonger
4e25d74e74
CRmgTemplateStorage now inherits from IHandlerBase
2015-05-26 15:12:24 +02:00
O01eg
8785e1f53c
Fix compilation with CMake.
2015-05-26 02:02:45 +03:00
DjWarmonger
e08a1f32bd
Some more fixes, updated changelog.
2015-05-25 20:04:24 +02:00
DjWarmonger
c6291412d7
Fixed one case of missing roads.
2015-05-25 19:44:03 +02:00
DjWarmonger
a0ed8e0d6d
An attempt to straighten roads.
2015-05-25 19:25:48 +02:00
DjWarmonger
353f6dc32e
Roads are generated between all nodes.
2015-05-25 19:11:44 +02:00
DjWarmonger
3ec91c550e
Correct road nodes iteration
2015-05-25 19:00:00 +02:00
DjWarmonger
fe6fa895c3
More or less working RMG roads.
2015-05-25 18:06:17 +02:00
DjWarmonger
2c88ddf5ed
Something works it seems
2015-05-25 17:47:32 +02:00
DjWarmonger
bfd4ff8954
Refactoring
2015-05-25 17:04:17 +02:00
DjWarmonger
6d502ef1a1
Implemented A* algorithm to draw shortest roads - but not correct roads yet.
2015-05-25 16:37:57 +02:00
Rohit Nirmal
aa00fdbd0e
Fix building with Boost 1.58.
2015-05-06 19:16:51 -05:00
DjWarmonger
b8a6455b39
Post-release version bump.
2015-05-01 21:56:17 +02:00
AlexVinS
b347fe5457
fix mantiss 0002147
2015-04-13 16:48:46 +03:00
AlexVinS
11b3426bea
Fix 0001331
2015-04-13 06:12:23 +03:00
AlexVinS
6448bc6a50
[gcc] fix build
2015-04-12 08:25:53 +03:00
DjWarmonger
cb394754c3
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-04-11 17:13:24 +02:00
AlexVinS
0134266fa1
Extract general dispell logic
2015-04-11 16:27:14 +03:00
AlexVinS
b8b9abcc08
Fix 0002169
2015-04-11 15:53:32 +03:00
AlexVinS
736cc14814
Quick fix for mantiss 0001875
...
* hardcoded permanent effect for animateDead
2015-04-11 15:02:42 +03:00
DjWarmonger
86e2dabdc9
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-04-11 13:46:32 +02:00
DjWarmonger
a0840100df
Different fractalization algorithm that enforces cycle generation.
2015-04-11 13:46:17 +02:00
DjWarmonger
69c58c6c25
Experiment: fractalize RMG zones before placing important objects. The downside is that it won't be possible to draw road as straight line anymore.
2015-04-11 12:47:41 +02:00
AlexVinS
41f1d3f21f
Quick fix for major spell configuration bug
...
* clean fix requires save format change
2015-04-11 13:14:26 +03:00
AlexVinS
2d8288d95a
Fix mantiss 0002167
...
* also refactored summon mechanics
2015-04-11 12:09:48 +03:00
AlexVinS
e5b9f76717
Merge branch 'dispellFixes' into develop
2015-04-11 11:02:56 +03:00
AlexVinS
cc8c1aea36
Fix DISPELL effect
2015-04-11 10:19:35 +03:00
AlexVinS
46e7a0f829
Remove no longer needed (and incomplete) explicit target existence check
2015-04-11 10:19:34 +03:00
AlexVinS
6356247108
Add dispell effect to ANTI_MAGIC
...
* fixes 0002156
2015-04-11 10:19:33 +03:00
AlexVinS
e4220fef82
Formatting
2015-04-11 10:19:33 +03:00
AlexVinS
9d0b29b973
expert DISPELL also removes spell-created obstacles
2015-04-11 10:19:32 +03:00
AlexVinS
2bf63b0ebd
log error if DISPELL was resisted
2015-04-11 10:19:31 +03:00
AlexVinS
f30d5612ed
Creature is immune to dispell is it has no active effects
2015-04-11 10:19:30 +03:00
AlexVinS
1747b5af9a
DISPELL should ignore all immunities
2015-04-11 10:19:29 +03:00
AlexVinS
67f917edbb
Partial fix for 0001554
2015-04-11 10:19:28 +03:00
DjWarmonger
f7387becb4
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-04-11 08:53:14 +02:00
AlexVinS
5b29e800f7
Cleanup: use only CBonusSystemNode::treeHasChanged() when changing treeChanged
2015-04-11 08:13:28 +03:00
AlexVinS
6cf82ceab5
Possible fix for #923
2015-04-11 07:18:40 +03:00
DjWarmonger
3e8c395156
- More fixes for wander targets
...
- SectorMap won't find paths through the rock
2015-04-10 08:50:21 +02:00
Fay
1cb54689cf
Prevents first aid tents from melee attacking;
...
Moves attack possibility checks to battle callback (for consistency with shooting checks);
2015-04-09 21:49:11 +02:00
DjWarmonger
9577ef4bda
Minor tweak.
2015-04-07 13:43:33 +02:00
AlexVinS
84a2623c37
more experiments
2015-04-03 07:06:29 +03:00
AlexVinS
27c46c83d6
describe roads placement in log
2015-04-03 05:50:02 +03:00
AlexVinS
76193c4c5c
More experiments WIP.
2015-04-03 05:47:22 +03:00
AlexVinS
eb60d9737f
more sensible road placement
2015-04-03 05:47:20 +03:00
AlexVinS
896a2b17c0
fix patterns
2015-04-03 05:47:03 +03:00
AlexVinS
4c4ad480c5
added experimental usage of roads
2015-04-03 05:47:01 +03:00
AlexVinS
6520d2a577
fix
2015-04-03 05:46:17 +03:00
AlexVinS
ae2c72ca52
Implemented road transitions.
...
* untested
* still unused
2015-04-03 05:46:16 +03:00
AlexVinS
b1d4ce0474
Road|river patterns are trivial compared to terrain patterns - no need to use json, just define them as a constatnt
2015-04-03 05:46:15 +03:00
AlexVinS
877634b3a3
Define public interface of CDrawRoadsOperation
2015-04-03 05:46:14 +03:00
AlexVinS
e42ca15a0d
Fix BERSERK effect
2015-04-03 05:20:17 +03:00
AlexVinS
10668974d6
Move SACRIFICE target existence check to mechanics
2015-04-03 00:35:29 +03:00
AlexVinS
0cce1ef2f1
Move ANOTHER_ELEMENTAL_SUMMONED problem check to SummonMechanics class
2015-04-03 00:02:15 +03:00
DjWarmonger
e529ac62c0
Tagging 0.98 release.
2015-04-01 09:34:55 +02:00
AlexVinS
6c334174d9
Use and check movement points in town portal.
...
* fixes mantiss 0002031
2015-04-01 04:48:50 +03:00
AlexVinS
d564520f04
Allow town portal to ally town.
...
fixes mantiss 0002064
2015-04-01 04:04:02 +03:00
AlexVinS
fb707a6576
fix mantiss 2142
2015-04-01 00:28:21 +03:00
Ivan Savenko
376b2436f8
Fixed weird bug in serializer which caused corrupted data in Json map (missing guards entry in banks)
2015-03-31 00:56:33 +03:00
Ivan Savenko
eef45b5ae8
Fixed warnings
2015-03-31 00:55:37 +03:00
DjWarmonger
ed33d99ac7
Silenced some more logs.
2015-03-28 22:17:45 +01:00
DjWarmonger
a0f534146c
Fixed underground Lava terrain.
2015-03-28 22:03:38 +01:00
DjWarmonger
999c2a92e0
Inverted approach - first generate rock all over, then free accessible tiles.
2015-03-28 21:13:22 +01:00
DjWarmonger
9515d51bd2
Generate underground tunnels first to get a bit more of them.
2015-03-28 20:09:54 +01:00
DjWarmonger
a0d9ae4849
Refactoring - create underground rock for whole level at once.
2015-03-28 18:56:28 +01:00
DjWarmonger
a90021364e
Disable logs for better performance.
2015-03-28 17:46:39 +01:00
beegee1
e9b7044c9b
Fix mantis #1859 , unknown pattern in underground
2015-03-28 16:41:26 +01:00
beegee1
dafaf86eef
Add some debug logging, Fix one special case when updating terrain type, Improve visual look of updated terrain types
2015-03-28 16:41:26 +01:00
AlexVinS
733308e8e2
Attack only present wallparts
2015-03-19 10:35:05 +03:00
AlexVinS
e1b9df9d0c
formatting
2015-03-19 09:54:53 +03:00
AlexVinS
9600446cf9
+smart target, +hit animation
2015-03-18 17:48:32 +03:00
AlexVinS
a1ea551a85
Block summon of elemtals only by ally summoned elementals
2015-03-18 16:48:21 +03:00
AlexVinS
c81d4203d7
Do not try to cast EARTHQUAKE with no fort
2015-03-18 16:39:07 +03:00
AlexVinS
cff8ecda46
simplify a bit
2015-03-18 14:28:34 +03:00
AlexVinS
729855ff60
Allow hit on any target including already destroyed, allow multiple hit on same target
2015-03-18 14:12:26 +03:00
AlexVinS
69c458e881
initial implementation.
2015-03-18 13:27:07 +03:00
ArseniyShestakov
783dcfea2e
CMapGenOptions: fix crash when computer only limit is used
...
Currently when there is computer only players set resetPlayersMap may try to change settings for more than 8 players which obviously cause crash.
Now if any of "players and computer limit" or "computer limit" is set to random we automatically set total limit to 8 players.
2015-03-14 22:19:24 +03:00
ArseniyShestakov
32009690eb
initTowns: only add Tovern by default to player-owned towns
...
Neutral towns with default buildings set should never get Tovern automatically.
This one fixes issue 2090.
2015-03-12 18:47:32 +03:00
DjWarmonger
d8114fa3fb
Post-release version bump.
2015-03-12 14:44:56 +01:00
DjWarmonger
a1da08f802
Disabled Seer Huts for 0.97c.
2015-03-12 10:45:24 +01:00
DjWarmonger
a832b7efee
Fixed #2026
2015-03-12 10:08:10 +01:00
DjWarmonger
f894abe494
Unified interface for object template.
2015-03-12 08:31:30 +01:00
DjWarmonger
e0134342c8
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-03-11 22:17:54 +01:00
DjWarmonger
cf74969603
Fixes, logging for Seer Huts
2015-03-11 22:17:35 +01:00
ArseniyShestakov
f2a237ce6c
CPathfinder: move allowed teleport check into lambda
...
This also fix accidental whirlpool usage as previously I messed up code a bit.
2015-03-11 23:53:35 +03:00
DjWarmonger
61071c46e1
Fixed monster amounts in Pandora Box.
2015-03-11 19:21:58 +01:00
DjWarmonger
3cc9705bfe
Minor tweak.
2015-03-11 16:54:42 +01:00
DjWarmonger
01390e0c2c
Optimization for random treasures.
2015-03-11 16:19:03 +01:00
ArseniyShestakov
17f3f94ca6
CGSubterraneanGate: fix pairing and always assign all gates to channel
...
Before gates on underground layer didn't had any channel assigned and of course any function that attempt to check -1 channel caused crash.
Also I find out that at point postInit executed It's possible to get mutable gamestate via gameState() callback so we don't need to pass it there.
2015-03-11 17:17:21 +03:00
AlexVinS
53af95f0a6
Few spell tweaks
2015-03-10 23:45:09 +03:00
AlexVinS
1fd4a6daae
Fix merge of SpellsRefactoring5
2015-03-10 23:23:28 +03:00
DjWarmonger
719fcef34e
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-03-10 19:57:35 +01:00
DjWarmonger
b5c270082b
Added missing files.
2015-03-10 18:32:05 +01:00
ArseniyShestakov
2145be281a
Merge pull request #86 from ArseniyShestakov/fixQuestSaving
...
Fix saving of player's quests and bump save format version
2015-03-10 18:01:38 +03:00
DjWarmonger
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +01:00
DjWarmonger
f7b5ecf642
Something that compiles.
2015-03-09 20:07:28 +01:00
DjWarmonger
f32849a73e
Attempt to compile refactored spells in MSVS.
2015-03-09 19:24:45 +01:00
ArseniyShestakov
1801b5eaf4
CGTeleport: use vstd::erase_if_present in getAll functions
2015-03-09 15:44:48 +03:00
ArseniyShestakov
5c6633f8ad
CPathfinder::addTeleportWhirlpool: check that obj isn't nullptr
2015-03-09 15:32:09 +03:00
ArseniyShestakov
00b0af7306
CGameInfoCallback: now actually drop excludeId argument
2015-03-09 14:20:34 +03:00
ArseniyShestakov
861104f493
CGameInfoCallback: refactoring of getTeleportChannelEntraces / getTeleportChannelExits
...
Move shared filtering code into getVisibleTeleportObjects.
Also remove excludeId as it's not currently used.
2015-03-09 05:10:31 +03:00
ArseniyShestakov
930a8b49da
CPathfinder: move complicated check into lambda
2015-03-09 04:24:12 +03:00
ArseniyShestakov
8f8d237d5d
Use isTeleportChannel callback functions to check teleport channel type
2015-03-09 02:13:40 +03:00
ArseniyShestakov
0c1a37e5a7
CGameInfoCallback: more functions to check teleport channel types
2015-03-09 02:01:24 +03:00
ArseniyShestakov
eff4da1d03
ETeleportChannelType: is now strongly typed enumeration
2015-03-09 01:45:39 +03:00
ArseniyShestakov
3b057e0408
CGMonolith: fix switch formatting
2015-03-09 01:27:40 +03:00
ArseniyShestakov
606013c535
CGSubterraneanGate::postInit put const back
...
Originally I removed it when change this code to actually change object.
Though this sorting can work with constant object just fine.
2015-03-08 21:16:30 +03:00
ArseniyShestakov
826a64b579
Pack of tiny code improvements for @alexvins request
2015-03-08 20:19:00 +03:00
ArseniyShestakov
6d77322d6a
CGMonolith: add text dialog when player visit one-way monolith exit
2015-03-08 18:07:06 +03:00
ArseniyShestakov
530b63f7c4
CPathfinder: add all new code for pathfinding via teleporters
...
Each kind of teleporter have own function that determine if it's should or shouldn't be used.
For now Monolith with bidirectional channels and Subterranean Gate are united.
2015-03-08 17:13:26 +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
ArseniyShestakov
8d7b6d119f
CGameInfoCallback: add functions that gather information about teleport channels
...
This code belongs to callback because both player and AI shouldn't directly access information about teleport channels.
For example pathfinder code need to check teleport channel type only based on information about objects player already seen.
2015-03-08 16:21:14 +03:00
ArseniyShestakov
c9eba40fe6
Updated CGTeleport and new CGMonolith / CGSubterraneanGate / CGWhirlpool
...
Now CGTeleport is not publicly available handler, but generic class for teleport channels usage.
Teleport channels are stored as part of information about the map.
2015-03-08 16:11:23 +03:00
ArseniyShestakov
04a1df29ad
Add TeleportChannel / TeleportChannelID / ETeleportChannelType
...
TeleportChannel is structure that contain two vectors of entrances and exits for certain teleport channel. It's also store passability state independently which almost only useful for Player and AI as they can't know if channel passible or not until enough entrances / exits are visible or server passed them information that certain channel is impassible when they visited entrance.
ETeleportChannelType is determined by checking intersection between entrances and exit vectors or checking their size:
- IMPASSABLE: one of vectors empty or only one entrance id is same as only one exit id.
- BIDIRECTIONAL: contents of both vectors is exactly the same.
- UNIDIRECTIONAL: contents of both vectors do not intersect.
- MIXED: contents of vectors only partially intersect. Not currently used; added for future modding.
2015-03-08 15:18:53 +03:00
ArseniyShestakov
f145c82031
TerrainTile: implement exclusion for topVisitable functions
...
For pathfinder we usually want to check what object hero staying on.
Hero is always top object so we need option to exclude it.
2015-03-08 15:05:24 +03:00
DjWarmonger
6ace53d8b9
Functional RMG Seer Huts, still there are some mysterious bugs.
2015-03-01 13:26:54 +01:00
DjWarmonger
9453250e0f
Spawn quest arts in nearby zones.
2015-03-01 10:20:49 +01:00
DjWarmonger
67ab90616d
Seer Huts with exp / gold rewards.
2015-03-01 09:46:09 +01:00
DjWarmonger
dd887eb929
Fixes for Seer Huts.
2015-03-01 09:07:43 +01:00
DjWarmonger
4f1d96e5e8
Seer Huts part 2.
2015-02-28 22:37:04 +01:00
DjWarmonger
607375a9bc
Generate Seer Huts with creature rewards
2015-02-28 21:14:45 +01:00
AlexVinS
5fda2aac9a
formatting
2015-02-26 20:59:18 +03:00
AlexVinS
f4c683cd5e
Move VievXXX logic to server side (except expert ViewEarth)
2015-02-26 17:15:17 +03:00
AlexVinS
b6038240ab
Implemented DISGUISE spell. Untested
2015-02-26 08:39:59 +03:00
AlexVinS
025a00362b
Simplify CBattleInterface::spellCast
2015-02-26 08:39:58 +03:00
AlexVinS
b9bdc95a7e
Handle monster agressivness for VISIONS spell
2015-02-26 08:39:57 +03:00
AlexVinS
b846b717a1
implemented VISIONS spell (partially)
...
(-) todo: agressivnes
2015-02-26 08:39:56 +03:00
AlexVinS
2156204306
Visions spell in case of monsters
2015-02-26 08:39:55 +03:00
AlexVinS
36cdb2968b
Refactoring
2015-02-26 08:39:54 +03:00
AlexVinS
666d7a4f45
Start implementing VISIONS and DISGUISE
2015-02-26 08:39:53 +03:00
AlexVinS
f6e83685e7
Initial implementation of VIEW_AIR & VIEW_EARTH
2015-02-26 08:39:52 +03:00
AlexVinS
1333f8e410
Split mechanics implementation
2015-02-26 08:39:51 +03:00
AlexVinS
ce19c76324
Added draft of new file structure
2015-02-26 08:39:50 +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
c7c235c0ca
Rename afterCast to applyBattle
...
* afterXXX will be used in future event-driven mechanics
2015-02-26 08:39:47 +03:00
AlexVinS
a3f2667376
Remove some deprecated fields from CSpell
...
* now only new SpellScholl API is used
(!) untested
2015-02-26 08:39:43 +03:00
AlexVinS
550df6360e
cleanup
2015-02-26 08:39:42 +03:00
AlexVinS
b3d8e2e783
Move calculateHealedHP to mechanics
2015-02-26 08:39:41 +03:00
AlexVinS
77b4774a29
fix
2015-02-26 08:39:40 +03:00
AlexVinS
08d4f7991e
Extract adventure spell mechanics
2015-02-26 08:39:39 +03:00
DjWarmonger
c5e772eb78
Fixed issue which created large empty areas on two-level maps.
2015-02-25 19:34:02 +01:00
DjWarmonger
ef4e199f15
Implemented "Quantity does not grow" for monsters ( #2094 )
2015-02-22 20:54:09 +01:00
DjWarmonger
2a082e6c21
Merge pull request #84 from Fayth/test/advMapFading
...
If no one objects, I will try to merge this.
2015-02-18 09:52:09 +01:00
DjWarmonger
200bcd7da6
Merge pull request #88 from ArseniyShestakov/improvedQuestLog
...
Awesome, thanks!
2015-02-17 06:44:38 +01:00
ArseniyShestakov
43f1e37546
Quest Log: fix text for quests with minimal level requirement
...
This is needed because m13478val is ui32 while translation expect %s string.
2015-02-16 00:53:44 +03:00
ArseniyShestakov
789da96a81
Stables: give 400 movement points bonus instead of 600
...
Tested it and now VCMI work exactly as original game.
This one fix issues 2077 / 2082
2015-02-15 07:55:59 +03:00
AlexVinS
aa5e9fc959
get rid of global debug macros.
2015-02-14 22:43:16 +03:00
ArseniyShestakov
746914d219
Added missionType check to CQuest::getRolloverText
...
This function shouldn't be called if quest type is MISSION_NONE as this type used for quest that don't have text yet.
For example Keymaster`s border guards in H3 didn't add any entries to Quest Log so there is no text for them or at least it's not defined how to use it in VCMI.
2015-02-14 00:57:33 +03:00
ArseniyShestakov
7c5af02b78
Fix saving of player's quests
...
This commit break saves compatibility
2015-02-12 13:19:22 +03:00
AlexVinS
ac3e48f4b9
Move JsonNode operator<< to right plase
2015-02-10 14:43:26 +03:00
Fay
aaec94ea87
Changed fading to be enabled by default (when entries are not present in config);
2015-02-09 20:41:03 +01:00
Fay
cbd3a19987
Merge branch 'develop' of https://github.com/vcmi/vcmi into test/advMapFading
...
Conflicts:
client/CPlayerInterface.cpp
2015-02-09 16:09:27 +01:00
ArseniyShestakov
1396476869
Merge pull request #79 from ArseniyShestakov/fixIssue1557
...
Only remove extension if it belongs to specified file type
2015-02-07 18:17:22 +03:00
ArseniyShestakov
4eed1716d5
Fix tiny memory leak on opening/closing new game window
...
Find this one when tested huge pack of 5000+ maps. Each time I opened/closed Single Scenario window memory usage was growing for ~1MB.
It's happen because inflateEnd is freed related structures, but not freed inflateState that created outside of zlib code.
2015-02-07 17:30:57 +03:00
AlexVinS
91cc6a04eb
possible fix for mantiss 2055
2015-02-07 00:06:24 +03:00
ArseniyShestakov
8f08effe93
Check that resource type set before setName used
2015-02-06 10:51:32 +03:00
Fay
3c3fb0e21d
Added advmap config options to enable/disable fading;
2015-02-02 19:38:30 +01:00
AlexVinS
594295da32
Merge branch 'feature/worldView' into develop
2015-02-01 20:49:14 +03:00
ArseniyShestakov
19d1de3142
Only remove extension if it belongs to specified file type
...
This one fixes issue 1557
Now it's possible to load maps with dots in filename.
2015-01-26 16:40:49 +03:00
DjWarmonger
0acae7a708
Additional adjustment of zone positions to ensure balanced zone sizes.
2015-01-16 19:28:27 +01:00
DjWarmonger
ba604f4e43
Implemented "junction" zone type.
2015-01-16 17:39:16 +01:00
DjWarmonger
b7386250e9
Fixed fractalized paths inside zones.
2015-01-16 09:40:11 +01:00
DjWarmonger
fe180335de
Important fix that prevents treasures from sealing off, adding too many blocked tiles.
2015-01-15 11:21:29 +01:00
Fay
4b248c2762
World view impl -- initial;
2015-01-13 20:57:41 +01:00
DjWarmonger
9f05f53e65
Corrected monster agressiveness #2034
2015-01-10 10:23:58 +01:00
DjWarmonger
c22c3cdd80
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-01-08 07:15:26 +01:00
AlexVinS
8deee7610c
CMapGenerator.cpp: remove unused variables
2015-01-03 01:04:42 +03:00
DjWarmonger
7055357996
Fixed spell scroll generation #2024
2015-01-02 23:01:14 +01:00
DjWarmonger
8e99e803c1
Post-release version bump.
2014-12-27 10:34:16 +01:00
DjWarmonger
850350e402
Savegame bump. To be released as 0.97b.
2014-12-27 09:48:16 +01:00
DjWarmonger
fdd392e47c
Add some space around unguarded treasures.
2014-12-26 21:13:13 +01:00
DjWarmonger
53c39f7d05
Treasure density and quality now matches OH3.
2014-12-26 19:35:45 +01:00
DjWarmonger
f5f0f61076
Density does not depend on zone size.
2014-12-26 17:13:41 +01:00
DjWarmonger
5fbd856a4c
New rule for placement of unguarded treasures
2014-12-26 16:17:39 +01:00
DjWarmonger
121c39a994
Fixed Jebus and CoD templates.
2014-12-26 15:14:22 +01:00
DjWarmonger
4a41d138cc
Update Visual projects.
2014-12-26 09:56:11 +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
5271ca156b
Merge pull request #70 from vcmi/StackSplitting
...
Stack splitting
2014-12-25 19:59:02 +01:00
ArseniyShestakov
04d15174e7
Use switch for CArtHandler::isTradableArtifact
2014-12-25 17:18:37 +03:00
DjWarmonger
0d2879158b
Merge pull request #67 from ArseniyShestakov/fixIssue1912
...
Okay, let's do this.
2014-12-25 14:23:26 +01:00
DjWarmonger
5b8180e327
Cleaning logs.
2014-12-25 12:58:15 +01:00
DjWarmonger
51495381ef
Better obstacle shapes inside zones.
2014-12-25 10:24:48 +01:00
DjWarmonger
e46f03fabe
Upgrades, stack splitting. Results now are identical to OH3.
2014-12-25 10:21:39 +01:00
DjWarmonger
3c39ef477f
Implemented original stack splitting algorithms proposed by AlexSpl. Save format changed.
2014-12-24 23:53:56 +01:00
ArseniyShestakov
de6752c048
Implement CArtHandler::isBigArtifact and CArtifact::isTradable
2014-12-24 20:43:35 +03:00
ArseniyShestakov
937ef0227b
Use ArtifactID instead of int when possible
2014-12-24 18:49:12 +03:00
DjWarmonger
6f7bda65b4
Better obstacle shapes inside zones.
2014-12-24 15:07:20 +01:00
DjWarmonger
b208ebbee9
Increase treasure density to match OH3.
2014-12-24 14:01:05 +01:00
AlexVinS
eebf65e88f
Merge branch 'develop' into SpellsRefactoring4
2014-12-24 00:15:27 +03:00
DjWarmonger
75d407b59a
Last improvements - zones on simpler maps should not be smashed.
2014-12-23 18:16:53 +01:00
DjWarmonger
53b3ea8d97
Final update for zone placer.
2014-12-23 14:26:14 +01:00
DjWarmonger
0dbfee0edb
Final shape of algorithm
2014-12-23 13:49:07 +01:00
DjWarmonger
990e38e961
Fixes for placement.
2014-12-23 12:42:59 +01:00
DjWarmonger
868d2f61ee
New zone placement algorithm
2014-12-23 11:39:41 +01:00
DjWarmonger
0e34775770
Important fix.
2014-12-23 10:42:01 +01:00
DjWarmonger
875bfb025e
Better fitness function(s)
2014-12-22 23:35:19 +01:00
DjWarmonger
b52eeb2263
Remember "best" placement at right moment.
2014-12-22 21:47:19 +01:00
DjWarmonger
067b56dda4
Zone placer will remember the best solution, not the last generated.
2014-12-22 21:33:37 +01:00
DjWarmonger
94c0d5896f
[MVS] Added /LTCG option to improve linker performance.
2014-12-22 19:44:15 +01:00
DjWarmonger
7735e193f0
Merge branch 'develop' into experimental/serializerrefactoring
2014-12-22 19:17:40 +01:00
ArseniyShestakov
5d59bbc0d4
Fix CGBonusingObject serialization
...
Now state of adventure map objects that use this handler will be saved properly and they'll work as indended after save loaded. Affect following objects: Buoy, Swan Pond, Faerie Ring, etc.
2014-12-22 11:56:53 +03:00
AlexVinS
74161198c4
More refactoring
2014-12-21 21:47:02 +03:00
AlexVinS
b86938de5e
More rafactoring
2014-12-21 18:22:12 +03:00
AlexVinS
c57b2403e1
Refactor metaprogramming-helper structs
2014-12-21 17:53:51 +03:00
AlexVinS
3bca68fd2d
Initial refactoring
...
* reduce registerTypes* templtates instantiation
2014-12-21 17:29:42 +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
DjWarmonger
fee2184996
Wood & ore mines will be placed close to zone center.
2014-12-20 22:13:10 +01:00
DjWarmonger
485b2ac688
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-12-20 15:17:22 +01:00
DjWarmonger
50dc22fa1b
Tuned density.
2014-12-20 14:52:01 +01:00
DjWarmonger
3886a19771
More balanced treasure pile distribution.
2014-12-20 14:01:48 +01:00
DjWarmonger
a3a42ae144
Merge branch 'develop' of https://github.com/vcmi/vcmi into fuzzyFix
2014-12-19 14:21:44 +01:00
DjWarmonger
6fc873dcd5
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-12-19 14:14:18 +01:00
DjWarmonger
cb5a3c0f73
Fixed shortage of Prisons on random maps.
2014-12-19 14:04:59 +01:00
DjWarmonger
a1e42caddd
Banks won't use fuzzy engine at all, only center of mass.
2014-12-10 12:29:51 +01:00
ArseniyShestakov
6391f0f85a
Fix crash on Cartographer if there is no underground level
...
Show "already visited" text for stalagmite cartographer if map don't have underground level.
This one fixes bug #1985
2014-12-09 14:01:32 +03:00
AlexVinS
64dccfec80
Rewrite Beneficial spell selection
2014-12-02 00:24:36 +03:00
AlexVinS
b0df8172f9
Move battleIsImmune to CSpell
2014-11-29 04:25:51 +03:00
AlexVinS
e8aeb0bf8e
Merge branch 'develop' into SpellsRefactoring4
2014-11-28 22:44:33 +03:00
AlexVinS
499a281dfe
Disallow rising spells for genie
2014-11-28 21:08:34 +03:00
AlexVinS
e583f4e44d
Fix #1928
...
* disallow geneie to cast teleport
2014-11-28 20:39:23 +03:00
AlexVinS
8f84e24aa6
Get rid of mainEffectAnim
2014-11-28 01:03:25 +03:00
AlexVinS
d94f15bdf4
Added configurable animation for SPELL_LIKE_ATTACK
2014-11-28 00:36:14 +03:00
AlexVinS
657385e32c
We need to know caster stack ID for proper projectile animation
2014-11-27 20:47:37 +03:00
AlexVinS
6893509f65
Fix manaGain animation always showing
2014-11-27 19:09:59 +03:00
AlexVinS
f1ab328a09
Cleanup
2014-11-27 17:08:19 +03:00
AlexVinS
75b93b070d
Implemented configurable hit/affect animation
...
* need more testing
2014-11-27 16:51:16 +03:00
AlexVinS
f4cf12d3f8
Fix a crash
2014-11-27 00:53:08 +03:00
AlexVinS
256894d18a
Use configuration for spell projectile
2014-11-27 00:27:38 +03:00
AlexVinS
242aa72796
Implemented loading of new spell configuration parameters
2014-11-26 22:39:27 +03:00
AlexVinS
16d08b062a
First draft of spell animation configuration
2014-11-26 22:25:13 +03:00
AlexVinS
b31ed0e4ea
Use SetMana packet in battle
2014-11-26 13:30:55 +03:00
AlexVinS
fe1233310f
Centralize dispell mechanics
2014-11-25 23:59:21 +03:00
AlexVinS
756c19227b
update VS project. untested.
2014-11-25 22:47:28 +03:00
AlexVinS
ca5391cde6
Get rid of handleSpellCasting
2014-11-25 22:00:04 +03:00
AlexVinS
2a75c432e0
Remove 2 unused methods
2014-11-25 19:45:50 +03:00
AlexVinS
fa9c1e8637
remove healedHP calculation from battlestate
2014-11-25 19:43:34 +03:00
AlexVinS
20a058f3f9
Formatting & cleanup
2014-11-25 18:27:18 +03:00
AlexVinS
6d4cd1c91b
Copying of handleSpellCasting finished
2014-11-25 17:37:42 +03:00
AlexVinS
a387ad0d09
Continue moving spell cast logic
2014-11-25 16:16:49 +03:00
AlexVinS
d87153a610
Hide mechanics classes
2014-11-25 15:00:34 +03:00
AlexVinS
c8f1e6d1a1
Move mechanics factory
2014-11-25 14:58:42 +03:00
AlexVinS
226b737b6b
Small cleanup
2014-11-25 14:51:55 +03:00
AlexVinS
0fda90c67d
Start moving server side spell mechanics
2014-11-25 14:19:13 +03:00
AlexVinS
f2bf3d7f7b
Added a way to obtain ID of newly added Stack
2014-11-25 12:26:32 +03:00
AlexVinS
aa31625774
More flexible way of spell school access
2014-11-24 19:14:10 +03:00
AlexVinS
f7ff61ce4f
Merge remote-tracking branch 'remotes/origin/develop' into SpellsRefactoring4
2014-11-24 12:41:17 +03:00
AlexVinS
6dbed27b65
Add more "const"
2014-11-23 14:10:29 +03:00
DjWarmonger
9e5cc2d1b1
Treasure piles will prefer to grow upwards to make space for object accessible from bottom.
2014-11-22 14:17:53 +01:00
DjWarmonger
91d89add7c
Reverted RMG bug introduced in 6da79d01d7
2014-11-22 13:01:28 +01:00
DjWarmonger
4b02af23e1
Merge pull request #55 from KroArtem/develop
...
Merging, thanks!
2014-11-20 16:00:38 +01:00
KroArtem
6da79d01d7
reverted changes back
2014-11-20 15:33:22 +03:00
KroArtem
305ce5b53d
fixed else statement
2014-11-20 15:14:16 +03:00
Ivan Savenko
ffd5867913
Merge pull request #58 from josch/kFreeBSDandHurdSupport
...
FreeBSD and HURD support
2014-11-18 19:24:50 +02:00
josch
5c356f4415
add support for the HURD
2014-11-17 16:43:26 +01:00
josch
a96b5e7905
add support for FreeBSD
2014-11-17 12:25:10 +01:00
josch
c36042f8c7
rename preprocessor variable VCMI_LINUX to VCMI_XDG
...
- the variable is only used to enable XDG support
- XDG is not exclusive to linux
2014-11-17 12:19:52 +01:00
ArseniyShestakov
4dd1ca5e78
Fix bonuses of Rampart's Treasury and Fountain of Fortune
...
Change IDs of two special buildings in Rampart to make them identical with one in config files / game assets.
Original code was introduced in 0ca9f64
with those two IDs likely was typo. As result Fountain of Fortune +2 luck bonus was given to Treasury and Treasury's weekly bonus didn't worked at all.
2014-11-17 03:26:18 +03:00
KroArtem
e73c60740c
corrected text in vcmibuilder, corrected errors and warnings from cppcheck
2014-11-16 20:48:29 +03:00
AlexVinS
752965ff69
Merge branch 'develop' into SpellsRefactoring4
...
Conflicts:
lib/CSpellHandler.cpp
2014-11-14 05:28:23 +03:00
AlexVinS
7a429fc38b
Revert @24efb9b4
2014-11-14 03:29:11 +03:00
AlexVinS
7af4f44237
rewrite CGHeroInstance::canCastThisSpell
2014-11-13 17:57:35 +03:00
AlexVinS
3fcb1254f7
Rewrite CGHeroInstance::getSpellSchoolLevel using SPELL_SCHOOL_CONFIG
2014-11-13 17:24:30 +03:00
AlexVinS
5d1077161c
Change spell school serialization
2014-11-13 16:57:49 +03:00
AlexVinS
787c970003
Simplify CGameInfoCallback::estimateSpellDamage
2014-11-13 15:16:27 +03:00
AlexVinS
3da27243c8
Fix SPELL_DAMAGE_REDUCTION calculation.
2014-11-13 15:07:39 +03:00
AlexVinS
9e8b09d747
Use clearAffected flag
2014-11-13 15:00:45 +03:00
AlexVinS
9f983c67c0
Fix uninitialized variables
2014-11-13 14:35:58 +03:00
AlexVinS
00013ed31a
Fix spell school immunity evaluation
2014-11-13 14:10:25 +03:00
AlexVinS
ce8fa33efc
Introduced new spell configuration options (not used yet)
2014-11-13 13:37:42 +03:00
AlexVinS
c7480e7fe5
Move getAffectedStacks to mechanics classes
2014-11-13 12:33:51 +03:00
AlexVinS
22c251b57d
Small fix for rangeInHexes
2014-11-13 08:29:04 +03:00
AlexVinS
bab7198cd7
Use some constants in SRSLPraserHelpers
2014-11-13 08:13:06 +03:00
AlexVinS
4042757f93
Move spell range calculation to Mechanics
...
* made ISpellMechanics opaque
2014-11-13 07:34:20 +03:00
AlexVinS
b62ee20880
Move TargetInfo initialization to constructor
2014-11-13 06:29:41 +03:00
AlexVinS
0015027ec7
Draft fo CHAIN_LIGHTNING
...
* fix usage of RECEPTIVE bonus
2014-11-13 05:40:52 +03:00
AlexVinS
a06dae1f96
Move getAffectedCreatures to CSpell. + more drafts
2014-11-13 04:53:25 +03:00
Ivan Savenko
dce9880d16
Minor refactoring of FunctionList using variadic templates.
...
Please make sure that all supported compilers are OK with this code
2014-11-12 22:46:37 +02:00
AlexVinS
5ba53da9bf
Extract SpellMechanics to separate file
2014-11-12 11:36:34 +03:00
AlexVinS
22178151aa
More general spell school handling
2014-11-12 11:03:55 +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
AlexVinS
639b915391
Move calculateSpellBonus to CSpell
2014-11-12 08:02:27 +03:00
AlexVinS
059698217c
Use CLONE and DISPEL_HELPFUL_SPELLS Mechanics classes in immunity caculation
2014-11-12 07:41:12 +03:00
AlexVinS
61d6bca3ff
Extract some spell imuunity mechanics + draft of overall design (UNTESTED)
2014-11-12 07:09:05 +03:00
AlexVinS
a49da360d2
Use ESpellCastProblem inside SpellHandler
2014-11-12 06:17:03 +03:00
AlexVinS
24efb9b413
SpellHandler: add more error checking + cleanup.
2014-11-12 03:48:11 +03:00
AlexVinS
c4fdca45d9
Small cleanup
2014-11-12 03:48:10 +03:00
AlexVinS
4e9cff3403
spelling fix
2014-11-06 15:06:16 +03:00
AlexVinS
34ffdb5981
small cleanup
2014-11-06 14:28:34 +03:00
Ilya Zhuravlev
3eb3996241
Fix android build.
2014-11-02 16:19:14 +03:00
DjWarmonger
333d740aba
Post-release version bump.
2014-11-01 13:57:37 +01:00
DjWarmonger
41acc944a0
Version 0.97. Updated changelog.
2014-11-01 12:57:17 +01:00
DjWarmonger
d280b0ac9f
Cleaned some logs.
2014-11-01 09:52:56 +01:00
DjWarmonger
b61b79b458
For 0.97 release: generate full underground to avoid many issues
2014-10-31 18:47:10 +01:00
DjWarmonger
dd0033b5a4
Zones will now not bounce off map edges too much, should allow more space in the middle of a map.
2014-10-31 17:55:47 +01:00
DjWarmonger
9eeea7299a
- Removed unecessary includes
...
- Fixed town types configured from RMG templates
2014-10-31 17:09:34 +01:00
DjWarmonger
afaf74a05b
Improved zone sizes for two-level maps.
2014-10-31 13:37:23 +01:00
DjWarmonger
7ac3713d32
Significantly improved zone graph placement.
2014-10-31 12:58:55 +01:00
DjWarmonger
697e42dd24
- Fixed several legacy issues with map templates
...
- Added Clash of Dragons 1.2 template
- Temporarily disabled exception when RMG runs out of two-way monoliths (exception was not handled anyway)
2014-10-30 21:23:25 +01:00
DjWarmonger
ce83db0f43
- Option to configure monster types spawning in a zone
...
- 25% chance to get neutral faction in zone with no town
2014-10-30 13:03:53 +01:00
DjWarmonger
530a3e69bf
Option to allow / ban certain types of town in a template.
2014-10-30 10:00:29 +01:00
DjWarmonger
b518fd6ea6
Added graphics for GENERAL_DAMAGE_REDUCTION bonus. Files are now in vcmi mod.
2014-10-28 19:04:34 +01:00
DjWarmonger
06983fc346
Fixed issue with empty mage guild on random maps.
2014-10-26 13:09:59 +01:00
Patrick Simmons
436272f00c
Fix pathfinding bug.
2014-10-25 21:15:40 -04:00
Patrick Simmons
cfa6f46d62
VERY buggy, unusable, but progress is being made...
2014-10-25 19:05:49 -04:00
Mikhail Paulyshka
0541b544c4
fix minizip build error for MSVC
2014-10-12 16:41:05 +03:00
DjWarmonger
775d6c41b4
Merge pull request #41 from vcmi/refactoring/initializers
...
Works under Visual, merging.
2014-10-04 08:29:21 +02:00
AlexVinS
54453aee73
get rid of boost::assign
2014-10-04 00:34:13 +04:00
AlexVinS
66b022f93e
initializer lists part1
2014-10-02 19:43:46 +04:00
Ilya Pomaskin
67506144ae
Fixing Mac OS building issues
2014-10-01 17:47:37 +04:00
DjWarmonger
f7882135e6
More random paths within zones.
2014-10-01 14:56:06 +02:00
DjWarmonger
c832eab172
Fixed #1909
2014-10-01 11:38:03 +02:00
DjWarmonger
e40818f2c6
Fixed incorrect treasure distance on underground maps.
2014-09-26 13:19:39 +02:00
DjWarmonger
59ab30751c
- Version set to 0.96b
...
- Updated changelog
2014-09-26 07:40:51 +02:00
DjWarmonger
1f7ce7c1d9
Cut area around towns to prevent sealing off parts of zone.
2014-09-23 21:12:10 +02:00
DjWarmonger
df9d2f8d8f
A bit smarter algorithm for cutting paths.
2014-09-23 18:32:32 +02:00
DjWarmonger
87ecd0075e
Even tighter obstacles.
2014-09-23 16:53:26 +02:00
Ivan Savenko
bfd3aab78d
More precise timings for logs (microsecond resolution)
2014-09-23 16:01:43 +03:00
DjWarmonger
8e1e8abe90
Default constructors for Scholar, Pandora and Event.
2014-09-23 09:46:31 +02:00
DjWarmonger
3e36d0d88b
Possible tweak for underground.
2014-09-22 15:27:42 +02:00
DjWarmonger
b96ab55c4d
Tighten obstacles to improve map look and feel. It should be now on pair with original maps :)
2014-09-22 14:46:52 +02:00
DjWarmonger
f3d7c658f0
Ensure distance between treasure piles.
2014-09-22 14:18:01 +02:00
DjWarmonger
0f4608ae01
Nicer treasure piles.
2014-09-22 13:36:55 +02:00
DjWarmonger
035d028d5c
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-09-21 22:20:30 +02:00
DjWarmonger
e3d968e284
Generate Grail to not crash at Obelisks.
2014-09-21 21:51:51 +02:00
Ivan Savenko
fc16c8d207
Merge branch 'optimization/swiftAI' into develop
...
Conflicts:
lib/CGameState.cpp
2014-09-21 22:31:29 +03:00
DjWarmonger
5cb6eaa252
Fixed major RMG bug.
2014-09-21 20:57:42 +02: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
c4fc8f08c0
Moved assertions before variable is used
2014-09-21 18:25:52 +03:00
DjWarmonger
147ca72f65
Fixed RMG Prisons.
2014-09-21 15:59:35 +02:00
Ivan Savenko
380c100783
Disabled Nagle algorithm for net packs.
...
This should significantly reduce TCP delays. On my systems this is ~120ms for server to reply to ~15ms
Possible downside - increased load on network due to possible increase in number of packages due to disabled batching
2014-09-21 16:43:25 +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
a17e27bfc6
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-09-18 14:43:37 +02:00
DjWarmonger
495c39304d
Fixed crash due to incorrect RMG options.
2014-09-18 14:29:57 +02:00
Ivan Savenko
9a4aa8749f
Fall back to first available resolution if config contains invalid value.
...
Fixes crash on starting game with unavailable resolution
2014-09-18 14:20:53 +03:00
DjWarmonger
e0e83b6a0b
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-09-17 11:12:18 +02:00
DjWarmonger
36a7cff998
Cleaning error messages at access to players.
2014-09-17 11:03:53 +02:00
AlexVinS
22deb07b66
[c::b] update prejects, fix build
2014-09-11 17:53:25 +04:00
DjWarmonger
d9273b3b2a
Cleaning logs.
2014-09-10 19:09:48 +02:00
DjWarmonger
228700b1a7
Create vcmi folder if there's no existing.
2014-09-08 15:15:36 +02:00
DjWarmonger
3f49860d13
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-09-05 15:59:29 +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
Ivan Savenko
de9c5b1af7
Merge branch 'develop' of github.com:karol57/vcmi into karol57-develop
2014-09-04 20:29:24 +03:00
Ivan Savenko
1647b3670c
Merge pull request #35 from rhn/rhn
...
Fixes to sound handling.
2014-09-04 20:26:32 +03:00
karol57
864fa0388f
Android fix
2014-09-02 19:18:47 +02:00
josch
9bef590960
use system version of minizip
2014-09-02 17:00:20 +02:00
DjWarmonger
fe922605ce
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-09-01 10:37:03 +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
Karol
b2a140149c
Minor fixes #2
...
- ChangeLog update
- Updated code for other platforms in CGameInterface
2014-08-31 23:02:52 +02:00
DjWarmonger
8b10f70afd
Migrating to MSVS 2013, which allows to delete inttypes.h file.
2014-08-31 19:08:39 +02:00
Karol
80998b9dc3
Minor fixes. fix
...
- Brrr... VS is idiotproof.
2014-08-30 19:08:04 +02:00
Karol
3f720901ec
Minor fixes.
...
- Removed unnecessary keywords.
- Inlined some functions.
- Minor coding style fixes.
- Minor fixes.
2014-08-30 18:45:11 +02:00
Karol
37bd4790f7
VCMIDirs update #6 fix
...
- Apple compilation fix
- Removed unnecessary macros
- Updated macros indent style
- Fixed 1. warning.
2014-08-30 15:04:00 +02:00
Karol
53ab0593b7
VCMIDirs update #6
...
- Minor fixes
- CLoadFile updated to boost::filesystem::path
2014-08-27 12:31:58 +02:00
Karol
a34d148fa3
VCMIDirs update #5 fix 2
...
- Linux compilation fixes
2014-08-26 15:29:56 +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
958839668c
VCMIDirs update #5
...
- Minor fixes
- string based paths -> boost::filesystem::path paths (I hope it's
final)
- New user data path on windows
- New moving dir method on windows.
2014-08-21 22:26:28 +02:00
Ivan Savenko
69c6a3fa79
Fixed crash on visiting multi-creature dwellings (1874)
2014-08-19 13:16:25 +03:00
Ivan Savenko
7e05945a6a
Swapped skills on level-up screen
2014-08-19 13:15:40 +03:00
DjWarmonger
2c91a10dcd
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-08-13 07:50:41 +02:00
Karol
2da6d9e7dd
VCMIDirs update #4 fix
2014-08-11 21:24:31 +02:00
Karol
c16e7d4bcf
VCMIDirs update #4
...
Added stderr color handling
Updated logger to use boost::filesystem::path. Minor fixes.
Some classes are now structs.
2014-08-11 20:17:17 +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
Karol
5d5db77fc9
VCMIDirs update #2 fix
2014-08-09 20:22:24 +02:00
Karol
8eb1721050
VCMIDirs update #2
...
Changet to tree model based on classes
2014-08-09 19:54:12 +02:00
Karol
ebc8c9d077
VCMIDirs update #1
...
- Class VCMIDirs is now deprecated.
- VCMIDirs now is an namespace, not an singletone.
- VCMIDirs uses now boost::filesystem::path, not a std::string.
2014-08-09 17:22:37 +02:00
Ivan Savenko
b1285bc506
Merged GUI refactoring into develop, fixed conflicts
2014-08-09 15:01:55 +03:00
Ivan Savenko
c0e4591bc7
Added workaround for random objects on water, fixes 1828
2014-08-09 13:48:38 +03:00
Ivan Savenko
05d8fad314
Miscellaneous fixes to banks:
...
- fixed evaluation of bank thread by AI (1850)
- fixed crash on evaluating bank threat after loading from save (1830)
- fixed typo in bank config. TODO: schema?
2014-08-09 12:31:43 +03:00
Ivan Savenko
f55d335e1c
Fixed visitable objects resetting on day 7 (1847)
2014-08-08 15:53:04 +03:00
Ivan Savenko
d1dd7eef48
Proper fix for #1712 - Building requirement tests are now fixed
...
- added minimize() method in logical expressions that will remove excessive elements
- replaced forEach() with morph() that allows replacing types in variant
2014-08-07 19:53:07 +03:00
Ivan Savenko
16eb4b3267
First part of fix for 1712
...
- implemented recursive search for missing dependencies
- todo - update GUI. As of now Gui may provide incorrect information
2014-08-07 19:53:07 +03:00
rhn
a6151a5296
added FLAC support
2014-08-06 17:19:53 +02:00
rhn
a491c11305
Fixed sound effect when hero disappears
2014-08-06 17:19:53 +02:00
rhn
e9534603c2
Fixed sound on object pickup with dialog
2014-08-06 17:19:53 +02:00
beegee1
d918621d66
- fixed casting sacrifice spell (was broken and now fixed partially)
2014-08-05 19:12:56 +02:00
beegee1
c1ac95b288
- fixed Clang compiler warnings
2014-08-04 20:36:00 +02:00
beegee1
5139378319
- migrated boost::function/ref/bind to std:: variants
2014-08-04 20:33:59 +02:00
Ivan Savenko
33acdc51bb
Fixes 1852 - fixed typo in tower config and added check to detect such cases
2014-08-04 14:47:42 +03:00
Ivan Savenko
0882201b17
Miscellaneous fixes to toggle buttons
2014-08-03 16:19:16 +03:00
Ivan Savenko
42b349a594
Merge pull request #33 from rhn/develop
...
Fixed wrong message when building a structure, Rewarding objects won't loose their state on reload
2014-07-30 21:18:09 +03:00
DjWarmonger
2bc762fca8
Increased treasure density a bit.
2014-07-30 15:15:21 +02:00
DjWarmonger
e1936b4b0d
Corrected treasure value rounding.
2014-07-30 15:00:44 +02:00
DjWarmonger
e5f3a60c9e
Treasure distance now scales depending on zone size. Should be close to OH3 formula.
2014-07-30 13:52:21 +02:00
DjWarmonger
f9245e67e8
Quantize treasure values to let objects at upper bound spawn.
2014-07-30 10:58:45 +02:00
DjWarmonger
5814a057c8
Remove trash treasures from large piles.
2014-07-30 10:21:53 +02:00
DjWarmonger
f8359b4eb5
Randomized shapes for treasure piles.
2014-07-29 19:19:15 +02:00
DjWarmonger
2220786d0c
Finally placing objects sparsely.
2014-07-29 19:05:35 +02:00
DjWarmonger
930fa21d38
Tweaked treasure density.
2014-07-29 18:12:27 +02:00
DjWarmonger
3712b9a48b
- Fixed treasure zones touching each other, which sometimes resulted in unguarded paths.
...
- Fixed some object amounts which seemed wrong.
2014-07-29 16:58:08 +02:00
DjWarmonger
dc03a251f6
- Fixed treasure generating formula It should be now identical to OH3.
...
- Refactorings, tweaks.
2014-07-29 15:58:54 +02:00
rhn
aba3421e0a
Fixed: 0001854: Rewarding objects loose their state after game is reloaded (breaks savegames)
2014-07-29 15:28:58 +02:00
rhn
e7fa17af38
Fixed message when a structure can't be built due to requirements, but a different building has been built already
2014-07-29 09:49:50 +02:00
DjWarmonger
fe292dfa1d
Fixed desync due to uninitialized objects. Added some logging. RMG maps don't work yet, though.
2014-07-27 19:30:17 +02:00
DjWarmonger
3acbda75ef
Restored old function signature for sanity.
2014-07-27 13:59:53 +02:00
DjWarmonger
713912574a
Fixed duplicated Redwood Observatory on snow and possibly other objects.
2014-07-27 07:37:56 +02:00
DjWarmonger
b97e4b1ab5
Fixed crash when setting players number to 1.
2014-07-26 14:20:33 +02:00
DjWarmonger
b99d6f862d
Improved gravity algorithm. Now zones will start as small and inflate until they fill the map.
2014-07-26 10:02:33 +02:00
AlexVinS
b654ea831b
[RMG] Fix mingw build, fix some warnings
2014-07-26 10:12:45 +04:00
DjWarmonger
8f946e4add
Denser and bigger obstacles.
2014-07-25 18:52:24 +02:00
DjWarmonger
a9ddeb665b
Place large obstacles first.
2014-07-25 17:55:48 +02:00
DjWarmonger
67d8a24f0b
Experiments with object distance.
2014-07-25 17:10:16 +02:00
DjWarmonger
1dd88d394f
All required objects will now constitute main paths of zone (again), which should improve their shape.
2014-07-25 16:26:50 +02:00
DjWarmonger
e65b85873c
Added prisons. hero experience is set to zero due to problem with leveling http://bugs.vcmi.eu/view.php?id=1804
2014-07-25 10:44:17 +02:00
DjWarmonger
c119ddf5ee
Reduced usage of TerrainViewPattern constructor for faster map generation.
2014-07-24 20:36:52 +02:00
DjWarmonger
156e19cdf6
Various optimizations based on RMG profiling.
2014-07-24 19:16:49 +02:00
DjWarmonger
21386081bf
Fixed formula for dwellings value.
2014-07-24 12:26:10 +02:00
DjWarmonger
4b28afcaa4
Fixed counting of faction-aligned zones.
2014-07-23 19:17:07 +02:00
DjWarmonger
1cabc8f7f4
- Implemented map object limit which should also distribute the objects evenly
...
- Fixed Magic Well limit of 1 per zone
2014-07-23 18:02:17 +02:00
DjWarmonger
8471d32334
Fixed not free tiles in front of required objects.
2014-07-23 11:42:05 +02:00
DjWarmonger
eb0ea86ccb
Fix for Travis.
2014-07-18 07:40:27 +02:00
DjWarmonger
0763b9a758
- Implemented object per zone limit
...
- Various tweaks for Travis & repo
2014-07-15 22:33:51 +02:00
DjWarmonger
090abf41e8
Fixed sealing off parts of zones.
2014-07-15 19:52:58 +02:00
DjWarmonger
128b63a285
Fixed tiles around unguarded objects -> denser zones, less misplaced guards.
2014-07-15 19:10:03 +02:00
DjWarmonger
e8580229dc
RMG will now actually use all the settings from pregame. Till now it did not.
2014-07-15 16:44:07 +02:00
DjWarmonger
ca7fe822eb
Removed treacherous randomized constructor.
2014-07-15 15:41:53 +02:00
DjWarmonger
be8c9c8378
Correct strength of zone guards. Logs for guard strength.
2014-07-15 14:38:05 +02:00
DjWarmonger
173111955e
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-07-15 12:27:59 +02:00
DjWarmonger
3a19bf964a
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-07-15 11:50:50 +02:00
Ivan Savenko
92d22bae63
Merge branch 'feature/creatureWindow' into refactoring/guiClasses
2014-07-14 17:23:24 +03:00
Michael Pavlyshko
f7d8faa540
install only .dll (without .dll.a)
2014-07-11 17:27:50 +03:00
Michael Pavlyshko
bad7050096
spaces -> tabulation
2014-07-11 11:01:03 +03:00
Michael Pavlyshko
c25ccc2acb
Rename: vcmi.dll -> VCMI_lib.dll, vcmilauncher.exe -> VCMI_launcher.exe
2014-07-11 01:09:00 +03:00
Michael Pavlyshko
c935193558
disable WIN32 flag for executables, fix previous commit
2014-07-10 00:47:22 +03:00
DjWarmonger
966873181f
Do not let monsters or treasures spawn near already placed monsters.
2014-07-09 22:09:06 +02:00
DjWarmonger
6c0a396094
Corrected y-axis orientation, now object placement is correct.
2014-07-09 16:39:17 +02:00
DjWarmonger
492b866806
- Fixed crash caused by randomShuffle
...
- Banned Magic Spring as it has 2 visitable positions
2014-07-09 14:27:12 +02:00
DjWarmonger
8d58ce08aa
Correct position of blocked tiles.
2014-07-09 12:05:14 +02:00
DjWarmonger
927e16d9f5
Almost correct placement of all objects.
2014-07-09 11:38:16 +02:00
DjWarmonger
2a8ae6310e
Better object placement and accessibility.
2014-07-09 09:22:50 +02:00
Michael Pavlyshko
3443ba5bb3
fix libvcmi linking
2014-07-09 01:43:13 +03:00
DjWarmonger
22d26db694
Correct placement of non-overlapping objects.
2014-07-08 20:13:51 +02:00
DjWarmonger
8a8cda950d
Fix for previous commit.
2014-07-08 13:17:47 +02:00
DjWarmonger
b9a01fbffe
Make sure main town is accessible.
2014-07-08 12:28:50 +02:00
DjWarmonger
d3f97829a1
Prevent RoE elemental dwellings from spawning.
2014-07-08 11:57:02 +02:00
DjWarmonger
82ccf240f0
Fixed fractalize algorithm - better treasure density.
2014-07-08 11:28:55 +02:00
DjWarmonger
3fb498713a
Fixed placement of large obstacles.
2014-07-08 08:59:13 +02:00
Michael Pavlyshko
820eceb8ad
Add VCMI_DLL flag for libvcmi
2014-07-08 01:50:44 +03:00
DjWarmonger
866cd6f540
Allow underground zones to connect more easily. Regression: Obstacles spawn at zone boundaries.
2014-07-07 18:01:15 +02:00
DjWarmonger
ced3d32f3f
Scale dwelling / pandora with creatures value according to number of native zones.
2014-07-07 16:20:48 +02:00
DjWarmonger
4cea0a2973
Zone dwellings will now match first town.
2014-07-07 11:29:16 +02:00
Ivan Savenko
aaf314baf4
Source ID from bonusing objects is not object index but object type. Fixes at least partially #1822
2014-07-07 08:29:07 +03:00
DjWarmonger
f65239b51f
- Added faction-specific dwellings
...
- Fixed generation of terrain-specific objects
2014-07-06 22:14:37 +02:00
DjWarmonger
f3ccdc8a21
Even distribution for surface / underground zones.
2014-07-06 10:43:30 +02:00
DjWarmonger
cbd2d74292
Generate random Pandora boxes.
2014-07-06 07:15:52 +02:00
DjWarmonger
0782557814
- Place all standard visitable objects
...
- Fixed some constructors
2014-07-05 19:36:12 +02:00
DjWarmonger
9cfbbb2048
Merge underground maps with develop. There is a serious issue with rendering rock tiles, which may cause crash.
2014-07-05 15:22:53 +02:00
DjWarmonger
d942858ef9
Throw exception when there are not enough two-way monoliths available.
2014-07-04 14:46:02 +02:00
DjWarmonger
05c2a4e716
Better gravity-based algorithm.
2014-07-04 11:51:28 +02:00
Ivan Savenko
20f7071d11
Implemented stack experience/commander experience display for window
2014-07-04 12:48:09 +03:00
DjWarmonger
5fb07ded38
Correct underground terrains. More improvements for connection placement.
2014-07-04 10:45:00 +02:00
DjWarmonger
d4d3f1a568
More tweaks.
2014-07-04 09:54:55 +02:00
DjWarmonger
ab748ae221
Somewhat better gate placement, attempt to add rocky tiles to underground zones.
2014-07-03 23:11:24 +02:00
DjWarmonger
d118fbffe8
Correct placement of subterranean gates.
2014-07-03 17:24:28 +02:00
DjWarmonger
60a5c764b8
Correct zone placement & sizing for underground maps.
2014-07-03 12:28:51 +02:00
DjWarmonger
cc8d484775
Refacoring, tweaks.
2014-07-03 09:39:26 +02:00
AlexVinS
9797372dbe
Implement Unicode support for ingame console
2014-07-02 19:16:05 +04:00
AlexVinS
195eae48ca
Merge branch 'develop' into SDL2
...
Conflicts:
client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00
DjWarmonger
abd6fe73dd
Version 0.96 release.
2014-07-01 19:32:31 +02:00
DjWarmonger
cc294b3ae7
Version 0.96 release.
2014-07-01 19:30:31 +02:00
Ivan Savenko
cc349fa64f
Fixed Faerie Ring bonus, removed unused code
2014-07-01 18:19:51 +03:00
Ivan Savenko
c956b3f02a
Fixed #1820 , better detection of object below cursor that uses same logic as renderer
2014-07-01 17:19:08 +03:00
DjWarmonger
bae9f2083f
Workaround for hero & town issue. Game still crashes elsewhere, though.
2014-07-01 12:07:53 +02:00
DjWarmonger
54390ea81c
Merge branch 'develop' into RMG
2014-07-01 08:25:53 +02:00
DjWarmonger
bda71bed83
Uploading misc tweaks.
2014-07-01 07:07:40 +02:00
Ivan Savenko
db221829aa
Modding-related bugfixes:
...
- hero classes will be loaded correctly
- objects without index will have correctly assigned ID's
2014-06-30 17:13:01 +03:00
AlexVinS
50dfe05cd1
[C::B] Small projects fix
2014-06-30 11:19:55 +04:00
DjWarmonger
a556ef64e9
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-30 06:45:35 +02:00
Ivan Savenko
a1fff864e6
Fixed missing names for dwellings and creature banks
2014-06-30 00:16:45 +03:00
Ivan Savenko
f01ab0d48f
Fixed rest of reported on forums bugs in rewardables
2014-06-29 20:13:25 +03: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
DjWarmonger
7dbe2f5c40
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-28 16:31:06 +02:00
Ivan Savenko
917b1ffca8
Bugfixing:
...
- Added missing types for serialization
- Fixed possible crash in removable objects (campfire)
- Fixed typo in bank config
2014-06-28 17:21:38 +03:00
DjWarmonger
920f56969b
Create random obstacles that match terrain.
2014-06-28 09:46:32 +02:00
DjWarmonger
7aa8213cd5
Tweaked templates to allow all map sizes.
...
To be released as 0.95c.
2014-06-27 21:48:17 +02:00
DjWarmonger
90b72a7856
Workaround with Obelisks. Kill me later.
2014-06-27 20:28:21 +02:00
DjWarmonger
383280f72a
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-27 18:26:43 +02:00
Ivan Savenko
f01e30a3b1
Added random objects to configs. For now as separate "random handlers", should be merged into main handlers later
2014-06-27 19:15:47 +03:00
DjWarmonger
ccb475b699
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-27 06:24:05 +02:00
Ivan Savenko
bac83d8bd0
Compatiblity for last version of Cove (and likely any other town mods)
2014-06-27 00:07:09 +03:00
DjWarmonger
57fa905a2b
Something that compiles.
2014-06-26 22:05:27 +02:00
DjWarmonger
e51e2190fd
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-26 20:12:37 +02:00
AlexVinS
aea5a7ba75
add comment. no code changes.
2014-06-26 20:49:18 +04:00
AlexVinS
c28b5f6633
fix mingw build
2014-06-26 20:41:27 +04:00
Ivan Savenko
00b6232ff6
Replaced usage of DLL_LINKAGE with ELF_VISIBILITY in netpacks. Please make sure that compilation now works on all platforms
2014-06-26 18:34:54 +03:00
Haryaalcar
ce6940e272
build fix for mac os:
...
1) type_info visibility for CatapultAttack
2) using IObjectInfo::CArmyStructure in min_element : operator< should be const
2014-06-26 01:24:48 +03:00
Ivan Savenko
955552488e
- H3M parser will create objects that don't have data in map file via
...
object handler.
- Added large number of missing objects to config
2014-06-25 20:26:47 +03:00
Ivan Savenko
32240da34e
Reduced number of #include's in headers. May break compilation on Win
...
since some net packs now need DLL_LINKAGE
2014-06-25 17:11:07 +03:00
Ivan Savenko
3b0ecee678
Ugly workaround for DLL_LINKAGE issue. Should be removed once I figure
...
out what's triggering it.
2014-06-25 00:37:33 +03:00
Ivan Savenko
a0689fa377
Refactoring of hoverText from objects:
...
- removed hoverText field
- split getHoverText() method into 3:
- - getObjectName() for generic name
- - getHoverText(Player) for player-specific text
- - getHoverText(Hero) for hero-specific strings
2014-06-24 20:39:47 +03:00
Ivan Savenko
ad632d1e8a
Moved FoW management from CGObjectInstance to callback
2014-06-24 20:39:47 +03:00
Ivan Savenko
5ebc0e8614
First part of object instance API cleanup
...
- removed passability() method in favour of passableFor(PlayerColor)
- moved operator < code to map handler
- updated class documentation
2014-06-24 20:39:47 +03:00
AlexVinS
4e4ba6654c
fix Eye of magi, also fix #1608
...
Conflicts:
lib/CObjectHandler.cpp
2014-06-24 18:20:28 +04:00
AlexVinS
c7772aa5a4
Merge branch 'develop' into SDL2
...
Conflicts:
lib/NetPacks.h
lib/NetPacksLib.cpp
2014-06-24 18:19:57 +04:00
AlexVinS
c7dc4c05b8
fix mingw build
...
(?) does this brake *nix build?
2014-06-24 18:17:25 +04:00
AlexVinS
b371c7ef74
fix build
2014-06-24 15:23:37 +04:00
AlexVinS
3b8d0e44d4
Merge branch 'develop' into SDL2
2014-06-24 14:09:44 +04:00
Ivan Savenko
13bc4cb24f
Added -fvisibility=hidden parameter for gcc.
...
Should help a bit with endless missing DLL_LINKAGE attributes and
(according to gcc docs) help a bit with library loading times.
2014-06-24 00:05:53 +03:00
DjWarmonger
79036484dd
Trying to sort out project changes and compile issues.
2014-06-23 19:58:19 +02:00
Ivan Savenko
db49798b4d
Fixed random artifact selection
2014-06-23 20:47:09 +03:00
Ivan Savenko
7c52db923a
Removed mods compatibility code from 0.95
2014-06-23 20:47:09 +03:00
Ivan Savenko
06d17f709d
fixed compatibility code for resource-granting buildings
2014-06-23 20:47:09 +03:00
AlexVinS
46d92f11cb
Project update, fix build
...
(!) register types as usual too huge
2014-06-23 10:24:49 +04:00
Ivan Savenko
c605e2d10c
Gcc compile & warning fixes
2014-06-22 17:26:08 +03:00
DjWarmonger
901188e2e1
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-22 14:53:51 +02:00
DjWarmonger
3ac306f501
Merge pull request #19 from vcmi/feature/mapObjects
...
Feature/map objects
2014-06-22 14:49:42 +02:00
Ivan Savenko
ab475195ac
Banks now use new scheme as well
...
- Implemented Bank Constructor object.
- Merged Pyramid object into common Bank class. Banks can now grant
spells as part of their reward.
- Move bank config code to config/objects/creatureBanks.json. Note: WoG
banks are not updated yet, should be moved to WoG mod.
- Updated AI code so it can correctly evaluate bank danger (should be
generic enough for use with other objects)
- New files JsonRandom.* that contain routines for loading random
objects from Json (still WiP but should be stable)
2014-06-22 13:39:40 +03:00
DjWarmonger
d3134a1290
Add free tiles around unguarded objects.
2014-06-18 10:31:08 +02:00
DjWarmonger
f84e25fa78
Somewhat better algorithm for paths, helps balance object distribution.
2014-06-18 09:57:36 +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
Ivan Savenko
09d595e385
- Implemented "mapObject" entry for hero classes
...
- Updated schemas
- Some bugfixing
2014-06-16 19:27:26 +03:00
Ivan Savenko
89b89ff85d
Bugfixing. Game seems to be working without major bugs.
2014-06-15 23:25:10 +03:00
DjWarmonger
60df94a3f5
Placing towns according to template.
2014-06-15 21:23:53 +02:00
DjWarmonger
8e66b7168a
Corrected paths & guard for large objects.
2014-06-15 19:56:58 +02:00
Ivan Savenko
836c466f81
- Implementation of overrides for towns
...
- Converted dwellings.json into new format
- Implemented "mapObject" entry in town format
- Removed capital/fort/village fields from town in favor of overrides
2014-06-15 19:43:01 +03:00
DjWarmonger
01355a77d8
Added "monster strength" info to templates.
2014-06-15 11:08:06 +02:00
DjWarmonger
890f29fa7e
Improved guard placement for large objects.
2014-06-15 09:39:30 +02:00
DjWarmonger
aa54803c50
Refactoring, clearing logs.
2014-06-15 08:48:46 +02:00
DjWarmonger
79da7b92ce
Templates now contain info about mines.
2014-06-14 20:05:19 +02:00
Ivan Savenko
7cfd9a0903
First part of implementation of some type-specific handlers.
...
TODO:
- merge dwellings.json into object configs
- proper implementation of overrides for towns
- fully connect new API to RMG/H3M
2014-06-14 18:42:13 +03:00
DjWarmonger
93b44de63c
Handling "terrain type" and "match terrain to town" options.
2014-06-14 17:14:59 +02:00
DjWarmonger
6cbcfbf0a9
Sealed-off treasure piles will be discarded and filled with obstacles.
2014-06-13 12:04:17 +02:00
DjWarmonger
edd46d87c1
Treasure pile entrance/guard will always be aimed at the center of the zone.
2014-06-13 08:00:26 +02: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
6205d07223
Re-enabled video player, should now work with SDL 2
2014-06-13 07:55:46 +04:00
Ivan Savenko
8eb661461c
- vcmi compiles with SDL2 on Linux, video player is disabled for now
2014-06-13 07:55:45 +04:00
AlexVinS
ac2896da42
Implemented SDL2 unicode input. Hotkeys are sill broken.
2014-06-13 07:55:42 +04:00
AlexVinS
30fd9987cf
change minizip.cbp, VCMI_lib.cbp to new externals layout
...
* static link with zlib for now - I don`t want to mix with SDLs zlib
2014-06-13 07:55:37 +04:00
DjWarmonger
2c1001f8e0
Making sure that treasure piles and other objects will always be accessible from the center of zone.
2014-06-12 21:51:16 +02:00
DjWarmonger
236b3ec807
Zones will get random network of passable paths inside them. Treasures will try to fill all remaining fields.
2014-06-12 21:10:43 +02:00
DjWarmonger
1a34297c33
Rearranged treasure pile info.
2014-06-08 14:35:41 +02:00
DjWarmonger
c82bfd0f3e
- Fixed guard generation
...
- Added Jebus template for comparison
2014-06-08 08:42:29 +02:00
DjWarmonger
fed2821a94
Fixed behaviour with extreme treasure values.
2014-06-07 22:27:36 +02:00
DjWarmonger
81a64a8e67
Templates can now use multiple configurations of treasure piles.
2014-06-07 15:51:03 +02:00
DjWarmonger
b3a39f4920
Misc improvements & tests.
2014-06-07 14:02:57 +02:00
DjWarmonger
dd5c94fa1e
Fixed overlaping of treasure piles.
2014-06-07 10:47:38 +02:00
DjWarmonger
b68f16e89e
Make sure that non-removable objects have their visitable tile accessible.
2014-06-07 10:13:59 +02:00
DjWarmonger
743d8dcf9f
Treasure piles won't be placed at free tiles.
2014-06-07 09:09:50 +02: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
DjWarmonger
e4ea6727b7
Treasure piles should always be accessible.
...
Boosted treasure value for better overview.
2014-06-05 21:37:39 +02:00
DjWarmonger
1746ab8c12
Added spell scrolls to the mix.
2014-06-05 20:19:42 +02: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
76bf5351c6
Line endings are now unix-style
2014-06-05 19:57:43 +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
DjWarmonger
e54c816c92
Treasure piles can now cover several tiles.
2014-06-05 17:19:11 +02: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
1d5d4e3248
Fixed broken in some cases behavior of "base" entries.
...
Maps with new objects seems to be working correctly now, objects are
correctly initialized with base values even with null input
2014-06-04 22:59:28 +03:00
DjWarmonger
c470b9606b
Obstacles won't be generated around unguarded objects.
2014-06-04 20:59:01 +02:00
Ivan Savenko
971a93b4f1
Fixed missing serialization of new types
2014-06-04 20:43:54 +03:00
DjWarmonger
464ffc4afa
Implemented (hopefully) original treasure randomization algorithm.
2014-06-04 19:08:04 +02:00
DjWarmonger
fe05de9aff
Fixed copying zone settings.
2014-06-04 15:41:32 +02:00
DjWarmonger
fdb81f4d5c
Reading treasure values from config.
2014-06-04 15:16:23 +02:00
Ivan Savenko
e9b41cd3c6
Minor fixes, no more missing objects & templates
2014-06-04 14:15:58 +03:00
Ivan Savenko
7e057b6df8
Bugfixing, game can finally load to main menu without crash
2014-06-04 11:25:13 +03:00
DjWarmonger
62e9f13b08
- Implemented guard generation formula following this post http://forum.vcmi.eu/viewtopic.php?p=12426&sid=09f5fac8992dc880eb6a720615787ca0#12426
...
- Some primitive way to randomize treasures
2014-06-04 10:16:08 +02:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
Ivan Savenko
dc7f820161
Implemented object schema. Commiting current progress before sync with
...
upstream.
2014-06-03 21:43:33 +03:00
DjWarmonger
6221f4ac2c
- Corrected guard types
...
- Corrected town positions
2014-06-03 08:57:20 +02:00
DjWarmonger
2aa53e9568
Corrected guard calculation to match OH3.
2014-06-02 15:38:42 +02:00
DjWarmonger
7db06e6bd0
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-01 21:53:00 +02:00
DjWarmonger
37463a3e45
Zone position will be moved to its center of mass.
2014-06-01 21:01:18 +02:00
DjWarmonger
7f31b7dddb
- Zone guards will now match template settings.
...
- Added guards for monoliths.
2014-06-01 16:31:49 +02:00
DjWarmonger
3c5a65af3d
- Random monsters will have proper strength.
...
- Fixed blocking of tiles under objects
2014-06-01 14:10:44 +02:00
DjWarmonger
aee748d8d6
- Added monoliths between remote zones
...
- Fixed land connections between zones, now they're generated correctly.
2014-06-01 12:02:43 +02:00
DjWarmonger
e97933035c
Randomized connections placement (?)
2014-06-01 10:15:03 +02:00
AlexVinS
f212c8221d
[RMG]Fix gcc build, remove some unused variables
2014-05-31 16:11:20 +04:00
DjWarmonger
3c6a1fb715
Large objects will not spawn at blocked tiles.
2014-05-31 12:26:59 +02:00
DjWarmonger
8e8b27087a
Ground connections between adjacent zones.
2014-05-31 10:56:14 +02:00
DjWarmonger
8ab2a8df86
Zone borders.
2014-05-30 21:23:41 +02:00
DjWarmonger
8c24ea0bfb
Introduced 3-value logic for free, blocked and possibly occupied tiles. Refactoring.
2014-05-30 16:50:06 +02:00
DjWarmonger
8ea175ce95
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-30 07:33:32 +02:00
beegee1
72b2e1b8fe
- fixed bug when generating random map and adding player info data
2014-05-29 17:34:46 +02:00
beegee1
40ab89e179
- copy of campaign heroes can be done later (at the point where it's clear if they will be replaced)
2014-05-29 17:07:21 +02:00
Ivan Savenko
1d17d60449
gcc update:
...
- removed support for 4.6
- compilation fixes for 4.7
2014-05-29 13:42:05 +03:00
DjWarmonger
690f4a650a
Even better zone shapes.
2014-05-28 21:11:10 +02:00
DjWarmonger
c627aa608a
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-28 19:34:12 +02:00
karol57
6a65802f22
Removed hardcoded value
2014-05-26 11:52:27 +02:00
karol57
5907735676
All inline functions are now part of definition.
2014-05-26 10:37:04 +02:00
karol57
dd33fd51a8
int3 dist2d microoptimization
2014-05-25 20:42:25 +02:00
karol57
df8cce0d61
Declarations and definitions are now separated.
...
Added explicit int3(si32) c-tor.
Operators like += now return reference to object.
Operator != has now own implementation.
Added dist2SQ for optimization proposes.
areNeighbours now uses dist2SQ
Removed unnecessary comments
2014-05-25 20:12:53 +02:00
DjWarmonger
8f033a7834
Golden ratio for smoother zone shapes.
2014-05-25 13:30:47 +02:00
AlexVinS
c40c79fa94
Make gcc happy
2014-05-25 13:02:15 +04:00
DjWarmonger
69457dbd75
- Implemented some really nice gravity-based algorithm
...
- Fixed zones placed outside the map (causing various bugs)
2014-05-25 06:20:02 +02:00
DjWarmonger
b9de3875d9
- Attempt to move zones away from map boundaries
...
- Tweaking algorithm parameters
- Refactorings
2014-05-24 18:39:58 +02:00
Ivan Savenko
67f11b1a01
- First part of objects configuration
...
- split objects into 3 files (for now)
- integrated object class handler into mod handler
2014-05-24 15:45:29 +03:00
DjWarmonger
021c6b9af3
All zones will be painted with terrain. Removed unused code.
2014-05-24 14:33:22 +02:00
DjWarmonger
d2fd71d087
Zone shapes & terrains work nicely.
2014-05-24 14:06:08 +02:00
DjWarmonger
27dcf70b1a
Randomized center positions of zones.
2014-05-24 12:42:06 +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
Ivan Savenko
6bd6be0835
Object class handler is now a proper "handler"
...
- Some changes in interfaces
- Fixed some missing fields in serialization
- Moved object names to new handler
2014-05-24 01:56:51 +03:00
DjWarmonger
3a6f748fb5
Paint native terrain in zones.
2014-05-23 21:43:33 +02:00
DjWarmonger
75cea9206d
- Fixed uninitialized guarding creature positions
...
- Fix for guard placement
2014-05-23 19:45:17 +02:00
DjWarmonger
35d6215b7b
jfhs patch integration is now complete:
...
Lots of fixes for object placement.
Fixed blocked paths on generated maps.
2014-05-23 19:14:33 +02:00
DjWarmonger
4ea9810831
First version that works:
...
- Covered RMG with exceptions
- Fixes for object randomization & placement
2014-05-23 17:12:31 +02:00
DjWarmonger
342aec0700
More rollback.
2014-05-23 13:23:03 +02:00
DjWarmonger
5b0b152aa3
Trying to restore recent type of mapGenOptions.
2014-05-23 11:56:51 +02:00
DjWarmonger
eae7e5c51f
Rolled back some incorrect values.
2014-05-23 09:22:22 +02:00
DjWarmonger
67793a2db4
Some more.
2014-05-22 21:40:34 +02:00
DjWarmonger
2d8cd1c5b5
Some more.
2014-05-22 21:06:26 +02:00
DjWarmonger
aead8da54f
Fixed some obvious bugs with random map options.
2014-05-22 20:50:24 +02:00
DjWarmonger
1e1dce20a8
Something that compiles, but crashes when launching RMG map.
2014-05-22 19:25:17 +02:00
DjWarmonger
88f962d6d5
Taken jfhs code as it is.
...
http://forum.vcmi.eu/viewtopic.php?p=10040#10040
2014-05-22 16:27:13 +02:00
AlexVinS
8a3b997fa5
fix a few comments. No code changes.
2014-05-21 13:02:20 +04: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
eff801f39a
Extract "inherit node" function
2014-05-19 02:28:44 +04:00
AlexVinS
2fc16b231f
Implemented inheritance semantic for spell level configuration.
...
This allows more simplification.
2014-05-18 21:16:10 +04:00
AlexVinS
f2b61f7e69
Spell configuration: introduce simplifaction mechanism for level conficuration
...
* also aviable for other handlers
2014-05-18 18:47:18 +04:00
AlexVinS
950ca1156a
Use absoluteLimit
...
* all "old" limits are now absolute
2014-05-18 17:55:26 +04:00
AlexVinS
b6b12ad8f6
Merge and simplify resistance calculation
2014-05-18 17:03:01 +04:00
AlexVinS
7cf64a0628
Made onlyAlive flag a part of TargetInfo
2014-05-18 17:03:01 +04:00
AlexVinS
6bf4140145
Just remove hardcoded targetting for DEATH_RIPPLE & DESTROY_UNDED.
...
It will now affect all creatures (massive, non smart). Immunities are handled separately.
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
AlexVinS
0e93ec28c5
Add new general method for battle stack access
2014-05-18 17:02:59 +04:00
DjWarmonger
e074c9b310
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2014-05-18 09:00:32 +02:00
DjWarmonger
e2d44f6ac6
Fixed #868 - wrong battlefield in ship-to-ship combat
2014-05-18 08:52:03 +02:00
DjWarmonger
9f28e4e4ca
Merge pull request #10 from Macron1Robot/works
...
Bug 0001789 correction (incorrect battle field detection)
2014-05-18 08:26:36 +02:00
Macron1Robot
e4cbfe7f0b
Bug 0001789 correction (incorrect battle field detection)
2014-05-18 03:16:53 +04:00
Ivan Savenko
419a2797c8
Implemented basic loading from JSON
2014-05-17 17:50:11 +03:00
AlexVinS
5be005ee36
Try to fix #1763 and a small refactoring
2014-05-17 11:24:26 +04:00
DjWarmonger
1ea6723a32
Merge pull request #8 from xyzz/android-rolling
...
Android port.
2014-05-17 05:17:54 +02:00
Ivan Savenko
b5160acbac
Finalization of object type handler interface
...
- updated code to use new interface
- removed old DefObjHandler (todo - rename file)
Summary:
- most code but loading is now in place
- type names may deserve improvements (some of them are too similar)
- still barely compiles and not tested
2014-05-16 23:50:02 +03:00
Ilya Zhuravlev
db7cd79cf7
Android port.
...
Conflicts:
lib/vcmi_endian.h
2014-05-16 23:24:29 +04:00
DjWarmonger
eb337d7407
Fixed #1638 - spells banned in map settings appeared in town guild
2014-05-16 12:15:35 +02:00
Ilya Zhuravlev
3c35b3eefe
Replace defined(linux) with __linux__/__linux/linux in vcmi_endian.h
2014-05-14 09:49:25 +04:00
beegee1
60f6c00f2e
Logging API: - removed unused method declaration - updated comments - ensured thread safety
2014-05-10 21:12:33 +02:00
AlexVinS
3e101d89ef
few formatting. Mostly space-> tab
2014-05-07 03:58:58 +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
Macron1Robot
345df14d60
Update JsonDetail.cpp
...
Replaced new JSON by previous version of JSON comitted by IvanSav and added video file test again
2014-04-30 13:11:04 +04:00
Macron1Robot
9494c6d335
Update JsonDetail.cpp
...
Added video file existence check
2014-04-29 21:53:50 +04:00
Macron1Robot
cd7ec5716f
Update CObjectHandler.cpp
...
Changed type of "for" variable to auto in dailyIncome
2014-04-28 23:23:24 +04:00
Macron1Robot
558b155c0e
Update CTownHandler.h
...
Removed definition of unnecessary type
2014-04-28 23:18:56 +04:00
Macron1Robot
324bb3c98d
Update CModHandler.h
...
Returned type of loadConfigFromFile back to void
2014-04-28 23:17:24 +04:00
Macron1Robot
13ea6e39f0
Update CModHandler.cpp
...
Removed checking of defaultMods.json values
2014-04-28 23:15:36 +04:00
Macron1Robot
a3aa7314fe
Update CObjectHandler.cpp
...
Corrected daily resource income calculation for town buildings
2014-04-28 18:22:21 +04:00
Macron1Robot
2355f3abe1
Update CModHandler.cpp
...
Corrected errors
2014-04-28 11:07:44 +04:00
Macron1Robot
13cd400d27
Update CModHandler.cpp
...
Corrected error handling in CModHandler::loadConfigFromFile
2014-04-28 11:03:54 +04:00
Macron1Robot
7c1d3d17fc
Update CTownHandler.cpp
...
Corrected hadling of null "produce" section for legacy mod to make it more readable
2014-04-28 10:48:00 +04:00
Macron1Robot
1982ca861b
Update CObjectHandler.cpp
...
Deleted commented text and excessive assignment
2014-04-28 10:37:18 +04:00
Ivan Savenko
d805376ab8
Mostly final interface for object type handler
...
Partial implementation of object with reward constructor
2014-04-27 20:37:53 +03:00
DjWarmonger
4a71442c80
Missing changes.
2014-04-27 14:38:20 +02:00
Ivan Savenko
153dd1f5f9
- Added new files that should have been in last commit
2014-04-27 15:19:23 +03: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
Ivan Savenko
7725232253
backup of current progress, started design of "Object configurer" that
...
will be responsible for configuring of ObjectWithReward's from json
config.
2014-04-25 17:59:05 +03: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
O01eg
8110b65647
Fix for linking in MS VS and CodeBlocks.
2014-04-24 19:54:05 +04:00
O01eg
334bd28bd4
It compiles with -gdwarf-3
2014-04-20 14:10:46 +04:00
O01eg
c6238588bd
Rename new files.
2014-04-20 12:58:58 +04:00
O01eg
ad84ae64b0
Clean up.
2014-04-20 12:40:15 +04:00
O01eg
463073ebfa
Move CPrivilagedInfoCallback, IGameEventCallback and CNonConstInfoCallback to IGameCallback.h
2014-04-20 11:13:37 +04:00
O01eg
927eb33c11
Split IGameCallback to reduce memory required to debug compilation.
2014-04-19 21:44:21 +04:00
Ivan Savenko
a6c0886d03
It is possible to remove object as part of "reward"
2014-04-12 16:47:48 +03:00
Ivan Savenko
2c8af871fc
Added possibility to add custom components to reward description.
...
Used to properly display morale/luck rewards since bonuses don't provide
components associated with them.
2014-04-12 16:16:23 +03:00
Ivan Savenko
cb5b5a05c1
Player can refuse single reward (e.g. Tree of Knowledge)
2014-04-12 14:47:20 +03:00
Ivan Savenko
a4e7987835
Fixed some missing elements, mostly messages
2014-04-12 14:35:48 +03:00
Ivan Savenko
ba5092d669
Some bugfixing, basic functionality of map objects seems to be working
2014-04-11 22:49:25 +03:00
Ivan Savenko
d14a16249d
Core functionality for new objects in now in place, not yet tested
...
- added selection of rewards
- moved "on grant" message to reward struct
- multiple minor fixes
2014-04-11 20:38:27 +03:00
beegee1
1d57b75bc5
- random number generation refactoring
...
- fixed mantis #1743
2014-04-10 19:22:32 +02:00
Ivan Savenko
dab9fd7148
Heroes will be properly marked as visited on visiting
2014-04-07 20:32:15 +03:00
Ivan Savenko
8beea4ec6a
More work on configurable objects:
...
- maps can be started
- visiting will be registered properly
2014-04-07 14:56:59 +03:00
Ivan Savenko
43ba3d30ea
Breaking things - first commit towards configurable object(s).
...
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil
Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
2014-04-06 23:14:26 +03:00
beegee1
48e7b7d805
- Some performance improvements for logging
2014-04-01 19:46:47 +00:00
DjWarmonger
30b79588db
- Moved gameState::guardingCreaturePosition() to CMap so it doesn't need to be recalculated many times for every player.
...
- Some optimizations with local cb pinter in VCAI.
2014-04-01 11:53:28 +00:00
DjWarmonger
ec54381b12
Some more optimization.
2014-03-31 15:26:47 +00: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
DjWarmonger
8683c8c0eb
- Added and improved some propagators, including Crystal Dragons ability ( #1232 )
...
- Minor refactoring in AI
2014-03-29 21:39:19 +00:00
Ivan Savenko
1cec8d4cfc
Some bits towards replacements of objects.txt, first step towards
...
configurable objects support:
- fixes for object template loader
- schema for current object template format
2014-03-23 20:26:18 +00:00
Ivan Savenko
771c1ce255
- some effords to get rid of bottlenecks in AI code
...
- fixes, probably partially #1577
- enabled code for reading map object templates from json, still not
used
- disabled PCH for launcher due to speed issues.
2014-03-23 16:36:16 +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
Ivan Savenko
333a51a48a
Launcher now supports submods. See forum thread for details.
2014-03-20 17:06:25 +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
1aff899f5b
Hotfix 2
...
* fix loading range attribute
* fix config for massive spells
2014-03-17 14:39:28 +00:00
alexvins
8cc586ab7f
hotfix
2014-03-17 14:06:32 +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
Ivan Savenko
7f6f125b4c
First part of submods support.
...
- VCMI will load mods from Mods directory recursively. Submods must be
placed into additional Mods directory, e.g.
<data dir>/Mods/<mod name>/Mods/<submod name>
- submods will be loaded only if their parent mod was enabled
- submods namespace for objects will be "<parent mod ID>.<submod ID>"
- TODO: Launcher is not aware of submods yet (seems to be working but
may behave incorrectly)
2014-03-15 10:57:34 +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
alexvins
9f01a92f4c
fix crash in jsonschema in case of invalid typename
2014-03-10 15:58:13 +00:00
DjWarmonger
1d6e265e34
- Fixed special spells spawning in Pyramid
...
- Allowed new spells to spawn in Pyramid
2014-03-09 12:33:26 +00:00
DjWarmonger
0347c61dd2
All new spells will be possible to spawn in town magic guilds.
2014-03-09 09:37:20 +00:00
alexvins
c959fdcce0
SpellHandler: cleanup, formatting, simplification.
2014-03-08 23:18:51 +00:00
Michał W. Urbańczyk
7d1e54baa7
Fixed compilation with MSVC.
2014-03-08 19:02:47 +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
afcb7072eb
Implemented #1379
...
+ added new flag for special spells. Special spells can be obtained only with BONUS::SPELL.
* made Titans` thunder special.
2014-03-07 16:10:20 +00:00
alexvins
33935ceb67
cmake/msvc project updates. untested.
2014-03-07 13:23:30 +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