Jump to content


bead-v

Member Since 10 Aug 2010
Offline Last Active Yesterday, 10:08 PM
*****

Topics I've Started

MDLedit bug reporting thread

09 October 2017 - 05:42 AM

This thread is for reporting any bugs you encounter while using MDLedit.

 

If you encounter a bug, then before you do anything else, try to reproduce it. If you manage to reproduce it, describe what you did that caused the bug, in steps. If there was an error message please post a screenshot or copy the text. If the bug didn't crash MDLedit you can also check MDLedit's report for any warning or error messages. Please also include in your post the file(s) that you were processing.


KOTORmax bug reporting thread

09 October 2017 - 05:22 AM

This thread is for reporting bugs you encounter while using KOTORmax.

 

If you encounter a bug, then before you do anything else, try to reproduce it. If you manage to reproduce it, describe what you did that caused the bug, in steps. If there was an error message please post a screenshot, especially if some code is also displayed, that will greatly speed up the bug fixing process. If the error occurred while processing a file, please include that file in your post.

A note: Sometimes the error message will contain the line of the file at which an error occurred, but that number is not necessarily correct and the error might be elsewhere in the file. That's why it's important you include the entire file (and all the files) with your message, not just the snippet that allegedly caused the error.

 


KOTORmax

08 October 2017 - 10:48 PM

File Name: KOTORmax

File Submitter: bead-v

File Submitted: 09 Oct 2017

File Category: Modding Tools

 

 

 

 

 

KOTORmax is a plugin for 3ds Max and Gmax that allows importing and exporting of ascii model files for KOTOR and KOTOR2. KOTORmax is directly extended from NWmax by Joco.

 

How do I set it up?
Open the .zip archive, the instructions are in the readme file.

 

How do I use it?
Check for tutorials in the Tutorials Section. A lot of the basic functionality is exactly the same as with NWmax, so most of the tutorials should help you with using KOTORmax. As for the new functionality, it is now up to the community to create new tutorials for it.

 

KOTORmax was designed to be used with MDLedit and the new version of MDLOps by ndix UR. Using the ascii model files that it produces with an older version of MDLOps will cause data to be ignored in the best case and a crash in the worst.

 

What's different from NWmax?
– Support for all known properties of the Odyssey MDL Format. All NWN functionality that is irrelevant for the KOTOR games removed.
– Ambient texture (lightmap) import/export. Experimentally also vertex colors as well as texture0 and texture1 UV coordinate import/export.
– Support for bezier animation controllers.
– Lightsaber mesh object.
– New Anim Editor, Key Ops, Constraint Editor, Visibility Editor, Roomlink Editor and improved Anim Mapper.
– LYT and VIS file Import and Export.
– Game smoothing preview.
– Sanity check now adapated to KOTOR models.
... and much more!

 

Max crashed/froze/reported a weird error!
Describe your issue in the relevant thread and I will look into it. Please explain in detail exactly what you were doing when the error occurred. Also include any relevant files in your post.

 

Thanks
A big thank you goes out to ndix UR, without whom KOTORmax wouldn't even exist. A big thanks also to Joco for allowing me to build on NWmax and release it as KOTORmax.
I would also like to thank the testers, both for their patience when I was dealing with very persistent bugs and for all the suggestions that helped make KOTORmax what it is now:
– DarthParametric
– JCarter426
– Quanon
– VarsityPuppet

 

Lastly I'd like to thank the KOTOR modding community, which makes taking the time to make such a tool worth it.

 

 

 

 

 

Click here to download this file


MDLedit

08 October 2017 - 09:15 PM

Posted Image

 

File Name: MDLedit

File Submitter: bead-v

File Submitted: 08 Oct 2017

File Category: Modding Tools

 

MDLedit is a (de)compiler for KOTOR and KOTOR2 model files.

 

Which version should I download?
There are two packages on the download page. They differ in whether the program uses Visual Styles or not. The difference is purely visual, they are completely equivalent in terms of functionality. The version in the mdledit_v0.0.0xp.zip package will work on Windows XP or newer as well as on MacOS through Wine, but it will look like crap. The version in the mdledit_v0.0.0.zip package will look better, but will only work on Windows Vista and up.

 

How do I set it up?
Open the .zip archive, extract the .exe and run it. If you want MDLedit to keep track of your option between sessions, create a blank mdledit.ini file in the same folder as your .exe.

 

How do I use it?
The program comes with a help documentation window accessible from the About menu, read that to learn how to use it. If something is not mentioned there please let me know in the relevant thread (link to be added) and I will explain the functionality and add the explanation to the help window for the next version.

 

MDLedit was designed to be used with KOTORmax and the new version of KotORBlender by ndix UR. Using the ascii model files that it produces with NWmax will cause data to be ignored in the best case and a crash in the worst.

 

The program crashed/froze/reported a weird error!
Describe your issue in the relevant thread and I will look into it. Attaching a .zip archive with the files that MDLedit was processing when the problem appeared is also very welcome.

 

Thanks
A big thank you goes out to ndix UR, without whom MDLedit would have maybe half the functionality it has now.
I would also like to thank the testers, who also made a lot of great suggestions that made MDLedit that much better:
– DarthParametric
– JCarter426
– Quanon
– VarsityPuppet
– FairStrides

 

The program was built on the knowledge about the MDL format, which is the result of the work of many modders, including CChargin, Magnusll, JdNoa, ndix UR, DarthSapiens, VarsityPuppet, FairStrides, and others! Thank you for your efforts!

 

Lastly I'd like to thank the KOTOR modding community, which makes taking the time to make such a tool worth it.

 

Click here to download this file


Character (Stat) Guide

17 July 2017 - 09:27 AM

This is a guide I started a few years back. I remember there were other things I wanted to add to it, but I don't remember what those things were anymore. It also doesn't seem like I'll be delving into this again any time soon, so I thought I'd just post it the way it is.

 

The stats are determined from four sources:
1) Base stats
2) Class
3) Attributes
4) Levelup

 

The character’s base stats [1] define the value of the stats without the application of the other sources. They do not change through levels; they remain static. They are defined in GFF files.

 

The character's class [2] determines how some of the character’s stats progress through levels without the player doing anything. They are defined in 2DA files.

 

The attributes [3] affect the character’s stats through levels and are affected by the player. Thus, the player can affect his character’s stats through attributes. The attributes are also defined in the GFF files, but they can be modified on level up.

 

Levelup [4] is the only way to affect some of the stats. The actual level does not matter.

 

What are characters for the game?

 

Characters are defined in so called .utc files. Each character has their own .utc file, which contains all information about this character: their name, appearance, base stats, class, equipment, powers, feats, skills ... However, the stats of the character are also modified by other files, namely the .2da files. These files are basically spreadsheets that define at what rate the stats of the characters change. The stats change at different rates for different characters, depending on their CLASS. These rates do not change during the course of the game, so the character class defines at what rates the character’s stats will change. The possible classes in TSL are:

 

Non-Jedi
- soldier – SLD
- scout – SCT
- scoundrel – SND
- tech specialist – TEC
- minion – MIN, not available for players

 

Droid
- expert droid – XPD
- combat droid – CBD

 

Jedi
- jedi guardian – JGD
- jedi sentinel – JSN
- jedi consular – JCS
- jedi weapon master – JWM
- jedi watchman – JWA
- jedi master – JMA

 

Sith
- sith marauder – SMA
- sith assassin – SAS
- sith lord – SLD

 

However, there are still way to affect your stats during the course of the game. The way of doing this is via the attributes [3]. I will list them here just for reference, and only at the end of this tutorial will I describe fully what each of the attributes does specifically for the character.

 

Strength – STR
Dexterity – DEX
Constitution – CON
Intelligence – INT
Wisdom – WIS
Charisma – CHA

 

The attributes themselves are also a kind of stat. They have a base value [1], to which the player adds points every four levels during level up.

One thing to keep in mind is that the actual value of the attribute never matters. It’s always the modifier that you get out of it that matters. The conversion formula is the same for all attributes: a value of 8 translates to a modifier of -1, and for every 2 attribute points the modifier increases by 1. That is:

Modifier = (Attribute – 10) / 2

 

Thus, 12 points equal a modifier of +1.

 

Auto Balance

 

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.

 

List of stats

Vitality points
Force points
Fortitude saving throw
Reflex saving throw
Will saving throw
Attack
Defense
Damage
Attributes
Skill points

 

Level

 

The character's level is also a stat, though it is used mainly to calculate other stat's. Here is the formula.

 

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

 

Vitality Points - VP

 

This is your health bar. The number is based on the “Base Hit Points” field in the .utc. This value is modified by autobalance. At levelup, you gain: 6-12 points depending on your class + CON.

 

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

 

Mira’s max VP is 54. She is at level 6 when you meet her. When you level up, she is going to have 63 HP. She got +8 because she is a scout [2] and +1 because her CON is 12 [3].

 

Force Points - FP

 

This is the force bar. This stat works just like the health stat. “Max Force Points” is defined with the character [1]. On level up, you gain: 4-10 points depending on your class [2] + WIS [3].

 

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

 

Defense - DEF

 

This characterizes how hard the character is to hit. This is basically evasion. The calculation of this stat is a bit more complicated. Like with the previous stats, there is one part of it that is defined with the character (in the .utc). This is called the Natural AC [1]. Most characters have the natural AC at 0. (G0-T0 has 2, for example.)

 

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

 

Class AC depends on the class AND on level. The party members actually have feats that describe the class AC (Jedi: Jedi Sense, Prestige Sense, Greater Prestige Sense; Droids: Droid Upgrade; Soldiers: Mandalorian Courage), but it is not actually provided by these feats but by acbonus.2da. 

 

Originally, the plan was to make these class AC bonuses as actual feats, meaning that a level 1 feat would mean DEF+2, level 2 DEF+4 and level 3 DEF+6. This can be seen in that there exist two further levels of Atton’s feat and the droids’ feat. Their descriptions are still intact, but the effects are obsolete. The level 2 droid feat has actually been left with HK-47 even though it has no effect. This might be a leftover from K1.

 

The Handmaiden and the Disciple are currently the only ones who lack a feat describing their defense bonuses.

 

Attack - ATT

 

Attack is the opposite of DEF. When someone performs an attack, first the ATT of the attacker is compared to the DEF of the attackee, to see whether the attack HIT. Only after it has been established that the attack hit is the damage calculated. The ATT is not constant however. It does have a constant part that is added to the roll of a 20-sided die (D20). If the total ATT is greater than the DEF of the attackee, then the attack succeeds, otherwise it misses.

 

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

 

There are a few special cases though. If the roll of D20 is 1, then this is an AUTOMATIC MISS. This means that it misses even if the total ATT of the character is greater than the DEF of the attackee. Similarly, if the roll is 20, this is an AUTOMATIC HIT.

 

You may have noticed that ALL weapons have critical hit numbers in their descriptions, something like 20-20/x2. If the roll of D20 is in the critical hit scope of the weapon, and if the attack would hit (ATT > DEF), then the ATT is calculated again. This is the THREAT ROLL. If the ATT with the threat roll is greater than the opposing creature’s DEF, then the damage is doubled or even tripled in some cases, according to the weapon. Otherwise the damage is dealt normally.

 

The STR modifier is added if the attacker is using a melee weapon, the DEX modifier is added if the attacker is using a ranged weapon. With Finesse feats, the attacker can add the DEX modifier instead of the STR modifier if their DEX is higher than STR.

 

With two-handed weapons or two weapons one in each hand the situation is the following: each hand performs its own attack. The attacks are calculated in much the same way, except for the penalties: ATT -6 in the main hand, ATT -10 in the off hand. In the case of a balanced second weapon or a two-handed weapon, the main hand attack penalty is reduced by 2. The Two-Weapon Fighting feats further reduce the penalties.

 

Damage - DAM

 

Damage calculation.

 

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

 

The Saves

 

Saves characterize how good a character is at shrugging off effects. All hostile force powers can be “saved”, as well as effects such as poison, and possibly others, by the three saving throws: Fortitude, Reflex, Will.

 

Fortitude - FOR

 

With a high fortitude you are physically able to endure attacks.

 

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

 

Saves against:
- Stun, Stasis, Stasis Field
- Stun Droid, Disable Droid, Destroy Droid
- Wound, Choke, Kill
- Affliction
- Drain Life, Death Field
- Crush
- Critical Strike/Sniper Shot Stun Effect
- Power Attack/Power Blast Knockback Effect

 

Reflex - REF

 

With a high reflex you are quick enough to evade attacks.

 

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

 

Saves against:
- Push, Whirlwind, Wave

 

Will - WIL

 

With a high will your mind is powerful enough to shrug off attacks.

 

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

 

Saves against:
- Slow
- Fear, Horror, Insanity
- Shock, Lightning, Storm
- Drain Force, Improved Drain Force, Master Drain Force
- Scream, Improved Scream, Master Scream
- Mind Trick, Confusion
- Beast Trick, Beast Confusion
- Droid Trick, Droid Confusion
- Crush Opposition

 

Skill points

 

The amount of skill points you get to spend on your skills when you level up.

 

The amount is: skillpointbase(classes.2da) + INT (Any bonuses to Intelligence from items are not taken into account.)

 

Skills

 

Computer use = base(*.utc)+ INT + LEVELUP
Demolitions = base(*.utc) + INT + LEVELUP
Stealth = base(*.utc) + DEX + LEVELUP
Awareness = base(*.utc) + WIS + LEVELUP
Persuade = base(*.utc) + CHA + LEVELUP
Repair = base(*.utc) + INT + LEVELUP
Security = base(*.utc) + INT + LEVELUP
Treat Injury = base(*.utc) + WIS + LEVELUP

 

Attributes

 

Attributes can be modified on every fourth level (check!), no matter what the character's class is. They affect a lot of the stats described above. I will show a list below, which

shows what each attribute is good for.

 

Strength

Adds to ATT of characters with melee weapons. Improves POWER ATTACK's KICKBACK and CRITICAL STRIKE's STUN.
Adds to DAMAGE of characters with melee weapons. (When wielding a single one-handed weapon, a character's Strength bonus to damage is 50% greater!)

 

Dexterity

Adds to DEF.
Adds to ATT of characters with ranged weapons. Improves POWER BLAST's KICKBACK and SNIPER SHOT's STUN.
Adds to STEALTH.
Adds to REF.

 

Constitution

Adds to FOR.
Adds to VP.
Determines IMPLANT.

 

Intelligence

Adds to COMPUTER USE, DEMOLITIONS, REPAIR and SECURITY.
Adds to number of skill points to be distributed on each level-up.

 

Wisdom

Adds to AWARENESS and TREAT INJURY.
Adds to WIL.
Adds to FP.

 

Charisma

Adds to the PERSUADE skill.
Reduces ALIGNMENT PENALTY for force powers.
Determines POTENCY of force powers.

 

Lighsaber Forms

 

Form I - Shii Cho - Determination

Attack Modifier: +1
Defense: +3
Defense vs. Current Target: -3

 

Form II - Makashi - Contention

Attack Modifier: +3 (vs Lighstaber)
Damage: +3
Blaster Bolt Deflection: -5
Saves vs. Force Powers: +2

 

Form III - Soresu - Resilience

Defense vs. Current Target: +2
Blaster Bolt Deflection: +4
Weapon Threat Range: -1

 

Form IV - Ataru - Aggression

Defense: -2
Defense vs. Current Target: +5
Blaster Bolt Deflection: -4
Weapon Threat Range: +1

 

Form V -  Shien - Perseverance

Attack Modifier: +2
Defense vs. Current Target: -5
Blaster Bolt Deflection: +2
Critical Multiplier: +1

 

Form VI - Niman - Moderation

Attack Modifier: +1
Defense: +1
Blaster Bolt Deflection: +1
Saves vs. Force Powers: +1

 

Form VII - Juyo - Ferocity

Defense: -4
Defense vs. Current Target: +2
Saves vs. Force Powers: -4
Attacks per Round: +1
Critical Hit Attack Modifier: +4

 

Force Forms

 

Force Channel

FP Regeneration: +50% (non-combat)
Force Power Damage: +3
Saves vs. Force Powers: +2

 

Force Affinity

FP regenerate during combat

 

Force Potency

Force Power Damage: + 30%
FP Cost: + 20%

 

Force Mastery

Force Power Duration: +50%
Opponents' Saves vs Force Powers: -2
Saves vs Force Powers: -4
FP Cost: +20%