#include "mk_inc_debug" #include "mk_inc_generic" #include "mk_inc_body" #include "mk_inc_craft" #include "mk_inc_ccoh_db" #include "mk_inc_states" #include "mk_inc_head" #include "mk_inc_delimiter" #include "mk_inc_2da_disp" int GetIsCraftingDisabled(object oPC, int i) { string sVarName = "MK_DISABLE_CRAFT_" + MK_IntToString(i, 2, "0"); return (GetLocalInt(oPC, sVarName)==1); } int StartingConditional() { object oPC = GetPCSpeaker(); MK_CCOH_DB_Init(oPC); int nState = MK_GenericDialog_GetState(); int nAction = MK_GenericDialog_GetAction(); int nCurrentPage=-1; object oTarget = MK_GetCurrentTarget(oPC); // MK_DEBUG_TRACE("mk_pre_head: nState="+IntToString(nState)+ // ", nAction="+IntToString(nAction)); switch (nState) { case MK_STATE_BODY_SELECT: // So the finish/cancel scripts work properly CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY); MK_SetBodyPartToBeModified(oPC, MK_CRAFTBODY_HEAD, TRUE); MK_HEAD_Initialize(oPC, oTarget); MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, FALSE, oTarget); MK_HEAD_CreateValidHeadsString(oTarget, oPC); MK_GenericDialog_SetState(nState = MK_STATE_HEAD_INIT); break; case MK_STATE_HEAD_MODIFY: switch (nAction) { case 31: // show next head case 32: // show previous head nCurrentPage = MK_2DA_DISPLAY_EnsureVisible(MK_HEAD_SetCreatureHead(oTarget, nAction-30)); break; case 250: // First page case 251: // previous page case 252: // next page case 253: // last page nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction); break; case -1: break; case 39: // swap tattoo colors MK_SwapTattooColors(oTarget); break; case 40: // change filter MK_GenericDialog_SetState(nState = MK_STATE_HEAD_FILTER); MK_2DA_DISPLAY_Initialize(MK_HEAD_Get2DAFile(oPC), "", "LABEL", "STRREF", "NAME", 10, "mk_cb_hd_f_flt"); MK_2DA_DISPLAY_SetPageLength(10); break; default: // select head if ((nAction>=0) && (nAction=0) && (nAction