Leaderboard
Popular Content
Showing content with the highest reputation on 10/19/2021 in all areas
-
1 point
Version 1.5.2
59,144 downloads
======================================================== KOTOR 2 Community Patch ======================================================== Maintainer: A Future Pilot Contact: afuturepilotis@gmail.com or PM at deadlystream.com Original Release Date: 06/14/2018 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. List of included mods and fixes (alphabetical by author): ---------- A Future Pilot: The space suit running animation looks like a squirrel that's been injected with caffeine Ashton Scorpius: Malak had some oral hygiene problems: TSL Jedi Malak Mouth Fix 1.1.0 bead-v: The Ebon Hawk has a couple panels with bad models: Ebon Hawk Model Fixes 2.0 danil-ch: In the prologue there are remote clones instead of sensor droids: Prologue Sensor Droids Fix A number of textures don't use shaders: Textures Improvement Project 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) 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) The Bumani Exchange Corp. module lacked a skybox/starscape (reported by JCarter426) Mandalore is missing the helmet filter effect on one of his lines (reported by Sniggles) War Droid texture variants didn't properly display the blaster texture (Reported by Sith Holocron) When Kreia first wakes up in the Peragus Administration Level morgue, it's possible to briefly see her body disappear FF97: Khoonda's flag was missing its texture: Khoonda Flag Fix 1.0.0 JCarter426: Various issues: JC's Minor Fixes for K2 1.5 The HKs and T3M4 droids don't have shaders: JC's Shader Fixes for K2 1.1 Various fixes for which feats characters can select: JC's Feat Fixes for K2 1.2 T3-M4 was missing VO and some Gand VO was misplaced: JC's VO Fix for K2 1.2 The Republic soldier body models have been improved: JC’s Republic Soldier Fix for K2 1.1 (with DarthParametric lending a hand) TSLRCM’s Zhug encounter on Nar Shaddaa had a couple issues: JC's Zhug Attack Fix for TSLRCM 1.1 Strength Gauntlets were missing from random loot. Peragus items have had their stats unified across all areas. They will also now stack in the inventory menu. Party puppets such as Bao-Dur’s remote would erroneously trip the stealth sensor in the jungle tomb mission (reported by Sniggles) Kainzorus Prime: Boma beasts have black between their teeth: Boma Beast Teeth Fix 1.0 The model in the galaxy map for Paragus looks nothing like it: Peragus Galaxy Map Change LiliArch: The broken item icon, and Grenn's case icon are incorrect Marauder: A number of items have wrong descriptions or properties: Marauder Fix Pack 1.0.3 N-DReW25: The Serocco guard has a VO that used the wrong actor: Serroco Guard VO Fix 1.0 It's possible to not be able to get a starport visa if you let a bounty hunter go: Bounty Hunter Starport Visa Fix 1.0 ndix UR: One of the player heads wasn't able to blink or move his eyes: PMHC06 Fixed for TSL PapaZinos: The speeder on Nar Shaddaa clipped through the railing: Don't Let Kreia Fly Your Speeder! 1.0.0 Khoonda’s turrets had the wrong appearance: Khoonda Turrets Model Repair 1.0.0 Model fixes: Nar Shaddaa Docks Repair 1.1.0 Model fixes: Nar Shaddaa Landing Pad Repair Model fixes: Telos Model Repairs 1.0.0 Model fixes: TSL Turrets Model Repair 1.0.0 Model fixes: Ultimate Citadel Station Repairs 1.0.0 Model fixes: Ultimate Ebon Hawk Repairs for TSL 2.0.2 (The full version of the mod includes some alternative animated texture options) Model fixes: Ultimate Harbinger Repairs 2.0.1 Model fixes: Ultimate Peragus Models Repair 1.2.0 Squall Lionheart: PMHH01 has some issues: PMHH01 Fixed The Sith Lords Restored Content Mod (TSLRCM) Team: The male Jedi Master robes (PMBNM) had an incorrect OdysseyBase name ZimmMaster: The walking and running animations are janky: Movement Animation Fix for Both KOTOR and TSL 3. Other Recommended Mods: ---------- Under Construction 4. Install: ---------- Prior to installation, ensure that a copy of The Sith Lords Restored Content Mod (TSLRCM) is installed over your game, as TSLRCM's changes are required for the KOTOR 2 Community Patch to function. From there, to install, just download the mod, unpackage it, and run Install.exe 5. Uninstall: ---------- Given the complexity of this mod, a clean install of KOTOR 2 is recommended. However, you can check through the installation log file if you wish to undo the changes made. 6. Bugs: ---------- If you are aware of any bugs that need to be fixed, let me know here: https://github.com/KOTORCommunityPatches/TSL_Community_Patch/issues 7. Permissions: ---------- Due to this mod being a compilation from many different authors, please do not distribute it. 8. Credits: ---------- All of the mod authors who have helped make this patch a reality. I can't say it enough - Thank you! Fred Tetra - For creating his awesome KOTOR Tool that makes us modders job a lot easier. Snigaroo - For maintaining awesome mod lists on the /r/kotor subreddit, and for putting up with my many recommendations danil-ch - For this info.rtf template Fair Strides - For bundling up his tools and making them available DarthParametric - For his numerous additions and fixes JCarter426 - For his many contributions and inclusions 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. -
1 point
20,012 downloads
This mod will fix the character Luxa so that her hair model is uvw mapped properly. The default model is rather piecemeal and chaotic, so that her hair doesn't look like it flows naturally. The N_Lala_XuH.tga texture that is included, has only an additional area for the tongue, and some more detail added to the blurriest part of the hair (along the right edge of the tga). As a bonus, this mod can adjust her body model, so that her figure is much more shapely. There are two options included: Option 1 has an unnaturally thin waist (which seems more believable IMO for an alien Zeltron female). Option 2 is not quite exaggerated as the first (this is the model I use for female Twi'lek underwear in the Revenge of Revan mod). The texture has been tweaked slightly, so that her skin has more detail, the color matches her face a bit better, and the black leather doesn't look as green as the original. There is a bonus alternate texture, which swaps out the leotard shorts for laced up bikini bottoms, and a backless top. -
1 pointHello all, I was tinkering with the Endar Spire script that specifically places class custom items within the initial Footlocker (k_pend_area01.ncs). For some reason whenever I try and use an If statement to check whether the player has a certain skill, it will then place an item within the Footlocker, but regardless of whether I have any points in the skill it still spawns the item and I can't see why. Please see the Important section below as the main script is pretty big: } if (GetHasSkill(2, GetFirstPC())) { CreateItemOnObject(stringGLOB_35, object1, 1); } if (GetHasSkill(0, GetFirstPC())) { CreateItemOnObject(stringGLOB_36, object1, 2); } if (GetHasSkill(1, GetFirstPC())) { CreateItemOnObject(stringGLOB_37, object1, 2); } if (GetHasSkill(5, GetFirstPC())) { CreateItemOnObject(stringGLOB_38, object1, 2); } if (GetHasSkill(6, GetFirstPC())) { CreateItemOnObject(stringGLOB_39, object1, 2); } if (GetHasSkill(7, GetFirstPC())) { CreateItemOnObject(stringGLOB_40, object1, 2); } } // Globals int intGLOB_1 = 0; int intGLOB_2 = 1; int intGLOB_3 = 2; int intGLOB_4 = 3; int intGLOB_5 = 4; int intGLOB_6 = 5; int intGLOB_7 = 6; int intGLOB_8 = 7; int intGLOB_9 = 8; int intGLOB_10 = 9; int intGLOB_11 = 10; int intGLOB_12 = 11; int intGLOB_13 = 12; int intGLOB_14 = 13; int intGLOB_15 = 14; int intGLOB_16 = 15; int intGLOB_17 = 16; int intGLOB_18 = 17; int intGLOB_19 = 18; int intGLOB_20 = 19; int intGLOB_21 = 1100; int intGLOB_22 = (-6); int intGLOB_23 = (-5); int intGLOB_24 = (-4); int intGLOB_25 = (-2); int intGLOB_26 = (-1); int intGLOB_27 = 0; int intGLOB_28 = 1; int intGLOB_29 = 2; int intGLOB_30 = 3; int intGLOB_31 = 4; int intGLOB_32 = 5; int intGLOB_33 = 6; int intGLOB_34 = 3; int intGLOB_35 = 4; int intGLOB_36 = 5; int intGLOB_37 = 6; int intGLOB_38 = 7; int intGLOB_39 = 1; int intGLOB_40 = 2; int intGLOB_41 = 3; int intGLOB_42 = 4; int intGLOB_43 = 5; int intGLOB_44 = 6; int intGLOB_45 = 7; int intGLOB_46 = 8; int intGLOB_47 = 9; int intGLOB_48 = 10; int intGLOB_49 = 11; int intGLOB_50 = 12; int intGLOB_51 = 13; int intGLOB_52 = 14; int intGLOB_53 = 15; int intGLOB_54 = 16; int intGLOB_55 = 17; int intGLOB_56 = 18; int intGLOB_57 = 19; int intGLOB_58 = 20; int intGLOB_59 = 21; int intGLOB_60 = 22; int intGLOB_61 = 23; int intGLOB_62 = 24; int intGLOB_63 = 25; int intGLOB_64 = 26; int intGLOB_65 = 27; int intGLOB_66 = 28; int intGLOB_67 = 29; int intGLOB_68 = 30; int intGLOB_69 = 59; int intGLOB_70 = 0; int intGLOB_71 = 1; int intGLOB_72 = 2; int intGLOB_73 = 29; int intGLOB_74 = 30; int intGLOB_75 = 34; int intGLOB_76 = 35; int intGLOB_77 = 36; int intGLOB_78 = 37; int intGLOB_79 = 38; int intGLOB_80 = 39; int intGLOB_81 = 41; int intGLOB_82 = 42; int intGLOB_83 = 46; int intGLOB_84 = 47; int intGLOB_85 = 15; int intGLOB_86 = 10; int intGLOB_87 = 5; int intGLOB_88 = 2; int intGLOB_89; int intGLOB_90; int intGLOB_91; object objectGLOB_1; int intGLOB_92; int intGLOB_93; int intGLOB_94; int intGLOB_95; int intGLOB_96; int intGLOB_97; int intGLOB_98 = 1; int intGLOB_99 = 2; int intGLOB_100 = 3; int intGLOB_101 = 20; int intGLOB_102 = 21; int intGLOB_103 = 22; int intGLOB_104 = 23; int intGLOB_105 = 24; int intGLOB_106 = 25; int intGLOB_107 = 26; int intGLOB_108 = 27; int intGLOB_109 = 28; int intGLOB_110 = 31; int intGLOB_111 = 32; int intGLOB_112 = 33; int intGLOB_113 = 40; int intGLOB_114 = 43; int intGLOB_115 = 44; int intGLOB_116 = 45; int intGLOB_117 = 48; int intGLOB_118 = 49; int intGLOB_119 = 50; int intGLOB_120 = 51; int intGLOB_121 = 52; int intGLOB_122 = 53; int intGLOB_123 = 54; int intGLOB_124 = 55; int intGLOB_125 = 56; int intGLOB_126 = 57; int intGLOB_127 = 58; int intGLOB_128 = 60; int intGLOB_129 = 61; int intGLOB_130 = 62; int intGLOB_131 = 63; int intGLOB_132 = 64; int intGLOB_133 = 65; int intGLOB_134 = 66; int intGLOB_135 = 67; int intGLOB_136 = 68; int intGLOB_137 = 69; int intGLOB_138 = 70; int intGLOB_139 = 71; int intGLOB_140 = 72; int intGLOB_141 = 1; int intGLOB_142 = 2; int intGLOB_143 = 3; int intGLOB_144 = 4; string stringGLOB_1 = "end_trask"; string stringGLOB_2 = "endwp_tarsk01"; string stringGLOB_3 = "Carth"; string stringGLOB_4 = "g_w_blstrrfl001"; string stringGLOB_5 = "g_i_adrnaline003"; string stringGLOB_6 = "g_i_medeqpmnt01"; string stringGLOB_7 = "g_w_blstrpstl004"; string stringGLOB_8 = "g_i_belt003"; string stringGLOB_9 = "g_i_implant101"; string stringGLOB_10 = "g_i_medeqpmnt01"; string stringGLOB_11 = "g_i_secspike01"; string stringGLOB_12 = "g_i_progspike01"; string stringGLOB_13 = "g_i_medeqpmnt02"; string stringGLOB_14 = "g_w_iongren01"; string stringGLOB_15 = "g_w_fraggren01"; string stringGLOB_16 = "g_w_stungren01"; string stringGLOB_17 = "g_i_adrnaline001"; string stringGLOB_18 = "g_i_cmbtshot001"; string stringGLOB_19 = "g_i_belt001"; string stringGLOB_20 = "g_w_adhsvgren001"; string stringGLOB_21 = "g_w_iongren01"; string stringGLOB_22 = "g_w_stungren01"; string stringGLOB_23 = "g_i_adrnaline002"; string stringGLOB_24 = "g_i_progspike01"; string stringGLOB_25 = "g_i_parts01"; string stringGLOB_26 = "g_i_secspike01"; string stringGLOB_27 = "g_i_medeqpmnt01"; string stringGLOB_28 = "g_i_secspike02"; string stringGLOB_29 = "g_w_adhsvgren001"; string stringGLOB_30 = "g_i_gauntlet05"; string stringGLOB_31 = "g_w_stungren01"; string stringGLOB_32 = "g_i_parts01"; string stringGLOB_33 = "g_i_mask20"; int intGLOB_145 = 3; int intGLOB_146 = 4; int intGLOB_147 = 2; int intGLOB_148 = (-1); int intGLOB_149 = 0; int intGLOB_150 = 1; int intGLOB_151 = 2; int intGLOB_152 = 3; int intGLOB_153 = 4; int intGLOB_154 = 5; int intGLOB_155 = 6; int intGLOB_156 = 7; int intGLOB_157 = 8; int intGLOB_158 = 9; int intGLOB_159 = 10; int intGLOB_160 = 11; int intGLOB_161 = 12; int intGLOB_162 = 13; int intGLOB_163 = 14; int intGLOB_164 = 15; int intGLOB_165 = 16; int intGLOB_166 = 17; int intGLOB_167 = 18; int intGLOB_168 = 19; int intGLOB_169 = 20; int intGLOB_170 = 21; int intGLOB_171 = 22; int intGLOB_172 = 28; int intGLOB_173 = 29; int intGLOB_174 = 30; int intGLOB_175 = 31; string stringGLOB_34 = "end_locker01"; string stringGLOB_35 = "g_i_belt010"; string stringGLOB_36 = "g_i_progspike01"; string stringGLOB_37 = "g_w_cryobgren001"; string stringGLOB_38 = "g_i_parts01"; string stringGLOB_39 = "g_i_secspike01"; string stringGLOB_40 = "g_i_medeqpmnt01"; // Prototypes object sub5(); void sub4(); void sub3(object objectParam1, int intParam2, int intParam3); int sub2(object objectParam1, int intParam2); int sub1(); object sub5() { return GetObjectByTag(stringGLOB_1, 0); } void sub4() { object object1 = GetObjectByTag(stringGLOB_34, 0); int int1 = GetClassByPosition(1, GetFirstPC()); if ((int1 == 2)) { CreateItemOnObject(stringGLOB_10, object1, 4); CreateItemOnObject(stringGLOB_11, object1, 5); CreateItemOnObject(stringGLOB_12, object1, 4); CreateItemOnObject(stringGLOB_28, object1, 5); CreateItemOnObject(stringGLOB_29, object1, 1); CreateItemOnObject(stringGLOB_30, object1, 1); CreateItemOnObject(stringGLOB_31, object1, 4); CreateItemOnObject(stringGLOB_32, object1, 4); CreateItemOnObject(stringGLOB_33, object1, 1); } else { if ((int1 == 1)) { CreateItemOnObject(stringGLOB_7, object1, 1); CreateItemOnObject(stringGLOB_8, object1, 1); CreateItemOnObject(stringGLOB_9, object1, 1); CreateItemOnObject(stringGLOB_20, object1, 4); CreateItemOnObject(stringGLOB_21, object1, 2); CreateItemOnObject(stringGLOB_22, object1, 2); CreateItemOnObject(stringGLOB_23, object1, 2); CreateItemOnObject(stringGLOB_24, object1, 5); CreateItemOnObject(stringGLOB_25, object1, 5); CreateItemOnObject(stringGLOB_26, object1, 2); CreateItemOnObject(stringGLOB_27, object1, 4); } else { if ((int1 == 0)) { CreateItemOnObject(stringGLOB_4, object1, 1); CreateItemOnObject(stringGLOB_5, object1, 2); CreateItemOnObject(stringGLOB_6, object1, 5); CreateItemOnObject(stringGLOB_13, object1, 2); CreateItemOnObject(stringGLOB_14, object1, 4); CreateItemOnObject(stringGLOB_15, object1, 4); CreateItemOnObject(stringGLOB_16, object1, 4); CreateItemOnObject(stringGLOB_17, object1, 2); CreateItemOnObject(stringGLOB_18, object1, 4); CreateItemOnObject(stringGLOB_19, object1, 1); } } } if (GetHasSkill(2, GetFirstPC())) { CreateItemOnObject(stringGLOB_35, object1, 1); } if (GetHasSkill(0, GetFirstPC())) { CreateItemOnObject(stringGLOB_36, object1, 17); } if (GetHasSkill(1, GetFirstPC())) { CreateItemOnObject(stringGLOB_37, object1, 18); } if (GetHasSkill(5, GetFirstPC())) { CreateItemOnObject(stringGLOB_38, object1, 21); } if (GetHasSkill(6, GetFirstPC())) { CreateItemOnObject(stringGLOB_39, object1, 42); } if (GetHasSkill(7, GetFirstPC())) { CreateItemOnObject(stringGLOB_40, object1, 44); } } void sub3(object objectParam1, int intParam2, int intParam3) { int nLevel = GetHitDice(GetFirstPC()); if ((intParam3 == 1)) { if (((((intParam2 == intGLOB_12) || (intParam2 == intGLOB_17)) || (intParam2 == intGLOB_18)) || (intParam2 == intGLOB_19))) { GiveXPToCreature(GetFirstPC(), (nLevel * 15)); } else { if ((((intParam2 == intGLOB_13) || (intParam2 == intGLOB_20)) || (intParam2 == intGLOB_16))) { GiveXPToCreature(GetFirstPC(), (nLevel * 20)); } else { if (((intParam2 == intGLOB_14) || (intParam2 == intGLOB_15))) { GiveXPToCreature(GetFirstPC(), (nLevel * 10)); } } } } if ((((intParam2 >= 0) && (intParam2 <= 19)) && GetIsObjectValid(objectParam1))) { if (((intParam3 == 1) || (intParam3 == 0))) { SetLocalBoolean(objectParam1, intParam2, intParam3); } } } int sub2(object objectParam1, int intParam2) { int nLocalBool; if ((((intParam2 >= 0) && (intParam2 <= 19)) && GetIsObjectValid(objectParam1))) { nLocalBool = GetLocalBoolean(objectParam1, intParam2); if ((nLocalBool > 0)) { return 1; } } return 0; } int sub1() { int int1; if ((sub2(OBJECT_SELF, intGLOB_10) == 0)) { int1 = 1; sub3(OBJECT_SELF, intGLOB_10, 1); } return int1; } void main() { if (GetIsPC(GetEnteringObject())) { if (sub1()) { SetGlobalFadeOut(0.0, 0.0, 0.0, 0.0, 0.0); PlayMovie("01A"); SetReturnStrref(0, 32228, 0); SetGlobalNumber("K_CURRENT_PLANET", 5); sub4(); SetGlobalFadeOut(0.0, 0.0, 0.0, 0.0, 0.0); SetGlobalFadeIn(3.0, 1.5, 0.0, 0.0, 0.0); DelayCommand(0.1, AssignCommand(sub5(), ActionStartConversation(GetFirstPC(), "m01aa_c01", 0, 0, 1, "", "", "", "", "", "", 0))); SetMinOneHP(GetFirstPC(), 1); } } }
-
1 point
41,071 downloads
This mod fixes several playable & NPC head models to reduce clipping and/or vertex stretching PMHH01 - fixed the tongue PMHC04A - fixed a gap in the neck PFHC01 - fixed a gap in the neck, also adjusted the ponytail PFHC03 - fixed the inside of the mouth Daraala - fixed the left eyelid Berun Modul - fixed the back of the head and neck See the Read-Me for more details I didn't test this with TSLRCM, but I don't see any reason why it wouldn't be compatible.