2026/04/27 Evening Update

Added PRC Option to change player model to appearances in racialappear.2da
Added class heartbeat script and updated Soul Eater's onHit to work with NPCs and cohorts.
This commit is contained in:
Jaysyn904
2026-04-27 20:49:54 -04:00
parent f397206b74
commit df731f3bd4
8 changed files with 171 additions and 9 deletions

View File

@@ -142,7 +142,6 @@ string GetBiowareDBName()
if(GetPRCSwitch(MARKER_Q))
sReturn += "q";
return sReturn;
}
/**

View File

@@ -355,8 +355,38 @@ void Cache_Appearance(int nRow = 0)
DelayCommand(1.0, Cache_Soundset());
}
void Cache_RacialAppear(int nRow = 0)
{
if(nRow < GetPRCSwitch(FILE_END_RACIALAPPEAR))
{
Get2DACache("racialappear", "Label", nRow);
Get2DACache("racialappear", "Male1", nRow);
Get2DACache("racialappear", "Male2", nRow);
Get2DACache("racialappear", "Male3", nRow);
Get2DACache("racialappear", "Male4", nRow);
Get2DACache("racialappear", "Male5", nRow);
Get2DACache("racialappear", "Female1", nRow);
Get2DACache("racialappear", "Female2", nRow);
Get2DACache("racialappear", "Female3", nRow);
Get2DACache("racialappear", "Female4", nRow);
Get2DACache("racialappear", "Female5", nRow);
Get2DACache("racialappear", "Wing1", nRow);
Get2DACache("racialappear", "Wing2", nRow);
Get2DACache("racialappear", "Wing3", nRow);
Get2DACache("racialappear", "Tail1", nRow);
Get2DACache("racialappear", "Tail2", nRow);
Get2DACache("racialappear", "Tail3", nRow);
nRow++;
DelayCommand(0.1, Cache_RacialAppear(nRow));
}
else
DelayCommand(1.0, Cache_Appearance());
}
void Cache_2da_data()
{
Cache_Appearance();
Cache_RacialAppear();
}

View File

@@ -835,8 +835,8 @@ void SetDefaultFileEnds()
//isnt read in here yet. may be later though
if(GetPRCSwitch(FILE_END_MANUAL))
return;
SetPRCSwitch(FILE_END_CLASSES, PRCGetFileEnd("classes"));
SetPRCSwitch(FILE_END_RACIALTYPES, PRCGetFileEnd("racialtypes"));
SetPRCSwitch(FILE_END_CLASSES, PRCGetFileEnd("classes"));
SetPRCSwitch(FILE_END_RACIALTYPES, PRCGetFileEnd("racialtypes"));
SetPRCSwitch(FILE_END_GENDER, 1);//overriden to 1 for convoCC m/f only choice
SetPRCSwitch(FILE_END_PORTRAITS, PRCGetFileEnd("portraits"));
SetPRCSwitch(FILE_END_SKILLS, PRCGetFileEnd("skills"));
@@ -851,6 +851,7 @@ void SetDefaultFileEnds()
SetPRCSwitch(FILE_END_SPELLS, PRCGetFileEnd("spells"));
//SetPRCSwitch(FILE_END_SPELLSCHOOL, PRCGetFileEnd("spellschools"));
SetPRCSwitch(FILE_END_APPEARANCE, PRCGetFileEnd("appearance"));
SetPRCSwitch(FILE_END_RACIALAPPEAR, PRCGetFileEnd("racialappear"));
SetPRCSwitch(FILE_END_WINGS, PRCGetFileEnd("wingmodel"));
SetPRCSwitch(FILE_END_TAILS, PRCGetFileEnd("tailmodel"));
SetPRCSwitch(FILE_END_BASEITEMS, PRCGetFileEnd("baseitems"));

View File

@@ -226,7 +226,7 @@ void SetupCharacterData(object oPC)
case CLASS_TYPE_SOLDIER_OF_LIGHT: sScript = "prc_soldoflight"; break;
case CLASS_TYPE_SORCERER: iData |= 0x03; break;
case CLASS_TYPE_SOULBORN: sScript = "moi_soulborn"; break;
case CLASS_TYPE_SOUL_EATER: iShifting = TRUE; break;
case CLASS_TYPE_SOUL_EATER: sScript = "prc_souleater"; iShifting = TRUE; break;
case CLASS_TYPE_SOULKNIFE: sScript = "psi_sk_clseval"; break;
case CLASS_TYPE_SPELLSWORD: sScript = "prc_spellswd"; iData |= 0x04; break;
case CLASS_TYPE_SPINEMELD_WARRIOR: sScript = "moi_spinemeld"; break;

View File

@@ -1397,6 +1397,10 @@ const string FILE_END_SPELLS = "FILE_END_SPELLS";
* This will be set automatically to a default unless FILE_END_MANUAL is turned on */
const string FILE_END_APPEARANCE = "FILE_END_APPEARANCE";
/** Last line of racalappear.2da
* This will be set automatically to a default unless FILE_END_MANUAL is turned on */
const string FILE_END_RACIALAPPEAR = "FILE_END_RACIALAPPEAR";
/** Last line of wingmodel.2da
* This will be set automatically to a default unless FILE_END_MANUAL is turned on */
const string FILE_END_WINGS = "FILE_END_WINGS";

View File

@@ -86,6 +86,7 @@ float DamageAvg(int iDamage);
//#include "prc_spell_const"
//#include "inc_utility"
#include "prc_inc_natweap"
#include "prc_inc_onhit"
//////////////////////////////////////////////////
/* Function defintions */
@@ -546,6 +547,12 @@ void UnarmedFists(object oCreature)
AssignCommand(oCreature,ActionEquipItem(oWeapL, INVENTORY_SLOT_CWEAPON_L));
}
}
// Add Soul Eater onHit property if applicable
if (GetLevelByClass(CLASS_TYPE_SOUL_EATER, oCreature) > 0)
{
Add_OnHitUniquePower(oWeapL, "prc_uni_shift");
}
int iKi = (iMonkEq > 9) ? 1 : 0;
iKi = (iMonkEq > 12) ? 2 : iKi;