Custom Character Building

正在查看此主题的用户

DMcain

Veteran
Right then.  After a few weeks of messing around with this silly module system, and trying out various things, I've decided that I want a custom character right off the bat.

I've got the menus done, got my constants defined, and all that rot.

Here's what I got so far (all references are in module_game_menus.py)
1- Choose sex - kinda need this one (start_game_1)
2- Choose parents - gives a basic background and some starting gear (start_character_1)
3- Choose why you left (start_character_4)
4- Choose banner (if parents were nobles)
5- Point distribution
6- Off to Calradia...

So, as you can see, I basically skip over the childhood and young adult selections. Where I am having troubles is with #5 above, since you miss out on some attribute, skill and proficiency points by skipping those. What I can't find is where to add points to the various point pools. Adding points to individual items I can do.

From what I can tell the point defaults are:
- Attribute - 4
- Skills - Intelligence - 1
- Weapons - 10

What I would like to do, to help make up for the skipped background steps, is have these values at character creation:
- Attributes - 6
- Skills - Intelligence + 4
- Weapons - 75

Again, adding points to a specific ability I can do, what I need help on is figuring out how to add to the initial point pools at character creation.

Any insight into how to do this would be welcome.

EDIT: I figured out weapon points...
 
just do it the same way you're doing it at each step, except you would preempt this in the first menu.

So in the consequence or operations block of the first menu -male or female- you add values to those attributes and skills that you want to start at a different level

weapon attrib points are decided by agility, skill points by int, so adding +1 to int will give you an extra skill point in the point pool. Same for agility and proficiency points except that I think it's 10 per point.

 
MartinF 说:
just do it the same way you're doing it at each step, except you would preempt this in the first menu.

So in the consequence or operations block of the first menu -male or female- you add values to those attributes and skills that you want to start at a different level

weapon attrib points are decided by agility, skill points by int, so adding +1 to int will give you an extra skill point in the point pool. Same for agility and proficiency points except that I think it's 10 per point.

I don't want to assign the points to the stats, I want to increase the point pool. The command line I used to get 75 weapon points is:

(troop_add_proficiency_points, "trp_player", 65)  --  default + 65

But so far I have been unable to find a similar command or workaround for the attributes or skills.
 
yeah but that workaround will unbalance the standards.. unless you specifically want that.

The way it's set up now, a certain amount of int skill will give a certain amount of skill points, a certain amount of agility points gives a certain amount of weapons proficiency points, just as a certain str skill gives a certain amount of hitpoints.

That is the way it's meant to work, so if you start assigning unconnected pool points, you'll unbalance that. That's fine by me, but just realize that this is what you're doing. The system is obviously there for a reason (in native).

Anyway I don't think it's possible for the skill pool points since there is no such command in header_operations

 
The thing is, with skipping the 2 steps, you miss out on 4 stat points, and sometimes as many as 9 skill points. I'm just trying to figure out how to bring a custom character in line with those created from chosen backgrounds. So if I can figure this out, the custom characters won't be stronger than the selected backgrounds, and in some cases, weaker. Unless i get retarded and go overboard.  That is always a possibility.
 
ok I might be retarded but I don't see what you're getting at.

The game sets up the player the same way. The only thing different is that in those two menus, stats and skills are set according to the choices that are made, so you can just do that manually. The game doesn't magically add points to the pool, it just adds them through the choices you make. So if you want them to end up at the same level, you'll have to raise the points to match.

Alternatively, you can do it afterwards. I think Garnier uses this in his mod. Basically what you do is forget all about adding stuff in the menus. You just define the different options you want to have at the end.

So let's say you want five different options at the end (can be as many or as few as you want, just using 5 as an example).

You write a script which you call from the last menu option. This resets all the player skills and attributes to 0 and then adds them up again based on what you want them to be for that particular option. That way you have full control. Just use a global variable to determine the actual profile the player has picked and then set them up.

So after resetting to 0, you do something like:

(try_begin),
  (eq, "$g_player_profile", 1), #player chose profile 1
  (troop_raise_skill, "trp_player", skl_athletics, 5),
  (troop_raise_attribute, "trp_player", ca_strength, 15),
  (etc..)
(else_try),
  (eq, "$g_player_profile", 2), #player chose profile 2
  (troop_raise_attribute, "trp_player", ca_strength, 12),
  (etc..)
until you've reached 5
(try_end),

That way you have full control over how it comes out and the game_menus will be relatively straightforward.

I understand that you just want to give the player the extra points that they would've gotten from the game, but I don't think there's any way to do that short of raising int which you obviously don't want to do in this case. So the only other option is to rig it by either adding them from the menu, or the way I did above, by globally doing it from a script which amounts to the same thing in the end but could be more convenient for coding.
 
bleh..  I think I'll just stick to doing it the way i been doing it for since v.894..  I'll just edit a char export and be done with it. just adds an extra 5 minutes anyway. Since there is apparently no way to accomplish what I'm after anyway.
 
后退
顶部 底部