1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
Commit Graph

140 Commits

Author SHA1 Message Date
mateuszb
86dc9386d6 * refactoring, including a generic solution for IDs 2013-02-10 23:24:57 +00:00
mateuszb
f1c78e3260 * creature ID refactoring
* double week creatures are configurable now
2013-02-07 17:34:50 +00:00
mateuszb
3958364884 * a bit more work on campaigns; hero crossover still buggy 2013-02-06 10:16:44 +00:00
DjWarmonger
1ef205e5f1 Various tweaks / enchancements to bonus mechanics
- Added CREATURE_SPELL_POWER for commanders
- Added spell modifiers to various spells: Hypnotize (Astral), Firewall (Luna), Landmine 
- Fixed ENEMY_DEFENCE_REDUCTION, GENERAL_ATTACK_REDUCTION
- Extended usefulness of ONLY_DISTANCE_FIGHT, ONLY_MELEE_FIGHT ranges
2013-02-06 08:02:46 +00:00
mateuszb
ba3075317f * proper bool serialization
* refactoring towards more enums/typedefs
2013-02-02 19:28:39 +00:00
mateuszb
c4e03ef0de * enum serialization/deserialization (si32 as basetype ought to be enough for anybody)
* some fields in classes refactored to use appropriate enums (not yet finished)
2013-02-01 22:04:25 +00:00
DjWarmonger
fff7909958 - Fix for hero specialties (creature type limiters)
- Improved handling of new heroes / arts, check forum for fresh mod packages :)
2013-01-20 16:31:18 +00:00
Michał W. Urbańczyk
0e826915ed Fixed #1176. 2013-01-20 12:06:18 +00:00
DjWarmonger
79062eb15c - Parsing hero specialty is working (though complicated)
- Some obvious fixed for limiters, more work needed
2013-01-19 17:38:37 +00:00
DjWarmonger
97db289d3c Parsing for CREATURE_TYPE_LIMITER 2013-01-18 11:49:15 +00:00
DjWarmonger
ce15eb37c2 - Fixed serialization of limiters
- Hero can now can have several separate specialty nodes
- Fixed typo (speciality->specialty)
- Fixed several crashes related to commanders
- Improvements to specialty handling, bugfixes and temporary solutions for upcoming hero specialties in mods
2013-01-17 18:15:00 +00:00
DjWarmonger
d7c9377843 - Parsing propagators and limiters
- Experimental support for chaining limiters
- Added missing abilities, propagators and limiters to artifacts
- Sketch of Calculator for bonuses, ignore it for now
2013-01-16 13:02:01 +00:00
Ivan Savenko
ffe8b99369 - reorganized hero classes
- artifact iconIndex should work
- new file with hardcoded string constants: lib/StringConstants.h

Note: some minor bugs, will fix soon:
- slow to open hero window
- hero adventure map images serialization is broken\incorrect
2012-12-14 15:32:53 +00:00
DjWarmonger
62a281a665 Complete parsing for new Artifacts. iconIndex needs to be handled.
Otherwise, they are ready for test.
2012-12-13 14:27:33 +00:00
DjWarmonger
71cbde7bbc Bonus limiters are now implemented using Decorator design pattern, which allows to chain them. 2012-12-13 10:49:12 +00:00
DjWarmonger
ca9033d0e4 - Support for "Enchanted" WoG ability.
- Precision will not be cast on non-shooters
2012-12-01 18:30:03 +00:00
mateuszb
652ea4036e * artifact bonuses are read from config file now
* removed two commented-out methods
2012-10-03 18:11:19 +00:00
mateuszb
af133ae758 * experimental support for bonus limiter/propagator loading from json (not turned on yet) 2012-09-27 16:48:46 +00:00
mateuszb
59fcc15254 * last revision reverted, mysterious bug 2012-09-24 18:52:30 +00:00
mateuszb
55f1c47c16 * more TPlayerColor/TResource 2012-09-24 17:00:18 +00:00
Michał W. Urbańczyk
62e63d45b1 Work in progress on BattleAI. Related changes:
* battle AIs receive ptr to CBattleCallback (not sure why it was CPlayerBattleCallback, likely mistake)
* reworked some battle callback methods to be more generic and able to handle some hypothetic scenarios
* for testing purposes in duel mode the first AI will be taken fro mconfig and the second will remain stupid ai
* minor changes
2012-09-20 16:55:21 +00:00
alexvins
369f0ae9c6 [PLATFORM] MinGW support added
* disabled features unsupported by MinGW
* fixed issues with DLL_LINKAGE
! BOOST_THREAD_VERSION in now 3 workaround for existing code added, consider refactoring.
* some small tweaks ("-fpedantic" warnings)
2012-09-15 19:16:16 +00:00
Michał W. Urbańczyk
38b6435ee4 Shackles of War implementation uses bonus system propagation instead of looking into enemy hero. Silences some warnings. 2012-08-29 15:27:24 +00:00
Michał W. Urbańczyk
d390113c23 * New files for lib: CBattleCallback.cpp and CBattleCallback.h
* Updated MSVC project files
* Filesystem: My version of .SND archive does not have \0 after WAV extension. Fixed (though hardcoded 3-char extension length).
* New bonus types: BLOCK_MAGIC_ABOVE for blocking casting spells above given level and BLOCK_ALL_MAGIC for blocking all magic.
* Heavy rewrite of battle callbacks. Fixed some minor bugs. Code reusage between lib/client/server (removed proxy calls). Better access control and support for various perspectives.
* Fixed #1031
* Fixed Orb of Inhibition and Recanter's Cloak (they were incorrectly implemented). Fixed #97.
* Fleeing hero won't lose artifacts. Spellbook won't be captured. Fixed #980.
* Fixed crash when attacking stack dies before counterattack (ie. because of Fire Shield)
* Server does some basic checks if action requests during battle are valid
* Minor stuff.
2012-08-26 09:07:48 +00:00
DjWarmonger
d56e7c568a Added full parser for Bonus structure, as described in http://wiki.vcmi.eu/index.php?title=Bonus_Format
Untested.
Limiters / propagators are not yet supported.
2012-08-23 18:46:43 +00:00
DjWarmonger
cf45239332 Fixed #1035.
Support for commander artifacts that accumulate bonus after battle.
2012-07-16 16:18:02 +00:00
Ivan Savenko
faaf799d95 - fixed some extra warnings. Mostly harmless.
NOTE: Please check changes in BattleState.cpp and GameHandler.cpp for possible bugs
2012-05-28 19:29:32 +00:00
DjWarmonger
9c9301a495 Various fixes. 2012-04-22 19:56:03 +00:00
DjWarmonger
96d198758c - More commanders
- Improved finding closest tiles on battlefield
2012-04-22 17:38:36 +00:00
DjWarmonger
81e74f8c33 - Config settings & parsing for Commanders.
- Fix for Regeneration icon
2012-04-22 13:28:46 +00:00
Michał W. Urbańczyk
722ec55384 Redid stack artifacts. Broken save compatibility. Added serializer support for boost::variant and sending CStackInstace* over network by implicitly passing IDs. Moved seeds and checksum to StartInfo. Various minor changes. 2012-04-14 02:20:22 +00:00
DjWarmonger
038d105bcc - first sketch of Commanders
- accumulateBonus should make mechanics simpler
2012-04-04 17:41:55 +00:00
Michał W. Urbańczyk
d0e259864e * Replaced boost::shared_ptr with std::shared_ptr.
* Brought shared_ptr and unique_ptr and their factories (make_shared, make_unique) to the global scope. 
* Removed excessive usage of shared_ptr in bonus system interface. 
* Fixed bonus system limiters/caching interactions. That covers #823, #859 and a number of rare edge-cases. 
* Implemented multiple-step limiters applying, fixing hasAnotherBonusLimiter  and allowing transitional dependencies between bonuses. 
* Bonus system should be slightly faster, since we cache limited bonuses. Some rare usages (limiting query against a foreign node) however can't use caching.
2012-03-06 16:59:55 +00:00
DjWarmonger
386ac80cf9 Fixed #855 & 861. Unsigned values were bad idea to prevent overflow. 2012-02-20 16:26:14 +00:00
DjWarmonger
329f39bb2a Fixed #837 2012-02-20 11:02:19 +00:00
DjWarmonger
855cebfe81 - MIND_IMMUNITY bonus replaces separate protectons from various spells
- Creature Window can handle descriptions of spellcasting abilities
2012-01-27 07:25:29 +00:00
DjWarmonger
1cbd7e94e4 - Extended cap or removed sign for some values that may potentially overflow
- Fixed #851
2012-01-26 16:48:53 +00:00
beegee1
7f04ed990b Major refactoring. First part: BattleInterface
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
DjWarmonger
10fce0025a Support for wall penalty & No Wall Penalty ability.
All creature abilities should now be more or less working.
2011-10-20 17:41:40 +00:00
DjWarmonger
5e40d3da72 Support for Enchanter ability. 2011-10-09 07:20:23 +00:00
DjWarmonger
f4fc77ccb8 Creature spells are now functional.
It includes Master Genie, Archangel, Faerie Dragon & Elementals
2011-10-08 09:11:36 +00:00
DjWarmonger
fa6bddcad5 A bunch of mechanics & refactorings. 2011-10-03 19:29:36 +00:00
Frank Zago
c4b8039c1e Added a missing rturn in CGameHandler::isAllowedExchangeForQuery. Fixed several typos. 2011-09-24 01:15:36 +00:00
Michał W. Urbańczyk
9621cbcaa7 * fixed crash on calculating dmg dealt by stack under Curse
* fixed crash on sea battles (obstacles data got corrupted during conversion)
* fixed crash when StupidAI had a catapult
* minor fixes and refactorings (typename for bonus list under shared ptr)
2011-09-06 13:59:26 +00:00
Michał W. Urbańczyk
18444fc72f Rewritten code handling growth to eliminate duplication and make it conformant to OH3 mechanics. Proper support for Statue of Legion.
Displaying shield over minimap during AI turn.
2011-08-26 20:32:05 +00:00
DjWarmonger
16e7241fbd Support for WoG's Defense bonus. 2011-07-16 16:40:38 +00:00
beegee1
62c43451ef * Updated bonus caching -> faster in particular cases, operations by limiter objects aren't cached 2011-07-16 13:57:25 +00:00
DjWarmonger
79a453f442 Support for WoG "cast before attack" bonus. Minor fixes. 2011-07-16 06:42:44 +00:00
Ivan Savenko
706510f12f - gcc compile fixes 2011-07-13 23:36:37 +00:00
beegee1
55e7959fd9 * Bonus system caching updated, partially rewritten, much more robust, thread-safe
* Adjusted projectile speed, trebuchet canon speed
2011-07-13 18:39:02 +00:00