Coder Social home page Coder Social logo

Comments (1)

SomeTroglodyte avatar SomeTroglodyte commented on July 20, 2024

Not very familiar with Scenarios, though I did one once - ah yes to see the new icon on the main menu button...

Wiki: https://yairm210.github.io/Unciv/Modders/Scenarios/
Doesn't say much about who will be playing as who... But UncivFiles.loadScenario does: The Spectator the wiki mentions (all if >1) is removed, if there's no humans the first civ is made human, then the first human starts play and any other humans are hotseat. So.... Select the intended player first when creating, that's all.

Simplest of my ideas: Define that hotseat scenarios are not supported. Then, in loadScenario - or maybe where PlayerReadyScreen is shown - offer the choice, if moreThanOnePlayer && isSingleplayer && isScenario. The latter has the advantage that killing the process and reloading an autosave will re-pop the question until resolved, but would need another persisted flag. Both variants don't need an extra async preview.

As for Info: Adding "included nations" info to the load scenario screen may be attractive - could be treated 100% independently from the idea above. Or maybe no such info - Scenario creator should choose a name divulging as much as they want about who is in there??? Or - define "add a png file with the same name and/or a txt with the same name to have the load scenario screen show them when your scenario is selected".

OR... Define a meta-Unique "Show before scenario load", UniqueTarget.Event, or as metamodifier to go on the trigger event unique, create a IHasUniques container on the GameInfo granularity, load these with a "Preview" class, and you have a rich presentation tool for the load scenario screen.

Then... A "turn 0" Event could use EventChoices for converting surplus hotseat players to AI - would still need a game- not mod- specific global Unique container. Also allows pretty rich decorations.

from unciv.

Related Issues (20)

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.