Konstantin P
b472c89276
vcmi: make some CStack properties private
...
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
krs
e348193f7e
Tactics movement is limited to movement range
2023-04-26 21:56:20 +04:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
...
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
nordsoft
bfc75ccd39
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 02:22:42 +04:00
Andrii Danylchenko
737c34b8c6
BattleAI: avoid selfblocking on siege
2023-04-09 16:22:37 +03:00
krs
dab07bdef9
Now unit range is shown in Tactics phase as well
...
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
nordsoft
ce3028bd73
Intermediate commit
2023-04-06 19:34:07 +04:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Konstantin
e0715a76c8
vcmi: reduce CStack usage a little bit
2023-04-04 23:02:54 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Andrii Danylchenko
06fcbf891b
Fix battle AI using Fire elementals (had score 0)
2023-04-02 10:02:33 +03:00
Konstantin
d8a237ba46
vcmi: add getTrigger method to obstacles
...
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
6c5f5dba75
BattleAI: check negative obstacles instead of moat.
...
This will work for fire walls too (and if someone will summon elementals
after placing land mines). But will not work for Tower's landmines.
2023-03-31 01:01:25 +03:00
Ivan Savenko
970981cfc9
Show information on potential kills in attack tooltip
2023-03-24 17:18:47 +02:00
Ivan Savenko
31147ac83b
refactoring: TDmgRange pair -> DamageRange struct
2023-03-23 17:49:33 +02:00
Andrii Danylchenko
59d612fc2d
Merge pull request #1616 from kambala-decapitator/conan-android
...
move Android code to the main repo
2023-03-05 08:13:41 +02:00
Andrey Filipenkov
71d51beab2
change static AI approach to use static libvcmi
...
- now links to static AI lib targets
- solves uncaught boost exception on closing server
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
4c19d8794d
add option to compile AI code into libvcmi directly
...
- used on Android by default
- AI sources and libs are propagated to upper level with set(... PARENT_SCOPE)
2023-03-02 12:09:48 +03:00
Andrii Danylchenko
5cab8ede90
Fix battle ai trying to act with killed stack
2023-02-28 23:10:22 +02:00
Ivan Savenko
d2b837b116
All creature-related texts go through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822
All spell texts are now passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
b86969909a
Fixes compilation due to changes in callback interface
2023-01-20 15:18:10 +02:00
Ivan Savenko
1d7f004658
Implemented reinforced walls in towns with Castle
2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d
EWallPart & EWallState are now enum class
2023-01-13 00:35:58 +02:00
Ivan Savenko
5d80457eda
Merge with vcmi/develop branch
2022-12-30 00:52:23 +02:00
Ivan Savenko
325c29da0d
Merge remote-tracking branch 'vcmi/develop' into battle_improvements
2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +02:00
Ivan Savenko
c79634b6a7
Moved all animation ordering logic to callers
...
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Andrii Danylchenko
59c3962e9c
BattleAI: fix camera obscura
2022-12-10 22:08:16 +02:00
Ivan Savenko
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
3219e322ae
Fixed all non-silenced gcc/clang warnings
2022-12-07 18:05:47 +02:00
Andrii Danylchenko
ebf4854801
Battle AI: add some comments + refactoring
2022-10-23 11:41:03 +03:00
Andrii Danylchenko
601ced3749
BattleAI: rework movement when no targtes
2022-10-23 11:41:03 +03:00
Andrii Danylchenko
033a585e4b
Battle AI 2 turns attacks recalculation
2022-10-23 11:41:03 +03:00
Andrii Danylchenko
e9c725181c
NKAI: fix retreat logic
2022-10-15 15:15:12 +03:00
Andrii Danylchenko
82a9f82e1c
BattleAI: retreat
2022-10-14 12:00:56 +03:00
Andrey Filipenkov
5e838008df
merge launcher and client
...
launcher is a static lib now
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
c6e51852d0
add ability to build VCMI as single process
...
"Client process -> shared VCMI lib <- Server process" is turned into "shared Client-VCMI lib -> process <- static Server-VCMI lib"
- adds lib_client and lib_server targets that define distinct namespaces
- lib_client is a dynamic library which is shared with AI libs, lib_server is static
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
3388583089
use component-based install to copy only what's needed for every app
2022-09-24 15:55:20 +03:00
Andrey Filipenkov
7e6ed0583c
disable all scripting code when configuring without scripting modules
2022-09-21 19:31:42 +03:00
Soar Qin
188607b05f
Replace cotire with CMake builtin precompiled headers support (Requires CMake version >= 3.16)
2022-06-17 17:20:08 +03:00
Andrii Danylchenko
84948820b2
exchange window move single stacks buttons
2022-01-03 15:13:46 +02:00
Andrii Danylchenko
3fa7e0976f
Nullkiller: update / fix build, core changes required for Nullkiller AI
2021-07-26 21:02:50 +03:00
AlexVinS
a59e12ca5f
tweaks
2021-02-15 15:03:32 +03:00
AlexVinS
ecaa9f5d0b
Entities redesign and a few ERM features
...
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Andrii Danylchenko
ade84699b0
found a bug in code where AI can change client gamestate directly causing sorting crash
2021-01-30 17:29:49 +02:00
Andrii Danylchenko
3614330b3d
moat bypass when no targets to attack
2020-12-02 19:40:24 +02:00