Results 1 to 14 of 14

Thread: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

  1. #1

    Default [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hello everyone,

    here is a fully scripted Hotseat campaign_script for Divide and Conquer 3.0. I started to do some little things for myself and ended reworking the whole scipt and check every single line for hotseat compatibility. It would be a shame to keep ths to myself .
    Is is based on Melvasul's HotSeat Guide, but I added the missing scripts again and fixed many hotseat oddities.

    What to expect:
    - The script detects automatically if played on hotseat, you don't have to change the script for playig in Singleplayer. In Singleplayer everything works as Vanilla DAC.
    - Automatically balanced Hotseat Campaign (Details below)
    - Fixed Scipts like Season and One Ring fireing for every Player Faction instead of one time per Turn.
    - All Faction Scripts are working. Khazad-dum is starting in Moria (just for Hotseat) but form there on all scripts are working. Balrog, Spread the Word, etc. Elven Alliance is deactivated if Woodlamd and Lorien both are played by players.
    - (For Modders)Centralised Faction Startup - The Faction Startup Scripts like extra AI money, regions, army are now centralised and not all over the script
    - Nazgul Script should be fixed in Hotseat
    - CampaignDifficulty is now set always to very_hard (Script wise). Info: CampaignDifficulty is bugged in Hotseat. It will be set to Normal on 2nd Players Turn. I'm not sure if it also affect some hardcoded game logic, but it will now no longer effect the campaign_scipt. It ist now always set to very_hard (Only in Hotseat)
    - One Ring Script somewhat working in Hotseat - I tried my best but it is a big a** script. Don't fully understand it now. Should work for Good Faction though. Reduced the time until Sauron enters the ring ~Turn 160 (only hotseat)

    Hotseat Balance:
    There are three different Balance Templates that will be applied automatically.
    - Singleplayer / Mixed Factions
    - Good Faction Coop Balance
    - Evil Faction Coop Balance
    If played on Singleplayer or with mixed good and evil factions +-1 the default balance will take place. According to the own faction played, neighbouring ai factions get buffs.This buffs can now accumulate.
    If played with mainly good or evil factions (two more than opposing) a special Coop balance will take place. Its not completly different or hardcore but will make sure that the opposing side will take the upperhand if not stoppen by the players.

    Playing Hotseat:
    Add / Override the following lines to your TATW.cfg:
    Bold ones are important.
    Code:
    [hotseat]
    scroll = true                 ## disable start turn scroll in hotseat campaign
    turns = false                 ## disable forced separate human faction turns (including diplomacy) in hotseat campaign
    disable_console    = false         ## enable cheat console in hotseat campaign.
    ##admin_password = password         ## specify password for administrator access to the dev console when console disabled. Change 'password' to a suitable password
    update_ai_camera = false         ## enable camera updates during ai turn in hotseat campaign
    disable_papal_elections    = false     ## enable voting in papal elections in hotseat campaign (only first valid human faction votes)
    autoresolve_battles = false         ## disable forced autoresolve all battles in hotseat campaign
    validate_diplomacy = false         ## disable diplomacy validation for incoming propositions
    save_prefs = true             ## disable forced relevant hotseat options to be saved with game.
    autosave = false             ## autosave hotseat game at start of players turn
    save_config = true             ## save config file in save dir containing information about next players turn
    close_after_save = false         ## close medieval II directly after a hotseat autosave
    gamename = hotseat_gamename         ## sub directory name for hotseat save games
    validate_data = false             ## ensure game data files used in previous save match current campaign data files.
    allow_validation_failures = true     ## prevent game to load if savegame or data validations fail
    Make sure to NOT disable the console - it will break the script

    Install:
    replace the campaign_script.txt in data/world/maps/campaign/imperial_campaign
    make a backup from the orignal script

    I didn't test all of the scripts, so it is called a BETA. Errors may occure and break your game.


    Download:
    campaign_script.zip


    Thanks to the great work of the DaC Team
    and Mervasul for the HotSeat Guide
    Last edited by manabalu; April 17, 2019 at 10:09 PM. Reason: Updated File

  2. #2
    Melvasul's Avatar Biarchus
    Join Date
    May 2012
    Location
    Italy
    Posts
    622

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hi dude!
    Thanks for the quote

    I have two questions for a random/first look at your script:
    1. Regarding what I set as:
    Code:
    		;-----------------------------
    		;--- SETTLEMENT CONQUERORS ---
    		;-----------------------------
    		;-----------------------------
    		;-------- BONUS ARMY ---------
    		;-----------------------------
    		
    		;-----------------------------
    		;------ BONUS VS PLAYER ------
    		;-----------------------------
    Have you looked on the reason why I put(as a master condition)
    Code:
    monitor_event PreFactionTurnStart FactionType sicily
    		and IsFactionAIControlled
    removing that
    Code:
    and
    would make the other one(settlement conquerors) happen even if you are not the AI :/

    2. The part regarding the console is a double-edged sword:
    1. If the console is enabled(like in your script) the hotseaters can just do whatever they want and the function of the admin goes completely to done.
    2. If the console is enabled then only the admin can use it and so on

    Regards

  3. #3

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hey Melvasul,

    I removed it because I wanted one PreTurn Monitor for every faction. In Which all the startup things happens. There is now a new Condition that checks if the Faction is the LocalPlayer (LocalPlayer check works here in Hotseat because the monitor Condition is the FactionType). If it is the Local Player it does only human player stuff and terminates the monitor, never to return

    Regarding Console: I didn't add console commands, the vanilla script already had a lot of them

    Regards

  4. #4

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    I would recommend against using LocalFaction for anything in your hotseat script. I have simply replaced all instances of it with IsFactionAIControlled and there are no drawbacks. See here for the types of bugs you might get from LocalFaction in hotseat.

    I'm interested in how you handled neighbor bonuses. For example, if ND is human controlled, then Angmar will get boosted KP, etc. If you set these bonuses to only happen if Angmar is AI-controlled, then what happens if ND and Ered Luin are both human controlled? Then Angmar will be doubly boosted unless you have a counter that checks if it's already been boosted. Then which boost does Angmar get? The one for ND or the one for Ered Luin? In my script, I've simply allowed AI-controlled factions to be boosted multiple times if multiple of their neighbors are human controlled but I would be interested to know how you addressed this.

  5. #5

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by Callistonian View Post
    I would recommend against using LocalFaction for anything in your hotseat script. I have simply replaced all instances of it with IsFactionAIControlled and there are no drawbacks. See here for the types of bugs you might get from LocalFaction in hotseat.
    I'm aware of this Problem and replaced Local Faction with not I_IsAiControlled where neccessary. Local Faction works fine if you have a check for the same FactionType. for example:
    monitor event PreFactionStart FactionType norway
    if I_localFaction norway -> works
    if I_LocalFaction moors -> may not work

    that is because LocalFaction is always the last played Human Faction, including the actual turn. It can always only be one.

    Quote Originally Posted by Callistonian View Post
    I'm interested in how you handled neighbor bonuses. For example, if ND is human controlled, then Angmar will get boosted KP, etc. If you set these bonuses to only happen if Angmar is AI-controlled, then what happens if ND and Ered Luin are both human controlled? Then Angmar will be doubly boosted unless you have a counter that checks if it's already been boosted. Then which boost does Angmar get? The one for ND or the one for Ered Luin? In my script, I've simply allowed AI-controlled factions to be boosted multiple times if multiple of their neighbors are human controlled but I would be interested to know how you addressed this.
    Yes Ai factions can be boosted multiple times IF the "mixed balance" takes place (which is fine I think, against two ore more humand players the Ai will get big trouble and most balance in dac is limited by the recruitment times anyway), means: The human played factions of good and evil are not greater 1. (Khazad, Ered, Mordor for example) If it is greater a special balance is taken place (for example ered and khazad), that will boost all good or evil factions, depends on the player choosen factions. In that case no multiple bonuses will be applied.
    You can look into the script and look out for is_balance_coop_good for example (It means human player factions are mainly good and evil factions getting overall boost but no neighbour boost; in most cases).

  6. #6

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hey, thank you very much for this! Me and my friend have been sitting down and playing a Bree/Angmar campaign and we have had little to no problems so far. Thank you to all the people who contributed towards this, we really appreciate it

  7. #7

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hello,
    Thanks to all of the guys who are spending their precius time for making this happen.
    We have started a big Hotseat game (14 factions) . Eveything is working fine until now, (5 turns).
    Something else.
    I have noticed that in single player Khazad-dum is stuck. Only the red arrows appears. Nothing even if I press next turn.

  8. #8

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by granazis View Post
    Hello,
    Thanks to all of the guys who are spending their precius time for making this happen.
    We have started a big Hotseat game (14 factions) . Eveything is working fine until now, (5 turns).
    Wow 14 players, thats great. If anything strange happens please let me know

    Quote Originally Posted by granazis View Post
    Something else.
    I have noticed that in single player Khazad-dum is stuck. Only the red arrows appears. Nothing even if I press next turn.
    I just did a quick test and for me everthing is fine. Is there a special point that is not working? Do you have the vanilla desc_strat file?

  9. #9

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by manabalu View Post
    Wow 14 players, thats great. If anything strange happens please let me know
    I wish we where 14 human players .
    Right now we are 3 ,One plays the elfs factions, the second plays the Dwarf factions and the third guy is the Bad one with seven "evil" factions.
    We will see how this will evolve.

    I just did a quick test and for me everthing is fine. Is there a special point that is not working? Do you have the vanilla desc_strat file?
    Ok fixed !!! I replaced the desc_strat file with the vanilla!!!

  10. #10
    DOOMinator111's Avatar Foederatus
    Join Date
    May 2012
    Location
    Brisbane
    Posts
    31

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Hello, tried your mod of Melvasul's hotseat adjustments tonight and I love it, gonna make hotseats with my girlfriend that much better.

    Couple things though after I've done some quick testing on my own. The first is a bug I have when any faction is destroyed. The faction gets destroyed and turned to slave, then the game immediately crashes with an "unspecified error". Log attached, no information given on it though.

    The other thing is just a question. Which settlements need to be captured in order to unlock recruitment of Hasharii and Troll-men for Harad? Also has mumakil recruitment been pushed back behind the barracks event?

    system.log.txt

  11. #11

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by DOOMinator111 View Post
    Hello, tried your mod of Melvasul's hotseat adjustments tonight and I love it, gonna make hotseats with my girlfriend that much better.

    The first is a bug I have when any faction is destroyed. The faction gets destroyed and turned to slave, then the game immediately crashes with an "unspecified error". Log attached, no information given on it though.

    system.log.txt
    Hello my friend ,
    In our game , Goblins of Moria were destroyed and the game keeps going just fine!!! Maybe something else is wrong.

  12. #12
    DOOMinator111's Avatar Foederatus
    Join Date
    May 2012
    Location
    Brisbane
    Posts
    31

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by granazis View Post
    Hello my friend ,
    In our game , Goblins of Moria were destroyed and the game keeps going just fine!!! Maybe something else is wrong.
    Heya, tyty for letting me know, maybe something's wrong with my base DAC 3.0, cause the same error is happening on Melvasul's original hotseat edit (that's where i first discovered the bug), but the previous version i play with my girlfriend works just fine.

    I'll test my base game later tonight

    *EDIT* Turns out your suspicions were correct and it was the base DAC game. Will try a fresh install. Freshly installed everything and that's seemed to do the trick.

    *EDIT2* @manabalu , are the castles in Umbar territory supposed to be unmanned when the faction goes horde?
    Last edited by DOOMinator111; April 30, 2019 at 02:59 AM.

  13. #13

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Quote Originally Posted by DOOMinator111 View Post
    *EDIT2* @manabalu , are the castles in Umbar territory supposed to be unmanned when the faction goes horde?
    Do you mean the forts? They are unmanned. Umbar and other Cities/Castles should have garrissons at the start of the game. Everything should be exactly like in vanilla.
    If its not working, check if the console is disabled. The console must be enabled in hotseatgames; so untick "Disable Console" at the start of the game.

  14. #14
    DOOMinator111's Avatar Foederatus
    Join Date
    May 2012
    Location
    Brisbane
    Posts
    31

    Default Re: [HOTSEAT] Reworked Hotseat Script 3.0 - BETA

    Yo, played a few campaigns with my girlfriend pretty flawlessly besides getting CTDs on clicking on something and visual bugs which require a save and reload. Regardless, it was playable.

    However, we've now started a campaign where we only play good factions together, but upon loading an autosave or a save at the beginning of a turn, we're getting the endless ring turning bug on the "Start turn" screen. Anything that can be done about this?

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •