1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-23 00:28:08 +02:00
Commit Graph

232 Commits

Author SHA1 Message Date
139f41c9b2 Implement STACK_EXPERIENCE_GAIN_PERCENT bonus
Suggested on Discord

- implements STACK_EXPERIENCE_GAIN_PERCENT that modifies stack
experience received by units after combat
- removed "EXPERIENCE" primary skill. Changes to experience are now
applied through separate netpack
2025-06-02 21:21:20 +03:00
a8fdcf7823 Merge pull request #5735 from IvanSavenko/artifact_bonuses
Per-instance bonuses for artifacts
2025-05-23 16:03:59 +03:00
25e57542be Merge pull request #5725 from IvanSavenko/bonus_description
Custom descriptions and icons for creature abilities
2025-05-23 14:02:34 +03:00
6fe3666abb Fix validation of addInfo of bonuses
- Added missing docs on addInfo of some bonuses
- Unified naming in docs to match json keys
- Removed addInfo from bonuses that don't actually support it
- Added loading of addInfo to bonuses that support it
2025-05-22 19:00:18 +03:00
62316a6420 Per-instance bonuses for artifacts
It is now possible to give artifacts per-instance bonuses, if needed.

Unlike shared bonuses, per-instance bonuses stack if multiple instances
of same artifacts are equipped on hero.

This to implement resource-producing artifacts in line with H3 -
equipping multiple such artifacts on a single hero will give bonus from
each instance of such artifact.

Also, both existing bonuses and new instanceBonuses fields now use json
object instead of json lists. This allows easier modification of
individual bonuses of artifacts and potentially - custom icons /
descriptions for artifact bonuses.
2025-05-21 19:24:19 +03:00
3f83ad1b40 Merge pull request #5726 from IvanSavenko/breath
Configurable multi-hex attacks
2025-05-21 17:10:59 +03:00
9787f33798 Update schema & docs 2025-05-21 14:57:10 +03:00
550d4d76eb Merge pull request #5730 from IvanSavenko/rewardable_creature_fix
Fix handling of creatures in configurable town buildings
2025-05-21 13:51:43 +03:00
323231fc30 Merge pull request #5720 from SoundSSGood/artifact-charges
Charged artifacts
2025-05-21 13:49:14 +03:00
95ce9ce509 Fix handling of creatures in configurable town buildings
- Fixed removal of partial stacks of creatures
- It is now possible to give units via town building, but only if
visitor has slots to take them
2025-05-20 22:36:20 +03:00
e90d8c318d Configurable multi-hex attacks
- Added bonus type MULTIHEX_UNIT_ATTACK - configurable version of Dragon
Breath.
- Added bonus type MULTIHEX_ENEMY_ATTACK - configurable version of
Cerberi multi-headed attack that only hits enemies
- Added bonus type MULTIHEX_ANIMATION - optional bonus that does not
affects gameplay, but allows to define in which cases game should use
alternative attack animation.
- All existing multi-hex attack bonuses other than ATTACKS_ALL_ADJACENT
are presumable deprecated, but will be supported for now.
- It is now possible to precisely configure which hexes are targeted by
MULTIHEX_XXX bonuses. See docs for details.
- Unified logic of all multi-hex attacks, all existing bonuses are now
implemented as specific case of MULTIHEX_XXX bonus
- Added tests to cover Cerberi attack logic, and fixed incorrect edge
case of Dragon Breath
2025-05-20 15:08:59 +03:00
2cd61af276 rename field to match actual key in json 2025-05-20 14:56:22 +03:00
e85b1d4c1c suggested changes 2025-05-17 19:01:04 +02:00
051381d4db Docs 2025-05-17 15:06:09 +02:00
f614a8a7f5 Discharging conditions 2025-05-16 23:26:42 +02:00
a750adf705 Bonus type ARTIFACT_CHARGE 2025-05-16 23:20:09 +02:00
c7228b7e50 Fix incorrect icon on removal of skill 2025-05-16 17:43:27 +03:00
b37a3dc63c Lighthouse / flaggable objects now has dedicated bonus system node
this alows to remove multiple hacks from lighthouse logic
2025-05-14 13:42:19 +03:00
1165dadfd4 Merge pull request #5701 from IvanSavenko/bonus_docs
Update documentation for bonuses and fix creature type limiter
2025-05-14 11:53:05 +03:00
a13ab8f013 Merge pull request #5707 from IvanSavenko/dwelling_fix
Fixes for handling of oversized map dwellings
2025-05-14 11:52:40 +03:00
ed2b9e77e4 Fix documentation on configurable map objects 2025-05-13 18:12:43 +03:00
cb70cc48d6 Fixes for handling of oversized map dwellings
- Marked large version of H3 Unicorn's Glade as not usable for random
dwelling replacement
- Shifted oversized dwellings - that have at most 2x2 as blocked tile,
but have non-blocked tile column will now be placed correctly
- This fixes incorrect random dwelling replacement of the only oversized
H3 dwelling - Portal of Glory
- Game will now detect & report invalid dwelling templates from mods
- Updated docs to clarify dwellings format
2025-05-12 18:01:46 +03:00
0a74992268 Fix formatting 2025-05-11 19:58:49 +03:00
990f766254 Update & expand docs on bonus limiters & updaters 2025-05-10 19:16:51 +03:00
a188934e12 Add basic description of battlefield layout 2025-05-10 19:12:59 +03:00
9bf5cf42f3 Move guides to separate directory to make them easier to find 2025-05-10 19:11:30 +03:00
754bc16e82 Fix .md formatting 2025-05-09 18:45:28 +03:00
cf69440e9a Update docs 2025-05-09 17:26:35 +03:00
896a7ec88e Better support for Adela specialty (+new modding functionality for it)
Fixes Adela specialty that was apparently broken back in #1518 and
replaced with logic that was clearly not tested - it was neither
functional, nor it was following H3 behavior.

- `HAS_ANOTHER_BONUS_LIMITER` now accepts `null` in place of bonus type,
for cases when limiting is needed by bonus source or bonus subtype. This
allows Adela Bless specialty to always work, irregardless of which
bonuses are provided by Bless.
- Implemented `DIVIDE_STACK_LEVEL` updater that functions same as
`TIMES_STACK_LEVEL`, but it divides bonus value, instead of multiplying
it (to make Adela specialty weaker for high-tier units, as in H3)
- Implemented `TIMES_HERO_LEVEL_DIVIDE_STACK_LEVEL` updater that
combines two existing updaters, to implement `val * heroLevel /
unitLevel` formula needed for Adela specialty
- Removed deprecated `ARMY_MOVEMENT` updater. Its functionality has
already been removed in 1.6.X releases, and it was remaining only as a
placeholder
- Updated modding documentation to account for these changes & to remove
some TODO's

Fixed regression from #777 that could led to either duplicated bonuses
or to multiple application of updaters. It introduced double-recursion -
node parents were gathered recursively, and then bonuses were also
collected recursively within each parent. This created situation where
updater could be applied different number of times. For example, hero
bonus that is propagated to unit in combat could be selected directly,
or via hero->combat unit chain, or via hero->garrison unit->combat unit
chains, leading to different calls to updaters if updater handles
garrison unit node type
2025-04-13 16:24:51 +03:00
6247ed80d2 Merge pull request #5592 from GeorgeK1ng/mod_types
Add "Campaigns" mod type
2025-04-09 17:24:32 +03:00
227ea5da08 Update docs 2025-04-07 21:03:09 +02:00
58a6aabd4c Switch list patching to more user-friendly 1-based indexing 2025-03-30 17:18:47 +03:00
4dc82284b4 Add docs 2025-03-30 17:12:42 +03:00
9805520f3c Fix comma 2025-03-09 17:57:52 +01:00
ea80cccb25 Update docs 2025-03-09 09:27:34 +01:00
ec970c7b22 Support for configuring minimal cost for moving between tiles
- Added `movementCostBase` parameter to game config that defines minimal
amount of movement points that will be spent when moving from one tile
on another while offroad (and cost of Fly / Town Portal spells)
- Added `BASE_TILE_MOVEMENT_COST` bonus type that allows modifying
`movementCostBase` on per-hero basis

Example usage for hota-like pathfinding skill
```json
"tileCostReduction" : {
	"type" : "BASE_TILE_MOVEMENT_COST",
	"val" : -15
}
```
2025-02-03 22:52:33 +00:00
722d68643f Merge pull request #5306 from IvanSavenko/xbrz_foreground
[1.6.4?] Move xbrz upscaling from foreground thread to background
2025-01-25 17:23:46 +02:00
301086d956 Support for shadow, overlay and player-colored premade images for 1x 2025-01-24 19:49:30 +00:00
f3e690f3b2 Fix several 404 links in documentation 2025-01-23 21:01:17 +00:00
5064f6282a Clarified docs 2025-01-19 19:43:12 +00:00
92b2c175a7 Clarify docs on fused artifacts 2025-01-18 19:47:42 +00:00
53d4afdae5 Enable rule to enforce specifying language for code blocks 2024-12-05 21:32:55 +00:00
879aaba980 Use json instead of json5 for syntax highlight in docs
Looks like website only recognizes javascript & json, and is not aware
of jsonc or json5.

Will result in small regression on Github web view - comments will show
up as red (since comments are not part of json format), but syntax
highlight would work both on website and on Github.

Alternative is using javascript for syntax highlight, however syntax
highlighter for json looks better on both website and Github (since it
uses separate highlighting for json keys, separate from strings in
values)
2024-12-04 16:50:01 +00:00
877f47e37f Merge branch 'develop' into video 2024-12-02 13:48:30 +02:00
306ee95496 Merge pull request #4965 from vcmi/sealed_zone
New type of zone - "sealed"
2024-12-02 13:21:02 +02:00
54e2dc4bf8 Fix json in examples 2024-12-01 19:12:07 +00:00
5e57582c47 Replace js -> json5 code blocks 2024-12-01 19:06:50 +00:00
7b682f9010 Always use json5 for syntax highlighting. 2024-12-01 12:18:06 +00:00
36fe8462c5 Address code review, fix few more issues with formatting 2024-12-01 11:15:13 +00:00
74a4a10f48 Added markdownlint to Github CI
- Markdown will now be validated as part of Github CI
- Applied auto-fix to most common issues (mostly whitespace related)
- Fixed manually some of more complex cases

Some valid markdownlint rules are currently disabled, to avoid failing
CI, can be enabled in future
2024-11-30 20:20:15 +00:00