Jump to content

[Suggestion] Modable soldier stat progression


Muskrat

Recommended Posts

I'm not sure how feasible this is to do, but I figured I'd start a thread to get a discussion going.

To me, the Vanilla stat progression system is very gamey, and I'd love to be able to mod a system that is more natural - and less open to abuse. I believe this system is hard-coded, however.

The current system almost forces you to play a certain way, or you handicap soldier's later on (making sure to to use all TU's each turn to "train" TU's, always loading soldier's up in their encumbrance point to "train" strength, etc). If you don't you end up with soldier's who care barely wear armor and carry a weapon, or who are low on TU's vs other's because they don't move as much (sniper's), and thus can't keep up. It also makes some stat's, like bravery, hard to train.

It's also able to be abused where if you "play the game" you end up with super soldier's by the end.

What I am envisioning is setting up stat gain in an xml file, with field's for each role (the tricky part would be how to accommodate custom roles - possibly link to icon type?), and condition's for stat gain set up. The initial setting's could mimic the current Vanilla system, but now it can be modified.

My thought for the mod would be a more natural system linked to soldier role, and possibly promotion. For instance:

A Rifleman might gain +2 Health, +1 TU, +1 Accuracy per mission, and +3 Strength, +3 Reflexes, and +5 Bravery per promotion. So the field's most used by that soldier increase quickly, while the other's go at a slower pace. The +N could vary per stat also. Obvious this would need to be balanced over the course of a game, but that would be modder responsibility.

You could also keep condition's similar to Vanilla, or change how the conditions are applied.

A psuedo-code example might be something like:

for <role> and <stat> if <cond 1>&(<cond 2>or<cond 3>)&...<cond n> then <effect>

Where

<role> = all, rifleman, heavy, scout, etc

<stat> = str, acc, rfx, brv, hp, tu

<cond n> = set list of possible conditions, like PerMission, PerPromotion, EveryNSteps(N), Capacity>N%(N), ReactionShotNTimes(N), WoundedNHP(N) etc.. where (N) is a variable to be entered.

<effect> = +1, +2, +3, etc..

Please let me know thoughts.

Link to comment
Share on other sites

I'm not sure I like it, as I don't think it produces a better situation than there is at the moment.

In essence, as written, stat progression would work exactly the same as it does at the moment but a soldier's role would make them improve some stats more quickly and others more slowly (or not at all). You still have to jump through hoops to get those bonuses, though. Moreover, you can still game the system by selecting a role and then equipping the soldier completely differently.

The only real difference, then, is that this system allows you to specialize soldiers more by concentrating on particular attributes for them. That's not necessarily a bad thing, but you could get the same effect with a much less complicated method of selecting the stat bonuses your soldiers get after a mission/when promoted.

--

I think, if you want to do something like this, you really need to tie it to equipment instead, and remove the necessity of doing anything specific to get stat bonuses. For example:

- At the end of each mission, two dice rolls are made for each of a soldier's stats. There's a 1/3 chance that each die roll will increase that stat by 1 point. This gives 1/9 chance of getting +2, a 4/9 chance of getting +1, and a 4/9 chance of getting nothing.

- Because bravery isn't really dependent on roll, you roll three dice for it instead of two.

- Each weapon type has a class: Pistol, Assault, Precision, Heavy or None.

- The weapon the soldier is equipped with for the most number of turns during a mission defines which weapon counts for stat gain.

- Each weapon class changes the number of dice rolled for each stat. For example, Assault might allow three rolls for TU and HP but only one roll for ACC; Pistol might allow three rolls for TU and REF, but only one for STR; Precision might allow three rolls for ACC and REF but only one for TUs; Heavy might allow four rolls for STR but only one for TUs; and None would have a wildcard assigned to any.

This system results in soldiers improving attributes more relevant to their role as defined by their weapon type, while making it very difficult to game since a soldier must have been equipped with that weapon for half or more of the turns of the mission. The only way you can game that is by deliberate waiting a number of turns with a particular weapon type equipped, but quite frankly if someone wants to do something that tedious to improve their chances of getting one lot of stats over another, they're quite welcome to.

Link to comment
Share on other sites

It would be nice to just automate the gaming, so that all troops boosted str and tu after each mission.

So there are 2 parts to this post. 1 is how do we make stat progression modable, the other is what my idea for a mod might be.

My intention with the mod would be to make stat progression automatic based on role - no jumping through hoops. The idea was the stat progression would be balanced based on class need. But you are right you could just choose role based on what stat you want to up right now. Tieing it to equipment would be better.

The reason I show other conditions is because I think CE should not change vanilla intent for stat progression, just allow a mod to change it.

I really like your idea kabill, the question is how do we adjust the game code to allow mods that kind of flexibility to make changes like that?

Link to comment
Share on other sites

The reason I show other conditions is because I think CE should not change vanilla intent for stat progression, just allow a mod to change it.

Ah, sorry, I'd misunderstood that.

I really like your idea kabill, the question is how do we adjust the game code to allow mods that kind of flexibility to make changes like that?

Well, in terms of the externalised side of it:

- All weapons in weapons.xml or weapons_gc.xml (depending on which one fits better with the rest of the code) have a new variable added for their class.

- There's a new xml file which allows you to specify weapon classes and the number of rolls they get on each stat boost.

- There could also be available in that file or in gameconfig.xml which sets the chance of a roll granting a stat bonus.

In terms of the coding itself, no clue!

Link to comment
Share on other sites

I'd love Kabill's idea too, but it seemed too much to figure out how to code for something nifty.

I think we could improve on the vanilla version though

TUs: Like Vanilla, move alot, but also maybe count switching items, opening doors as more significant counts

HP: Like Vanilla, add 1 hp per 5 stat points, but have a moderate chance of gaining 1 hp per moderate wound (less than 50% hp left) Confirmed 2 hp if dead on ground combat but somehow survived at end of mission.

STR: Like Vanilla, but if you're carrying a heavy weapon and moving on said number of tiles, have good chance of earning apoint

ACC: Like Vanilla, but have the option to gain point on using aimed shots

REF: Like Vanilla, but have the option to gain REF from near missed shots by the enemy (eg: plasma shot hit 1-tile beside the soldier)

BRA: Like Vanilla, but have the option to gain point whenever soldier is on melee or have moderate chance when fighting in CQC.

But these are just speculations, but if they can be coded more easily, then that's great.

Now, I'm peckish for Vanilla ice-cream, now if you'll excuse me.....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...