Giter Club home page Giter Club logo

tsl_community_patch's Introduction

KOTOR II The Sith Lords Community Patch

Original Mod Development/Inception: A Future Pilot

Current Editor/Maintainer: JCarter426

Contact: [email protected] or PM at deadlystream.com

Original Release Date: June 14, 2018

Release Date: December 10, 2022

Current Version: v1.5.2

1. Description:

This mod is a compilation of various bugfix mods put together with the intention of fixing all the known bugs with the last official patch of KOTOR 2. A huge thanks to all of the mod authors who created these mods, and gave me permission to include them in this patch.

2. Install:

Run INSTALL.exe and navigate to your K2 install folder. Generally speaking, this mod should be installed before anything else, except TSLRCM and mods that do hard edits/overwrites of 2DA, TLK or MOD (module) files.

3. Uninstall:

Given the complexity of this mod, a clean install of KOTOR II is recommended. However, you can check through the installation log file if you wish to undo the changes made.

4. List of included mods and fixes (alphabetical by author):

A Future Pilot:

  • Running in outer space makes you look like a squirrel injected with caffeine

Ashton Scorpius:

bead-v:

danil-ch:

DarthParametric:

  • There are multiple issues with the Harbinger level geometry: Harbinger Hull Fixes 1.1
  • The Zeison Sha armour for males (PMBMM) is unable to properly perform a two-handed grip during weapon animations: Get a Grip! Zeison Sha Armour Male Model Fix 1.0
  • There are some minor level geometry issues in the Peragus Administration Level: Peragus Administration Level Room Model Fixes 1.0
  • The head texture for Visas has a poor quality mask for its environment map and incorrectly uses her skin colour for the inside of her mouth
  • The female player head PFHA04 has some clipping issues with the right eyeball and eyelid (reported by Soka) ISSUE #11
  • The female player head PFHA05 has incorrect UVs for the upper teeth, causing them to be flesh-coloured (reported by ebmar)
  • The Ebon Hawk's medbay has some bad lightmaps and the camera can clip through its walls (suggested by JCarter426) ISSUE #4
  • The Ebon Hawk's interior had various minor additional geometry/lightmap issues not addressed by bead-v's mod ISSUE #49
  • The Bumani Exchange Corp. module lacked a skybox/starscape (reported by JCarter426) ISSUE #6
  • Mandalore is missing the helmet filter effect on one of his lines (reported by Sniggles) ISSUE #8
  • War Droid texture variants didn't properly display the blaster texture (Reported by Sith Holocron) ISSUE #10
  • When Kreia first wakes up in the Peragus Administration Level morgue, it's possible to briefly see her body disappear ISSUE #32

FF97

JCarter426:

Kainzorus Prime:

LiliArch:

  • The broken item icon, and Grenn's case icon are incorrect

Marauder:

N-DReW25:

ndix UR:

PapaZinos

Squall Lionheart:

The Sith Lords Restored Content Mod (TSLRCM) Team

  • The male Jedi Master robes (PMBNM) had an incorrect OdysseyBase name

ZimmMaster:

5. Bugs:

These are the currently known bugs with KOTOR II or the mod that the K2CP is looking to resolve:

https://github.com/KOTORCommunityPatches/TSL_Community_Patch/issues

Please report any bugs or other problems on the Github issue page or Deadly Stream.

https://deadlystream.com/files/file/1280-kotor-2-community-patch/

6. Permissions:

Due to this mod being a compilation from many different authors, please do not distribute it.

7. Special Thanks/Acknowledgements:

  • All of the mod authors who have helped make this patch a reality - thank you!
  • Fred Tetra - For KOTOR Tool
  • tk102 - For DLGEditor and K-GFF
  • JdNoa/Dashus - For DeNCS
  • Stoffe - For TSLPatcher
  • bead-v - For MDLEdit and KOTORMax
  • ndix UR - For TGA2TPC, TPCView, and MDLOps v1.0+
  • seedhartha - For KOTORBlender fork for Blender 2.8+
  • Fair Strides - For various tools and updates to older tools
  • DrMcCoy - For Xoreos Tools
  • Snigaroo - For maintaining mod builds on the /r/kotor subreddit
  • danil-ch - For the original info.rtf template

THIS MODIFICATION IS PROVIDED AS-IS AND IS NOT SUPPORTED BY BIOWARE/OBSIDIAN ENTERTAINMENT OR LUCASARTS OR ANY LICENSERS/SPONSORS OF THE MENTIONED COMPANIES. USE OF THIS MODIFICATION IS AT YOUR OWN RISK AND THE ABOVE MENTIONED COMPANIES OR THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGE CAUSED TO YOUR COMPUTER FOR THE USAGE OF THIS MODIFICATION.

tsl_community_patch's People

Contributors

bbbrassil avatar darthparametric avatar jcarter426 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ehren1337

tsl_community_patch's Issues

Miscolored Onderon freighters

Some of the background ships in the battle over Onderon have a light grey and yellow color scheme in the pre-rendered Bink videos, but appear dark grey and brown in game:

yellow freighters

There are 3D models in the skybox, plus 2D billboards on the mg_sbk.tga texture that I believe is already in the Community Patch via my Minor Fixes and could probably stand to be redone anyhow.

There may be a yellow version of the model in the game already in 501OND.

Mines Aren't Effective in Khoonda Siege

In TSLRCM, given the Battle of Khoonda is no longer a series of pre-rendered cutscenes, but an in-game event, it's disappointing to see that the mines aren't effective in killing mercenaries.

Player can ask HK-47 about the Sonic Imprint Sensor even if they don't have it.

Apparently the player is able to ask HK about the Sonic Imprint Sensor even if they failed to pick it up on Peragus. Looking at the DLG, it looks like it should be working as intended. There's a conditional that appears to be checking a global being set to 1. There is speculation TSLRCM changed it so that you could access that avenue without the sensor, which would presumably mean a script is setting the global regardless, most likely on Peragus or afterwards on the Hawk.

Edit: Speculation that the global could be set on examining the container the sensor is in without looting it.

Reported by 134340Goat.

Pergaus mines are deadly

It's possible to collect deadly sonic mines on Peragus even though you might not have enough skill points to use them until much later in the game, depending on the difficulty mod that determines the skill cap.
This has the unfortunate side effect of locking you out of some content with doors that can only be blasted open.
They probably were meant to and should be replaced with minor sonic mines.

Peragus - Replace corpse placeables with spawn dead characters

The various corpse placeables throughout Peragus could be replaced with spawn dead characters wearing the mining uniform for more verisimilitude. Especially named characters having matching appearances.

101PER (Administration Level) - 14 corpse placeables in the GIT
102PER (Mining Tunnels) - 7 corpse placeables in the GIT
103PER (Fuel Depot) - 3 corpse placeables in the GIT
105PER (Dormitories) - 41 corpse placeables in the GIT

VarsityPuppet made a mod for this, but the script-based implementation has undesirable side-effects.

Ebon Hawk - Training Bao-Dur cutscene doesn't properly account for female PCs

This is a scene added by TSLRCM.

In the montage scene of training Bao-Dur, fake duplicates of the PC and Bao are used. As a consequence of using a single appearance row, the PC will always use a male body model, even for female PCs. A further consequence of the chosen row is that a modded game using the Revan's Robes model slot may cause the game to crash in some instances if the PC is wearing said item.

Additionally, the camera angle is fairly poor. Possibly this was intentional to mask the body model issue.

With thanks to Stormie97 for help in discovering and testing the issue.

Minimum HP 1 after Secret Tomb

I received a vague report via Discord - user only noticed the problem after the fact - of minimum HP 1 being set for the whole party except Kreia. User said it happened shortly after visiting the Secret Tomb on Korriban, so I'm thinking it might have something to do with the party confrontation there.

Ebon Hawk medbay lightmap issues

The Ebon Hawk has a whole host of model issues. The medbay has some particularly bad lightmapping, resulting in a lot of pitch black sections. This can most easily alleviated by porting the entire room model from K1 to make use of its lightmaps, although some alterations are required to match the changes made in TSL.

Suggested by @JCarter426

G0-T0 lacks the proper filter on a dialogue interjection in the Onderon spaceport (501OND)

During the conversation with the gate guard in the Onderon spaceport barring access to the city, if you use Force Persuade and have G0-T0 in the party, his interjection lacks the proper voice filter giving it the robotic sound.

We must schedule a time for you to teach me how to use such a power. I would, of course, compensate you for such instruction.

StreamVoice\501\CP_GUARD\501cp_guard008.wav

Entry 23 in cp_guard.dlg

Reported by Sniggles.

501cp_guard008.zip

G0-T0 is erroneously able to equip blaster rifles, causing animation issues

Apparently G0-T0 (and possibly T3 as well?) can be fitted with an upgrade (added by TSLRCM?) that grants the rifle proficiency. This causes animation issues:

w4TjV9k

Said upgrade would need to be restricted to use by HK only.

Reported by Chonch on Discord.

Edit: The upgrades in question are d_tool_10 and d_tool_11, the Droid Warfare Upgrade and Droid Battle Upgrade. respectively. It may be easier and less disruptive to just add the required animations to G0-T0 and T3, duplicating the existing single blaster animations as they already do for dual wielding.

Is this compatibile with the GOG version?

I've installed this mod on the GOG version, which is different from the 2015 steam version and based on the original 2005 exe, and there were some warnings during the installation about missing files.

I was able to play anyway, but I noticed some minor glitches, for instance:

  • When Mira enters the Jekk Jekk Tar, she's not wearing the pressure suit but everyone talks to her like she is
  • Vogga's texture has transparency issues

So I was wondering if the current version is compatible with the GOG version, and if it's not, which mods you would recommend for it.

Thanks

Male Twi'lek heads are too dark

For all visible meshes on the male Twi'lek head model (Twilek_M), the ambient and diffuse RGB values were 0.588 (rather than 1.0), causing them to appear significantly dark in-game.

This mod now addresses that issue, and although it was a candidate for the CP, I don't believe it belongs due to other drastic changes. So instead, I suggest this simple lighting fix for the vanilla heads.

TSL Male Twi'lek Head Lighting Fix.zip

Kreia runs a Weequay fight club on her time off

(reported by Chonch)

image

Bizarre bug of Kreia fighting a Weequay on the fake Ebon Hawk while telepathically talking to the Exile about the echo on Nar Shaddaa. Sniggles said it's happened before too, so the trick is figuring out how to reproduce it.

My only guess is maybe an Exchange thug from one of the random encounters teleports over to her somehow.

Light-sided Kreia & other wounded militia oddities

During the preparation for the Battle of Khoonda, it's possible to use Kreia to heal the wounded militia. This lets one get around the treat injury check on their player (seems like an unintended exploit) and grants light side points to Kreia (outright bizarre).

It seems like the issue is caused by some interference with the usual switch-control-to-PC that is meant to happen when a conversation starts. The wounded militia dialogues are set up to fire some other dialogue with an invisible placeable as the owner so the creature doesn't stop looping its wounded animation. This seems like the likely culprit.

There are also some weird things going on with the creature the player talks to not being the same as the one they clicked on to initiate the dialogue. Maybe there is some mismatch with the wounded militia and the corresponding invisible placeables.

Repeated Kreia/Mandalore cutscene in the Mandalorian camp

Reported by Xuul:

TSLRCM and M4 only ATM. It's Kreia's conversation with mandolore so it is one of the in game ones.
It triggered then I did the ambush, but when I spoke with one of the mandolorian npc's it threw me back and played it again.
I then cleaned up the rest of the enmies

Will have to keep an eye out for it and see if the bug can be reproduced.

Ramana doesn't cough up her wages

(reported by Sniggles)

Seems like the issue may be with the scripts only checking the player's base class and not accounting for the prestige class.

a_ramana_collect.ncs:
void main() {
	object oPC = GetFirstPC();
	int int1 = GetLevelByPosition(1, oPC);
	GiveGoldToCreature(oPC, (100 * int1));
	SetGlobalNumber("207TEL_Ramana_Level", int1);
}
c_global_lt_lev.ncs:
int StartingConditional() {
	string sParam = GetScriptStringParameter();
	int nGlobal = GetGlobalNumber(sParam);
	if ((nGlobal < GetLevelByPosition(1, GetFirstPC()))) {
		return 1;
	}
	return 0;
}

Peragus Administration Level - Kreia's corpse visibly disappears when looting plasma torch in morgue

The covered corpse placeable (g_tresgencorp004) has OnClosed script a_setkrespwn that has a 1 second fade out but destroys the Kreia corpse placeable straight away. There needs to be a delay added to the destroy command so it is properly covered by the fade to black.

Kreia_Corpse_Sml

1080 version - https://i.imgur.com/kH2wKiZ.gif

void main() {
	
	int nGlobal = GetGlobalNumber("101PER_Kreia_Spawn");
	
	if ((nGlobal == 0))
		{
			object oKreia = GetObjectByTag("kreia_corpse", 0);
			location lBed = GetLocation(GetObjectByTag("WP_KREIA_SPAWN1", 0));
			
			SetGlobalFadeOut(0.0, 1.0);
			SetFadeUntilScript();
			
			SetGlobalNumber("101PER_Kreia_Spawn", 2);
			
			DestroyObject(oKreia, 0.0, TRUE);
			
			oKreia = CreateObject(OBJECT_TYPE_CREATURE, "p_kreia002", lBed);
			
			AssignCommand(GetFirstPC(), ClearAllActions());
			AssignCommand(oKreia, ClearAllActions());
			
			AssignCommand(oKreia, ActionStartConversation(GetFirstPC(), "101kreia"));
		}
}

Captain Riiken - Riiken might still appear later if you kill him, but side with Talia anyway

A user reported that he killed Riiken, but Riiken still showed up later (in the force cage in the palace, but presumably this would also happen on Telos) because he sided with Talia, and the game assumed that the player wouldn't kill Riiken in those circumstances. There are two quest states to check here, per Goat: one for if Riiken was killed without the player being seen doing it, and one for if the player was seen. Those need to be checked both against Riiken being in the force cage as well as his presence at Telos.

Charric is apparently Schrödinger's disruptor

The Charric disruptor rifle (w_brifle_23) is described as both upgradeable and not upgradeable. Mechanically, it is fully upgradeable, though I suspect it wasn't meant to be.

The upgrade level is easy enough to patch, but the description would need a TLK edit.

4th Ravager bomb site is easy to miss for the forgettable type

On more than one occasion, I've scavenged my makeshift bomb and then failed to remember which bomb sites I'd already visited. The game gives no indication. They are all still marked on the map.

I figure it would be possible to remove the ones that were visited by deleting the waypoints for the map notes and maybe spawn new ones with new names to mark which ones were visited.

Sien the Mine Foreman speaks for too long in his holo-log

In Sien's final holo-log, he's either incapacitated or killed by Coorta and his cronies. In the log, however, Sien clearly continues speaking even after he's been hit by Coorta and is dropping to the floor, and continues to do so for about a full second.

Port improved/better quality textures from K1

There's already an existing mod for this, but there are issues with envmaps, which will need to be addressed (most expedient solution is presumably removing the alpha masks).

Here's a list of textures with the same filename that have a larger version in K1:

Filename				K1 Size		TSL Size
LEH_EHawk01				1024x1024	256x256
C_Brith01				512x512		64x64
C_Tach01				512x512		128x128
C_DrdAssassin01				512x512		256x256
C_DrdAstro01				512x512		256x256
C_DrdAstro02				512x512		256x256
C_DrdAstro03				512x512		256x256
C_DrdMkFour01				512x512		256x256
C_DrdMkOne01				512x512		256x256
C_Drdmkone02				512x512		256x256
C_DrdProbe01				512x512		256x256
C_DrdProt01				512x512		256x256
C_DrdProt02				512x512		256x256
C_DrdProt03				512x512		256x256
C_DrdProt04				512x512		256x256
C_DrdSentry01				512x512		256x256
C_DrdWar01				512x512		256x256
C_DrdWar02				512x512		256x256
C_DrdWar03				512x512		256x256
C_DrdWar04				512x512		256x256
C_DrdWar05				512x512		256x256
C_Firixa01				512x512		256x256
C_Hutt01				512x512		256x256
C_Hutt02				512x512		256x256
C_Hutt03				512x512		256x256
C_Hutt04				512x512		256x256
C_Iriaz01				512x512		256x256
C_Ithorian01				512x512		256x256
C_Ithorian02				512x512		256x256
C_Ithorian03				512x512		256x256
C_Jawa01				512x512		256x256
C_Kataarn01				512x512		256x256
C_Kataarn02				512x512		256x256
C_Khounda01				512x512		256x256
C_Khounda02				512x512		256x256
C_Khounda03				512x512		256x256
C_Khounda04				512x512		256x256
C_Khoundb01				512x512		256x256
C_Khoundb02				512x512		256x256
C_Khoundb03				512x512		256x256
C_Khoundb04				512x512		256x256
C_Kinrath01				512x512		256x256
C_Kinrath02				512x512		256x256
C_Kinrath03				512x512		256x256
C_Kinrath04				512x512		256x256
C_Mykal01				512x512		256x256
C_Rakghoul01				512x512		256x256
C_Ronto01				512x512		256x256
C_Seabeast01				512x512		256x256
C_Shyrack01				512x512		256x256
C_Shyrack02				512x512		256x256
C_Tukata01				512x512		256x256
C_Twohead01				512x512		256x256
C_Verkaal01				512x512		256x256
C_Wraid01				512x512		256x256
C_Wraid02				512x512		256x256
C_Wraid03				512x512		256x256
C_Wraid04				512x512		256x256
LEH_bike				512x512		256x256
LMI_bed01				512x512		256x256
LTA_dor02				512x512		256x256
LUN_dor01				512x512		256x256
PLC_Rakathol1				256x256		128x128

Possible to break initial kolto tank cutscene

At the start of the game, clicking the wrong thing at the right time can break the initial cutscene of the Exile waking up on Peragus. The player winds up stuck inside the kolto tank.
I had a fix for this before via NoClicksFor() but I seem to have misplaced it. Will look for it when we've moved our attention to KOTOR 2 later.

Kreia stuck in cockpit hallway following Peragus escape

When Kreia walks away from the cockpit following the escape from Peragus and Atton and the player begin talking about her and her hand, she's still visibly standing in the corridor right outside the cockpit. Given that they're having a private conversation about her and Atton is urging the player to go see how she's doing, her continued presence right in the Exile's line-of-sight doesn't make sense.

War Droid racetex variants seem to override the incorporated blaster texture

This is the same issue as in K1. It appears that racetex variants 2-5 of the War Droid forcibly override the texture for the integrated blaster these droids carry.

War_Droid_Blaster

This is the same problem you get when trying to apply a texture variant via appearance.2da to any other model with more than one texture (like a full body model with separate head and body textures). I thought there must be some hard-coded exception for the War Droid, similar to Bao Dur's robo arm, but apparently not. I guess this carried over from K1 without anyone picking up on it.

There are three avenues for a fix. The first is to alter the UVs of the model and merge both droid and blaster meshes into a single texture. The second approach is to create separate models for each War Droid variant and edit the appropriate appearance.2da rows to point to these. The third approach is to edit the base model and swap out the incorporated blaster mesh for a reference object, which will pull in an external blaster model, thus exempting it from the texture override (which is the fix implemented in the K1 Community Patch).

The first approach is the least ideal. It would break compatibility with any modded textures for the droids or the blaster. The second approach would be the "standard" way to do it, but it could be vulnerable to 2DA edits and would not support expanded texture variants. The third approach has the benefit of only requiring a single model edit and no appearance.2da changes, making it the most compatible with third-party changes, with the additional added flexibility of now dynamically utilising modded weapons. One downside, however, is that the bullethook is fixed in the droid model itself, which may lead to visual VFX offset issues with modded weapons (albeit a minor issue).

Reported by Sith Holocron in relation to Sithspecter's HQ Blaster mod, but it also happens with the vanilla War Droid models.

Jumping into the pit is a good idea

Making thugs jump into the pit on Nar Shaddaa gives influence with light-sided party members such as Bao-Dur.

Apparently this is still a thing even with TSLRCM.

First turret in Dantooine battle sequence cutscene doesn't rock back

The most minor issue ever, but in the ingame cutscene for the Dantooine battle for Khoonda, when the turrets are displayed as firing on enemies, every turret has a marked "rock back" effect, where it looks like they're absorbing shock from their own fire. The first turret to fire during this sequence doesn't have this effect, while all the other four do.

Secret Tomb exploit

It's possible to bypass the alignment restriction for entering the Tomb of Ludo Kressh by triggering the cutscene while controlling a party member with a more extreme alignment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.