1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
Commit Graph

2491 Commits

Author SHA1 Message Date
Ivan Savenko
8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +00:00
Ivan Savenko
e90d057296 Tweaks to fow reveal on new turn 2024-08-28 13:03:45 +00:00
Ivan Savenko
e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +00:00
Ivan Savenko
37658478fa Move timed events to NewTurnProcessor 2024-08-28 13:03:26 +00:00
Ivan Savenko
ce1e0b8875 Moved NewTurn pack generation to NewTurnProcessor 2024-08-28 13:03:24 +00:00
Ivan Savenko
10a9d777c7 Moved mana and movement points refresh to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko
c09c414f5a Moved roll for week type to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko
020f1d1f46 Moved rumors generation to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko
691a1a666d Moved most of town growth handling to NewTurnProcessor 2024-08-28 13:03:13 +00:00
Ivan Savenko
d49a61645c All objects that can be owned by player now implement IOwnableObject 2024-08-28 12:51:28 +00:00
Ivan Savenko
a481f07daf PlayerState now stores all objects owned by player 2024-08-28 12:51:27 +00:00
Ivan Savenko
0fd9dbf240 Unified income handling, added IOwnableObject interface 2024-08-28 12:40:44 +00:00
Ivan Savenko
189cb1c762 Moved most of daily income handling to a separate method 2024-08-28 12:40:44 +00:00
Ivan Savenko
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko
b84af1a6de Significantly simplify packs applying
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +03:00
Ivan Savenko
3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
SoundSSGood
2e3e6b1553 market->getObjInstanceID() 2024-08-21 01:01:23 +03:00
Laserlicht
01c14ae9ce
Merge branch 'develop' into extended_statistic 2024-08-20 20:25:16 +02:00
SoundSSGood
58bb2b58e3 IMarket suggestions
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
cd7ebea9e3 cleanup unused code 2024-08-20 18:49:47 +03:00
Ivan Savenko
2f3f3c21df Rename town building types to more clear names 2024-08-19 11:47:13 +00:00
Ivan Savenko
01a9509ccb Remove unused code, reduce includes 2024-08-19 11:47:13 +00:00
Ivan Savenko
4ba2b95983 Fix build 2024-08-18 20:59:32 +00:00
Ivan Savenko
4e23bb4c8c
Merge pull request #4399 from kdmcser/enchanter_armageddon
make armageddon can effect to allied creatures in ENCHANTER bonus
2024-08-18 20:57:48 +03:00
Ivan Savenko
11ac768599
Merge pull request #4457 from mikeiit/bug_double_dialog_7_days
Removed Redundant Info Window
2024-08-17 12:59:47 +03:00
Mike
8a9fd79aba Removed Redundant Info Window
Removed redundant warning when a human player loses the last town. #4418
2024-08-15 19:41:06 -07:00
Laserlicht
00692888df sonar cloud fixes 2024-08-15 23:09:04 +02:00
Ivan Savenko
66d96e6ef6 Remove hardcoded check for number of heroes on map 2024-08-15 13:15:18 +00:00
Laserlicht
b240da856a min lvl 2024-08-15 02:06:41 +02:00
Laserlicht
a42afa2910 code review 2024-08-14 21:51:08 +02:00
Laserlicht
81b1704e39
Merge branch 'vcmi:develop' into extended_statistic 2024-08-14 20:32:47 +02:00
Laserlicht
ec2163b974 add val; stat at end turn; events 2024-08-14 19:24:40 +02:00
Ivan Savenko
19838e2654 Fix auto-visit of configurable objects on new day 2024-08-14 17:04:42 +00:00
Ivan Savenko
67132b3e7f Fixed visitation of configurable town buildings by newly recruited heroes
and on building construction
2024-08-14 17:03:25 +00:00
Ivan Savenko
f4a78bb31f
Merge pull request #4439 from IvanSavenko/event_timing
Trigger map and town events on start of player turn
2024-08-14 19:01:17 +03:00
Ivan Savenko
49c5f650f7
Merge pull request #4437 from IvanSavenko/battle_sides
Unified handling of battle sides ID's
2024-08-14 18:37:05 +03:00
Ivan Savenko
26fdaacbe5 Map and town events are now processed on start of player turn instead of
on start of new day, in line with H3
2024-08-14 14:13:50 +00:00
Ivan Savenko
5c7c4a7810
Merge pull request #4443 from IvanSavenko/fix_sonar
Fix miscellaneous issues discovered by Sonar
2024-08-14 17:12:27 +03:00
Ivan Savenko
38311244a4
Merge pull request #4402 from Laserlicht/8th_creature
support for 8th creature (Factory)
2024-08-14 17:04:32 +03:00
Laserlicht
9e9a6f1c5f
Merge branch 'develop' into extended_statistic 2024-08-13 00:49:51 +02:00
Ivan Savenko
97f1a310df Fix miscellaneous issues discovered by Sonar 2024-08-12 18:26:30 +00:00
Laserlicht
37283e51c3 basic diagram 2024-08-12 20:14:36 +02:00
Ivan Savenko
2a05fbdd50 Unified handling of battle sides ID's
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
Laserlicht
f42f1de347 extended statistic: Button and data transfer 2024-08-11 22:21:13 +02:00
Laserlicht
b4c25a148a
Merge branch 'develop' into bank_support 2024-08-09 23:36:59 +02:00
Laserlicht
5c2523219c code review 2024-08-09 23:35:47 +02:00
Ivan Savenko
7d30b660ea
Merge pull request #4359 from Laserlicht/statistic
Writing some statistics and make it possible to export via csv
2024-08-09 15:31:13 +03:00
Ivan Savenko
ffb8efc415
Merge pull request #4225 from godric3/map-editor-town-configuration-improvements
Map editor town configuration improvements (buildings, spells, events)
2024-08-09 15:26:33 +03:00
SoundSSGood
5903b3b42c endBattleConfirm crash fix 2024-08-08 13:57:06 +03:00
Laserlicht
e0ab760a2f code review 2024-08-07 21:26:22 +02:00
Laserlicht
475b769eef fix ToW 2024-08-07 01:35:50 +02:00
Laserlicht
14bcfad7b0 fix upgrade 2024-08-06 23:28:45 +02:00
Ivan Savenko
a4dd510735
Merge pull request #4358 from IvanSavenko/integer_divide
Add helper functions for integer division rounding
2024-08-06 18:10:03 +03:00
Laserlicht
ebeeff5aa3 abstraction layer 2024-08-05 23:51:07 +02:00
Laserlicht
3afddbbf29 replaced constant 2024-08-05 23:03:19 +02:00
Laserlicht
1a06a2cc44 basic 8th creature support 2024-08-05 21:15:47 +02:00
Ivan Savenko
b7391f49f6 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-08-05 10:36:10 +00:00
Laserlicht
47327e1642 backend 2024-08-04 17:52:40 +02:00
Laserlicht
072af5bd6d basic support for bank 2024-08-04 15:44:57 +02:00
Laserlicht
611d5daa0f fix missing code + movement points used 2024-08-03 20:47:20 +02:00
Laserlicht
eca04cbc54 added 5 values 2024-08-03 19:53:05 +02:00
Ivan Savenko
81e6207df0 Add helper functions for integer division rounding
Added set of functions that perform integer division with different
rounding modes:
- divideAndCeil - rounds up to next integer
- divideAndRound - rounds to nearest integer
- divideAndFloor - rounds to previous integer (equivalent to default
division)

Intended for use in library, where usage of floating point might lead to
desync in multiplayer games.

Replaced some cases that I knew of, including recent handicap PR
2024-08-03 13:52:14 +00:00
Laserlicht
58bfd27aad add some stats 2024-08-02 20:40:24 +02:00
Laserlicht
80dd97364a add additional statistic 2024-08-02 19:38:33 +02:00
kdmcser
4676817c3b not hardcore armageddon 2024-08-03 00:49:26 +08:00
Ivan Savenko
c9b6b17422 Add more logging for weird crash on game start 2024-08-02 16:00:17 +00:00
Laserlicht
06209d2556
Merge branch 'develop' into statistic 2024-08-01 23:37:45 +02:00
Laserlicht
490f1bfee6 rework 2024-08-01 21:36:00 +02:00
Laserlicht
fb171ab3a2 statisic basic 2024-08-01 21:36:00 +02:00
kdmcser
3c0d424958 make armageddon can effect to allied creatures in ENCHANTER bonus 2024-08-02 00:04:42 +08:00
Laserlicht
f7376b8fd3
Merge branch 'vcmi:develop' into handicap 2024-07-29 23:10:20 +02:00
Laserlicht
3e5df61946 code review 2024-07-29 22:54:42 +02:00
Ivan Savenko
15f37f8c4b Fix possible crash on invalid SPELL_LIKE_ATTACK ability 2024-07-29 17:13:31 +00:00
godric3
fa3fef8a0f change town events to vector + use getDefaultAllowed for spells 2024-07-28 16:28:21 +02:00
Ivan Savenko
ec63f3eeac
Merge pull request #4314 from IvanSavenko/tower_target_selection
Implemented simple target selection logic for arrow towers
2024-07-26 14:22:13 +03:00
Laserlicht
ec005593d3 growth handicap 2024-07-25 23:04:59 +02:00
Laserlicht
6273e678a4
fix 2024-07-25 10:30:57 +02:00
Laserlicht
bfd1e8a7c8 calculate income 2024-07-25 02:51:00 +02:00
Laserlicht
268e0c8c44 change data structure 2024-07-25 00:28:49 +02:00
Laserlicht
fa7153b577 fix 2024-07-25 00:28:49 +02:00
Laserlicht
832e1531fc handycap percent 2024-07-25 00:28:49 +02:00
Laserlicht
97f49030d2 fix 2024-07-25 00:28:49 +02:00
Laserlicht
af2b6a0051 show handicap resources 2024-07-25 00:28:49 +02:00
Laserlicht
afd580b76a Announce handicap in welcome message 2024-07-25 00:28:34 +02:00
Laserlicht
fea491be82 multiplayer announcement 2024-07-25 00:28:33 +02:00
Laserlicht
8edf77afcc basic handicap support 2024-07-25 00:28:01 +02:00
Ivan Savenko
37cf788079
Merge pull request #4317 from IvanSavenko/split_townhandler
Split CTownHandler into smaller chunks
2024-07-22 17:42:48 +03:00
Ivan Savenko
e8aa6efbb9
Merge pull request #4261 from kaja47/shrinkage
Reduce size of Bonus struct from 320 bytes to 296 bytes.
2024-07-22 17:12:08 +03:00
K
c1e6bbddfe Reduce size of Bonus struct from 320 bytes to 296 bytes.
- Internal enums were resized to occupy single byte.
- Duration bitmask uses 16 bit integer directly instead of std::bitset<11> which consumed 8 bytes.
- Fields shuffled to minimise padding and keep the most useful data on first 2 cache lines.
2024-07-22 14:59:31 +02:00
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
Ivan Savenko
5bd9a32d97 Implemented simple target selection logic for arrow towers 2024-07-21 13:16:33 +00:00
Ivan Savenko
4533271692
Merge pull request #4312 from IvanSavenko/texthandler_split
Split CGeneralTextHandler file into 1 file per class form
2024-07-21 13:49:14 +03:00
Ivan Savenko
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
SoundSSGood
186c6098e8 Fix endBattleConfirm 2024-07-20 15:07:34 +03:00
Ivan Savenko
e0c6b6e3d0 Fix crash on loading saves made in 1.4/1.5 2024-07-19 13:57:06 +00:00
Ivan Savenko
2020d96070
Merge pull request #4071 from IvanSavenko/fix_rng_syncronization
[1.6] Fix potential desync if client uses different stdlib with different random number generators
2024-07-19 13:08:09 +03:00
Alexander Wilms
434371195d JsonNode constructors: Take fileName as argument
* Don't print JSON in JsonParser::parse() in case of errors
2024-07-17 13:50:59 +02:00
Ivan Savenko
65eeceb7d7 Integrating changes from PR #4251 - allow defining seed for server 2024-07-16 15:12:02 +00:00
Ivan Savenko
1c63fefe02 Moved banks randomization to server-side with client netpack 2024-07-16 13:13:39 +00:00