GithubHelp home page GithubHelp logo

inferno8 / wesnoth-to_lands_unknown Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 5.0 68.66 MB

add-on for Battle for Wesnoth

License: GNU General Public License v2.0

Lua 97.44% Shell 2.56%
wesnoth wesnoth-campaign wesnoth-umc

wesnoth-to_lands_unknown's Introduction

About

To Lands Unknown is an add-on for Battle for Wesnoth (BfW), providing a single-player (offline) campaign and associated artwork. For instructions on how to use, see the BfW documentation at:

http://www.wesnoth.org/

For a discussion of this add-on, visit:

https://forums.wesnoth.org/viewtopic.php?f=8&t=31799

License

The add-on's source code is provided under the terms of the GNU General Public License version 2, or (at your option) any later version, under the same terms as the main BfW project.

The artwork specified in ART_LICENSE is under CC-BY-SA, please see that file for more information.

Installing

This add-on is best installed through the BfW add-on interface. Please see the BfW help for more information.

wesnoth-to_lands_unknown's People

Contributors

cooljeanius avatar forestdragon-wesnoth avatar inferno8 avatar proditormagnus avatar slayer95 avatar toranks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wesnoth-to_lands_unknown's Issues

State of easy difficulty

I tested it by playing in a very naive way (*) and I found the following failure points and/or issues.

  • S03 Quick lizards may easily exterminate player's army. Suggestion: Lower incidence of quick lizards or entirely make them intelligent/resistant.

  • S06 Rescued lizards' HP too low. Suggestion: Automatically summon Forest Spirits in easy/normal and maybe even directly heal-sacrifice them in easy. Lv2 EoMa_Blood_Warrior guard at 25 26 may be too strong.

  • S10 Shadow Mage's slowing Rashti may result in protracted war in front of the red circle and heavy losses.
    Suggestion: Don't let the mage use his slowing attack on offense.

  • S12 (23,19) is a castle slot but disconnected from the rest of the castle/portal circle. There should be a well west to cure poison. If there is, I cannot find it. Incidentally, there are supposedly 3 wells in this scenario, but I can only find the one next to Kalib and the one north.
    Despite an empty recall list, beat this scenario without major issues.

  • S15 Might be a bit too easy.

  • S16 Definitely too easy. Lower 100 gold?

(*) Naive way (TM)

  • Mehir stays in Keep
  • No ZoC
  • No gold/exp farming (end scenario ASAP).
  • No items/secrets picked up
  • Recall everything and recruit til gold runs out
  • Prioritize slowing, then attack mindlessly

Suggestion: Variable recall cost and expensive early djinns

Under the Burning Suns recently implemented a new feature to modify units recall cost depending on the unit cost and campaign difficulty (wesnoth/wesnoth#7450). That implementation has its merits and might be worthy of testing because of the following issues.

  1. Mystical Djinn and Summons Masters are way too viable in a monopolistic sense. There is basically no reason to advance Neutral or Heavy Summoners. Early djinn? Locked. Early rhamis? You get a HS for free in S04. Drain? Tons of mechanical, magical, and undead/destroyer foes. Rushing to get a Summon Master even rewards the player with a free AMLA.
  2. Recalling Carpet Riders, Lv1 Elementals feels like a huge waste of gold. A large cost for dimensional gates (Mehir's "collection") doesn't make sense flavor-wise either.

On the other hand, I am not a priori exhilarated by the huge costs such a proposal implies for the highest difficulty (equivalent to recruiting a brand new unit).

Other than that, I believe that implementing variable recall cost would make early djinns a possibility. Given that the cost of summoning decreases the further the player progresses in the campaign, it wouldn't be a stretch to make the costs of recalling djinn (summoned by a Neutral Summoner) large in the first few scenarios. It could even be said that even Mehir's army wants to rip him off when recalling djinns. After Mehir becomes the leader of Tar-Tabar, he could confiscate (just to use badass terms) those djinn, so that their overcost is gone.

S06 Fire Canyon Badass Mode - Win condition unclear

S06 Fire Canyon normal behavior is for

Spoiler
Goblin units to kill their own leader once Mehir reaches his own camp

However, if by that time only the foe leader remains standing, he will remain alive. Then, victory won't be triggered unless the player sends units to kill the leader (which takes 3+ turns). However, there is no visual indication that the win condition has changed, and the camp will still be marked as a destination.

Status of translations

Language Valid Invalid (Fuzzy) Empty
German (de) 492 664 1430
Spanish (es) 2586 0 0
French (fr) 1709 427 450
Hungarian (hu) 237 431 1918
Italian (it) 243 431 1912
Polish (pl) 2418 62 106
Russian (ru) 270 324 1992
Chinese (zh_CN) 309 500 1777

It can be seen that there is a large amount of missing strings in German, Hungarian, Italian, Russian, and Chinese. So I'd like to propose and step forward to handle these through machine translation (i.e. no guarantee about quality. See also Cunningham's Law).

French and/or fuzzy strings can be updated too, if so desired.

Translation updates

stuff involved in this:

  • regenerate the potfile with wmlxgettext
  • get pofiles out of the mofiles by using msgunfmt
  • update the pofiles from the newly-updated potfile by using msgmerge

cc @Toranks

Screenshots?

Hey Inferno8,

I know you are busy but if you may have the time in the coming weeks or months, perhaps a few screenshots (say 2-3 or so) could be added or linked in from the main README? Simply for people to get a firs tvisual impression, in particular if the artwork may be unusual (which it is!).

S14-15: Banishment Staff for Semir?

It doesn't matter much if the player has taken the staff for later use (i.e. for when they recruit a Dispeller in this scenario.)

But if they haven't, it would be nice to let Semir own it from the start (maybe even from S14).

Circle of resistance stacks with ultimate circle

  • Mehir gets +20% resistances from the CoR AMLA.
  • Adjacent allies get +20% resistances from the CoR ability.
  • Adjacent allies get +20% resistances from the UC ability (further).
  • And yet Mehir gets +80 XP in "compensation" for their supposed not stacking.

imagen

Update tips

A few scenarios have too many tips, while others lack important ones. This is particularly notable for the Hard difficulty, in which they could/should be removed.

  1. S01 Highest Tiers - It's not clear that the player absolutely MUST hurry in order not to loss on turn limit.
  2. S03 Near the Jungle
  • No mention of the healing properties of oasis.
  • [Normal mode] Rhaxiz could use an "invulnerable" icon. (wesnoth/wesnoth#7363)
  1. S08 Ka-gatta - There's an oasis here, too.
  2. S15 Abyssal Rebellion
  • Way too many tips (mostly voiced by banisher Semir)
  • In particular, that Semir will leave is mostly an irrelevant fact and an spoiler.
  1. S16 Deffense of Saffaros
  • Spoiler on Atiros' fate can be left out.
  1. S19 Sky Kingdom
  • Except for possibly some niche gameplay, gold is meaningless afterwards. This should be conveyed or fixed somehow. (Fixed in #28)

New AMLAs

Context

enable custom AMLAs and summon options for Rashti(COMPLETED v3.6)

While Rashti is quite powerful after 92100b2, imo the main selling point of AMLAs is player agency, so I hope she gets some options, such as:

  1. Definitive Strength: +10% "physical" damage.
  2. Definitive Magic: +10% "magical" damage.
  3. Definitive Intellect: -30% Max XP required for other AMLAs. (Though she's not Nomolas).
  4. Sadism: +25% damage to enemies below 40% HP (flavor: red Rashti).
  5. Majesty: On offense, defender retaliates with one less strike, but at least 1 (aka "Shock" from Eastern Invasion) (flavor: blue Rashti).
  6. Fast Summon: Rashti may summon a rhami or elemental, and still move afterwards (but no longer attack).

Other possible recipients for Fast Summon include Neutral Summoner, Heavy Summoner, Summons Masters, Mehir Commander, Mehir Leader, and Last Summoner (btw, currently Last Summoner doesn't have Mehir Leader's AMLAs available, bug?). IMO, they should all get it in the campaign.

Finally, Mehir could use a few special AMLAs (i.e. not just raw numbers bonuses). I like Meditation, so I'd like to propose "Meditation II", among others. Summing up:

  1. Good at using scrolls (Guard and later): Adds "first strike" to scroll spell.
  2. Meditation II (Commander and later, requires "Meditation"): Further +3 XP per turn.
  3. Synchronization (Commander and later, requires "Good at using scrolls"): Adds "first strike" to circle of destruction, but losses regeneration (harmed 'cause stayed too long in circle).
  4. Fast Summon (Commander and later, wbu making it and synchronization exclusive branches after "Good at using scrolls"?)

Villages in S10 Chaos

  • It's not obvious that the tents next to the starting castle are actually villages.
  • After the red abyss portal is opened, Aerius' villages are razed, but the former aren't. Yet, any units standing on the villages or further from the portal will get sucked.

Dimensional gate recovers all advancements when load a savegame

A Dimensional Gate recover all of its advancements and the ability to level up simply by loading a savegame.

I'm wondering if this is because the unit advances have been edited directly instead of using [object]

Maybe this is a better alternative:

[event]
    name=recruit,recall,unit placed
    id=eoma_soulcatcher_event4
    first_time_only=no
    [filter]
        ability=soul_catcher
    [/filter]

[modify_unit]
   [filter]
      x,y=$x1,$y1
   [/filter]
  [object]
    id=delete_advancements
    [effect]
       apply_to=remove_advancements
       type=EoMa_Rhami,EoMa_Fire_Elemental,EoMa_Water_Elemental,EoMa_Air_Elemental,EoMa_Earth_Elemental,EoMa_Jinn,EoMa_RhamiKai,EoMa_RhamiDatu,EoMa_Fire_Avatar,EoMa_Water_Avatar,EoMa_Air_Avatar,EoMa_Earth_Avatar,EoMa_Great_Jinn,EoMa_Efreet
    [/effect]
  [/object]
 [/modify_unit]

    [allow_undo]
    [/allow_undo]
[/event]

This need to change the code on other parts too, but from what i've seen in various parts of the code, the solution of using object is simpler than currently exists.

If you want, I can fix it in several parts and send a PR proposal @inferno8

This PR is related, because of it I discovered that neither my fix nor the original method works correctly:
#17

Ally leaves his keep in Defense of Saffaros

That makes Mehir's idea of sacrificing jinn pointless, since he may simply steal Dedylos' castle.

He shouldn't leave it for, at least, the first 5 turns or until Mehir reinforces the outer wall.

S16: Hydras spawn algorithm has too large power variance.

Currently, each turn there is a 50% chance of spawning a Lv2 Hydra, as well as an independent 50% chance of spawning a Lv3 Hydra. This means there is a 25% chance of spawning nothing vs 25% chance of spawning them together.

Suggestion: Spawn either 1 Lv2 Hydra or 1 Lv3 Hydra per turn (at random).

S06 - Saurians teleporting back to the cage

If you rescue the saurians while an enemy is trying to thrown down a cage, and you don't kill that enemy, the saurian that was in the cage teleports back to the cage each turn (and the cage respawns), and may eventually die and lost the scenario. To avoid it, you have to mandatory kill the enemy who pushes the cage in the following turns.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.