WizardryEE/Module/nss/spawnb_main.nss
Jaysyn904 71a604d04a Added NESS. Updated Level 10
Added NESS.  Updated Level 10.  Full compile.
2023-04-20 23:24:24 -04:00

70 lines
2.2 KiB
Plaintext

//
// SpawnBanner v1.0
//
void SpawnBanner(object oPC, object oItem, object oTarget, location lTarget)
{
object oArea = GetArea(oPC);
if (GetTag(oTarget) == "SpawnBanner")
{
object oSpawn = GetLocalObject(oTarget, "ParentSpawn");
SetCustomToken(999, "\n");
SetCustomToken(1000, GetLocalString(oSpawn, "f_Flags"));
SetCustomToken(1001, GetLocalString(oSpawn, "f_Template"));
AssignCommand(oPC, ActionStartConversation(oTarget, "spawn_banner"));
}
else
{
int nState = GetLocalInt(oArea, "SpawnBannerState");
if (nState == 0)
{
// Show Spawn Banners
SendMessageToAllDMs("showing banners");
int nNth;
string sSpawnNum, sSpawnName;
object oSpawn, oBanner;
location lSpawn;
int nSpawns = GetLocalInt(oArea, "Spawns");
for (nNth = 1; nNth <= nSpawns; nNth++)
{
sSpawnNum = "Spawn";
if (nNth < 10)
{
sSpawnNum = sSpawnNum + "0";
}
sSpawnNum = sSpawnNum + IntToString(nNth);
oSpawn = GetLocalObject(oArea, sSpawnNum);
lSpawn = GetLocation(oSpawn);
if (GetLocalInt(oSpawn, "SpawnDeactivated") == FALSE)
{
oBanner = CreateObject(OBJECT_TYPE_PLACEABLE, "spawn_ban_a", lSpawn);
}
else
{
oBanner = CreateObject(OBJECT_TYPE_PLACEABLE, "spawn_ban_d", lSpawn);
}
SetLocalObject(oBanner, "ParentSpawn", oSpawn);
}
SetLocalInt(oArea, "SpawnBannerState", 1);
}
else
{
// Hide Spawn Banners
int nNth = 1;
object oBanner = GetNearestObjectByTag("SpawnBanner", oPC, nNth);
while (oBanner != OBJECT_INVALID)
{
DestroyObject(oBanner);
nNth++;
oBanner = GetNearestObjectByTag("SpawnBanner", oPC, nNth);
}
SetLocalInt(oArea, "SpawnBannerState", 0);
}
}
}