AlexVinS
2c48c95c8d
Fix casualties calculation for commander
2016-03-01 04:06:32 +03:00
AlexVinS
f890037008
Fixes
2016-02-29 04:42:15 +03:00
AlexVinS
5df8d1cbd0
Update low level battle stacks accessor for ghost selection support.
2016-02-28 05:10:20 +03:00
AlexVinS
9036d39241
Do not remove battle stacks, make them ghosts instead.
...
* exclude ghost stacks from (hopefully all) get* results for now
2016-02-28 01:08:56 +03:00
AlexVinS
5d5ad99436
Rename DEAD_CLONE -> GHOST, as this will be possible for any stack
2016-02-28 00:13:34 +03:00
Arseniy Shestakov
f8c6751707
CGameHandler::endBattle: change town ownership when hero lost siege
2016-02-22 03:35:38 +03:00
ArseniyShestakov
c550484613
Merge pull request #181 from vcmi/feature/drawbridgeMechanics
...
Feature/drawbridge mechanics
2016-02-14 16:32:24 +03:00
Arseniy Shestakov
c5cfc8467f
Battles: change naming from drawbridge to gate for everything
...
This way code is shorter and cleaner while in future we may support towns with gate only.
2016-02-13 17:40:31 +03:00
Arseniy Shestakov
11dc428b1e
Battles: move hexes enum to GameConstants and fix wall position
...
Before we had hex 62 marked as destructible wall while actually it's must be 78.
2016-02-09 17:38:59 +03:00
Arseniy Shestakov
01b4d0ae01
Battles: better handling for walking double-wide creatures
...
Request opening of gate even if only second half of double-wide stack going to stop on it.
2016-02-09 15:41:37 +03:00
Arseniy Shestakov
a07761b608
Battles: readable identifiers enum for drawbridge and gate hexes
...
Dont like to locate them in BattleHex, but it's best place I can see so far.
2016-02-09 12:25:13 +03:00
Arseniy Shestakov
731de439eb
Battles: drawbridge support for double-hex flying creatures
2016-02-09 11:59:20 +03:00
Arseniy Shestakov
28aff78f2c
Battles: implement drawbridge support for flying creatures
2016-02-09 11:30:09 +03:00
Arseniy Shestakov
fbb34b8d04
Battles: always update drawbridge state after battle state changed
...
Now gate tower destruction will immidiately affect drawbridge state.
2016-02-09 10:59:33 +03:00
Arseniy Shestakov
47433919ab
Battles: handle drawbridge lowering from stack start position
2016-02-09 10:45:59 +03:00
Arseniy Shestakov
015a57f81c
Battles: more advanced drawbridge mechanics on server-side
...
Everything work as intended except starting point not included in path.
So we send BattleDrawbridgeStateChanged package when already standing on bridge hex.
2016-02-08 12:16:47 +03:00
ArseniyShestakov
890ae43f55
Merge pull request #180 from Zyx-2000/FileInfo
...
Refactored CFileInfo & ResourceID
2016-02-08 04:55:39 +03:00
ArseniyShestakov
7f68124b97
Merge pull request #136 from vcmi/issue/1372-2
...
issue/1372
2016-01-31 20:28:54 +03:00
Vadim Markovtsev
3926920103
Rename radious -> radius
...
There is no such English word, "radious"
Some files get new lines in the end - BSD sed bug + best practices
2016-01-31 18:01:58 +03:00
Vadim Markovtsev
918fbd8530
Refactor hero's mana regain
2016-01-30 13:51:07 +03:00
Vadim Markovtsev
22fc4fd3e9
Fix 2406 reset potentially available heroes
2016-01-30 10:02:33 +03:00
AlexVinS
16e0d18880
Added special slots for war machines and arrow towers
2016-01-30 00:53:53 +03:00
Arseniy Shestakov
57328bdc83
Battles: implement basic drawbridge mechanics
...
Movement to blocking hex 94 not yet properly handled as stack movement code need to be rewritten first.
Also gate destruction not immidiately affect drawbridge state.
2016-01-29 22:43:35 +03:00
AlexVinS
ba017c443d
Start from diff of pull request #124 from vcmi/issue/1372
2016-01-29 21:05:17 +03:00
Zyx-2000
c3e8c8bc1c
Merge branch 'develop' into FileInfo
2016-01-27 19:21:43 +01:00
Vadim Markovtsev
36eaa399e7
Add hardcodedFeature to switch winner's retreating with no troops
2016-01-27 16:42:17 +03:00
ArseniyShestakov
4483c45905
Merge pull request #167 from vmarkovtsev/issue/1569
...
Fix 1569 winning hero with no troops shall retreat
2016-01-27 11:48:22 +03:00
Vadim Markovtsev
7772b6de74
Fix 981 reset hero on hiring after retreat/surrender
2016-01-26 22:48:31 +03:00
Zyx-2000
70e3c81b9f
Replaced CFileInfo with more correct and efficient alternative
2016-01-26 14:51:38 +01:00
Vadim Markovtsev
6849ff846c
Fix memory corruption with a draw; race in setBattleResult()
2016-01-25 15:55:32 +03:00
Vadim Markovtsev
afa95312ba
Fix 2139 captured spell scroll descriptions
2016-01-25 08:49:26 +03:00
Vadim Markovtsev
7185890723
Fix double free in battleAfterLevelUp() in case of a draw
2016-01-24 01:31:39 +03:00
ArseniyShestakov
b19e082f37
Merge pull request #166 from vmarkovtsev/issue/1723
...
Fix 1723 quest crash on combined arts
2016-01-23 23:23:07 +03:00
Vadim Markovtsev
2a6a8cd433
Fix segfault when non-hero forces win
2016-01-23 19:42:56 +03:00
Vadim Markovtsev
9ffd0155e6
Fix 1810 suggest artifact assembly
2016-01-23 16:24:43 +03:00
Vadim Markovtsev
99992599db
Partially fix 1416 tavern hero rotation
2016-01-22 22:37:46 +03:00
Vadim Markovtsev
9dfef2186d
Fix 1569 winning hero with no troops shall retreat
2016-01-22 22:29:53 +03:00
Vadim Markovtsev
11bce2908d
Fix 1723 quest crash on combined arts
2016-01-22 12:56:25 +03:00
Arseniy Shestakov
d25372a397
Added vcmiglaurung cheat that add 5000 crystal dragons into each slot
2016-01-21 10:49:09 +03:00
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
6985e96f0d
CGameHandler::newTurn: use next day TurnInfo to set correct hero MP
...
This hotfix actually fix issue 2083, but in future we need to rework new turn code anyway. See issue 2356.
2015-12-25 11:09:06 +03:00
Arseniy Shestakov
6f5c52a229
Refactoring: use cleaner CCreatureSet::stacksCount everywhere
2015-12-24 21:30:57 +03:00
Ivan Savenko
a051a08a46
Merge remote-tracking branch 'origin/issue/2306' into develop
2015-12-18 22:21:11 +02:00
ArseniyShestakov
bf9ac7318a
CPathfinder: change cost calculation sequence for embark / disembark
...
With old embark cost calculation pathfinder may end up thinking that hero can embark/disembark while have less movement points than base movement cost is. Now hero would be only able to embark / disembark if we have enough movement points to step on that tile. This rule is also valid for situation when hero have Admiral's Hat as in H3 even if hero don't have embark penalty he still use move points for embark and disembark.
Problem was found as it's was causing infitite loop in AI. Server of course rejected attempt to embark with less than 100 movement points while pathfinder tell AI that it's can still embark with 93 movement points.
2015-12-15 20:08:52 +03:00
ArseniyShestakov
5aadc1ed6f
CasualtiesAfterBattle: dont remove catapult artifact. Fix 2346 issue
2015-12-10 13:31:03 +03:00
ArseniyShestakov
d900e9bec2
CGameHandler: fix hero removal code on player loss. Fix issue 2347
2015-12-10 12:43:55 +03:00
ArseniyShestakov
03e9dd3bab
Add hero gold cost to GameConstants
2015-12-07 00:13:58 +03:00
AlexVinS
0fab319c73
Merge remote-tracking branch 'remotes/origin/develop' into issue/2306
...
s reverts commit fa8a282696
.
Conflicts:
AI/VCAI/VCAI.cpp
Conflicts:
AI/VCAI/VCAI.cpp
client/windows/CAdvmapInterface.cpp
lib/CPathfinder.cpp
lib/CPathfinder.h
2015-12-05 12:56:12 +03:00
ArseniyShestakov
0a5e9c0fbe
Merge pull request #144 from vcmi/fix/teleportMultiExitPoints
...
Support for exit selection between multiple teleport exit points
2015-12-05 03:12:17 +03:00
Ivan Savenko
faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
ArseniyShestakov
2f9ca778b2
VCAI: add channel probing support for teleporters with multiple exits
2015-12-03 17:20:03 +03:00
ArseniyShestakov
f55bfe41d6
Digging: implement digging status on right click. Fix issue 401
...
This is also fix possibility to dig on some non-blockable objects like event.
2015-11-29 12:34:23 +03:00
ArseniyShestakov
a1fe2ebc44
Pathfinding: restore gamestate usage to avoid overhead
...
Also when possible pass TerrainTile pointers to getMovementCost instead of using getTile.
2015-11-21 14:31:30 +03:00
ArseniyShestakov
abc4ea272f
TurnInfo: store all bonuses and use TileInfo for everything
...
Currently this going to break ONE_WEEK bonuses because those don't work with CWillLastDays selector.
2015-11-12 14:30:29 +03:00
ArseniyShestakov
2ef9d7c3ec
Rename getCost back to getMovementCost
...
Initially wanter to name main class differently and back then getCost make sense.
Then renamed class to CPathfinderHelper, but forgot to rename function back.
2015-11-10 02:30:05 +03:00
ArseniyShestakov
b2e1ee5363
CGameState: move two pathfinding-related functions to CPathfinderHelper
...
Both getMovementCost and getNeighbours have nothing to do with gamestate.
2015-11-10 02:15:27 +03:00
ArseniyShestakov
d3c8ca7c1c
Pathfinding: implement duration checking for fly and water walking
...
Now pathfinder take into account different bonuses for different tuns. So if you only have FLYING_MOVEMENT bonus from Fly spell for one turn then pathfinder will only let you use air layer within one turn only.
That work for cost calculations too. Let's say you have two bonuses:
- FLYING_MOVEMENT with 20% penalty for next 2 turns
- FLYING_MOVEMENT with 40% penalty for 5 turns
Now pathfinder using correct penalty for each turn so movements in air layer going to be more expensive on 3-5 turns.
2015-11-09 19:57:26 +03:00
ArseniyShestakov
5106738160
Merge branch 'develop' into feature/pathfinderLayers
2015-11-09 19:20:13 +03:00
ArseniyShestakov
74198a537b
CGameHandler::setOwner: fix InfoWindow text on last town loss
2015-11-09 00:54:59 +03:00
AlexVinS
e645b46aed
Revert "Merge pull request #124 from vcmi/issue/1372"
...
This reverts commit da01af319b
, reversing
changes made to 8b6b4e2e0b
.
2015-11-07 11:35:02 +03:00
ArseniyShestakov
bd12989ad6
Artifacts: use ArtifactID instead of ints
2015-11-06 21:54:51 +03:00
ArseniyShestakov
62dc070c0a
moveHero: add transit validation and avoid embarking on transit
...
Hero shouldn't embark into boat when attempt to transit over air layer.
2015-11-05 10:50:47 +03:00
ArseniyShestakov
ac12a0735e
Plumbing on client and server to make flying actually work
2015-11-05 10:02:13 +03:00
AlexVinS
6a9dc78dcd
[WiP]Added some checks for RISE_DEMONS action.
2015-11-03 02:18:36 +03:00
AlexVinS
fbebbf39f3
Fix zero size stack summoned in case of basic resurrection.
2015-11-03 02:18:35 +03:00
AlexVinS
f6b9015324
Use constant for summoned creature slot
2015-11-03 02:18:34 +03:00
AlexVinS
c94bea51e3
Update army in case of summoned creatures
2015-11-03 02:18:33 +03:00
AlexVinS
b024237e8a
Remove stack instancies of removed stacks
2015-11-03 02:18:32 +03:00
AlexVinS
d46364c4c3
Merge branch 'develop' into issue/2306
...
Need to reapply changes to pathfiner
Conflicts:
AI/VCAI/VCAI.cpp
lib/CGameState.cpp
lib/CGameStateFwd.h
2015-11-01 01:49:57 +03:00
Vadim Markovtsev
fa8a282696
Fix pthread_mutex_lock abort() in requestActionASAP impl
2015-10-31 18:04:06 +03:00
DjWarmonger
17071c6ec8
Merge pull request #125 from ArseniyShestakov/newMovementSystem
...
Okay, time to merge this.
2015-10-31 13:56:22 +01:00
Vadim Markovtsev
68cc860133
Fix dynamic_cast on MacOSX in CQuery.cpp
2015-10-31 15:05:52 +03:00
ArseniyShestakov
a0a55974ea
Fix issue 2320. Town events for buildings should now work
2015-10-28 08:46:43 +03:00
DjWarmonger
c47c08aa01
Replaced iterators with auto & loop.
2015-10-25 07:07:01 +01:00
DjWarmonger
eb0af0096e
Fixed #2072 .
2015-10-24 18:16:57 +02:00
DjWarmonger
61692ba168
Possibly fixed #1583 and other issues concerning players capturing towns.
2015-10-24 18:03:00 +02:00
DjWarmonger
3c4f7ec126
Fixed #2311
2015-10-24 17:15:21 +02:00
DjWarmonger
641aa13526
Some fixes for previous commit.
2015-10-24 17:02:00 +02:00
DjWarmonger
716c324695
Don't give a turn to player who is about to lose (days without town).
2015-10-24 16:21:30 +02:00
DjWarmonger
abe88ea890
- Refactoring legacy code
...
- Some checks for #2311
2015-10-24 15:09:46 +02:00
ArseniyShestakov
fc6f62e633
getMovementCost: get rid of useless flying parameter
2015-10-19 07:27:00 +03:00
AlexVinS
b94432b4ba
Fixed http://bugs.vcmi.eu/view.php?id=2297
...
* allow banned spells by Tomes (XXX_SPELLS bonus), Spelbinders Hat (SPELLS_OF_LEVEL bonus)
* allow banned spells by cheat-code (now also SPELLS_OF_LEVEL bonus)
2015-10-13 13:16:46 +03:00
AlexVinS
f99bf099ca
Made player interface tolerant to active stack removal.
2015-10-06 03:46:35 +03:00
AlexVinS
d042b08682
Fix the SACRIFICE fix regression
...
(crach if stack die on counter attack)
2015-10-06 02:04:25 +03:00
AlexVinS
d1ec538d72
Fix server crash releated to active stack remove.
2015-10-05 21:09:00 +03:00
AlexVinS
57e5b768e8
Allow multiple destinations in BattleSpellCastParameters
2015-09-30 00:31:50 +03:00
AlexVinS
70d9be8447
Use ISpellCaster in battle callback
2015-09-29 17:26:52 +03:00
AlexVinS
36e154d9b9
Use ISpellCaster in getAffectedStacks
2015-09-29 17:26:50 +03:00
AlexVinS
a4d4851d80
Fix typo: casted->cast
2015-09-29 17:26:48 +03:00
AlexVinS
660203b436
Tweak BattleSpellCastParameters
2015-09-29 17:26:41 +03:00
AlexVinS
2b434111bf
More hero|creature casting unification
2015-09-29 17:26:40 +03:00
AlexVinS
e454649886
Use BattleSpellCastParameters for spell parameters override
2015-09-29 17:26:39 +03:00
AlexVinS
10318a3da3
Intoduce PASSIVE_CASTING mode for opening battle spells
...
* now at least one "caster" object is present
2015-09-29 17:26:39 +03:00
AlexVinS
6010bbe7ba
More correct usage of battleGetFightingHero
...
* this should fix "FIXME: battleGetFightingHero wrong argument!"
2015-09-29 17:26:38 +03:00
AlexVinS
873979a300
The only usage of secHero cast parameter is mana channeling - better to get it OTF
2015-09-29 17:26:33 +03:00
AlexVinS
46f99db8d7
Hide some spell mechnaics details
2015-09-29 17:26:32 +03:00
AlexVinS
2c3a607497
Tweak StacksHealedOrResurrected
...
* flags should be bool
2015-09-29 17:26:31 +03:00
AlexVinS
a1e06aa217
Unify LIFE_DRAIN and Tent healing with magic healing
2015-09-29 17:26:30 +03:00
AlexVinS
b4d73409b7
Fix random server crash after CLONE or SACRIFICE use
2015-09-15 04:58:32 +03:00
AlexVinS
e9c3bc9df6
Fix after rebase
2015-09-12 21:09:54 +03:00
AlexVinS
7776d7bbf7
rename BattleSpellCastParameters::caster
2015-09-12 21:09:54 +03:00
AlexVinS
e82dfb5a85
fixed mantiss 0002254
2015-09-04 18:08:25 +03:00
David Zéni
41293caf83
Fix bad formatting
2015-08-29 20:02:27 +02:00
David Zéni
b49fb7d07f
Refactor actions for Catapult
...
No target -> Pass
No player or no ballistics -> automatic action
Else -> manual action
2015-08-27 23:03:48 +02:00
David Zéni
f84e5cf8b3
When hero has ballistics and no target pass turn
2015-08-26 20:54:24 +02:00
AlexVinS
40d3bb40c3
Partial fix for mantiss #2237
2015-08-22 16:22:10 +03:00
DjWarmonger
c5691cbeb1
Compile fix - srsly?
2015-07-18 20:47:09 +02:00
AlexVinS
e27516a0b5
fix mantiss #2210
2015-06-21 21:27:58 +03:00
AlexVinS
f5c2e6d5e1
Style tweaks
2015-06-02 07:12:45 +03:00
AlexVinS
9eaa136c58
fix releasing obstacle pointer
2015-06-02 07:12:44 +03:00
AlexVinS
5226081f33
rewrite stack movement processing
2015-06-02 07:12:43 +03:00
AlexVinS
e45b6cfdda
fix mantiss 0001581
2015-04-13 17:27:47 +03:00
AlexVinS
20acdbbf3b
Fix wrong side for opening battle spells
2015-03-30 19:16:08 +03:00
AlexVinS
6dea40aa95
Do not damage immune creature by spell-created obstacle. This should fix 0001846
2015-03-29 16:50:23 +03:00
DjWarmonger
8820bc05a9
MSVS compiler doesn't allow default arguments for Lambdas.
2015-03-10 10:06:45 +01:00
DjWarmonger
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +01:00
ArseniyShestakov
3773859e9d
CGameHandler::moveHero allow transit, but for teleports only
2015-03-08 17:08:57 +03:00
ArseniyShestakov
21aaad6972
MoveHero: add transit movement option
...
Transit is new option for hero movement. If it passed for movement then hero can get get on tile without visiting of object on it.
Currently it's will be only allowed is object under destination is teleport.
2015-03-08 17:04:09 +03:00
ArseniyShestakov
25656aa586
Add showTeleportDialog everywhere except actual code for AI and player
...
Just like TeleportDialog it's based off showBlockingDialog, but as number of package is higher when possible showTeleportDialog will be after other dialogs handling code.
2015-03-08 16:52:50 +03:00
AlexVinS
685deddac1
Start spell-relatet files reorganisation
...
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
AlexVinS
08d4f7991e
Extract adventure spell mechanics
2015-02-26 08:39:39 +03:00
DjWarmonger
a736a863da
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-02-22 18:36:23 +01:00
DjWarmonger
6797c374ed
Additional check
2015-02-22 18:36:13 +01:00
ArseniyShestakov
445ded71a7
Movement: now hero will always ignore guards if visiting object that he staying on
...
This one is replicating original game behaviour and fixes issue 1990 and related to issue 2084.
Currently this is mainly caused problem with teleporters which lead to crash in AI due to unexcepted hero loss.
2015-02-22 20:12:49 +03:00
AlexVinS
aa5e9fc959
get rid of global debug macros.
2015-02-14 22:43:16 +03:00
DjWarmonger
a8ff08a562
Fixed #2012
2015-02-14 19:44:04 +01:00
DjWarmonger
84b2510aa4
Merge pull request #62 from vcmi/SpellsRefactoring4
...
OK
2014-12-26 08:46:29 +01:00
DjWarmonger
8c471f6359
Merge pull request #69 from ArseniyShestakov/artifactsImprovements
...
Thanks, looks great now.
2014-12-25 20:24:08 +01:00
DjWarmonger
5b8180e327
Cleaning logs.
2014-12-25 12:58:15 +01:00
ArseniyShestakov
4cb98e7e8d
Use isTradable and fix issue 1392
...
This change make it possible to sell spell scrolls in Artifacts Merchant.
2014-12-24 20:48:37 +03:00
ArseniyShestakov
937ef0227b
Use ArtifactID instead of int when possible
2014-12-24 18:49:12 +03:00
AlexVinS
eebf65e88f
Merge branch 'develop' into SpellsRefactoring4
2014-12-24 00:15:27 +03:00
DjWarmonger
c538370c5d
Players will be always able to see their owned heroes and other objects. Fixes #1959 .
2014-12-21 13:56:32 +01:00
AlexVinS
d94f15bdf4
Added configurable animation for SPELL_LIKE_ATTACK
2014-11-28 00:36:14 +03:00
AlexVinS
f4cf12d3f8
Fix a crash
2014-11-27 00:53:08 +03:00
AlexVinS
b31ed0e4ea
Use SetMana packet in battle
2014-11-26 13:30:55 +03:00
AlexVinS
ca5391cde6
Get rid of handleSpellCasting
2014-11-25 22:00:04 +03:00
AlexVinS
c67887ae58
Use spell mechanics clases in GameHandler
2014-11-25 18:16:14 +03:00
AlexVinS
f2bf3d7f7b
Added a way to obtain ID of newly added Stack
2014-11-25 12:26:32 +03:00
AlexVinS
f7ff61ce4f
Merge remote-tracking branch 'remotes/origin/develop' into SpellsRefactoring4
2014-11-24 12:41:17 +03:00
KroArtem
e73c60740c
corrected text in vcmibuilder, corrected errors and warnings from cppcheck
2014-11-16 20:48:29 +03:00
AlexVinS
a06dae1f96
Move getAffectedCreatures to CSpell. + more drafts
2014-11-13 04:53:25 +03:00
AlexVinS
d7800b834e
get rid of CBattleInfoCallback::calculateSpellDmg
2014-11-12 09:52:11 +03:00
AlexVinS
e4b726151d
get rid of CBattleInfoCallback::battleStackIsImmune
2014-11-12 09:20:20 +03:00
AlexVinS
ddf98a5920
+SpecialRisingSpellMechanics::isImmuneByStack
2014-11-12 08:34:43 +03:00
AlexVinS
66b022f93e
initializer lists part1
2014-10-02 19:43:46 +04:00
Ivan Savenko
aa0433228a
Fixed cheats - sendMesssage will also pass current object.
...
Workaround-ish but should work. Branch should be fixed now.
2014-09-21 20:35:53 +03:00
Ivan Savenko
6c0c03d74b
Refactoing of pathfinder <-> client/AI interaction to remove dependency on selected hero
...
- finished removal of server-side setSelection
- disabled some broken code (AI & cheats). TODO: fix
2014-09-21 16:42:08 +03:00
Ivan Savenko
78709e223b
Breaking things - trying to remove server-side knowledge of selected objects
2014-09-19 00:18:49 +03:00
DjWarmonger
36a7cff998
Cleaning error messages at access to players.
2014-09-17 11:03:53 +02:00