Jump to content


Member Since 10 Aug 2010
Offline Last Active Today, 12:50 AM

Posts I've Made

In Topic: gmax: Exporting model

21 July 2017 - 09:19 PM

You need to use nwmax.exe to run gmax instead of gmax.exe. That'll make it actually write out the mdl.

You'll probably run into issues after that though...

In Topic: Download:NPC Auto-Leveller

15 July 2017 - 06:56 PM

Found some better notes:

Level = Level(Class I) + Level(Class II) + (PlayerLevel * levelmult(autobalance.2da) - 1) (only if mult > 0)

VP = BaseHitPoints * (PlayerLevel * vpmult(autobalance.2da) - 1)(only if mult > 0) + HitDie(classes.2da)/Levelup + CON * Level

FP = Max Force Points + ForceDie(classes.2da)/Levelup + WIS * Level

DEF = 10 + Natural AC + Class AC (acbonus.2da) + DEX + (PlayerLevel * armormult(autobalance.2da) + 2) (only if mult > 0)

ATT = D20 + Level(Class I) + Level(Class II) + (PlayerLevel * tohitmult(autobalance.2da)) (only if mult > 0) + STR/DEX

DAM = WeaponDie * (PlayerLevel * damagemult(autobalance.2da) + 1) (only if mult > 0) + (1.5(if single weapon) * STR)(if melee)

FOR = Class dependent(cls_st_*.2da) + character bonus(*.utc) + (PlayerLevel * savemult) (only if mult > 0) + CON

REF = Class dependent(cls_st_*.2da) + character bonus(*.utc) + (PlayerLevel * savemult) (only if mult > 0) + DEX

WIL = Class dependent(cls_st_*.2da) + character bonus(*.utc) + (PlayerLevel * savemult) (only if mult > 0) + WIS


This is from a file that was to become a guide, though I never finished it :( This should be more accurate.


And FairStrides, thought about your 1. again, I think I isolated the values that those multipliers should produce, then I just reversed the process and noticed it comes close to the player level, which was the crucial idea I needed. But I had all the other calculations in place as well, so it wasn't too hard getting those values, apparently.


EDIT: One more thing about PlayerLevel:

The game uses a system to automatically adjust the stats of enemies when they are spawned according to the player character. Exactly to what extent they are modified is defined in autobalance.2da. All values depend on the player level, which is determined from experience. This means that if you have enough experience for level 33, the game will consider that level even if you haven't levelled up yet.

In Topic: Download:NPC Auto-Leveller

15 July 2017 - 06:13 PM

While that does indeed seem credible, I have two questions:


1. How long and hard was that to actually figure out?

2. Do you know how the game decides which row a creature should use?


1. I was trying to recalculate all the calculations in the combat that the game does, this was just a part of it. But I think I didn't deal with the whole thing more than a month or two. I remember it was a bit frustrating in the beginning, but I must have gotten the right idea early on.. or read it somewhere, honestly I don't remember.

2. Multiplier Set in the .utc

In Topic: Download:NPC Auto-Leveller

15 July 2017 - 03:56 PM

Here we go:
enemy_level = rounddown(player_level * levelmult)
enemy_hp_base = rounddown(player_level * vpmult) - 1

enemy_attack_mod = rounddown(player_level * tohitmult)

enemy_ac = rounddown(player_level * armormult) + 2

enemy_save_mod = rounddown(player_level * savemult)

enemy_damage = rounddown(player_level * damagemult + 1)


I don't seem to have figured out what crmod does though. As far as I can remember, those calculation gave the right results, but you should obviously check those for yourself.

In Topic: Download:NPC Auto-Leveller

15 July 2017 - 03:21 PM

I'm pretty sure all the data in autobalance.2da made sense to me a few years ago when I was playing with the combat mechanics. If I find some notes from that I'll share them with you.