1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
Commit Graph

1218 Commits

Author SHA1 Message Date
Ivan Savenko
383387ef29 Integrated defaultMods into mod system 2023-03-16 17:55:09 +02:00
Konstantin
77ebe05491 defaultMods: comment army movement 2023-03-16 17:58:46 +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
af2cb61077 vcmi: directly specify ONLY_ENEMY_ARMY instead of alias 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
ae535384f7 vcmi: fix hourglass of the evil hour
It also should block only positive luck, according
to HOTA description. So, use LUCK with INDEPENDENT_MIN
2023-03-16 16:46:42 +03:00
Konstantin
ba2a35464a vcmi: fix spirit of oppression
According to discussion on https://bugs.vcmi.eu/view.php?id=2841
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
Konstantin
300a8a15ba vcmi: remove estates bonus
Now it is handled by GENERATE_RESOURCE::GOLD.
2023-03-16 16:46:41 +03:00
Konstantin
c64d05c419 vcmi: skill-agnostic diplomacy
This is simple and will work.
2023-03-16 16:46:41 +03:00
Konstantin
34a26580a7 vcmi: skill-agnostic resistance
Uses exiting bonus and new PERCENT_TO_TARGET_TYPE value type
2023-03-16 16:46:41 +03:00
Konstantin
6e4372176a vcmi: skill-agnostic pathfinding
For now, works exactly as in VCMI and H3.
I think we should add some BONUS_TERRAIN_DISCOUNT_PERCENT bonus
to discount by percent, like written in pathfinding description
2023-03-16 16:46:41 +03:00
Konstantin
9ffd18c914 vcmi: skill-agnostic armorer
This is a skill-agnostic armorer, which can be used same as
armorer before.
2023-03-16 16:46:41 +03:00
Konstantin
43f09dd2e4 vcmi: convert scholar to new bonus
Convert scholar to new skill-agnostic bonus. Now works only for any
school (not from specific). In all schools form identical to
past's SECONDARY_SKILL_PREMY::SCHOLAR
2023-03-16 16:46:41 +03:00
Konstantin
0ed89e77d4 vcmi: replace archery and offence to new bonus
Add PERCENTAGE_DAMAGE_BOOST bonus, which will work exactly as old
archery or offence. Subtype is actually boolean which select
ranged (1) and melee (0)
2023-03-16 16:46:41 +03:00
Konstantin
4a89418ada vcmi: replace SecondarySkillPremy:EAGLE_EYE
Replace this bonus to new ArcaneIntuition bonus, which
will work independently from the rest of skill bonuses.
Proof of concept for other skills.
2023-03-16 16:46:41 +03:00
Konstantin
496c1def12 vcmi: remove FULL_HP_REGENERATION bonus
Just set HP_REGENERATION to high number
(in OH3 doubled stack health is sufficient)
2023-03-16 16:46:41 +03:00
Konstantin
62e579f672 vcmi: replace KINGx bonuses to one KING bonus
val = level of slayer which require to affect.
Can break saves.
2023-03-16 16:46:41 +03:00
Konstantin
f26fac5562 vcmi: move obligatory marker to CSkillHandler
It is working, now it is possible to
define other obligatory skills than wisdom or magic schools,
but only 2 types of obligatory skills exists - like wisdom and
like magic school
2023-03-16 16:46:41 +03:00
Konstantin
9280d70819 vcmi: remove deprecated "specalties" node
Use new bonus system format
2023-03-16 16:46:41 +03:00
Konstantin
d9496dd9f7 vcmi: remove vector speciality format
It is deprecated and will not be used anymore.
2023-03-16 16:46:41 +03:00
Konstantin
96c40eb36e vcmi: remove SPECIAL_BLESS_DAMAGE bonus
It is handled by HAS_ANOTHER_BONUS_LIMITER with SPELL_EFFECT limiter
with desired spell id (bless). Yes, bonus will come from HERO_SPECIAL,
but will work only for blessed with spell id creatures.
2023-03-16 16:46:41 +03:00
Konstantin
a943d2cb12 vcmi: add sourceType to HasAnotherBonusLimiter
Now we can filter bonuses by sourceType, hence,
checking, for example, specific secondary skills.

Also fix archery artifacts working without Archery skill.
2023-03-16 16:46:41 +03:00
Konstantin
7e9a15c20b vcmi: add PERCENT_TO_TARGET_SOURCE value type
It will break saves!!!

Added a new value type to bonuses which allows to add percentage
only to one foreign bonus source, for example, to add percentage to all
bonuses from secondary skills from hero special.
2023-03-16 16:46:41 +03:00
Konstantin
b59ee5fecc vcmi: move demon summoning ability to separate file 2023-03-16 16:46:41 +03:00
Ivan Savenko
a062e5e425 - Implemented proposition to install translation mod when necessary 2023-03-14 16:02:16 +02:00
Ivan Savenko
c3d78ba761 Partially implemented Setup Window 2023-03-14 16:02:16 +02:00
Ivan Savenko
6fe319329b Fix language selection 2023-03-14 16:02:16 +02:00
Andrii Danylchenko
4bf570763a NKAI: improve neutral town priority handling, reduce priority of objects like star axis 2023-03-12 16:31:15 +02:00
Konstantin
a0c644a0e5 vcmi: actually implement AUTO for CInfoWindow
This is possible to use infobar interactions now.
2023-03-11 21:41:57 +03:00
Konstantin
38d8585be3 vcmi: fix library of Enlinghtenment text
Was text from +1 knowledge garden
2023-03-11 21:41:57 +03:00
Ivan Savenko
58cfea02f1 Added option to skip validation of mods 2023-03-07 00:06:58 +02:00
Ivan Savenko
f768a5543e Removed deprecated encoding option 2023-03-07 00:06:58 +02:00
Ivan Savenko
499496f9d0 Restored Simplified Chinese support 2023-03-07 00:06:58 +02:00
Ivan Savenko
b3b7a4eb2c Fix potentially missing message for Tree of Knowledge 2023-03-07 00:06:58 +02:00
Ivan Savenko
b7025125d5 Added map swipe option 2023-03-05 23:53:06 +02:00
Ivan Savenko
2e69a4769d Implemented framerate limit option (not available in UI) 2023-03-05 21:06:52 +02:00
Ivan Savenko
37b2fb7ff3 Fixed map options to support adventure map rewrite 2023-03-05 20:14:23 +02:00
Ivan Savenko
95440ad540 Minor fixes 2023-03-05 19:55:38 +02:00
Ivan Savenko
d34268d7d5 Split "Show available creatures in town" into two buttons 2023-03-05 19:55:38 +02:00
Ivan Savenko
17dfd3d34a Updated English translation 2023-03-05 19:55:38 +02:00
Ivan Savenko
b2e5e55c1e Added labels that indicate current option values 2023-03-05 19:55:37 +02:00
Ivan Savenko
2f556ccf60 Improved General options tab layout presentation 2023-03-05 19:53:27 +02:00
Ivan Savenko
33603f87f3 Finalized general layout 2023-03-05 19:53:27 +02:00
Ivan Savenko
b298895e61 Added placeholders for missing options 2023-03-05 19:53:27 +02:00
Ivan Savenko
919af720a8 Formatting cleanup 2023-03-05 19:53:27 +02:00
Ivan Savenko
c976176453 Added additional buttons for movement speeds 2023-03-05 19:53:26 +02:00
Ivan Savenko
c011a5a9cf Added lines to window to separate UI elements into groups 2023-03-05 19:51:42 +02:00
Ivan Savenko
273a06a878 Added frame for movement speed & map scrolling 2023-03-05 19:51:42 +02:00
Ivan Savenko
f23186f47d Slightly better layout for new settings window 2023-03-05 19:51:42 +02:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
b57a07b10f Restored ambient sounds functionality 2023-03-05 18:02:59 +02:00
Ivan Savenko
387a7b421a Refactoring of new code, multiple functionality changes:
- Implemented separate Map View contexts for different map modes
- Puzzle map now works
- Enemy movement now works as in H3
- Removed no longer used code
- Implemented missing embark/disembark sounds
- Fixed view focusing on embarking/disembarking
- Fixed focusing on movement near edge of terra incognita
- Fixed sea movement sound
2023-03-05 18:02:58 +02:00
Ivan Savenko
b9056ef248 Moved swipe handling to TerrainRect class 2023-03-05 17:57:34 +02:00
Ivan Savenko
cda78fb30f Added option to disable animations for very low-end systems 2023-03-05 17:48:02 +02:00
Ivan Savenko
ebe996fa74 Hero movement speed and map scrolling speed now matches H3 2023-03-05 17:48:02 +02:00
Ivan Savenko
260f6d626c Implemented translations for H3M maps 2023-03-05 17:39:27 +02:00
Ivan Savenko
6643408cdd Fixed localization validation 2023-03-05 17:30:38 +02:00
Ivan Savenko
ad87735d8d Updated schema 2023-03-05 17:30:38 +02:00
Ivan Savenko
84fa19dadf
Merge pull request #1547 from dydzio0614/game-start-unrandomization
Hardcoded features for HotA-like starting conditions
2023-03-05 17:29:49 +02:00
Konstantin
f6695737d6 vcmi: allow loads bonuses info from mods
It is useful for making custom bonus graphics into mods, now
mods just replace game config, which is not good.
2023-03-04 22:50:00 +03:00
Dydzio
9eccc29e16 Adjust tab positioning 2023-02-19 12:18:54 +01:00
Dydzio
7e409df3cb Apply manual changes from code review 2023-02-18 16:35:07 +01:00
Dydzio
c2ef3331ef Change main settings tabs to toggle group + fix json commas 2023-02-16 21:37:37 +01:00
Dydzio
9cabdfa675 Better position for main settings buttons 2023-02-15 20:34:08 +01:00
Dydzio
775db89241 Fix battle settings UI labels, add "dont show battle intro" setting 2023-02-15 20:29:29 +01:00
Dydzio
1d153f4ee9 "ForceMovementInfo" support + make other settings tab 2023-02-14 23:45:45 +01:00
Dydzio
daa2b63dde Further UI improvements 2023-02-14 22:22:11 +01:00
Dydzio
fb06aca0bb Further progress - UI tweaks, new settings etc 2023-02-14 20:30:06 +01:00
Dydzio
80a5595d6c Adding some settings options, minor UI fixes 2023-02-13 23:53:28 +01:00
Dydzio
b28a16ddd4 Settings UI tweaks 2023-02-12 21:35:30 +01:00
Dydzio
de5138c854 Basic separation of adventure map & general tabs 2023-02-12 19:25:59 +01:00
Dydzio
58bed920b4 Sort out settings files structure 2023-02-12 17:49:41 +01:00
Dydzio
ee186f3839 Conversion of battle settings to configurable interface 2023-02-12 13:51:57 +01:00
Dydzio
11df79dc2a Minor formatting 2023-02-12 11:55:39 +01:00
Dydzio
fc7d2b9778 Merge remote-tracking branch 'origin/develop' into settings-rework 2023-02-12 11:55:21 +01:00
Dydzio
8f0da8fe17 Move battle options labels to configurable interface 2023-02-12 11:37:40 +01:00
Dydzio
7095e9d8f9 Allow heroes to start with empty armies if configured properly 2023-02-05 00:36:51 +01:00
Dydzio
3f79a9806c Allow flexible configuration - starter dwellings and max stacks count 2023-02-04 23:40:02 +01:00
Konstantin
7b8aebe4e3 vcmi: deprecate MAXED_SPELL
It is almost identical to SPECIAL_FIXED_VALUE_ENCHANT.

Replace its usage in JSON and inside deprecated converter
to SPECIAL_FIXED_VALUE_ENCHANT. Remove buggy string inside
getEffectLevel.
2023-02-04 16:23:03 +03:00
Dydzio
28eed7047c Hardcoded feature to allow default towns always have 2nd dwelling 2023-02-02 22:50:08 +01:00
Dydzio
4f4660e82d Hardcoded feature to allow new heroes always have 3 stacks like in HotA 2023-02-02 22:28:14 +01:00
Dydzio
5a08ec04fe Initial split of BattleOptionsWindow 2023-02-02 17:17:16 +01:00
Dydzio
d04c53e7e0 Merge branch 'develop' into settings-rework 2023-02-02 11:55:13 +01:00
Ivan Savenko
0ba74fea73
Merge pull request #1515 from IvanSavenko/time_based_animations
Time based animations
2023-02-01 12:25:54 +02:00
Ivan Savenko
c5508d33fc
Merge pull request #1514 from IvanSavenko/rewardable_fixes
Minor fixes to rewardable objects
2023-01-31 12:47:24 +02:00
Dydzio
88744633de Move buttons from mainOptions to SystemOptionsWindow 2023-01-30 23:26:33 +01:00
Dydzio
cc9d65a341 Make battle settings callable without battle, save last settings tab 2023-01-30 22:15:37 +01:00
Dydzio
9dd692cea4 Initial draft of tabbed settings window 2023-01-30 20:18:59 +01:00
Dydzio
1898b8218c Merge remote-tracking branch 'origin/develop' into settings-rework 2023-01-29 17:36:56 +01:00
Ivan Savenko
57ee9a9bf3 Merge vcmi/beta into vcmi/develop 2023-01-29 18:21:55 +02:00
Dydzio
0fdfd8bdcb Configurable interface for game settings, change sound/music sliders 2023-01-29 16:49:47 +01:00
Ivan Savenko
3749074a4d Renamed speed setting name to force-reset it to new scale 2023-01-28 16:49:35 +02:00
Ivan Savenko
a853045509 Removed unused value from creature config 2023-01-28 13:56:51 +02:00
Ivan Savenko
d34efaeb81 All battle effects now use time-based timings 2023-01-28 13:19:35 +02:00
Ivan Savenko
a2cd17197e Fix Campfire Gold reward amount. Now always one of 400/500/600 2023-01-28 13:12:03 +02:00
Ivan Savenko
8b2d336562 Fix initialization of visitDir in templates 2023-01-26 23:32:56 +02:00
Ivan Savenko
bc27faea57 All objects will register single name per object type 2023-01-26 23:32:55 +02:00
Ivan Savenko
49d0459412 Remove unused code 2023-01-26 23:27:26 +02:00
Ivan Savenko
f71cbc5d9b Fixed loading of object names 2023-01-26 23:27:26 +02:00
Ivan Savenko
d0fe875cc6 Removed wog object 2023-01-26 23:27:26 +02:00
Ivan Savenko
6f324216db Bugfixing 2023-01-26 23:27:24 +02:00
Ivan Savenko
6c472339ce Refactoring of ObjectClassesHandler 2023-01-26 23:26:49 +02:00
DjWarmonger
25ef065dbe
Merge pull request #1486 from IvanSavenko/configurable_rewardables
Well, it works for my brand new objects with arbitrary bonus, so likely will work with everything else.
2023-01-26 17:01:01 +01:00
Ivan Savenko
35775b90f8 Moved bonus names to translation 2023-01-25 12:36:02 +02:00
Ivan Savenko
39131eba3e Added translation support for mods. VCMI translations are now in mod.
Moved existing (English) translation to vcmi mod
Added translations for:
- German
- Polish
- Ukrainian
2023-01-25 12:33:54 +02:00
Ivan Savenko
52ab0f9b5b
Merge pull request #1446 from dydzio0614/movement-points-show
Implement movement points info on ALT hold + tile mouse hover
2023-01-25 12:30:34 +02:00
Ivan Savenko
7a9e5e4e30 Cleanup & consistency changes 2023-01-25 00:38:50 +02:00
Ivan Savenko
44bdd2cbf3 Implemented selectable messages for visited & empty state 2023-01-24 23:31:07 +02:00
Ivan Savenko
3ba8d708f8 Partially fixed bonuses descriptions (affected by separate old bug) 2023-01-24 17:34:48 +02:00
Ivan Savenko
c793527b44 Added "days since start of the game" limiter. Fixes Water Wheel 2023-01-24 16:54:14 +02:00
Ivan Savenko
c9dcb921ab Implemented "changeCreatures" option for Stables 2023-01-24 16:18:59 +02:00
Ivan Savenko
ecbcafefbc It is now possible to configure what exactly will be reset in object 2023-01-24 13:54:03 +02:00
Ivan Savenko
0c70822928 Implemented logical expression (allOf/anyOf/noneOf) for limiters 2023-01-23 23:54:54 +02:00
Ivan Savenko
f8f6df02f3 Removed remaining hardcoded objects 2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59 Bonusing objects are now configured in json 2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25 Moved all once-per-hero visitable (sans Tree) to config 2023-01-22 22:58:53 +02:00
Ivan Savenko
a6bda58276 Moved CGOnceVisitable to config 2023-01-22 20:26:19 +02:00
Ivan Savenko
0e1b309edc Moved pickable objects into a separate file 2023-01-22 18:53:01 +02:00
Ivan Savenko
fcb455b7f4 Fixed remaining bugs with converted objects 2023-01-22 18:37:26 +02:00
Ivan Savenko
695a94c3c8 Fixed all major bugs with newly converted objects 2023-01-22 18:17:26 +02:00
Dydzio
426246dc7e Add missing entries for new "limited shooting range" bonus 2023-01-22 10:30:53 +01:00
Ivan Savenko
9f3f9cc563 Added some missing functionality for configurable object 2023-01-22 02:08:58 +02:00
Ivan Savenko
83bb70cd8a All CGPickable objects are now fully configurable 2023-01-21 16:45:04 +02:00
Dydzio
192a97bc05 Extract method and make customizable movement points string 2023-01-21 15:30:32 +01:00
Ivan Savenko
f33d7d4f90 Fixed petrify & paralyze damage calculation 2023-01-20 15:18:10 +02:00
Ivan Savenko
03ca4b54c0 Fixed damage to opposite elementals 2023-01-20 15:18:10 +02:00
Ivan Savenko
1f38f27741 Fixed Bless and Curse damage calculation 2023-01-20 15:18:10 +02:00
Ivan Savenko
8149cd6173 Fix missing obstacles on subterranean terrain 2023-01-20 15:16:42 +02:00
Ivan Savenko
f5a7f5173f Cursor type is now configurable in Launcher 2023-01-20 15:15:19 +02:00
Ivan Savenko
e684300715 Fix mod validation for terrains 2023-01-18 15:48:10 +02:00
Andrii Danylchenko
6c843bce0b SDL relative pointer for android 2023-01-18 10:38:55 +02:00
Ivan Savenko
c400416058
Merge pull request #1409 from IvanSavenko/translate_terrain
Refactoring of terrain handlers
2023-01-18 00:12:31 +02:00