Copy to Clipboard Test

Subpar Dark Room Script. Code

import "std.zh"

const int LIGHT_FLAG = 98;
const int BLACK_COLOR = 15;
const int DARK_ROOM_SLOT = 1;
bool ActiveLastFrame = false;
int LightX[200];
int LightY[200];
int LightSize[200];
bool LightPerm[200];

global script Slot2
{
	void run()
	{
		bool HelloDarknessMyOldFriend = false;
		while(true)
		{
			DarkRoomGlobal(HelloDarknessMyOldFriend);
			Waitframe();
		}
	}
}

void DarkRoomGlobal(bool HelloDarknessMyOldFriend)
{
	bool OkayFoundOne = false;
	if (HelloDarknessMyOldFriend == true)
	{
		if (Link->Action == LA_SCROLLING) 
		{
			Screen->Rectangle(6, 0, 0, 256, 176, BLACK_COLOR, 1, 0, 0, 0, true, OP_OPAQUE);
		}
		else HelloDarknessMyOldFriend = false;
	}
	for (int h = 1; h <= 32; h++)
	{
		ffc DarkMaybe = Screen->LoadFFC(h);
		if (DarkMaybe->Script == DARK_ROOM_SLOT)
		{
			if (Link->Action == LA_SCROLLING) 
			{
				Screen->Rectangle(6, 0, 0, 256, 176, 15, 1, 0, 0, 0, true, OP_OPAQUE);
			}
			OkayFoundOne = true;
		}
	}
	if (OkayFoundOne == false && ActiveLastFrame == true) 
	{
		HelloDarknessMyOldFriend = true;
	}
	ActiveLastFrame = false;
}
 
ffc script DarkRoom
{
	void run(int LinkSize, int FlagSize, int LinkWeaponSize, int EnemyWeaponSize, int Expand, int Expanding, int CandleID)
	{
		int Expander = 0;
		int Expandest = 0;
		bool Expandirect = true;
		if (LinkSize == 0) LinkSize = 48;
		if (FlagSize == 0) FlagSize = 48;
		if (LinkWeaponSize == 0) LinkWeaponSize = 48;
		if (EnemyWeaponSize == 0) EnemyWeaponSize = 48;
		while(true)
		{
			if (Expand > 0)
			{
				if (Expanding > 0) Expander+=Expanding;
				else Expander+=2;
				if (Expander >= 20)
				{
					Expander = 0;
					if (Expandirect) Expandest++;
					else Expandest--;
					if (Expandest >= Expand) Expandirect = false;
					else if (Expandest <= 0) Expandirect = true;
				}
			}
			Screen->SetRenderTarget(RT_BITMAP0);
			Screen->Rectangle(6, 0, 0, 256, 176, 15, 1, 0, 0, 0, true, OP_OPAQUE);
			if (LinkSize >= 0 && (CandleID == 0 || (CandleID < 0 && Link->Item[Abs(CandleID)] == true) || (CandleID > 0 && (GetEquipmentA() == CandleID || GetEquipmentB() == CandleID)))) Screen->Circle(6, Link->X + 8, Link->Y + 8, LinkSize + Expandest, 0, 1, 0, 0, 0, true, OP_OPAQUE);
			
			if (FlagSize >= 0) 
			{
				for(int i = 0; i < 176; i++)
				{
					if (Screen->ComboF[i] == LIGHT_FLAG || Screen->ComboI[i] == LIGHT_FLAG)
					{
						Screen->Circle(6, ComboX(i) + 8, ComboY(i) + 8, FlagSize + Expandest, 0, 1, 0, 0, 0, true, OP_OPAQUE);
					}
				}
			}
			if (LinkWeaponSize >= 0)
			{
				for(int l = Screen->NumLWeapons(); l > 0; l--)
				{
					lweapon MLG = Screen->LoadLWeapon(l);
					if (MLG->ID == LW_FIRE || LW_REFFIREBALL || LW_FIRESPARKLE)
					{
						Screen->Circle(6, MLG->X + 8, MLG->Y + 8, LinkWeaponSize + Expandest, 0, 1, 0, 0, 0, true, OP_OPAQUE);
					}
				}
			}
			if (EnemyWeaponSize >= 0)
			{
				for(int j = Screen->NumEWeapons(); j > 0; j--)
				{
					eweapon GLG = Screen->LoadEWeapon(j);
					if (GLG->ID == EW_FIRE || EW_FIREBALL || EW_FIREBALL2 || EW_FIRE2 || EW_FIRETRAIL)
					{
						Screen->Circle(6, GLG->X + 8, GLG->Y + 8, EnemyWeaponSize + Expandest, 0, 1, 0, 0, 0, true, OP_OPAQUE);
					}
				}
			}
			Screen->SetRenderTarget(RT_SCREEN);
			Screen->DrawBitmap(6, RT_BITMAP0, 0, 0, 256, 176, 0, 0, 256, 176, 0, true);
			ActiveLastFrame = true;
			Waitframe();
		}
	}
}