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

228 Commits

Author SHA1 Message Date
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
9e0c9b4f49 Fixed #1042. Tweaks for Commander bonuses. 2012-08-20 16:10:50 +00:00
Ivan Savenko
e67f8afdd9 - removed multiple unused files
- config folder with all json files is used via new FS API
- fixed campaigns loading. Replaced "detect h3m starts" heuristics with CCompessedStream::getNextBlock()
2012-08-02 11:03:26 +00:00
Ivan Savenko
50e8bc1704 - build system update
- compile fix for quests (vector can't be used to store const data)
- fixed several "unitialized" warnings
2012-07-06 20:19:54 +00:00
Ivan Savenko
47945383da gcc-4.5 compatibility 2012-06-23 17:19:50 +00:00
DjWarmonger
4d62525ff7 - Restored missing code for BattleInfo::getAvaliableHex - Elementals will now be placed correctly
- Fixes for BattleHex::getDistance returning 0 for adjacent hexes
- All stacks will now be placed after obstacles (fixes #1004)
- Removed unused code from ArtHandler
2012-06-16 14:25:39 +00:00
Michał W. Urbańczyk
84630a0984 Fixed #993, tent code cleanups. 2012-06-10 13:07:08 +00:00
DjWarmonger
cdb55500f3 Fixed #979 2012-06-09 19:24:04 +00:00
Michał W. Urbańczyk
247fabc3a6 Seems to be actually a missing return and redundant check. 2012-05-29 23:22:28 +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
Ivan Savenko
49495c9caf - possibly fixed #966 and #958
- fixed crash on shutdown 
- fixed compile issue #973
2012-05-25 11:49:56 +00:00
DjWarmonger
18e53a1717 - Fixed a scenario when AI could visit the town without picking troops, resulting in a lock
- Added ench0's patch for creature range tooltip (#948)
2012-05-22 10:15:16 +00:00
DjWarmonger
d34cf90bf7 Support for Chain Lightning.
Fixed getClosestTile function.
2012-05-20 11:40:23 +00:00
Michał W. Urbańczyk
d168f3eac2 * Implemented Moat functionality during siege (stops movement and deals dmg)
* Mostly implemented battle spells:
 - Fire Wall
 - Force Field
 - Land Mine
 - Quicksands
2012-05-18 20:50:16 +00:00
DjWarmonger
ee2768ab07 - Some work for commanders
- New creature window - visit forum for package with necessary graphics: http://forum.vcmi.eu/viewtopic.php?p=6908#6908
- More AI optimizations - heroes will be processed starting from the fastest one.
- AI will check is GATHER_ARMY object is reachable
2012-05-07 12:54:22 +00:00
Michał W. Urbańczyk
5449546447 Advanced work on support for Quicksand and Land Mine spells. 2012-05-04 21:16:39 +00:00
Ivan Savenko
d479341a5a - gcc compile and warning fixes 2012-04-30 12:13:36 +00:00
DjWarmonger
25bdcd3cab - Fixed wrong creature teleported
- Support for Sacrifice
2012-04-28 19:40:27 +00:00
DjWarmonger
82f3bc8135 - Commanders will now be properly intialized
- Commanders show in the battle
2012-04-28 11:41:20 +00:00
Michał W. Urbańczyk
482051eb17 Tweaks for obstacles. 2012-04-24 05:16:04 +00:00
Michał W. Urbańczyk
7dc0d6878e Rewritten battle obstacles. New file for lib: CObstacleInstance.cpp.
Now obstacles should be placed exactly like they were in OH3. 
All problems with displaying obstacles in battlefield should be gone. They should be now matched to the single pixel. 
If there are still some discrepancies, please report them.
2012-04-23 19:56:37 +00:00
DjWarmonger
96d198758c - More commanders
- Improved finding closest tiles on battlefield
2012-04-22 17:38:36 +00:00
Michał W. Urbańczyk
b874295b3a Really fixed #918. 2012-04-08 01:43:40 +00:00
Michał W. Urbańczyk
69da179abb Fixed #918. 2012-04-08 01:26:33 +00:00
Michał W. Urbańczyk
c61f536d8b * fixed remaining parts of #760
* it's possible to switch active creature during tacts phase by clicking on stack
* a few minor fixes after handleHex rewrite
2012-04-02 23:23:14 +00:00
Michał W. Urbańczyk
1eeebdee10 Fixed #914. 2012-04-01 12:35:33 +00:00
Michał W. Urbańczyk
a9af0da0ab Rewritten handling mouse movement over hex and l-clicking hex into one procedure. That way the tooltip and cursor are always accurate, because they're set by the same routing that selects action. Having that logic duplicated in two methods was unmaintainable. [though the new one is still monstrous...] By the way fixed numerous issues, including:
* #785 and parts of #760
* first aid tent can heal only creatures that suffered damage
* war machines can't be healed by tent
* creatures casting spells won't try to cast them during tactic phase
* console tooltips for first aid tent
* console tooltips for teleport spell
* cursor is reset to pointer when action is requested
* fixed a few other missing or wrong tooltips/cursors

Implemented opening creature window by l-clicking on stack. Master Genie's spell is picked by server, not client.
Minor changes.
2012-03-30 21:36:07 +00:00
Michał W. Urbańczyk
3cf4ebc163 Little more work on #760:
* no tactics in creature banks
* no spellcasting during tactics phase
2012-03-28 21:54:43 +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
18b1b83c8a Fixed creatures casting aimed spells at dead stacks. 2012-02-29 13:47:57 +00:00
Michał W. Urbańczyk
f2642cb62c Added VCAI and EmptyAI to the VS solution. Removed from it GeniusAI.
Fixed #329, #884, #885.
2012-02-29 01:31:48 +00:00
Michał W. Urbańczyk
d9a78ff1ce * fixed #871
* dead stacks won't be also shaded as possible targets
2012-02-22 14:31:53 +00:00
DjWarmonger
329f39bb2a Fixed #837 2012-02-20 11:02:19 +00:00
DjWarmonger
5e14d17ed3 Fixes for r2543. 2012-02-20 09:50:49 +00:00
DjWarmonger
444b59d478 1. Fixed #843
2. Refactoring for battle console hoover texts
3. Clone should work only for creatures of certain tier. However, ALL creature immunities stopped working in the meantime. Looking for an earlier bug.
2012-02-20 08:19:03 +00:00
DjWarmonger
5c86d32903 Cloned stack dissapear when killed.
Fixed #864
2012-02-18 17:39:47 +00:00
Michał W. Urbańczyk
4baf4e13ed * fixed #857 and #858
* fixed crash when AI attacked player before his first turn
* fixed various crashes when mass-effect spells affected town turrets in sieges
* some refactoring around spell positiveness
2012-02-16 21:19:07 +00:00
DjWarmonger
c724092028 Partial support for Clone spell. 2012-02-10 13:13:24 +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
Michał W. Urbańczyk
046e54563c * fixed project files for RD configuration
* fixed crash when creature is casting Hypnosis (ie. exped Vampire Lords)
* fixed crash when creature is casting Cure before attack (ie. exped Unicorns)
* fixed crash when creature is summoning elemental (TODO fix it)
* fixed crash when doing a bonus system operation with a hero liberated from prison (ie. entering town or battle)
* fixed deadlock when StupidAI tried to assault the turrets
* fixed never ending siege when StupidAI has to use catapult (no more deadlocks on AI-AI siege)
* fixed deadlock when a hero received a level during another player's turn (ie. when he successfully defended)
* AI can win the game by defeating all enemies if there is a specific victory condition applying only to human players
* added options to help testing adventure map AI (--onlyAI, --autoSkip and --oneGoodAI).
* many minor changes
2012-01-03 01:55:26 +00:00
beegee1
156aa6e4d9 * Updated class - file - handling
* Renamed color constants
* Renamed class AdventureMapButton to CAdventureMapButton
* Moved basic controls like CTextBox from GuiClasses to CIntObjectClasses
* Moved new creature window from GuiClasses to CCreatureWindow
2011-12-22 13:05:19 +00:00
beegee1
2f5d6f2684 * CHexField renamed to CBattleHex
* CHexFieldControl renamed to CClickableHex
* CCreatureAnimation.cpp/.h moved to BattleInterface/CCreatureAnimation.cpp/.h
* Removed unused project files
* Added VCMI_client filters file for VS 2010
* Gathered common parts of StdInc.h in Global.h
* Boost.Spirit has been included in PCH for ERM project
* StopWatch renamed to CStopWatch
* GuiBase.cpp split up in UIFramework/...
2011-12-17 18:59:59 +00:00
beegee1
7f04ed990b Major refactoring. First part: BattleInterface
Introduction of pre compiled headers,...
2011-12-13 21:23:17 +00:00
Ivan Savenko
29f42aa873 - fixed #834
- fixed crash at campaigns loading
- minor fixes
2011-11-25 19:41:23 +00:00
DjWarmonger
2e0ca6d162 Cleaned some code. 2011-11-13 09:29:22 +00:00
DjWarmonger
9b24ec0e81 Fixed #745 and #830. 2011-11-08 08:54:32 +00:00
DjWarmonger
c448b61976 Fixed #833 2011-11-06 17:39:49 +00:00
DjWarmonger
1e45674a7c Fixed #832. War machines will now be immune to a number of effects. 2011-10-29 11:12:30 +00:00
DjWarmonger
57216eea44 Console texts for creature casting spells.
Fixes related to war machines in battle.
2011-10-22 07:05:57 +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
bdb6db2ab7 Support for Aura of Magic Resistance. 2011-10-20 11:03:04 +00:00
DjWarmonger
95f23cf20f Support for Bind ability. 2011-10-17 08:24:51 +00:00
yupsi
4c2bbad18e Fixed #746 (2-hex units on the left edge of combat field). 2011-10-16 20:19:18 +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
9a1460c2e0 Handling of cursor for creatures casting spells.
Lots of refactoring.
2011-10-08 06:59:36 +00:00
Frank Zago
16c23bbf4e Fixed one bad condition; and a compile fix. 2011-10-06 00:27:27 +00:00
DjWarmonger
8c2dd9fdce More mechanics for creature spells. 2011-10-04 13:12:29 +00:00
DjWarmonger
fa6bddcad5 A bunch of mechanics & refactorings. 2011-10-03 19:29:36 +00:00
DjWarmonger
07b8f87fb7 Partial support for Daemon Summoning.
It freezes for unknown reason, but still.

Minor fixes.
2011-10-02 07:16:34 +00:00
DjWarmonger
6fdb984799 Lots of refactoring & work for creature spells.
No new features yet, but summon elementals now work properly again.
2011-10-01 19:56:54 +00:00
Ivan Savenko
d113517db4 - fixed #108, #798, #810
- fixed several gcc warnings
- some work on JSON (const char* as input, no crash on missing value)
2011-09-23 15:58:18 +00:00
Frank Zago
4dedfcabd1 Compile fix. 2011-09-13 01:45:28 +00:00
DjWarmonger
e9991f7932 Fixed #797. Minor tweaks. 2011-09-10 15:06:48 +00:00
DjWarmonger
899aeeb748 New feature: All tiles affected by multi-hex attack will be highlighted when attack is possible. 2011-09-10 13:04:20 +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
DjWarmonger
5fff82a3d2 Fix for #792 2011-09-05 18:12:46 +00:00
Frank Zago
00adba18c9 Created battleStartpos.json from battleStartpos.txt. 2011-09-03 19:25:37 +00:00
Michał W. Urbańczyk
20a53b04fd Removed object recycling that was causing #796. Fixed text nr typo.
Corrected json include in client/Client.cpp.
2011-09-01 01:40:46 +00:00
DjWarmonger
b609479496 Support for Magic Mirror spell. 2011-07-16 08:28:01 +00:00
DjWarmonger
92006b53f1 Fixed interface freezes for some mass-target spells.
How comes no one has reported it before?
2011-07-15 16:41:43 +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
DjWarmonger
036ad1233f fixes for Phoenix. Its animation will now be restored to Alive. 2011-07-10 08:22:20 +00:00
Frank Zago
9c3a10b2c7 Fixed a bug in phoenix code. Fixed a couple warnings. 2011-07-09 22:42:39 +00:00
DjWarmonger
5269e845fd handling of Rebirth ability for Phoenix.
However, I've got no idea how to restore its animation to alive state.
2011-07-08 14:54:20 +00:00
DjWarmonger
1bf9bb4d94 Flexible handling of creature spell power. 2011-07-08 13:17:05 +00:00
DjWarmonger
8102fd4cf0 Support for Death Blow ability. 2011-07-06 17:00:45 +00:00
DjWarmonger
08b7d0db17 All multi-hex attacks and shots should now be fully functional. 2011-07-05 06:07:36 +00:00
DjWarmonger
e95ae22061 Implemented Dragon Breath, Attack All Around & Three-Headed Attack.
Dragon Breath does not yet work correctly for all double-wide stacks, though.
2011-07-04 19:34:49 +00:00
mateuszb
aac1c0b4e7 * cleaner code is better :) 2011-07-03 19:10:36 +00:00
DjWarmonger
57a36e77f3 Improvement for multiple-hex effects.
TODO: Attacker must know exact attacked tile, not only the stack.
2011-07-03 05:55:57 +00:00
DjWarmonger
51943e5f1e Partial support for Death Cloud & Magog's Fire Ball.
Lots of refactoring is needed to handle this and multiple-target attacks.
2011-07-02 16:49:22 +00:00
DjWarmonger
9ca5d9048a Fixed total spell immunity granted by 2212.
Improvements for Life Drain.
2011-06-25 15:05:01 +00:00
beegee1
5fdb5aa494 * Improved battle and bonus system performance (significantly faster in debug build, tip: use vs 2008, turn of hex field presentation)
* Implemented caching for the bonus system
2011-06-25 13:53:15 +00:00
DjWarmonger
e5c11385cd Fixed #293
Support for damage spell immunities.
2011-06-25 06:55:35 +00:00
DjWarmonger
bdce46ab60 Minor refactorings, fixes & improvements.
Moved CArtifactSet to ArtHandler. ObjectHandler is already too messed.
2011-06-24 17:43:02 +00:00
mateuszb
c71127809e * minor fixes for revision 2193 (no shooting penalty bonus wasn't needed indeed but was poorly removed)
* minor changes
2011-06-22 12:44:28 +00:00
DjWarmonger
e7bbfb615c Removed odd "no shoting penalty" bonus. It seems to be confused with No Distance Penalty. 2011-06-20 06:42:53 +00:00
DjWarmonger
825562a092 Fixed #538 2011-06-19 09:07:15 +00:00
DjWarmonger
c850ee6fe0 Fixed #180. Minor tweaks. 2011-06-18 15:43:28 +00:00
Frank Zago
ff49b852df Silenced several "warning: suggest parentheses around ‘&&’ within ‘||’": added some parenthesis, optimized a couple statments and fix a bug in another. 2011-05-30 19:20:14 +00:00
DjWarmonger
936005aa1c Correct, yet ugly handling of Magic Resistance. 2011-05-29 18:28:50 +00:00
DjWarmonger
7d56db6fb3 Fixed #597 once more. 2011-05-29 13:34:26 +00:00
Michał W. Urbańczyk
528f0363a1 Fixed crash after a battle when resurrection was cast.
[However the spell still is not implemented correctly... :/ ]
2011-05-25 20:44:18 +00:00
beegee1
431064cbf9 * Fixed #532 -> Catapult shoots now after keep/upper/lower tower
* Fixed turret projectile bug
2011-05-18 17:51:10 +00:00
DjWarmonger
bc114a89f4 Partial support for immunities & receptive ability.
TODO: Immunity to direct damage spells.
2011-05-13 17:51:12 +00:00
DjWarmonger
515ab7e7c1 Support for Acid Breath (both effects are now separate).
Minor fixes.
2011-05-13 09:02:16 +00:00
DjWarmonger
a4d845688a Support for Poison, Age, Disease
Partial support for Stone Gaze, Paralyze, Mana drain
Partial fix for #134 - animation triggers only for our own stacks, not enemy's
Lots of tweaks & fixes.
2011-04-25 09:03:13 +00:00
DjWarmonger
7591d06b05 Support for Death Stare.
Some tweaks are still needed. Level 0 spell-like abilities won't work correctly.
2011-04-23 17:10:54 +00:00
DjWarmonger
7e9033c44f Fixed #668 and #718.
Hero is now properly attached to his special.

Compile fix for ERM Parser.
2011-04-23 09:57:51 +00:00
DjWarmonger
3c5a0fd4ce Creatures now use SHOTS Bonus to express their total ammo count. Support for "additional shots" exp premy. 2011-04-12 08:59:18 +00:00
DjWarmonger
043700f310 Fixes for Hate ability, minor tweaks. 2011-03-06 14:22:54 +00:00
Michał W. Urbańczyk
7dbf105f6e Surrendering and related artifacts (Statesman's Medal,
Diplomat's Ring, Ambassador's Sash).
2011-03-05 16:38:22 +00:00
Michał W. Urbańczyk
222bf004b9 Fixed #679 and #681. 2011-03-01 13:54:48 +00:00
Michał W. Urbańczyk
aaf3729367 War machines won't be present at creature banks. 2011-03-01 10:28:31 +00:00
Michał W. Urbańczyk
c5930893fd Fixed #682. 2011-03-01 10:19:05 +00:00
Ivan Savenko
a2f512813f - gcc compile fixes
- fixed locale issue
- Makefiles for StupidAI
- fix for #671 (not tested)
- linux readme update, including #598
2011-02-28 15:14:26 +00:00
mateuszb
1dd05788c9 * fixed #53 2011-02-26 17:32:56 +00:00
mateuszb
ab4418917a * artillery skill fixed 2011-02-24 15:33:03 +00:00
mateuszb
6db7f1d610 * minor improvements in spell immunity handling 2011-02-22 13:44:34 +00:00
mateuszb
b4edd10e6c * beegee's comments patch
* very minor changes
2011-02-22 11:52:36 +00:00
mateuszb
1458cf64c2 * fixed bug 298
* fixed INDEPENDENT_MIN bonus value type
* minor changes
2011-02-21 16:53:23 +00:00
mateuszb
43468e16e1 * bug 97 fixed
* better handling of BLOCK_SPELLS_ABOVE_LEVEL bonus
2011-02-21 13:27:31 +00:00
Michał W. Urbańczyk
4c9edd3f06 Many fixes around bonus system. Some basic propagation mechanism (not clever but works). 2011-02-21 04:13:00 +00:00
mateuszb
519a4186de * fixed bugs 470 and 523
* minor improvements
2011-02-20 18:32:39 +00:00
mateuszb
4e631fc530 * fix for bug 573
* minor changes
2011-02-15 19:54:55 +00:00
Michał W. Urbańczyk
0c700f97cd A little progress with Eagle Eye and Tactics. 2011-02-13 22:46:04 +00:00
mateuszb
fcdc3f0bdd Various changes, including exprank limiter and development towards Tactics secondary skill support. 2011-02-12 16:12:48 +00:00
Michał W. Urbańczyk
ab20e024c0 Various fixes and improvements around kill hero and kill monster quests. A few minor unrelated fixes. 2011-02-11 12:27:38 +00:00
mateuszb
d630d88ac1 * some work towards fix of 537
* 338 seems to be fixed
2011-02-10 14:44:21 +00:00
mateuszb
8b8d06ac64 * fixed bug 257
* minor changes
2011-02-09 15:19:53 +00:00
mateuszb
824d2b52db * more or less fixed spells
* certain hero specialties are still broken
2011-01-20 19:57:12 +00:00
mateuszb
a9c98d2b8c #463 and #571 should be fixed now 2011-01-18 18:54:53 +00:00
Michał W. Urbańczyk
28550c85fd Merged Ivan's changes in trunk ( r1918 ) 2011-01-15 20:07:16 +00:00
mateuszb
56ec829049 * minor refactoring
* minor improvements in battle interface
2011-01-09 17:41:46 +00:00
Michał W. Urbańczyk
a53ec23556 Stupid AI is capable of winning / losing battle. 2011-01-08 18:33:40 +00:00
mateuszb
957f1764d7 * some progress in StupidAI
* refactoring of battle handling
WARNING: strange crash on entering battle
2011-01-07 10:48:31 +00:00
mateuszb
b3fd14b524 * splitted CGameState into general game state and battle game state
* added missing fields to serialize in CHero
2010-12-25 19:23:30 +00:00