Aschbourne_PRC8/_module/nss/mk_im_cancel.nss

84 lines
2.4 KiB
Plaintext
Raw Normal View History

//////////////////////////////////////////////////////////
/*
Item Appearance Modification Conversation
Cancel Conversation Script
*/
//////////////////////////////////////////////////////////
//#include "mk_inc_init"
#include "mk_inc_generic"
#include "mk_inc_craft"
#include "mk_inc_ccoh_db"
#include "mk_inc_2da_disp"
#include "mk_inc_ccoh_db"
void main()
{
object oPC = GetPCSpeaker();
object oTarget = MK_GetCurrentTarget(oPC);
MK_DEBUG_TRACE("Executing 'mk_im_cancel' script. Current mod mode is '"+IntToString(CIGetCurrentModMode(oPC))+"!");
// MK_DEBUG_TRACE(" > oPC: '"+GetName(oPC)+"'");
// MK_DEBUG_TRACE(" > oTarget: '"+GetName(oTarget)+"'");
// int bDisableExtendedEditionFeatures = MK_INIT_GetAreEEFeaturesDisabled();
switch (CIGetCurrentModMode(oPC))
{
case X2_CI_MODMODE_INVALID:
AssignCommand(oPC, ClearAllActions());
break;
case MK_CI_MODMODE_CHARACTER:
MK_RestoreCharacterDescription(oPC);
SendMessageToPC(oPC, "Canceling character description editing - original description is restored.");
AssignCommand(oPC,ClearAllActions());
break;
case MK_CI_MODMODE_BODY:
MK_CCOH_DB_RestoreBody(oTarget);
SendMessageToPC(oPC, "Canceling body modifying - original appearance is restored.");
MK_DoneBodyPart(oPC, oTarget);
AssignCommand(oPC,ClearAllActions());
break;
case X2_CI_MODMODE_ARMOR:
case X2_CI_MODMODE_WEAPON:
case MK_CI_MODMODE_CLOAK:
case MK_CI_MODMODE_HELMET:
case MK_CI_MODMODE_SHIELD:
SendMessageToPC(oPC, "Canceling item modifying - original appearance is restored.");
MK_CancelModifyItem(oTarget, oPC);
break;
case MK_CI_MODMODE_ITEM:
SendMessageToPC(oPC, "Canceling item modifying - original item is restored.");
MK_CancelModifyItem(oTarget, oPC);
break;
}
CISetCurrentModMode(oPC,X2_CI_MODMODE_INVALID );
MK_RemoveTemporaryEffects(oPC, MK_TAG_TEMP_EFFECT, oTarget);
if (!GetLocalInt(oPC, MK_KEEP_CURRENT_TARGET))
{
MK_SetCurrentTarget(oPC, OBJECT_INVALID);
}
else
{
DeleteLocalInt(oPC, MK_KEEP_CURRENT_TARGET);
}
// in case the ESC key was used to exit the dialog
MK_Editor_CleanUp(oPC);
MK_CCOH_DB_Cleanup(oPC);
MK_2DA_DISPLAY_Cleanup();
MK_GenericDialog_CleanUp();
MK_INIT_Cleanup(oPC, "MK_CCOH", "MK_CCOH_USER");
RestoreCameraFacing();
}