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.
223 lines
6.4 KiB
Plaintext
223 lines
6.4 KiB
Plaintext
#include "mk_inc_debug"
|
||
|
||
//const int MK_GENERIC_DIALOG_DEBUG = TRUE;
|
||
const int MK_GENERIC_DIALOG_DEBUG = FALSE;
|
||
|
||
const int MK_GENERIC_DIALOG_NUMBER_OF_VARIABLES = 257;
|
||
|
||
const int MK_GENERIC_DIALOG_INVALID_ACTION = -1;
|
||
|
||
const int MK_GENERIC_DIALOG_STATE_DISPLAY_TOKEN = 14400;
|
||
|
||
const string MK_DISABLED_OPTIONS_COLOR = "MK_DISABLED_OPTIONS_COLOR";
|
||
|
||
const string MK_GENERIC_ACTION_SCRIPT = "MK_GENERIC_ACTION_SCRIPT";
|
||
|
||
void MK_GenericDialog_CleanUp();
|
||
|
||
int MK_GenericDialog_SetState(int nState);
|
||
|
||
int MK_GenericDialog_GetState(int bClearState=FALSE);
|
||
|
||
int MK_GenericDialog_StateToCustomToken(int nToken);
|
||
|
||
int MK_GenericDialog_IsInState(int nState, int bClearState=FALSE);
|
||
|
||
void MK_GenericDialog_SetCondition(int nCondition, int bIsTrue);
|
||
|
||
void MK_GenericDialog_SetConditionRange(int nConditionFrom, int nConditionTo, int bTrue);
|
||
|
||
int MK_GenericDialog_GetCondition(int nCondition, int nReset=TRUE);
|
||
|
||
void MK_GenericDialog_SetObject(int nObject, object oObject);
|
||
|
||
object MK_GenericDialog_GetObject(int nObject);
|
||
|
||
void MK_GenericDialog_SetAction(int nAction);
|
||
|
||
int MK_GenericDialog_GetAction(int bClearAction=TRUE);
|
||
|
||
void MK_GenericDialog_SetCurrentPage(int nState, int nPage);
|
||
|
||
int MK_GenericDialog_GetCurrentPage(int nState);
|
||
|
||
object MK_GetObjectQ()
|
||
{
|
||
object oReturn = GetPCSpeaker();
|
||
if (!GetIsObjectValid(oReturn)) oReturn = OBJECT_SELF;
|
||
return oReturn;
|
||
}
|
||
|
||
void MK_GenericDialog_DEBUG_TRACE(string sMessage)
|
||
{
|
||
if (MK_GENERIC_DIALOG_DEBUG)
|
||
{
|
||
MK_DEBUG_TRACE(sMessage);
|
||
}
|
||
}
|
||
|
||
const int MK_DELIMITER_TOKEN = 14401;
|
||
const int MK_DELIMITER_CONDITION = 256;
|
||
const string MK_USE_DELIMITER = "MK_USE_DELIMITER";
|
||
const string MK_DELIMITER_COLOR = "MK_DELIMITER_COLOR";
|
||
|
||
int MK_DELIMITER_GetUseDelimiter()
|
||
{
|
||
return GetLocalInt(MK_GetObjectQ(), MK_USE_DELIMITER);
|
||
}
|
||
|
||
|
||
void MK_GenericDialog_CleanUp()
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
SetCustomToken(MK_GENERIC_DIALOG_STATE_DISPLAY_TOKEN,"");
|
||
int iVar;
|
||
for (iVar=0; iVar<MK_GENERIC_DIALOG_NUMBER_OF_VARIABLES; iVar++)
|
||
{
|
||
DeleteLocalInt(oObject, "MK_CONDITION_"+IntToString(iVar));
|
||
DeleteLocalObject(oObject, "MK_OBJECT_"+IntToString(iVar));
|
||
}
|
||
DeleteLocalInt(oObject, "MK_ACTION");
|
||
DeleteLocalInt(oObject, "MK_STATE");
|
||
|
||
DeleteLocalString(oObject, MK_GENERIC_ACTION_SCRIPT);
|
||
}
|
||
|
||
string MK_GenericDialog_GetActionScript(int bClearScript=TRUE)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
string sActionScript = GetLocalString(oObject, MK_GENERIC_ACTION_SCRIPT);
|
||
if (bClearScript)
|
||
{
|
||
DeleteLocalString(oObject, MK_GENERIC_ACTION_SCRIPT);
|
||
}
|
||
return sActionScript;
|
||
}
|
||
|
||
void MK_GenericDialog_SetActionScript(string sActionScript)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
SetLocalString(oObject, MK_GENERIC_ACTION_SCRIPT, sActionScript);
|
||
}
|
||
|
||
int MK_GenericDialog_SetState(int nState)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
int nOldState = GetLocalInt(oObject, "MK_STATE");
|
||
MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_SetState("+IntToString(nState)+"), oldState = "+IntToString(nOldState));
|
||
|
||
SetLocalInt(oObject, "MK_STATE", nState);
|
||
// SetCustomToken(MK_GENERIC_DIALOG_STATE_DISPLAY_TOKEN, "MK_GenericDialog: current state = <c<><63> >"+IntToString(nState)+"</c>\n");
|
||
return nOldState;
|
||
}
|
||
|
||
int MK_GenericDialog_GetState(int bClearState=FALSE)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
int nState = GetLocalInt(oObject, "MK_STATE");
|
||
if (bClearState)
|
||
{
|
||
MK_GenericDialog_SetState(-1);
|
||
}
|
||
return nState;
|
||
}
|
||
|
||
int MK_GenericDialog_IsInState(int nState, int bClearState=FALSE)
|
||
{
|
||
return MK_GenericDialog_GetState()==nState;
|
||
}
|
||
|
||
void MK_GenericDialog_SetCondition(int nCondition, int bIsTrue)
|
||
{
|
||
// if (nCondition==20) MK_DEBUG_TRACE("MK_GenericDialog_SetCondition("+IntToString(nCondition)+", "+IntToString(bIsTrue)+")");
|
||
object oObject = MK_GetObjectQ();
|
||
// MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_SetCondition("+IntToString(nCondition)+", "+IntToString(bIsTrue)+")");
|
||
SetLocalInt(oObject, "MK_CONDITION_"+IntToString(nCondition), bIsTrue);
|
||
}
|
||
|
||
void MK_GenericDialog_SetConditionRange(int nConditionFrom, int nConditionTo, int bIsTrue)
|
||
{
|
||
int iCondition;
|
||
for (iCondition=nConditionFrom; iCondition<=nConditionTo; iCondition++)
|
||
{
|
||
MK_GenericDialog_SetCondition(iCondition, bIsTrue);
|
||
}
|
||
}
|
||
|
||
int MK_GenericDialog_GetCondition(int nCondition, int nReset)
|
||
{
|
||
if (nReset && (nCondition!=256)) MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_GetCondition("+IntToString(nCondition)+", "+IntToString(nReset)+")");
|
||
object oObject = MK_GetObjectQ();
|
||
string sVarName = "MK_CONDITION_"+IntToString(nCondition);
|
||
int nReturn = GetLocalInt(oObject, sVarName);
|
||
// if (nCondition==20) MK_DEBUG_TRACE(" > nReturn = "+IntToString(nReturn));
|
||
if (nReturn)
|
||
{
|
||
if (nReset || (nCondition==MK_DELIMITER_CONDITION))
|
||
{
|
||
DeleteLocalInt(oObject, sVarName);
|
||
// if (nCondition==20) MK_DEBUG_TRACE(" > deleting "+sVarName);
|
||
}
|
||
if ((nCondition!=MK_DELIMITER_CONDITION) && MK_DELIMITER_GetUseDelimiter())
|
||
{
|
||
MK_GenericDialog_SetCondition(MK_DELIMITER_CONDITION, TRUE);
|
||
}
|
||
}
|
||
return nReturn;
|
||
}
|
||
|
||
void MK_GenericDialog_SetObject(int nObject, object oObject)
|
||
{
|
||
object oObjectQ = MK_GetObjectQ();
|
||
SetLocalObject(oObjectQ, "MK_OBJECT_"+IntToString(nObject), oObject);
|
||
}
|
||
|
||
object MK_GenericDialog_GetObject(int nObject)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
return GetLocalObject(oObject, "MK_OBJECT_"+IntToString(nObject));
|
||
}
|
||
|
||
void MK_GenericDialog_SetAction(int nAction)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
SetLocalInt(oObject, "MK_ACTION", nAction+1);
|
||
string sActionScript = MK_GenericDialog_GetActionScript();
|
||
MK_GenericDialog_DEBUG_TRACE("MK_GenericDialog_SetAction("+IntToString(nAction)+"[,'"+sActionScript+"'])");
|
||
if (sActionScript!="")
|
||
{
|
||
ExecuteScript(sActionScript, oObject);
|
||
}
|
||
}
|
||
|
||
int MK_GenericDialog_GetAction(int bClearAction=TRUE)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
int nAction = GetLocalInt(oObject, "MK_ACTION") - 1;
|
||
if (bClearAction)
|
||
{
|
||
SetLocalInt(oObject, "MK_ACTION", MK_GENERIC_DIALOG_INVALID_ACTION);
|
||
}
|
||
return nAction;
|
||
}
|
||
|
||
void MK_GenericDialog_SetCurrentPage(int nState, int nPage)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
SetLocalInt(oObject, "MK_GENERIC_CURRENTPAGE_"+IntToString(nState), nPage);
|
||
}
|
||
|
||
int MK_GenericDialog_GetCurrentPage(int nState)
|
||
{
|
||
object oObject = MK_GetObjectQ();
|
||
return GetLocalInt(oObject, "MK_GENERIC_CURRENTPAGE_"+IntToString(nState));
|
||
}
|
||
|
||
|
||
/*
|
||
void main()
|
||
{
|
||
|
||
}
|
||
/**/
|