new stat growth? (autospend.xmlb)

Started by kfcrispy, March 12, 2007, 09:29PM

Previous topic - Next topic
March 12, 2007, 09:29PM Last Edit: March 12, 2007, 10:16PM by kfcrispy
currently, there are only 3 types of stat growths, and the (a, b, c) tells you the rate of growth from greatest to least. autospend.xmlb has 3 bonus{} sections, one for each stat specifying "rate" which seems like which grows the most.
QuoteXMLB AutoSpend {
   CharacterClass {
   body = 40 ;  <--not sure what to make of these numbers. definitely not initial stats (initial stats are in herostat, and are much lower
   mind = 10 ;  <--body + mind + strength = 100
   name = bruiser ;  <--this name is referenced in herostat.engb to define the character's stat growth
   strength = 50 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 1 ;  <--1, 2, or 3.. 1 means bigger growth or happens more often.
      start = 2 ;  <--this is always 2
      strength = 1 ;  <--this is the stat we are defining
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

   }

i took a look at the default level 30 stats and found that for every 1 stat point gained, rate=1 stat gets 53.7%, rate=2 stat gets 27.78%, rate=3 gets 18.52% of the point.. and characters get ~1.86 points per level (at least from 1 to 30), though it could be different rates at certain levels

from herostat.engb, you can tell who has what type of stat growth--
bruisers (strike, body, focus): Black Panther, Blade, Capt America, Daredevil, Luke Cage, Thing, Wolverine

bruiser_light (body, strike, focus): Deadpool, Elektra, Ghost Rider, Human Torch, Colossus, Iron Man, Moon Knight, Mr. Fantastic, Spider-Man, Spider-Woman, Thor, Ronin

support (focus, strike, body): Strange, Iceman, Invisible Woman, Silver Surfer, Nick Fury, Storm, Ms. Marvel, Hawkeye, Black Widow, Captain Marvel

i think it would be interesting to have some more variety and complete the possible combinations..
(strike, focus, body) - similar to a support character, this is your offensive-based character that shouldn't take too many hits

(body, focus, strike) - tankers who use powers more than normal melee.

(focus, body, strike) - power spammers who can take more damage, extremely poor at melee.

one thing to keep in mind here is that currently there are no autospend styles that have strike growth rate of 3. so the last 2 ideas would create characters who are worse in melee than the existing characters. also, focus with rate of 3 is still not bad--look at bruiser_light.. Mr. Fantastic, Human Torch, Spider-Woman, and Thor are able to spam powers without any help/boosts. but it seems like bruisers have far worse Focus than bruiser_light yet they both have the same growth rate.

In the autospend file I had the default three 'Bruiser', 'Bruiser_Light', 'Support' plus 'Support_Heavy'.

I added:

'maxoff'   (strike, focus, body)
'maxdef'   (body, focus, strike)
'ranged'   (focus, body, strike)


XMLB AutoSpend {
   CharacterClass {
   body = 40 ;
   mind = 10 ;
   name = bruiser ;
   strength = 50 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

   }

   CharacterClass {
   body = 40 ;
   mind = 20 ;
   name = bruiser_light ;
   strength = 40 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

   }

   CharacterClass {
   body = 25 ;
   mind = 60 ;
   name = support ;
   strength = 15 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 1 ;
      start = 2 ;
      strength = 0 ;
      }

   }

   CharacterClass {
   body = 25 ;
   mind = 50 ;
   name = support_heavy ;
   strength = 25 ;
      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 1 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 4 ;
      start = 2 ;
      strength = 1 ;
      }

   }

   CharacterClass {
   body = 15 ;
   mind = 25 ;
   name = maxoff ;
   strength = 60 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 3 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 2 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

   }

   CharacterClass {
   body = 60 ;
   mind = 25 ;
   name = maxdef ;
   strength = 15 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

   }

   CharacterClass {
   body = 25 ;
   mind = 60 ;
   name = ranged ;
   strength = 15 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

   }

}

"I'd give my Ex-Gene for my Ex, Jean... but I'll date Emma- since it's the next best thing."

you added them, but do they work/distribute right? the four classes in there may be hardcoded, meaning that even though you added those other classes, they may not work. if they do work, then this opens the door for more differentiation between characters.

November 10, 2013, 09:16PM #3 Last Edit: November 10, 2013, 10:08PM by Emily Frost
Alright. So, here is the deal.

This absolutely works correctly, but there is a 4 autospend type limit. Not sure if that is hardcoded, but it is at least on by default. So, you can add as many as you want, but only the first four will be recognized.

What I learned by accident is that it is possible to set the initial stats of a character much higher than normal (say 30, or 50) and use this method of refering to a non-default autospend to essentially have a character with locked-in stats.

Health, Energy and Experience are calculated seperate from this so they continue to function normally, as well as being able to spend points on powers. This actually gives me the idea to set all the characters to non-default essentially turning off the management of body, strike, focus entirely and using initial stats in the herodef to set everyone exactly how they are in the comics...
Super interesting stuff.

BTW, I tried leveling via gameplay and cheat code. Neither works with the new autospend entries.

So all the possible stat prioritiy configurations are covered using the code I posted above, but you have to move the four you want to the top of the code before compiling into the xmlb:
Bruiser (strike-3, body-2, focus-1)
Bruiser_Light (body-3, strike-2, focus-1)
Maxdef (body-3, focus-2, strike-1)
Maxoff (strike-3, focus-2, body-1)
Ranged (focus-3, body-2, strike-1)
Support (focus-3, strike-2, body-1)
Support_Heavy (fstrike-4, body-4, focus-1)
"I'd give my Ex-Gene for my Ex, Jean... but I'll date Emma- since it's the next best thing."

Thanks for investigating this autospend thing, guys. I was just trying some stuff noticing that 'support_heavy' thing that had two stats with a rate of 4. You could turn this around, and possibly give the mightier characters an edge by having multiple stats grow with a rate of 1 or 2.

For example, I tried the following code on Thor:

   CharacterClass {
   body = 30 ;
   mind = 30 ;
   name = superhuman ;
   strength = 40 ;
      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 2 ;
      start = 2 ;
      strength = 0 ;
      }

   }

With Thor's previous 'bruiser_light' type classification and starting stats of 7 Body, 8 Focus and 6 Strike, he would grow this to 105 Body, 41 Focus and 55 Strike at level 99. I always thought it was odd that his Strike value should be so much lower than the value of bruisers, although MUA's Strike value obviously encompasses skill as well as strength, but still...
Anyway, classifying Thor as 'superhuman' using the above code would result in 105 Body, 57 Focus and 104 Strike at level 99.

Interesting stuff indeed. This file can be nicely and easily tailored.

...oh and if the math wasn't extremely obvious by now (it took me a shameful while to really see it...) this actually very clearly shows us that the defined rate equals: 'gain a point every (rate) levels'.

So having 'mind = 1' where 'rate = 2' means that the character gains a point of focus every two levels.

What not's clear to me is what those other values for body, mind and strength totalling 100 (i.e. body = 30, mind = 30, strength = 40) or the 'start = 2' parts of the code do. Anyone?

Interesting. This could turn into a great mod that actually adresses the standard roles of a rpg. Tank, DPS for example. Or just to address the realism of certain characters or classes.

Just discovered another nice thing. You can do something like this:

   CharacterClass {
   body = 40 ;
   mind = 20 ;
   name = bruiser_light ;
   strength = 40 ;
      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 2 ;
      start = 2 ;
      strength = 1 ;
      }

      bonus {
      body = 1 ;
      mind = 0 ;
      rate = 1 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 1 ;
      rate = 3 ;
      start = 2 ;
      strength = 0 ;
      }

      bonus {
      body = 0 ;
      mind = 0 ;
      rate = 5 ;
      start = 2 ;
      strength = 1 ;
      }

   }

...which means that all bruiser_light characters get the usual of one body every level, one strike every two levels, one focus every three levels, but also get an additional strength point every five levels.

February 02, 2014, 02:12AM #8 Last Edit: February 02, 2014, 02:51AM by pepperr
If I change this file, does it apply to my current save files or do I need to start a new game(or does that phenomenon only work with herostat.engb)?

And do we edit this this by using XMLBCui? Once done, should I compile it into an engb or xmlb?(sorry, this seems like a silly question)

You'll have to start a new game. There are very few changes where you'll be able to keep your saves.