Warhammer-Mods / arkhan_stevie

Arkhan the Black: Expanded mod for Total War: Warhammer 2
https://steamcommunity.com/sharedfiles/filedetails/?id=1436545995
2 stars 0 forks source link

Raise Dead: Recruit a stronger set of units in own provinces #4

Open im-mortal opened 3 years ago

im-mortal commented 3 years ago

Extended model to include a more powerful set of units available to Raise in occupied provinces.

Zalbardeon commented 3 years ago

I think with this it'll be good to have a very specific set of limited units. Tomb Kings should ideally be making a lot of their units from provinces as adding every unit available would just trivialise that and make the faction somewhat overpowered.

im-mortal commented 3 years ago

That's the plan! 😃

Zalbardeon commented 3 years ago

So, I've been thinking about the types of units that should be available from conquering a province, and units such as Ushabti, and the Titan Constructs shouldn't be readily available because technically Liche Priests infuse souls into these. I guess at a push you could argue that a Necrotect could potentially repair said constructs, but as they're the powerful units they are, they should be only recruitable from settlements.

im-mortal commented 3 years ago

I fully agree about Tomb Kings Titan Constructs being exclusive to settlement recruitment. Please note that you can define units already present in global unit pool, but with different spawn parameters such as increased cap, faster replenishment, or increased initial experience (level).

im-mortal commented 3 years ago

With merging Warhammer-Mods/arkhan_raise_dead_mechanic_stevie#5, the module template now looks like this:

local ardm = ardm

ardm:register_table({
    name = "table_name",                     -- arbitrary name for the table, usually that of a corresponding mod
    build_number = 1,                        -- whole (integer) number, increment with each change since uploading
    deployment_mode = "own_provinces",       -- when / how to spawn units, refer to README
    units = {
        main_units_table_unit_key = {          -- unit key from "main_units_tables"
            count = 1,                           -- how many units to initially spawn
            replenishment_chance = 100,          -- replenishment chance per turn in percent
            max_count = 3,                       -- number of units in a pool before they stop replenish
            max_replenishment = 1,               -- how many units may possibly be replenished per turn
            level = 0,                           -- unit experience (rank), from 0 to 9
            technology_required = "",            -- technology key from "technologies_tables", researching which shall grant access to Raising this unit(s)
            partial_replenishment = true,        -- I am not sure honestly
            regions = "global"                   -- a string ("global"|"all"|"any") or a table of region key(s) from "regions_tables" to spawn this unit(s) into, refer to README
        }
    }
})

Perhaps, I will propose my own "default" and "extended" unit sets in upcoming commits for you to review.

Zalbardeon commented 3 years ago

One thing to note with regards to recruit rank from the Raise Dead Pool, it should remain at 0. This will match the Vampire Count pools where recruit rank is always 0.

im-mortal commented 3 years ago

We don't have to match Vampire Counts mechanic by book, but please do as you see fit.

im-mortal commented 3 years ago

Merged Warhammer-Mods/arkhan_raise_dead_mechanic_stevie#3 to dev branch. All that's left is finalizing the vanilla module.

im-mortal commented 3 years ago

7797468 partially resolves this, but own_provinces unit table is still missing.

Zalbardeon commented 3 years ago

I'm honestly not sure what other units to populate to own_provinces. On the one hand it's very thematic that Arkhan can raise dead, but at the same time, I don't feel like he should be able to summon some of the most powerful undead units that are currently available to him as this would make his sub-faction of the Tomb King far too powerful. This coupled with all of the new technologies that he gets, even his tier 1 Ghouls, Bats and Wolves become quite strong.

Grave Guard are the only other unit I think that would be appropriate for this. If they do become available though, there should only ever be a max of 1 or 2 units that can be recruited until replenishment/replenishment chance kicks in.

im-mortal commented 3 years ago

My vision is that owning a province could possibly offer a better replenishment rate (max_replenishment), a higher replenishment chance (replenishment_chance), a larger max cap (max_count) or an increased initial availability (count) for units already presented in default table, thus providing a more capable Raise Dead roster exclusive to those provinces once conquered, further incentivising the player to flood the world with the undead, as envisioned by Arkhan in the lore. TLDR: all the same units in own_provinces as in default table, just with better spawn stats.

Zalbardeon commented 3 years ago

Yeah, I agree with everything you've stated above. I think that would fit Arkhan perfectly.

Zalbardeon commented 3 years ago

Having a second glance at this, I believe the only appropriate unit would be Grave Guard. I would personally cap them at a max of 2, and have a substantially lower replenishment chance of say 10%. This could be increased by a further 10% if the whole province is owned by Arkhan.

Zalbardeon commented 3 years ago

As I've been struggling to understand the basics of the script, I think the best path to take would be to break this into different stages of deployment. We'll stick to a very basic script that I can deploy with patch 2.3.5 which just enables the raise dead mechanic in regions, like the VC. Once this has been deployed and any issues from users have resolved, the next stage can add stronger units/replishment/xxxxx. This makes it easier not just for me to understand how the script works, but means I can get this out to the end user as I know people are keen for this feature.

im-mortal commented 3 years ago

The code is all there. Actual units to add are set via modules. There's good documentation available on populating those modules, both in the form of the prebuilt vanilla module and the README file, which also happens to be the front "page" of this repo.

Modules, in turn, can be modified and distributed independently from the mod, thus providing full flexibility in making decisions over the Raise Dead roster. I expect further work on exact unit composition to be carried over by more qualified and seasoned modders than I am, and different parts of the mod's functionality to achieve that, namely deployment modes, could be leveraged.