Moved Duergar Mines
Moved Duergar Mines. Updated for arcane & divine marker feats. Full compile. Updated release archive.
This commit is contained in:
154
_module/nss/spawn_flags.nss
Normal file
154
_module/nss/spawn_flags.nss
Normal file
@@ -0,0 +1,154 @@
|
||||
//
|
||||
// NESS V8.0
|
||||
// Spawn Flags
|
||||
//
|
||||
// Do NOT Modify this File
|
||||
// See 'spawn__readme' for Instructions
|
||||
//
|
||||
|
||||
int IsFlagPresent(string sName, string sFlag)
|
||||
{
|
||||
int nPos = FindSubString(sName, sFlag);
|
||||
if (nPos >= 0) // flag found
|
||||
{
|
||||
//debug("flag " + sFlag + " present");
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// This Function parses a String for Flags
|
||||
// When nGetValue is FALSE, this returns TRUE if the flag exists, FALSE otherwise.
|
||||
// nDefault is unused when nGetValue is FALSE.
|
||||
// When nGetValue is TRUE, it returns the value of the flag if it
|
||||
// exists, or nDefault otherwise.
|
||||
int GetFlagValue(string sName, string sFlag, int nDefault)
|
||||
{
|
||||
int nRetValue;
|
||||
int nPos;
|
||||
|
||||
nPos = FindSubString(sName, sFlag);
|
||||
if (nPos >= 0) // flag found
|
||||
{
|
||||
// Trim to the start of the flag
|
||||
sName = GetStringRight(sName, GetStringLength(sName) -
|
||||
(nPos + GetStringLength(sFlag)));
|
||||
|
||||
// find the end of the flag
|
||||
nPos = FindSubString(sName, "_");
|
||||
if (nPos >= 0)
|
||||
{
|
||||
sName = GetStringLeft(sName, nPos);
|
||||
}
|
||||
|
||||
// Retreive Flag
|
||||
if (TestStringAgainstPattern("*n", GetStringLeft(sName, 1)) == FALSE)
|
||||
{
|
||||
// No value specified, use default
|
||||
nRetValue = nDefault;
|
||||
//debug("flag " + sFlag + " - def val = " + IntToString(nRetValue));
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Retrieve Value
|
||||
nRetValue = StringToInt(sName);
|
||||
//debug("flag " + sFlag + " - val = " + IntToString(nRetValue));
|
||||
}
|
||||
}
|
||||
|
||||
else // flag not found at all
|
||||
{
|
||||
nRetValue = nDefault;
|
||||
|
||||
}
|
||||
|
||||
// Return Value
|
||||
return nRetValue;
|
||||
}
|
||||
//
|
||||
|
||||
int IsSubFlagPresent(string sName, string sFlag, string sSubFlag)
|
||||
{
|
||||
int nPos = FindSubString(sName, sFlag);
|
||||
if (nPos >= 0)
|
||||
{
|
||||
// Trim Flag
|
||||
sName = GetStringRight(sName, GetStringLength(sName) -
|
||||
(nPos + GetStringLength(sFlag)));
|
||||
|
||||
nPos = FindSubString(sName, "_");
|
||||
if (nPos >= 0)
|
||||
{
|
||||
sName = GetStringLeft(sName, nPos);
|
||||
}
|
||||
|
||||
// Retreive SubFlag
|
||||
nPos = FindSubString(sName, sSubFlag);
|
||||
if (nPos >= 0)
|
||||
{
|
||||
//debug("flag " + sFlag + "subflag " + sSubFlag + " present");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// This Function parses a String for a Subvalue from Flags
|
||||
int GetSubFlagValue(string sName, string sFlag, string sSubFlag, int nDefault)
|
||||
{
|
||||
int nRetValue;
|
||||
int nPos;
|
||||
|
||||
nPos = FindSubString(sName, sFlag);
|
||||
if (nPos >= 0)
|
||||
{
|
||||
// Trim Flag
|
||||
sName = GetStringRight(sName, GetStringLength(sName) -
|
||||
(nPos + GetStringLength(sFlag)));
|
||||
|
||||
nPos = FindSubString(sName, "_");
|
||||
|
||||
if (nPos >= 0)
|
||||
{
|
||||
sName = GetStringLeft(sName, nPos);
|
||||
}
|
||||
|
||||
// Retreive SubFlag
|
||||
nPos = FindSubString(sName, sSubFlag);
|
||||
if (nPos >= 0)
|
||||
{
|
||||
sName = GetStringRight(sName, GetStringLength(sName) -
|
||||
(nPos + GetStringLength(sSubFlag)));
|
||||
|
||||
if (TestStringAgainstPattern("*n", GetStringLeft(sName, 1)) == FALSE)
|
||||
{
|
||||
nRetValue = nDefault; // SubFlag found but no value
|
||||
//debug("flag " + sFlag + " subflag " + sSubFlag + " - def val = " +
|
||||
// IntToString(nRetValue));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Retrieve Value
|
||||
nRetValue = StringToInt(sName); // Subflag (with value) found
|
||||
//debug("flag " + sFlag + " subflag " + sSubFlag + " - val = " +
|
||||
// IntToString(nRetValue));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nRetValue = nDefault; // subflag not found
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nRetValue = nDefault; // Main flag not found
|
||||
}
|
||||
|
||||
// Return Value
|
||||
return nRetValue;
|
||||
}
|
||||
//
|
||||
|
Reference in New Issue
Block a user