1.4.4.3
-------
Achievement system (phases 2–3): medals, ranks, cards, armory, pre-mission loadout:
- main menu **Achievements** entry: achievement list + armory (rank, honors, medals, card inventory)
- post-game settlement evaluates ``achievements.txt``; voice for unlock, medals, cards, rank promotion, loadout slot increases
- per-mod save: ``user/achievements/<mod_key>.json`` (unlocks, medals, cards, honors)
- **pre-mission card loadout** (single-player → start on map → **Start**): pick up to N cards by rank (``loadout_slots`` in ``titles.txt``); **TrainingGame only** (custom / random map vs computer; not campaign or multiplayer)
- card effects apply after map populate: bonus resources and/or units near your start; one charge consumed per card used
- **card spawns do not consume population**; random-faction games use ``equivalent_type`` for spawn units
- **fix:** loadout cards were not applied at game start because local player was detected only after ``GameInterface`` existed; now resolved via ``local_client.player`` before the interface opens
- armory: browsing a card announces its effect (start bonus, spawn summary, ``min_rank`` if locked)
- ``repeat_medal <n>`` in ``achievements.txt``: repeat completion (same ``once`` key) grants n medals only — no card, honor, or unlock voice; medals still count toward rank
- mod opt-out: ``achievements_enabled 0`` in ``rules.txt`` ``def parameters`` hides the menu entry and skips loadout / post-game processing; does not load ``achievements.txt`` / ``cards.txt`` / ``titles.txt``
- **AI ``starting_units`` bonus (``ai.txt``) no longer consumes population** (map starting units still do); buildings still add ``population_provided`` as before
- content: ``res/achievements.txt``, ``res/cards.txt``, ``res/titles.txt``; TTS 5244–5367, 5310–5332, 5400–5411
- docs: ``docs/zh/achievement-system.md``, ``docs/en/achievement-system.md``
- tests: ``test_achievements.py``, ``test_cards.py``, ``test_titles.py``, ``test_card_loadout.py``
1.4.4.2
-------
AI counter targeting and bonus starts (``ai.txt``):
- computer units use ``mdg_vs`` / ``rdg_vs`` and ``is_a`` inheritance when choosing targets and sending attacks
- new ``counter_skill <0-100>`` command: ``0`` = ``menace`` only, ``100`` = always best counter; intermediate values blend both
- vanilla ``res/ai.txt``: beginner 25, intermediate 50, advanced 75, expert 90, nightmare 100; default 100 if omitted in mod scripts
- new ``starting_resources`` / ``starting_units`` in ``ai.txt``: bonus added on top of map start for invited computers (map syntax; once at game start)
- new ``starting_population`` in ``ai.txt`` and maps: bonus population cap (plain integer; still capped by ``global_population_limit``)
- fix: ``starting_resources`` in ai.txt now uses the same ``to_int`` scaling as map starts (``400`` = +400 gold, not +0.4)
- docs: ``doc_src/src/en/aimaking.rst``, ``doc_src/src/zh/aimaking.rst``; tests: ``test_ai_counter_targeting.py``, ``test_ai_loader_and_menu.py``, ``test_ai_start_settings.py``
1.4.4.1
-------
Dynamic invite-computer menu from mod ``rules.txt`` mappings:
- without a mod: still five tiers (Beginner … Nightmare / 初级 … 噩梦)
- with a mod loaded: menu lists each difficulty tier mapped in faction blocks of ``rules.txt`` (as many buttons as you map); ``ai.txt`` holds scripts only — no empty ``def beginner`` placeholders needed
- mappings using ``beginner`` … ``nightmare`` show standard tier labels; legacy ``easy`` / ``aggressive`` mappings show quiet / aggressive computer (defensive / aggressive in Chinese UI) for old mods
- custom script names (e.g. ``tang_empire_easy``) are referenced only through ``rules.txt`` and never appear as separate invite entries
- multiplayer: new ``invite_ai <tier>`` command; legacy ``invite_beginner`` … commands still work
- ``clear`` in ``ai.txt`` only affects whether base AI scripts are replaced on load, not the invite menu; most mods do not need it
- docs: ``doc_src/src/en/aimaking.rst``, ``doc_src/src/zh/aimaking.rst`` — invite menu / mapping sections rewritten
- tests: ``test_ai_loader_and_menu.py``
1.4.4.0
-------
Five computer difficulty levels (replacing the old defensive / aggressive / aggressive-2 buttons):
- single-player and multiplayer invite menus now offer Beginner / Intermediate / Advanced / Expert / Nightmare (初级 / 中级 / 高级 / 专家 / 噩梦)
- each level is just an AI script you can rewrite in ``res/ai.txt`` (``def beginner`` … ``def nightmare``)
- backward compatible: legacy ``def easy`` / ``def aggressive`` keep working as aliases for Beginner / Intermediate; a level with no ``def`` falls back to the closest lower one, so old mods/maps still run
- the legacy random-cheat "aggressive computer 2" (``ai2``) is no longer offered in the menus; the engine still understands it for old replays/saves
- new ``ai.txt`` script commands to shape each difficulty:
- ``workers <n>`` — target number of workers (economy strength)
- ``expand <n>`` — total town halls / bases to maintain (``2`` = one expansion)
- ``attack_ratio <pct>`` — % of the enemy's strength needed before attacking (180 = cautious default, <100 = relentless)
- ``wait <seconds>`` — pause on the current line for pacing (a non-zero ``watchdog`` still overrides it)
- new server invite commands ``invite_beginner`` … ``invite_nightmare`` (old ``invite_easy`` / ``invite_aggressive`` / ``invite_ai2`` kept for compatibility)
- difficulty labels added to ``ui/tts.txt`` (ids 5220–5224; English + Chinese + German, other languages fall back to English)
- docs: ``doc_src/src/en/aimaking.rst`` (zh: ``doc_src/src/zh/aimaking.rst``)
- tests: ``test_ai_loader_and_menu.py``
game:
https://www.dropbox.com/scl/fi/iawxv75263qp6csxt43fo/soundrts-1.4.4.3-ultimate-version-windows.zip?rlkey=es3x4ugp6rk522hzs74woakdy&st=t67qtx1u&dl=1 --
You received this message because you are subscribed to the Google Groups "soundRTSChat" group.
To unsubscribe from this group and stop receiving emails from it, send an email to soundrtschat...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/soundrtschat/e20373e1-3790-4414-bb21-e4a5e49b15e5n%40googlegroups.com.