martixy
Members-
Content Count
24 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by martixy
-
Welp. Since I am a sucker for punishment (and gay romances), I guess we start from the beginning. There is no emotion, there is peace. Thank you for saving me potentially a lot more headaches. To be perfectly clear - one should install either the stand-alone compatch or this mod. Correct me if I'm wrong.
- 74 comments
-
- romance
- handmaiden
-
(and 3 more)
Tagged with:
-
- 74 comments
-
- romance
- handmaiden
-
(and 3 more)
Tagged with:
-
Compatibility around Extended Enclave is confusing. Consider having EE and Party swap + your very own compatch for these 2, but not N-DReW25's Extended Enclave Patch. Does one need any of the compatches you included in this mod in that case? My current best guess is the following: Main mod (Party swap) -> Extended Enclave patch [lowercase p] (No M4-78EP Installed) -> Extended Enclave patch [lowercase p] (PartySwap Compatible) (skip Extended Enclave patch [lowercase p] (Extended Enclave Patch Installed [uppercase P]) - this name duplication is what makes things hard to parse)
- 74 comments
-
- romance
- handmaiden
-
(and 3 more)
Tagged with:
-
I was doing the modbuild for TSL and happened to examine class saving throws more closely and they seem to be a complete mess. It made me consider creating a simple mod that changed the jedi classes save progressions to something that made more sense - at least to me as a D&D player. I would like some feedback on these proposed changes: I considered extra force powers for the sith PrCs, but that differentiation is already handled by the Guardian/Sentinel/Consular and corresponding PrCs, so I chose feats as a trade-off instead. Edit: There was a mod in the modbuild which called itself a "fix" leading me to assume that the jedi and sith prestige classes were otherwise equivalent. This is not the case. Assassin gets a better Sneak attack progression at the cost of poorer saves, and Marauders get other perks. Only Jedi master/Sith lord are effectively equivalent, but then their saves are also the same. There was design intent behind the way the saves were made in the original game and I feel the mod calling itself a "fix" is misleading and undoes deliberate design choices by Obsidian. Anyway, the previous version of this rework, operating under the assumption of equivalency between jedi/sith, gave the sith bonus feats in exchange for their poorer saves. This has been corrected.
-
The Kashyyyk star map droids killed the hologram
martixy posted a topic in General Kotor/TSL Modding
This ended up being a game-breaking bug. When I fought the Kashyyyk star map droids, they killed the hologram with a freeze grenade effect. I had a save to reload, so it was mostly just annoying clicking thru the same dialog, but perhaps this can be fixed by K1CP at some point? Make the hologram invulnerable perhaps?- 1 reply
-
- 1
-
You misunderstand. No weapon in base K1 deals universal damage. But the normal non-modded disruptors make me think I should also test whether a multi-damage type is blocked by protecting against one of the types it deals, or all of them. Btw, if you wanna see more of this in action check out how broken vanilla K1 forceshields.2da is. (The windows calculator in programmer mode is helpful here.) Base shields protect vs "Light side" instead of electrical (somebody made a mistake by 1 position) and also vs Ion. The community patch fixes that particular oversight. It makes me wonder something. Disruptors do say: But not all. Given their previous damage type of essentially "melee" damage, one could argue Mandalorian shields are meant to block disruptors. Meaning that in a certain sense, the weapon rebalance mod makes them buggy. I however think that the current situation of slightly lower damage, but unblockable by shields gives them a decent niche to fill.
-
Oh. Indeed. Oops. I guess I was looking at my override rather than the base game(K1). The weapon rebalance mod changes them. Like I already said: Which means 7 is 1+2+4, so bludgeoning+piercing+slashing.
-
I was trying to figure out why Bastila was dying so quickly to sand people even tho I gave her Brejik's armband and belt (supposedly effective vs melee attacks). The 2da reference thread had nothing useful, but it wasn't hard to figure out. Damage types: The game has 13 damage types and each weapon can have one or more of these types. baseitems.2da has a column called damageflags. It's a bitfield that says which type of damage a weapon deals by default. In order of least significant bit to most significant (right to left) it goes like this: 0 1 Bludgeoning 1 2 Piercing 2 4 Slashing 3 8 Universal 4 16 Acid 5 32 Cold 6 64 Light side 7 128 Electrical 8 256 Fire 9 512 Dark side 10 1024 Sonic 11 2048 Ion 12 4096 Energy The value itself is stored as a simple decimal integer (tho some other columns use hex - bioware just being inconsistent). The values in the second column are what you'd find in baseitems.damageflags - to have multiple damage types, add those numbers together and put the resulting sum in that column. These types are used anywhere where damage comes in play - for example in all item properties related to damage, including damage bonus, damage immunity, damage penalty, damage resistance and so forth. Weapons by damage type: Disclaimer: This is using the weapon rebalance mod which changes disruptors from 7 (Bludgeoning+Piercing+Slashing) to 8 (Universal damage). It's a change that makes sense. Highly recommended. Quarter_Staff Bludgeoning Stun_Baton Bludgeoning Long_Sword Slashing Vibro_Sword Slashing Short_Sword Piercing Vibro_Blade Piercing Double_Bladed_Sword Slashing Vibro_Double_Blade Slashing Lightsaber Energy Double_Bladed_Lightsaber Energy Short_Lightsaber Energy Blaster_Pistol Energy Heavy_Blaster Energy Hold_Out_Blaster Energy Ion_Blaster Ion Disrupter_Pistol Universal Sonic_Pistol Sonic Ion_Rifle Ion Bowcaster Energy Blaster_Carbine Energy Disrupter_Rifle Universal Sonic_Rifle Sonic Repeating_Blaster Energy Heavy_Repeating_Blaster Energy Blaster_Rifle Energy Ghaffi_Stick Piercing Wookie_Warblade Slashing Gammorean_Battleaxe Slashing Creature_Item_Slash Slashing Creature_Item_Pierce Piercing Creature_Weapon_Sl_Prc Piercing Or transposed: 0 Bludgeoning Quarter_Staff, Stun_Baton 1 Piercing Short_Sword, Vibro_Blade, Ghaffi_Stick, Creature_Item_Pierce, Creature_Weapon_Sl_Prc 2 Slashing Long_Sword, Vibro_Sword, Double_Bladed_Sword, Vibro_Double_Blade, Wookie_Warblade, Gammorean_Battleaxe, Creature_Item_Slash 3 Universal Disrupter_Pistol, Disrupter_Rifle 4 Acid 5 Cold 6 Light side 7 Electrical 8 Fire 9 Dark side 10 Sonic Sonic_Pistol, Sonic_Rifle 11 Ion Ion_Blaster, Ion_Rifle 12 Energy Lightsaber, Double_Bladed_Lightsaber, Short_Lightsaber, Blaster_Pistol, Heavy_Blaster, Hold_Out_Blaster, Bowcaster, Blaster_Carbine, Repeating_Blaster, Heavy_Repeating_Blaster, Blaster_Rifle (Who TF decided a tab size of 8 is a good idea? Also this forum needs a table feature.) So I have my answer now. Gaffi sticks are Piercing damage, and Brejik's stuff protects only v Bludgeoning/Slashing. I feel like this is false advertising. I've been bamboozled. Also, if you have Damage resistance Universal 5/-, it doesn't mean you resist 5 points of any kind of damage, it means you resist 5 points of the damage type "Universal", which is semantically just confusing as heck.
-
Sweetness. More feedback: 1. Was editing item. Delete key doesn't delete item properties. Right click does nothing (could be assigned to delete - maybe double right click?) 2. Every property is automatically set to "Rubat crystal" upgrade, instead of None. 3. Error when saving item: TypeError: <lambda>() takes 0 positional arguments but 1 was given ---------------------- Traceback (most recent call last): File "editors\editor.py", line 140, in save File "editors\uti\uti_editor.py", line 141, in build File "pykotor\resource\formats\gff\gff_auto.py", line 104, in write_gff File "pykotor\resource\type.py", line 316, in _autoclose File "pykotor\resource\formats\gff\io_gff.py", line 187, in write File "pykotor\resource\formats\gff\io_gff.py", line 256, in _build_struct File "pykotor\resource\formats\gff\io_gff.py", line 313, in _build_field File "pykotor\resource\formats\gff\io_gff.py", line 270, in _build_list File "pykotor\resource\formats\gff\io_gff.py", line 256, in _build_struct File "pykotor\resource\formats\gff\io_gff.py", line 320, in _build_field File "pykotor\common\stream.py", line 1600, in write_uint32 struct.error: required argument is not an integer ---------------------- 4. In the assigned property list, can we have indication which upgrade is required for this property? 5. The dialog for editing a property - when changing it, you have to explicitly press "Select". Just selecting it and pressing OK is not enough. Which is rather unintuitive. 6. Would love a recent opened files list. Shortcuts for open file too. Doesn't remember last directory between program launches, that'd be neat. 7. Item description text box still too small. 8. On open, the description is displayed, but if you edit it, it vanishes from the text box (possibly because descr is female, and it tries to display male descr as default). 9. When searching for strings in dialog.tlk (probably other places too) - Find is strictly case-sensitive. Can we have a toggle for case sensitivity?
-
2. I meant - maximize the window. Then minimize - going back you expect to find the window in the last state you left it - maximized. It doesn't get restored maximized. 5. Windows are resizable. Maybe you have different habits, but I rarely use windows small enough not to be able to hold a filepath. From the dozen processes it spawned I figured the program might be electron-based and I could help, but sadly I have little experience with python and 0 with PyQt. Doesn't mean I won't try, just means nothing is likely to come out of it.
-
Organization of the ingame files is generally pretty dang good and better than anything that came before it. But the navigation around the UI and how it handles windows is pretty dang annoying (on windows). I wanted to edit some 2da files and it turned out very hard to work with more than 1 file. 1. You only ever get one window on the taskbar. You can't tab through sub windows. 2. You can maximize a window, but minimizing and restoring will not give you back your maximized window. 3. Because you can't tab through windows you have no idea what's open. I literally lost a window once. 4. Selecting a row header will not select the entire row. 5. Opening multiple versions of the same file (e.g. to copy paste things from one to the other) is confusing. I have no idea which window is which file. Maybe display the full path to the file in the title. Tabs might also be a good idea(filename on tab, full path on hover?). 6. The row of the currently selected cell is not highlighted and always visible (like the column is). 7. There is no indication whether the file is changed or saved or not. Nor does it prompt for a save when closing the window or opening another file. 8. Having to go to the menu to add a new row is kind of annoying. Context menu plz? 9. Opening a .uti - I couldn't edit the description - pressing the button next to it did nothing. Plus, the text box is pitifully small. 10. No error on opening if the baseitem doesn't exist. 11. Doesn't read base items from the override (even if it does exist). 12. Having a console log where debug messages can be displayed (like an error for the above) would be a good idea. 13. Double clicking on various things doesn't do the thing you expect it to do - like opening the edit dialog for the thing, or adding the thing (more specifically in the properties tab of the item editor, but I'm sure other places too). 14. Trying to open certain items from the list silently fails. Plz error messages?
-
For appearance.2da it says this: a = Underwear b = Clothing c = Armor Class 4 items (Anything with a base defense of 4 and a max Dexterity of 5) d = Armor Class 5 items (Anything with a base defense of 5 and a max Dexterity of 4) e = Armor Class 6 items (Anything with a base defense of 6 and a max Dexterity of 3) f = Armor Class 7 items (Anything with a base defense of 7 and a max Dexterity of 2) g = Armor Class 8 items (Anything with a base defense of 8 and a max Dexterity of 1) h = Armor Class 9 items (Anything with a base defense of 9 and a max Dexterity of 0) i = All robes j = Both special varieties of robes available at the end of the Star Forge Tho this is not necessarily true - the letter refers to the bodyvar column in baseitems.2da. Change the letters in baseitems and you will mess up these equivalencies.
-
With the help of Cortisol over on the discord, we did some sleuthing as to how force powers being restricted by armors work. spells.2da has 2 columns called "requireitemmask" and "forbiditemmask" (these names are hopefully self-explanatory) These are 16-wide bitfields. Some testing confirmed that the 7 least significant bits (right-most) correspond in order from MSB > LSB to: LightSaber, AC9, AC8, AC7, AC6, AC5, AC4 class armors or more specifically they correspond to the following itemtypes in baseitems.2da Bit itemtype 0 31 1 32 2 33 3 34 4 35 5 36 6 39,40,41 I did not find any 2da that creates this mapping. Might be hardcoded in the engine. Have not tested other bits. They may or may not function. Testing that would require pairing every remaining bit with every item type found in baseitems. That's 9*itemtypes (minus the ones we already know about). If someone wants to bother with that be my guest (tho the work could probably efficiently be subdivided if people decide to bother).
-
u/Snigaroo already responded with a fix. Tnx. Boy you guys are fast AF.
-
u/Snigaroo responded to me. It's fixed now. (didn't see a way to delete thread) Got into kotor again this week, went through the popular mod-build posted by Snigaroo on reddit (it was updated a couple weeks ago). But either I messed up something in the build, or (unlikely) the build or one of its component mods is buggy up, because certain twilek male head textures are messed up: This is the twilek from the lower city Taris cantina that auditions the dancer girl. The red guy you see behind him is also messed up, tho the blue one on the right (not visible here) is okay. I don't know how to track down the messed up file however. (The area they are in is tar_m03ae, perhaps that's helpful as a jumping off point.)
-
How are feats implemented? (How to fix broken feat?)
martixy replied to martixy's topic in General Kotor/TSL Modding
Well, that's... sad. As a tabletop D&D player I spend like half the time in the feedback window and that feat's impotence irks me. Thank you for the response tho. -
So, force powers are effectively spells - you open spells.2da and see the impactscript column which tell you which script implements the functionality of those powers. You take that script, open it in your code editor and go wild. I haven't been able to track down how feats work. Sniper shot has a hardcoded DC of 12 and the description says it's character level + int modifier. And I wanna fix that.
-
-
Do you have the source for this tool somewhere? I was looking at the 2da file format, but the spec I found seems to have nothing to do with the actual format kotor uses.
-
[K1]How do I turn down the mouse/camera sensitivity?
martixy replied to Ebony Moon's topic in General Kotor/TSL Modding
I tried doing that already. It has no controls over the rotation speed of the camera. It only has settings for the free view (Caps Lock). The only way I've found to fix this is adjusting mouse sens and DPI from outside the game. -
Let's hope this is the right place to discuss. I just ran into a rare bug with Canderous' personal quest, where the final conversation wouldn't trigger (the "I'm not happy with the way my life has turned." one). It has to do with the mechanism which triggers these(where you need to level up to trigger the next), and it makes me think this is not a bug unique to this conversation, but based on the mechanism. The triggers for these convos often include the following condition (i.e. check some global against your level): (GetHitDice(GetFirstPC()) > GetGlobalNumber("T_LEVC")) Which fails if that global number is 20. It should probably be changed to something like: ((GetHitDice(GetFirstPC()) > GetGlobalNumber("T_LEVC")) || GetHitDice(GetFirstPC()) == 20) The fix is simple, but tracking down all instances might be tricky.
- 17 replies
-
- 1
-
- improvement
- bugfix
-
(and 4 more)
Tagged with:
-
[K1]How do I turn down the mouse/camera sensitivity?
martixy replied to Ebony Moon's topic in General Kotor/TSL Modding
Adding "Controls_CameraRotationSpeed" does nothing for me. At least under [Game Options]. Also, the naming convention of that property does not match the naming convention of the others. -
Changing the duration of Force powers
martixy replied to Arizael's topic in General Kotor/TSL Modding
For anyone who stumbles on this thread(it is pretty high in google search results): For me it was annoying having to recast everything, so I wanted to do the same thing. This won't be an exhaustive tutorial, just the high-level steps. First, obviously you need the NWScript compiler. The code for the powers is in "k_inc_force.nss". Use kotortool to get it. Syntax is C-like, so you can use any C syntax highlighting you want. This is just an include file. The actual script called is listed in "spells.2da", impactscript column. This is what you will be compiling. After making all changes to code you want, put the base script, and all includes it calls in a folder and compile. The result should be a .ncs and .ndb files. You only need the .ncs file. Put the .ncs file in your Override. These instructions are valid for for all games. Including Kotor 1/2 and even Neverwinter Nights (apart from any filename differences). Misc note: Some force powers just apply poisons. Those are configurable in "poison.2da", not the script itself. Misc note 2: If you want to preserve balance, you can adjust cost in "spells.2da" and damage appropriately. -
- 102 comments