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
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
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
4e11d81673
CGWhirlpool: fix random exit chooser
2015-11-12 01:23:27 +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
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
7eebcb9d60
Artifacts: replace few more ints by ArtifactID
2015-11-07 11:46:58 +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
DjWarmonger
17071c6ec8
Merge pull request #125 from ArseniyShestakov/newMovementSystem
...
Okay, time to merge this.
2015-10-31 13:56:22 +01: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
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
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
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
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
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
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
f2605e059c
Fix 2042
2015-09-16 02:20:57 +03:00
AlexVinS
080244f30e
MAXED_SPELL bonus should only affect spell effects
...
* fixes 2146
2015-09-15 06:00:24 +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
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
9e7b459882
Partial solution to #2206
...
TODO: add serialized field that contains custom guard config
2015-06-05 11:28:14 +02:00
AlexVinS
fb707a6576
fix mantiss 2142
2015-04-01 00:28:21 +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
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
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
DjWarmonger
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +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
8f8d237d5d
Use isTeleportChannel callback functions to check teleport channel type
2015-03-09 02:13:40 +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
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
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
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
685deddac1
Start spell-relatet files reorganisation
...
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
DjWarmonger
ef4e199f15
Implemented "Quantity does not grow" for monsters ( #2094 )
2015-02-22 20:54: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
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
DjWarmonger
9f05f53e65
Corrected monster agressiveness #2034
2015-01-10 10:23:58 +01:00
DjWarmonger
84b2510aa4
Merge pull request #62 from vcmi/SpellsRefactoring4
...
OK
2014-12-26 08:46:29 +01:00
DjWarmonger
5271ca156b
Merge pull request #70 from vcmi/StackSplitting
...
Stack splitting
2014-12-25 19:59:02 +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
AlexVinS
eebf65e88f
Merge branch 'develop' into SpellsRefactoring4
2014-12-24 00:15:27 +03: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
DjWarmonger
a3a42ae144
Merge branch 'develop' of https://github.com/vcmi/vcmi into fuzzyFix
2014-12-19 14:21:44 +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
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
KroArtem
e73c60740c
corrected text in vcmibuilder, corrected errors and warnings from cppcheck
2014-11-16 20:48:29 +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
Patrick Simmons
436272f00c
Fix pathfinding bug.
2014-10-25 21:15:40 -04:00
AlexVinS
54453aee73
get rid of boost::assign
2014-10-04 00:34:13 +04:00
DjWarmonger
8e1e8abe90
Default constructors for Scholar, Pandora and Event.
2014-09-23 09:46:31 +02:00
DjWarmonger
5cb6eaa252
Fixed major RMG bug.
2014-09-21 20:57:42 +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
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
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
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
rhn
e9534603c2
Fixed sound on object pickup with dialog
2014-08-06 17:19:53 +02:00
beegee1
c1ac95b288
- fixed Clang compiler warnings
2014-08-04 20:36:00 +02:00
Ivan Savenko
0882201b17
Miscellaneous fixes to toggle buttons
2014-08-03 16:19:16 +03:00
rhn
aba3421e0a
Fixed: 0001854: Rewarding objects loose their state after game is reloaded (breaks savegames)
2014-07-29 15:28:58 +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
0763b9a758
- Implemented object per zone limit
...
- Various tweaks for Travis & repo
2014-07-15 22:33:51 +02:00
DjWarmonger
173111955e
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-07-15 12:27:59 +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
22d26db694
Correct placement of non-overlapping objects.
2014-07-08 20:13:51 +02:00
DjWarmonger
f65239b51f
- Added faction-specific dwellings
...
- Fixed generation of terrain-specific objects
2014-07-06 22:14:37 +02:00
DjWarmonger
0782557814
- Place all standard visitable objects
...
- Fixed some constructors
2014-07-05 19:36:12 +02:00
AlexVinS
195eae48ca
Merge branch 'develop' into SDL2
...
Conflicts:
client/CPlayerInterface.cpp
2014-07-02 17:15:12 +04:00