Laserlicht
b0b3b9bb84
fix castle replay
2024-02-28 22:26:53 +01:00
Ivan Savenko
7cf5e317a4
Merge pull request #3612 from IvanSavenko/demon_summon_fix
...
Fixes demon summoning
2024-02-13 16:05:13 +02:00
Ivan Savenko
ece3403fc7
Fixes demon summoning - sacrificed creatures no longer remain after
...
battle and included into casualties
2024-02-12 21:53:38 +02:00
Ivan Savenko
6db405167d
Clarified some (im)possible null dereferences
2024-02-12 13:05:30 +02:00
Ivan Savenko
a97d1d9377
Fix crash on broken ENCHANTED bonus
2024-02-05 21:07:01 +02:00
Laserlicht
e48e8e0f01
fix if attacked
2024-01-27 01:57:28 +01:00
Laserlicht
7f58333ef9
quick combat vs ai
2024-01-25 23:44:41 +01:00
Ivan Savenko
2a193effcc
Merge branch 'master' into 'develop'
2024-01-25 16:23:13 +02:00
Ivan Savenko
0c07384293
Refactoring of serialization versioning handling
...
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum
Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
24d25730ad
Changed checks for null with checks for hasValue
2024-01-20 16:41:10 +02:00
Ivan Savenko
6e629a6a5f
split getBonusLocalFirst into two distinct method:
...
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
a32ef673f7
Merge pull request #3482 from IvanSavenko/extend_hota_bonuses
...
Extend hota bonuses
2024-01-15 13:47:13 +02:00
Ivan Savenko
0d0d3d8c80
Renamed speed -> getMovementRange, remove misleading default parameter
2024-01-14 17:14:36 +02:00
Ivan Savenko
5565b55bb0
Fixed handling of SPELL_AFTER_ATTACK without addInfo field
2024-01-14 17:13:33 +02:00
Ivan Savenko
fc6a9924ee
FIRST_STRIKE now supports ranged / melee subtypes, BLOCKS_RETALIATION
...
will properly block FIRST_STRIKE
2024-01-13 16:54:06 +02:00
Ivan Savenko
bb670cfb82
Merged accurate shot bonus into death stare bonus
2024-01-13 15:55:07 +02:00
Ivan Savenko
f6e0f46040
Merge pull request #3467 from dydzio0614/hota-fixes
...
Fix HotA creature abilities (add bonuses allowing implementing them)
2024-01-12 21:55:18 +02:00
M
9ee526d202
Fixes from code review
2024-01-11 21:10:22 +01:00
M
3a83de5e70
Simplified code a bit
2024-01-10 23:56:32 +01:00
M
bf7c6a4c3f
Extract method for death stare / accurate shot, fix translation key
2024-01-10 23:23:10 +01:00
Dydzio
3c95f92c59
Update documentation
2024-01-07 21:22:10 +01:00
Dydzio
5dac8e2bbf
Extract spell layers processing into separate method
2024-01-07 21:05:55 +01:00
Dydzio
310802ed87
Second version of spell layers bonus extension
2024-01-07 20:48:03 +01:00
Dydzio
bb925e4cb0
First version of sea witch / sorceress ability
2024-01-07 19:27:32 +01:00
Dydzio
b32c7beb05
Make one common handler for death stare and accurate shot
2024-01-06 18:26:13 +01:00
Ivan Savenko
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
...
[1.4.3] Bugfixing
2024-01-06 13:06:07 +02:00
Ivan Savenko
c828ccf5f4
Fix transmutation bonus activation
2024-01-05 19:39:38 +02:00
Ivan Savenko
296310e32e
Fix check for opponent side for mana drain
2024-01-05 17:56:00 +02:00
Ivan Savenko
b5307948c5
Fix crash on summon guardians ability
2024-01-05 15:47:25 +02:00
Ivan Savenko
edb2ecd751
Fix possible overflow errors on leveling up beyond int64_t limit
...
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Ivan Savenko
ceea341bb0
Fix crash on attempt to dereference invalid subtype in bonus
2024-01-04 23:54:35 +02:00
Dydzio
7283a4861e
Initial version of ACCURATE_SHOT implementation
2024-01-04 22:27:51 +01:00
Dydzio
7cf7543747
Configurable ferocity bonus
2024-01-01 21:16:38 +01:00
Dydzio
898b8f3c71
Add initial version of Ferocity ability (for Ayssids)
2024-01-01 19:58:32 +01:00
Ivan Savenko
85de3143ff
Fixed Genie spellcasting logic to account for spell immunities
2023-12-24 01:13:19 +02:00
Ivan Savenko
a7c838036d
Workaround to avoid crash on invalid bonus
2023-12-10 16:32:43 +02:00
Ivan Savenko
9a52131c82
Use battle side instead of player color for fire shield damage formula
2023-12-09 18:48:53 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
Ivan Savenko
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
...
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
SoundSSGood
7e6ab5e87b
fix test & fix build & suggested changes
2023-10-29 17:46:14 +02:00
SoundSSGood
3c5527a222
ArtifactLocation now use ID for artHolder identification part3
2023-10-29 17:46:13 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
Alexander Wilms
5cbc75d3b7
Merge remote-tracking branch 'upstream/develop' into develop
2023-10-29 13:35:37 +00:00
Ivan Savenko
e2cffd4c7b
Merge pull request #3118 from rilian-la-te/glamor-slight-bonus-fixes
...
Small bonus fixes
2023-10-29 15:23:07 +02:00
Ivan Savenko
720a404e20
Merge pull request #3121 from vcmi/fix-fight-in-dwelling
...
BattleAI: fix freeze fighting in dwelling
2023-10-29 15:22:47 +02:00
Andrii Danylchenko
3025785839
BattleAI: fix freeze fighting in dwelling
2023-10-29 09:29:57 +02:00
Konstantin
f6b03201db
BattleAction: handle obstacle for standing units
2023-10-28 18:34:11 +03:00
Alexander Wilms
cc8cc11da3
server/battles/BattleFlowProcessor.cpp: Called C++ object pointer is null
...
Null pointers should not be dereferenced
2023-10-27 23:40:55 +00:00
Ivan Savenko
5cbf5031ea
move SetStackEffect to a separate file
2023-10-24 01:27:52 +03:00
Ivan Savenko
5523f05284
Moved ArtifactLocation to a separate file
2023-10-23 19:02:28 +03:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Ivan Savenko
ac925bb786
Renamed new types for consistency with code style
2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965
MetaIdentifier now uses std::variant internally
2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9
Bonus Source ID now uses metaidentifier
2023-10-22 16:55:18 +03:00
Ivan Savenko
77facf9387
Implement missing functions, fixes linking errors
2023-10-22 16:54:56 +03:00
Ivan Savenko
910ad50417
Fix client & server compilation
2023-10-22 16:54:48 +03:00
Warzyw647
8058efb3bd
Fixed morale and luck chance lookup.
2023-10-13 20:43:15 +02:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
Nordsoft91
a36450e2d1
Merge pull request #2882 from Nordsoft91/ai-cheating
...
Add basic system to give more advantages for ai player
2023-09-23 03:21:19 +02:00
nordsoft
099109b7d2
Minor fixes
2023-09-22 00:52:19 +02:00
nordsoft
0de912e67b
Add basic system to add more advantages for ai player
2023-09-20 03:50:35 +02:00
Ivan Savenko
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
Ivan Savenko
f8541d0ae4
Merge branch 'vcmi/master' into 'vcmi/develop'
2023-09-15 13:59:02 +03:00
Krisztián Szabó
cb3cc84c61
Give bonus experience for capturing a town even if the enemy hero escaped.
2023-09-11 19:51:23 +02:00
Krisztián Szabó
6a5e71aa63
Award 500 experience for towns conquered during a battle.
2023-09-11 09:37:48 +02:00
Ivan Savenko
e8453916cf
Merge remote-tracking branch 'vcmi/beta' into develop
2023-09-08 18:49:06 +03:00
Ivan Savenko
bef97889e9
Merge pull request #2773 from wb180/blindedStackMoraleFix
...
Blinded stack should not be able to get morale
2023-09-07 10:54:51 +03:00
Ivan Savenko
1f1f978328
Fixed battle replay
2023-09-06 16:03:47 +03:00
Ivan Savenko
8bdddd1324
Fix tests compilation
2023-09-06 16:03:47 +03:00
Ivan Savenko
9fa7a93fb0
Properly pass battleID in all battle netpack's
2023-09-06 16:03:47 +03:00
Ivan Savenko
3a88180494
Separated game and battle callback (server & client only)
2023-09-06 16:03:39 +03:00
Ivan Savenko
fc4dfda00f
Added support for concurrent battles to gamestate and server
2023-09-06 16:03:02 +03:00
Evgeniy Meshcheryakov
e9c2d4e857
Blinded stack should not be able to get morale
2023-09-06 12:40:05 +03:00
Nordsoft91
c45ab07d0b
Merge pull request #2698 from Nordsoft91/turn-timer
...
Turn timer fixes
2023-09-01 00:31:52 +04:00
Ivan Savenko
0f4f9b3233
Fix handling of opening spells when tactics is present
2023-08-31 01:32:32 +03:00
nordsoft
cc3ca9a41e
Timers fixes
2023-08-30 03:33:59 +04:00
nordsoft
b4c20734f3
Support timer logic for pve and pvp
2023-08-30 02:17:29 +04:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
Ivan Savenko
b0eec85aca
Merge pull request #2632 from rilian-la-te/resist-rework-pt1
...
Spell resistance rework: part 1
2023-08-25 01:13:57 +03:00
Ivan Savenko
66f555f1f7
Fix error messages on bad morale
2023-08-24 23:34:33 +03:00
Ivan Savenko
b6d8c7d4a5
Fix retreating in player-with-player battles
2023-08-24 23:34:33 +03:00
Ivan Savenko
f451c15932
Fix handling of retreating of AI's
2023-08-24 23:34:33 +03:00
Ivan Savenko
c4bc6840ea
Moved management of turn order into a new class
2023-08-24 23:34:33 +03:00
Ivan Savenko
a84c5fa371
Fix battle replaying
2023-08-23 22:46:42 +03:00
Ivan Savenko
81242d3500
Fixed ending of battles due to retreat/surrender
2023-08-23 18:46:56 +03:00
Konstantin
8724181a0f
vcmi: spell resistance rework
...
Now instead of XXX_IMMUNITY bonuses we have 2 bonuses with spellSchool
subtype: SPELL_SCHOOL_IMMUNITY and NEGATIVE_EFFECT_IMMUNITY.
All previous bonuses of subtype 0 is covered by SPELL_SCHOOL_IMMUNITY,
and all previous bonuses of subtype 1 is covered by
NEGATIVE_EFFECT_IMMUNITY. Unit tests are updated accordingly.
2023-08-23 17:52:16 +03:00
nordsoft
fb21620c60
Fix battle timer reset after refactoring
2023-08-22 14:14:50 +04:00
nordsoft
7b4b01a280
Adopt turn timer to battle refactoring
2023-08-22 01:49:50 +04:00
Ivan Savenko
8154e84825
Fix tactics usage
2023-08-21 17:55:49 +03:00
Ivan Savenko
276c00b284
Removed excessive includes
2023-08-21 17:55:49 +03:00
Ivan Savenko
2be9664d26
Remove no longer used code
2023-08-21 17:55:49 +03:00
Ivan Savenko
67eaef3520
Fixed few more discovered regressions
2023-08-21 17:55:49 +03:00
Ivan Savenko
013417fb7e
Code cleanup
2023-08-21 17:55:49 +03:00
Ivan Savenko
c516b5a64e
Fixes for several discovered edge cases
2023-08-21 17:55:49 +03:00