PRC8_fork/trunk/newspellbook/moi_ft_rebind.nss
Jaysyn904 1662218bb4 Initial upload.
Adding base PRC 4.19a files to repository.
2022-10-07 13:51:24 -04:00

50 lines
1.8 KiB
Plaintext

#include "moi_inc_moifunc"
#include "inc_dynconv"
int RebindFeatToChakra(int nSpellId)
{
int nReturn = -1;
if (nSpellId == 18977) nReturn = CHAKRA_CROWN;
else if (nSpellId == 18978) nReturn = CHAKRA_FEET ;
else if (nSpellId == 18979) nReturn = CHAKRA_HANDS ;
else if (nSpellId == 18980) nReturn = CHAKRA_ARMS ;
else if (nSpellId == 18981) nReturn = CHAKRA_BROW ;
else if (nSpellId == 18982) nReturn = CHAKRA_SHOULDERS;
else if (nSpellId == 18983) nReturn = CHAKRA_THROAT ;
else if (nSpellId == 18984) nReturn = CHAKRA_WAIST ;
else if (nSpellId == 18985) nReturn = CHAKRA_HEART ;
else if (nSpellId == 18986) nReturn = CHAKRA_SOUL ;
else if (nSpellId == 18987) nReturn = CHAKRA_TOTEM ;
return nReturn;
}
void main()
{
object oMeldshaper = OBJECT_SELF;
int nClass = GetPrimaryIncarnumClass(oMeldshaper);
int nChakra = RebindFeatToChakra(GetSpellId());
int nMeld = GetIsChakraBound(oMeldshaper, nChakra);
// The meld to swap to has to be bound to either the regular chakra or the double chakra
int nTest = GetIsChakraUsed(oMeldshaper, nChakra, nClass);
int nTest2 = GetIsChakraUsed(oMeldshaper, nChakra+11, nClass); // Double is the regular one plus 11
// We switch to the other one here
int nSwap = nTest2;
if (nMeld == nTest2) nSwap = nTest;
// Unbind the meld, then bind it
DeleteLocalInt(oMeldshaper, "BoundMeld"+IntToString(nChakra));
BindMeldToChakra(oMeldshaper, nSwap, nChakra, nClass);
// Shape them both
ShapeSoulmeld(oMeldshaper, nMeld);
ShapeSoulmeld(oMeldshaper, nSwap);
/* if (GetLocalInt(oMeldshaper, "PerfectMeldshaper")) return;
AssignCommand(oMeldshaper, ClearAllActions(TRUE));
SetLocalInt(oMeldshaper, "RebindSoulmeldCnv", GetSpellId());
StartDynamicConversation("moi_rebindcnv", oMeldshaper, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oMeldshaper); */
}