Raw model (for completeness)
{
"meta": {
"id": "04c9050a-e4f3-43b8-af97-64759c72ed6f",
"sha1": "dc25a1cddacedb79597c4ccdf2e0da23a952d5fd",
"sha256": "31bb4a54c0831533d215ec262cd2af73f5fa122e253a0a7a56753da5952c4ad2",
"filenames": [
"aow2_epsilon-r69.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2021-01-10 03:16:34",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": null,
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2021-01-10 03:16:34",
"file": {
"type": "PK3",
"size": 118982863,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/dc25a1cddacedb79597c4ccdf2e0da23a952d5fd/dc25a1cddacedb79597c4ccdf2e0da23a952d5fd.pk3.gz",
"corrupt": false
},
"content": {
"maps": [
"AOW01",
"AOW02",
"AOW03",
"AOW04",
"AOW05",
"AOW06",
"AOW07",
"AOW08",
"AOW09",
"AOW10",
"AOW11",
"AOW12",
"AOW13",
"AOW14",
"AOW15",
"AOW16",
"AOW17",
"AOW18",
"AOW19",
"AOW20",
"AOW21",
"AOW22",
"AOW23",
"AOW24",
"AOW25"
],
"counts": {
"endoom": 0,
"graphics": 2,
"lumps": 6189,
"maps": 25,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "actors/crucial/acsitems.txt",
"contents": "// [SP] This file is just for misc actors to help ACS\n\n// [Dusk] Thermal cloaking timer - tells how many seconds left.\nactor ThermalCloakingTime : Inventory {inventory.maxamount 90}\n\n// [Dusk] used to fix iron curtain + resign bug\nactor PowerNull : PowerProtection {damagefactor \"normal\", 1.0}\nactor RedHueRemover : PowerupGiver {\n\t+INVENTORY.AUTOACTIVATE\n\tinventory.pickupmessage \"wat are you doing\"\n\tinventory.maxamount 0\n\tpowerup.color RedMap\n\tpowerup.duration -2\n\tpowerup.type \"Null\"\n}\n\nactor DimGoldHueRemover : RedHueRemover {powerup.color GoldMap, 0.25}\nactor DimRedHueRemover : RedHueRemover {powerup.color \"AA 00 00\", 0.25}\nactor GreenHueRemover : RedHueRemover {powerup.color GreenMap}\n\nactor ArmorUpgrade : CustomInventory {\n\tstates {\n\tPickup:\n\t\tTNT1 A 0 ACS_ExecuteAlways (985, 0, 1, AGF_ADDITIVE)\n\t\tTNT1 A 0 A_GiveInventory (\"HasArmorUpgrade\", 1)\n\t\tstop\n\t}\n}\n\nactor HUD_HealthType : Inventory {\n\tInventory.MaxAmount 4\n}\n\nactor HUD_HealthBlink : Inventory {}\nactor IsConsolePlayer : Inventory {}\n\nactor Experience : Inventory {\n\tInventory.MaxAmount 0x7FFFFFFF\n}\n\nactor HasRankUpgrades : Inventory {}"
},
{
"source": "pk3",
"name": "actors/crucial/armor.txt",
"contents": "// =============================================================================\n// ARMOR GRADES AND MODIFIERS\n\n/*\n\tDAMAGEFACTOR TEMPLATE:\n\n\tDamageFactor \"Fist\",\t\t\t1.0\n\tDamageFactor \"Bullet\",\t\t\t1.0\n\tDamageFactor \"Rifle\",\t\t\t1.0\n\tDamageFactor \"Explosion\",\t\t1.0\n\tDamageFactor \"Fire\",\t\t\t1.0\n\tDamageFactor \"Chemical\",\t\t1.0\n\tDamageFactor \"Energy\",\t\t\t1.0\n\tDamageFactor \"Time\",\t\t\t1.0\n\tDamageFactor \"MassDriver\",\t\t1.0\n\tDamageFactor \"AntiArmor\",\t\t1.0\n\tDamageFactor \"Superweapon\",\t\t1.0\n\tDamageFactor \"FireSpecial\",\t\t1.0\n\tDamageFactor \"ChemicalSpecial\",\t1.0\n\tDamageFactor \"Mechstomp\",\t\t1.0\n\tDamageFactor \"Disarm\",\t\t\t1.0\n\tDamageFactor \"Deconstruction\",\t1.0\n\tDamageFactor \"Monster\",\t\t\t1.0\n\tDamageFactor \"Ice\",\t\t\t\t1.0\n*/\n\n// =============================================================================\nactor PowerGrade1Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.95\n\tDamageFactor \"Bullet\",\t\t\t0.95\n\tDamageFactor \"Rifle\",\t\t\t0.95\n\tDamageFactor \"Explosion\",\t\t0.95\n\tDamageFactor \"Fire\",\t\t\t0.95\n\tDamageFactor \"Chemical\",\t\t0.95\n\tDamageFactor \"Energy\",\t\t\t0.95\n\tDamageFactor \"Time\",\t\t\t0.95\n\tDamageFactor \"MassDriver\",\t\t0.95\n\tDamageFactor \"AntiArmor\",\t\t0.95\n\tDamageFactor \"FireSpecial\",\t\t0.95\n\tDamageFactor \"ChemicalSpecial\",\t0.95\n\tDamageFactor \"Mechstomp\",\t\t0.95\n\tDamageFactor \"Monster\",\t\t\t0.95\n\tDamageFactor \"Ice\",\t\t\t\t0.95\n}\n\n// =============================================================================\nactor PowerGrade2Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.90\n\tDamageFactor \"Bullet\",\t\t\t0.90\n\tDamageFactor \"Rifle\",\t\t\t0.90\n\tDamageFactor \"Explosion\",\t\t0.90\n\tDamageFactor \"Fire\",\t\t\t0.90\n\tDamageFactor \"Chemical\",\t\t0.90\n\tDamageFactor \"Energy\",\t\t\t0.90\n\tDamageFactor \"Time\",\t\t\t0.90\n\tDamageFactor \"MassDriver\",\t\t0.90\n\tDamageFactor \"AntiArmor\",\t\t0.90\n\tDamageFactor \"FireSpecial\",\t\t0.90\n\tDamageFactor \"ChemicalSpecial\",\t0.90\n\tDamageFactor \"Mechstomp\",\t\t0.90\n\tDamageFactor \"Monster\",\t\t\t0.90\n\tDamageFactor \"Ice\",\t\t\t\t0.90\n}\n\n// =============================================================================\nactor PowerGrade3Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.85\n\tDamageFactor \"Bullet\",\t\t\t0.85\n\tDamageFactor \"Rifle\",\t\t\t0.85\n\tDamageFactor \"Explosion\",\t\t0.85\n\tDamageFactor \"Fire\",\t\t\t0.85\n\tDamageFactor \"Chemical\",\t\t0.85\n\tDamageFactor \"Energy\",\t\t\t0.85\n\tDamageFactor \"Time\",\t\t\t0.85\n\tDamageFactor \"MassDriver\",\t\t0.85\n\tDamageFactor \"AntiArmor\",\t\t0.85\n\tDamageFactor \"FireSpecial\",\t\t0.85\n\tDamageFactor \"ChemicalSpecial\",\t0.85\n\tDamageFactor \"Mechstomp\",\t\t0.85\n\tDamageFactor \"Monster\",\t\t\t0.85\n\tDamageFactor \"Ice\",\t\t\t\t0.85\n}\n\n// =============================================================================\nactor PowerGrade4Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.80\n\tDamageFactor \"Bullet\",\t\t\t0.80\n\tDamageFactor \"Rifle\",\t\t\t0.80\n\tDamageFactor \"Explosion\",\t\t0.80\n\tDamageFactor \"Fire\",\t\t\t0.80\n\tDamageFactor \"Chemical\",\t\t0.80\n\tDamageFactor \"Energy\",\t\t\t0.80\n\tDamageFactor \"Time\",\t\t\t0.80\n\tDamageFactor \"MassDriver\",\t\t0.80\n\tDamageFactor \"AntiArmor\",\t\t0.80\n\tDamageFactor \"FireSpecial\",\t\t0.80\n\tDamageFactor \"ChemicalSpecial\",\t0.80\n\tDamageFactor \"Mechstomp\",\t\t0.80\n\tDamageFactor \"Monster\",\t\t\t0.80\n\tDamageFactor \"Ice\",\t\t\t\t0.80\n}\n\n// =============================================================================\nactor PowerGrade5Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.75\n\tDamageFactor \"Bullet\",\t\t\t0.75\n\tDamageFactor \"Rifle\",\t\t\t0.75\n\tDamageFactor \"Explosion\",\t\t0.75\n\tDamageFactor \"Fire\",\t\t\t0.75\n\tDamageFactor \"Chemical\",\t\t0.75\n\tDamageFactor \"Energy\",\t\t\t0.75\n\tDamageFactor \"Time\",\t\t\t0.75\n\tDamageFactor \"MassDriver\",\t\t0.75\n\tDamageFactor \"AntiArmor\",\t\t0.75\n\tDamageFactor \"Superweapon\",\t\t0.75\n\tDamageFactor \"FireSpecial\",\t\t0.75\n\tDamageFactor \"ChemicalSpecial\",\t0.75\n\tDamageFactor \"Mechstomp\",\t\t0.75\n\tDamageFactor \"Monster\",\t\t\t0.75\n\tDamageFactor \"Ice\",\t\t\t\t0.75\n}\n\n// =============================================================================\n// Stealth trooper armor\nactor PowerGradeNeg1Armor : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t1.15\n\tDamageFactor \"Bullet\",\t\t\t1.15\n\tDamageFactor \"Rifle\",\t\t\t1.15\n\tDamageFactor \"Explosion\",\t\t1.15\n\tDamageFactor \"Fire\",\t\t\t1.15\n\tDamageFactor \"Chemical\",\t\t1.15\n\tDamageFactor \"Energy\",\t\t\t1.15\n\tDamageFactor \"Time\",\t\t\t1.15\n\tDamageFactor \"MassDriver\",\t\t1.15\n\tDamageFactor \"AntiArmor\",\t\t1.15\n\tDamageFactor \"FireSpecial\",\t\t1.15\n\tDamageFactor \"ChemicalSpecial\",\t1.15\n\tDamageFactor \"Mechstomp\",\t\t1.15\n\tDamageFactor \"Monster\",\t\t\t1.15\n\tDamageFactor \"Ice\",\t\t\t\t1.15\n}\n\n// =============================================================================\nactor PowerFireProof : PowerProtection {\n\tDamageFactor \"Fire\",\t\t\t0.0\n\tDamageFactor \"FireSpecial\",\t\t0.0\n\tDamageFactor \"Chemical\",\t\t2.0\n\tDamageFactor \"ChemicalSpecial\",\t2.0\n}\n\n// =============================================================================\nactor PowerChemicalProof : PowerProtection {\n\tDamageFactor \"Fire\",\t\t\t2.0\n\tDamageFactor \"FireSpecial\",\t\t2.0\n\tDamageFactor \"Chemical\",\t\t0.0\n\tDamageFactor \"ChemicalSpecial\",\t0.0\n}\n\n// =============================================================================\nactor PowerEnergyResistance : PowerProtection {\n\tDamageFactor \"Energy\",\t\t\t0.6\n}\n\n// =============================================================================\nactor PowerBulletResistance : PowerProtection {\n\tDamageFactor \"Bullet\",\t\t\t0.6\n\tDamageFactor \"Rifle\",\t\t\t0.6\n}\n\n// =============================================================================\nactor PowerExplosiveResistance : PowerProtection {\n\tDamageFactor \"Explosion\",\t\t0.6\n\tDamageFactor \"Mine\",\t\t\t0.6\n\tDamageFactor \"AntiArmor\",\t\t0.6\n\tDamageFactor \"MassDriver\",\t\t0.6\n}\n\n// =============================================================================\nactor Grade1Armor : PermanentPowerup {Powerup.Type \"Grade1Armor\"}\nactor Grade2Armor : PermanentPowerup {Powerup.Type \"Grade2Armor\"}\nactor Grade3Armor : PermanentPowerup {Powerup.Type \"Grade3Armor\"}\nactor Grade4Armor : PermanentPowerup {Powerup.Type \"Grade4Armor\"}\nactor Grade5Armor : PermanentPowerup {Powerup.Type \"Grade5Armor\"}\nactor GradeNeg1Armor : PermanentPowerup {Powerup.Type \"GradeNeg1Armor\"}\nactor FireProof : PermanentPowerup {Powerup.Type \"FireProof\"}\nactor ChemicalProof : PermanentPowerup {Powerup.Type \"ChemicalProof\"}\nactor BulletResistance : PermanentPowerup {Powerup.Type \"BulletResistance\"}\nactor ExplosiveResistance : PermanentPowerup {Powerup.Type \"ExplosiveResistance\"}\nactor EnergyResistance : PermanentPowerup {Powerup.Type \"EnergyResistance\"}\n\n// =============================================================================\n// [Dusk] Harvesters get this to make sure they can not be harmed by\n// Tiberium even if their chemical proof armor is somehow canceled.\nactor PowerTiberiumProof : PowerProtection {\n\tDamageFactor \"ChemicalSpecial\", 0.0\n}\n\nactor TiberiumProof : PermanentPowerup {\n\tPowerup.Type \"TiberiumProof\"\n}\n\n// ============================================================================\n// SPECIALIZED TYPES\n// [Dusk] These should probably be moved out.\n\nactor SpawnInvulnerability : PowerupGiver {\n\t+AUTOACTIVATE\n\tInventory.MaxAmount 0\n\tPowerup.Type \"PowerSpawnInvulnerability\"\n\tPowerup.Color \"FF FF FF\", 0.1\n\tPowerup.Duration -5\n}\n\nactor PowerSpawnInvulnerability : PowerInvulnerable {}\n\n// =============================================================================\n// Given to terminals to weaken them on sudden death\nactor SuddenDeathVulnerability : PermanentPowerup {Powerup.Type \"SuddenDeathVulnerability\"}\nactor PowerSuddenDeathVulnerability : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t4.0\n\tDamageFactor \"Bullet\",\t\t\t4.0\n\tDamageFactor \"Rifle\",\t\t\t4.0\n\tDamageFactor \"Explosion\",\t\t2.5\n\tDamageFactor \"Fire\",\t\t\t4.0\n\tDamageFactor \"Chemical\",\t\t4.0\n\tDamageFactor \"Energy\",\t\t\t4.0\n\tDamageFactor \"Time\",\t\t\t4.0\n\tDamageFactor \"MassDriver\",\t\t2.5\n\tDamageFactor \"AntiArmor\",\t\t4.0\n\tDamageFactor \"Superweapon\",\t\t4.0\n\tDamageFactor \"FireSpecial\",\t\t4.0\n\tDamageFactor \"ChemicalSpecial\",\t4.0\n\tDamageFactor \"Monster\",\t\t\t4.0\n}\n\n// =============================================================================\nactor PowerGrade0DamagePower : PowerDamage {\n\tDamageFactor \"Fist\",\t\t\t0.8\n\tDamageFactor \"Bullet\",\t\t\t0.8\n\tDamageFactor \"Rifle\",\t\t\t0.8\n\tDamageFactor \"Explosion\",\t\t0.8\n\tDamageFactor \"Fire\",\t\t\t0.8\n\tDamageFactor \"Chemical\",\t\t0.8\n\tDamageFactor \"Energy\",\t\t\t0.8\n\tDamageFactor \"AntiArmor\",\t\t0.8\n\tDamageFactor \"Time\",\t\t\t0.8\n\tDamageFactor \"Disarm\",\t\t\t1.0\n\tDamageFactor \"Superweapon\",\t\t1.0\n\tDamageFactor \"MassDriver\",\t\t0.8\n\tDamageFactor \"Mechstomp\",\t\t0.8\n\tDamageFactor \"Monster\",\t\t\t0.8\n}\n\nactor Grade0Damage : PermanentPowerup {\n\tPowerup.Type \"Grade0DamagePower\"\n}\n\n// =============================================================================\nactor PowerFirepowerUpgrade : PowerDamage {\n\tDamageFactor \"Fist\",\t\t\t1.3\n\tDamageFactor \"Bullet\",\t\t\t1.3\n\tDamageFactor \"Rifle\",\t\t\t1.3\n\tDamageFactor \"Explosion\",\t\t1.3\n\tDamageFactor \"Fire\",\t\t\t1.3\n\tDamageFactor \"Chemical\",\t\t1.3\n\tDamageFactor \"Energy\",\t\t\t1.3\n\tDamageFactor \"AntiArmor\",\t\t1.3\n\tDamageFactor \"Time\",\t\t\t1.3\n\tDamageFactor \"MassDriver\",\t\t1.3\n\tDamageFactor \"Mechstomp\",\t\t1.3\n}\n\nactor FirepowerUpgrade : PermanentPowerup {\n\tPowerup.Type \"FirepowerUpgrade\"\n}\n\n// =============================================================================\nactor PowerGrade2ArmorFactoryPower : PowerProtection {\n\tDamageFactor \"Fist\",\t\t\t0.9\n\tDamageFactor \"Bullet\",\t\t\t0.9\n\tDamageFactor \"Rifle\",\t\t\t0.9\n\tDamageFactor \"Explosion\",\t\t0.9\n\tDamageFactor \"Fire\",\t\t\t0.9\n\tDamageFactor \"Chemical\",\t\t0.9\n\tDamageFactor \"Energy\",\t\t\t0.9\n\tDamageFactor \"AntiArmor\",\t\t0.9\n\tDamageFactor \"Time\",\t\t\t1.0\n\tDamageFactor \"MassDriver\",\t\t0.9\n\tDamageFactor \"Mechstomp\",\t\t0.9\n\tDamageFactor \"Monster\",\t\t\t0.9\n}\nactor Grade2ArmorFactory : PermanentPowerup {\n\tPowerup.Type \"Grade2ArmorFactoryPower\"\n}"
},
{
"source": "pk3",
"name": "actors/crucial/berserk.txt",
"contents": "// =============================================================================\n// The berserk morph, turns the player into a 200-health crazy ass dude\n// with a red view, increased speed and jump height and fists that utterly\n// destroy any infantry they hit.\nactor BerserkPlayer : Player {\n\t+NOSKIN\n\t-PICKUP\n\tHealth 200\n\tPlayer.MaxHealth 200\n\tPlayer.DisplayName \"Berserker\"\n\tPlayer.StartItem \"BerserkFists\", 1\n\tPlayer.ForwardMove 1.0 // Doomguy speed!\n\tPlayer.SideMove 1.0\n\tPlayer.MorphWeapon \"BerserkFists\"\n\tPlayer.JumpZ 16 // Doubled jump height\n\tDamageFactor \"Chemical\", 2.25 // AAAAHHH\n\tDamageFactor \"MechStomp\", 0.35\n\n\tStates {\n\t// The guy gibs in every death ever.\n\tDeath:\n\tDeath.Chemical:\n\tDeath.Fire:\n\tDeath.Time:\n\tDeath.ChemicalSpecial:\n\tDeath.FireSpecial:\n\t\tgoto XDeathGo\n\t}\n}\n\n// =============================================================================\n// Powerup actor\nactor BerserkSwitch : PowerupGiver replaces Berserk 15401 {\n\t//$Category Powerups\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\tPowerup.Type Berserk\n\tPowerup.Duration 10500 // Five minutes\n\tPowerup.Color RedMap\n\tInventory.MaxAmount 1\n\tTag \"Berserk\"\n\tStates {\n\tSpawn:\n\t\tPSTR A -1\n\t\tstop\n\t}\n}\n\n// =============================================================================\n// Red hue\nactor PowerBerserkHue : PowerNull {}\nactor BerserkHue : BerserkSwitch {\n\tPowerup.Type BerserkHue\n\tPowerup.Color RedMap\n}\n\n// =============================================================================\n// Powerup actor\nactor PowerBerserk : AOWMorph {\n\tPowerMorph.PlayerClass \"BerserkPlayer\"\n}\n\n// =============================================================================\n// [Dusk] Berserk fists - instagibbing real man fists that gibs any infantry\nactor BerserkFists : Unarmed {\n\t-WIMPY_WEAPON // well it's not, is it?\n\tObituary \"$OB_BERSERK\"\n\tWeapon.SelectionOrder 0\n\tstates {\n\tSelect:\n\t\tPUNG A 5\n\t\tPUNG A 0 A_JumpIfInventory (\"PowerBerserk\", 1, 1)\n\t\tgoto Remove\n\t\tPUNG A 0 A_JumpIfInventory (\"FistReplaced\", 1, \"ReplaceCleanup\")\n\t\tPUNG A 0 A_Raise\n\t\tPUNG A 1 A_Raise\n\t\tgoto Select+4\n\tReady:\n\t\tPUNG A 0 ACS_ExecuteAlways (800, 0)\n\t\tPUNG A 1 A_WeaponReady (WRF_NOSWITCH)\n\t\twait\n\tFire:\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsInSpawnRoom\",1,\"Ready\")\n\t\tPUNG B 0 A_ChangeVelocity(momx*1.1,momy*1.1,momz,CVF_REPLACE)\n\t\tPUNG B 0 A_JumpIfInventory(\"FistSwitch\", 1, \"Fire2\")\n\t\tPUNG B 1 Offset(-30,40)\n\t\tPUNG B 0 A_SetAngle(Angle-10)\n\t\tPUNG B 0 Offset(-24,38) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG B 0 A_SetAngle(Angle+10)\n\t\t//PUNG C 1 Offset(-16,36)\n\t\tPUNG C 1 Offset(-9,35) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG D 0 A_GiveInventory (\"FistSwitch\", 1)\n\t\tPUNG D 0 A_SetAngle(Angle+10)\n\t\tPUNG D 0 Offset(0,33) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG D 1 A_SetAngle(Angle-10)\n\t\tPUNG D 1 Offset(15,32)\n\t\t//PUNG C 1 Offset(10,37)\n\t\tPUNG C 1 Offset(5,38)\n\t\tPUNG B 1 Offset(0,39) A_ReFire\n\t\tgoto Ready\n\tFire2:\n\t\tPUNG E 1 Offset(30,40)\n\t\tPUNG E 0 A_SetAngle(Angle-10)\n\t\tPUNG E 0 Offset(24,38) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG E 1 A_SetAngle(Angle+10)\n\t\t//PUNG F 1 Offset(16,36)\n\t\tPUNG F 1 Offset(9,35) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG G 0 A_GiveInventory (\"FistSwitch\", 1)\n\t\tPUNG G 0 A_SetAngle(Angle+10)\n\t\tPUNG G 0 Offset(0,33) A_CustomPunch (100, 1, 1, \"BerserkPuff\", 96)\n\t\tPUNG G 1 A_SetAngle(Angle-10)\n\t\tPUNG G 1 Offset(-5,32)\n\t\t//PUNG F 1 Offset(1,37)\n\t\tPUNG F 1 Offset(6,38) A_TakeInventory(\"FistSwitch\",1)\n\t\tPUNG E 1 Offset(10,39) A_ReFire\n\t\tgoto Ready\n\tRemove:\n\t\tPUNG A 1 offset (1,32)\n\t\tPUNG A 0 A_GiveInventory (\"Unarmed\", 1)\n\t\tPUNG A 0 A_SelectWeapon (\"Unarmed\")\n\t\tPUNG A 0 A_GiveInventory (\"FistReplaced\", 1)\n\t\tgoto Deselect\n\tReplaceCleanup:\n\t\tBEAC B 0 A_TakeInventory (\"Unarmed\", 1)\n\t\tBEAC B 0 A_TakeInventory (\"FistReplaced\", 1)\n\t\tgoto Select\n\t}\n}\n\nactor BerserkInit : Inventory {}\n\nactor BerserkSoundStart : CustomInventory {\n\t+AUTOACTIVATE\n\t+ALWAYSPICKUP\n\tInventory.MaxAmount 0\n\tStates {\n\tPickup:\n\tUse:\n\t\tTNT1 A 0 A_PlaySound (\"player/berserk\", CHAN_ITEM, 1.0, 1)\n\t\tstop\n\t}\n}\n\nactor BerserkSoundStop : BerserkSoundStart {\n\tStates {\n\tPickup:\n\tUse:\n\t\tTNT1 A 0 A_StopSound (CHAN_ITEM)\n\t\tstop\n\t}\n}\n\n// =============================================================================\nactor BerserkPuff : FistPuff {\n\t+EXTREMEDEATH\n\tStates {\n\tMelee:\n\t\tPUFF A 0\n\t\tPUFF A 0 bright A_SpawnItemEx (\"FistHit\")\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/crucial/btos.txt",
"contents": "// Hitboxes - these actors are placed around buildings. They transfer external\n// damage to the terminal, allowing buildings to be destroyed from the outside.\n\nactor BaseTerminalOutside {\n\thealth 99999\n\tradius 0\n\theight 512\n\tDesignatedTeam 1\n\tDamageFactor \"Fist\", 0.0\n\tDamageFactor \"Bullet\", 0.0\n\tDamageFactor \"Rifle\", 0.0\n\tDamageFactor \"Fire\", 0.2\n\tDamageFactor \"Chemical\", 0.0\n\tDamageFactor \"ChemicalSpecial\", 0.0\n\tDamageFactor \"Energy\", 0.0\n\tDamageFactor \"Time\", 0.0\n\tDamageFactor \"Disarm\", 0.0\n\tDamageFactor \"Flash\", 0.0\n\tDamageFactor \"Ice\", 0.0\n\tDamageFactor \"Superweapon\", 0.0\n\tDamageFactor \"Mechstomp\", 0.0\n\tDamageFactor \"Monster\", 0.0\n\tDamageFactor \"Deconstruction\", 0.0\n\t-SOLID\n\t+SHOOTABLE\n\t+NOBLOOD\n\t+DONTGIB\n\t+NOICEDEATH\n\t+GHOST\n\t+NOTARGET\n\t+QUICKTORETALIATE\n\tMass 0x7FFFFFFF\n\tpainchance 255\n\n\tstates {\n\tDeath:\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionMainLarge\")\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionLargeNoDebris\")\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionLargeNoDebris\")\n\t\tTNT1 A -1\n\t\tstop\n\tIdle:\n\t\tTNT1 A -1\n\t\tstop\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 5 ACS_ExecuteAlways (652, 0, args[0], 1)\n\t\tgoto Idle\n\tPain.Fire:\n\t\tTNT1 A 0\n\t\tTNT1 A 5 ACS_ExecuteAlways (652, 0, args[0], random (3, 4))\n\t\tgoto Idle\n\tPain.MassDriver:\n\tPain.Explosion:\n\tPain.AntiArmor:\n\t\tTNT1 A 0\n\t\tTNT1 A 5 ACS_ExecuteAlways (652, 0, args[0], random (20, 40))\n\t\tgoto Idle\n\tPain.Superweapon:\n\t\tTNT1 A 0\n\t\tTNT1 A 5 ACS_ExecuteAlways (652, 0, args[0], 4000)\n\t\tgoto Idle\n\t}\n}\n\nactor BaseTerminalOutsideBlue : BaseTerminalOutside {\n\tDesignatedTeam 0\n}\n\nactor BTOBarracksBlue : BaseTerminalOutsideBlue 21201 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue Barracks\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 100)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 101, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOPowerPlantBlue : BaseTerminalOutsideBlue 21203 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue Research Centre\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 104)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 105, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTORefineryBlue : BaseTerminalOutsideBlue 21205 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue Refinery\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 102)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 103, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOFactoryBlue : BaseTerminalOutsideBlue 21207 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue War Factory\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 106)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 107, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOObeliskBlue : BaseTerminalOutsideBlue 21211 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue Obelisk\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 115)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 114, 0, 0)\n\t\tTNT1 B -1\n\t\tstop\n\t}\n}\n\nactor BTOBarracksRed : BaseTerminalOutside 21202 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red Barracks\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 200)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 201, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOPowerPlantRed : BaseTerminalOutside 21204 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red Research Centre\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 204)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 205, 0,0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTORefineryRed : BaseTerminalOutside 21206 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red Refinery\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 202)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 203, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOFactoryRed : BaseTerminalOutside 21208 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red War Factory\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 206)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 207, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor BTOObeliskRed : BaseTerminalOutside 21212 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red Obelisk\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 215)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 0, 214, 0, 0)\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\nactor ShortBTOObeliskBlue : BTOObeliskBlue 21311 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Blue Obelisk (short)\"\n\theight 256\n}\nactor ShortBTOObeliskRed : BTOObeliskRed 21312 {\n\t//$Category Hitboxes\n\ttag \"[Hitbox] Red Obelis (short)\"\n\theight 256\n}"
},
{
"source": "pk3",
"name": "actors/crucial/constants.txt",
"contents": "// Armor flags\nconst int ARMOD_NOCHANGE = 0;\nconst int ARMOD_FIRE = 1;\nconst int ARMOD_CHEM = 2;\nconst int ARMOD_LASER = 3;\nconst int ARMOD_EXPLO = 4;\nconst int ARMOD_BULLET = 5;\nconst int ARMOD_HALFCHEM = 6;\nconst int ARMOD_NONE = 7;\nconst int AGF_ADDITIVE = 8;\nconst int AGF_DONTSUBTRACT = 16;\nconst int AGF_DONTADD = 32;\n\n// Teams\nconst int TEAM_BLUE = 0;\nconst int TEAM_RED = 1;\n\n// Buildings\nconst int BUILDING_BARRACKS = 0;\nconst int BUILDING_REFINERY = 1;\nconst int BUILDING_RESCENTRE = 2;\nconst int BUILDING_FACTORY = 3;\nconst int BUILDING_REPAIR = 4;\nconst int BUILDING_OBELISK = 5;\nconst int BUILDING_MINIREF = 6;\nconst int BUILDING_HEALTHREGEN = 7;\nconst int BUILDING_AMMOREGEN = 8;\nconst int BUILDING_PORTAL = 9;\n\n// Script numbers\nconst int SC_SuperNukeCheck = 824;\nconst int SC_PushAngle = 825;\nconst int SC_PopAngle = 826;\nconst int SC_InitMonster = 827;\nconst int SC_SillyThings = 903;\nconst int SC_WEAPONFIRECHECK = 913;\nconst int SC_TortoiseEject = 904;\nconst int SC_BeaconInventory = 924;\nconst int SC_MARINE_INIT = 938;\nconst int SC_MARINE_COMPENSATION = 939;\nconst int SC_TELENODE_TIDREQUEST = 935;\nconst int SC_TELENODE_INIT = 936;\nconst int SC_TELENODE_FUNCTION = 937;\nconst int SC_FullRefillPack = 954;\nconst int SC_MARINE_DEATH = 968;\nconst int SC_SETPITCH = 979;\nconst int SC_DAMAGEOVERTIME = 974;\nconst int SC_STEALTH = 975;\n\nconst int STEALTH_ON = 0;\nconst int STEALTH_OFF = 1;\nconst int STEALTH_FLASH = 2;\nconst int STEALTH_FORCEOFF = 3;\n\n// Menu numbers\nconst int MENU_UTIL = 1;\n\nconst int OVERTIME_FIRE = 0;\nconst int OVERTIME_CHEM = 1;"
},
{
"source": "pk3",
"name": "actors/crucial/deadthings.txt",
"contents": "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n * Burning corpses\n *\n * Players spawn these corpses when they are killed with fire or chemical\n * weapons. Can damage and kill enemies if they get too close, awarding\n * frags.\n */\n\nactor BurningCorpse {\n\tMONSTER\n\t+FLOORCLIP\n\t+NORADIUSDMG\n\t-COUNTKILL\n\t-SHOOTABLE\n\t-ISMONSTER\n\n\tobituary \"$OB_CORPSEBURN\" // \"%o got too close to %k burning corpse.\"\n\tradius 20\n\theight 56\n\tspeed 8\n\tdamagetype \"FireSpecial\"\n\tpainsound \"player/burn\"\n\tstates {\n\tSpawn:\n\t\tBDT1 A 0 BRIGHT\n\tSee:\n\t\tBDT1 A 0 BRIGHT A_NoBlocking\n\t\tBDT1 A 0 BRIGHT A_Pain\n\t\tBDT1 A 0 BRIGHT A_Wander\n\t\tBDT1 A 0 A_Explode(8,128)\n\t\tBDT1 A 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 A 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 A 2 BRIGHT A_Wander\n\t\tBDT1 A 0 A_Explode(8,128)\n\t\tBDT1 A 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 A 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 A 2 BRIGHT A_Wander\n\t\tBDT1 B 0 A_Explode(8,128)\n\t\tBDT1 B 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 B 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 B 2 BRIGHT A_Wander\n\t\tBDT1 B 0 A_Explode(8,128)\n\t\tBDT1 B 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 B 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 B 2 BRIGHT A_Wander\n\t\tBDT1 C 0 A_Explode(8,128)\n\t\tBDT1 C 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 C 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 C 2 BRIGHT A_Wander\n\t\tBDT1 C 0 A_Explode(8,128)\n\t\tBDT1 C 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 C 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 C 2 BRIGHT A_Wander\n\t\tBDT1 D 0 A_Explode(8,128)\n\t\tBDT1 D 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 D 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,8), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 D 2 BRIGHT A_Wander\n\t\tBDT1 D 0 A_Explode(8,128)\n\t\tBDT1 D 0 A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(24,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 D 0 A_SpawnItemEx(\"BurnDeathShotFloor\", random(-16,16), random(-16,16), random(0,4), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBDT1 D 2 BRIGHT A_Wander\n\n\t\tBDT1 A 0 A_GiveInventory (\"BurnCount\", 1)\n\t\tBDT1 A 0 A_JumpIfInventory (\"BurnCount\", random(9,12), \"Death\")\n\t\tgoto See+3\n\tDeath:\n\t\tBURN AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP 2 BRIGHT A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBURN Q 0 BRIGHT A_PlaySound(\"misc/thud\") //[Bloax] This is the correct time.\n\t\tBURN QQ 2 BRIGHT A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBURN R 0 A_SpawnItemEx (\"FlameDecay\", random(-16,16), random(-16,16), 4)\n\t\tBURN RRR 0 A_SpawnItemEx (\"Credits1\", random(-4,4), random(-4,4), random(32,48), random(-4,4), random(-4,4), random(4,8), 0, 0, 128)\n\t\tBURN R 0 A_SpawnItemEx (\"PowerupCrate\", random(-4,4), random(-4,4), random(32,48), random(2,4), random(-2,2), random(2,4), 0, 0, 230)\n\t\tBURN RSTU 3 A_NoBlocking\n\t\tBURN V 128\n\t\tBURN V 0 A_StopSound (5)\n\t\tBURN V 4 A_FadeOut(0.05)\n\t\twait\n\t}\n}\n\n// This variant is spawned when the player burns in spawn room\nactor BurningCorpseReduced : BurningCorpse {\n\tspeed 0\n\tstates {\n\tSpawn:\n\t\tBURN A 0 BRIGHT\n\t\tBURN AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP 2 BRIGHT A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBURN Q 0 BRIGHT A_PlaySound(\"misc/thud\")\n\t\tBURN QQ 2 BRIGHT A_SpawnItemEx(\"BurnDeathShot\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.1*random(2,5), 0, 128, 32)\n\t\tBURN RSTU 3 A_NoBlocking\n\t\tBURN V 128\n\t\tBURN V 0 A_StopSound (5)\n\t\tBURN V 4 A_FadeOut(0.05)\n\t\twait\n\t}\n}\n\nactor BurnCount : Inventory {inventory.maxamount 12}\n\nactor FlameFX {\n\tPROJECTILE\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\t-RANDOMIZE\n\tradius 13\n\theight 8\n\tspeed 5\n\tdamage 0\n\trenderstyle Add\n\talpha 0.75\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tFLMB A 1 bright // A_SpawnItemEx(\"BurnDeathSmokePuff\", 0, 0, random(20,28), 0, 0, random(1,2), 0, 128, 0)\n\t\tFLMB A 1 bright ThrustThingZ(0,1,0,1)\n\t\tFLMB BCDEFGH 2 bright\n\t\tFLMB ABCDEFGHABCDEFGH 2 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tFLMB A 1 bright\n\t\tFLMB A 1 ThrustThingZ(0,1,0,1)\n\t\tFLMB BCDEFGH 2 bright\n\t\tFLMB ABCDEFGHABCDEFGH 2 bright A_FadeOut(0.1)\n\t\tstop\n\t}\n}\n\nactor FlameFXFloor : FlameFX {\n\tScale 0.625\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tFLMB A 2 bright // A_SpawnItemEx(\"BurnDeathSmokePuff\", 0, 0, random(20,28), 0, 0, random(1,2), 0, 128, 0)\n\t\tFLMB A 2 bright\n\t\tFLMB BCDEFGH 4 bright\n\t\tFLMB ABCDEFGHABCDEFGH 4 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tFLMB A 2 bright\n\t\tFLMB A 2\n\t\tFLMB BCDEFGH 4 bright\n\t\tFLMB ABCDEFGHABCDEFGH 4 bright A_FadeOut(0.1)\n\t\tStop\n\t}\n}\n\n// Green variant for chemical death\nactor ChemicalCorpse : BurningCorpse {\n\tobituary \"$OB_CHEMICALCORPSE\" // \"%o got too close to %k's radioactive corpse.\"\n\tdamagetype \"ChemicalSpecial\"\n\tstates {\n\tSpawn:\n\t\tCDT1 A 0 BRIGHT\n\tSee:\n\t\tCDT1 C 0 BRIGHT A_NoBlocking\n\t\tCDT1 C 0 BRIGHT A_Pain\n\t\tCDT1 C 0 BRIGHT A_PlaySound (\"chem/chem\", 5, 1.0, 1)\n\t\tCDT1 D 0 BRIGHT A_Wander\n\t\tCDT1 A 0 A_Explode(8,128)\n\t\tCDT1 AAAA 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 A 2 BRIGHT A_Wander\n\t\tCDT1 A 0 A_Explode(8,128)\n\t\tCDT1 AAAA 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 A 2 BRIGHT A_Wander\n\t\tCDT1 B 0 A_Explode(8,128)\n\t\tCDT1 BBBB 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 B 2 BRIGHT A_Wander\n\t\tCDT1 B 0 A_Explode(8,128)\n\t\tCDT1 BBBB 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 B 2 BRIGHT A_Wander\n\t\tCDT1 C 0 A_Explode(8,128)\n\t\tCDT1 CCCC 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 C 2 BRIGHT A_Wander\n\t\tCDT1 C 0 A_Explode(8,128)\n\t\tCDT1 CCCC 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 C 2 BRIGHT A_Wander\n\t\tCDT1 D 0 A_Explode(8,128)\n\t\tCDT1 DDDD 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 D 2 BRIGHT A_Wander\n\t\tCDT1 D 0 A_Explode(8,128)\n\t\tCDT1 DDDD 0 A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCDT1 D 2 BRIGHT A_Wander\n\t\tCDT1 A 0 A_GiveInventory(\"BurnCount\",1)\n\t\tCDT1 A 0 A_JumpIfInventory(\"BurnCount\",random(9,12),\"Death\")\n\t\tgoto See+3\n\tDeath:\n\t\tCURN AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPP 1 BRIGHT A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCURN Q 0 BRIGHT A_PlaySound(\"misc/thud\")\n\t\tCURN QQQQ 1 BRIGHT A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCURN AA 0 A_SpawnItemEx(\"AnthraxDecaySpecial\", random(-16,16), random(-16,16), 4)\n\t\tCURN AAA 0 A_SpawnItemEx (\"Credits1\", random(-4,4), random(-4,4), random(32,48), random(-4,4), random(-4,4), random(4,8), 0, 0, 128)\n\t\tCURN A 0 A_SpawnItemEx (\"PowerupCrate\", random(-4,4), random(-4,4), random(32,48), random(2,4), random(-2,2), random(2,4), 0, 0, 230)\n\t\tCURN RSTU 3 A_NoBlocking\n\t\tCURN V 0 A_StopSound (5)\n\t\tCURN V 128\n\t\tCURN V 2 A_FadeOut (0.1)\n\t\twait\n\t}\n}\n\nactor ChemicalCorpseReduced : ChemicalCorpse {\n\tstates {\n\tSpawn:\n\t\tCURN A 0 BRIGHT\n\t\tCURN AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPP 1 BRIGHT A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCURN Q 0 BRIGHT A_PlaySound(\"misc/thud\")\n\t\tCURN QQQQ 1 BRIGHT A_SpawnItemEx(\"ChemicalFlame\", random(-16,16), random(-16,16), random(16,64), 0, 0, 0.5*random(2,5), 0, 128, 32)\n\t\tCURN RSTU 3 A_NoBlocking\n\t\tCURN V 128 A_PlaySound(\"misc/thud\")\n\t\tCURN V 0 A_StopSound (5)\n\t\tCURN V 4 A_FadeOut(0.05)\n\t\twait\n\t}\n}\n\nactor ChemicalFlame {\n\tPROJECTILE\n\t-RANDOMIZE\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tradius 13\n\theight 8\n\tspeed 5\n\tdamage 0\n\trenderstyle Add\n\talpha 0.75\n\tscale 0.25\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTIBX ABCDEFGHIJKL 2 bright\n\t\tTIBX MMNNOOPPQQ 1 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tTIBX GHIJKLMNOPQ 3 bright\n\t\tstop\n\t}\n}\n\nactor ChemicalFlameSmall : ChemicalFlame {\n\tradius 13\n\theight 8\n\tspeed 22\n\tdamage 0\n\trenderstyle Add\n\talpha 0.75\n\tPROJECTILE\n\t-RANDOMIZE\n\tScale 0.4\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTIBX ABCDEFGHIJKL 2 bright\n\t\tTIBX MMNNOOPPQQ 1 bright A_FadeOut(0.1)\n\t\tstop\n\tDeath:\n\t\tTIBX GHIJKLMNOPQ 3 bright\n\t\tstop\n\t}\n}\n\n// variants for not so male players\nactor BurningCorpseFemale : BurningCorpse {painsound \"female/burn\"}\nactor ChemicalCorpseFemale : ChemicalCorpse {painsound \"female/burn\"}\n\n// compatibility.. so many actors spawn these\nactor BurnDeathShot : FlameFX {}\nactor BurnDeathShotFloor : FlameFXFloor {}\nactor ChemicalDeathShot : ChemicalFlame {}\nactor ChemicalShotSmall : ChemicalFlameSmall {}\n\nactor FadingCorpse {\n\tstates {\n\tSpawn:\n\t\tPLAY N 2 A_FadeOut(0.1)\n\t\twait\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/crucial/gameconfig.txt",
"contents": "// The game configurator is a special actor that holds special information\n// about the game. Its inventory is special and is used to determine various\n// things about the game state.\n\n// =============================================================================\nactor GameConfigurator {\n\t+NOBLOCKMAP\n\t+NOINTERACTION\n\t+NOSECTOR\n\tTag \"Game configurator\"\n\n\tStates {\n\tSpawn:\n\t\tTNT1 A -1\n\t\tstop\n\t}\n}\n\n// =============================================================================\n// The inventory of the configurator. They are indexed so that I can use these\n// with identifiers in ACS.\nactor GameConfigInv0 : Inventory {\n\tInventory.MaxAmount 0x7FFFFFFF\n}\n\nactor GameConfigInv1 : GameConfigInv0 {}\nactor GameConfigInv2 : GameConfigInv0 {}\nactor GameConfigInv3 : GameConfigInv0 {}\nactor GameConfigInv4 : GameConfigInv0 {}\nactor GameConfigInv5 : GameConfigInv0 {}\nactor GameConfigInv6 : GameConfigInv0 {}\nactor GameConfigInv7 : GameConfigInv0 {}\nactor GameConfigInv8 : GameConfigInv0 {}\nactor GameConfigInv9 : GameConfigInv0 {}\nactor GameConfigInv10 : GameConfigInv0 {}\nactor GameConfigInv11 : GameConfigInv0 {}\nactor GameConfigInv12 : GameConfigInv0 {}\nactor GameConfigInv13 : GameConfigInv0 {}\nactor GameConfigInv14 : GameConfigInv0 {}\nactor GameConfigInv15 : GameConfigInv0 {}\nactor GameConfigInv16 : GameConfigInv0 {}\nactor GameConfigInv17 : GameConfigInv0 {}\nactor GameConfigInv18 : GameConfigInv0 {}\nactor GameConfigInv19 : GameConfigInv0 {}\nactor GameConfigInv20 : GameConfigInv0 {}\nactor GameConfigInv21 : GameConfigInv0 {}\nactor GameConfigInv22 : GameConfigInv0 {}\nactor GameConfigInv23 : GameConfigInv0 {}\nactor GameConfigInv24 : GameConfigInv0 {}\nactor GameConfigInv25 : GameConfigInv0 {}\nactor GameConfigInv26 : GameConfigInv0 {}\nactor GameConfigInv27 : GameConfigInv0 {}\nactor GameConfigInv28 : GameConfigInv0 {}\nactor GameConfigInv29 : GameConfigInv0 {}\nactor GameConfigInv30 : GameConfigInv0 {}\nactor GameConfigInv31 : GameConfigInv0 {}\nactor GameConfigInv32 : GameConfigInv0 {}\nactor GameConfigInv33 : GameConfigInv0 {}\nactor GameConfigInv34 : GameConfigInv0 {}\nactor GameConfigInv35 : GameConfigInv0 {}\nactor GameConfigInv36 : GameConfigInv0 {}\nactor GameConfigInv37 : GameConfigInv0 {}\nactor GameConfigInv38 : GameConfigInv0 {}\nactor GameConfigInv39 : GameConfigInv0 {}\nactor GameConfigInv40 : GameConfigInv0 {}\nactor GameConfigInv41 : GameConfigInv0 {}\nactor GameConfigInv42 : GameConfigInv0 {}\nactor GameConfigInv43 : GameConfigInv0 {}\nactor GameConfigInv44 : GameConfigInv0 {}\nactor GameConfigInv45 : GameConfigInv0 {}\nactor GameConfigInv46 : GameConfigInv0 {}\nactor GameConfigInv47 : GameConfigInv0 {}\nactor GameConfigInv48 : GameConfigInv0 {}\nactor GameConfigInv49 : GameConfigInv0 {}\nactor GameConfigInv50 : GameConfigInv0 {}\nactor GameConfigInv51 : GameConfigInv0 {}\nactor GameConfigInv52 : GameConfigInv0 {}\nactor GameConfigInv53 : GameConfigInv0 {}\nactor GameConfigInv54 : GameConfigInv0 {}\nactor GameConfigInv55 : GameConfigInv0 {}\nactor GameConfigInv56 : GameConfigInv0 {}\nactor GameConfigInv57 : GameConfigInv0 {}\nactor GameConfigInv58 : GameConfigInv0 {}\nactor GameConfigInv59 : GameConfigInv0 {}\nactor GameConfigInv60 : GameConfigInv0 {}\nactor GameConfigInv61 : GameConfigInv0 {}\nactor GameConfigInv62 : GameConfigInv0 {}\nactor GameConfigInv63 : GameConfigInv0 {}\nactor GameConfigInv64 : GameConfigInv0 {}\nactor GameConfigInv65 : GameConfigInv0 {}\nactor GameConfigInv66 : GameConfigInv0 {}\nactor GameConfigInv67 : GameConfigInv0 {}\nactor GameConfigInv68 : GameConfigInv0 {}\nactor GameConfigInv69 : GameConfigInv0 {}\nactor GameConfigInv70 : GameConfigInv0 {}\nactor GameConfigInv71 : GameConfigInv0 {}\nactor GameConfigInv72 : GameConfigInv0 {}\nactor GameConfigInv73 : GameConfigInv0 {}\nactor GameConfigInv74 : GameConfigInv0 {}\nactor GameConfigInv75 : GameConfigInv0 {}"
},
{
"source": "pk3",
"name": "actors/crucial/infoitems.txt",
"contents": "// Various dummy items\n\nactor ClassID : Inventory {Inventory.MaxAmount 29}\n\nactor IsRed : Inventory {}\nactor IsBlue : Inventory {}\nactor IsFemale : Inventory {}\nactor PurchaseToken : Inventory {Inventory.MaxAmount 99}\nactor InRepairs : Inventory {}\nactor HasClass : Inventory {}\nactor IsMech : Inventory {}\nactor TournamentMode : Inventory {}\nactor Refunds : Inventory {Inventory.MaxAmount 10000}\nactor PlayerRank : Inventory {Inventory.MaxAmount 8}\nactor IsCommando : Inventory {}\nactor IsSniper : Inventory {}\nactor IsMedic : Inventory {}\nactor IsKamikaze : Inventory {}\nactor IsHarvester : Inventory {}\nactor CantMech : Inventory {}\nactor HasArmorUpgrade : Inventory {}\nactor CrispyPlayer : Inventory {}\nactor CrispyPlayer2 : Inventory {Inventory.MaxAmount 4}\nactor IsInSpawnRoom : Inventory {}\nactor IsMCT : Inventory {}\nactor IsArtillerySoldier : Inventory {}\n\n// [SP] This item is used to determine whether a util can build turrets in his base.\n// He must be close enough to one of his own (standing) structures to do this.\nactor UtilityOutOfRange : Inventory {}\n\nactor DonateMenu : Inventory {}\nactor DonationName : Inventory {Inventory.MaxAmount 100}\n\nactor RepairBonus_XP : Inventory {Inventory.MaxAmount 1000}\nactor RepairBonus_Money : Inventory {Inventory.MaxAmount 20}\n\nactor RepairEffectPlayer : CustomInventory\n{\n Inventory.MaxAmount 9999\n +ALWAYSPICKUP\n states\n {\n Spawn:\n TNT1 A 5\n stop\n Pickup:\n TNT1 AAAAA 0 A_SpawnItemEx(\"VoltagePuff2\",random(-8,8),random(-8,8),random(4,56),0,0,0,0,128,0)\n stop\n }\n}\nactor RepairEffectMech : CustomInventory\n{\n Inventory.MaxAmount 9999\n +ALWAYSPICKUP\n states\n {\n Spawn:\n TNT1 A 5\n stop\n Pickup:\n TNT1 AAAAA 0 A_SpawnItemEx(\"VoltagePuff2\",random(-29,29),random(-29,29),random(4,128),0,0,0,0,128,0)\n TNT1 AAAAA 0 A_SpawnItemEx(\"VoltagePuff2\",random(-29,29),random(-29,29),random(4,128),0,0,0,0,128,0)\n stop\n }\n}\n\n// [SP] This item is used to check maps for HOM's. It blurs the screen red - however it also gives invulnerability.\nactor HOMCheckerGL : InvulnerabilitySphere {\n\tPowerup.Color \"FF 00 00\", 0.2\n\tPowerup.Duration 0x7FFFFFFF\n\tInventory.PickupMessage \"HOM Checker!\"\n}\n\n// Stealth mode.\n// 0 = unstealthed\n// 1 = fading out (stealthing)\n// 2 = stealthed\n// 3 = fading in (destealthing)\nactor StealthMode : Inventory {\n Inventory.Amount 0\n Inventory.MaxAmount 3\n}\n\n// Players get this when they start pain flashing.\nactor StealthPain : Inventory {}\n\n// Players get this when they're getting forcibly destealthed\n// Stealth scripts recognize this item and terminate themselves to make way for the destealthing.\nactor DestealthOverride : Inventory {}\n\n// Players get this when they start firing while stealthed. This way\n// the script knows to restealth them afterwards\nactor StealthFire : Inventory {}\n\n// token spawned so that clients know to display ticket hud\nactor TicketToken {}\n\nactor PowerNoHealXP : PowerDamage {\n\tDamageFactor Normal, 1.0\n}\n\nactor NoHealXP : PowerupGiver {\n\t+AUTOACTIVATE\n\t+ALWAYSPICKUP\n\tInventory.MaxAmount 0\n\tPowerup.Duration -2\n\tPowerup.Type \"NoHealXP\"\n}\n\nactor StoredArmorModifier : Inventory {\n\tInventory.MaxAmount 1000\n}\n\nactor StoredArmorGrade : Inventory {\n\tInventory.MaxAmount 1000\n}\n\n// Is the client in the menu?\nactor InMenu : Inventory {\n\tInventory.MaxAmount 10\n}"
},
{
"source": "pk3",
"name": "actors/crucial/obelisk.txt",
"contents": "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n * Obelisk of Light\n *\n * The Obelisk is a tower-like structure that guards the base. It exists at\n * game start and is one of the five structures that must be destroyed to win\n * the game.\n *\n * The Obelisk structure is built of map geometry. The actors defined here are\n * invisible actors that are the functional bit in the obelisk. They're monsters\n * which shoot the plasma blast at enemies they see.\n */\n\nactor RedObeliskThing 21214 {\n\t//$Category Buildings\n\tMONSTER\n\t-ISMONSTER\n\t-SOLID\n\t-FRIENDLY\n\t+FLOORCLIP\n\t+NOBLOOD\n\t+NOICEDEATH\n\t+NOCLIP\n\t+NOTARGET\n\t+LOOKALLAROUND\n\t+NEVERRESPAWN\n\t+NOGRAVITY\n\t+NOINTERACTION\n\tHealth 99999\n\tRadius 16\n\tHeight 64\n\tMass 999999\n\tSpeed 0\n\tPainChance 0\n\tTag \"Red Obelisk Eye\"\n\tObituary \"$OB_OBELISK_RED\"\n\tDesignatedTeam 1\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 215)\n\t\tTNT1 A 0 A_ChangeFlag(\"ISMONSTER\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"IsRed\",1)\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",1)\n\t\tTNT1 A 8 A_Look\n\t\tloop\n\tSee:\n\t\tTNT1 A 0 A_Chase(\"\",\"\",CHF_DONTMOVE)\n\t\tTNT1 A 0 A_GiveInventory(\"IsRed\",1)\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",1)\n\t\tTNT1 A 3 A_FaceTarget\n\t\tTNT1 A 2 A_JumpIfTargetInLOS(\"Missile\")\n\t\tTNT1 A 2 A_ClearTarget\n\t\tgoto Spawn\n\tClear:\n\t\tTNT1 A 2 A_ClearTarget\n\t\tgoto See\n\tMissileCheck:\n\t\tTNT1 A 1 A_JumpIfInTargetInventory (\"IsBlue\", 1, \"MissileGo\")\n\t\tgoto Clear\n\tMissile:\n\t\tTNT1 A 0\n\t\tTNT1 A 1 A_JumpIfInTargetInventory(\"IsRed\",1,\"Clear\")\n\t\tTNT1 A 1 A_JumpIfCloser(30000,\"MissileGo\")\n\t\tTNT1 A 0\n\t\tgoto Clear\n\tMissileGo:\n\t\tTNT1 A 0 A_JumpIfInTargetInventory(\"IsMech\",1,\"MissileGoMech\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"ObeliskCharged\",1,\"MissileCharged\")\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 70 A_PlaySoundEx(\"obelisk/charge\",\"Voice\",0)\n\t\tTNT1 A 0 A_GiveInventory(\"ObeliskCharged\",15)\n\t\tTNT1 A 0 A_MonsterRefire (0, \"See\")\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_SpawnItemEx(\"ObbyFlare\")\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotRedInfantry\",12,0)\n\t\tTNT1 A 80 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileCharged:\n\t\tTNT1 A 15\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotRedInfantry\",12,0)\n\t\tTNT1 A 70 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileGoMech:\n\t\tTNT1 A 0 A_JumpIfInventory(\"ObeliskCharged\",1,\"MissileChargedMech\")\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 80 A_PlaySoundEx(\"obelisk/charge\",\"Voice\",0)\n\t\tTNT1 A 0 A_GiveInventory(\"ObeliskCharged\",15)\n\t\tTNT1 A 0 A_MonsterRefire (0, \"See\")\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_SpawnItemEx(\"ObbyFlare\")\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotRed\",12,0)\n\t\tTNT1 A 70 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileChargedMech:\n\t\tTNT1 A 15\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotRed\",12,0)\n\t\tTNT1 A 80 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tDeath:\n\t\tTNT1 A 5\n\t\tstop\n\t}\n}\n\nactor BlueObeliskThing 21213 {\n\t//$Category Buildings\n\tMONSTER\n\t-ISMONSTER\n\t-SOLID\n\t-FRIENDLY\n\t+FLOORCLIP\n\t+NOBLOOD\n\t+NOICEDEATH\n\t+NOCLIP\n\t+NOTARGET\n\t+LOOKALLAROUND\n\t+NEVERRESPAWN\n\t+NOGRAVITY\n\t+NOINTERACTION\n\tHealth 99999\n\tRadius 16\n\tHeight 64\n\tMass 999999\n\tSpeed 0\n\tPainChance 0\n\tDesignatedTeam 0\n\tTag \"Blue Obelisk Eye\"\n\tObituary \"$OB_OBELISK_BLUE\" // \"%o was vaporized by the \\chBlue Obelisk\\c-.\"\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 115)\n\t\tTNT1 A 0 A_ChangeFlag(\"ISMONSTER\",1)\n\t\tTNT1 A 0 A_GiveInventory(\"IsBlue\",1)\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",1)\n\t\tTNT1 A 8 A_Look\n\t\tloop\n\tSee:\n\t\tTNT1 A 0 A_Chase(\"\",\"\",CHF_DONTMOVE)\n\t\tTNT1 A 0 A_GiveInventory(\"IsBlue\",1)\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",1)\n\t\tTNT1 A 3 A_FaceTarget\n\t\tTNT1 A 2 A_JumpIfTargetInLOS(\"Missile\")\n\t\tTNT1 A 2 A_ClearTarget\n\t\tgoto Spawn\n\tClear:\n\t\tTNT1 A 2 A_ClearTarget\n\t\tgoto See\n\tMissileCheck:\n\t\tTNT1 AA 0 A_JumpIfInTargetInventory(\"IsRed\",1,\"MissileGo\")\n\t\tTNT1 A 0\n\t\tgoto See\n\tMissile:\n\t\tTNT1 A 0\n\t\tTNT1 A 1 A_JumpIfInTargetInventory(\"IsBlue\",1,\"Clear\")\n\t\tTNT1 A 1 A_JumpIfCloser(30000,\"MissileGo\")\n\t\tTNT1 A 0\n\t\tgoto Clear\n\tMissileGo:\n\t\tTNT1 A 0 A_JumpIfInTargetInventory(\"IsMech\",1,\"MissileGoMech\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"ObeliskCharged\",1,\"MissileCharged\")\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 70 A_PlaySoundEx(\"obelisk/charge\",\"Voice\",0)\n\t\tTNT1 A 0 A_GiveInventory(\"ObeliskCharged\",15)\n\t\tTNT1 A 0 A_MonsterRefire (0, \"See\")\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_SpawnItemEx(\"ObbyFlareBlue\")\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotBlueInfantry\",12,0)\n\t\tTNT1 A 80 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileCharged:\n\t\tTNT1 A 15\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotBlueInfantry\",12,0)\n\t\tTNT1 A 80 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileGoMech:\n\t\tTNT1 A 0 A_JumpIfInventory(\"ObeliskCharged\",1,\"MissileChargedMech\")\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 80 A_PlaySoundEx(\"obelisk/charge\",\"Voice\",0)\n\t\tTNT1 A 0 A_GiveInventory(\"ObeliskCharged\",15)\n\t\tTNT1 A 0 A_MonsterRefire (0, \"See\")\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_SpawnItemEx(\"ObbyFlareBlue\")\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotBlue\",12,0)\n\t\tTNT1 A 70 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tMissileChargedMech:\n\t\tTNT1 A 15\n\t\tTNT1 A 0 A_PlaySoundEx(\"obelisk/fire\",\"Weapon\",0)\n\t\tTNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile(\"ObeliskShotBlue\",12,0)\n\t\tTNT1 A 70 A_FaceTarget\n\t\tTNT1 A 0 A_TakeInventory(\"ObeliskCharged\",15)\n\t\tgoto See\n\tDeath:\n\t\tTNT1 A 5\n\t\tstop\n\t}\n}\n\nActor ObbyFlare {\n\tRenderStyle Add\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tScale 2.0\n\tStates {\n\tSpawn:\n\t\tCACH B 8 BRIGHT\n\t\tCACH B 1 BRIGHT A_Fadeout(0.05)\n\t\tWait\n\t}\n}\n\nActor ObbyFlareBlue : ObbyFlare {\n\tStates {\n\tSpawn:\n\t\tPPCX A 8 BRIGHT\n\t\tPPCX A 1 BRIGHT A_Fadeout(0.05)\n\t\tWait\n\t}\n}\n\nactor ObeliskCharged : Inventory {\n\tinventory.maxamount 15\n}\n\nactor ObeliskShotRed : FastProjectile {\n\tPROJECTILE\n\tDONTHURTSHOOTER\n\t-RANDOMIZE\n\t+NOEXTREMEDEATH\n\t+THRUGHOST\n\tRadius 13\n\tHeight 8\n\tSpeed 2000\n\tDamage (250)\n\tDamageType \"Explosion\"\n\tTranslation \"192:207=228:246\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A -1\n\t\tstop\n\tDeath:\n\t\tTNT1 A 0 A_SpawnItemEx (\"PlasmaFlameCluster\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tTNT1 A 3 bright A_Explode (250, 256, 0)\n\t\tstop\n\t}\n}\n\nactor ObeliskShotRedInfantry : ObeliskShotRed {\n\tDamage (40)\n\tDamageType \"Superweapon\"\n\tStates {\n\tSpawn:\n\t\tTNT1 A -1\n\t\tstop\n\tDeath:\n\t\tTNT1 A 0 A_SpawnItemEx (\"PlasmaFlameCluster\", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERTRANSLATION)\n\t\tTNT1 A 3 bright A_Explode (50, 256, 0)\n\t\tstop\n\t}\n}\n\nactor ObeliskShotBlue : ObeliskShotRed {\n\tTranslation \"0:0=0:0\"\n}\n\nactor ObeliskShotBlueInfantry : ObeliskShotRedInfantry {\n\tTranslation \"0:0=0:0\"\n}\n\n// ------------------------\n// Obelisk decorations\nactor ObeliskVoltageDecorSpawner 29010 {\n\t//$Category Effects\n\ttag \"Obelisk voltage spawner (square)\"\n\t+NOINTERACTION\n\t+NOBLOCKMAP\n\t+SHOOTABLE\n\thealth 999999\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 60 A_SpawnItemEx (\"ObeliskVoltageDecor\")\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor ObeliskVoltageDecor {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\treactiontime 35\n\tstates {\n\tSpawn:\n\t\tTNT1 AAAAAA 1 A_SpawnItemEx (\"ObeliskVoltageDecorFX\", random (-96,96), random (-96,96), -224, 0, 0, 25)\n\t\tTNT1 A 0 A_Countdown\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor ObeliskVoltageDecorFX {\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tradius 1\n\theight 1\n\trenderstyle add\n\talpha 1.0\n\tscale 0.75\n\tstates {\n\tSpawn:\n\t\tVOLX ABCDEFEDCB 2 BRIGHT A_FadeOut(0.1)\n\t\tstop\n\t}\n}\n\nactor ObeliskVoltageDecorSpawnerRound 29013 {\n\t//$Category Effects\n\ttag \"Obelisk voltage spawner (round)\"\n\t+NOINTERACTION\n\t+NOBLOCKMAP\n\t+SHOOTABLE\n\thealth 999999\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 60 A_SpawnItemEx (\"ObeliskVoltageDecorRound\")\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nactor ObeliskVoltageDecorRound {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\treactiontime 14\n\tstates {\n\tSpawn:\n\t\tTNT1 AAAAA 1 A_SpawnItemEx (\"ObeliskVoltageDecorFX\", random (0, 160), 0, -224, 0, 0, 25, random (0, 360))\n\t\tTNT1 A 0 A_Countdown\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/crucial/player.txt",
"contents": "// Player Marine\nactor Player : DoomPlayer {\n\t+NOSKIN\n\t-TELESTOMP\n\thealth 100\n\tplayer.colorrange 112, 127\n\tplayer.displayname \"Average Joe\"\n\tplayer.crouchsprite \"PLYC\"\n\tplayer.startitem \"Unarmed\", 1\n\tplayer.forwardmove 0.875\n\tplayer.sidemove 0.875\n\tplayer.maxhealth 100\n\n\tdamagefactor \"Explosion\", 0.3\n\tdamagefactor \"Mine\", 0.3\n\tdamagefactor \"Chemical\", 2.0\n\tdamagefactor \"AntiArmor\", 0.1\n\tdamagefactor \"Disarm\", 0.0\n\tdamagefactor \"Deconstruction\", 0.0\n\tdamagefactor \"MassDriver\", 0.3\n\tdeathsound \"generic/death\"\n\tStates {\n\tSpawn:\n\t\tPLAY A -1\n\t\tLoop\n\tSee:\n\t\tPLAY A 5\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, 2)\n\t\tTNT1 A 0 A_CheckFloor(1)\n\t\tgoto Float\n\t\tPLAY B 5\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, 2)\n\t\tTNT1 A 0 A_CheckFloor(1)\n\t\tgoto Float\n\t\tPLAY C 0 A_SpawnItemEx (\"MarineStomp\", 0, 0, 0, 0, 0, -20)\n\t\tPLAY C 5\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, 2)\n\t\tTNT1 A 0 A_CheckFloor(1)\n\t\tgoto Float\n\t\tPLAY D 5\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, 2)\n\t\tTNT1 A 0 A_CheckFloor(1)\n\t\tgoto Float\n\t\tPLAY A 0 A_SpawnItemEx (\"MarineStomp\", 0, 0, 0, 0, 0, -20)\n\t\tgoto Spawn\n\tFloat:\n\t\tPLAY A 3 A_JumpIf(momz == 0, \"See\")\n\t\tgoto See\n\tMissile:\n\t\tPLAY E 0 A_TakeInventory (\"PowerSpawnInvulnerability\", 1)\n\t\tPLAY E 14\n\t\tGoto Spawn\n\tMelee:\n\t\tPLAY F 6 BRIGHT\n\t\tGoto Missile\n\tMeleeSniper:\n\t\tPLAY F 6 BRIGHT\n\t\tGoto Missile\n\tPain:\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.Monster:\n\t\tPLAY G 0 A_GiveInventory (\"NoHealXP\", 1)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.Explosion:\n\t\tPLAY G 0 ACS_ExecuteAlways(320, 0)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.Laser:\n\t\tPLAY G 0 ACS_ExecuteAlways(320, 0, 4)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\t\tPLAY G 0 ACS_ExecuteAlways(320, 0, 4)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.FireSpecial:\n\t\tPLAY G 0 A_GiveInventory (\"NoHealXP\", 1)\n\tPain.Fire:\n\t\tPLAY G 0 ACS_ExecuteAlways (320, 0, 1)\n\t\tPLAY G 0 ACS_ExecuteAlways (SC_DAMAGEOVERTIME, 0, OVERTIME_FIRE)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.Chemical:\n\t\tPLAY G 0 ACS_ExecuteAlways(320, 0, 2)\n\t\tPLAY G 0 ACS_ExecuteAlways (SC_DAMAGEOVERTIME, 0, OVERTIME_CHEM)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tPain.ChemicalSpecial:\n\t\tPLAY G 0 A_GiveInventory (\"NoHealXP\", 1)\n\t\tPLAY G 0 ACS_ExecuteAlways(320, 0, 2)\n\t\tPLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)\n\t\tPLAY G 4 A_Pain\n\t\tgoto Spawn\n\tDeath:\n\t\tPLAY H 0\n\t\tPLAY H 0 A_JumpIfInventory (\"IsKamikaze\",1,\"Death.IonExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsTerrorist\",1,\"Death.KamikazeExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsBombCrate\",1,\"Death.BombExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"TimeGun\", 1, \"Death.Time\")\n\t\tPLAY H 0 A_JumpIfInTargetInventory (\"PowerBerserk\", 1, \"XDeath\")\n\t\tPLAY H 0 A_JumpIfInTargetInventory (\"IsSawing\", 1, \"XDeath\")\n\tDeathGo:\n\t\tPLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY H 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY H 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY H 0 A_StopSound (5)\n\t\tPLAY H 0 A_StopSound (6)\n\t\tPLAY H 1 A_Scream\n\t\tPLAY I 6 Thing_ChangeTID(0,9999)\n\t\tPLAY JJJ 0 A_SpawnItemEx(\"Credits1\",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,128)\n\t\tPLAY J 0 A_SpawnItemEx(\"PowerupCrate\",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)\n\t\tPLAY J 6 A_NoBlocking\n\t\tPLAY K 6\n\t\tPLAY L 6 A_PlaySound(\"misc/thud\")\n\t\tPLAY M 6\n\t\tPLAY N -1\n\t\tstop\n\tDeath.MechStomp:\n\t\tPLAY O 0 ACS_ExecuteAlways (923, 0)\n\tDeath.Falling:\n\tDeath.Suicide:\n\tXDeath:\n\t\tPLAY G 0\n\t\tPLAY G 0 A_JumpIfInventory (\"BloodRevolverFail\", 1, \"GenericFreezeDeath\") // G frame here!\n\t\tPLAY O 0 A_JumpIfInventory (\"IsKamikaze\", 1, \"Death.IonExplosion\")\n\t\tPLAY O 0 A_JumpIfInventory (\"IsTerrorist\", 1, \"Death.KamikazeExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsBombCrate\",1,\"Death.BombExplosion\")\n\t\tPLAY O 0 A_JumpIfInventory (\"TimeGun\", 1, \"Death.Time\")\n\tXDeathGo:\n\t\tPLAY O 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY O 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY O 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY O 0 A_StopSound (5)\n\t\tPLAY O 0 A_StopSound (6)\n\t\tPLAY O 4\n\t\tPLAY P 0 A_NoBlocking\n\t\tPLAY PPP 0 A_SpawnItemEx (\"Credits1\",random(-4,4),random(-4,4),random(32,48),random(-4,4),random(-4,4),random(4,8),0,0,128)\n\t\tPLAY P 0 A_SpawnItemEx (\"PowerupCrate\",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)\n\t\tPLAY P 0 A_Scream\n\t\tPLAY P 0 A_PlaySound (\"misc/gib\", 7)\n\t\tPLAY P 0 A_PlaySound (\"misc/gib\", 6)\n\t\tPLAY P 4 A_SpawnItemEx (\"MarineGoreExplosion\")\n\t\tPLAY Q 4 A_SpawnItemEx (\"MarineGoreExplosion2\")\n\t\tPLAY R 4 A_SpawnItemEx (\"MarineGoreExplosion3\")\n\t\tPLAY STUV 4\n\t\tPLAY W -1\n\t\tstop\n\tDeath.MassDriver:\n\tDeath.AntiArmor:\n\tDeath.Explosion:\n\t\tPLAY H 0 ThrustThing(angle*256/360+(random(0,192)), random(20,40), 1, 0)\n\t\tPLAY H 1 ThrustThingZ(0,45,0,0)\n\t\tPLAY H 0 A_Jump(128,\"Death\")\n\t\tgoto XDeath\n\tDeath.Fire:\n\tDeath.FireSpecial:\n\t\tTNT1 A 0 A_JumpIfInventory(\"IsInSpawnRoom\",1,\"FireAlt\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsKamikaze\",1,\"Death.IonExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"TimeGun\", 1, \"Death.Time\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsBombCrate\",1,\"Death.BombExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsFemale\",1,\"DeathF.Fire\")\n\t\tPLAY H 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY H 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY H 0 A_StopSound (5)\n\t\tPLAY H 0 A_StopSound (6)\n\t\tPLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tDISR K 0 A_SpawnItemEx (\"BurningCorpse\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tDISR K 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tstop\n\tFireAlt:\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tTNT1 A 0 A_SpawnItemEx(\"BurningCorpseReduced\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tTNT1 A 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tstop\n\tDeath.ChemicalSpecial:\n\tDeath.Chemical:\n\t\tTNT1 AA 0 A_JumpIfInventory (\"IsInSpawnRoom\", 1, \"ChemFireAlt\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsKamikaze\", 1, \"Death.IonExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"TimeGun\", 1, \"Death.Time\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsBombCrate\", 1, \"Death.BombExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsFemale\", 1, \"DeathF.Chemical\")\n\t\tPLAY H 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY H 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY H 0 A_StopSound (CHAN_VOICE)\n\t\tPLAY H 0 A_StopSound (5)\n\t\tPLAY H 0 A_StopSound (6)\n\t\tPLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tDISR K 0 A_SpawnItemEx (\"ChemicalCorpse\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tDISR K 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tstop\n\tChemFireAlt:\n\t\tPLAY H 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY H 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY H 0 A_StopSound (CHAN_VOICE)\n\t\tPLAY H 0 A_StopSound (5)\n\t\tPLAY H 0 A_StopSound (6)\n\t\tPLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tTNT1 A 0 A_SpawnItemEx(\"ChemicalCorpseReduced\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tTNT1 A 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tStop\n\tDeathF.Fire:\n\t\tTNT1 AA 0 A_JumpIfInventory(\"IsInSpawnRoom\",1,\"FireAlt\")\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tDISR K 0 A_SpawnItemEx (\"BurningCorpseFemale\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tDISR K 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tstop\n\tDeathF.Chemical:\n\t\tTNT1 AA 0 A_JumpIfInventory(\"IsInSpawnRoom\",1,\"ChemFireAlt\")\n\t\tPLAY H 1 Thing_ChangeTID(0,9999)\n\t\tDISR K 0 A_SpawnItemEx (\"ChemicalCorpseFemale\", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)\n\t\tDISR K 0 A_NoBlocking\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tstop\n\tDeath.IonExplosion:\n\t\tPLAY H 0\n\t\tPLAY H 0 A_JumpIfInventory (\"IsRed\", 1, \"Death.NukeExplosion\")\n\t\tPLAY N 0 A_SpawnItemEx(\"BlueStrikeKamikaze\", 0, 0, 32)\n\t\tgoto XDeathGo\n\tDeath.NukeExplosion:\n\t\tPLAY H 0\n\t\tPLAY N 0 A_SpawnItemEx(\"NukeKamikaze\", 0, 0, 32)\n\t\tgoto XDeathGo\n\tDeath.KamikazeExplosion:\n\t\tPLAY N 0 A_SpawnItemEx(\"KamikazeExplosion\")\n\t\tgoto XDeathGo\n\tDeath.BombExplosion:\n\t\tPLAY H 0\n\t\tPLAY N 0 A_SpawnItemEx(\"BombExplosion\")\n\t\tgoto XDeathGo\n\tDeath.Time:\n\t\tPLAY G 0 A_JumpIfInventory (\"IsKamikaze\", 1, \"Death.IonExplosion\")\n\t\tPLAY H 0 A_JumpIfInventory (\"IsBombCrate\", 1, \"Death.BombExplosion\")\n\t\tPLAY G 0\n\t\tPLAY G 0 A_NoBlocking\n\t\tPLAY G 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY G 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY G 0 A_StopSound (5)\n\t\tPLAY G 0 A_StopSound (6)\n\t\tPLAY G 0 Thing_ChangeTID(0,9999)\n\t\tPLAY G 0 A_Stop\n\t\tPLAY G 0 A_NoGravity\n\t\tPLAY GGG 0 A_SpawnItemEx(\"Credits1\",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,128)\n\t\tPLAY G 0 A_SpawnItemEx(\"PowerupCrate\",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)\n\t\tPLAY G 2 A_PlaySound(\"weapons/timedeath\")\n\t\tPLAY G 2 Bright A_SetTranslucent(1,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.95,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.90,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.85,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.80,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.75,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.70,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.65,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.60,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.45,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.40,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.25,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.20,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.15,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.10,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.05,1)\n\t\tPLAY G 2 Bright A_SetTranslucent(0.00,1)\n\t\tPLAY N -1 A_SetTranslucent(0.0,0)\n\t\tStop\n\tGenericFreezeDeath:\n\t\tPLAY G 0\n\tIce: //Ugly hacks r Us ~ [Bloax]\n\t\tPLAY G 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tPLAY G 0 A_StopSound (CHAN_ITEM)\n\t\tPLAY G 0 A_StopSound (CHAN_WEAPON)\n\t\tPLAY G 0 A_StopSound (5)\n\t\tPLAY G 0 A_StopSound (6)\n\t\tPLAY G 0 A_SpawnItemEx(\"FakeIcePlayer\",0,0,0)\n\t\tPLAY GGGGGGGGGGGG 0 A_SpawnItemEx(\"ChronoBoltSmoke\", 0, 0, 0, random(10, 30)*0.1, 0, random(0, 10)*0.1, random(1,360), SXF_NOCHECKPOSITION)\n\t\tBOI2 GGGGGGGGGGGGGGGG 0 A_SpawnItemEx(\"ChronoBoltSmoke2\", 0, 0, 0, random(10, 30)*0.04, 0, random(0, 10)*0.04, random(1,360), SXF_NOCHECKPOSITION,64)\n\t\tBOI2 GGGG 1 A_SetTranslucent(Alpha-0.2,0)\n\t\tBOI2 G 0 A_PlaySound(\"Weapons/CryoBowFreeze\")\n\t\tBOI2 G -1 A_SetTranslucent(0,0)\n\t\tStop\n\t}\n}\n\nactor FakeIcePlayer {\n\tTranslation \"Ice\"\n\tHealth 1\n\t+SHOOTABLE\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tGoto Ice\n\t/*Ice:\n\t\tPLAY G 0 A_GenericFreezeDeath\n\t\tPLAY G 2 A_FreezeDeathChunks\n\t\tWait*/\n\tDeath:\n\t\tPLAY G 1 A_IceGuyDie\n\t\tStop\n\t}\n}\n\nactor MarineGoreExplosion {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 AAAA 0 A_SpawnItemEx(\"GibExplosion\", 0, 0, 32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet1\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet5\",0,0,random(4,40),random(-2,4),random(-6,6),random(-1,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet2\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet3\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 3\n\t\tstop\n\t}\n}\n\nactor MarineGoreExplosion2 {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 AAAA 0 A_SpawnItemEx (\"GibExplosion\", 0, 0, 32)\n\t\tTNT1 A 0 A_SpawnItemEx (\"Giblet4\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx (\"Giblet5\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx (\"Giblet6\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx (\"AOWBrainStem\", 0, 0, 50, random(-4, 4), random(-4, 4), random(7, 9))\n\t\tTNT1 A 3\n\t\tstop\n\t}\n}\n\nactor MarineGoreExplosion3 {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 AAAA 0 A_SpawnItemEx(\"GibExplosion\", 0, 0, 32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet7\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet8\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 0 A_SpawnItemEx(\"Giblet7\",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))\n\t\tTNT1 A 3\n\t\tstop\n\t}\n}\n\nactor MarineStomp {\n\tPROJECTILE\n\t+NOBLOOD\n\t+CLIENTSIDEONLY\n\tdamage 0\n\tradius 10\n\tSpeed 20\n\tdeathsound \"misc/footstep\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 1\n\t\tstop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIfInTargetInventory (\"StealthMode\", 1, 2)\n\t\tTNT1 A 1 A_SpawnItem(\"PlayerStepSmokePuff\")\n\t\tTNT1 A 1\n\t\tstop\n\t}\n}\n\n// Make this actor invisible since it appears as a player..\nactor NoIceChunkHead : IceChunkHead replaces IceChunkHead {\n\trenderstyle None\n\talpha 0\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_SetTranslucent (0, 0)\n\t\tgoto Super::Spawn\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/crucial/puffs.txt",
"contents": "actor HHBulletPuff : BulletPuff replaces BulletPuff {\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+FORCEXYBILLBOARD\n\t+PUFFGETSOWNER\n\t+PUFFONACTORS\n\t-ALLOWPARTICLES\n\tstates {\n\tSpawn:\n\t\tPUFF A 0 bright\n\t\t//PUFF A 0 A_SpawnItemEx(\"DebrisSpawner\",0,0,0,random(-3,3),random(-3,3),random(2,8),0,128,228)\n\t\tPUFF AAAAA 0 bright A_SpawnItemEx(\"PuffSpark\", 0, 0, 0, random(-14,14)*0.5, random(-14,14)*0.5, random(-80,70)*0.0825, 0, 128, 78)\n\t\tPUFF A 0 A_SpawnItemEx(\"PulseBallSmokePuff\", 0, 0, 0, 0, 0, 1, 0, 128, 220)\n\t\tPUFF A 4 bright A_PlaySound(\"bullet/ricochet\")\n\t\tPUFF B 4\n\tMelee:\n\t\tPUFF CD 4\n\t\tstop\n\t}\n}\n\nactor BulletPuffTrail {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\trenderstyle add\n\talpha 0.5\n\tscale 0.5\n\tstates {\n\tSpawn:\n\t\tPUFF A 1 bright A_FadeOut\n\t\twait\n\t}\n}\n\nactor HHMetalHit : BulletPuff {\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\t+FORCEXYBILLBOARD\n\t+NOGRAVITY\n\t-ALLOWPARTICLES\n\tbloodcolor \"White\"\n\tstates {\n\tSpawn:\n\t\tPUFF A 0\n\t\tPUFF A 0 A_PlaySound(\"bullet/metal\")\n\t\t//PUFF A 0 A_SpawnItemEx(\"DebrisSpawner\",0,0,0,random(-3,3),random(-3,3),random(2,8),0,128,228)\n\t\tPUFF AAAAA 0 bright A_SpawnItemEx(\"PuffSpark\", 0, 0, 0, random(-14,14)*0.5, random(-14,14)*0.5, random(-80,70)*0.0825, 0, 128, 32)\n\t\tPUFF A 4 Bright A_SpawnItemEx(\"PulseBallSmokePuff\", 0, 0, 0, 0, 0, 1, 0, 128, 192)\n\t\tPUFF B 4\n\tMelee:\n\t\tPUFF CD 4\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/crucial/skeletal.txt",
"contents": "// very important stuff\n\n// ============================================================================\n// Base class for weapons\nactor AOWWeapon : Weapon {\n\t//$Category Weapons\n\t+NO_AUTO_SWITCH\n\t+NOAUTOAIM\n\tWeapon.Kickback 50\n\tweapon.selectionorder 9999\n\tstates {\n\tDeselectDie:\n\t\tTNT1 A 0 A_Lower\n\t\tTNT1 A 1 A_Lower\n\t\tloop\n\tFlash:\n\t\tTNT1 A 2 A_Light1\n\t\tTNT1 A 2 A_Light2\n\t\tTNT1 A 0 A_Light0\n\t\tstop\n\tLightDone:\n\t\tTNT1 A 0 A_Light0\n\t\tStop\n\t}\n}\n\n// =============================================================================\n// Base class for morphs\nactor AOWMorph : PowerMorph {\n\tPowerMorph.MorphStyle (MRF_FULLHEALTH|MRF_ADDSTAMINA|MRF_NEWTIDBEHAVIOUR|MRF_WHENINVULNERABLE)\n}\n\n// =============================================================================\n// Base class for powerups\nactor PermanentPowerup : PowerupGiver {\n\t+AUTOACTIVATE\n\tInventory.MaxAmount 0\n\tPowerup.Type \"Null\"\n\tPowerup.Duration 0x7FFFFFFF\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\n// =============================================================================\n// Base class for inventory items, providing a few extra states and +INVBAR\nactor InventoryItem : CustomInventory {\n\t+INVBAR\n\tInventory.MaxAmount 1\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tstop\n\tUse.Mech:\n\t\tTNT1 A 0 ACS_ExecuteAlways (697, 0)\n\t\tfail\n\tFailure:\n\t\tTNT1 A 0\n\t\tfail\n\tDestealth:\n\t\tTNT1 A 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)\n\t\tfail\n\t}\n}\n\n// ============================================================================\nactor Cooldown : PowerProtection {\n\tPowerup.Duration 1\n\tDamageFactor \"normal\", 1\n}"
},
{
"source": "pk3",
"name": "actors/crucial/terminals.txt",
"contents": "// TERMINALS\nactor BaseTerminal {\n\t+FULLVOLACTIVE\n\t-SOLID\n\t+SHOOTABLE\n\t+NOBLOOD\n\t+DONTGIB\n\t+NOICEDEATH\n\t+QUICKTORETALIATE\n\t+NEVERRESPAWN\n\t+GHOST\n\t//$Category Buildings\n\tRadius 16\n\tHeight 120\n\tMass 0x7FFFFFFF\n\tSpeed 100 // [Dusk] used for base hud health percentages! DON'T TOUCH IT\n\tDamagetype \"Explosion\"\n\tObituary \"%o was killed with a building.\"\n\tDeathSound \"grenade/explode\"\n\tDesignatedTeam 1\n\tPainChance 255\n\tDamageFactor \"Fist\", 0.3\n\tDamageFactor \"Bullet\", 0.8\n\tDamageFactor \"Rifle\", 0.8\n\tDamageFactor \"Explosion\", 0.75\n\tDamageFactor \"Fire\", 0.6\n\tDamageFactor \"Fist\", 0.25 //Berserk kind of goes SMACKITY and it goes down in seconds.\n\tDamageFactor \"FireSpecial\", 0.0\n\tDamageFactor \"Chemical\", 0.75\n\tDamageFactor \"ChemicalSpecial\", 0.0\n\tDamageFactor \"Energy\", 1.0\n\tDamageFactor \"AntiArmor\", 0.25\n\tDamageFactor \"Time\", 1.0\n\tDamageFactor \"Disarm\", 0.0\n\tDamageFactor \"Ice\", 0.0 //Are you going to freeze it?\n\tDamageFactor \"Superweapon\", 10.0\n\tDamageFactor \"MassDriver\", 0.25\n\tDamageFactor \"Mechstomp\", 0.0\n\tDamageFactor \"Monster\", 5.0\n\tDamageFactor \"Mine\", 0.0 //Fuck this shit\n\tDamageFactor \"Deconstruction\", 0.0\n\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_GiveInventory (\"IsMCT\", 1)\n\t\tTNT1 A -1\n\t\tloop\n\tIdle:\n\t\tTNT1 A -1\n\t\tstop\n\tSpawnDone:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_ChangeFlag (\"ISMONSTER\",1)\n\t\tTNT1 A 0 A_ClearTarget\n\t\tTNT1 A -1 A_Stop\n\t\tstop\n\tPain:\n\t\tgoto Spawn\n\tPain.Chemical:\n\tPain.Fire:\n\t\tgoto Pain+1\n\tDeath:\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 0 bright A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx (\"TerminalExplosion\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionMainLarge\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 0 bright A_Scream\n\t\tTNT1 A 0 A_SpawnItemEx (\"TerminalExplosion\")\n\t\tTNT1 A 0 bright A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx (\"TerminalExplosion\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionMainLarge\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 0 bright A_PlayWeaponSound(\"weapons/rocklx\")\n\t\tTNT1 A 0 A_SpawnItemEx (\"TerminalExplosion\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"ExplosionMainLarge\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 5 A_Scream\n\t\tTNT1 A 0 bright A_Scream\n\t\tTNT1 A 5\n\t\tTNT1 A -1 A_Scream\n\t\tstop\n\t}\n}\n\nactor BaseTerminalBlue : BaseTerminal {\n\tDesignatedTeam 0\n}\n\nactor TerminalExplosion {\n\tPROJECTILE\n\tSpeed 0\n\tDamageType \"Monster\"\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Explode (60, 128)\n\t\tstop\n\t}\n}\n\nactor BarracksTerminalBlue : BaseTerminalBlue 21100 {\n\tTag \"Blue Barracks Terminal\"\n\tHealth 18000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 101)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 101, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_BARRACKS, TEAM_BLUE)\n\t\tTNT1 A 0 ACS_Execute(97,0,1,1)\n\t\tgoto Spawn\n\t}\n}\n\nactor RefineryTerminalBlue : BaseTerminalBlue 21102 {\n\tTag \"Blue Refinery Terminal\"\n\tHealth 27000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 103)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 102, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_REFINERY, TEAM_BLUE)\n\t\tTNT1 A 0 ACS_Execute(97,0,2,1)\n\t\tgoto Idle\n\t}\n}\n\nactor PowerPlantTerminalBlue : BaseTerminalBlue 21103 {\n\tTag \"Blue Research Centre Terminal\"\n\tHealth 18000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 105)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 103, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_RESCENTRE, TEAM_BLUE)\n\t\tTNT1 A 0 ACS_Execute(97,0,3,1)\n\t\tgoto Idle\n\t}\n}\n\nactor WarFactoryTerminalBlue : BaseTerminalBlue 21104 {\n\tTag \"Blue War Factory Terminal\"\n\tHealth 27000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 107)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 104, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_FACTORY, TEAM_BLUE)\n\t\tTNT1 A 0 ACS_Execute(97,0,4,1)\n\t\tgoto Idle\n\t}\n}\n\nactor ObeliskTerminalBlue : BaseTerminalBlue 21111 {\n\tTag \"Blue Obelisk Terminal\"\n\tHealth 13500\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 114)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 114, 0, 0)\n\t\tgoto SpawnDone\n\tPain.Chemical:\n\tPain.Fire:\n\t\tgoto Pain+1\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_OBELISK, TEAM_BLUE)\n\t\tTNT1 A 0 ACS_Execute(97,0,6,1)\n\t\tgoto Idle\n\t}\n}\n\nactor BarracksTerminalRed : BaseTerminal 21105 {\n\tTag \"Red Barracks Terminal\"\n\tHealth 18000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 201)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 201, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_BARRACKS, TEAM_RED)\n\t\tTNT1 A 0 ACS_Execute(97, 0, 1)\n\t\tgoto Idle\n\t}\n}\n\nactor RefineryTerminalRed : BaseTerminal 21106 {\n\tTag \"Red Refinery Terminal\"\n\tHealth 27000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 203)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 202, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_REFINERY, TEAM_RED)\n\t\tTNT1 A 0 ACS_Execute (97, 0, 2)\n\t\tgoto Idle\n\t}\n}\n\nactor PowerPlantTerminalRed : BaseTerminal 21107 {\n\tTag \"Red Research Centre Terminal\"\n\tHealth 18000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 205)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 203, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_RESCENTRE, TEAM_RED)\n\t\tTNT1 A 0 ACS_Execute (97, 0, 3)\n\t\tgoto Idle\n\t}\n}\n\nactor WarFactoryTerminalRed : BaseTerminal 21108 {\n\tTag \"Red War Factory Terminal\"\n\tHealth 27000\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 207)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 204, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_FACTORY, TEAM_RED)\n\t\tTNT1 A 0 ACS_Execute(97, 0, 4)\n\t\tgoto Idle\n\t}\n}\n\nactor ObeliskTerminalRed : BaseTerminal 21112 {\n\tTag \"Red Obelisk Terminal\"\n\tHealth 13500\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 214)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 214, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_OBELISK, TEAM_RED)\n\t\tTNT1 A 0 ACS_Execute(97,0,6,0)\n\t\tgoto Idle\n\t}\n}\n\n// REPAIR TERMINAL\nactor RepairTerminalRed : BaseTerminal 21110 {\n\tTag \"Red Repair Facility\"\n\tRadius 145\n\tHeight 8\n\tDeathSound \"grenade/explode\"\n\tPainChance 255\n\tHealth 13500\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 209)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 205, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_REPAIR, TEAM_RED)\n\t\tTNT1 A 0\n\t\tgoto Idle\n\t}\n}\n\nactor RepairTerminalBlue : BaseTerminalBlue 21109 {\n\tTag \"Blue Repair Facility\"\n\tRadius 145\n\tHeight 8\n\tDeathSound \"grenade/explode\"\n\tPainChance 255\n\tHealth 13500\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 Thing_ChangeTID (0, 109)\n\t\tTNT1 A 0 Thing_SetSpecial (0, 80, 105, 0, 0)\n\t\tgoto SpawnDone\n\tPain:\n\t\tTNT1 A 0 ACS_ExecuteAlways (930, 0, BUILDING_REPAIR, TEAM_BLUE)\n\t\tTNT1 A 0\n\t\tgoto Idle\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/effects/boiling.txt",
"contents": "// The Boiling[color name] actors and the Boiling[Color Name]dropper actors are done by hnsolo77\n// The Spawners are modified from the EmperSpawner made by Tormentor667.\n// The Sprites are actually taken from Super Mario Bros. 3, specifically they were lava tiles and not sprites...\n// yeah that did not stop me from finding parts i liked and modifing them somewhat to 'heavily', in quotes due\n// to the fact that all the sprites are small so the 'heavy' is in fact, rather simplistic. like very.\n// the sounds are from ZPack, AMB04 and 06 respectively since i cant remember who the credit goes too ATM...\n\n// [Dusk] ... My god, this is messy!\n\nactor BoilingOrangeSpawner 10770 // Lava Boiling without the bright sprites, for normal Non GLdefs Glowing flats.\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (orange)\"\n+NoBlockMap +NOBLOCKMAP +NoInteraction +NoClip -Solid +CLIENTSIDEONLY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_LAVA\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingOrangeDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingOrangeDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingOrangeDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingOrangeDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_LAVA\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingOrangeDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingOrangeDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingOrangeDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingOrangeDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingOrangeDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange1\")\nGoto onlikedonkeykong\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange2\")\nGoto onlikedonkeykong\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange3\")\nGoto onlikedonkeykong\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange4\")\nGoto onlikedonkeykong\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange5\")\nGoto onlikedonkeykong\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange6\")\nGoto onlikedonkeykong\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange7\")\nGoto onlikedonkeykong\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange8\")\nGoto onlikedonkeykong\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingOrange9\")\nGoto onlikedonkeykong\nonlikedonkeykong:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingOrange1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOIL A 4\nBOIL B 4\nBOIL C 4\nBOIL D 4\nBOIL E 4\nBOIL F 4\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingOrange2 : BoilingOrange1\n{\nScale 0.9\n}\nactor BoilingOrange3 : BoilingOrange1\n{\nScale 0.8\n}\nactor BoilingOrange4 : BoilingOrange1\n{\nScale 0.7\n}\nactor BoilingOrange5 : BoilingOrange1\n{\nScale 0.6\n}\nactor BoilingOrange6 : BoilingOrange1\n{\nScale 1.1\n}\nactor BoilingOrange7 : BoilingOrange1\n{\nScale 1.2\n}\nactor BoilingOrange8 : BoilingOrange1\n{\nScale 1.3\n}\nactor BoilingOrange9 : BoilingOrange1\n{\nScale 1.4\n}\nactor TransparentBoilingOrangeDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange1\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange2\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange3\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange4\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange5\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange6\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange7\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange8\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingOrange9\")\nGoto FUCKFUCKITYFUCKFUCKFUCK\nFUCKFUCKITYFUCKFUCKFUCK:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingOrange1\n{\nRenderstyle Translucent\nalpha .5\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOIL A 4\nBOIL B 4\nBOIL C 4\nBOIL D 4\nBOIL E 4\nBOIL F 4\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingOrange2 : TransparentBoilingOrange1\n{\nScale 0.9\n}\nactor TransparentBoilingOrange3 : TransparentBoilingOrange1\n{\nScale 0.8\n}\nactor TransparentBoilingOrange4 : TransparentBoilingOrange1\n{\nScale 0.7\n}\nactor TransparentBoilingOrange5 : TransparentBoilingOrange1\n{\nScale 0.6\n}\nactor TransparentBoilingOrange6 : TransparentBoilingOrange1\n{\nScale 1.1\n}\nactor TransparentBoilingOrange7 : TransparentBoilingOrange1\n{\nScale 1.2\n}\nactor TransparentBoilingOrange8 : TransparentBoilingOrange1\n{\nScale 1.3\n}\nactor TransparentBoilingOrange9 : TransparentBoilingOrange1\n{\nScale 1.4\n}\nactor BoilingBlueSpawner 10771\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (blue)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlueDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlueDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlueDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlueDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlueDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlueDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlueDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlueDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingBlueDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue1\")\nGoto SuperNintendo\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue2\")\nGoto SuperNintendo\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue3\")\nGoto SuperNintendo\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue4\")\nGoto SuperNintendo\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue5\")\nGoto SuperNintendo\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue6\")\nGoto SuperNintendo\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue7\")\nGoto SuperNintendo\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue8\")\nGoto SuperNintendo\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlue9\")\nGoto SuperNintendo\nSuperNintendo:\nTNT1 A 1 A_FadeOut(1)\n}\n}\nActor BoilingBlue1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI2 a 2\nBOI2 b 2\nBOI2 c 2\nBOI2 d 2\nBOI2 e 2\nBOI2 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingBlue2 : BoilingBlue1\n{\nScale 0.9\n}\nactor BoilingBlue3 : BoilingBlue1\n{\nScale 0.8\n}\nactor BoilingBlue4 : BoilingBlue1\n{\nScale 0.7\n}\nactor BoilingBlue5 : BoilingBlue1\n{\nScale 0.6\n}\nactor BoilingBlue6 : BoilingBlue1\n{\nScale 1.1\n}\nactor BoilingBlue7 : BoilingBlue1\n{\nScale 1.2\n}\nactor BoilingBlue8 : BoilingBlue1\n{\nScale 1.3\n}\nactor BoilingBlue9 : BoilingBlue1\n{\nScale 1.4\n}\nactor TransparentBoilingBlueDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue1\")\nGoto SegaSucksAss\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue2\")\nGoto SegaSucksAss\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue3\")\nGoto SegaSucksAss\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue4\")\nGoto SegaSucksAss\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue5\")\nGoto SegaSucksAss\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue6\")\nGoto SegaSucksAss\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue7\")\nGoto SegaSucksAss\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue8\")\nGoto SegaSucksAss\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlue9\")\nGoto SegaSucksAss\nSegaSucksAss:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nActor TransparentBoilingBlue1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI2 a 2\nBOI2 b 2\nBOI2 c 2\nBOI2 d 2\nBOI2 e 2\nBOI2 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingBlue2 : TransparentBoilingBlue1\n{\nScale 0.9\n}\nactor TransparentBoilingBlue3 : TransparentBoilingBlue1\n{\nScale 0.8\n}\nactor TransparentBoilingBlue4 : TransparentBoilingBlue1\n{\nScale 0.7\n}\nactor TransparentBoilingBlue5 : TransparentBoilingBlue1\n{\nScale 0.6\n}\nactor TransparentBoilingBlue6 : TransparentBoilingBlue1\n{\nScale 1.1\n}\nactor TransparentBoilingBlue7 : TransparentBoilingBlue1\n{\nScale 1.2\n}\nactor TransparentBoilingBlue8 : TransparentBoilingBlue1\n{\nScale 1.3\n}\nactor TransparentBoilingBlue9 : TransparentBoilingBlue1\n{\nScale 1.4\n}\n\nactor BoilingGreySpawner 10772\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (grey)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreyDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreyDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreyDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreyDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreyDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreyDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreyDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreyDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingGreyDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey1\")\nGoto OMGTheyKilledKennyYouBastards\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey2\")\nGoto OMGTheyKilledKennyYouBastards\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey3\")\nGoto OMGTheyKilledKennyYouBastards\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey4\")\nGoto OMGTheyKilledKennyYouBastards\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey5\")\nGoto OMGTheyKilledKennyYouBastards\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey6\")\nGoto OMGTheyKilledKennyYouBastards\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey7\")\nGoto OMGTheyKilledKennyYouBastards\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey8\")\nGoto OMGTheyKilledKennyYouBastards\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGrey9\")\nGoto OMGTheyKilledKennyYouBastards\nOMGTheyKilledKennyYouBastards:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingGrey1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI3 A 2\nBOI3 B 2\nBOI3 C 2\nBOI3 D 2\nBOI3 E 2\nBOI3 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingGrey2 : BoilingGrey1\n{\nScale 0.9\n}\nactor BoilingGrey3 : BoilingGrey1\n{\nScale 0.8\n}\nactor BoilingGrey4 : BoilingGrey1\n{\nScale 0.7\n}\nactor BoilingGrey5 : BoilingGrey1\n{\nScale 0.6\n}\nactor BoilingGrey6 : BoilingGrey1\n{\nScale 1.1\n}\nactor BoilingGrey7 : BoilingGrey1\n{\nScale 1.2\n}\nactor BoilingGrey8 : BoilingGrey1\n{\nScale 1.3\n}\nactor BoilingGrey9 : BoilingGrey1\n{\nScale 1.4\n}\nactor TransparentBoilingGreyDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey1\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey2\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey3\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey4\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey5\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey6\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey7\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey8\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGrey9\")\nGoto IAMONECANSHORTOFASIXPACKWAHAHAHAHAHA\nIAMONECANSHORTOFASIXPACKWAHAHAHAHAHA:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingGrey1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI3 A 2\nBOI3 B 2\nBOI3 C 2\nBOI3 D 2\nBOI3 E 2\nBOI3 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingGrey2 : TransparentBoilingGrey1\n{\nScale 0.9\n}\nactor TransparentBoilingGrey3 : TransparentBoilingGrey1\n{\nScale 0.8\n}\nactor TransparentBoilingGrey4 : TransparentBoilingGrey1\n{\nScale 0.7\n}\nactor TransparentBoilingGrey5 : TransparentBoilingGrey1\n{\nScale 0.6\n}\nactor TransparentBoilingGrey6 : TransparentBoilingGrey1\n{\nScale 1.1\n}\nactor TransparentBoilingGrey7 : TransparentBoilingGrey1\n{\nScale 1.2\n}\nactor TransparentBoilingGrey8 : TransparentBoilingGrey1\n{\nScale 1.3\n}\nactor TransparentBoilingGrey9 : TransparentBoilingGrey1\n{\nScale 1.4\n}\n\nactor BoilingBrownSpawner 10773\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (brown)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBrownDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBrownDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBrownDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBrownDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBrownDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBrownDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBrownDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBrownDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingBrownDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown1\")\nGoto VanHalenRules\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown2\")\nGoto VanHalenRules\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown3\")\nGoto VanHalenRules\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown4\")\nGoto VanHalenRules\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown5\")\nGoto VanHalenRules\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown6\")\nGoto VanHalenRules\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown7\")\nGoto VanHalenRules\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown8\")\nGoto VanHalenRules\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBrown9\")\nGoto VanHalenRules\nVanHalenRules:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nActor BoilingBrown1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI4 a 2\nBOI4 b 2\nBOI4 c 2\nBOI4 d 2\nBOI4 e 2\nBOI4 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingBrown2 : BoilingBrown1\n{\nScale 0.9\n}\nactor BoilingBrown3 : BoilingBrown1\n{\nScale 0.8\n}\nactor BoilingBrown4 : BoilingBrown1\n{\nScale 0.7\n}\nactor BoilingBrown5 : BoilingBrown1\n{\nScale 0.6\n}\nactor BoilingBrown6 : BoilingBrown1\n{\nScale 1.1\n}\nactor BoilingBrown7 : BoilingBrown1\n{\nScale 1.2\n}\nactor BoilingBrown8 : BoilingBrown1\n{\nScale 1.3\n}\nactor BoilingBrown9 : BoilingBrown1\n{\nScale 1.4\n}\nactor TransparentBoilingBrownDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown1\")\nGoto TheOzzManRules\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown2\")\nGoto TheOzzManRules\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown3\")\nGoto TheOzzManRules\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown4\")\nGoto TheOzzManRules\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown5\")\nGoto TheOzzManRules\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown6\")\nGoto TheOzzManRules\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown7\")\nGoto TheOzzManRules\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown8\")\nGoto TheOzzManRules\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBrown9\")\nGoto TheOzzManRules\nTheOzzManRules:\nTNT1 A 1 A_FadeOut(1)\nStop\n}\n}\nActor TransparentBoilingBrown1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI4 a 2\nBOI4 b 2\nBOI4 c 2\nBOI4 d 2\nBOI4 e 2\nBOI4 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingBrown2 : TransparentBoilingBrown1\n{\nScale 0.9\n}\nactor TransparentBoilingBrown3 : TransparentBoilingBrown1\n{\nScale 0.8\n}\nactor TransparentBoilingBrown4 : TransparentBoilingBrown1\n{\nScale 0.7\n}\nactor TransparentBoilingBrown5 : TransparentBoilingBrown1\n{\nScale 0.6\n}\nactor TransparentBoilingBrown6 : TransparentBoilingBrown1\n{\nScale 1.1\n}\nactor TransparentBoilingBrown7 : TransparentBoilingBrown1\n{\nScale 1.2\n}\nactor TransparentBoilingBrown8 : TransparentBoilingBrown1\n{\nScale 1.3\n}\nactor TransparentBoilingBrown9 : TransparentBoilingBrown1\n{\nScale 1.4\n}\n\nactor BoilingBlackSpawner 10774\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (black)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTMTT A 0 A_Jumpif(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlackDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlackDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlackDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingBlackDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlackDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlackDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlackDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingBlackDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingBlackDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack1\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack2\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack3\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack4\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack5\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack6\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack7\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack8\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingBlack9\")\nGoto SIRBELFINMAKEMEANOMMLETTE\nSIRBELFINMAKEMEANOMMLETTE:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingBlack1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI5 a 2\nBOI5 b 2\nBOI5 C 2\nBOI5 D 2\nBOI5 E 2\nBOI5 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingBlack2 : BoilingBlack1\n{\nScale 0.9\n}\nactor BoilingBlack3 : BoilingBlack1\n{\nScale 0.8\n}\nactor BoilingBlack4 : BoilingBlack1\n{\nScale 0.7\n}\nactor BoilingBlack5 : BoilingBlack1\n{\nScale 0.6\n}\nactor BoilingBlack6 : BoilingBlack1\n{\nScale 1.1\n}\nactor BoilingBlack7 : BoilingBlack1\n{\nScale 1.2\n}\nactor BoilingBlack8 : BoilingBlack1\n{\nScale 1.3\n}\nactor BoilingBlack9 : BoilingBlack1\n{\nScale 1.4\n}\nactor TransparentBoilingBlackDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack1\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack2\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack3\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack4\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack5\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack6\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack7\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack8\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingBlack9\")\nGoto OhNoThereGoesTokyoGoGoGodzilla\nOhNoThereGoesTokyoGoGoGodzilla:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingBlack1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nStates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI5 a 2\nBOI5 b 2\nBOI5 C 2\nBOI5 D 2\nBOI5 E 2\nBOI5 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingBlack2 : TransparentBoilingBlack1\n{\nScale 0.9\n}\nactor TransparentBoilingBlack3 : TransparentBoilingBlack1\n{\nScale 0.8\n}\nactor TransparentBoilingBlack4 : TransparentBoilingBlack1\n{\nScale 0.7\n}\nactor TransparentBoilingBlack5 : TransparentBoilingBlack1\n{\nScale 0.6\n}\nactor TransparentBoilingBlack6 : TransparentBoilingBlack1\n{\nScale 1.1\n}\nactor TransparentBoilingBlack7 : TransparentBoilingBlack1\n{\nScale 1.2\n}\nactor TransparentBoilingBlack8 : TransparentBoilingBlack1\n{\nScale 1.3\n}\nactor TransparentBoilingBlack9 : TransparentBoilingBlack1\n{\nScale 1.4\n}\n\nactor BoilingRedSpawner 10775\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (red)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_JUMPIF(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingRedDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingRedDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingRedDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingRedDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingRedDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingRedDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingRedDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingRedDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingRedDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed1\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed2\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed3\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed4\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed5\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed6\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed7\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed8\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingRed9\")\nGoto ouerthvgjhquhcghurehqiucvvbiuevbojhboia\nouerthvgjhquhcghurehqiucvvbiuevbojhboia:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nActor BoilingRed1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI6 a 2\nBOI6 b 2\nBOI6 c 2\nBOI6 d 2\nBOI6 e 2\nBOI6 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingRed2 : BoilingRed1\n{\nScale 0.9\n}\nactor BoilingRed3 : BoilingRed1\n{\nScale 0.8\n}\nactor BoilingRed4 : BoilingRed1\n{\nScale 0.7\n}\nactor BoilingRed5 : BoilingRed1\n{\nScale 0.6\n}\nactor BoilingRed6 : BoilingRed1\n{\nScale 1.1\n}\nactor BoilingRed7 : BoilingRed1\n{\nScale 1.2\n}\nactor BoilingRed8 : BoilingRed1\n{\nScale 1.3\n}\nactor BoilingRed9 : BoilingRed1\n{\nScale 1.4\n}\nactor TransparentBoilingRedDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed1\")\nGoto insertwittystatenamehere\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed2\")\nGoto insertwittystatenamehere\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed3\")\nGoto insertwittystatenamehere\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed4\")\nGoto insertwittystatenamehere\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed5\")\nGoto insertwittystatenamehere\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed6\")\nGoto insertwittystatenamehere\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed7\")\nGoto insertwittystatenamehere\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed8\")\nGoto insertwittystatenamehere\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingRed9\")\nGoto insertwittystatenamehere\ninsertwittystatenamehere:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nActor TransparentBoilingRed1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI6 a 2\nBOI6 b 2\nBOI6 c 2\nBOI6 d 2\nBOI6 e 2\nBOI6 f 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingRed2 : TransparentBoilingRed1\n{\nScale 0.9\n}\nactor TransparentBoilingRed3 : TransparentBoilingRed1\n{\nScale 0.8\n}\nactor TransparentBoilingRed4 : TransparentBoilingRed1\n{\nScale 0.7\n}\nactor TransparentBoilingRed5 : TransparentBoilingRed1\n{\nScale 0.6\n}\nactor TransparentBoilingRed6 : TransparentBoilingRed1\n{\nScale 1.1\n}\nactor TransparentBoilingRed7 : TransparentBoilingRed1\n{\nScale 1.2\n}\nactor TransparentBoilingRed8 : TransparentBoilingRed1\n{\nScale 1.3\n}\nactor TransparentBoilingRed9 : TransparentBoilingRed1\n{\nScale 1.4\n}\n\nactor BoilingGreenSpawner 10776\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (green)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[4], \"NonTransparent\")\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreenDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreenDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreenDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"TransparentBoilingGreenDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparent:\nTNT1 A 0\nTNT1 A 0 A_Jumpif(args[3], \"NonTransparentNoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_BOIL\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreenDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreenDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNonTransparentNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NonTransparentNoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreenDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNonTransparentNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingGreenDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingGreenDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen1\")\nGoto andyetanotherpointlessstatename\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen2\")\nGoto andyetanotherpointlessstatename\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen3\")\nGoto andyetanotherpointlessstatename\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen4\")\nGoto andyetanotherpointlessstatename\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen5\")\nGoto andyetanotherpointlessstatename\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen6\")\nGoto andyetanotherpointlessstatename\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen7\")\nGoto andyetanotherpointlessstatename\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen8\")\nGoto andyetanotherpointlessstatename\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingGreen9\")\nGoto andyetanotherpointlessstatename\nandyetanotherpointlessstatename:\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingGreen1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI7 A 2\nBOI7 B 2\nBOI7 C 2\nBOI7 D 2\nBOI7 E 2\nBOI7 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingGreen2 : BoilingGreen1\n{\nScale 0.9\n}\nactor BoilingGreen3 : BoilingGreen1\n{\nScale 0.8\n}\nactor BoilingGreen4 : BoilingGreen1\n{\nScale 0.7\n}\nactor BoilingGreen5 : BoilingGreen1\n{\nScale 0.6\n}\nactor BoilingGreen6 : BoilingGreen1\n{\nScale 1.1\n}\nactor BoilingGreen7 : BoilingGreen1\n{\nScale 1.2\n}\nactor BoilingGreen8 : BoilingGreen1\n{\nScale 1.3\n}\nactor BoilingGreen9 : BoilingGreen1\n{\nScale 1.4\n}\nactor TransparentBoilingGreenDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen1\")\nGoto RelaxitsCranTime\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen2\")\nGoto RelaxitsCranTime\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen3\")\nGoto RelaxitsCranTime\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen4\")\nGoto RelaxitsCranTime\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen5\")\nGoto RelaxitsCranTime\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen6\")\nGoto RelaxitsCranTime\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen7\")\nGoto RelaxitsCranTime\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen8\")\nGoto RelaxitsCranTime\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"TransparentBoilingGreen9\")\nGoto RelaxitsCranTime\nRelaxitsCranTime:\nTNT1 A 1 A_FadeOut(1)\nStop\n}\n}\nactor TransparentBoilingGreen1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nRenderstyle Translucent\nalpha .5\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOI7 A 2\nBOI7 B 2\nBOI7 C 2\nBOI7 D 2\nBOI7 E 2\nBOI7 F 2\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor TransparentBoilingGreen2 : TransparentBoilingGreen1\n{\nScale 0.9\n}\nactor TransparentBoilingGreen3 : TransparentBoilingGreen1\n{\nScale 0.8\n}\nactor TransparentBoilingGreen4 : TransparentBoilingGreen1\n{\nScale 0.7\n}\nactor TransparentBoilingGreen5 : TransparentBoilingGreen1\n{\nScale 0.6\n}\nactor TransparentBoilingGreen6 : TransparentBoilingGreen1\n{\nScale 1.1\n}\nactor TransparentBoilingGreen7 : TransparentBoilingGreen1\n{\nScale 1.2\n}\nactor TransparentBoilingGreen8 : TransparentBoilingGreen1\n{\nScale 1.3\n}\nactor TransparentBoilingGreen9 : TransparentBoilingGreen1\n{\nScale 1.4\n}\n\n// Bonus! Bright Spawner for orange lava! for use with orange lava textures set to Glow with GLDEFS.\nactor BoilingLavaSpawner 10777\n{\n\t//$Category Effects\n\ttag \"Bubble spawner (lava)\"\n+NoBlockMap +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +NOGRAVITY\nstates\n{\nSpawn:\nActive:\nTNT1 A 0 A_Jumpif(args[3], \"NoSound\")\nTNT1 A 0 A_PlaySoundEx(\"SND_LAVA\", \"SoundSlot7\", 1)\nTNT1 A 0 A_JumpIf(Args[1], \"Circle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingLavaDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingLavaDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nNoSound:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(Args[1], \"NoSoundCircle\")\nTNT1 A 2 A_SpawnItemEx (\"BoilingLavaDropper\", random(-Args[0], Args[0]), random(-Args[0], Args[0]), 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), random(0,360), 129, Args[2])\nLoop\nNoSoundCircle:\nTNT1 A 0\nTNT1 A 2 A_SpawnItemEx (\"BoilingLavaDropper\", random(-Args[0], Args[0]), 0, 0, (0.1)*Random(1, 3), 0, (0.1)*Random(1, 10), Random(0, 360), 129, Args[2])\nLoop\nInactive:\nTNT1 A 1\nLoop\n}\n}\nactor BoilingLavaDropper\n{\n+NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NoBlockMap +NOCLIP\nstates\n{\nSpawn:\nTNT1 A 0 A_Jump(256,\"Drop1\", \"Drop2\", \"Drop3\", \"Drop4\", \"Drop5\", \"Drop6\", \"Drop7\", \"Drop8\", \"Drop9\")\nDrop1:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava1\")\nGoto MeGrimlockBadass // if you have no idea who grimlock is, you fail.\nDrop2:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava2\")\nGoto MeGrimlockBadass\nDrop3:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava3\")\nGoto MeGrimlockBadass\nDrop4:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava4\")\nGoto MeGrimlockBadass\nDrop5:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava5\")\nGoto MeGrimlockBadass\nDrop6:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava6\")\nGoto MeGrimlockBadass\nDrop7:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava7\")\nGoto MeGrimlockBadass\nDrop8:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava8\")\nGoto MeGrimlockBadass\nDrop9:\nTNT1 A 0 A_SpawnItemEx(\"BoilingLava9\")\nGoto MeGrimlockBadass\nMeGrimlockBadass:\nTNT1 A 1 A_FadeOut(1)\nStop\n}\n}\nactor BoilingLava1\n{\n+NoBlockmap +NoInteraction -Solid +CLIENTSIDEONLY +NOGRAVITY +NOCLIP\nstates\n{\n Spawn:\n TNT1 A 0\n TNT1 A 0 A_JumpIf(Waterlevel == 0, \"Bubble\")\n TNT1 A 0 A_JumpIf(Waterlevel > 0, \"LiftState\")\n Loop\n LiftState:\n TNT1 A 1 ThrustThingZ(0, 4, 0, 0)\n Goto Spawn\nBubble:\nBOIL A 4 BRIGHT\nBOIL B 4 BRIGHT\nBOIL C 4 BRIGHT\nBOIL D 4 BRIGHT\nBOIL E 4 BRIGHT\nBOIL F 4 BRIGHT\nTNT1 A 1 A_FadeOut(1)\nstop\n}\n}\nactor BoilingLava2 : BoilingLava1\n{\nScale 0.9\n}\nactor BoilingLava3 : BoilingLava1\n{\nScale 0.8\n}\nactor BoilingLava4 : BoilingLava1\n{\nScale 0.7\n}\nactor BoilingLava5 : BoilingLava1\n{\nScale 0.6\n}\nactor BoilingLava6 : BoilingLava1\n{\nScale 1.1\n}\nactor BoilingLava7 : BoilingLava1\n{\nScale 1.2\n}\nactor BoilingLava8 : BoilingLava1\n{\nScale 1.3\n}\nactor BoilingLava9 : BoilingLava1\n{\nScale 1.4\n}"
},
{
"source": "pk3",
"name": "actors/effects/casings.txt",
"contents": "actor ShellCasing {\n\t+DOOMBOUNCE\n\t+MISSILE\n\t+NOBLOCKMAP\n\t+BOUNCEONACTORS\n\t+FLOORCLIP\n\t+CLIENTSIDEONLY\n\tScale 0.15\n\tRadius 4\n\tHeight 4\n\tSpeed 6\n\tbouncefactor 0.5\n\tmass 1000\n\tSeeSound \"weapons/casing\"\n\tStates {\n\tSpawn:\n\t\tCAS1 ABCDEFGH 1\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Death\")\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ThrustThingZ(0,2,1,0)\n\t\tTNT1 A 0 A_Jump (128, \"death1\")\n\t\tTNT1 A 0 A_Jump (128, \"death2\")\n\t\tTNT1 A 0 A_Jump (128, \"death3\")\n\t\tTNT1 A 0 A_Jump (128, \"death4\")\n\t\tTNT1 A 0 A_Jump (128, \"death5\")\n\t\tgoto Death6\n\tDeath1:\n\t\tCAS1 I 512\n\t\tCAS1 I 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath2:\n\t\tCAS1 J 512\n\t\tCAS1 J 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath3:\n\t\tCAS1 K 512\n\t\tCAS1 K 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath4:\n\t\tCAS1 L 512\n\t\tCAS1 L 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath5:\n\t\tCAS1 M 512\n\t\tCAS1 M 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath6:\n\t\tCAS1 N 512\n\t\tCAS1 N 1 A_Fadeout(0.01)\n\t\tWait\n\t}\n}\n\nactor ShotgunShellCasing : ShellCasing {\n\tSeeSound \"weapons/shotgunshells\"\n\tStates {\n\tSpawn:\n\t\tCAS2 ABCDEFGH 1\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Death\")\n\t\tloop\n\tDeath1:\n\t\tCAS2 I 512\n\t\tCAS2 I 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath2:\n\t\tCAS2 J 512\n\t\tCAS2 J 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath3:\n\t\tCAS2 K 512\n\t\tCAS2 K 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath4:\n\t\tCAS2 L 512\n\t\tCAS2 L 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath5:\n\t\tCAS2 M 512\n\t\tCAS2 M 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath6:\n\t\tCAS2 N 512\n\t\tCAS2 N 1 A_Fadeout(0.01)\n\t\tWait\n\t}\n}\n\nactor RifleShellCasing : ShellCasing {\n\tSeeSound \"weapons/ChainCasing\"\n\tstates {\n\tSpawn:\n\t\tCAS3 ABCDEFGH 1\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Death\")\n\t\tloop\n\tDeath1:\n\t\tCAS3 I 512\n\t\tCAS3 I 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath2:\n\t\tCAS3 J 512\n\t\tCAS3 J 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath3:\n\t\tCAS3 K 512\n\t\tCAS3 K 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath4:\n\t\tCAS3 L 512\n\t\tCAS3 L 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath5:\n\t\tCAS3 M 512\n\t\tCAS3 M 1 A_Fadeout(0.01)\n\t\tWait\n\tDeath6:\n\t\tCAS3 N 512\n\t\tCAS3 N 1 A_Fadeout(0.01)\n\t\tWait\n\t}\n}\n\nactor ArtilleryCasing : ShellCasing {\n\tSeeSound \"weapons/ChainCasing\"\n\tScale 0.50\n}\n\nactor ArtilleryCasing80mm : ShellCasing {\n\tSeeSound \"weapons/ChainCasing\"\n\tScale 0.66\n}\n\nactor CellCasing : ShellCasing {\n\tseesound \"weapons/shotgunshells\"\n\tscale 0.4\n\tstates {\n\tSpawn:\n\t\tCELL A 3 A_JumpIf(waterlevel > 1, \"Death\")\n\t\twait\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ThrustThingZ (0, 2, 1, 0)\n\t\tCELL A 512\n\t\tCELL A 1 A_FadeOut (0.01)\n\t\twait\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/effects/debris.txt",
"contents": "Actor DebrisBase {\n Radius 5\n Height 5\n +NOBLOCKMAP\n +CLIENTSIDEONLY\n +FORCEXYBILLBOARD\n +DOOMBOUNCE //Bouncing doesn't work. o_O\n +BOUNCEONACTORS\n Renderstyle Normal\n Alpha 1\n Gravity 0.55\n Scale 0.5\n BounceFactor 0.75\n States {\n\tSpawn:\n\tDEBR A 0\n\tDEBR A 0 A_Jump(256,\"Fast\",\"Slow\",\"Faster\",\"Slower\",\"Normal\")\n\tNormal:\n\tDEBR A 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR A 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR A 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR A 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR A 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR A 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor DebrisBase2 : DebrisBase { Scale 0.666 BounceFactor 0.666 }\nActor DebrisBase3 : DebrisBase { Scale 1 BounceFactor 0.4 }\n\n//Copypasta zone\n\nActor Debris2 : DebrisBase {\n States {\n\tNormal:\n\tDEBR B 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR B 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR B 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR B 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR B 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR B 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris2b : Debris2 { Scale 0.666 BounceFactor 0.666 }\nActor Debris2c : Debris2 { Scale 1 BounceFactor 0.4 }\n\nActor Debris3 : DebrisBase {\n States {\n\tNormal:\n\tDEBR C 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR C 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR C 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR C 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR C 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR C 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris3b : Debris3 { Scale 0.666 BounceFactor 0.666 }\nActor Debris3c : Debris3 { Scale 1 BounceFactor 0.4 }\n\nActor Debris4 : DebrisBase {\n States {\n\tNormal:\n\tDEBR D 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR D 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR D 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR D 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR D 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR D 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris4b : Debris4 { Scale 0.666 BounceFactor 0.666 }\nActor Debris4c : Debris4 { Scale 1 BounceFactor 0.4 }\n\nActor Debris5 : DebrisBase {\n States {\n\tNormal:\n\tDEBR E 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR E 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR E 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR E 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR E 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR E 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris5b : Debris5 { Scale 0.666 BounceFactor 0.666 }\nActor Debris5c : Debris5 { Scale 1 BounceFactor 0.4 }\n\nActor Debris6 : DebrisBase {\n States {\n\tNormal:\n\tDEBR F 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR F 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR F 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR F 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR F 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR F 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris6b : Debris6 { Scale 0.666 BounceFactor 0.666 }\nActor Debris6c : Debris6 { Scale 1 BounceFactor 0.4 }\n\nActor Debris7 : DebrisBase {\n States {\n\tNormal:\n\tDEBR G 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR G 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR G 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR G 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR G 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR G 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris7b : Debris7 { Scale 0.666 BounceFactor 0.666 }\nActor Debris7c : Debris7 { Scale 1 BounceFactor 0.4 }\n\nActor Debris8 : DebrisBase {\n States {\n\tNormal:\n\tDEBR H 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR H 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR H 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR H 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR H 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR H 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris8b : Debris8 { Scale 0.666 BounceFactor 0.666 }\nActor Debris8c : Debris8 { Scale 1 BounceFactor 0.4 }\n\nActor Debris9 : DebrisBase {\n States {\n\tNormal:\n\tDEBR I 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR I 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR I 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR I 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR I 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR I 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris9b : Debris9 { Scale 0.666 BounceFactor 0.666 }\nActor Debris9c : Debris9 { Scale 1 BounceFactor 0.4 }\n\nActor Debris10 : DebrisBase {\n States {\n\tNormal:\n\tDEBR J 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR J 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR J 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR J 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR J 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR J 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris10b : Debris10 { Scale 0.666 BounceFactor 0.666 }\nActor Debris10c : Debris10 { Scale 1 BounceFactor 0.4 }\n\nActor Debris11 : DebrisBase {\n States {\n\tNormal:\n\tDEBR K 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR K 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR K 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR K 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR K 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR K 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris11b : Debris11 { Scale 0.666 BounceFactor 0.6 }\nActor Debris11c : Debris11 { Scale 0.8 BounceFactor 0.4 }\n\nActor Debris12 : DebrisBase {\n States {\n\tNormal:\n\tDEBR L 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR L 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR L 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR L 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR L 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR L 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris12b : Debris12 { Scale 0.666 BounceFactor 0.6 }\nActor Debris12c : Debris12 { Scale 0.8 BounceFactor 0.4 }\n\nActor Debris13 : DebrisBase {\n States {\n\tNormal:\n\tDEBR M 210\n\tgoto FadeOut\n\tFadeOut:\n\tDEBR M 1 A_FadeOut(0.04)\n\tWait\n\tFast:\n\tDEBR M 210 A_ScaleVelocity(1.18)\n\tgoto FadeOut\n\tFaster:\n\tDEBR M 210 A_ScaleVelocity(1.33)\n\tgoto FadeOut\n\tSlow:\n\tDEBR M 210 A_ScaleVelocity(0.8)\n\tgoto FadeOut\n\tSlower:\n\tDEBR M 210 A_ScaleVelocity(0.666)\n\tgoto FadeOut\n\t}\n}\n\nActor Debris13b : Debris13 { Scale 0.666 BounceFactor 0.6 }\nActor Debris13c : Debris13 { Scale 0.8 BounceFactor 0.4 }\n\n// [Dusk] Cluster actors\nActor DebrisCluster {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckSight (\"Clear\")\n\t\tTNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx(\"DebrisSpawner\",random(-8,8),random(-8,8),0,random(-7,7),random(-7,7),random(5,15),random(0,359),32,32)\n\t\tstop\n\tClear:\n\t\tTNT1 A 0\n\t\tstop\n\t}\n}\n\nActor DebrisClusterSmall : DebrisCluster {\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckSight (\"Clear\")\n\t\tTNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"DebrisSpawner\",random(-8,8),random(-8,8),0,random(-7,7),random(-7,7),random(5,15),random(0,359),32,40)\n\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/effects/explosiondebris.txt",
"contents": "Actor DebrisSpawner : RandomSpawner {\n DropItem \"DebrisBaseSpawn\" 255 7\n DropItem \"Debris2Spawn\" 255 4\n DropItem \"Debris3Spawn\" 255 4\n DropItem \"Debris4Spawn\" 255 7\n DropItem \"Debris5Spawn\" 255 5\n DropItem \"Debris6Spawn\" 255 5\n DropItem \"Debris7Spawn\" 255 1\n DropItem \"Debris8Spawn\" 255 1\n DropItem \"Debris9Spawn\" 255 1\n DropItem \"Debris10Spawn\" 255 1\n DropItem \"Debris11Spawn\" 255 5\n DropItem \"Debris12Spawn\" 255 4\n DropItem \"Debris13Spawn\" 255 5\n}\n\nActor DebrisBaseSpawn : RandomSpawner {\n DropItem \"DebrisBase\" 255 8\n DropItem \"DebrisBase2\" 255 2\n DropItem \"DebrisBase3\" 255 1\n}\n\nActor Debris2Spawn : RandomSpawner {\n DropItem \"Debris2\" 255 8\n DropItem \"Debris2b\" 255 2\n DropItem \"Debris2c\" 255 1\n}\n\nActor Debris3Spawn : RandomSpawner {\n DropItem \"Debris3\" 255 8\n DropItem \"Debris3b\" 255 2\n DropItem \"Debris3c\" 255 1\n}\n\nActor Debris4Spawn : RandomSpawner {\n DropItem \"Debris4\" 255 8\n DropItem \"Debris4b\" 255 2\n DropItem \"Debris4c\" 255 1\n}\n\nActor Debris5Spawn : RandomSpawner {\n DropItem \"Debris5\" 255 8\n DropItem \"Debris5b\" 255 2\n DropItem \"Debris5c\" 255 1\n}\n\nActor Debris6Spawn : RandomSpawner {\n DropItem \"Debris6\" 255 8\n DropItem \"Debris6b\" 255 2\n DropItem \"Debris6c\" 255 1\n}\n\nActor Debris7Spawn : RandomSpawner {\n DropItem \"Debris7\" 255 8\n DropItem \"Debris7b\" 255 2\n DropItem \"Debris7c\" 255 1\n}\n\nActor Debris8Spawn : RandomSpawner {\n DropItem \"Debris8\" 255 8\n DropItem \"Debris8b\" 255 2\n DropItem \"Debris8c\" 255 1\n}\n\nActor Debris9Spawn : RandomSpawner {\n DropItem \"Debris9\" 255 8\n DropItem \"Debris9b\" 255 2\n DropItem \"Debris9c\" 255 1\n}\n\nActor Debris10Spawn : RandomSpawner {\n DropItem \"Debris10\" 255 8\n DropItem \"Debris10b\" 255 2\n DropItem \"Debris10c\" 255 1\n}\n\nActor Debris11Spawn : RandomSpawner {\n DropItem \"Debris11\" 255 8\n DropItem \"Debris11b\" 255 2\n DropItem \"Debris11c\" 255 1\n}\n\nActor Debris12Spawn : RandomSpawner {\n DropItem \"Debris12\" 255 8\n DropItem \"Debris12b\" 255 2\n DropItem \"Debris12c\" 255 1\n}\n\nActor Debris13Spawn : RandomSpawner {\n DropItem \"Debris13\" 255 8\n DropItem \"Debris13b\" 255 2\n DropItem \"Debris13c\" 255 1\n}"
},
{
"source": "pk3",
"name": "actors/effects/explosions.txt",
"contents": "// Explosion actors\nactor ChemicalExplosion {\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-6, 6), random (-6, 6), random (-6, 6))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-6, 6), random (-6, 6), random (-6, 6))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-6, 6), random (-6, 6), random (-6, 6))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-6, 6), random (-6, 6), random (-6, 6))\n\t\tstop\n\t}\n}\n\nactor ChemicalExplosionSmall {\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 AAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-3, 3), random (-3, 3), random (-3, 3))\n\t\tstop\n\t}\n}\n\nactor ChemicalExplosionLarge {\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tTNT1 AAAAAAAAAAA 0 A_SpawnItemEx (\"ChemicalFlameExplosion\", 0,0,0, random (-16, 16), random (-16, 16), random (-16, 16))\n\t\tstop\n\t}\n}\n\nactor ChemicalFlameExplosion {\n\t+CLIENTSIDEONLY +SOLID\n\t+NOINTERACTION +FORCEXYBILLBOARD\n\tradius 13\n\theight 8\n\trenderstyle Add\n\talpha 0.9\n\tscale 0.6\n\tstates {\n\tSpawn:\n\t\tTIBX ABCDEFGH 1\n\t\tTIBX IJKLMNOPQ 1 A_FadeOut (0.1)\n\t\tstop\n\t}\n}\n\n// new explosion code by dark-slayer\nactor ExplosionSprite\n{\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tRenderstyle Add\n\tAlpha 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (910, 0) == 0, \"Software\")\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (801), \"CloseFilter\")\n\tFilterChecked:\n\t\tTNT1 A 0 A_JumpIf(waterlevel > 1, \"Water\")\n\t\tTNT1 A 0 A_Jump(255,\"Spawn1\",\"Spawn2\",\"Spawn3\",\"Spawn4\",\"Spawn5\")\n\t\tGoto Spawn1\n\tSpawn1:\n\t\tE1_A ABCDEFGH 3 bright\n\t\tstop\n\tSpawn2:\n\t\tE2_A ABCDEFGH 3 bright\n\t\tstop\n\tSpawn3:\n\t\tE3_A ABCDEFGH 3 bright\n\t\tstop\n\tSpawn4:\n\t\tE4_A ABCDEFGH 3 bright\n\t\tstop\n\tSpawn5:\n\t\tE5_A ABCDEFGH 3 bright\n\t\tstop\n\tWater:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 A_Jump(255,\"Water1\",\"Water2\",\"Water3\",\"Water4\",\"Water5\")\n\t\tGoto Water1\n\tWater1:\n\t\tE1_A AAABBBCCCDDDEEEFFFGGGHHH 1 bright A_Fadeout(0.1)\n\t\tstop\n\tWater2:\n\t\tE2_A AAABBBCCCDDDEEEFFFGGGHHH 1 bright A_Fadeout(0.1)\n\t\tstop\n\tWater3:\n\t\tE3_A AAABBBCCCDDDEEEFFFGGGHHH 1 bright A_Fadeout(0.1)\n\t\tstop\n\tWater4:\n\t\tE4_A AAABBBCCCDDDEEEFFFGGGHHH 1 bright A_Fadeout(0.1)\n\t\tstop\n\tWater5:\n\t\tE5_A AAABBBCCCDDDEEEFFFGGGHHH 1 bright A_Fadeout(0.1)\n\t\tstop\n\tSoftware:\n\t\tTNT1 A 0 A_SetTranslucent (0.75, 1)\n\t\tgoto Spawn+2\n\tCloseFilter:\n\t\tTNT1 A 0 A_Jump (80, \"FilterChecked\")\n\t\tstop\n\t}\n}\n\nactor ExplosionMain {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"LowFX\")\n\t\tgoto Normal\n\tNormal:\n\t\tTNT1 A 0 A_SpawnItemEx (\"DebrisCluster\")\n\tDoExplode:\n\t\tTNT1 AA 1 A_SpawnItemEx(\"Explo1\",1.0*0.5*random(-32,32),1.0*0.5*random(-32,32),1.0*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"Explo2\",0,0,0,1.0*0.05*random(-30,30),1.0*0.05*random(-30,30),1.0*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"Explo3\",0,0,0,1.0*0.05*random(-15,15),1.0*0.05*random(-15,15),1.0*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"Explo4\",0,0,0,1.0*0.05*random(-7,7),1.0*0.05*random(-7,7),1.0*0.05*random(-7,7),random(0,359),32)\n\t\tStop\n\tLowFX:\n\t\tTNT1 A 0 A_SpawnItemEx (\"DebrisClusterSmall\")\n\tDoExplodeLowFX:\n\t\tTNT1 A 2 A_SpawnItemEx(\"Explo1\",1.0*0.5*random(-32,32),1.0*0.5*random(-32,32),1.0*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"Explo2\",0,0,0,1.0*0.05*random(-30,30),1.0*0.05*random(-30,30),1.0*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"Explo3\",0,0,0,1.0*0.05*random(-15,15),1.0*0.05*random(-15,15),1.0*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"Explo4\",0,0,0,1.0*0.05*random(-7,7),1.0*0.05*random(-7,7),1.0*0.05*random(-7,7),random(0,359),32)\n\t\tTNT1 A 10\n\t\tStop\n\t}\n}\n\n// [Dusk] Debris-less explosion\nactor ExplosionNoDebris : ExplosionMain {\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"DoExplodeLowFX\")\n\t\tgoto DoExplode\n\t}\n}\n\nActor Explo1 : ExplosionSprite {Scale 4.0}\nActor Explo2 : ExplosionSprite {Scale 3.0}\nActor Explo3 : ExplosionSprite {Scale 2.0}\nActor Explo4 : ExplosionSprite {Scale 1.0}\n\nactor ExplosionMainLarge {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"LowFX\")\n\t\tgoto Normal\n\tNormal:\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx(\"DebrisSpawner\",random(-8,8),random(-8,8),0,random(-10,10),random(-10,10),random(9,22),random(0,359),32,32)\n\tDoExplode:\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploLarge1\",2.0*0.5*random(-32,32),2.0*0.5*random(-32,32),2.0*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploLarge2\",0,0,0,2.0*0.05*random(-30,30),2.0*0.05*random(-30,30),2.0*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploLarge3\",0,0,0,2.0*0.05*random(-15,15),2.0*0.05*random(-15,15),2.0*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploLarge4\",0,0,0,2.0*0.05*random(-7,7),2.0*0.05*random(-7,7),2.0*0.05*random(-7,7),random(0,359),32)\n\t\tStop\n\tLowFX:\n\t\tTNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx(\"DebrisSpawner\",random(-8,8),random(-8,8),0,random(-10,10),random(-10,10),random(9,22),random(0,359),32,32)\n\tDoExplodeLow:\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploLarge1\",2.0*0.5*random(-32,32),2.0*0.5*random(-32,32),2.0*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploLarge2\",0,0,0,2.0*0.05*random(-30,30),2.0*0.05*random(-30,30),2.0*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploLarge3\",0,0,0,2.0*0.05*random(-15,15),2.0*0.05*random(-15,15),2.0*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploLarge4\",0,0,0,2.0*0.05*random(-7,7),2.0*0.05*random(-7,7),2.0*0.05*random(-7,7),random(0,359),32)\n\t\tstop\n\t}\n}\n\nactor ExplosionLargeNoDebris : ExplosionMainLarge {\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"DoExplodeLow\")\n\t\tgoto DoExplode\n\t}\n}\n\nActor ExploLarge1 : ExplosionSprite {Scale 8.0}\nActor ExploLarge2 : ExplosionSprite {Scale 6.0}\nActor ExploLarge3 : ExplosionSprite {Scale 4.0}\nActor ExploLarge4 : ExplosionSprite {Scale 2.0}\n\nactor ExplosionSmall {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"LowFX\")\n\t\tgoto Normal\n\tNormal:\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmall1\",0.5*0.5*random(-32,32),0.5*0.5*random(-32,32),0.5*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmall2\",0,0,0,0.5*0.05*random(-30,30),0.5*0.05*random(-30,30),0.5*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmall3\",0,0,0,0.5*0.05*random(-15,15),0.5*0.05*random(-15,15),0.5*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmall4\",0,0,0,0.5*0.05*random(-7,7),0.5*0.05*random(-7,7),0.5*0.05*random(-7,7),random(0,359),32)\n\t\tStop\n\tLowFX:\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmall1\",0.5*0.5*random(-32,32),0.5*0.5*random(-32,32),0.5*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmall2\",0,0,0,0.5*0.05*random(-30,30),0.5*0.05*random(-30,30),0.5*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmall3\",0,0,0,0.5*0.05*random(-15,15),0.5*0.05*random(-15,15),0.5*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmall4\",0,0,0,0.5*0.05*random(-7,7),0.5*0.05*random(-7,7),0.5*0.05*random(-7,7),random(0,359),32)\n\t\tStop\n\t}\n}\nActor ExploSmall1 : ExplosionSprite {Scale 2.0}\nActor ExploSmall2 : ExplosionSprite {Scale 1.5}\nActor ExploSmall3 : ExplosionSprite {Scale 1.0}\nActor ExploSmall4 : ExplosionSprite {Scale 0.5}\n\nactor ExplosionSmaller {\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf (ACS_ExecuteWithResult (909) < 0, \"LowFX\")\n\t\tgoto Normal\n\tNormal:\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmaller1\",0.25*0.5*random(-32,32),0.25*0.5*random(-32,32),0.25*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmaller2\",0,0,0,0.25*0.05*random(-30,30),0.25*0.05*random(-30,30),0.25*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmaller3\",0,0,0,0.25*0.05*random(-15,15),0.25*0.05*random(-15,15),0.25*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 AA 1 A_SpawnItemEx(\"ExploSmaller4\",0,0,0,0.25*0.05*random(-7,7),0.25*0.05*random(-7,7),0.25*0.05*random(-7,7),random(0,359),32)\n\t\tTNT1 A 10\n\t\tStop\n\tLowFX:\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmaller1\",0.25*0.5*random(-32,32),0.25*0.5*random(-32,32),0.25*0.5*random(-32,32),0,0,0,0,32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmaller2\",0,0,0,0.25*0.05*random(-30,30),0.25*0.05*random(-30,30),0.25*0.05*random(-30,30),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmaller3\",0,0,0,0.25*0.05*random(-15,15),0.25*0.05*random(-15,15),0.25*0.05*random(-15,15),random(0,359),32)\n\t\tTNT1 A 2 A_SpawnItemEx(\"ExploSmaller4\",0,0,0,0.25*0.05*random(-7,7),0.25*0.05*random(-7,7),0.25*0.05*random(-7,7),random(0,359),32)\n\t\tTNT1 A 10\n\t\tstop\n\t}\n}\nActor ExploSmaller1 : ExplosionSprite {Scale 1.0}\nActor ExploSmaller2 : ExplosionSprite {Scale 0.75}\nActor ExploSmaller3 : ExplosionSprite {Scale 0.5}\nActor ExploSmaller4 : ExplosionSprite {Scale 0.25}"
},
{
"source": "pk3",
"name": "actors/effects/gibs.txt",
"contents": "actor Giblet {\n\tradius 2\n\theight 2\n\tspeed 15\n\tdamage 0\n\tPROJECTILE\n\t-NOGRAVITY\n\t+RANDOMIZE\n\t+DOOMBOUNCE\n\t+BOUNCEONACTORS\n\tMass 50\n\tScale 0.7\n\tgravity 0.5\n\tbouncefactor 0.6\n\tbouncecount 6\n\tseesound \"gib/thump\"\n\tstates {\n\tDeath:\n\t\t\"----\" A 700\n\t\t\"----\" A 3 A_FadeOut (0.1)\n\t\twait\n\t}\n}\n\nactor Giblet1 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP1 ABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP1 ABCDEFABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP1 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor Giblet2 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP2 ABCD 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP2 ABCDABCD 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP2 ABCDABCDABCD 4\n\t\tstop\n\t}\n}\n\nactor Giblet3 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP3 AAA 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP3 AAAAAA 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP3 AAAAAAAAA 4\n\t\tstop\n\t}\n}\n\nactor Giblet4 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP4 ABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP4 ABCDEFABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP4 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor SkullGiblet4 : Giblet {\n\t-MISSILE\n\tstates {\n\tSpawn:\n\t\tGIP4 ABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP4 ABCDEFABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP4 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor Giblet5 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP5 ABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP5 ABCDEFABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP5 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor Giblet6 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP6 AABBCCDDEEFF 2 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP6 AABBCCDDEEFF 2\n\t\tGIP6 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor Giblet7 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP7 ABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP7 ABCDEFABCDEF 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP7 ABCDEFABCDEFABCDEF 4\n\t\tstop\n\t}\n}\n\nactor Giblet8 : Giblet {\n\tstates {\n\tSpawn:\n\t\tGIP8 AAAA 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP8 AAAA 3 A_SpawnItemEx(\"HHBlood2\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tGIP8 AAAAAAAAA 4\n\t\tstop\n\t}\n}\n\nactor GibExplosion {\n\t+CLIENTSIDEONLY\n\tstates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 AAAAAAAA 0 A_CustomMissile(\"GibExplosionBlood\",0,0,random(-180,180),2,random(20,80))\n\t\tTNT1 AAAAAAAA 1 A_SpawnItemEx(\"GibExplosionBlood2\",random(-12,12),random(-12,12),-21,random(-2,2),random(-2,2),random(0,2),0,128,0)\n\t\tstop\n\t}\n}\n\nactor GibExplosionBlood : Blood {\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tmass 5\n\tspeed 9\n\tgravity 0.8\n\tStates {\n\tSpawn:\n\t\tBLUD CCCC 0 A_SpawnItemEx(\"HHBlood3\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1))\n\t\tBLUD C 8\n\t\tBLUD BA 8\n\t\tstop\n\t}\n}\nactor GibExplosionBlood2 : GibExplosionBlood {\n\tspeed 2\n\tscale 1.2\n\tStates {\n\tSpawn:\n\t\tBLUD CCCC 0 A_SpawnItemEx(\"HHBlood3\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1))\n\t\tBLUD C 12\n\t\tBLUD BA 12\n\t\tstop\n\t}\n}\n\nactor AOWBrainStem : BrainStem {\n\t+CLIENTSIDEONLY\n\tstates {\n\tSpawn:\n\t\tBRS1 A 700\n\t\tBRS1 A 3 A_FadeOut (0.1)\n\t\twait\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/effects/gore.txt",
"contents": "// Various gore actors\nactor HHBlood : Blood Replaces Blood {\n\tMass 5\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tStates {\n\tSpawn:\n\t\tBLUD C 0\n\t\tBLUD C 8 A_SpawnItemEx(\"ActorHit\", 0, 0, 0, 0, 0, 0, 0, 128, 0)\n\t\tBLUD BA 8\n\t\tStop\n\tSpray:\n\t\tSPRY ABCDEF 3\n\t\tSPRY G 2\n\t\tStop\n\t}\n}\n\nactor HHBlood2 : Blood {\n\tMass 5\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tStates {\n\tSpawn:\n\t\tBLUD CCCC 0 A_SpawnItemEx(\"HHBlood3\",random(-5,5),random(-5,5),random(-8,8),random(-1,1),random(-1,1),random(-1,1),0,128,50)\n\t\tBLUD C 8\n\t\tBLUD BA 8\n\t\tStop\n\tSpray:\n\t\tSPRY ABCDEF 3\n\t\tSPRY G 2\n\t\tStop\n\t}\n}\n\nactor HHBlood3 : Blood {\n\tMass 5\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\t+FORCEXYBILLBOARD\n\tscale 0.75\n\tStates {\n\tSpawn:\n\t\tBLUD C 8\n\t\tBLUD BA 8\n\t\tStop\n\tSpray:\n\t\tSPRY ABCDEF 3\n\t\tSPRY G 2\n\t\tStop\n\t}\n}\n\nactor ActorHit {\n\tradius 1\n\theight 1\n\t+noclip\n\tStates {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 1 A_PlaySound(\"bullet/flesh\")\n\t\tstop\n\t}\n}"
}
]
},
"maps": []
}