Version "4.6.1"

#include "zscript/weapons/base.txt"

class ItemReplacementHandler : EventHandler
{
	override void CheckReplacement(ReplaceEvent e)
	{
		if (!led_ModifiedItems)
			return;
			
		switch(e.Replacee.GetClassName())
		{
			case 'ArmorBonus':
			e.Replacement = 'ArmorBonus2';
			break;
			
			case 'Backpack':
			e.Replacement = 'Backpack2';
			break;
			
			case 'BlueArmor':
			e.Replacement = 'BlueArmor2';
			break;
			
			case 'GreenArmor':
			e.Replacement = 'GreenArmor2';
			break;
			
			case 'HealthBonus':
			e.Replacement = 'HealthBonus2';
			break;
		}
	}
}

class KeyReplacementHandler : EventHandler
{
	override void CheckReplacement(ReplaceEvent e)
	{
		if (!led_ModifiedKeys)
			return;
			
		switch(e.Replacee.GetClassName())
		{
			case 'BlueCard':
			e.Replacement = 'BlueKey';
			break;
			
			case 'RedCard':
			e.Replacement = 'RedKey';
			break;
			
			case 'YellowCard':
			e.Replacement = 'YellowKey';
			break;
			
			case 'BlueSkull':
			e.Replacement = 'BlueSkul';
			break;
			
			case 'RedSkull':
			e.Replacement = 'RedSkul';
			break;
			
			case 'YellowSkull':
			e.Replacement = 'YellowSkul';
			break;
		}
	}
}

class PwrUpReplacementHandler : EventHandler
{
	override void CheckReplacement(ReplaceEvent e)
	{
		if (!led_ModifiedPwrUps)
			return;
			
		switch(e.Replacee.GetClassName())
		{
			case 'Berserk':
			e.Replacement = 'Berserk2';
			break;
			
			case 'Allmap':
			e.Replacement = 'CompMap';
			break;
			
			case 'InvulnerabilitySphere':
			e.Replacement = 'InvulnSphere';
			break;
			
			case 'Infrared':
			e.Replacement = 'LightAmp';
			break;
			
			case 'Megasphere':
			e.Replacement = 'Megasphere2';
			break;
			
			case 'Blursphere':
			e.Replacement = 'InvisSphere';
			break;
			
			case 'RadSuit':
			e.Replacement = 'FeetSuit';
			break;
			
			case 'Soulsphere':
			e.Replacement = 'Supercharge';
			break;
		}
	}
}