Andrii Danylchenko
23fa7c4a9b
Merge pull request #1720 from vcmi/fix_small_lakes_clean
...
Don't place shipyard or boats at very small lakes
2023-03-19 19:52:22 +02:00
Andrii Danylchenko
aede3da74e
Merge pull request #1721 from vcmi/fix_rmg_infinite_loop
...
Fix rmg infinite loop
2023-03-19 19:46:28 +02:00
DjWarmonger
15047a4469
Merge pull request #1718 from vcmi/fix_shipyard_border
...
Fix shipyard border calculation for RMG
2023-03-19 16:05:24 +01:00
Tomasz Zieliński
9e206dbbc7
Forgot this one
2023-03-19 09:51:37 +01:00
Tomasz Zieliński
f52c465322
Allow zones to inherit properties recursively, in any order.
2023-03-19 09:27:05 +01:00
Andrey Filipenkov
43e89523a9
Merge pull request #1716 from rilian-la-te/tw-fix
...
TotalValue: fix typo
2023-03-19 11:25:48 +03:00
Tomasz Zieliński
dd3803b111
Don't place shipyard or boats at very small lakes
...
(cherry picked from commit 1d2913bea0
)
2023-03-18 22:05:25 +01:00
Tomasz Zieliński
1dc96d6844
Fix shipyard border calculation for RMG
2023-03-18 20:12:36 +01:00
Konstantin
54b1b49f5a
totalValue: fix overflow
...
Fixes #1715
2023-03-18 22:08:21 +03:00
Tomasz Zieliński
23a5a32756
Add fallback for empty terrain types. Still it's a workaround and does not solve the root cause.
2023-03-18 17:00:50 +01:00
Konstantin
b07f4fb383
TotalValue: fix typo
2023-03-18 15:45:32 +03:00
Tomasz Zieliński
eabcbfc25a
Fix all stacks being capped at 10 units
2023-03-17 22:32:05 +01:00
Ivan Savenko
f24ca6fbcf
Merge pull request #1699 from rilian-la-te/fix-ignissa
...
Rewardable: always initialize numbers
2023-03-17 22:15:28 +02:00
Ivan Savenko
95d56d3f2a
Merge pull request #1705 from rilian-la-te/convert-scouting
...
HeroBonus: add scouting to converter
2023-03-17 22:14:54 +02:00
Konstantin
6de042657c
fix Ignissa bug the old way
2023-03-17 20:09:18 +03:00
Konstantin
b4fe7908a4
HeroBonus: add scouting to converter
2023-03-17 18:50:57 +03:00
Ivan Savenko
8a6c51a9e6
Fix uninitialized pointer dereference
2023-03-16 20:48:37 +02:00
Ivan Savenko
fbb9810c49
Fix regression - uninitialized pointer
2023-03-16 19:25:26 +02:00
Ivan Savenko
aea2a1e22e
Fixed loading of settings from mods
2023-03-16 18:11:36 +02:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Konstantin
4c4498b22a
vcmi: modernize rest of lib
2023-03-16 17:55:20 +03:00
Konstantin
7f805768f0
battle: fixup siege crash
2023-03-16 16:47:06 +03:00
Konstantin
4eb248b5e2
vcmi: bump serialization version
...
Saves from this branch are incompatible with generic ones
2023-03-16 16:47:05 +03:00
Konstantin
580268bfd4
vcmi: fix logistics specialist movement regression
...
There was incorrect calculations introduced earlier.
2023-03-16 16:46:42 +03:00
Konstantin
0adffc824f
vcmi: allow to configure army movement counter
...
It is not hardcoded now. MOVEMENT.TXT is still not read,
but ARMY_MOVEMENT updater parameters can be specified in json.
There is a 4 parameters:
1. Base - base value (firstly lowest speed is multiplied by it)
2. Divider - base value is integrally divided by it
3. Multiplier - result value will be multiplied by it
4. Max - maximum allowed movement from army.
Vanilla values is in defaultMods.json
Fixes: https://bugs.vcmi.eu/view.php?id=3209
2023-03-16 16:46:42 +03:00
Konstantin
b91d7418dd
vcmi: remove ONLY_ENEMY_ARMY range
...
It should be used directly instead of alias, propagation updater
also can be useful for any other updaters can be added.
2023-03-16 16:46:42 +03:00
Konstantin
ff5f828031
vcmi: remove SELF_LUCK bonus
...
This bonus also now handled by LUCK bonus with INDEPENDENT_MAX of 1
2023-03-16 16:46:42 +03:00
Konstantin
c7e197e1ff
vcmi: remove SELF_MORALE bonus
...
It is easily handled by MORALE bonus with INDEPENDENT_MAX
Harmless due to converter.
2023-03-16 16:46:42 +03:00
Konstantin
ebbc8cf208
vcmi: remove BLOCK_LUCK bonus
...
To block a luck, just set both INDEPENDENT_MAX and INDEPENDENT_MIN
to 0 of LUCK bonus
2023-03-16 16:46:42 +03:00
Konstantin
c07e74250b
vcmi: remove BLOCKS_MORALE bonus
...
To block morale, just set INDEPENDENT_MAX and INDEPENDENT_MIN
to 0, there is no need for separate bonus.
2023-03-16 16:46:42 +03:00
Konstantin
1e7875cb36
vcmi: selector-based target conditions
...
For now, allows us to define target conditions by selector and even
by minimal and maximal value of bonuses. Convert Bonus condition
to Selector condition.
Allow structures inside TargetCondition struct.
2023-03-16 16:46:42 +03:00
Konstantin
0540e1531d
vcmi: allows parsing selectors from JSON
...
Supports anyOf, allOf, noneOf,
and all selectors from Selector namespace.
Can be useful to define selectors in JSON when required
2023-03-16 16:46:42 +03:00
Konstantin
f13a934c47
vcmi: allow converting bonusParams to selector
2023-03-16 16:46:42 +03:00
Konstantin
eaceb65b5c
vcmi: fix CSkillHandler crash
2023-03-16 16:46:42 +03:00
Konstantin
930955f268
vcmi: deprecated bonus converter
...
It converts almost all sorts of deprecated bonuses from mods
when loading json. It can print to console correct new variant
or bonus.
Also removed a bunch of deprecated bonuses from list.
It will break saves!!!
2023-03-16 16:46:41 +03:00
Konstantin
95503d0623
vcmi: unify movement
...
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
For movement value on land depends on creature speed we use a new
ARMY_MOVEMENT updater with global bonus. If we does not like such
dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
system AFAIK
2023-03-16 16:46:41 +03:00
Konstantin
20a9332a3f
vcmi: translate wisdom
...
Make wisdom as separate bonus. It will be enough for now. But
next is should be done as IsLearnable for each spell.
2023-03-16 16:46:41 +03:00
Konstantin
ddcff9dc36
vcmi: convert magic schools to MAGIC_SCHOOL_SKILL
...
It is already used by battlefields.
2023-03-16 16:46:41 +03:00
Konstantin
64ad7558c6
vcmi: skill-agnostic artillery
...
Now it should work for any creature and with any damage percentage.
2023-03-16 16:46:41 +03:00
Konstantin
9205ef2c91
vcmi: skill-agnostic ballistics
...
Made ballistics by using spell action and more code is shared now.
2023-03-16 16:46:41 +03:00
Konstantin
84f53485e2
vcmi: skill-agnostic first aid
...
Now first aid is passive battle spell, and skill just bumps
specific spell power for this spell. Everything about healing
is handled into Heal spell effect.
2023-03-16 16:46:41 +03:00
Konstantin
a0987313ba
vcmi: convert intelligence
...
Intelligence is converted to both global effect and skill bonus
Bonus name HERO_MANA_PER_TEN_KNOWLEDGE is a little weird, but works
like old SECONDARY_SKILL_PREMY bonus
2023-03-16 16:46:41 +03:00
Konstantin
a86e12cd42
vcmi: convert necromancy
...
Now it is 3 bonuses to cover necromancy.
1. IMPROVED_NECROMANCY = possible creatures raized (affected by cloak)
2. UNDEAD_RAISE_CHANCE = raise chance (affected by artifacts)
3. UNDEAD_RAISE_POWER = helper to select creature from first
2023-03-16 16:46:41 +03:00
Konstantin
84eece1d8b
vcmi: convert mysticism to MANA_REGENERATION
...
With PERCENT_TO_TARGET_TYPE it was easy.
2023-03-16 16:46:41 +03:00
Konstantin
f641ed2015
vcmi: convert learning to global effect
...
Now hero experience is a global effect, and secondary
skill gives exactly same bonus. Can be modified by
PERCENT_TO_TARGET_TYPE.
2023-03-16 16:46:41 +03:00
Konstantin
a85f3b63ec
vcmi: reuse SPELL_DAMAGE for sorcery
...
Now there is no need for specific spell bonus, and
we need to simply reuse SPELL_DAMAGE, and by using
PERCENT_TO_TARGET_TYPE speciality will work.
2023-03-16 16:46:41 +03:00
Konstantin
6b987275eb
vcmi: use global bonuses for sight radius and mana
...
We do not need to hardcode constants for there. We can just
use default bonuses.
2023-03-16 16:46:41 +03:00
Konstantin
5d4bcb3c78
vcmi: fix scouting bonus spelling error
...
With fallback for old mods.
2023-03-16 16:46:41 +03:00
Konstantin
f264c541fb
vcmi: skill-agnostic tactics
...
Tactics is split to 2 bonuses, and it is now possible to
block tactics without having tactics itself. But tactics
for two sides is not implemented, because it is huge rework
and not high priority for me now, I want to do basic
secondary skill rework first.
2023-03-16 16:46:41 +03:00