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