If you've got nwn then you'll be able to do this by scripting.
First download Lil' jawa KOTOR builder module from Here (
http://www.sith-res.tk/)
Go to the script editor in nwntoolset and copy paste this in a new script.
(seems to be the best way to get a permenent model change)
//::k_def_heartbt01
/*
Default heartbeat script
*/
//:: Created By: Preston Watamaniuk
//:: Copyright (c) 2002 Bioware Corp.
//:: Modified By Override367
#include "k_inc_switch"
#include "k_inc_debug"
void main()
{
ExecuteScript("k_ai_master", OBJECT_SELF, KOTOR_DEFAULT_EVENT_ON_HEARTBEAT);
/*
object oEnemy = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF,1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);
if(!GN_GetSpawnInCondition(SW_FLAG_AI_OFF))
{
if(GN_GetSpawnInCondition(SW_FLAG_AMBIENT_ANIMATIO
NS) || GN_GetSpawnInCondition(SW_FLAG_AMBIENT_ANIMATIONS_
MOBILE))
{
string sWay = "WP_" + GetTag(OBJECT_SELF) + "_01";
int nSeries = GetLocalNumber(OBJECT_SELF, WALKWAYS_SERIES_NUMBER);
if(!GetIsObjectValid(GetObjectByTag(sWay)) && nSeries <= 0)
{
if(GetCurrentAction(OBJECT_SELF) != ACTION_MOVETOPOINT)
{
if(!GN_GetIsFighting(OBJECT_SELF) && !GetIsObjectValid(oEnemy))
{
GN_PlayAmbientAnimation();
}
}
}
}
}
if(GN_GetSpawnInCondition(SW_FLAG_EVENT_ON_HEARTBE
AT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));
}
*/
{
object oPC = GetFirstPC();
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectDisguise(DISGUISE_TYPE_P_BASTILLA), oPC);
}
}
//::End of Script
----------------------------------------------------------------------------------
You'll need this script too (I know theres a much easier way to do this but I dont know how, Maybe someody can expalin it to ya, but this is the only way I know how to do it.)
Put this next one in a new script also called k_inc_switch and then save it(this is so you can save the first one)
------------------------------------------------------------------------------------
//:: k_inc_switch
/*
A simple include defining all of the
events in the game as constants.
*/
//:: Created By: Preston Watamaniuk
//:: Copyright (c) 2002 Bioware Corp.
//DEFAULT AI EVENTS
int KOTOR_DEFAULT_EVENT_ON_HEARTBEAT = 1001;
int KOTOR_DEFAULT_EVENT_ON_PERCEPTION = 1002;
int KOTOR_DEFAULT_EVENT_ON_COMBAT_ROUND_END = 1003;
int KOTOR_DEFAULT_EVENT_ON_DIALOGUE = 1004;
int KOTOR_DEFAULT_EVENT_ON_ATTACKED = 1005;
int KOTOR_DEFAULT_EVENT_ON_DAMAGE = 1006;
int KOTOR_DEFAULT_EVENT_ON_DEATH = 1007;
int KOTOR_DEFAULT_EVENT_ON_DISTURBED = 1008;
int KOTOR_DEFAULT_EVENT_ON_BLOCKED = 1009;
int KOTOR_DEFAULT_EVENT_ON_FORCE_AFFECTED = 1010;
int KOTOR_DEFAULT_EVENT_ON_GLOBAL_DIALOGUE_END = 1011;
int KOTOR_DEFAULT_EVENT_ON_PATH_BLOCKED = 1012;
//HENCHMEN AI EVENTS
int KOTOR_HENCH_EVENT_ON_HEARTBEAT = 2001;
int KOTOR_HENCH_EVENT_ON_PERCEPTION = 2002;
int KOTOR_HENCH_EVENT_ON_COMBAT_ROUND_END = 2003;
int KOTOR_HENCH_EVENT_ON_DIALOGUE = 2004;
int KOTOR_HENCH_EVENT_ON_ATTACKED = 2005;
int KOTOR_HENCH_EVENT_ON_DAMAGE = 2006;
int KOTOR_HENCH_EVENT_ON_DEATH = 2007;
int KOTOR_HENCH_EVENT_ON_DISTURBED = 2008;
int KOTOR_HENCH_EVENT_ON_BLOCKED = 2009;
int KOTOR_HENCH_EVENT_ON_FORCE_AFFECTED = 2010;
int KOTOR_HENCH_EVENT_ON_GLOBAL_DIALOGUE_END = 2011;
int KOTOR_HENCH_EVENT_ON_PATH_BLOCKED = 2012;
int KOTOR_HENCH_EVENT_ON_ENTER_5m = 2013;
int KOTOR_HENCH_EVENT_ON_EXIT_5m = 2014;
//MISC AI EVENTS
int KOTOR_MISC_DETERMINE_COMBAT_ROUND = 3001;
int KOTOR_MISC_DETERMINE_COMBAT_ROUND_ON_PC = 3002;
int KOTOR_MISC_DETERMINE_COMBAT_ROUND_ON_INDEX_ZERO = 3003;
//::End of Script
------------------------------------------------------------------------------------once you compile the first script, go into your nwn/modules.temp0 folder and grab the k_def_heartbt01.nsc file and paste it into your KOTOR/override folder
I know this seems complicated and pretty heavy, as I said hopefully someone how actually knows how to script can explain to you how to impliment the change model script into k_def_heartbt01 without having to compile the whole thing..
Best of Luck!
-Zhoken.