Actor CreditItem : CustomInventory {
	inventory.pickupsound "items/credit"
	inventory.maxamount 1
	+NEVERRESPAWN
}

Actor Credit_01 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT1 A -1
		Stop
		Flip:
			CIT1 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 50)
		Stop
	}
}

Actor Credit_02 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT2 A -1
		Stop
		Flip:
			CIT2 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 150)
		Stop
	}
}

Actor Credit_03 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT3 A -1
		Stop
		Flip:
			CIT3 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 300)
		Stop
	}
}

Actor Credit_04 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT4 A -1
		Stop
		Flip:
			CIT4 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 500)
		Stop
	}
}

Actor Credit_05 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT5 A -1
		Stop
		Flip:
			CIT5 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 1000)
		Stop
	}
}

Actor Credit_06 : CreditItem {
	States {
		Spawn:
			CIT6 A 4
			CIT6 B 4 Bright
		Loop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 2000)
		Stop
	}
}

Actor Credit_07 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT7 A -1
		Stop
		Flip:
			CIT7 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 3000)
		Stop
	}
}

Actor Credit_08 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT8 A -1
		Stop
		Flip:
			CIT8 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 4000)
		Stop
	}
}

Actor Credit_09 : CreditItem {
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "Flip")
			CIT9 A -1
		Stop
		Flip:
			CIT9 B -1
		Stop
		Pickup:
			TNT1 A 0 A_GiveInventory("Credit", 5000)
		Stop
	}
}

Actor SmallCreditSpawner {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAA 0 NoDelay A_SpawnItemEx("Credit_01", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
	}
}

Actor SmallCreditSpawner_Elite {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAAAAA 0 NoDelay A_SpawnItemEx("Credit_01", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_SpawnItemEx("Credit_04", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_Jump(64, "ReallyDone")
			TNT1 A 0 A_SpawnItemEx("Credit_04", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		ReallyDone:
			TNT1 A 0
		Stop
	}
}

Actor SmallCreditDropper : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("SmallCreditSpawner")
		Stop
	}
}

Actor SmallCreditDropper_Elite : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("SmallCreditSpawner_Elite")
		Stop
	}
}

Actor CreditDropper_Medium {
	Height 1
	Radius 1
	+NOINTERACTION
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "5Coins")
			TNT1 A 0 A_SpawnItemEx("Credit_01", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
		5Coins:
			TNT1 A 0 A_SpawnItemEx("Credit_02", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
	}
}

Actor MediumCreditSpawner {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAA 0 NoDelay A_SpawnItemEx("CreditDropper_Medium")
		Stop
	}
}

Actor MediumCreditSpawner_Elite {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAAAA 0 NoDelay A_SpawnItemEx("CreditDropper_Medium")
			TNT1 A 0 A_SpawnItemEx("Credit_05", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_SpawnItemEx("Credit_06", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_Jump(64, "ReallyDone")
			TNT1 A 0 A_SpawnItemEx("Credit_05", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_SpawnItemEx("Credit_06", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		ReallyDone:
			TNT1 A 0
		Stop
	}
}

Actor MediumCreditDropper : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("MediumCreditSpawner")
		Stop
	}
}

Actor MediumCreditDropper_Elite : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("MediumCreditSpawner_Elite")
		Stop
	}
}

Actor CreditDropper_Large {
	Height 1
	Radius 1
	+NOINTERACTION
	States {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(128, "5Coins", "15Coins")
			TNT1 A 0 A_SpawnItemEx("Credit_01", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
		5Coins:
			TNT1 A 0 A_SpawnItemEx("Credit_02", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
		15Coins:
			TNT1 A 0 A_SpawnItemEx("Credit_03", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		Stop
	}
}

Actor LargeCreditSpawner {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAAAAAAAA 0 NoDelay A_SpawnItemEx("CreditDropper_Large")
		Stop
	}
}

Actor LargeCreditSpawner_Elite {
	Height 1
	Radius 1
	+NOINTERACTION
	var int user_count;
	States {
		Spawn:
			TNT1 AAAAAAAAAAAAAAAAAA 0 NoDelay A_SpawnItemEx("CreditDropper_Large")
			TNT1 A 0 A_SpawnItemEx("Credit_06", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_SpawnItemEx("Credit_07", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_Jump(32, "ReallyDone")
			TNT1 A 0 A_SpawnItemEx("Credit_06", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
			TNT1 A 0 A_SpawnItemEx("Credit_07", 0, 0, 0, random(-4, 4), random(-4, 4), random(4, 12))
		ReallyDone:
			TNT1 A 0
		Stop
	}
}

Actor LargeCreditDropper : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("LargeCreditSpawner")
		Stop
	}
}

Actor LargeCreditDropper_Elite : DnD_Activator {
	States {
		Pickup:
			TNT1 A 0 A_SpawnItem("LargeCreditSpawner_Elite")
		Stop
	}
}