Aschbourne_PRC8/_module/nss/mk_pre_armorpart.nss
Jaysyn904 903f023230 Major update
Created top hak for crafting dialog.  Moved Bioware creature abilities to top hak.  Fixed DMFI wand handouts.  Added DMFI language handouts.  Added CCOH 6.  Disabled PC corpse system.  Modified new player startup system.  Full compile.  Updated release archive.
2024-09-17 13:24:57 -04:00

94 lines
2.8 KiB
Plaintext

#include "mk_inc_generic"
#include "x2_inc_craft"
#include "mk_inc_craft"
#include "mk_inc_states"
int StartingConditional()
{
object oPC = GetPCSpeaker();
object oTarget = MK_GetCurrentTarget(oPC);
int nNWNversion_GE_1_74 = MK_VERSION_GetIsVersionGreaterEqual_1_74();
// int nDisableEEFeatures = MK_INIT_GetAreEEFeaturesDisabled();
object oItem = CIGetCurrentModItem(oPC);
int nState = MK_GenericDialog_GetState(TRUE);
switch (nState)
{
case MK_STATE_COPY:
{
int nItem = MK_GenericDialog_GetAction();
MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): nItem="+IntToString(nItem));
if (nItem>=0)
{
object oSourceItem = MK_GenericDialog_GetObject(nItem);
MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): oSourceItem="+GetName(oSourceItem));
if (GetIsObjectValid(oSourceItem))
{
oItem = MK_CopyAppearance(oItem, oSourceItem);
MK_DEBUG_TRACE("mk_pre_armorpart(MK_STATE_COPY): oItem="+GetName(oItem));
CISetCurrentModItem(oPC,oItem);
MK_EquipModifiedItem(oTarget, oPC);
}
}
break;
}
case MK_STATE_MODIFY:
CISetDefaultModItemCamera(oPC);
break;
case MK_STATE_SELECTPART:
{
int nAction = MK_GenericDialog_GetAction();
switch (nAction)
{
// case 249:
// MK_ResetAllPreReadArmorPartCache();
// break;
case 250:
case 251:
MK_IM_ToggleVisibility(oTarget, oPC, oItem);
oItem = CIGetCurrentModItem(oPC);
break;
}
break;
}
case MK_STATE_INIT:
CISetDefaultModItemCamera(oPC);
MK_ResetAllPreReadArmorPartCache(oPC);
break;
}
MK_GenericDialog_SetState(MK_STATE_SELECTPART);
int nVisible = !MK_GetHiddenWhenEquipped(oItem);;
int nRobe = GetItemAppearance(oItem,ITEM_APPR_TYPE_ARMOR_MODEL,ITEM_APPR_ARMOR_MODEL_ROBE);
int iItemAppr;
int nValid;
for (iItemAppr=0; iItemAppr<MK_ITEM_APPR_ARMOR_NUM_MODELS; iItemAppr++)
{
nValid = nVisible && MK_IAAM_GetIsValid(iItemAppr) && MK_IAAM_GetIsValidForModelModify(iItemAppr)
&& ((nRobe == 0) || (MK_IAAM_GetIsHiddenByRobe(iItemAppr, nRobe, TRUE)<100));
// && MK_IAAM_GetAllPartsHaveIdenticalAppearance(iItemAppr, oItem);
MK_GenericDialog_SetCondition(iItemAppr, nValid);
}
MK_GenericDialog_SetCondition(252, nVisible);
// MK_GenericDialog_SetCondition(249, GetLocalInt(oPC, "MK_ALLOW_RESET_BUFFER"));
MK_GenericDialog_SetCondition(250, (nNWNversion_GE_1_74) && (!nVisible));
MK_GenericDialog_SetCondition(251, (nNWNversion_GE_1_74) && (nVisible));
MK_SetCurrentModPart(oPC, -1);
// MK_VerifyCurrentModItem(oPC, "mk_pre_armorpart(end)");
return TRUE;
}