Area Changes and other fixes
added areas and ccoh, fixed some areas to work with crafting fixed some on death issues added server entry/ooc
This commit is contained in:
@@ -1,102 +0,0 @@
|
||||
#include "mk_inc_generic"
|
||||
#include "mk_inc_states"
|
||||
#include "mk_inc_2da_disp"
|
||||
#include "mk_inc_ccoh_db"
|
||||
|
||||
|
||||
const string MK_TAIL_TYPE_SAVE = "MK_TAIL_TYPE_SAVE";
|
||||
|
||||
void RestoreOriginalTail(object oPC)
|
||||
{
|
||||
string sIAStr = GetLocalString(oPC, MK_TAIL_TYPE_SAVE);
|
||||
MK_DEBUG_TRACE("Restoring original tail type: '"+sIAStr+"'");
|
||||
if (sIAStr!="")
|
||||
{
|
||||
MK_CCOH_DB_IAStrToBodyAppearance(oPC, sIAStr, MK_CCOH_DB_BODY_APPR_TAIL);
|
||||
DeleteLocalString(oPC, MK_TAIL_TYPE_SAVE);
|
||||
}
|
||||
}
|
||||
|
||||
void SaveOriginalTail(object oPC)
|
||||
{
|
||||
string sIAStr = GetLocalString(oPC, MK_TAIL_TYPE_SAVE);
|
||||
if (sIAStr=="")
|
||||
{
|
||||
sIAStr = MK_CCOH_DB_BodyAppearanceToIAStr(oPC, MK_CCOH_DB_BODY_APPR_TAIL);
|
||||
SetLocalString(oPC, MK_TAIL_TYPE_SAVE, sIAStr);
|
||||
}
|
||||
}
|
||||
|
||||
int GetHasOriginalTail(object oPC)
|
||||
{
|
||||
string sIAStr1 = GetLocalString(oPC, MK_TAIL_TYPE_SAVE);
|
||||
string sIAStr2 = MK_CCOH_DB_BodyAppearanceToIAStr(oPC, MK_CCOH_DB_BODY_APPR_TAIL);
|
||||
return (sIAStr1=="") || (sIAStr1==sIAStr2);
|
||||
}
|
||||
|
||||
|
||||
int StartingConditional()
|
||||
{
|
||||
object oPC = GetPCSpeaker();
|
||||
object oTarget = MK_GetCurrentTarget(oPC);
|
||||
|
||||
MK_CCOH_DB_Init(oPC);
|
||||
|
||||
int nState = MK_GenericDialog_GetState();
|
||||
int nAction = MK_GenericDialog_GetAction();
|
||||
|
||||
int nCurrentPage;
|
||||
|
||||
switch (nState)
|
||||
{
|
||||
case MK_STATE_TAIL:
|
||||
nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage();
|
||||
switch (nAction)
|
||||
{
|
||||
case 250:
|
||||
case 251:
|
||||
case 252:
|
||||
case 253:
|
||||
nCurrentPage = MK_2DA_DISPLAY_UpdatePage(nAction);
|
||||
break;
|
||||
case 127:
|
||||
// Restore original appearance
|
||||
RestoreOriginalTail(oTarget);
|
||||
break;
|
||||
default:
|
||||
int nNewTailType = MK_2DA_DISPLAY_GetValueAsInt(nAction);
|
||||
if (nNewTailType!=-1)
|
||||
{
|
||||
SaveOriginalTail(oTarget);
|
||||
SetCreatureTailType(nNewTailType, oTarget);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
nState = MK_STATE_TAIL;
|
||||
|
||||
MK_2DA_DISPLAY_Initialize("tailmodel", "", "LABEL", "", "",
|
||||
(MK_VERSION_GetIsVersionGreaterEqual_1_74() ? 5000 : 2500));
|
||||
MK_2DA_DISPLAY_EnsureVisible(GetCreatureTailType(oTarget));
|
||||
nCurrentPage = MK_2DA_DISPLAY_GetCurrentPage();
|
||||
MK_GenericDialog_SetState(nState);
|
||||
CISetCurrentModMode(oPC, MK_CI_MODMODE_BODY);
|
||||
MK_AddTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, FALSE, oTarget);
|
||||
break;
|
||||
}
|
||||
|
||||
switch (nState)
|
||||
{
|
||||
case MK_STATE_TAIL:
|
||||
MK_DELIMITER_Initialize();
|
||||
|
||||
MK_2DA_DISPLAY_DisplayPage(nCurrentPage, GetCreatureTailType(oTarget));
|
||||
|
||||
MK_GenericDialog_SetCondition(127, !GetHasOriginalTail(oTarget));
|
||||
MK_GenericDialog_SetCondition(254, MK_CCOH_DB_GetIsBodyChanged(oTarget));
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
Reference in New Issue
Block a user