Raw model (for completeness)
{
"meta": {
"id": "01733466-6c83-4a9a-8d1c-e2fa647f139c",
"sha1": "ab966cba764e75371cfcef2fa4a22691683dd140",
"sha256": "3605b0c926e4d06d6f2aaed2f640795662a8589e1fb4108f0bc07132cd03d6f5",
"filenames": [
"ww-cola3.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2018-04-02 17:48:20",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": {
"TITLEMAP": "TITLEMAP.png",
"titlemap": "titlemap.png"
},
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2018-04-02 17:48:20",
"file": {
"type": "PK3",
"size": 6837157,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/ab966cba764e75371cfcef2fa4a22691683dd140/ab966cba764e75371cfcef2fa4a22691683dd140.pk3.gz",
"corrupt": false
},
"content": {
"maps": [
"TITLEMAP"
],
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 984,
"maps": 1,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"analysis": {
"title": "ww-cola3",
"description": "This WAD contains a single map, focusing on a compact experience with custom projectile and visual effects. It features enhanced bullet tracers and smoke puffs, indicating a strong emphasis on detailed combat visuals rather than large-scale map design or monster encounters. The content is designed for ZDoom engine compatibility, leveraging advanced actor scripting and rendering styles. There is no explicit indication of traditional Doom monsters, resource distribution, or thematic textures, suggesting a specialized or experimental mod rather than a full gameplay episode. Progression and map structure details are minimal due to the single map scope.",
"tags": [
"custom_projectiles",
"experimental",
"single_map",
"visual_effects",
"zdoom"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "actors/bulletpuffs.txt",
"contents": "ACTOR NewBulletPuff : BulletPuff replaces BulletPuff\n{\n\t+PUFFONACTORS\n\t+ALWAYSPUFF\n\t+PUFFGETSOWNER\n\t+NOBLOOD\n\t+BLOODLESSIMPACT\n\t-BLOODSPLATTER\n\tVSpeed 0\n\tStates\n\t{\n\tSpawn:\n\t\tPUFF A 0 Bright NoDelay A_CustomRailgun(0, 0, none, none, RGF_SILENT|RGF_NOPIERCING|RGF_NORANDOMPUFFZ, 1, 0, \"NewBulletPuffPuff\", 0, 0, 0, 0, 4.0, 0.0, \"RailTracerSmoke\")\n\t\tPUFF A 0 A_SpawnItemEx(\"GunSmoke\")\n\t\tPUFF A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tPUFF B 1 BRIGHT A_SetTranslucent(0.9,0)\n\t\tPUFF B 1 BRIGHT A_PlaySound(\"ricochet\")\n\tMelee:\n\t\tPUFF CD 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR NewBulletPuffPuff // Would you like the puff puff?\n{\n\t+NOBLOOD\n\t+BLOODLESSIMPACT\n\t+NOPAIN\n\t+PAINLESS\n\t-BLOODSPLATTER\n\t-FORCEPAIN\n\t-CAUSEPAIN\n}\n\nACTOR RailTracerSmoke : GunSmoke\n{\n\tScale 0.002\n\tStates\n\t{\n\tSpawn:\n\t\tSMOK ABCDEFGHIJKLMNOPQ 1 A_SetScale((scalex + 0.002), (scaley + 0.002))\n\t\tStop\n\t}\n}\n\n// And because bulletpuffs are being replaced, let's make sure revenant tracers aren't fucking broken too\n\nACTOR NewRevTracerSmoke : GunSmoke replaces RevenantTracerSmoke {}"
},
{
"source": "pk3",
"name": "actors/bullets.txt",
"contents": "ACTOR TracerBullet : FastProjectile\n{\n\tAlpha 0.90\n\tRenderStyle Add\n\tRadius 2\n\tHeight 2\n\tSpeed 75\n\tPROJECTILE\n +HITTRACER\n +GETOWNER\n\t+BLOODSPLATTER\n\t+DONTBLAST\n\tScale 0.4\n\tMissileType TracerTrail\n\tMissileHeight 8\n\tDecal BulletChip\n\tDamage (5*random(1,3))\n\tStates\n\t{\n\tSpawn:\n\t\tPUFF A 1 BRIGHT\n\t\tLoop\n\tDeath:\n\tCrash:\n\t\tPUFF A 0 A_SpawnItemEx(\"GunSmoke\")\n\t\tPUFF A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tPUFF B 1 BRIGHT A_SetTranslucent(0.9,0)\n\t\tPUFF B 1 BRIGHT A_PlaySound(\"ricochet\")\n\t\tPUFF CD 2 BRIGHT\n\t\tStop\n\tXDeath:\n\t\tTNT1 A 3 {\n\t\t\t\t//Console.printf(\"%s\",\"Spark checking parent\");\n\t\t\t\tif(tracer != target)\n\t\t\t\t{\n\t\t\t\t\tA_SpawnProjectile(\"blood\",0);\n A_PlaySound(\"hitflesh\");\n\t\t\t\t}\n\t\t\t}\n\t\tStop\n\t}\n}\n\nACTOR TracerTrail\n{\n\tAlpha 0.75\n\tRenderStyle Add\n\tSpeed 0\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+NOTELEPORT\n\t+CANNOTPUSH\n\t+NODAMAGETHRUST\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tPUFF A 1 BRIGHT A_FadeOut(0.3)\n\t\tLoop\n\t}\n}\n\nACTOR TracerSpark\n{\n\tHealth 4\n\tradius 3\n\theight 6\n\tspeed .1\n\tRenderStyle ADD\n\tAlpha\t\t1\n\tScale 0.5\n\tMass\t\t0\n\t+missile\n\t+doombounce\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\tStates\n\t{\n\tSpawn:\n\t\tPUFF A 1 Bright A_FadeOut(0.05)\n\t\tLoop\n\t}\n}\n\nACTOR GunSmoke\n{\n\tRadius 1\n\tHeight 1\n\tRenderStyle Add\n\tScale .025\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+DONTBLAST\n\tStates\n\t{\n\tSpawn:\n\t\tSMOK ABCDEFGHIJKLMNOPQ 1 A_SetScale((scalex + 0.025), (scaley + 0.025))\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/items.txt",
"contents": "ACTOR ColaBubbleTimeout : Inventory\n{\n\tInventory.MaxAmount 15\n}\n\n// Cola bubbles - enemies drop them, all level-up logic is contained within them!\nACTOR ColaBubblePickup : CustomInventory\n{\n\tInventory.PickupMessage \"\"\n\tInventory.PickupSound \"pickups/newburp\"\n\t+Inventory.NoScreenFlash\n\tRenderStyle Translucent\n\t+FLOATBOB\n\tAlpha 0.7\n\tScale 0.6\n\tStates\n\t{\n\tSpawn:\n\t\tCBBL A 0 A_JumpIfInventory(\"ColaBubbleTimeout\", 0, \"Disappearing\")\n\t\tCBBL AAABBBCCCBBB 2 A_SpawnItemEx(\"ColaBubbleParticle\", frandom(3.0,8.0),0,24, 0,0,frandom(0.25,1.0), random(0,359))\n\t\tCBBL A 0 A_GiveInventory(\"ColaBubbleTimeout\", 1)\n\t\tLoop\n\tDisappearing:\n\t\tCBBL FAAFAAFAAFAAFAAFAA 2 Bright\n\t\tStop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"PowerCokeBottleFlash\") // Makes the weapon-level bottle flash.\n\t\tTNT1 A 0 A_JumpIfInventory(\"CardThrowerSelected\", 1, \"GiveCardExp\") // Every different weapon needs its own section\n\t\tTNT1 A 0 A_JumpIfInventory(\"PiledriverSelected\", 1, \"GivePiledriverExp\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunSelected\", 1, \"GiveShotgunExp\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"MissileLauncherSelected\", 1, \"GiveMissileExp\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"ColaHandgunSelected\", 1, \"GiveHandgunExp\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PlasmaAutorifleSelected\", 1, \"GivePlasmaExp\")\n\t\tGoto PickupDone\n\t// Revolver\n\tGiveHandgunExp:\n\t\tTNT1 A 0 A_GiveInventory(\"ColaHandgunExp\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"ColaHandgunExp\", 0, \"UpgradeHandgun\") // If EXP is maxed, let's do the level-up.\n\t\tGoto PickupDone\n\tUpgradeHandgun:\n\t\tTNT1 A 0 A_JumpIfInventory(\"ColaHandgunLevel\", 0, \"PickupDone\") // Unless the level is at max, then don't level-up.\n\t\tTNT1 A 0 A_GiveInventory(\"ColaHandgunLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 1, 0) // Script adjusts the max EXP amount per level.\n\t\tTNT1 A 0 A_TakeInventory(\"ColaHandgunExp\", 999) // It's safe to clear the bar from here.\n\t\tGoto LevelUpFanfare\n\t// Pump Shotgun\n\tGiveShotgunExp:\n\t\tTNT1 A 0 A_GiveInventory(\"PumpShotgunExp\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunExp\", 0, \"UpgradeShotgun\")\n\t\tGoto PickupDone\n\tUpgradeShotgun:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 0, \"PickupDone\")\n\t\tTNT1 A 0 A_GiveInventory(\"PumpShotgunLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 2, 0)\n\t\tTNT1 A 0 A_TakeInventory(\"PumpShotgunExp\", 999)\n\t\tGoto LevelUpFanfare\n\t// Deck of Cards\n\tGiveCardExp:\n\t\tTNT1 A 0 A_GiveInventory(\"CardThrowerExp\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"CardThrowerExp\", 0, \"UpgradeCards\")\n\t\tGoto PickupDone\n\tUpgradeCards:\n\t\tTNT1 A 0 A_JumpIfInventory(\"CardThrowerLevel\", 0, \"PickupDone\")\n\t\tTNT1 A 0 A_GiveInventory(\"CardThrowerLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 3, 0)\n\t\tTNT1 A 0 A_TakeInventory(\"CardThrowerExp\", 999)\n\t\tGoto LevelUpFanfare\n\t// Plasma Autorifle\n\tGivePlasmaExp:\n\t\tPLAY G 0 A_GiveInventory(\"PlasmaAutorifleExp\", 1)\n\t\tPLAY G 0 A_JumpIfInventory(\"PlasmaAutorifleExp\", 0, \"UpgradePlasma\")\n\t\tGoto PickupDone\n\tUpgradePlasma:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PlasmaAutorifleLevel\", 0, \"PickupDone\")\n\t\tPLAY G 0 A_GiveInventory(\"PlasmaAutorifleLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 4, 0)\n\t\tPLAY G 0 A_TakeInventory(\"PlasmaAutorifleExp\", 999)\n\t\tGoto LevelUpFanfare\n\t// Missile Launcher\n\tGiveMissileExp:\n\t\tTNT1 A 0 A_GiveInventory(\"MissileLauncherExp\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"MissileLauncherExp\", 0, \"UpgradeMissile\")\n\t\tGoto PickupDone\n\tUpgradeMissile:\n\t\tTNT1 A 0 A_JumpIfInventory(\"MissileLauncherLevel\", 0, \"PickupDone\")\n\t\tTNT1 A 0 A_GiveInventory(\"MissileLauncherLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 5, 0)\n\t\tTNT1 A 0 A_TakeInventory(\"MissileLauncherExp\", 999)\n\t\tGoto LevelUpFanfare\n\t// Piledriver\n\tGivePiledriverExp:\n\t\tTNT1 A 0 A_GiveInventory(\"PiledriverExp\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"PiledriverExp\", 0, \"UpgradePiledriver\")\n\t\tGoto PickupDone\n\tUpgradePiledriver:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PiledriverLevel\", 0, \"PickupDone\")\n\t\tTNT1 A 0 A_GiveInventory(\"PiledriverLevel\", 1)\n\t\tTNT1 A 0 ACS_NamedExecute(\"ColaLevelUpChecker\", 0, 6, 0)\n\t\tTNT1 A 0 A_TakeInventory(\"PiledriverExp\", 999)\n\t\tGoto LevelUpFanfare\n\t// Generic stuff they all do\n\tLevelUpFanfare:\n\t\tTNT1 A 0 A_Print(\"Weapon Level Up!\")\n\t\tTNT1 A 0 A_PlaySound(\"weapons/levelup\", CHAN_AUTO)\n\tPickupDone:\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nACTOR ColaBubbleParticle\n{\n\tradius 2\n\theight 2\n\tRenderStyle Translucent\n\tAlpha\t\t0.7\n\tScale 0.1\n\tMass\t\t0\n\t+missile\n\t+NOGRAVITY\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\tStates\n\t{\n\tSpawn:\n\t\tCBBL D 1 NoDelay A_SetTics(random(10,25))\n\t\tCBBL EEEEEE 2 A_FadeOut(0.2)\n\t\tStop\n\t}\n}\n\nACTOR CokeCan : Health replaces Stimpack\n{\n\tInventory.Amount 10\n\tInventory.PickupMessage \"HP Cola - \\\"The classic for over a century!\\\"\"\n\tInventory.PickupSound \"pickups/cola\"\n\tScale 0.25\n\tHealth 200\n\tMass 0x7FFFFFFF\n\tPainChance 256\n\tPainSound \"Pickups/ColaHit\"\n\tDeathSound \"Pickups/ColaExplode\"\n\tDamageFactor \"Cola\", 0.0\n\tPainChance \"Cola\", 0\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\t+Shootable\n\t+NotAutoAimed\n\t+NoBlood\n\t+NoKillScripts\n\tStates\n\t{\n\tSpawn:\n\t\tCOLA ABCDEFGH 3\n\t\tLoop\n\tPain:\n\t\t\"####\" \"#\" 1 A_Pain\n\t\tGoto Spawn\n\tDeath:\n\t\tCBBX A 0 A_SetScale(1.0, 1.0)\n\t\tCBBX A 5 A_Scream\n\t\tCBBX B 5 A_Explode(48, 128, 0)\n\t\tCBBX C 5 A_NoBlocking\n\t\tCBBX DEF 5\n\t\tStop\n\t}\n}\n\nACTOR CokeSixPack : Health replaces Medikit\n{\n\tInventory.Amount 25\n\tInventory.PickupMessage \"HP Cola 6-Pack - \\\"Classic, but more of it!\\\"\"\n\tHealth.LowMessage 25, \"HP Cola 6-Pack - \\\"When you need a LOT of refreshment!\\\"\"\n\tInventory.PickupSound \"pickups/cola\"\n\tScale 0.25\n\t+Shootable\n\t+NotAutoAimed\n\t+NoBlood\n\t+NoKillScripts\n\tHealth 300\n\tPainChance 256\n\tDamageFactor \"Cola\", 0.0\n\tPainChance \"Cola\", 0\n\tMass 0x7FFFFFFF\n\tPainSound \"Pickups/ColaHit\"\n\tDeathSound \"Pickups/ColaExplode\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tStates\n\t{\n\tSpawn:\n\t\tSIXP ABCDEFGH 3\n\t\tLoop\n\tPain:\n\t\t\"####\" \"#\" 1 A_Pain\n\t\tGoto Spawn\n\tDeath:\n\t\tCBBX A 0 A_SetScale(1.0, 1.0)\n\t\tCBBX A 5 A_Scream\n\t\tCBBX B 5 A_Explode(128, 128, 0)\n\t\tCBBX C 5 A_NoBlocking\n\t\tCBBX DEF 5\n\t\tStop\n\t}\n}\n\nACTOR PowerCokeBottleFlash : Powerup\n{\n\tPowerup.Duration 15\n}\n\nACTOR PowerCokeBottleFlashDown : Powerup\n{\n\tPowerup.Duration -1\n}\n\nACTOR CokeBottleLevelDown : PowerupGiver\n{\n\tPowerup.Type \"PowerCokeBottleFlashDown\"\n}\n\n/*\nACTOR ZeroCafDamage : PowerupGiver\n{\n\tPowerup.Type \"Damage\"\n\tPowerup.Duration -30\n\tDamageFactor \"normal\", 2\n\tInventory.MaxAmount 0\n\t+INVENTORY.AUTOACTIVATE\n}\t*/\n\nACTOR ZeroCafDamage : PowerupGiver\n{\n\tPowerup.Type \"WeaponLevel2\"\n\tPowerup.Duration -30\n\tInventory.MaxAmount 0\n\t+INVENTORY.AUTOACTIVATE\n}\n\nACTOR ZeroCafCola : CustomInventory replaces Berserk\n{\n\tInventory.PickupMessage \"Zero-Calorie Cola - \\\"Great Damage, Less Filling!\\\"\"\n\tInventory.PickupSound \"pickups/colapowerup\"\n\tScale 0.25\n\tHealth 300\n\tMass 0x7FFFFFFF\n\tPainChance 256\n\tDamageFactor \"Cola\", 0.0\n\tPainChance \"Cola\", 0\n\tPainSound \"Pickups/ColaHit\"\n\tDeathSound \"Pickups/ColaExplode\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\t+INVENTORY.AlwaysPickup\n\t+INVENTORY.AUTOACTIVATE\n\t+Shootable\n\t+NotAutoAimed\n\t+NoBlood\n\t+NoKillScripts\n\tStates\n\t{\n\tSpawn:\n\t\tZCAF ABCDEFGH 3\n\t\tLoop\n\tPain:\n\t\t\"####\" \"#\" 1 A_Pain\n\t\tGoto Spawn\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"ZeroCafDamage\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"CokeSixPack\", 2)\n\t\tStop\n\tDeath:\n\t\tCBBX A 0 A_SetScale(1.0, 1.0)\n\t\tCBBX A 5 A_Scream\n\t\tCBBX B 5 A_Explode(128, 128, 0)\n\t\tCBBX C 5 A_NoBlocking\n\t\tCBBX DEF 5\n\t\tStop\n\t}\n}\n\nACTOR ReGenColaRegenPower : PowerupGiver\n{\n\tPowerup.Duration -60\n\tPowerup.Strength 5\n\tPowerup.Type \"Regeneration\"\n\tInventory.MaxAmount 0\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ADDITIVETIME\n}\n\nACTOR ReGenCola : CustomInventory replaces Soulsphere\n{\n\tInventory.PickupMessage \"ReGen Cola - \\\"The taste that keeps you coming back!\\\"\"\n\tInventory.PickupSound \"pickups/colapowerup\"\n\tScale 0.25\n\tHealth 300\n\tMass 0x7FFFFFFF\n\tPainChance 256\n\tDamageFactor \"Cola\", 0.0\n\tPainChance \"Cola\", 0\n\tPainSound \"Pickups/ColaHit\"\n\tDeathSound \"Pickups/ColaExplode\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\tDropItem \"ColaBubblePickup\", 128\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+AUTOACTIVATE\n\t+INVENTORY.AlwaysPickup\n\t+Shootable\n\t+NotAutoAimed\n\t+NoBlood\n\t+NoKillScripts\n\tStates\n\t{\n\tSpawn:\n\t\tRGEN ABCDEFGH 3\n\t\tLoop\n\tPain:\n\t\t\"####\" \"#\" 1 A_Pain\n\t\tGoto Spawn\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"ReGenColaRegenPower\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"CokeSixPack\", 2)\n\t\tStop\n\tDeath:\n\t\tCBBX A 0 A_SetScale(1.0, 1.0)\n\t\tCBBX A 5 A_Scream\n\t\tCBBX B 5 A_Explode(128, 128, 0)\n\t\tCBBX C 5 A_NoBlocking\n\t\tCBBX DEF 5\n\t\tStop\n\t}\n}\n\nACTOR IrnBruInvulnv : PowerupGiver replaces InvulnerabilitySphere\n{\n\tPowerup.Type \"Invulnerable\"\n\tPowerup.Color \"Orange\"\n\tInventory.PickupMessage \"IRN-BRU - \\\"Your Bullets Cannot Harm Me!\\\"\"\n\tInventory.PickupSound \"pickups/cola\"\n\tScale 0.15\n\tHealth 300\n\tMass 0x7FFFFFFF\n\tPainChance 256\n\tDamageFactor \"Cola\", 0.0\n\tPainChance \"Cola\", 0\n\tPainSound \"Pickups/ColaHit\"\n\tDeathSound \"Pickups/ColaExplode\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\tDropItem \"ColaBubblePickup\"\n\t+AUTOACTIVATE\n\t+INVENTORY.AlwaysPickup\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+Inventory.BigPowerup\n\t+Shootable\n\t+NotAutoAimed\n\t+NoBlood\n\t+NoKillScripts\n\tStates\n\t{\n\tSpawn:\n\t\tIBRU A 10\n\t\tIBRU A 10 BRIGHT\n\t\tLoop\n\tPain:\n\t\t\"####\" \"#\" 1 A_Pain\n\t\tGoto Spawn\n\tDeath:\n\t\tCBBX A 0 A_SetScale(1.0, 1.0)\n\t\tCBBX A 5 A_Scream\n\t\tCBBX B 5 A_Explode(128, 128, 0)\n\t\tCBBX C 5 A_NoBlocking\n\t\tCBBX DEF 5\n\t\tStop\n\t}\n}\n\nACTOR PowerHalfDamage : PowerProtection\n{\n\tDamageFactor \"Normal\", 0.5\n}\n\nACTOR HalfDamage : PowerupGiver\n{\n\tInventory.PickupMessage \"Half Damage!!\"\n\tInventory.MaxAmount 0\n\tPowerup.Type \"HalfDamage\"\n\tPowerup.Duration -60\n\t+INVENTORY.AUTOACTIVATE\n\t+Inventory.AdditiveTime\n}\n\nACTOR ArmsBarrier : CustomInventory replaces GreenArmor\n{\n\tInventory.PickupMessage \"Arms Barrier - \\\"Keep your guns in top shape!\\\"\"\n\tInventory.PickupSound \"pickups/GetArmsM\"\n\tStates\n\t{\n\tSpawn:\n\t\tBARR B 8\n\t\tBARR B 7 Bright\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"ArmsChunk50\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"HalfDamage\", 1)\n\t\tStop\n\t}\n}\n\nACTOR MaxArmsBarrier : CustomInventory replaces BlueArmor\n{\n\tInventory.PickupMessage \"Max Arms Barrier - \\\"Never level down with a Barrier!\\\"\"\n\tInventory.PickupSound \"pickups/GetArmsL\"\n\tStates\n\t{\n\tSpawn:\n\t\tBARR C 8\n\t\tBARR C 7 Bright\n\t\tloop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"ArmsChunk100\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"HalfDamage\", 1)\n\t\tStop\n\t}\n}\n\nACTOR ArmsChunk : BasicArmorBonus replaces ArmorBonus\n{\n\tRadius 20\n\tHeight 16\n\tInventory.PickupMessage \"Mini Arms Barrier - \\\"Your EXP is safe with us!\\\"\"\n\tInventory.PickupSound \"pickups/GetArmsS\"\n\tArmor.SavePercent 0\n\tArmor.SaveAmount 5\n\tArmor.MaxSaveAmount 100\n\t+COUNTITEM\n\t+INVENTORY.ALWAYSPICKUP\n\tStates\n\t{\n\tSpawn:\n\t\tBARR A 8\n\t\tBARR A 7 Bright\n\t\tLoop\n\t}\n}\nACTOR ArmsChunk50 : ArmsChunk\n{\n\tArmor.SaveAmount 50\n}\nACTOR ArmsChunk100 : ArmsChunk\n{\n\tArmor.SaveAmount 100\n}\n\nACTOR SuperMaxCola : CustomInventory replaces Megasphere\n{\n\tInventory.PickupMessage \"MAX Cola - \\\"Fills you up and keeps you going!\\\"\"\n\tInventory.PickupSound \"pickups/cola2liter\"\n\tScale 0.25\n\t+Inventory.BigPowerup\n\tStates\n\t{\n\tSpawn:\n\t\tPEPS I 8\n\t\tPEPS I 7 Bright\n\t\tLoop\n\tPickup:\n\t\tTNT1 A 0 A_GiveInventory(\"CokeSixPack\", 4)\n\t\tTNT1 A 0 A_GiveInventory(\"ReGenCola\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"MaxArmsBarrier\", 1)\n\t\tStop\n\t}\n}\n\nACTOR WaterFlask : CustomInventory replaces HealthBonus\n{\n\tInventory.Icon \"BON1ICON\"\n\tInventory.InterHubAmount 0x7fffffff\n\tInventory.MaxAmount 100\n\tInventory.Amount 2\n\tInventory.PickupMessage \"PortaCola - \\\"Cola you can take with you!\\\"\"\n\tInventory.PickupSound \"portacola/pickup\"\n\tTag \"PortaCola Flask\"\n\t+INVENTORY.INVBAR\n\t+INVENTORY.UNDROPPABLE\n\t//+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.UNTOSSABLE\n\tStates\n\t{\n\tSpawn:\n\t\tBON1 A -1\n\t\tStop\n\tUse:\n\t\tTNT1 A 0 A_JumpIf(health >= 100, \"DontDrinkNoNoise\")\n\tUseLoop:\n\t\tTNT1 A 0 A_JumpIf(health >= 100, \"DontDrink\")\n\t\tTNT1 A 0 A_TakeInventory(\"WaterFlask\", 1)\n\t\tTNT1 A 0 A_GiveInventory(\"Health\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"WaterFlask\", 1, \"UseLoop\")\n\tFlaskEmpty:\n\t\tTNT1 A 0 A_PlaySound(\"portacola/drink\", CHAN_ITEM)\n\t\tFail\n\tDontDrink:\n\t\tTNT1 A 0 A_PlaySound(\"portacola/drink\", CHAN_ITEM)\n\t\tFail\n\tDontDrinkNoNoise:\n\t\tTNT1 A 0 A_Print(\"Can't drink, health already full!\")\n\t\tFail\n\t}\n}\n\nACTOR ShotgunGiver : CustomInventory replaces Shotgun\n{\n\tInventory.PickupMessage \"\"\n\tInventory.PickupSound \"Pumpshotgun/Forward\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 NoDelay A_CheckFlag(\"TOSSED\", \"DropNothing\")\n\t\tKSSG A -1\n\t\tWait\n\tDropNothing:\n\t\tTNT1 A 0\n\t\tStop\n\tPickup:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgun\", 1, 3)\n\t\tTNT1 A 0 A_GiveInventory(\"PumpShotgun\", 1)\n\t\tTNT1 A 0 A_Log(\"KS-23 Riot Shotgun: \\\"Turns a riot into a laugh riot!\\\" (Slot 2)\")\n\t\tStop\n\t\tTNT1 A 0 A_GiveInventory(\"DualPumpShotgun\", 1)\n\t\tTNT1 A 0 A_Log(\"Dual KS-23 Riot Shotguns: \\\"Now with twice the taste!\\\" (Slot 2)\")\n\t\tStop\n\t}\n}\n\nACTOR ShotgunGiver2 : ShotgunGiver replaces SuperShotgun {}\n\nACTOR XargonCherry : Inventory\n{\n\tInventory.PickupSound \"pickups/GetFruit\"\n\tInventory.PickupMessage \"Chillin' Cherry - \\\"Get 16 for a refreshing regen!\\\"\"\n\tTag \"Cherry - Get 16 for a reward!\"\n\tInventory.Icon \"CHRYA0\"\n\tInventory.MaxAmount 16\n\tInventory.InterHubAmount 16\n\tStates\n\t{\n\tSpawn:\n\t\tCHRY A -1\n\t\tStop\n\t}\n}\n\nACTOR XargonGrape : Inventory\n{\n\tInventory.PickupMessage \"Guarding Grape - \\\"Get 16 for a defensive draught!\\\"\"\n\tInventory.PickupSound \"pickups/GetFruit\"\n\tTag \"Grapes - Get 16 for a reward!\"\n\tInventory.Icon \"GRAPE0\"\n\tInventory.MaxAmount 16\n\tInventory.InterHubAmount 16\n\tStates\n\t{\n\tSpawn:\n\t\tGRAP E -1\n\t\tStop\n\t}\n}\n\nACTOR XargonOrange : Inventory\n{\n\tInventory.PickupMessage \"Orange Onslaught - \\\"Get 16 for a tangerine triumph!\\\"\"\n\tInventory.PickupSound \"pickups/GetFruit\"\n\tTag \"Orange - Get 16 for a reward!\"\n\tInventory.Icon \"ORANA0\"\n\tInventory.MaxAmount 16\n\tInventory.InterHubAmount 16\n\tStates\n\t{\n\tSpawn:\n\t\tORAN A -1\n\t\tStop\n\t}\n}\n\nACTOR XargonStrawberry : Inventory\n{\n\tInventory.PickupMessage \"Surging Strawberry - \\\"Get 16 for a brawny berry boost!\\\"\"\n\tInventory.PickupSound \"pickups/GetFruit\"\n\tTag \"Strawberry - Get 16 for a reward!\"\n\tInventory.Icon \"STRWA0\"\n\tInventory.MaxAmount 16\n\tInventory.InterHubAmount 16\n\tStates\n\t{\n\tSpawn:\n\t\tSTRW A -1\n\t\tStop\n\t}\n}\n\nACTOR XargonFruitSpawnChecker : CustomInventory replaces Clip\n{\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 NoDelay A_CheckFlag(\"TOSSED\", \"DropNothing\")\n\t\tTNT1 A 0 A_SpawnItemEx(\"XargonFruitSpawner\")\n\t\tStop\n\tDropNothing:\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\nACTOR XargonFruitSpawner : RandomSpawner\n{\n\tDropItem \"XargonCherry\"\n\tDropItem \"XargonGrape\"\n\tDropItem \"XargonOrange\"\n\tDropItem \"XargonStrawberry\"\n\tDropItem \"WaterFlask\"\n\tDropItem \"ArmsChunk\"\n}\n\nACTOR XargonFruitSpawnChecker2 : XargonFruitSpawnChecker replaces ClipBox {}\nACTOR XargonFruitSpawnChecker3 : XargonFruitSpawnChecker replaces Shell {}\nACTOR XargonFruitSpawnChecker4 : XargonFruitSpawnChecker replaces ShellBox {}\nACTOR XargonFruitSpawnChecker5 : XargonFruitSpawnChecker replaces Cell {}\nACTOR XargonFruitSpawnChecker6 : XargonFruitSpawnChecker replaces CellPack {}"
},
{
"source": "pk3",
"name": "actors/weapons/base.txt",
"contents": "// The actual weapon base is now in /zscript/ColaWeapon.txt. -ww\n\nACTOR ColaSynthFireLeft : Inventory {}\nACTOR ColaSynthFireRight : Inventory {}\nACTOR ColaSynthFireReload : Inventory {}\n\nACTOR PanSwing : Inventory\n{\n Inventory.MaxAmount 15\n}\n\nACTOR PanHitSomething : Inventory {}\n\nactor ColaWeaponHitPuff\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+PUFFONACTORS\n +PUFFGETSOWNER\n\t+THRUGHOST\n\t+NOEXTREMEDEATH\n\tactivesound \"\"\n\tattacksound \"pan/wall\"\n\tseesound \"pan/hit\"\n Decal \"SledgeDent\"\n\tObituary \"%o was sauteed by %k's frying pan.\"\n\tstates\n\t{\n\tSpawn:\n\tCrash:\n\tMelee:\n\t\tTNT1 AAAAA 0 NoDelay A_SpawnItemEx(\"GunSmoke\", 0,0,0, random(-1,1),random(-1,1),random(-1,1), 0, SXF_NOCHECKPOSITION)\n TNT1 A 0 A_GiveToTarget(\"PanHitSomething\", 1)\n\t\tTNT1 A 5 A_Quake(3,10,0,100,\"\")\n\t\tstop\n\t}\n}\n\nactor ColaWeaponStrongerHitPuff\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+PUFFONACTORS\n +PUFFGETSOWNER\n\t+THRUGHOST\n\t+NOEXTREMEDEATH\n\tactivesound \"\"\n Decal \"SledgeDent\"\n\tObituary \"%o was seared to perfection by %k's super frying pan.\"\n\tstates\n\t{\n\tSpawn:\n\tMelee:\n\t\tTNT1 AA 0 A_PlaySound(\"pan/powerhit\",5)\n\t\tGoto Actualpuff\n\tCrash:\n\t\tTNT1 AA 0 A_PlaySound(\"pan/powerwall\",5)\n\t\tGoto Actualpuff\n\tActualPuff:\n\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"GunSmoke\", 0,0,0, random(-1,1),random(-1,1),random(-1,1), 0, SXF_NOCHECKPOSITION)\n TNT1 A 0 A_GiveToTarget(\"PanHitSomething\", 1)\n\t\tTNT1 A 0 A_SpawnItemEx(\"BlueSparkSpawner\")\n\t\tTNT1 A 10 A_Quake(3,10,0,100,\"\")\n\t\tStop\n\t}\n}\n\n// Solarsnowfall's spark spawner from Realm667 - only used here, I guess\n\nACTOR BlueSparkSpawner\n{\n\tHeight 8\n\tRadius 4\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t+NOCLIP\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 1 NODELAY A_SpawnItemEx(\"SparkFlare_B\")\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B1\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B2\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B3\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B4\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B5\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B6\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B7\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B8\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B9\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B10\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B11\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B12\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B13\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B14\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B15\",0,0,Random(0,360),2,Random(67,113))\n\t\tTNT1 AA 0 A_CustomMissile(\"Spark_B16\",0,0,Random(0,360),2,Random(67,113))\n\t\tStop\n\t}\n}\n\n//Flares\n\nACTOR SparkFlare_B\n{\n\tHeight 0\n\tRadius 0\n\tMass 0\n\t+MISSILE\n\t+NOBLOCKMAP\n\t+NOCLIP\n\t+NOGRAVITY\n\t+NOINTERACTION\n\tRenderStyle Add\n\tScale .25\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 NODELAY A_Jump(256,1,2,3,4,5,6)\n\t\tSPKB ABCDEF 0 A_Jump(256,\"End\")\n\tEnd:\n\t\t\"####\" \"#\" 1 Bright A_FadeOut(0.1)\n\t\tLoop\n\t}\n}\n\n//Sparks\n\nACTOR Spark_B1\n{\n\tHeight 1\n\tRadius 2\n\tMass 0\n\tSpeed .25\n\t+MISSILE\n\t+NOBLOCKMAP\n\tGravity .6\n\tRenderStyle Add\n\tScale .025\n\tStates\n\t{\n\tSpawn:\n\t\tSPKB E -1 Bright\n\t\tLoop\n\tDeath:\n\t\t\"####\" \"#\" 1 BRIGHT A_FadeOut(0.1)\n\t\tLoop\n\t}\n}\n\nACTOR Spark_B2 : Spark_B1{Speed 0.5}\nACTOR Spark_B3 : Spark_B1{Speed 0.75}\nACTOR Spark_B4 : Spark_B1{Speed 1.0}\nACTOR Spark_B5 : Spark_B1{Speed 1.25}\nACTOR Spark_B6 : Spark_B1{Speed 1.5}\nACTOR Spark_B7 : Spark_B1{Speed 1.75}\nACTOR Spark_B8 : Spark_B1{Speed 2.0}\nACTOR Spark_B9 : Spark_B1{Speed 2.25}\nACTOR Spark_B10 : Spark_B1{Speed 2.5}\nACTOR Spark_B11 : Spark_B1{Speed 2.75}\nACTOR Spark_B12 : Spark_B1{Speed 3.0}\nACTOR Spark_B13 : Spark_B1{Speed 3.25}\nACTOR Spark_B14 : Spark_B1{Speed 3.5}\nACTOR Spark_B15 : Spark_B1{Speed 3.75}\nACTOR Spark_B16 : Spark_B1{Speed 4.0}"
},
{
"source": "pk3",
"name": "actors/weapons/cards.txt",
"contents": "ACTOR CardThrowerSelected : Inventory {}\n\nACTOR CardThrowerLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR CardThrowerExp : Ammo\n{\n\tInventory.MaxAmount 15\n\t+IGNORESKILL\n}\n\nACTOR ThrownCard\n{\n\tScale 0.1\n\tRadius 8\n\tHeight 4\n\tSpeed 20\n\tGravity 0.1\n\tDamage (8)\n\tPROJECTILE\n\t-NoGravity\n\t-NoBlockMap\n\tMass 1\n\tDeathSound \"Cards/Hit\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 NoDelay A_Jump(256, \"Beach\", \"Castle\", \"Fan\", \"Fish\", \"Robot\", \"Tornado\")\n\tBeach:\n\t\tTCD1 A 1 A_Jump(256, \"FlyLoop\")\n\tCastle:\n\t\tTCD2 A 1 A_Jump(256, \"FlyLoop\")\n\tFan:\n\t\tTCD3 A 1 A_Jump(256, \"FlyLoop\")\n\tFish:\n\t\tTCD4 A 1 A_Jump(256, \"FlyLoop\")\n\tRobot:\n\t\tTCD5 A 1 A_Jump(256, \"FlyLoop\")\n\tTornado:\n\t\tTCD6 A 1 A_Jump(256, \"FlyLoop\")\n\tFlyLoop:\n\t\t\"####\" BCDEFGHIJKLMNOA 1\n\t\tLoop\n\tDeath:\n\t\t\"####\" \"#\" 0 A_Scream\n\t\t\"####\" \"#\" 0 A_SetGravity(1.0)\n\t\t\"####\" \"#\" 150\n\t\t\"####\" \"#\" 1 A_FadeOut(0.01)\n\t\tWait\n\t}\n}\n\nACTOR ThrownCardTrail\n{\n\tRenderStyle Stencil\n\tStencilColor \"FF 00 FF\"\n\tAlpha 0.9\n\tScale 0.1\n\t+NoGravity\n\tStates\n\t{\n\tSpawn:\n\t\t\"####\" \"#\" 1 NoDelay Bright A_FadeOut(0.1)\n\t\tWait\n\t}\n}\n\nACTOR FastThrownCard : ThrownCard\n{\n\tSpeed 30\n\tDamage (12)\n\tStates\n\t{\n\tFlyLoop:\n\t\t\"####\" BCDEFGHIJKLMNOA 1 A_SpawnItemEx(\"ThrownCardTrail\", 0,0,0,0,0,0,0, SXF_TRANSFERSPRITEFRAME)\n\t\tLoop\n\t}\n}\n\nACTOR SuperFastThrownCard : ThrownCard\n{\n\tSpeed 40\n\tDamage (20)\n\tBounceType Hexen\n\tWallBounceFactor 1.0\n\tBounceFactor 1.0\n\tBounceCount 3\n\tDeathSound \"Cards/SuperHit\"\n\tStates\n\t{\n\tFlyLoop:\n\t\t\"####\" BCDEFGHIJKLMNOA 1 A_SpawnItemEx(\"ThrownCardTrail\", 0,0,0,0,0,0,0, SXF_TRANSFERSPRITEFRAME)\n\t\tLoop\n\tDeath:\n\t\t\"####\" \"#\" 0 A_Scream\n\t\t\"####\" \"#\" 0 A_SetGravity(1.0)\n\t\t\"####\" \"#\" 0 A_SpawnDebris(\"BouncySolitaireCard\")\n\t\t\"####\" \"#\" 150\n\t\t\"####\" \"#\" 1 A_FadeOut(0.01)\n\t\tWait\n\t}\n}\n\nACTOR CardThrower : ColaWeapon replaces Chainsaw\n{\n\tWeapon.SlotNumber 3\n\tWeapon.AmmoType1 \"CardThrowerExp\"\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoUse1 0\n\tWeapon.AmmoType2 \"CardThrowerExp\"\n\tWeapon.AmmoGive2 0\n\tWeapon.AmmoUse2 1\n\tWeapon.SisterWeapon \"CardThrowerSuper\"\n\tInventory.PickupMessage \"Kare Brand Cards - \\\"Give your game an edge!\\\" (Slot 3)\"\n\tInventory.PickupSound \"Cards/Pickup\"\n\tTag \"Kare Brand Cards\"\n\t+Weapon.Alt_Ammo_Optional\n\t+Weapon.NoAutofire\n\tScale 0.6\n\tStates\n\t{\n\tSpawn:\n\t\tWSOL A -1\n\t\tStop\n\tSelect:\n\t\tVDCK A 0 A_GiveInventory(\"CardThrowerSelected\", 1)\n\t\tVDCK A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tLoop\n\tDeselect:\n\t\tVDCK A 0 A_TakeInventory(\"CardThrowerSelected\", 999)\n\t\tVDCK A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tLoop\n\tReady:\n\t\tVDCK A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tLoop\n\tFire:\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 3, \"Fire0\")\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 2, \"Fire1\")\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 1, \"Fire2\")\n\t\tVDCK A 0 A_Jump(256,\"Fire3\")\n\tFire0:\n\t\tVDCK B 1\n\t\tVDCK C 1 A_PlaySound(\"Cards/Throw\")\n\t\tVDCK D 1 A_FireCustomMissile(\"ThrownCard\", frandom(-5.0, 5.0))\n\t\tVDCK E 1\n\t\tGoto BringUp\n\tFire1:\n\t\tVDCK B 1\n\t\tVDCK C 1 A_PlaySound(\"Cards/Throw\")\n\t\tVDCK D 0 A_FireCustomMissile(\"ThrownCard\", frandom(1.0, 5.0))\n\t\tVDCK D 1 A_FireCustomMissile(\"ThrownCard\", frandom(-5.0, -1.0))\n\t\tVDCK E 1\n\t\tGoto BringUp\n\tFire2:\n\t\tVDCK B 1\n\t\tVDCK C 1 A_PlaySound(\"Cards/SuperThrow\")\n\t\tVDCK D 0 A_FireCustomMissile(\"FastThrownCard\", frandom(2.0, 6.0))\n\t\tVDCK D 0 A_FireCustomMissile(\"FastThrownCard\", frandom(-2.0, 2.0))\n\t\tVDCK D 1 A_FireCustomMissile(\"FastThrownCard\", frandom(-6.0, -2.0))\n\t\tVDCK E 1\n\t\tGoto BringUp\n\tFire3:\n\t\tVDCK B 1\n\t\tVDCK C 1 A_PlaySound(\"Cards/SuperThrow\")\n\t\tVDCK D 0 A_FireCustomMissile(\"SuperFastThrownCard\", frandom(2.0, 6.0))\n\t\tVDCK D 0 A_FireCustomMissile(\"SuperFastThrownCard\", frandom(-2.0, 2.0))\n\t\tVDCK D 1 A_FireCustomMissile(\"SuperFastThrownCard\", frandom(-6.0, -2.0))\n\t\tVDCK E 1\n\t\tGoto BringUp\n\tBringUp:\n\t\tTNT1 A 6 A_WeaponOffset(0, 96, WOF_KEEPX)\n\t\tVDCK AAAA 1 A_WeaponOffset(0, -16, WOF_KEEPX|WOF_INTERPOLATE|WOF_ADD)\n\t\tVDCK A 0 A_Refire\n\t\tGoto Ready\n\tAltfire:\n\t\tVDCK A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 3, \"AltFire3\")\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 2, \"AltFire2\")\n\t\tVDCK A 0 A_JumpIfInventory(\"CardThrowerLevel\", 1, \"AltFire1\")\n\t\tVDCK B 1\n\t\tVDCK C 1 {\n\t\t\tA_PlaySound(\"Cards/Throw\");\n\t\t\tA_TakeInventory(\"CardThrowerExp\", 999);\n\t\t\tA_TakeInventory(\"CardThrowerLevel\", 999);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel0\", -12.5, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel0\", -6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel0\", 0, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel0\", 6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel0\", 12.5, 0);\n\t\t}\n\t\tVDCK DE 1\n\t\tGoto BringUp\n\tAltFire1:\n\t\tVDCK B 1\n\t\tVDCK C 1 {\n\t\t\tA_PlaySound(\"Cards/Throw\");\n\t\t\tA_TakeInventory(\"CardThrowerExp\", 999);\n\t\t\tA_TakeInventory(\"CardThrowerLevel\", 999);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel1Card1\", -12.5, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel1Card2\", -6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel1Card3\", 0, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel1Card4\", 6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel1Card5\", 12.5, 0);\n\t\t}\n\t\tVDCK DE 1\n\t\tGoto BringUp\n\tAltFire2:\n\t\tVDCK B 1\n\t\tVDCK C 1 {\n\t\t\tA_PlaySound(\"Cards/SuperThrow\");\n\t\t\tA_TakeInventory(\"CardThrowerExp\", 999);\n\t\t\tA_TakeInventory(\"CardThrowerLevel\", 999);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel2Card1\", -12.5, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel2Card2\", -6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel2Card3\", 0, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel2Card4\", 6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel2Card5\", 12.5, 0);\n\t\t}\n\t\tVDCK DE 1\n\t\tGoto BringUp\n\tAltFire3:\n\t\tVDCK B 1\n\t\tVDCK C 1 {\n\t\t\tA_PlaySound(\"Cards/SuperThrow\");\n\t\t\tA_TakeInventory(\"CardThrowerExp\", 999);\n\t\t\tA_TakeInventory(\"CardThrowerLevel\", 999);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel3Card1\", -12.5, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel3Card2\", -6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel3Card3\", 0, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel3Card4\", 6.25, 0);\n\t\t\tA_FireCustomMissile(\"PokerCardLevel3Card5\", 12.5, 0);\n\t\t}\n\t\tVDCK DE 1\n\t\tGoto BringUp\n\tDryfire:\n\t\tVDCK A 1 A_PlaySound(\"weapons/carddryfire\", CHAN_WEAPON)\n\t\tVDCE ABCCCCCBA 1\n\t\tGoto Ready\n\t}\n}\n\nACTOR CardThrowerSuper : CardThrower\n{\n\tWeapon.SisterWeapon \"CardThrower\"\n\t+POWERED_UP\n\tStates\n\t{\n\tFire:\n\t\tVDCK AAAA 1 A_WeaponOffset(-4, 16, WOF_INTERPOLATE|WOF_ADD)\n\t\tTNT1 A 2\n\t\tVDCX AAAA 1 A_WeaponOffset(4, -16, WOF_KEEPX|WOF_INTERPOLATE|WOF_ADD)\n\tHold:\n\t\tVDCX A 1 A_WeaponOffset(0, 32, WOF_INTERPOLATE)\n\t\tVDCX A 1 {\n\t\t\tA_PlaySound(\"Cards/Streamchord\", CHAN_WEAPON);\n\t\t\tA_WeaponOffset(frandom(4.0, 10.0), frandom(34.0, 44.0), WOF_INTERPOLATE);\n\t\t\tA_FireCustomMissile(\"FastThrownCard\", frandom(-2.0, 2.0), 0, 8, frandom(-2.0, 2.0));\n\t\t}\n\t\tVDCX A 1 A_Refire\n\t\tVDCX AAAA 1 A_WeaponOffset(-4, 16, WOF_INTERPOLATE|WOF_ADD)\n\t\tTNT1 A 2\n\t\tVDCK AAAA 1 A_WeaponOffset(4, -16, WOF_KEEPX|WOF_INTERPOLATE|WOF_ADD)\n\t\tGoto Ready\n\tAltFire:\n\t\tVDCK B 1\n\t\tVDCK C 1 A_PlaySound(\"Cards/SuperThrow\")\n\t\tVDCK D 1 A_FireCustomMissile(\"ThrownRobot\", 0, 1)\n\t\tVDCK E 1\n\t\tGoto BringUp\n\tBringUp:\n\t\tTNT1 A 6 A_WeaponOffset(0, 96, WOF_KEEPX)\n\t\tVDCK AAAA 1 A_WeaponOffset(0, -16, WOF_KEEPX|WOF_INTERPOLATE|WOF_ADD)\n\t\tGoto Ready\n\t}\n}\n\nACTOR BouncySolitaireCard // With apologies to Isle, whose code I didn't borrow, but he already had the cards in sprite form...\n{\n\tHealth 5\n\tScale 0.075\n\tSpeed 4\n\tRadius 1\n\tHeight 1\n\t+NoTeleport\n\t-NoBlockmap\n\t-NoGravity\n\tDeathSound \"Cards/Hit\"\n\tBounceSound \"Cards/Hit\"\n\tMass 1\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 AAAAAA 0 NoDelay A_Jump(256, \"Spades\", \"Hearts\", \"Clubs\", \"Diamonds\")\n\tSpades:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tSPDS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tHearts:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tHRTS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tClubs:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tCLBS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tDiamonds:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tDMNS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tWaitItOut:\n\t\t\"####\" \"#\" 1 A_SpawnItemEx(\"SolitaireCardTrail\", 0,0,0,0,0,0,0, SXF_TRANSFERSPRITEFRAME)\n\t\t\"####\" \"#\" 0 A_Jump(16, \"Death\")\n\t\tLoop\n\tDeath:\n\t\t\"####\" \"#\" 0 A_Scream\n\t\t\"####\" \"#\" 70\n\t\t\"####\" \"#\" 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR SolitaireCardTrail\n{\n\tScale 0.075\n\t+NoGravity\n\tStates\n\t{\n\tSpawn:\n\t\t\"####\" \"#\" 20\n\t\t\"####\" \"#\" 1 A_FadeOut(0.1)\n\t\tWait\n\t}\n}\n\n// Poker cards for altfire\n\nACTOR PokerCardLevel0 : ThrownCard\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tTNT1 A 0 A_SetGravity(0.0)\n\t\tTNT1 A 0 A_Jump(256, \"Spades\", \"Hearts\", \"Clubs\", \"Diamonds\")\n\tSpades:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tSPDS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tHearts:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tHRTS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tClubs:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tCLBS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tDiamonds:\n\t\tTNT1 A 0 A_Jump(256, random(1,13))\n\t\tDMNS ABCDEFGHIJKLM 1 A_Jump(256, \"WaitItOut\")\n\tWaitItOut:\n\t\t\"####\" \"#\" 35\n\t\t\"####\" \"#\" 0 A_SetGravity(1.0)\n\t\t\"####\" \"#\" 70 A_Scream\n\t\t\"####\" \"#\" 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\n// Level 1 effect - card 3 spawns the winning sign\n\nACTOR PokerWinLevel1\n{\n\t+NoGravity\n\t+NoInteraction\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tPKR1 A 1 BRIGHT\n\t\tPKR1 A 1 BRIGHT A_PlaySound(\"Cards/PokerWin1\", CHAN_BODY, 2.0)\n\t\tPKR1 A 35 BRIGHT\n\t\t\"####\" \"#\" 1 BRIGHT A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR PokerCardLevel1Card1 : ThrownCard\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS A 1 BRIGHT\n\t\tGoto PokerFadeOut\n\tPokerFadeOut:\n\t\t\"####\" \"#\" 0 A_SetGravity(0.0)\n\t\t\"####\" \"#\" 50 BRIGHT\n\t\tFRME A 0 A_SetScale(0.5, 0.5)\n\t\tFRME A 2 BRIGHT A_PlaySound(\"Piledriver/Explode\")\n\t\tFRME B 2 BRIGHT A_Explode(32, 128, 0)\n\t\tFRME CDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PokerCardLevel1Card2 : PokerCardLevel1Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tHRTS B 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel1Card3 : PokerCardLevel1Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tCLBS C 1 BRIGHT A_SpawnItemEx(\"PokerWinLevel1\", 0,0,0, 0,0,0.5)\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel1Card4 : PokerCardLevel1Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS D 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel1Card5 : PokerCardLevel1Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tDMNS E 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\n// Level 2 effect - card 3 spawns the winning sign\n\nACTOR PokerWinLevel2\n{\n\t+NoGravity\n\t+NoInteraction\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tPKR2 A 1 BRIGHT\n\t\tPKR2 A 1 BRIGHT A_PlaySound(\"Cards/PokerWin2\", CHAN_BODY, 2.0)\n\t\tPKR2 A 35 BRIGHT\n\t\t\"####\" \"#\" 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR PokerCardLevel2Card1 : ThrownCard\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS A 1 BRIGHT\n\t\tGoto PokerFadeOut\n\tPokerFadeOut:\n\t\t\"####\" \"#\" 0 A_SetGravity(0.0)\n\t\t\"####\" \"#\" 50 BRIGHT\n\t\tFRME A 0 A_SetScale(0.5, 0.5)\n\t\tFRME A 0 A_PlaySound(\"Piledriver/Explode\")\n\t\tFRME BBB 0 A_SpawnItemEx(\"SodaGrenadeThrown\", 0,0,8, 0,0,0, random(0,359))\n\t\tFRME B 2 BRIGHT A_Explode(128, 160, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PokerCardLevel2Card2 : PokerCardLevel2Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tHRTS H 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel2Card3 : PokerCardLevel2Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tCLBS A 1 BRIGHT A_SpawnItemEx(\"PokerWinLevel2\", 0,0,0, 0,0,0.5)\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel2Card4 : PokerCardLevel2Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS H 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel2Card5 : PokerCardLevel2Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tCLBS H 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\n// Level 3 effect - poker chips everywhere!\n\nACTOR HurtyPokerChips\n{\n\tProjectile\n\t-NoGravity\n\t-NoBlockmap\n\t+BounceOnActors\n\t+BounceOnWalls\n\tBounceFactor 0.3\n\tDamageType HurtyPokerChips\n\tBounceSound \"Pokerchips/Hit\"\n\tDeathSound \"Pokerchips/Hit\"\n\tSpeed 30\n\tDamage (15)\n\tStates\n\t{\n\tSpawn:\n\t\tPKRC ABCDEFABCDEFABCDEFABCDEFABCDEF 2\n\t\tPKRC A 2 A_Die\n\t\tLoop\n\tDeath:\n\t\tPKRC G 200 A_Scream\n\t\tPKRC G 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR PokerWinLevel3\n{\n\t+NoGravity\n\t+NoInteraction\n\tScale 0.5\n\tReactionTime 150\n\tvar int user_ThrowCardAngle;\n\tStates\n\t{\n\tSpawn:\n\t\tPKR3 A 1 BRIGHT NoDelay A_SetUserVar(\"user_ThrowCardAngle\",0)\n\t\tPKR3 A 1 BRIGHT A_PlaySound(\"Cards/PokerWin3\", CHAN_BODY, 2.0)\n\tWinLoop:\n\t\tPKR3 A 1 BRIGHT {\n\t\t\tA_Countdown;\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-30.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+45, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-15.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-30.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+135, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-15.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-30.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+225, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-15.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-30.0, 15.0));\n\t\t\tA_SpawnProjectile(\"HurtyPokerChips\", -10, 0, user_ThrowCardAngle+315, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER, frandom(-15.0, 15.0));\n\t\t\tA_SetUserVar(\"user_ThrowCardAngle\",user_ThrowCardAngle+12);\n\t\t}\n\t\tLoop\n\tDeath:\n\t\tPKR3 A 35 BRIGHT\n\t\t\"####\" \"#\" 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR PokerCardLevel3Card1 : ThrownCard\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS J 1 BRIGHT\n\t\tGoto PokerFadeOut\n\tPokerFadeOut:\n\t\t\"####\" \"#\" 0 A_SetGravity(0.0)\n\t\t\"####\" \"#\" 100 BRIGHT\n\t\tFRME A 0 A_SetScale(0.5, 0.5)\n\t\tFRME A 0 A_PlaySound(\"Piledriver/Explode\")\n\t\tFRME BBBBBB 0 A_SpawnProjectile(\"BouncySolitairecard\", 0, 0, frandom(0.0, 359.0), CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE, frandom(0.0, 15.0))\n\t\tFRME BBB 0 A_SpawnItemEx(\"SodaGrenadeThrown\", 0,0,8, 0,0,0, random(0,359))\n\t\tFRME B 2 BRIGHT A_Explode(128, 160, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PokerCardLevel3Card2 : PokerCardLevel3Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS K 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel3Card3 : PokerCardLevel3Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS L 1 BRIGHT A_SpawnItemEx(\"PokerWinLevel3\", 0,0,0, 0,0,0.5)\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel3Card4 : PokerCardLevel3Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS M 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\nACTOR PokerCardLevel3Card5 : PokerCardLevel3Card1\n{\n\tScale 0.25\n\tStates\n\t{\n\tDeath:\n\t\tSPDS A 1 BRIGHT\n\t\tGoto PokerFadeOut\n\t}\n}\n\n// Level X Primary Fire\n\nACTOR ThrownRobot\n{\n\tScale 0.5\n\tRadius 16\n\tHeight 32\n\tSpeed 6\n\tDamage (8)\n\tMass 1\n\tvar int user_ThrowCardAngle;\n\tStencilColor \"FFFFFF\"\n\tmaxStepHeight 24\n\tPROJECTILE\n\t-NoGravity\n\t-NoBlockMap\n\t+MOVEWITHSECTOR\n\t+FLOORHUGGER\n\tStates\n\t{\n\tSpawn:\n\t\tSOLR A 0 NoDelay A_SetUserVar(\"user_ThrowCardAngle\",0)\n\tWalkLoop:\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotStep\", CHAN_BODY)\n\t\tSOLR AA 3 {\n\t\t\tA_PlaySound(\"Cards/Throw\", CHAN_WEAPON);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SetUserVar(\"user_ThrowCardAngle\",user_ThrowCardAngle+12);\n\t\t}\n\t\tSOLR B 0 A_PlaySound(\"Cards/RobotLeg1\", CHAN_BODY, 0.2)\n\t\tSOLR BB 3 {\n\t\t\tA_PlaySound(\"Cards/Throw\", CHAN_WEAPON);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SetUserVar(\"user_ThrowCardAngle\",user_ThrowCardAngle+12);\n\t\t}\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotStep\", CHAN_BODY)\n\t\tSOLR AA 3 {\n\t\t\tA_PlaySound(\"Cards/Throw\", CHAN_WEAPON);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SetUserVar(\"user_ThrowCardAngle\",user_ThrowCardAngle+12);\n\t\t}\n\t\tSOLR C 0 A_PlaySound(\"Cards/RobotLeg2\", CHAN_BODY, 0.2)\n\t\tSOLR CC 3 {\n\t\t\tA_PlaySound(\"Cards/Throw\", CHAN_WEAPON);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SpawnProjectile(\"FastThrownCard\", 30.0, 0, user_ThrowCardAngle+270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE);\n\t\t\tA_SetUserVar(\"user_ThrowCardAngle\",user_ThrowCardAngle+12);\n\t\t}\n\t\tLoop\n\tDeath:\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 10 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 8 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 6 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 4 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Normal)\n\t\tSOLR A 0 A_PlaySound(\"Cards/RobotSpark\", CHAN_BODY)\n\t\tSOLR A 2 A_SetRenderStyle(1.0, STYLE_Stencil)\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotArm\",\t0,0,16, random(1,4), random(2,5), random(4,8), random(0,359))\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotArm\",\t0,0,16, random(1,4), random(2,5), random(4,8), random(0,359))\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotHead\",\t0,0,16, random(1,4), random(2,5), random(4,8), random(0,359))\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotLeg\",\t0,0,16, random(1,4), random(2,5), random(4,8), random(0,359))\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotLeg\",\t0,0,16, random(1,4), random(2,5), random(4,8), random(0,359))\n\t\tSOLR A 0 A_SpawnItemEx(\"ThrownRobotExplosion\")\n\t\tStop\n\t}\n}\n\nACTOR ThrownRobotExplosion\n{\n\t+NoGravity\n\tDeathSound \"Piledriver/explode\"\n\tDamageType Fire\n\tScale 0.75\n\tStates\n\t{\n\tSpawn:\n\t\tFRME A 2 BRIGHT Nodelay A_Scream\n\t\tFRME B 2 BRIGHT A_Explode(128, 128, 0)\n\t\tFRME CDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR ThrownRobotArm\n{\n\tRadius 4\n\tHeight 8\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tSOLR D 105\n\t\tSOLR D 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR ThrownRobotHead\n{\n\tRadius 4\n\tHeight 8\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tSOLR E 105\n\t\tSOLR E 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR ThrownRobotLeg\n{\n\tRadius 4\n\tHeight 8\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tSOLR G 105\n\t\tSOLR G 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/dualks23.txt",
"contents": "ACTOR PumpShotgunClip2 : Ammo\n{\n\tInventory.MaxAmount 4\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR DualPumpShotgun : ColaWeapon\n{\n\tWeapon.AmmoType1 \"PumpShotgunClip\"\n\tWeapon.AmmoUse1 1\n\tWeapon.SlotNumber 2\n\tWeapon.SlotPriority 0\n\tWeapon.AmmoType2 \"PumpShotgunExp\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 0\n\tScale 0.3\n\tWeapon.SisterWeapon \"DualPumpShotgunSuper\"\n\tInventory.PickupMessage \"2nd Shotgun: \\\"Because one buckshot blaster is never enough!\\\" (Slot 2)\"\n\tTag \"KS-23 Riot Shotguns\"\n\t+Weapon.NoAutoFire\n\t+Weapon.Ammo_Optional\n\tStates\n\t{\n\tSpawn:\n\t\tKSSG A -1\n\t\tWait\n\tSelect:\n\t\t2SHT Z 0 A_GiveInventory(\"PumpShotgunSelected\", 1)\n\t\t2SHT Z 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tWait\n\tDeselect:\n\t\t2SHT Z 0 A_TakeInventory(\"PumpShotgunSelected\", 999)\n\t\t2SHT Z 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tWait\n\tReady:\n\t\t2SHT A 0 A_GunFlash(\"OtherGun\", GFF_NOEXTCHANGE)\n\tRealReady:\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireReload\", 1, \"Reload\")\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireRight\", 1, \"FireRightGun\")\n\t\t2SHT A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)\n\t\tLoop\n\tOtherGun:\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireReload\", 1, \"ReloadLeft\")\n\t\t3SHT A 1 A_JumpIfInventory(\"ColaSynthFireLeft\", 1, \"FireLeftGun\")\n\t\tLoop\n\n\t// Ooooh here comes the MESS\n\t// RIGHT GUN SHIT\n\tFireRightGun:\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunClip\",1,1)\n\t\tGoto DryFire\n\t\t2SHT B 0 A_PlaySound(\"Pumpshotgun/Fire\", CHAN_AUTO)\n\t\t2SHT B 0 A_AlertMonsters\n\n\t\t2SHT BBBBBBBBB 0 A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-2.5,2.5), 0, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t2SHT B 0 A_Light2\n\t\t2SHT B 0 A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-1.5,1.5), 1, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n 2SHT B 1 BRIGHT A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\t2SHT B 0 A_Light1\n\t\t2SHT C 1 BRIGHT A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT C 0 A_Light0\n\t\t2SHT D 1 BRIGHT A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT E 1 A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT F 1 A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT G 1 A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT H 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT I 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT J 1 A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT K 1 A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT L 1 A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT M 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT N 1\n\t\t2SHT A 5\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 3, \"NoPump\")\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 2, \"PumpLevel2\")\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"PumpLevel1\")\n\t\tGoto PumpLevel0\n\tPumpLevel2:\n\t\t2SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t2SHR G 1\n\t\tTNT1 A 6 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t2SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR CA 1 A_JumpIfInventory(\"ColaSynthFireRight\",1,\"FireRightGun\")\n\t\t2SHT A 0 A_CheckReload\n\t\tGoto RealReady\n\tPumpLevel1:\n\t\t2SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t2SHR F 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR G 1\n\t\tTNT1 A 9 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t2SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t2SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 6\n\t\t2SHT A 0 A_CheckReload\n\t\tGoto RealReady\n\tPumpLevel0:\n\t\t2SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR B 1 A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR D 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t2SHR F 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR G 1\n\t\tTNT1 A 12 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t2SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t2SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR D 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR B 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 6\n\tNoPump:\n\t\t2SHT A 0 A_CheckReload\n\t\tGoto RealReady\n\tDryfire:\n\t\t2SHT A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"Reload\")\n\t\t2SHT A 3 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tGoto RealReady\n\tReload:\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunClip\", 0, 1)\n\t\tGoto ReloadStart\n\t\t2SHT A 1\n\t\tGoto RealReady\n\tReloadStart:\n\t\t2SHT A 1\n\t\t2SHR ABCDEFG 1\n\t\tTNT1 A 4\n\tReloadWork:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, \"ReloadSkipGrab\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"ReloadSkipGrab\")\n\t\tTNT1 A 1\n\t\tTNT1 AAAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"ColaSynthFireRight\",1,\"FireRightGun\")\n\t\tTNT1 A 1\n\tReloadSkipGrab:\n\t\tTNT1 A 0 A_GiveInventory(\"PumpShotgunClip\", 1)\n\t\tTNT1 A 1 A_PlaySound(\"PumpShotgun/Load\", 5)\n\t\tTNT1 AAAAAAAAAAAA 1 A_JumpIfInventory(\"ColaSynthFireRight\",1,\"FireRightGun\")\n\t\tTNT1 A 4\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunClip\", 0, \"ReloadFinish\")\n\t\tGoto ReloadWork\n\tReloadFinish:\n\t\tTNT1 A 16 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t2SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t2SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR D 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR B 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT A 6\n\t\tGoto RealReady\n\n\t// LEFT GUN SHIT\n\tFireLeftGun:\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunClip2\",1,1)\n\t\tGoto DryFireLeft\n\t\t3SHT B 0 A_PlaySound(\"Pumpshotgun/Fire\", CHAN_AUTO)\n\t\t3SHT B 0 A_AlertMonsters\n\n\t\t3SHT BBBBBBBBB 0 A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-2.5,2.5), 0, -8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t3SHT B 0 A_Light2\n\t\t3SHT B 0 A_TakeInventory(\"PumpShotgunClip2\", 1)\n\t\t3SHT B 0 A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-1.5,1.5), 0, -8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n 3SHT B 1 BRIGHT A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\t3SHT B 0 A_Light1\n\t\t3SHT C 1 BRIGHT A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT C 0 A_Light0\n\t\t3SHT D 1 BRIGHT A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT E 1 A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT F 1 A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT G 1 A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT H 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT I 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT J 1 A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT K 1 A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT L 1 A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT M 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT N 1\n\t\t3SHT A 8\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 3, \"NoPumpLeft\")\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 2, \"PumpLevel2Left\")\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"PumpLevel1Left\")\n\t\tGoto PumpLevel0Left\n\tPumpLevel2Left:\n\t\t3SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t3SHR G 1\n\t\tTNT1 A 8 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t3SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR CA 1 A_JumpIfInventory(\"ColaSynthFireLeft\",1,\"FireLeftGun\")\n\t\t3SHT A 0 A_CheckReload\n\t\tGoto OtherGun\n\tPumpLevel1Left:\n\t\t3SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t3SHR F 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR G 1\n\t\tTNT1 A 12 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t3SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t3SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 6\n\t\t3SHT A 0 A_CheckReload\n\t\tGoto OtherGun\n\tPumpLevel0Left:\n\t\t3SHR A 1 A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR B 1 A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR D 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\t3SHR F 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR G 1\n\t\tTNT1 A 16 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t3SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t3SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR D 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR B 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 6\n\tNoPumpLeft:\n\t\t3SHT A 0 A_CheckReload\n\t\tGoto OtherGun\n\tDryfireLeft:\n\t\t3SHT A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"ReloadLeft\")\n\t\t3SHT A 3 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tGoto OtherGun\n\tReloadLeft:\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunClip2\", 0, 1)\n\t\tGoto ReloadStartLeft\n\t\t3SHT A 1\n\t\tGoto OtherGun\n\tReloadStartLeft:\n\t\t3SHT A 1\n\t\t3SHR ABCDEFG 1\n\t\tTNT1 A 8\n\tReloadWorkLeft:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, \"ReloadSkipGrabLeft\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"ReloadSkipGrabLeft\")\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInventory(\"ColaSynthFireLeft\",1,\"FireLeftGun\")\n\t\tTNT1 A 1\n\tReloadSkipGrabLeft:\n\t\tTNT1 A 0 A_GiveInventory(\"PumpShotgunClip2\", 1)\n\t\tTNT1 A 1 A_PlaySound(\"PumpShotgun/Load\", 5)\n\t\tTNT1 AAAAAAAAAAAAAA 1 A_JumpIfInventory(\"ColaSynthFireLeft\",1,\"FireLeftGun\")\n\t\tTNT1 A 4\n\t\tTNT1 A 0 A_JumpIfInventory(\"PumpShotgunClip2\", 0, \"ReloadFinishLeft\")\n\t\tGoto ReloadWorkLeft\n\tReloadFinishLeft:\n\t\tTNT1 A 20 A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\t3SHR G 1 A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\t3SHR F 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR E 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR D 1 A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR C 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR B 1 A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHR A 1 A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 1 A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT A 6\n\t\tGoto OtherGun\n\t}\n}\n\nACTOR DualPumpShotgunSuper : DualPumpShotgun\n{\n\tWeapon.SisterWeapon \"DualPumpShotgun\"\n\t+POWERED_UP\n\tStates\n\t{\n\tSelect:\n\t\t2SHT Z 0 A_GiveInventory(\"PumpShotgunSelected\", 1)\n\t\t2SHT Z 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tWait\n\tDeselect:\n\t\t2SHT Z 0 A_TakeInventory(\"PumpShotgunSelected\", 999)\n\t\t2SHT Z 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tWait\n\tReady:\n\t\t2SHT A 0 A_GunFlash(\"OtherGun\", GFF_NOEXTCHANGE)\n\tRealReady:\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireReload\", 1, \"Reload\")\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireRight\", 1, \"FireRightGun\")\n\t\t2SHT A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)\n\t\tLoop\n\tOtherGun:\n\t\t2SHT A 0 A_JumpIfInventory(\"ColaSynthFireReload\", 1, \"ReloadLeft\")\n\t\t3SHT A 1 A_JumpIfInventory(\"ColaSynthFireLeft\", 1, \"FireLeftGun\")\n\t\tLoop\n\tFireRightGun:\n\t\t2SHT A 0 A_JumpIfInventory(\"PumpShotgunClip\",1,1)\n\t\tGoto DryFire\n\t\t2SHT B 0 A_PlaySound(\"Pumpshotgun/Fire\", CHAN_AUTO)\n\t\t2SHT B 0 A_AlertMonsters\n\t\tPSHT B 0 A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\t2SHT BBBBBB 0 A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-2.5,2.5), 0, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t2SHT B 0 A_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, 8)\n\t\t2SHT B 0 A_Light2\n\t\t2SHT B 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-1.5,1.5), 1, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t2SHT B 0 A_Light1\n\t\t2SHT C 1 BRIGHT A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT C 0 A_Light0\n\t\t2SHT D 1 BRIGHT A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT E 1 A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT F 1 A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT G 1 A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT H 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT I 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT J 1 A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT K 1 A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT L 1 A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT M 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t2SHT N 1\n\t\t2SHT A 5\n\t\tGoto RealReady\n\tFireLeftGun:\n\t\t3SHT A 0 A_JumpIfInventory(\"PumpShotgunClip2\",1,1)\n\t\tGoto DryFireLeft\n\t\t3SHT B 0 A_PlaySound(\"Pumpshotgun/Fire\", CHAN_AUTO)\n\t\t3SHT B 0 A_AlertMonsters\n\t\t3SHT B 0 A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\t3SHT BBBBBB 0 A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-2.5,2.5), 0, -8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t3SHT B 0 A_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, -8)\n\t\t3SHT B 0 A_Light2\n\t\t3SHT B 0 A_TakeInventory(\"PumpShotgunClip2\", 1)\n\t\t3SHT B 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-1.5,1.5), 0, -8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\t3SHT B 0 A_Light1\n\t\t3SHT C 1 BRIGHT A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT C 0 A_Light0\n\t\t3SHT D 1 BRIGHT A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT E 1 A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT F 1 A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT G 1 A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT H 1 A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT I 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT J 1 A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT K 1 A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT L 1 A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT M 1 A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\t3SHT N 1\n\t\t3SHT A 8\n\t\tGoto OtherGun\n\t}\n}\n\n/*\nFire:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunClip\",1,1)\n\t\tGoto DryFire\n\t\tPSHT B 0 A_PlayWeaponSound(\"Pumpshotgun/Fire\")\n\t\tPSHT B 0 A_GunFlash\n\t\tPSHT B 0 A_AlertMonsters\n\t\tPSHT B 0 A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0)\n\t\tPSHT BBBBBB 0 A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-2.5,2.5), 0, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\tPSHT B 0 A_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, 8)\n\t\tPSHT B 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-1.5,1.5), 1, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\tPSHT C 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT D 1 BRIGHT Offset(9,49) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(7,51) A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(6,50) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,41) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,39) A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,36) A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,35) A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,33) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(1,31)\n\t\tGoto Ready\n\n\t*/"
},
{
"source": "pk3",
"name": "actors/weapons/grenade.txt",
"contents": "ACTOR SodaGrenadeThrown\n{\n\tPROJECTILE\n\t-NOGRAVITY\n\t+SkyExplode\n\tRadius 8\n\tHeight 8\n\tGravity 0.75\n\tSpeed 25\n\tDamage (5)\n\tSeeSound \"Pickups/Colatoss\"\n\tDeathSound \"pickups/colaexplode\"\n\tDamageType \"Cola\"\n\tScale 1.5\n\tStates\n\t{\n\tSpawn:\n\t\tSODG ABCD 3\n\t\tLoop\n\tDeath:\n\t\tCBBX A 0 A_SetGravity(0.0)\n\t\tCBBX A 4 A_Scream\n\t\tCBBX B 4 A_Explode(128, 256, 0)\n\t\tCBBX CDEF 4\n\t\tStop\n\t}\n}\n\nACTOR LevelXSodaGrenadeThrown : SodaGrenadeThrown\n{\n\t+NOGRAVITY\n\tSpeed 75\n\tStates\n\t{\n\tDeath:\n\t\tCBBX A 0 A_SetScale(4.0, 4.0)\n\t\tCBBX A 4 A_Scream\n\t\tCBBX B 4 A_Explode(256, 512, 0)\n\t\tCBBX CDEF 4\n\t\tStop\n\t}\n}\n\nACTOR BlastolaGrenadeThrown : SodaGrenadeThrown\n{\n\tDeathSound \"ColaMissile/Explode\"\n\tStates\n\t{\n\tDeath:\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME BBB 0 A_SpawnItemEx(\"SodaGrenadeThrown\", 0,0,8, random(4,12),0,random(5,10), random(0,359))\n\t\tFRME B 2 BRIGHT A_Explode(256, 256, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR LevelXBlastolaGrenadeThrown : BlastolaGrenadeThrown\n{\n\tDeathSound \"PumpShotgun/GrenadeExplode\"\n\tStates\n\t{\n\tDeath:\n\t\tFRME A 0 A_SetScale(2.5, 2.5)\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME BBB 0 A_SpawnItemEx(\"BlastolaGrenadeThrown\", 0,0,8, random(2,8),0,random(4,9), random(0,359))\n\t\tFRME B 2 BRIGHT A_Explode(256, 384, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PowerSodaGrenadeCooldown : Powerup\n{\n\tPowerup.Duration 1050\n}\n\nACTOR SodaGrenadeCooldown : PowerupGiver\n{\n\tPowerup.Type \"PowerSodaGrenadeCooldown\"\n\t+AUTOACTIVATE\n}\n\nACTOR SodaGrenade : CustomInventory\n{\n\tTag \"Super-Shaken Soda Grenade\"\n\tinventory.icon \"SODAICON\"\n\tinventory.maxamount 1\n\tinventory.usesound \"grenade/throw\"\n\t+Inventory.invbar\n\t+inventory.keepdepleted\n\tInventory.InterHubamount 1\n\tstates\n\t{\n\tSpawn:\n\t\tTHRP A -1\n\t\tstop\n\tUse:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerSodaGrenadeCooldown\", 1, \"DontThrow\")\n\t\tTNT1 A 0 A_GiveInventory(\"SodaGrenadeCooldown\", 1)\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, 2)\n\t\tTNT1 A 0 A_FireCustomMissile(\"SodaGrenadeThrown\", 0,0,0,0, FPF_NOAUTOAIM)\n\t\tFail\n\t\tTNT1 A 0 A_FireCustomMissile(\"LevelXSodaGrenadeThrown\", 0,0,0,0, FPF_NOAUTOAIM)\n\t\tFail\n\tDontThrow:\n\t\tTNT1 A 0 A_Print(\"Grenade not ready yet!\")\n\t\tFail\n\t}\n}\n\nACTOR BlastolaCola : CustomInventory replaces BlurSphere\n{\n\tTag \"Blastola Cola!\"\n\tInventory.PickupSound \"pickups/GetBlastola\"\n\tinventory.PickupMessage \"Blastola Cola - \\\"Throw It, Don't Drink It!\\\"\"\n\tinventory.icon \"WWBCICN1\"\n\tinventory.maxamount 10\n\tinventory.usesound \"grenade/throw\"\n\t+Inventory.invbar\n\tInventory.InterHubamount 1\n\tstates\n\t{\n\tSpawn:\n\t\tWWBC AB 4\n\t\tloop\n\tUse:\n\t\tTNT1 A 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, 2)\n\t\tTNT1 A 0 A_FireCustomMissile(\"BlastolaGrenadeThrown\", 0,0,0,0, FPF_NOAUTOAIM)\n\t\tstop\n\t\tTNT1 A 0 A_FireCustomMissile(\"LevelXBlastolaGrenadeThrown\", 0,0,0,0, FPF_NOAUTOAIM)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/handgun.txt",
"contents": "ACTOR ColaHandgunSelected : Inventory {}\n\nACTOR ColaHandgunLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR ColaHandgunExp : Ammo\n{\n\tInventory.MaxAmount 15\n\t+IGNORESKILL\n}\n\nACTOR ColaHandgunClip : Ammo\n{\n\tInventory.MaxAmount 12\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR TracerBulletPistol : TracerBullet\n{\n\tSpeed 120\n\tDamage (12)\n\tMissileType TracerTrailBig\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC B 1 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR TracerTrailBig : TracerTrail\n{\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC B 1 BRIGHT A_FadeOut(0.3)\n\t\tLoop\n\t}\n}\n\nACTOR BiggerTracerBulletPistol : TracerBullet\n{\n\tSpeed 120\n\tDamage (30)\n\tMissileType TracerTrailBigger\n\tScale 0.6\n\tDecal \"PlasmaScorchLower\"\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC C 1 BRIGHT\n\t\tLoop\n\tDeath:\n\tCrash:\n\t\tHGFB A 0 A_SpawnItemEx(\"GunSmoke\")\n\t\tHGFB A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tHGFB B 1 BRIGHT A_SetTranslucent(0.9,0)\n\t\tHGFB B 1 BRIGHT A_PlaySound(\"ricochet\")\n\t\tHGFB C 2 BRIGHT\n\t\tStop\n\tXDeath:\n\t\tTNT1 A 0 A_PlaySound(\"HitFlesh\")\n\t\tStop\n\t}\n}\n\nACTOR TracerTrailBigger : TracerTrail\n{\n\tScale 0.6\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC C 1 BRIGHT A_FadeOut(0.3)\n\t\tLoop\n\t}\n}\n\nACTOR EvenBiggerTracerBulletPistol : TracerBullet // Fires smaller tracer bullets on impact.\n{\n\tSpeed 120\n\tDamage (30)\n\tMissileType TracerTrailBigger\n\tScale 0.6\n\tDecal \"PlasmaScorchLower\"\n\tDeathSound \"ColaHandgun/Explode\"\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC C 1 BRIGHT\n\t\tLoop\n\tDeath:\n\tCrash:\n\tXDeath:\n\t\tHGFB AAAAAAAAAA 0 A_SpawnProjectile(\"TracerBulletFragment\", 4.0, 0, random(90.0,270.0), CMF_ABSOLUTEPITCH|CMF_OFFSETPITCH|CMF_AIMDIRECTION, random(-40.0,40.0))\n\t\tHGFB A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tHGFB B 2 BRIGHT A_SetTranslucent(0.9,0)\n\t\tHGFB C 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR TracerBulletFragment : TracerBullet\n{\n\tSpeed 20\n\tDamage (6)\n\tMissileType TracerTrail\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC B 1 BRIGHT A_FadeOut(0.15)\n\t\tLoop\n\tDeath:\n\tCrash:\n\t\tPUFF A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tPUFF B 2 BRIGHT A_SetTranslucent(0.9,0)\n\t\tPUFF CD 2 BRIGHT\n\t\tStop\n\tXDeath:\n\t\tPUFF A 0 A_PlaySound(\"HitFlesh\")\n\t\tStop\n\t}\n}\n\nACTOR ColaHandgunBurst : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR ColaHandgun : ColaWeapon replaces Pistol\n{\n\tWeapon.AmmoType1 \"ColaHandgunClip\"\n\tWeapon.AmmoUse1 1\n\tWeapon.SlotNumber 1\n\tWeapon.AmmoType2 \"ColaHandgunExp\"\n\tWeapon.AmmoUse2 3\n\tWeapon.AmmoGive2 0\n\tWeapon.SisterWeapon \"ColaHandgunSuper\"\n\tWeapon.SelectionOrder 7500\n\tInventory.PickupMessage \"Marston R-1 - \\\"This town ain't big enough for the 12 of us!\\\"\"\n\tInventory.PickupSound \"ColaHandgun/Cylinder\"\n\tTag \"Marston R-1\"\n\t+Weapon.NoAutoFire\n\t+WEAPON.ALT_USES_BOTH\n\t+Weapon.Alt_Ammo_Optional\n\tStates\n\t{\n\tSpawn:\n\t\tREVP A -1\n\t\tStop\n\tSelect:\n\t\tRPIS A 0 A_GiveInventory(\"ColaHandgunSelected\", 1)\n\t\tRPIS A 0 A_Raise\n\t\tRPIS A 1 A_Raise\n\t\tLoop\n\tDeselect:\n\t\tRPIS A 0 A_TakeInventory(\"ColaHandgunSelected\", 999)\n\t\tRPIS A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tLoop\n\tReady:\n\t\tRPIS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tAltfire: // Oh god I'm about to commit code crime\n\t\tRPIS A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tRPIS A 0 A_TakeInventory(\"ColaHandgunExp\", 3)\n AltfireRepeat:\n\t\tRPIS B 1 BRIGHT {\n\t\t\tA_Overlay(2, \"OverlayFireCode\", 1);\n\t\t\tA_WeaponOffset(1, 1, WOF_INTERPOLATE|WOF_ADD);\n\t\t}\n\t\tRPIS C 1 BRIGHT\n RPIC C 0 A_JumpIfInventory(\"ColaHandgunClip\", 1, \"AltfireRepeat\")\n\t\tRPIS C 1 BRIGHT {\n\t\t\tA_WeaponOffset(2,2, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch - (0.8 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS D 1 {\n\t\t\tA_WeaponOffset(3,4, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 {\n\t\t\tA_WeaponOffset(3,3, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 {\n\t\t\tA_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 A_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS F 1 A_WeaponOffset(-2,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS F 1 A_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS F 1 A_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS A 1 A_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS A 1 A_WeaponOffset(1,-1, WOF_INTERPOLATE|WOF_ADD)\n RPIS A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"Reload\")\n\t\tGoto Ready\n\tDryfire:\n\t\tRPIS A 1 Offset(1,34) A_PlaySound(\"weapons/dryfire\", CHAN_AUTO)\n\t\tRPIS A 1 Offset(0,33)\n\t\tRPIS A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"Reload\")\n\t\tGoto Ready\n\tOverlayFireCode:\n\t\tTNT1 A 0 {\n\t\t\tA_GunFlash;\n\t\t\tA_AlertMonsters;\n\t\t\tA_TakeInventory(\"ColaHandgunClip\", 1);\n\t\t\tif ( CountInv(\"ColaHandgunLevel\") == 3 )\n\t\t\t{\n\t\t\t\tA_PlaySound(\"ColaHandgun/FireTwiceBigger\", CHAN_WEAPON);\n\t\t\t\tA_FireCustomMissile(\"EvenBiggerTracerBulletPistol\", frandom(-0.5,0.5), 0, 9, 0, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\t}\n\t\t\telse if ( CountInv(\"ColaHandgunLevel\") == 2 )\n\t\t\t{\n\t\t\t\tA_PlaySound(\"ColaHandgun/FireBigger\", CHAN_WEAPON);\n\t\t\t\tA_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-0.5,0.5), 0, 9, 0, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\t}\n\t\t\telse if ( CountInv(\"ColaHandgunLevel\") == 1 )\n\t\t\t{\n\t\t\t\tA_PlaySound(\"ColaHandgun/FireTwice\", CHAN_WEAPON);\n\t\t\t\tA_FireCustomMissile(\"TracerBulletPistol\", frandom(-0.5,0.5), 0, 9, 4, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\t\tA_FireCustomMissile(\"TracerBulletPistol\", frandom(-0.5,0.5), 0, 9, -2, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\t}\n\t\t\telse if ( CountInv(\"ColaHandgunLevel\") < 1 )\n\t\t\t{\n\t\t\t\tA_PlaySound(\"ColaHandgun/Fire\", CHAN_WEAPON);\n\t\t\t\tA_FireCustomMissile(\"TracerBulletPistol\", frandom(-0.5,0.5), 0, 9, 0, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\t}\n\t\t}\n\t\tStop\n\tFire:\n\t\tRPIS A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tRPIS B 1 BRIGHT A_Overlay(2, \"OverlayFireCode\", 1)\n\tFireContinue:\n\t\tRPIS C 1 BRIGHT {\n\t\t\tA_WeaponOffset(2,2, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch - (0.8 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS D 1 {\n\t\t\tA_WeaponOffset(3,4, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 {\n\t\t\tA_WeaponOffset(3,3, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 {\n\t\t\tA_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_SetPitch(pitch + (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRPIS E 1 A_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD)\n\t\tRPIS F 1 {\n\t\t\tA_WeaponOffset(-2,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_WeaponReady(WRF_NOBOB);\n\t\t}\n\t\tRPIS F 1 {\n\t\t\tA_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_WeaponReady(WRF_NOBOB);\n\t\t}\n\t\tRPIS F 1 {\n\t\t\tA_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_WeaponReady(WRF_NOBOB);\n\t\t}\n\t\tRPIS A 1 {\n\t\t\tA_WeaponOffset(-1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_WeaponReady(WRF_NOBOB);\n\t\t}\n\t\tRPIS A 1 {\n\t\t\tA_WeaponOffset(1,-1, WOF_INTERPOLATE|WOF_ADD);\n\t\t\tA_WeaponReady(WRF_NOBOB);\n\t\t}\n\t\tGoto Ready\n\tReload:\n\t\tRPIS A 0 A_JumpIfInventory(\"ColaHandgunClip\", 0, 1)\n\t\tGoto Reload2\n\t\tRPIS A 1 A_WeaponReady(WRF_NOFIRE)\n\t\tGoto Ready\n\tReload2:\n\t\tRPIR A 1 Offset(1,39) A_PlaySound(\"ColaHandgun/cylinder\", 6)\n\t\tRPIR A 1 Offset(2,37)\n\t\tRPIR A 1 Offset(3,35) A_PlaySound(\"ColaHandgun/eject\", 5)\n\t\tRPIR B 1 Offset(5,35) A_Jump(128,2)\n\t\tRPIR B 1 Offset(7,37)\n\t\tRPIR B 1 Offset(8,39)\n\t\tRPIR B 1 Offset(9,42)\n\t\tRPIR B 1 Offset(9,44)\n\t\tRPIR B 1 Offset(8,46)\n\t\tRPIR B 1 Offset(8,49)\n\t\tRPIR B 1 Offset(7,54) A_PlaySound(\"ColaHandgun/insert\", 6)\n\t\tRPIR B 1 Offset(6,59) A_Giveinventory(\"ColaHandgunClip\",999)\n\t\tRPIR B 1 Offset(5,65) A_Jump(128,2)\n\t\tRPIR B 1 Offset(4,70)\n\t\tRPIR B 1 Offset(3,77)\n\t\tRPIR B 1 Offset(2,73)\n\t\tRPIR B 1 Offset(2,69)\n\t\tRPIR B 1 Offset(1,65)\n\t\tRPIR B 1 Offset(1,62) A_Jump(128,2)\n\t\tRPIR B 1 Offset(1,59)\n\t\tRPIR B 1 Offset(1,56)\n\t\tRPIR B 1 Offset(2,53)\n\t\tRPIR B 1 Offset(3,51)\n\t\tRPIR B 1 Offset(4,50) A_PlaySound(\"ColaHandgun/cylinder\", 5)\n\t\tRPIR B 1 Offset(6,47) A_Jump(128,2)\n\t\tRPIR A 1 Offset(4,43)\n\t\tRPIR A 1 Offset(2,39)\n\t\tRPIR A 1 Offset(1,35)\n\t\tGoto Ready\n\t}\n}\n\nACTOR ColaHandgunSuper : ColaHandgun\n{\n\tWeapon.SisterWeapon \"ColaHandgun\"\n\t+POWERED_UP\n\tStates\n\t{\n\tOverlayFireCode:\n\t\tTNT1 A 0 {\n\t\t\tA_GunFlash;\n\t\t\tA_AlertMonsters;\n\t\t\tA_PlaySound(\"ColaHandgun/FireTwiceBigger\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"EvenBiggerTracerBulletPistol\", frandom(0.5,2.5), 1, 9, 0, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t\tA_FireCustomMissile(\"EvenBiggerTracerBulletPistol\", frandom(-2.5,-0.5), 0, 9, 0, FPF_AIMATANGLE, frandom(-0.5,0.5));\n\t\t}\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/ks23.txt",
"contents": "ACTOR ShotgunTracerBullet : TracerBullet\n{\n\tStates\n\t{\n\tDeath:\n\tCrash:\n\t\tPUFF A 0 A_SpawnItemEx(\"GunSmoke\")\n\t\tPUFF A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tPUFF B 1 BRIGHT A_SetTranslucent(0.9,0)\n\t\tPUFF B 1 BRIGHT\n\t\tPUFF CD 2 BRIGHT\n\t\tStop\n\tXDeath:\n\t\tTNT1 A 3\n\t\tStop\n\t}\n}\n\nACTOR PumpShotgunSelected : Inventory {}\n\nACTOR PumpShotgunLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR PumpShotgunExp : Ammo\n{\n\tInventory.MaxAmount 45\n\t+IGNORESKILL\n}\n\nACTOR PumpShotgunClip : Ammo\n{\n\tInventory.MaxAmount 4\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR PumpShotgun : ColaWeapon\n{\n\tWeapon.AmmoType1 \"PumpShotgunClip\"\n\tWeapon.AmmoUse1 1\n\tWeapon.SlotNumber 2\n\tWeapon.SlotPriority 1\n\tWeapon.AmmoType2 \"PumpShotgunExp\"\n\tWeapon.AmmoUse2 10\n\tWeapon.AmmoGive2 0\n\tTag \"KS-23 Riot Shotgun\"\n\tWeapon.SisterWeapon \"PumpShotgunSuper\"\n\t+Weapon.NoAutoFire\n\t+Weapon.Ammo_Optional\n\t+Weapon.Alt_Ammo_Optional\n\tStates\n\t{\n\tSelect:\n\t\tPSHT A 0 A_GiveInventory(\"PumpShotgunSelected\", 1)\n\t\tPSHT A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tLoop\n\tDeselect:\n\t\tPSHT A 0 A_TakeInventory(\"PumpShotgunSelected\", 999)\n\t\tPSHT A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tLoop\n\tReady:\n\t\tPSHT A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tFire:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunClip\",1,1)\n\t\tGoto DryFire\n\t\tPSHT B 0 A_PlayWeaponSound(\"Pumpshotgun/Fire\")\n\t\tPSHT B 0 A_GunFlash\n\t\tPSHT B 0 A_AlertMonsters\n\t\tPSHT BBBBBBBBB 0 A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-2.5,2.5), 0, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\tPSHT B 0 BRIGHT Offset(2,36) A_FireCustomMissile(\"ShotgunTracerBullet\", frandom(-1.5,1.5), 1, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n PSHT B 1 BRIGHT A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\tPSHT C 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT D 1 BRIGHT Offset(9,49) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(7,51) A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(6,50) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,41) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,39) A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,36) A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,35) A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,33) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(1,31)\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 3, \"NoPump\")\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 2, \"PumpLevel2\")\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"PumpLevel1\")\n\t\tGoto PumpLevel0\n\tPumpLevel2:\n\t\tPSHT A 1 Offset(-3,33) A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\tPSHT E 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-39,55) A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.6 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT A 1 Offset(-40,52) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT A 1 Offset(-33,50) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT A 1 Offset(-20,47) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT A 1 Offset(-5,33) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT A 0 A_CheckReload\n\t\tGoto Ready\n\tPumpLevel1:\n\t\tPSHT A 1 Offset(-3,33) A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\tPSHT E 1 Offset(-7,35) A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-45,51)\n\t\tPSHT G 1 Offset(-39,55) A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-39,55) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-40,52) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-33,50)\n\t\tPSHT A 1 Offset(-22,47)\n\t\tPSHT A 1 Offset(-14,42)\n\t\tPSHT A 1 Offset(-3,33)\n\t\tPSHT A 0 A_CheckReload\n\t\tGoto Ready\n\tPumpLevel0:\n\t\tPSHT A 1 Offset(-3,33) A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\tPSHT E 1 Offset(-7,35) A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-19,42) A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-45,51)\n\t\tPSHT G 1 Offset(-42,53)\n\t\tPSHT G 1 Offset(-39,55) A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-37,56) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-39,55) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-40,52) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-33,50)\n\t\tPSHT A 1 Offset(-25,47)\n\t\tPSHT A 1 Offset(-19,42)\n\t\tPSHT A 1 Offset(-13,38)\n\t\tPSHT A 1 Offset(-7,35)\n\t\tPSHT A 1 Offset(-3,33)\n\tNoPump:\n\t\tPSHT A 0 A_CheckReload\n\t\tGoto Ready\n\tDryfire:\n\t\tPSHT A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"Reload\")\n\tBenignDryfire:\n\t\tPSHT A 1 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tPSHT A 1 Offset(2,34)\n\t\tPSHT A 1 Offset(1,33)\n\t\tGoto Ready\n\tReload:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunClip\", 0, 1)\n\t\tGoto ReloadStart\n\t\tPSHT A 1 A_WeaponReady(WRF_NOFIRE)\n\t\tGoto Ready\n\tReloadStart:\n\t\tPSHT A 1 Offset(4,40)\n\t\tPSHT E 1 Offset(8,46)\n\t\tPSHT E 1 Offset(11,50)\n\t\tPSHT F 1 Offset(13,52)\n\t\tPSHT F 1 Offset(14,53)\n\tReloadWork:\n\t\tPSHT F 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, \"ReloadSkipGrab\")\n\t\tPSHT F 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"ReloadSkipGrab\")\n\t\tPSHT F 1 Offset(14,57) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(13,59) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(12,61) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(11,62) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(10,63) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(9,64) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(10,63) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(11,62) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(12,60) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(13,58) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(14,56)\n\tReloadSkipGrab:\n\t\tPSHT F 0 A_GiveInventory(\"PumpShotgunClip\", 1)\n\t\tPSHR A 1 Offset(12,55) A_PlaySound(\"PumpShotgun/Load\", 5)\n\t\tPSHR A 1 Offset(15,55) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR B 1 Offset(19,56) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR B 1 Offset(25,56) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR C 1 Offset(23,57) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR C 1 Offset(19,56) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR D 1 Offset(15,57) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHR D 1 Offset(12,56) A_WeaponReady(WRF_NOBOB|WRF_ALLOWZOOM)\n\t\tPSHT F 1 Offset(10,55)\n\t\tPSHT F 1 Offset(9,54)\n\t\tPSHT F 1 Offset(10,55)\n\t\tPSHT F 1 Offset(11,56)\n\t\tPSHT F 0 A_JumpIfInventory(\"PumpShotgunClip\", 0, \"ReloadFinish\")\n\t\tGoto ReloadWork\n\tReloadFinish:\n\t\tPSHT F 1 Offset(9,55)\n\t\tPSHT F 1 Offset(5,53)\n\t\tPSHT F 1 Offset(1,51)\n\t\tPSHT F 1 Offset(-4,49)\n\t\tPSHT F 1 Offset(-7,45)\n\t\tPSHT F 1 Offset(-10,41) A_PlaySound(\"Pumpshotgun/Back\", CHAN_AUTO)\n\t\tPSHT F 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-19,42) A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-45,51)\n\t\tPSHT G 1 Offset(-42,53)\n\t\tPSHT G 1 Offset(-39,55) A_PlaySound(\"Pumpshotgun/Forward\", CHAN_AUTO)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-37,56) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-39,55) A_SetPitch(pitch - (0.6 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-40,52) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-33,50)\n\t\tPSHT A 1 Offset(-25,47)\n\t\tPSHT A 1 Offset(-19,42)\n\t\tPSHT A 1 Offset(-13,38)\n\t\tPSHT A 1 Offset(-7,35)\n\t\tPSHT A 1 Offset(-3,33)\n\t\tGoto Ready\n\tAltfire:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunExp\",10,1)\n\t\tGoto BenignDryFire\n\t\tPSHT A 1 Offset(-3,33) A_PlaySound(\"PumpShotgun/LoadGrenade\", CHAN_AUTO)\n\t\tPSHT E 1 Offset(-7,35) A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-19,42) A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-37,56) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-39,55) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-40,52) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-33,50)\n\t\tPSHT A 1 Offset(-25,47)\n\t\tPSHT A 1 Offset(-19,42)\n\t\tPSHT A 1 Offset(-13,38)\n\t\tPSHT A 1 Offset(-7,35)\n\t\tPSHT B 0 A_PlaySound(\"Pumpshotgun/FireGrenade\", CHAN_WEAPON)\n\t\tPSHT B 0 A_GunFlash\n\t\tPSHT B 0 A_AlertMonsters\n\t\tPSHT B 0 A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\tPSHT B 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"ShotgunGrenadeProjectile\", 0, 1, 8, 0, FPF_AIMATANGLE, 3)\n\t\tPSHT C 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT D 1 BRIGHT Offset(9,49) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(7,51) A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(6,50) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,41) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,39) A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,36) A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,35) A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,33) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(1,31)\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 3, \"NoPump\")\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 2, \"PumpLevel2\")\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunLevel\", 1, \"PumpLevel1\")\n\t\tGoto PumpLevel0\n\t}\n}\n\nACTOR PumpShotgunSuper : PumpShotgun\n{\n\tWeapon.SisterWeapon \"PumpShotgun\"\n\t+POWERED_UP\n\tStates\n\t{\n\tFire:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunClip\",1,1)\n\t\tGoto DryFire\n\t\tPSHT B 0 A_PlayWeaponSound(\"Pumpshotgun/Fire\")\n\t\tPSHT B 0 A_GunFlash\n\t\tPSHT B 0 A_AlertMonsters\n\t\tPSHT BBBBBB 0 A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-2.5,2.5), 0, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n\t\tPSHT B 0 A_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, 8)\n\t\tPSHT B 0 Offset(2,36) A_FireCustomMissile(\"BiggerTracerBulletPistol\", frandom(-1.5,1.5), 1, 8, 0, FPF_AIMATANGLE, frandom(-1.5,1.5))\n PSHT B 1 BRIGHT A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\tPSHT C 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT D 1 BRIGHT Offset(9,49) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(7,51) A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(6,50) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,41) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,39) A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,36) A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,35) A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,33) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(1,31)\n\t\tGoto Ready\n\tAltfire:\n\t\tPSHT A 0 A_JumpIfInventory(\"PumpShotgunExp\",10,1)\n\t\tGoto BenignDryFire\n\t\tPSHT A 1 Offset(-3,33) A_PlaySound(\"PumpShotgun/LoadGrenade\", CHAN_AUTO)\n\t\tPSHT E 1 Offset(-7,35) A_SetPitch(pitch + (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-13,38) A_SetPitch(pitch + (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-19,42) A_SetPitch(pitch + (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-25,47) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-33,50) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE) //A_SpawnItemEx(\"ShellCasing\", 20, -12, 36, 10, frandom(2.0, 8.0), 1, random(-25,-40), SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)\n\t\tPSHT G 1 Offset(-40,52) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT G 1 Offset(-37,56) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-36,57) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT F 1 Offset(-37,56) A_SetPitch(pitch - (0.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-39,55) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT E 1 Offset(-42,53) A_SetPitch(pitch - (0.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-45,51) A_SetPitch(pitch - (0.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-40,52) A_SetPitch(pitch - (0.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(-33,50)\n\t\tPSHT A 1 Offset(-25,47)\n\t\tPSHT A 1 Offset(-19,42)\n\t\tPSHT A 1 Offset(-13,38)\n\t\tPSHT A 1 Offset(-7,35)\n\t\tPSHT B 0 A_PlaySound(\"Pumpshotgun/FireGrenade\", CHAN_WEAPON)\n\t\tPSHT B 0 A_GunFlash\n\t\tPSHT B 0 A_AlertMonsters\n\t\tPSHT B 0 A_Blast(BF_NOIMPACTDAMAGE, 255, 128, 10.0, \"GunSmoke\", \"\")\n\t\tPSHT B 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"ShotgunSuperGrenadeProjectile\", 0, 1, 8, 0, FPF_AIMATANGLE, 3)\n\t\tPSHT C 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT D 1 BRIGHT Offset(9,49) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(7,51) A_SetPitch(pitch - (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(6,50) A_SetPitch(pitch - (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(4,41) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,39) A_SetPitch(pitch + (2.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(3,36) A_SetPitch(pitch + (4.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,35) A_SetPitch(pitch + (3.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(2,33) A_SetPitch(pitch + (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPSHT A 1 Offset(1,31)\n\t\tGoto Ready\n\t}\n}\n\nACTOR TracerShotgunFragment : TracerBullet\n{\n\tSpeed 20\n\tDamage (6)\n\tMissileType TracerTrail\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTRAC B 1 BRIGHT A_FadeOut(0.05)\n\t\tLoop\n\tDeath:\n\tCrash:\n\t\tPUFF A 2 BRIGHT A_SpawnDebris(\"TracerSpark\")\n\t\tPUFF B 2 BRIGHT A_SetTranslucent(0.9,0)\n\t\tPUFF CD 2 BRIGHT\n\t\tStop\n\tXDeath:\n\t\tPUFF A 0 A_PlaySound(\"HitFlesh\")\n\t\tStop\n\t}\n}\n\nACTOR ShotgunGrenadeProjectile\n{\n\tRadius 4\n\tHeight 3\n\tSpeed 40\n\tDamage (1)\n\tDamageType \"Frag\"\n\tProjectile\n\t-NOGRAVITY\n\t-NOTELEPORT\n\t+CANBOUNCEWATER\n\tObituary \"%o failed to field %k's fragmenting fastball.\"\n\tBounceType Doom\n\tBounceFactor 0.2\n\tWallBounceFactor 0.6\n\tBounceSound \"PumpShotgun/grenadebounce\"\n\tDeathSound \"PumpShotgun/grenadebounce\"\n\tstates\n\t{\n\tSpawn:\n\t\tSGRN A 16 A_Countdown\n\t\tLoop\n\tDeath:\n\t\tSGRN A 35 A_Scream\n HGFB AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnProjectile(\"TracerShotgunFragment\", 4.0, 0, random(90.0,270.0), CMF_ABSOLUTEPITCH|CMF_OFFSETPITCH|CMF_AIMDIRECTION, random(-40.0,40.0))\n\t\tBARX A 1 BRIGHT {\n\t\t\tA_AlertMonsters;\n\t\t\tA_SetScale(1.25,1.25);\n\t\t\tA_PlaySound(\"PumpShotgun/grenadeexplode\",0,1.0,0,0.1);\n\t\t\tA_Explode(192, 168, 0, 1, 1);\n\t\t\tA_Quake(9, 10, 0, 768, 0);\n\t\t}\n\t\tBARX BCDEFGHJKLM 2 bright\n\t\tStop\n\t}\n}\n\nACTOR OverheatFlameboltSlower : OverheatFlamebolt\n{\n\tSpeed 5\n\tScale 0.4\n}\n\nACTOR ShotgunSuperGrenadeProjectile : ShotgunGrenadeProjectile\n{\n\tStates\n\t{\n\tDeath:\n\t\tSGRN A 35 A_Scream\n HGFB AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnProjectile(\"TracerShotgunFragment\", 4.0, 0, frandom(0.0,359.9), CMF_ABSOLUTEPITCH|CMF_OFFSETPITCH|CMF_AIMDIRECTION, random(0.0,60.0))\n\t\tBARX A 1 BRIGHT {\n\t\t\tA_AlertMonsters;\n\t\t\tA_SetScale(1.75,1.75);\n\t\t\tA_SpawnProjectile(\"OverheatFlameboltSlower\", 20, 0, 0, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER);\n\t\t\tA_SpawnProjectile(\"OverheatFlameboltSlower\", 20, 0, 90, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER);\n\t\t\tA_SpawnProjectile(\"OverheatFlameboltSlower\", 20, 0, 180, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER);\n\t\t\tA_SpawnProjectile(\"OverheatFlameboltSlower\", 20, 0, 270, CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE|CMF_TRACKOWNER);\n\t\t\tA_PlaySound(\"PumpShotgun/grenadeexplode\",0,1.0,0,0.1);\n\t\t\tA_Explode(192, 168, 0, 1, 1);\n\t\t\tA_Quake(9, 10, 0, 768, 0);\n\t\t}\n\t\tBARX BCDEFGHJKLM 2 bright\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/missilelauncher.txt",
"contents": "ACTOR MissileLauncherSelected : Inventory {}\n\nACTOR MissileLauncherAmmo : Ammo replaces RocketAmmo\n{\n\tInventory.Amount 1\n\tInventory.MaxAmount 10\n\tInventory.PickupMessage \"Sidewinder Missile - \\\"Explosive Payload in a Reptilian Package!\\\"\"\n\tInventory.PickupSound \"ColaMissile/Pickup\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK C 10\n\t\tSNEK D 2 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR DroppedMissileLauncherAmmo : MissileLauncherAmmo\n{\n\t+Inventory.AlwaysPickup\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK C 0 A_JumpIfInventory(\"ColaBubbleTimeout\", 0, \"Disappearing\")\n\t\tSNEK CCCCCDCCCCCD 2 //A_SpawnItemEx(\"ColaBubbleParticle\", frandom(3.0,8.0),0,24, 0,0,frandom(0.25,1.0), random(0,359))\n\t\tSNEK A 0 A_GiveInventory(\"ColaBubbleTimeout\", 1)\n\t\tLoop\n\tDisappearing:\n\t\tSNEK CCDCCDCCDCCDCCDCCD 2 Bright\n\t\tStop\n\t}\n}\n\nACTOR MissileLauncherBigAmmo : MissileLauncherAmmo replaces RocketBox\n{\n\tInventory.Amount 3\n\tInventory.PickupMessage \"Pile of Sidewinder Missiles - \\\"More Snakey Than That Other Kind!\\\"\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK E 10\n\t\tSNEK F 2 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR MissileLauncherAmmoUpgrade : CustomInventory replaces Backpack\n{\n\tScale 0.4\n\tInventory.PickupMessage \"Sidewinder Rack - \\\"Sworn to Carry Your Burdens!\\\"\"\n\tInventory.PickupSound \"ColaMissile/Upgrade\"\n\tStates\n\t{\n\tSpawn:\n\t\tMRAK A 20\n\t\tMRAK B 2 BRIGHT\n\t\tLoop\n\tPickup:\n\t\tMRAK A 0 ACS_NamedExecuteAlways(\"MissileMaxUpgrade\")\n\t\tMRAK A 0 A_Log(\"Maximum missiles increased!\")\n\t\tMRAK A 0 A_GiveInventory(\"MissileLauncherAmmo\", 999)\n\t\tStop\n\t}\n}\n\nACTOR MissileLauncherLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR MissileLauncherExp : Ammo\n{\n\tInventory.MaxAmount 50\n\t+IGNORESKILL\n}\n\nACTOR MissileLauncher : ColaWeapon replaces RocketLauncher\n{\n\tWeapon.AmmoType1 \"MissileLauncherAmmo\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 20\n\tWeapon.SlotNumber 5\n\tWeapon.AmmoType2 \"MissileLauncherExp\"\n\tWeapon.AmmoUse2 3\n\tWeapon.AmmoGive2 0\n\tInventory.PickupMessage \"Sidewinder Missile Launcher - \\\"Warning! Contents under pressure.\\\" (Slot 5)\"\n\tinventory.PickupSound \"ColaMissile/Reload\"\n\tTag \"Sidewinder\"\n\tScale 0.9\n\t+Weapon.Alt_Uses_Both\n\t+Weapon.Alt_Ammo_Optional\n\t+Weapon.NoAutofire\n\tStates\n\t{\n\tSpawn:\n\t\tRKPU A -1\n\t\tWait\n\tSelect:\n\t\tRCKL A 0 A_GiveInventory(\"MissileLauncherSelected\", 1)\n\t\tRCKL A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tWait\n\tDeselect:\n\t\tRCKL A 0 A_TakeInventory(\"MissileLauncherSelected\", 999)\n\t\tRCKL A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tWait\n\tReady:\n\t\tRCKL A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tLoop\n\tFire:\n\t\tRCKL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tRCKL A 0 A_PlaySound(\"ColaMissile/Fire\",CHAN_WEAPON)\n\t\tRCKL A 0 A_GunFlash\n\t\tRCKL A 0 A_AlertMonsters\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 3, \"FireLevel3\")\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 2, \"FireLevel2\")\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 1, \"FireLevel1\")\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile\",frandom(-0.7,0.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tFireLevel3:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",-5,0,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",0,0,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",5,1,9,0,0,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tFireLevel2:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile2\",frandom(-0.7,0.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tFireLevel1:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile1\",frandom(-0.7,0.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tFireAnim:\n\t\tRCKL B 1 Bright A_WeaponOffset(3.0, 35.0, WOF_INTERPOLATE)\n\t\tRCKL C 1 Bright {\n\t\t\tA_WeaponOffset(6.0, 38.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch - (1.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL D 1 Bright {\n\t\t\tA_WeaponOffset(9.0, 42.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch - (1.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL E 1 Bright {\n\t\t\tA_WeaponOffset(12.0, 46.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch - (.9 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL F 1 Bright {\n\t\t\tA_WeaponOffset(13.0, 48.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch - (.6 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL G 1 Bright {\n\t\t\tA_WeaponOffset(12.0, 45.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch - (.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL H 1 Bright {\n\t\t\tA_WeaponOffset(10.0, 42.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL I 1 Bright {\n\t\t\tA_WeaponOffset(8.0, 39.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.2 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL J 1 {\n\t\t\tA_WeaponOffset(6.0, 36.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL A 1 {\n\t\t\tA_WeaponOffset(3.0, 34.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.4 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL A 1 {\n\t\t\tA_WeaponOffset(1.0, 33.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL A 1 {\n\t\t\tA_WeaponOffset(-1.0, 31.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.3 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL A 1 {\n\t\t\tA_WeaponOffset(-1.0, 32.0, WOF_INTERPOLATE);\n\t\t\tA_SetPitch(pitch + (.1 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE);\n\t\t}\n\t\tRCKL A 0 A_CheckReload\n\t\tRCKL A 0 A_JumpIfInventory(\"PowerWeaponLevel2\", 1, \"Ready\")\n\t\tRCKL A 0 A_PlaySound(\"ColaMissile/Reload\", CHAN_AUTO)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 35.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(4.0, 50.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(5.0, 67.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(5.0, 77.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(4.0, 83.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 89.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 94.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(2.0, 100.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(1.0, 104.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-1.0, 108.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-5.0, 116.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-10.0, 124.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-16.0, 128.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-24.0, 130.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-21.0, 112.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-20.0, 108.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-19.0, 98.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-17.0, 78.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-15.0, 57.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-12.0, 42.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-11.0, 38.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-8.0, 35.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-6.0, 32.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-2.0, 28.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(1.0, 27.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-1.0, 29.0, WOF_INTERPOLATE)\n\t\tRCKL A 0 A_Refire\n\t\tGoto Ready\n\tDryfire:\n\t\tRCKL A 1 Offset(1,34) A_PlaySound(\"weapons/dryfire\", CHAN_AUTO)\n\t\tRCKL A 1 Offset(0,33)\n\t\tRCKL A 0 A_CheckReload\n\t\tGoto Ready\n\tAltfire:\n\t\tRCKL A 0 A_JumpIfInventory(\"MissileLauncherExp\", 9, 1)\n\t\tGoto Dryfire\n\t\tRCKL A 0 A_JumpIfInventory(\"MissileLauncherAmmo\", 3, 1)\n\t\tGoto Dryfire\n\t\tRCKL A 0 A_PlaySound(\"ColaMissile/Superload\", CHAN_WEAPON)\n\t\tRCKL A 1 A_WeaponOffset(-1.0, 29.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(1.0, 27.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-2.0, 28.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-6.0, 32.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-8.0, 35.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-11.0, 38.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-12.0, 42.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-15.0, 57.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-17.0, 78.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-19.0, 98.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-20.0, 108.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-21.0, 112.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-24.0, 130.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-16.0, 128.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-10.0, 124.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-5.0, 116.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(-1.0, 108.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(1.0, 104.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(2.0, 100.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 94.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 89.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(4.0, 83.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(5.0, 77.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(5.0, 67.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(4.0, 50.0, WOF_INTERPOLATE)\n\t\tRCKL A 1 A_WeaponOffset(3.0, 35.0, WOF_INTERPOLATE)\n\t\tRCKL A 0 A_PlaySound(\"ColaMissile/Fire\",CHAN_WEAPON)\n\t\tRCKL A 0 A_GunFlash\n\t\tRCKL A 0 A_AlertMonsters\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 3, \"AltFireLevel3\")\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 2, \"AltFireLevel2\")\n\t\tRCKL B 0 A_JumpIfInventory(\"MissileLauncherLevel\", 1, \"AltFireLevel1\")\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile\",frandom(-0.7,0.7),1,9,0,5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile\",frandom(-5.7,-4.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile\",frandom(4.7,5.7),1,9,0,-5,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tAltFireLevel3:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",-8,0,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",0,0,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",8,1,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",-5,0,9,0,5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",0,0,9,0,8,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",5,1,9,0,5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",-5,0,9,0,-5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",0,0,9,0,-8,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile3\",5,1,9,0,-5,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tAltFireLevel2:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile2\",frandom(-0.7,0.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile2\",frandom(-5.7,-4.7),1,9,0,5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile2\",frandom(4.7,5.7),1,9,0,-5,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\tAltFireLevel1:\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile1\",frandom(-0.7,0.7),1,9,0,0,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile1\",frandom(-5.7,-4.7),1,9,0,5,frandom(-0.6,0.6))\n\t\tRCKL B 0 A_FireCustomMissile(\"ColaMissile1\",frandom(4.7,5.7),1,9,0,-5,frandom(-0.6,0.6))\n\t\tGoto FireAnim\n\t}\n}\n\nACTOR ColaMissile\n{\n\tScale 0.75\n\tRadius 11\n\tHeight 8\n\tSpeed 22\n\tDamage 20\n\tProjectile\n\tDeathSound \"ColaMissile/Explode\"\n\tDecal Scorch\n\tDamageType Fire\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK A 0 A_SpawnItemEx(\"ColaMissileFlame\",-15)\n\t\tSNEK A 1 bright A_Weave(4, 4, 1.2, 1.2)\n\t\tloop\n\tDeath:\n\t\tFRME A 0 A_SetScale(0.75, 0.75)\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME B 2 BRIGHT A_Explode(128, 160, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR ColaMissile1 : ColaMissile\n{\n\tSpeed 40\n\tDamage 30\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK A 1 A_SpawnItemEx(\"ColaMissileFlame\",-15)\n\t\tloop\n\t}\n}\n\nACTOR ColaMissile2 : ColaMissile1\n{\n\tStates\n\t{\n\tDeath:\n\t\tFRME A 0 A_SetScale(0.75, 0.75)\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME BBB 0 A_SpawnItemEx(\"SodaGrenadeThrown\", 0,0,8, random(4,12),0,random(5,10), random(0,359))\n\t\tFRME B 2 BRIGHT A_Explode(128, 160, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR ColaMissile3 : ColaMissile\n{\n\tSpeed 40\n\tDamage 20\n\tGravity 0.6\n\t+SeekerMissile\n\t+ScreenSeeker\n\tStates\n\t{\n\tSpawn:\n\t\tSNEK A 5\n\t\tSNEK A 0 A_SetGravity(0.0)\n\tSpawnLoop:\n\t\tSNEK A 1\n\t\t{\n\t\t\tA_Weave(4, 4, 1.2, 1.2);\n\t\t\tA_SpawnItemEx(\"ColaMissileFlame\",-15);\n\t\t\tA_SeekerMissile(45, 5, SMF_LOOK|SMF_PRECISE);\n\t\t}\n\t\tloop\n\t}\n}\n\nACTOR ColaMissileFlame\n{\n\tProjectile\n\t+NOCLIP\n\tScale 0.1\n\tStates\n\t{\n\tSpawn:\n\t\tFRME ABCDEFGHIJ 2 NoDelay BRIGHT A_SpawnItemEx(\"ColaMissileSmoke\",random(-1,1),0,1)\n\t\tStop\n\t}\n}\n\nACTOR ColaMissileSmoke : ColaMissileFlame\n{\n\tScale 0.0125\n\tAlpha 0.6\n\tRenderStyle Add\n\tStates\n\t{\n\tSpawn:\n\t\tSMOK ABCDEFGHIJKLMNOPQ 1 A_SetScale(scalex + 0.0125, scaley + 0.0125)\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/piledriver.txt",
"contents": "ACTOR PiledriverSelected : Inventory {}\n\nACTOR PiledriverLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR PiledriverExp : Ammo\n{\n\tInventory.MaxAmount 40\n\t+IGNORESKILL\n}\n\nACTOR PiledriverClip : Ammo\n{\n\tInventory.MaxAmount 20\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR PiledriverPressure : Ammo\n{\n\tInventory.MaxAmount 400\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR TinyGunSmoke\n{\n\tRadius 1\n\tHeight 1\n\tRenderStyle Add\n\tScale .0125\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\tStates\n\t{\n\tSpawn:\n\t\tSMOK ABCDEFGHIJKLMNOPQ 1 A_SetScale((scalex + 0.0125), (scaley + 0.0125))\n\t\tStop\n\t}\n}\n\nACTOR PiledriverSpear\n{\n\tRadius 6\n\tHeight 4\n\tPROJECTILE\n\t-NoGravity\n\t+BLOODSPLATTER\n\tSpeed 75\n\tDamage (50)\n\tDecal BulletChip\n\tStates\n\t{\n\tSpawn:\n\t\tBLAD A 1 A_SpawnItemEx(\"TinyGunSmoke\")\n\t\tLoop\n\tDeath:\n\tCrash:\n\t\tRSMK A 0 A_PlaySound(\"piledriver/hit\")\n\t\tRSMK A 0 A_ChangeFlag(NOGRAVITY, 1)\n\t\tRSMK A 0 A_SetTranslucent(0.9, 1)\n\t\tRSMK A 0 A_SetScale(1.5,1.5)\n\t\tRSMK A 0 A_SpawnDebris(\"TracerSpark\")\n\t\tRSMK A 2 A_SpawnDebris(\"PiledriverSpearChunks\")\n\t\tRSMK BCDE 2\n\t\tStop\n\tXDeath:\n\t\tTNT1 A 3 A_PlaySound(\"hitflesh\")\n\t\tStop\n\t}\n}\n\nACTOR PiledriverSpearExplosive : PiledriverSpear\n{\n\t+NoGravity\n\tDeathSound \"Piledriver/explode\"\n\tDecal Scorch\n\tDamage (20)\n\tStates\n\t{\n\tDeath:\n\tCrash:\n\tXDeath:\n\t\tFRME A 0 A_ChangeFlag(NOGRAVITY, 1)\n\t\tFRME A 0 A_SetScale(0.4,0.4)\n\t\tFRME A 0 A_SpawnDebris(\"TracerSpark\")\n\t\tFRME A 1 BRIGHT A_SpawnDebris(\"PiledriverSpearChunks\")\n\t\tFRME B 1 BRIGHT A_Explode(28,128,0)\n\t\tFRME CDEFGHIJ 1 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PiledriverSpearMedium : PiledriverSpear\n{\n\tSpeed 50\n\tDamage (40)\n}\n\nACTOR PiledriverSpearWeak : PiledriverSpear\n{\n\tSpeed 30\n\tDamage (25)\n}\n\nACTOR PiledriverAltfireSpear : PiledriverSpear\n{\n\t+NoGravity\n\t+Ripper\n\tSpeed 90\n\tDamage (100)\n}\n\nACTOR PiledriverAltfireSuperSpear : PiledriverSpear\n{\n\t+NoGravity\n\t+Ripper\n\tSpeed 50\n\tDamage (100)\n\tStates\n\t{\n\tSpawn:\n\t\tBLAD AAAAA 1 A_SpawnItemEx(\"TinyGunSmoke\")\n\t\tBLAD A 0 A_PlaySound(\"ColaMissile/Explode\", CHAN_AUTO)\n\t\tBLAD A 1 A_SpawnItemEx(\"ThrownRobotExplosion\")\n\t\tLoop\n\t}\n}\n\nACTOR PiledriverSpearChunks\n{\n\tHealth 4\n\tradius 3\n\theight 6\n\tspeed .1\n\tMass\t\t0\n\tBounceFactor 0.3\n\t+missile\n\t+doombounce\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\tStates\n\t{\n\tSpawn:\n\t\tFRG2 ABC 3\n\t\tLoop\n\tDeath:\n\t\tFRG2 D 120\n\t\tFRG2 D 1 A_FadeOut(0.05)\n\t\tWait\n\t}\n}\n\nACTOR Piledriver : ColaWeapon replaces PlasmaRifle\n{\n\tWeapon.AmmoType1 \"PiledriverClip\"\n\tWeapon.AmmoUse1 1\n\tWeapon.SlotNumber 6\n\tWeapon.AmmoType2 \"PiledriverExp\"\n\tWeapon.AmmoUse2 5\n\tWeapon.AmmoGive2 0\n\tWeapon.SisterWeapon \"PileDriverSuper\"\n\tInventory.PickupMessage \"Piledriver - \\\"Because nails are too small!\\\" (Slot 6)\"\n\tInventory.PickupSound \"Pickups/GetPiledriver\"\n\t+Weapon.Ammo_Optional\n\t+Weapon.Alt_Ammo_Optional\n\t+Weapon.Alt_Uses_Both\n\t+Weapon.NoAutoFire\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tPDRV Z -1\n\t\tWait\n\tSelect:\n\t\tPDRV A 0 A_GiveInventory(\"PiledriverSelected\", 1)\n\t\tPDRV A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tWait\n\tDeselect:\n\t\tPDRV A 0 A_TakeInventory(\"PiledriverSelected\", 999)\n\t\tPDRV A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tWait\n\tReady:\n\t\tPDRV A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tFire:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverClip\",1,1)\n\t\tGoto DryFire\n\t\tPDRV A 0 A_TakeInventory(\"PiledriverPressure\", 25)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 3, \"AltCheck\")\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\",250,\"FireHeavy\")\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\",100,\"FireMedium\")\n\tFireWeak:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 2, \"FireMedium\")\n\t\tPDRV A 0 A_PlayWeaponSound(\"Piledriver/FireWeak\")\n\t\tPDRV A 0 A_GunFlash\n\t\tPDRV A 0 A_AlertMonsters\n\t\tPDRV A 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"PiledriverSpearWeak\", 0, 1, 8)\n\t\tPDRV A 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 3)\n\t\tPDRV A 1 Offset(6,50) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,41) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 2)\n\t\tPDRV A 1 Offset(3,39) A_SetPitch(pitch + (1.25 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(2,33) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(1,31)\n\t\tPDRV A 1 A_Refire\n\t\tGoto Ready\n\tFireMedium:\n\t\tPDRV A 0 A_PlayWeaponSound(\"Piledriver/FireMedium\")\n\t\tPDRV A 0 A_GunFlash\n\t\tPDRV A 0 A_AlertMonsters\n\t\tPDRV A 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"PiledriverSpearMedium\", 0, 1, 8)\n\t\tPDRV A 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 3)\n\t\tPDRV A 1 Offset(6,50) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,41) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 2)\n\t\tPDRV A 1 Offset(3,39) A_SetPitch(pitch + (1.25 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(2,33) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(1,31)\n\t\tPDRV A 1 A_Refire\n\t\tGoto Ready\n\tFireHeavy:\n\t\tPDRV A 0 A_PlayWeaponSound(\"Piledriver/FireHeavy\")\n\t\tPDRV A 0 A_GunFlash\n\t\tPDRV A 0 A_AlertMonsters\n\t\tPDRV A 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"PiledriverSpear\", 0, 1, 8)\n\t\tPDRV A 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 3)\n\t\tPDRV A 1 Offset(6,50) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,41) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 2)\n\t\tPDRV A 1 Offset(3,39) A_SetPitch(pitch + (1.25 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(2,33) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(1,31)\n\t\tPDRV A 1 A_Refire\n\t\tGoto Ready\n\tFireSuperHeavy:\n\t\tPDRV A 0 A_PlayWeaponSound(\"Piledriver/FireHeavy\")\n\t\tPDRV A 0 A_GunFlash\n\t\tPDRV A 0 A_AlertMonsters\n\t\tPDRV A 1 BRIGHT Offset(2,36) A_FireCustomMissile(\"PiledriverSpearExplosive\", 0, 1, 8)\n\t\tPDRV A 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 3)\n\t\tPDRV A 1 Offset(6,50) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(5,48) A_SetPitch(pitch - (1.0 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,41) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverLevel\", 1, 2)\n\t\tPDRV A 1 Offset(3,39) A_SetPitch(pitch + (1.25 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(2,33) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(1,31)\n\t\tPDRV A 1 A_Refire\n\t\tGoto Ready\n\tAltCheck:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\",250,\"FireSuperHeavy\")\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\",100,\"FireHeavy\")\n\t\tGoto FireMedium\n\tDryfire:\n\t\tPDRV A 0 A_JumpIf(CallACS(\"Autoreload\")==1,\"Reload\")\n\tBenignDryfire:\n\t\tPDRV A 1 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tPDRV A 1 Offset(2,34)\n\t\tPDRV A 1 Offset(1,33)\n\t\tGoto Ready\n\tDrypressure:\n\t\tPDRV A 1 A_PlaySound(\"Piledriver/Dry\", 5)\n\t\tPDRV A 1 Offset(2,34)\n\t\tPDRV A 1 Offset(1,33)\n\t\tGoto Ready\n\tReload:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverClip\", 0, 1)\n\t\tGoto ReloadStart\n\t\tPDRV A 1 A_WeaponReady(WRF_NOFIRE)\n\t\tGoto Ready\n\tReloadStart:\n\t\tPDRV B 1 A_PlaySound(\"Piledriver/Reload\", 5)\n\t\tPDRV B 1 Offset(1,35)\n\t\tPDRV B 1 Offset(2,38)\n\t\tPDRV B 1 Offset(3,41)\n\t\tPDRV B 1 Offset(4,44)\n\t\tPDRV B 1 Offset(5,47)\n\t\tPDRV B 1 Offset(6,50)\n\t\tPDRV B 1 Offset(7,52)\n\t\tPDRV B 1 Offset(8,54)\n\t\tPDRV B 1 Offset(9,56)\n\t\tPDRV B 1 Offset(10,57)\n\t\tPDRV B 1 Offset(11,58)\n\t\tPDRV B 1 Offset(13,59)\n\t\tPDRV B 1 Offset(14,60)\n\t\tPDRV B 1 Offset(12,65)\n\t\tPDRV B 1 Offset(11,66)\n\t\tPDRV B 1 Offset(10,67)\n\t\tPDRV B 1 Offset(9,68)\n\t\tPDRV B 1 Offset(8,69)\n\t\tPDRV B 1 Offset(7,70)\n\t\tPDRV B 1 Offset(8,69)\n\t\tPDRV B 1 Offset(9,68)\n\t\tPDRV B 1 Offset(12,67)\n\t\tPDRV B 1 Offset(13,69)\n\t\tPDRV B 1 Offset(14,71)\n\t\tPDRV B 1 Offset(15,72)\n\t\tPDRV B 1 Offset(16,73)\n\t\tPDRV B 1 Offset(17,74)\n\t\tPDRV B 1 Offset(18,75)\n\t\tPDRV B 1 Offset(19,76)\n\t\tPDRV B 1 Offset(18,75)\n\t\tPDRV B 1 Offset(17,74)\n\t\tPDRV B 1 Offset(16,73)\n\t\tPDRV B 1 Offset(15,72)\n\t\tPDRV B 1 Offset(14,70)\n\t\tPDRV B 1 Offset(13,68)\n\t\tPDRV B 1 Offset(12,66)\n\t\tPDRV B 1 Offset(11,57)\n\t\tPDRV A 1 Offset(9,50)\n\t\tPDRV A 1 Offset(5,45)\n\t\tPDRV A 1 Offset(2,39)\n\t\tPDRV A 1 Offset(1,35)\n\t\tPDRV A 1 Offset(-1,34)\n\t\tPDRV A 1 Offset(-2,35)\n\t\tPDRV A 1 Offset(-3,35)\n\t\tPDRV A 1 Offset(-3,36)\n\t\tPDRV A 1 Offset(-4,36)\n\t\tPDRV A 1 Offset(-4,37)\n\t\tPDRV A 1 Offset(-4,38)\n\t\tPDRV A 1 Offset(-5,40)\n\t\tPDRV A 1 Offset(-5,42)\n\t\tPDRV A 1 Offset(-5,41)\n\t\tPDRV A 1 Offset(-5,40)\n\t\tPDRV A 1 Offset(-6,39)\n\t\tPDRV A 1 Offset(-6,39)\n\t\tPDRV A 1 Offset(-6,38)\n\t\tPDRV A 1 Offset(-6,37)\n\t\tPDRV A 1 Offset(-6,36) A_GiveInventory(\"PiledriverClip\", 999)\n\t\tPDRV A 1 Offset(-5,35)\n\t\tPDRV A 1 Offset(-5,34)\n\t\tPDRV A 1 Offset(-5,33)\n\t\tPDRV A 1 Offset(-5,33)\n\t\tPDRV A 1 Offset(-4,32)\n\t\tPDRV A 1 Offset(-3,32)\n\t\tPDRV A 1 Offset(-2,32)\n\t\tPDRV A 1 Offset(-1,32)\n\t\tGoto Ready\n\tAltfire:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverExp\", 5, 1)\n\t\tGoto BenignDryfire\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverClip\", 1, 1)\n\t\tGoto Dryfire\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\", 50, 1)\n\t\tGoto Drypressure\n\t\tPDRV AAAAA 1 A_WeaponOffset(frandom(-2.0, 2.0), frandom(30.0, 34.0), WOF_INTERPOLATE)\n\t\tPDRV A 1 {\n\t\t\tA_AlertMonsters;\n\t\t\tA_GunFlash;\n\t\t\tA_PlaySound(\"Piledriver/AltFire\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"PiledriverAltfireSpear\", 0,1,8);\n\t\t\tA_WeaponOffset(2, 2, WOF_ADD|WOF_INTERPOLATE);\n\t\t\tA_TakeInventory(\"PiledriverPressure\", 999);\n\t\t}\n\t\tPDRV A 1 A_Weaponoffset(8, 8, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(1, 1, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-2, -2, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-8, -8, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\t}\n}\n\nACTOR PileDriverSuper : Piledriver\n{\n\tWeapon.SisterWeapon \"Piledriver\"\n\t+POWERED_UP\n\tStates\n\t{\n\tFire:\n\t\tPDRV A 0 A_PlayWeaponSound(\"Piledriver/FireHeavy\")\n\t\tPDRV A 0 A_GunFlash\n\t\tPDRV A 0 A_AlertMonsters\n\t\tPDRV A 1 BRIGHT Offset(2,36) {\n\t\t\tA_FireCustomMissile(\"PiledriverPiercingSpear\", 0, 0, 8);\n\t\t\tA_FireCustomMissile(\"PiledriverPiercingSpear\", -8, 0, 8);\n\t\t\tA_FireCustomMissile(\"PiledriverPiercingSpear\", 8, 0, 8);\n\t\t}\n\t\tPDRV A 1 BRIGHT Offset(5,42) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,45) A_SetPitch(pitch - (0.5 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(4,41) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(3,39) A_SetPitch(pitch + (1.25 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(2,33) A_SetPitch(pitch + (0.75 * CallACS(\"RecoilAmount\")), SPF_INTERPOLATE)\n\t\tPDRV A 1 Offset(1,31)\n\t\tPDRV A 1 A_Refire\n\t\tGoto Ready\n\tAltfire:\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverExp\", 5, 1)\n\t\tGoto BenignDryfire\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverClip\", 1, 1)\n\t\tGoto Dryfire\n\t\tPDRV A 0 A_JumpIfInventory(\"PiledriverPressure\", 50, 1)\n\t\tGoto Drypressure\n\t\tPDRV AAAAA 1 A_WeaponOffset(frandom(-2.0, 2.0), frandom(30.0, 34.0), WOF_INTERPOLATE)\n\t\tPDRV A 1 {\n\t\t\tA_AlertMonsters;\n\t\t\tA_GunFlash;\n\t\t\tA_PlaySound(\"Piledriver/AltFire\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"PiledriverAltfireSuperSpear\", 0,1,8);\n\t\t\tA_WeaponOffset(2, 2, WOF_ADD|WOF_INTERPOLATE);\n\t\t\tA_TakeInventory(\"PiledriverPressure\", 999);\n\t\t}\n\t\tPDRV A 1 A_Weaponoffset(8, 8, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(1, 1, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-2, -2, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-8, -8, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tPDRV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\t}\n}\n\nACTOR PiledriverPiercingSpear : PiledriverSpear\n{\n\t+RIPPER\n}"
},
{
"source": "pk3",
"name": "actors/weapons/plasmaautorifle.txt",
"contents": "ACTOR PlasmaAutorifleSelected : Inventory {}\n\nACTOR PlasmaAutorifleLevel : Inventory\n{\n\tInventory.MaxAmount 3\n}\n\nACTOR PlasmaAutorifleExp : Ammo\n{\n\tInventory.MaxAmount 40\n\t+IGNORESKILL\n}\n\nACTOR PlasmaAutorifleClip : Ammo\n{\n\tInventory.MaxAmount 20\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR PlasmaAutorifleHeat : Ammo\n{\n\tInventory.MaxAmount 1500\n\t+INVENTORY.IGNORESKILL\n}\n\nACTOR PlasmaAutorifleBullet : FastProjectile\n{\n\tRadius 6\n\tHeight 4\n\tPROJECTILE\n\t+BLOODSPLATTER\n\tSpeed 75\n\tDamage (4*random(1,3))\n\tDecal BulletChip\n\tScale 0.5\n\tSeeSound \"\"\n\tMissileType \"PlasmaAutorifleBulletTrail\"\n\tMissileHeight 8\n\tRenderStyle Add\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[2.00,1.00,0.00]\"\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDEF 2 Bright\n\t\tLoop\n\tDeath:\n\t\tSLSE ABCDEF 2 Bright\n\t\tStop\n\t}\n}\n\nACTOR PlasmaAutorifleBulletTrail\n{\n\tScale 0.5\n\tRenderStyle Add\n\t+NoGravity\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[2.00,1.00,0.00]\"\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDEF 1 Bright A_FadeOut(0.2)\n\t\tStop\n\t}\n}\n\nACTOR PlasmaAutorifleBulletLevel1 : PlasmaAutorifleBullet\n{\n\tDamage (6*random(1,3))\n\tMissileType \"PlasmaAutorifleBulletTrailLevel1\"\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[1.00,0.00,1.00]\"\n}\n\nACTOR PlasmaAutorifleBulletTrailLevel1 : PlasmaAutorifleBulletTrail\n{\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[1.00,0.00,1.00]\"\n}\n\nACTOR PlasmaAutorifleBulletLevel2 : PlasmaAutorifleBullet\n{\n\tDamage (8*random(1,3))\n\tMissileType \"PlasmaAutorifleBulletTrailLevel2\"\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,1.00,2.00]\"\n}\n\nACTOR PlasmaAutorifleBulletTrailLevel2 : PlasmaAutorifleBulletTrail\n{\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,1.00,2.00]\"\n}\n\nACTOR PlasmaAutorifleBulletLevel3 : PlasmaAutorifleBullet\n{\n\tDamage (10*random(1,3))\n\tMissileType \"PlasmaAutorifleBulletTrailLevel3\"\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]\"\n}\n\nACTOR PlasmaAutorifleBulletTrailLevel3 : PlasmaAutorifleBulletTrail\n{\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]\"\n}\n\nACTOR PlasmaAutorifleBulletLevelX : PlasmaAutorifleBullet\n{\n\tDamage (15*random(1,3))\n\tMissileType \"PlasmaAutorifleBulletTrailLevelX\"\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[2.00,0.00,0.00]\"\n}\n\nACTOR PlasmaAutorifleBulletTrailLevelX : PlasmaAutorifleBulletTrail\n{\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[2.00,0.00,0.00]\"\n}\n\nACTOR PlasmaMercuryMissile\n{\n\tScale 0.75\n\tRadius 11\n\tHeight 8\n\tSpeed 50\n\tDamage (100)\n\tProjectile\n\tDeathSound \"MercuryMissile/Explode\"\n\tDecal Scorch\n\tDamageType Fire\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tMRCM A 1 Bright A_SpawnItemEx(\"ColaMissileFlameSmaller\",-15)\n\t\tloop\n\tDeath:\n\t\tFRME A 0 A_SetScale(0.5, 0.5)\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME B 2 BRIGHT A_Explode(32, 96, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PlasmaSmartMissile\n{\n\tScale 0.75\n\tRadius 11\n\tHeight 8\n\tSpeed 50\n\tDamage (100)\n\tProjectile\n\tDeathSound \"MercuryMissile/Explode\"\n\tDecal Scorch\n\tDamageType Fire\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tMRCM A 1 Bright A_SpawnItemEx(\"ColaMissileFlameSmaller\",-15)\n\t\tloop\n\tDeath:\n\t\tFRME A 0 A_SetScale(0.5, 0.5)\n\t\tFRME AAAAAAAAA 0 A_SpawnProjectile(\"PlasmaSmartMissileBullet\", 0, 0, frandom(90.0,270.0), CMF_AIMDIRECTION|CMF_TRACKOWNER|CMF_ABSOLUTEPITCH, random(-30,30))\n\t\tFRME A 2 BRIGHT A_Scream\n\t\tFRME B 2 BRIGHT A_Explode(32, 96, 0)\n\t\tFRME BCDEFGHIJ 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR PlasmaSmartMissileBullet : PlasmaAutorifleBullet\n{\n\tDamage (10*random(1,3))\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]\"\n\t+SEEKERMISSILE\n\tSpeed 10\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDEF 2 Bright {\n\t\t\tA_SeekerMissile(360,25, SMF_LOOK|SMF_PRECISE);\n\t\t\tA_SpawnItemEx(\"PlasmaSmartMissileBulletTrail\");\n\t\t}\n\t\tLoop\n\tDeath:\n\t\tSLSE ABCDEF 2 Bright\n\t\tStop\n\t}\n}\n\nACTOR PlasmaSmartMissileBulletTrail : PlasmaAutorifleBulletTrail\n{\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,0.00]\"\n}\n\nACTOR ColaMissileFlameSmaller : ColaMissileFlame\n{\n\tScale 0.1\n}\n\nACTOR PlasmaAutorifle : ColaWeapon replaces Chaingun\n{\n\tWeapon.AmmoType1 \"PlasmaAutorifleHeat\"\n\tWeapon.AmmoUse1 0\n\tWeapon.SlotNumber 4\n\tWeapon.AmmoType2 \"PlasmaAutorifleExp\"\n\tWeapon.AmmoUse2 5\n\tWeapon.AmmoGive2 0\n\tWeapon.SisterWeapon \"PlasmaAutorifleSuper\"\n\tInventory.PickupMessage \"Plasma Autorifle - \\\"The hotter, the faster!\\\" (Slot 4)\"\n\tInventory.PickupSound \"Pickups/GetPlasma\"\n\tTag \"Plasma Autorifle\"\n\t+Weapon.Ammo_Optional\n\t+Weapon.Alt_Ammo_Optional\n\tStates\n\t{\n\tSpawn:\n\t\tPARP A 0 NoDelay A_CheckFlag(\"TOSSED\", \"DropNothing\")\n\t\tPARP A -1\n\t\tWait\n\tDropNothing:\n\t\tPARP A 0\n\t\tStop // Poof!\n\tSelect:\n\t\tZPLV A 0 A_GiveInventory(\"PlasmaAutorifleSelected\", 1)\n\t\tZPLV A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tWait\n\tDeselect:\n\t\tZPLV A 0 A_TakeInventory(\"PlasmaAutorifleSelected\", 999)\n\t\tZPLV A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tWait\n\tReady:\n\t\tZPL0 A 0 A_JumpIfInventory(\"PlasmaAutorifleLevel\", 3, \"Ready3\")\n\t\tZPL0 A 0 A_JumpIfInventory(\"PlasmaAutorifleLevel\", 2, \"Ready2\")\n\t\tZPL0 A 0 A_JumpIfInventory(\"PlasmaAutorifleLevel\", 1, \"Ready1\")\n\t\tZPL0 A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tGoto Ready\n\tReady1:\n\t\tZPL1 A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tGoto Ready\n\tReady2:\n\t\tZPL2 A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tGoto Ready\n\tReady3:\n\t\tZPL3 A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tGoto Ready\n\tFire:\n\t\t\"####\" A 0 A_JumpIfInventory(\"PlasmaAutorifleHeat\", 1490, \"Overheat\")\n\t\t\"####\" B 1 BRIGHT {\n\t\t\tA_GunFlash;\n\t\t\tA_AlertMonsters;\n\t\t\tif (CountInv(\"PlasmaAutorifleLevel\") < 1) {\n\t\t\t\tA_FireCustomMissile(\"PlasmaAutorifleBullet\", frandom(-3.0, 3.0), 1, 8, 0, FPF_AIMATANGLE, frandom(-2.0, 2.0));\n\t\t\t\tA_PlayWeaponSound(\"PlasmaAutorifle/Fire0\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutorifleLevel\") == 1) {\n\t\t\t\tA_FireCustomMissile(\"PlasmaAutorifleBulletLevel1\", frandom(-3.0, 3.0), 1, 8, 0, FPF_AIMATANGLE, frandom(-2.0, 2.0));\n\t\t\t\tA_PlayWeaponSound(\"PlasmaAutorifle/Fire1\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutorifleLevel\") == 2) {\n\t\t\t\tA_FireCustomMissile(\"PlasmaAutorifleBulletLevel2\", frandom(-3.0, 3.0), 1, 8, 0, FPF_AIMATANGLE, frandom(-2.0, 2.0));\n\t\t\t\tA_PlayWeaponSound(\"PlasmaAutorifle/Fire2\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutorifleLevel\") > 2) {\n\t\t\t\tA_FireCustomMissile(\"PlasmaAutorifleBulletLevel3\", frandom(-3.0, 3.0), 1, 8, 0, FPF_AIMATANGLE, frandom(-2.0, 2.0));\n\t\t\t\tA_PlayWeaponSound(\"PlasmaAutorifle/Fire3\");\n\t\t\t}\n\t\t\tA_WeaponOffset(5.0, 5.0, WOF_ADD|WOF_INTERPOLATE);\n\t\t}\n\t\t\"####\" A 1 BRIGHT {\n\t\t\tif (CountInv(\"PlasmaAutoRifleHeat\") <= 200 && CountInv(\"PlasmaAutorifleLevel\") < 1) {\n\t\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 80);\n\t\t\t\tA_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE);\n\t\t\t\treturn state(\"FireReturn5\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutoRifleHeat\") <= 400 && CountInv(\"PlasmaAutorifleLevel\") < 2 ) {\n\t\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 55);\n\t\t\t\tA_WeaponOffset(-1.5, -1.5, WOF_ADD|WOF_INTERPOLATE);\n\t\t\t\treturn state(\"FireReturn4\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutoRifleHeat\") <= 750) {\n\t\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 40);\n\t\t\t\tA_WeaponOffset(-2.0, -2.0, WOF_ADD|WOF_INTERPOLATE);\n\t\t\t\treturn state(\"FireReturn3\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutoRifleHeat\") <= 1100) {\n\t\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 30);\n\t\t\t\tA_WeaponOffset(-2.5, -2.5, WOF_ADD|WOF_INTERPOLATE);\n\t\t\t\treturn state(\"FireReturn2\");\n\t\t\t}\n\t\t\telse if (CountInv(\"PlasmaAutoRifleHeat\") > 1100) {\n\t\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 19);\n\t\t\t\tA_WeaponOffset(-3.0, -3.0, WOF_ADD|WOF_INTERPOLATE);\n\t\t\t\treturn state(\"FireReturn1\");\n\t\t\t}\n\t\t\treturn state(\"Null\");\n\t\t}\n\tFireReturn5:\n\t\t\"####\" AAAAA 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tGoto Ready\n\tFireReturn4:\n\t\t\"####\" AAAA 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tGoto Ready\n\tFireReturn3:\n\t\t\"####\" AAA 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tGoto Ready\n\tFireReturn2:\n\t\t\"####\" AA 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tGoto Ready\n\tFireReturn1:\n\t\t\"####\" A 1 A_WeaponOffset(frandom(4.0, 10.0), frandom(34.0, 44.0), WOF_INTERPOLATE)\n\t\tGoto Ready\n\tOverheat:\n\t\tZPLV A 0 A_JumpIfInventory(\"PlasmaAutorifleLevel\", 3, \"OverheatFlamer\")\n\t\tZPLV A 0 A_PlaySound(\"plasmaautorifle/heathiss\", CHAN_AUTO)\n\tOverheatLoop:\n\t\tZPLV A 0 A_PlaySound(\"plasmaautorifle/heatbeep\", CHAN_AUTO)\n\t\tZPLV BBBBAAAAAAAAAA 1 {\n\t\t\tA_SpawnItemEx(\"TinyGunSmoke\", 16,4,36, 2.0, 2.0, 1.0);\n\t\t\tA_TakeInventory(\"PlasmaAutorifleHeat\", 15);\n\t\t}\n\t\tZPLV A 0 A_JumpIfInventory(\"PlasmaAutorifleHeat\", 50, \"OverheatLoop\")\n\t\tGoto Ready\n\tOverheatFlamer:\n\t\tZPLV A 0 A_PlaySound(\"plasmaautorifle/heatbeep\", CHAN_AUTO)\n\t\tZPLV BBBBAAAAAAAAAA 1 {\n\t\t\tA_SpawnItemEx(\"TinyGunSmoke\", 16,4,36, 2.0, 2.0, 1.0);\n\t\t\tA_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, 8);\n\t\t\tA_TakeInventory(\"PlasmaAutorifleHeat\", 10);\n\t\t}\n\t\tZPLV A 0 A_JumpIfInventory(\"PlasmaAutorifleHeat\", 50, \"OverheatFlamer\")\n\t\tGoto Ready\n\tAltfire:\n\t\tZPLV A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tZPLV A 1 {\n\t\t\tA_AlertMonsters;\n\t\t\tA_GunFlash;\n\t\t\tA_PlaySound(\"MercuryMissile/Fire\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"PlasmaMercuryMissile\", 0,1,8, -2);\n\t\t\tA_WeaponOffset(2, 2, WOF_ADD|WOF_INTERPOLATE);\n\t\t}\n\t\tZPLV A 1 A_Weaponoffset(8, 8, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(1, 1, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-2, -2, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-8, -8, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\tDryfire:\n\t\tZPLV A 1 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tZPLV A 1 Offset(2,34)\n\t\tZPLV A 1 Offset(1,33)\n\t\tZPLV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\t}\n}\n\nACTOR PlasmaAutorifleSuper : PlasmaAutorifle\n{\n\tWeapon.SisterWeapon \"PlasmaAutorifle\"\n\t+POWERED_UP\n\tStates\n\t{\n\tReady:\n\t\tZPLV B 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tGoto Ready\n\tFire:\n\t\tZPLF B 1 BRIGHT {\n\t\t\tA_GunFlash;\n\t\t\tA_AlertMonsters;\n\t\t\tA_FireCustomMissile(\"PlasmaAutorifleBulletLevelX\", frandom(-3.0, 3.0), 1, 8, 0, FPF_AIMATANGLE, frandom(-2.0, 2.0));\n\t\t\tA_PlayWeaponSound(\"PlasmaAutorifle/FireX\");\n\t\t\tA_WeaponOffset(5.0, 5.0, WOF_ADD|WOF_INTERPOLATE);\n\t\t\tif ( CountInv(\"PlasmaAutorifleHeat\") > 1300 )\n\t\t\t{\n\t\t\t\tA_SpawnItemEx(\"TinyGunSmoke\", 16,4,36, 2.0, 2.0, 1.0);\n\t\t\t\tA_FireCustomMissile(\"OverheatFlamebolt\", 0, 0, 8);\n\t\t\t\tA_TakeInventory(\"PlasmaAutorifleHeat\", 10);\n\t\t\t}\n\t\t}\n\t\tZPLV B 1 BRIGHT {\n\t\t\tA_GiveInventory(\"PlasmaAutoRifleHeat\", 60);\n\t\t\tA_WeaponOffset(-2.5, -2.5, WOF_ADD|WOF_INTERPOLATE);\n\t\t}\n\t\tZPLV BB 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tGoto Ready\n\tAltfire:\n\t\tZPLV A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tZPLV A 1 {\n\t\t\tA_AlertMonsters;\n\t\t\tA_GunFlash;\n\t\t\tA_PlaySound(\"MercuryMissile/SmartFire\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"PlasmaSmartMissile\", 0,1,8, -2);\n\t\t\tA_WeaponOffset(2, 2, WOF_ADD|WOF_INTERPOLATE);\n\t\t}\n\t\tZPLV A 1 A_Weaponoffset(8, 8, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(1, 1, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-2, -2, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-8, -8, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 1 A_Weaponoffset(-4, -4, WOF_ADD|WOF_INTERPOLATE)\n\t\tZPLV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\tDryfire:\n\t\tZPLV A 1 A_PlaySound(\"weapons/dryfire\", 5)\n\t\tZPLV A 1 Offset(2,34)\n\t\tZPLV A 1 Offset(1,33)\n\t\tZPLV A 10 A_WeaponReady(WRF_NOSECONDARY)\n\t\tGoto Ready\n\t}\n}\n\nACTOR OverheatFlamebolt\n{\n\tDamage (random(1,4))\n\tAlpha .9\n\tRenderStyle Add\n\tSpeed 25\n\tRadius 16\n\tScale .05\n\tProjectile\n\t+RIPPER\n\t+BLOODLESSIMPACT\n\t+DONTBLAST\n\tSeeSound \"plasmaautorifle/flamerfire\"\n\tDamageType Fire\n\tDecal Scorch\n\tObituary \"%o was burninated by %k.\"\n\tProjectileKickback 20\n\tStates\n\t{\n\tSpawn:\n\t\tFBLX A 0 NoDelay //A_Jump(128,\"SpawnMirrored\")\n\t\tFBLX ABCD 2 BRIGHT A_SetScale(scalex+0.05)\n\t\tFBLX E 0 A_Explode(2,64,0)\n\t\tFBLX E 2 BRIGHT A_SetScale(scalex+0.05)\n\t\tFBLX FGHI 2 BRIGHT A_SetScale(scalex+0.1)\n\t\tFBLX JK 2 BRIGHT A_SetScale(scalex+0.15)\n\t\tStop\n\t/*SpawnMirrored:\n\t\tFBLX A 0 A_SetScale(-0.1,0.1)\n\t\tFBLX ABCD 2 BRIGHT A_SetScale(scalex-0.05)\n\t\tFBLX E 0 A_Explode(2,64)\n\t\tFBLX E 2 BRIGHT A_SetScale(scalex-0.05)\n\t\tFBLX FGHI 2 BRIGHT A_SetScale(scalex-0.1)\n\t\tFBLX JK 2 BRIGHT A_SetScale(scalex-0.15)*/\n\tDeath:\n\t\tFBLX A 1 Bright A_Explode(2,64,0)\n\t\tFBLX BCDEFGHIJK 1 BRIGHT\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/weapons/toothpastelaser.txt",
"contents": "ACTOR ToothpasteProjectile : FastProjectile\n{\n\tScale 0.3\n\tDamage (4)\n\tSpeed 60\n\tProjectile\n\t+SEEKERMISSILE\n\t+SCREENSEEKER\n\t+SKYEXPLODE\n\t+RIPPER\n\tRenderStyle Add\n\tAlpha 0.8\n Decal \"ToothpasteLightning\"\n\tMissileType \"ToothpasteTrail\"\n\tMissileHeight 8\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,1.00]\"\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABC 1 BRIGHT\n\tSpawnLoop:\n\t\tSLSS DEFABC 1 Bright A_SeekerMissile(2, 2, SMF_PRECISE|SMF_LOOK, 256)\n\t\tLoop\n\tDeath:\n\t\tSLSE ABCDEF 2 Bright\n\t\tStop\n\t}\n}\n\nACTOR ToothpasteProjectileAltfire : ToothpasteProjectile\n{\n\t-RIPPER\n\t-SEEKERMISSILE\n\t-SCREENSEEKER\n\tDamage (20)\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDEF 1 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR SuperToothpasteProjectile : ToothpasteProjectile\n{\n\tScale 1.0\n\tDamage (30)\n\tSpeed 70\n\tMissileType \"SuperToothpasteTrail\"\n\tMissileHeight 12\n Decal \"BigToothpasteLightning\"\n\t-SEEKERMISSILE\n\t-SCREENSEEKER\n\t+EXTREMEDEATH\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDEF 1 Bright\n\t\tLoop\n\t}\n}\n\nACTOR ToothpasteTrail\n{\n\tRenderStyle Add\n\tAlpha 0.8\n\tScale 0.3\n\t+NoGravity\n\tTranslation \"0:255=%[0.00,0.00,0.00]:[0.00,2.00,1.00]\"\n\tStates\n\t{\n\tSpawn:\n\t\tSLSS ABCDE 2 Bright\n\t\tSLSS FABCDE 1 Bright A_FadeOut(0.06)\n\t\tWait\n\t}\n}\n\nACTOR SuperToothpasteTrail : ToothpasteTrail\n{\n\tScale 1.0\n}\n\nACTOR ToothpasteCharge : Ammo\n{\n\tInventory.MaxAmount 100\n}\n\nACTOR ToothpasteLaser : ColaWeapon replaces BFG9000\n{\n\tWeapon.SlotNumber 7\n\tWeapon.AmmoType1 \"ToothpasteCharge\"\n\tWeapon.AmmoType2 \"ToothpasteCharge\"\n\tInventory.PickupMessage \"Toothpaste Laser - \\\"Dealing with plaque (and demons), the sci-fi way!\\\" (Slot 7)\"\n\tInventory.PickupSound \"Pickups/GetToothpaste\"\n\tScale 1.2\n\tTag \"Toothpaste Laser\"\n\tStates\n\t{\n\tReady:\n\t\tTPLG A 1 A_WeaponReady(WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tTPLG A 1 {\n\t\t\tA_Lower;\n\t\t\tA_Lower;\n\t\t\t}\n\t\tLoop\n\tSelect:\n\t\tTPLG A 1 {\n\t\t\tA_Raise;\n\t\t\tA_Raise;\n\t\t}\n\t\tLoop\n\tFire:\n\t\tTPLG A 1 { if (CountInv(\"ToothpasteCharge\") < 1) { A_PlaySound(\"ToothpasteLaser/Charge\", CHAN_WEAPON); } }\n\t\tTPLG A 1 {\n\t\t\tif (CountInv(\"ToothpasteCharge\") == 100) {\n\t\t\t\treturn state(\"FireForReal\");\n\t\t\t}\n\t\t\telse if (CountInv(\"ToothpasteCharge\") >= 75) {\n\t\t\t\tA_Overlay(2, \"OverlayChargeFull\");\n\t\t\t\tA_WeaponOffset(random(-6, 6), random(32, 40), WOF_INTERPOLATE);\n\t\t\t\tA_GiveInventory(\"ToothpasteCharge\", 1 + ( CountInv(\"PowerWeaponLevel2\") * 2 ) );\n\t\t\t}\n\t\t\telse if (CountInv(\"ToothpasteCharge\") >= 33) {\n\t\t\t\tA_Overlay(2, \"OverlayChargeMedium\");\n\t\t\t\tA_WeaponOffset(random(-6, 6), random(32, 40), WOF_INTERPOLATE);\n\t\t\t\tA_PlaySound(\"alienblaster/ready\", CHAN_5);\n\t\t\t\tA_GiveInventory(\"ToothpasteCharge\", 1 + ( CountInv(\"PowerWeaponLevel2\") * 2 ) );\n\t\t\t}\n\t\t\telse if (CountInv(\"ToothpasteCharge\") < 33) {\n\t\t\t\tA_Overlay(2, \"OverlayChargeLow\");\n\t\t\t\tA_WeaponOffset(random(-3, 3), random(32, 36), WOF_INTERPOLATE);\n\t\t\t\tA_GiveInventory(\"ToothpasteCharge\", 1 + ( CountInv(\"PowerWeaponLevel2\") * 2 ) );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tA_WeaponOffset(random(-1, 1), random(32, 34), WOF_INTERPOLATE);\n\t\t\t\tA_GiveInventory(\"ToothpasteCharge\", 1 + ( CountInv(\"PowerWeaponLevel2\") * 2 ) );\n\t\t\t}\n\t\t\treturn state(\"RefireCheck\");\n\t\t}\n\tRefireCheck:\n\t\tTPLG A 1 A_Refire\n\tFireForReal:\n\t\tTPLG B 2 BRIGHT {\n\t\t\tif (CountInv(\"ToothpasteCharge\") >= 75) {\n\t\t\t\tA_PlaySound(\"ToothpasteLaser/firehigh\", CHAN_WEAPON);\n\t\t\t\tA_GunFlash;\n\t\t\t\tA_AlertMonsters;\n\t\t\t\treturn state(\"FireHeavy\");\n\t\t\t}\n\t\t\telse if (CountInv(\"ToothpasteCharge\") >= 33) {\n\t\t\t\tA_PlaySound(\"ToothpasteLaser/firemedium\", CHAN_WEAPON);\n\t\t\t\tA_GunFlash;\n\t\t\t\tA_AlertMonsters;\n\t\t\t\treturn state(\"FireMedium\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tA_PlaySound(\"ToothpasteLaser/firelow\", CHAN_WEAPON);\n\t\t\t\tA_GunFlash;\n\t\t\t\tA_AlertMonsters;\n\t\t\t\treturn state(\"FireLow\");\n\t\t\t}\n\t\t\treturn state(\"Null\");\n\t\t}\n\tFireHeavy:\n\t\tTPLG A 0 A_FireCustomMissile(\"SuperToothpasteProjectile\", 0, 0, 6)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -5, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, -2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -5, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, 2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 5, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, -2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 5, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, 2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -6, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 6, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM)\n\t\tGoto FireFinish\n\tFireMedium:\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -4, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, -2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -4, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, 2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 4, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, -2.5)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 4, 0, 6, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM, 2.5)\n\t\tGoto FireFinish\n\tFireLow:\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", -4, 0, 7, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM)\n\t\tTPLG A 0 A_FireCustomMissile(\"ToothpasteProjectile\", 4, 0, 7, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM)\n\t\tGoto FireFinish\n\tFireFinish:\n\t\tTPLG A 0 A_TakeInventory(\"ToothpasteCharge\", 999)\n\t\tTPLG E 1 A_WeaponOffset(2.0, 2.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(4.0, 4.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(8.0, 8.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(10.0, 10.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(9.0, 9.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(7.0, 7.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(5.0, 5.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(3.0, 3.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(1.0, 1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(-1.0, -1.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(-2.0, -2.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(-4.0, -4.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(-6.0, -6.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(-10.0, -10.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-8.0, -8.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-6.0, -6.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-4.0, -4.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-2.5, -2.5, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-1.5, -1.5, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(0.0, 32.0, WOF_INTERPOLATE)\n\t\tGoto Ready\n\tAltfire:\n\t\tTPLG E 1 BRIGHT {\n\t\t\tA_GunFlash;\n\t\t\tA_AlertMonsters;\n\t\t\tA_PlaySound(\"ToothpasteLaser/Byoo\", CHAN_WEAPON);\n\t\t\tA_FireCustomMissile(\"ToothpasteProjectileAltfire\", 0, 0, 7, 0, FPF_AIMATANGLE|FPF_NOAUTOAIM);\n\t\t}\n\t\tTPLG E 1 A_WeaponOffset(2.0, 2.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG E 1 A_WeaponOffset(4.0, 4.0, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-2.5, -2.5, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(-1.5, -1.5, WOF_ADD|WOF_INTERPOLATE)\n\t\tTPLG A 1 A_WeaponOffset(0.0, 32.0, WOF_INTERPOLATE)\n\t\tGoto Ready\n\tOverlayChargeLow:\n\t\tTPLG B 1\n\t\tStop\n\tOverlayChargeMedium:\n\t\tTPLG C 1\n\t\tStop\n\tOverlayChargeFull:\n\t\tTPLG D 1\n\t\tStop\n\tSpawn:\n\t\tTPPK A -1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "animdefs.txt",
"contents": "texture BOTLWHIT\n\tpic BOTLWHIT tics 3\n\tpic BOTLEMPT tics 3\n\ntexture COKESEL1\n\tpic COKESEL1 tics 3\n\tpic COKESEL2 tics 3\n\tpic COKESEL3 tics 3\n\tpic COKESEL4 tics 3\n\tpic COKESEL5 tics 3\n\tpic COKESEL6 tics 3\n\tpic COKESEL7 tics 3\n\tpic COKESEL8 tics 3\n\ntexture WWBCICN1\n\tpic WWBCICN1 tics 4\n\tpic WWBCICN2 tics 4"
},
{
"source": "pk3",
"name": "cvarinfo.txt",
"contents": "user bool autoreload = false;\nserver int recoilamount = 1;\nserver bool synthfireTriggerSwap = false;\nuser int cola_wars = 0;"
},
{
"source": "pk3",
"name": "decaldef.txt",
"contents": "/***** Bullet Chips *****/\n\ndecal BulletChip1Lower\n{\n pic SCORCH1\n\tshade \"00 00 00\"\n x-scale 0.025\n y-scale 0.025\n\trandomflipx\n\trandomflipy\n}\n\ndecal BulletChip\n{\n\tpic PUFFA0\n\tadd 1.0\n\tfullbright\n\tanimator GoAway\n\tx-scale 0.125\n\ty-scale 0.125\n\tlowerdecal BulletChip1Lower\n}\n\n/***** Frying Pan *****/\n\ndecal SledgeDent1\n{\n\tpic HDENT1\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecal SledgeDent2\n{\n\tpic HDENT2\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecal SledgeDent3\n{\n\tpic HDENT3\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecal SledgeDent4\n{\n\tpic HDENT4\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecal SledgeDent5\n{\n\tpic HDENT5\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecal SledgeDent6\n{\n\tpic HDENT6\n\tx-scale 0.1\n\ty-scale 0.1\n\ttranslucent 0.7\n\tshade \"00 00 00\"\n\trandomflipx\n\trandomflipy\n}\n\ndecalgroup SledgeDent\n{\n\tSledgeDent1 1\n\tSledgeDent2 1\n\tSledgeDent3 1\n\tSledgeDent4 1\n\tSledgeDent5 1\n\tSledgeDent6 1\n}\n\n/***** Toothpaste Laser Scorches ***********************************************/\n\ndecal ToothpasteScorchLower\n{\n\tpic SCORCH1\n\tshade \"00 00 00\"\n\tx-scale 0.1\n\ty-scale 0.1\n\trandomflipx\n\trandomflipy\n}\n\ndecal ToothpasteLightning1\n{\n\tpic BFGLITE1\n\tshade \"00 ff 88\"\n\tfullbright\n x-scale 0.1\n\ty-scale 0.1\n\trandomflipx\n\tanimator GoAway2\n\tlowerdecal ToothpasteScorchLower\n}\n\ndecal ToothpasteLightning2\n{\n\tpic BFGLITE2\n\tshade \"00 ff 88\"\n\tfullbright\n x-scale 0.1\n\ty-scale 0.1\n\trandomflipy\n\tanimator GoAway2\n\tlowerdecal ToothpasteScorchLower\n}\n\ndecalgroup ToothpasteLightning\n{\n\tToothpasteLightning1\t1\n\tToothpasteLightning2\t1\n}\n\ndecal BigToothpasteScorchLower\n{\n\tpic SCORCH1\n\tshade \"00 00 00\"\n x-scale 0.3\n\ty-scale 0.3\n\trandomflipx\n\trandomflipy\n}\n\ndecal BigToothpasteLightning1\n{\n\tpic BFGLITE1\n\tshade \"00 ff 88\"\n\tfullbright\n x-scale 0.3\n\ty-scale 0.3\n\trandomflipx\n\tanimator GoAway2\n\tlowerdecal BigToothpasteScorchLower\n}\n\ndecal BigToothpasteLightning2\n{\n\tpic BFGLITE2\n\tshade \"00 ff 88\"\n\tfullbright\n x-scale 0.3\n\ty-scale 0.3\n\trandomflipy\n\tanimator GoAway2\n\tlowerdecal BigToothpasteScorchLower\n}\n\ndecalgroup BigToothpasteLightning\n{\n\tBigToothpasteLightning1\t1\n\tBigToothpasteLightning2\t1\n}"
},
{
"source": "pk3",
"name": "decorate.txt",
"contents": "#include \"actors/bullets.txt\"\n#include \"actors/items.txt\"\n#include \"actors/weapons/base.txt\"\n#include \"actors/weapons/grenade.txt\"\n#include \"actors/weapons/cards.txt\"\n#include \"actors/weapons/handgun.txt\"\n#include \"actors/weapons/missilelauncher.txt\"\n#include \"actors/weapons/plasmaautorifle.txt\"\n#include \"actors/weapons/ks23.txt\"\n#include \"actors/weapons/piledriver.txt\"\n#include \"actors/weapons/dualks23.txt\"\n#include \"actors/weapons/toothpastelaser.txt\"\n\n// Base player is now in /zscript/colaplayer.txt."
},
{
"source": "pk3",
"name": "fontdefs.txt",
"contents": "PEPSIFONT\n{\n\tTemplate PEPSI%03d\n}"
},
{
"source": "pk3",
"name": "gameinfo.txt",
"contents": "STARTUPTITLE = \"Weasel Presents Cola 3\"\nSTARTUPCOLORS = \"FFFFFF\", \"880000\""
},
{
"source": "pk3",
"name": "gldefs.txt",
"contents": "// Attempted brightmaps for Toothpaste Laser. Don't think they quite work.\nbrightmap sprite TPLGA0 { map TPBMAP2 }\nbrightmap sprite TPLGB0 { map TPBMAP2 }\nbrightmap sprite TPLGC0 { map TPBMAP2 }\nbrightmap sprite TPLGD0 { map TPBMAP2 }\nbrightmap sprite TPLGE0 { map TPBMAP2 }\n\n// Dynamic lights for Plasma Autorifle. Different color per level.\n// Level 0. Here comes the copypasta.\npointlight PARBALL0\n{\n color 1.0 1.0 0.0\n size 84\n\tattenuate 1\n}\nflickerlight PARBALL0_X1\n{\n color 1.0 1.0 0.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL0_X2\n{\n color 0.8 0.8 0.0\n size 120\n secondarySize 132\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL0_X3\n{\n color 0.6 0.6 0.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL0_X4\n{\n color 0.3 0.3 0.0\n size 12\n secondarySize 24\n chance 0.4\n\tattenuate 1\n}\nobject PlasmaAutorifleBullet\n{\n frame SLSS { light PARBALL0 }\n frame SLSEA { light PARBALL0_X1 }\n frame SLSEB { light PARBALL0_X2 }\n frame SLSEC { light PARBALL0_X2 }\n frame SLSED { light PARBALL0_X3 }\n frame SLSEE { light PARBALL0_X4 }\n\tframe SLSEF { light PARBALL0_X4 }\n}\n\n// Level 1. Wubba-wubba, we're in the pink today.\npointlight PARBALL1\n{\n color 1.0 0.0 1.0\n size 84\n\tattenuate 1\n}\nflickerlight PARBALL1_X1\n{\n color 1.0 0.0 1.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL1_X2\n{\n color 0.8 0.0 0.8\n size 120\n secondarySize 132\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL1_X3\n{\n color 0.6 0.0 0.6\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL1_X4\n{\n color 0.3 0.0 0.3\n size 12\n secondarySize 24\n chance 0.4\n\tattenuate 1\n}\nobject PlasmaAutorifleBulletLevel1\n{\n frame SLSS { light PARBALL1 }\n frame SLSEA { light PARBALL1_X1 }\n frame SLSEB { light PARBALL1_X2 }\n frame SLSEC { light PARBALL1_X2 }\n frame SLSED { light PARBALL1_X3 }\n frame SLSEE { light PARBALL1_X4 }\n\tframe SLSEF { light PARBALL1_X4 }\n}\n\n// Level 2. Bluer than the sky. Bluer than me on a depressing day.\npointlight PARBALL2\n{\n color 0.0 0.5 1.0\n size 84\n\tattenuate 1\n}\nflickerlight PARBALL2_X1\n{\n color 0.0 0.5 1.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL2_X2\n{\n color 0.0 0.4 0.8\n size 120\n secondarySize 132\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL2_X3\n{\n color 0.0 0.3 0.6\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL2_X4\n{\n color 0.0 0.1 0.3\n size 12\n secondarySize 24\n chance 0.4\n\tattenuate 1\n}\nobject PlasmaAutorifleBulletLevel2\n{\n frame SLSS { light PARBALL2 }\n frame SLSEA { light PARBALL2_X1 }\n frame SLSEB { light PARBALL2_X2 }\n frame SLSEC { light PARBALL2_X2 }\n frame SLSED { light PARBALL2_X3 }\n frame SLSEE { light PARBALL2_X4 }\n\tframe SLSEF { light PARBALL2_X4 }\n}\n\n// Level 3. Negative, you're still too green!\npointlight PARBALL3\n{\n color 0.0 1.0 0.0\n size 84\n\tattenuate 1\n}\nflickerlight PARBALL3_X1\n{\n color 0.0 1.0 0.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL3_X2\n{\n color 0.0 0.8 0.0\n size 120\n secondarySize 132\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL3_X3\n{\n color 0.0 0.6 0.0\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight PARBALL3_X4\n{\n color 0.0 0.3 0.0\n size 12\n secondarySize 24\n chance 0.4\n\tattenuate 1\n}\nobject PlasmaAutorifleBulletLevel3\n{\n frame SLSS { light PARBALL3 }\n frame SLSEA { light PARBALL3_X1 }\n frame SLSEB { light PARBALL3_X2 }\n frame SLSEC { light PARBALL3_X2 }\n frame SLSED { light PARBALL3_X3 }\n frame SLSEE { light PARBALL3_X4 }\n\tframe SLSEF { light PARBALL3_X4 }\n}\n\n// And the flamethrower.\nobject OverheatFlamebolt\n{\n\tframe FBLXA { light PARBALL0_X4 }\n\tframe FBLXB { light PARBALL0_X4 }\n\tframe FBLXC { light PARBALL0 }\n\tframe FBLXD { light PARBALL0 }\n\tframe FBLXE { light PARBALL0_X1 }\n\tframe FBLXF { light PARBALL0_X1 }\n\tframe FBLXG { light PARBALL0_X2 }\n\tframe FBLXH { light PARBALL0_X2 }\n\tframe FBLXI { light PARBALL0_X3 }\n\tframe FBLXJ { light PARBALL0_X3 }\n\tframe FBLXK { light PARBALL0_X4 }\n}\n\n// Copying this one more time for the Toothpaste Laser.\npointlight TOOTHPASTEBALL\n{\n color 0.0 1.0 0.5\n size 84\n\tattenuate 1\n}\nflickerlight TOOTHPASTEBALL_X1\n{\n color 0.0 1.0 0.5\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight TOOTHPASTEBALL_X2\n{\n color 0.0 0.8 0.4\n size 120\n secondarySize 132\n chance 0.4\n\tattenuate 1\n}\nflickerlight TOOTHPASTEBALL_X3\n{\n color 0.0 0.6 0.3\n size 96\n secondarySize 108\n chance 0.4\n\tattenuate 1\n}\nflickerlight TOOTHPASTEBALL_X4\n{\n color 0.0 0.3 0.1\n size 12\n secondarySize 24\n chance 0.4\n\tattenuate 1\n}\nobject ToothpasteProjectile\n{\n frame PLSSA { light TOOTHPASTEBALL }\n frame PLSSB { light TOOTHPASTEBALL }\n frame PLSEA { light TOOTHPASTEBALL_X1 }\n frame PLSEB { light TOOTHPASTEBALL_X2 }\n frame PLSEC { light TOOTHPASTEBALL_X2 }\n frame PLSED { light TOOTHPASTEBALL_X3 }\n frame PLSEE { light TOOTHPASTEBALL_X4 }\n}\nobject ToothpasteTrail\n{\n frame PLSS { light TOOTHPASTEBALL_X4 }\n frame PLSE { light TOOTHPASTEBALL_X4 }\n}\nobject SuperToothpasteProjectile\n{\n frame PLSSA { light TOOTHPASTEBALL }\n frame PLSSB { light TOOTHPASTEBALL }\n frame PLSEA { light TOOTHPASTEBALL_X1 }\n frame PLSEB { light TOOTHPASTEBALL_X2 }\n frame PLSEC { light TOOTHPASTEBALL_X2 }\n frame PLSED { light TOOTHPASTEBALL_X3 }\n frame PLSEE { light TOOTHPASTEBALL_X4 }\n}\nobject SuperToothpasteTrail\n{\n frame PLSS { light TOOTHPASTEBALL_X4 }\n frame PLSE { light TOOTHPASTEBALL_X4 }\n}\n\n// Missiles\npointlight COLAMISSILE\n{\n color 0.7 1.0 0.0\n size 84\n\tattenuate 1\n}\n\nflickerlight COLAMISSILE_X1\n{\n color 0.7 1.0 0.5\n size 96\n secondarySize 108\n chance 0.3\n\tattenuate 1\n}\n\nflickerlight COLAMISSILE_X2\n{\n color 0.3 0.5 0.2\n size 120\n secondarySize 132\n chance 0.3\n\tattenuate 1\n}\n\nflickerlight COLAMISSILE_X3\n{\n color 0.2 0.3 0.1\n size 144\n secondarySize 156\n chance 0.3\n\tattenuate 1\n}\npointlight COLAMISSILE_TRAIL\n{\n color 0.7 1.0 0.0\n size 48\n\tattenuate 1\n}\n\nobject ColaMissile\n{\n frame SNEKA { light COLAMISSILE }\n\n frame FRMEA { light COLAMISSILE_X1 }\n\tframe FRMEB { light COLAMISSILE_X1 }\n\tframe FRMEC { light COLAMISSILE_X1 }\n frame FRMED { light COLAMISSILE_X2 }\n\tframe FRMEE { light COLAMISSILE_X2 }\n\tframe FRMEF { light COLAMISSILE_X2 }\n\tframe FRMEG { light COLAMISSILE_X2 }\n\tframe FRMEH { light COLAMISSILE_X3 }\n\tframe FRMEI { light COLAMISSILE_X3 }\n frame FRMEJ { light COLAMISSILE_X3 }\n}\nobject ColaMissile1\n{\n frame SNEKA { light COLAMISSILE }\n\n frame FRMEA { light COLAMISSILE_X1 }\n\tframe FRMEB { light COLAMISSILE_X1 }\n\tframe FRMEC { light COLAMISSILE_X1 }\n frame FRMED { light COLAMISSILE_X2 }\n\tframe FRMEE { light COLAMISSILE_X2 }\n\tframe FRMEF { light COLAMISSILE_X2 }\n\tframe FRMEG { light COLAMISSILE_X2 }\n\tframe FRMEH { light COLAMISSILE_X3 }\n\tframe FRMEI { light COLAMISSILE_X3 }\n frame FRMEJ { light COLAMISSILE_X3 }\n}\nobject ColaMissile2\n{\n frame SNEKA { light COLAMISSILE }\n\n frame FRMEA { light COLAMISSILE_X1 }\n\tframe FRMEB { light COLAMISSILE_X1 }\n\tframe FRMEC { light COLAMISSILE_X1 }\n frame FRMED { light COLAMISSILE_X2 }\n\tframe FRMEE { light COLAMISSILE_X2 }\n\tframe FRMEF { light COLAMISSILE_X2 }\n\tframe FRMEG { light COLAMISSILE_X2 }\n\tframe FRMEH { light COLAMISSILE_X3 }\n\tframe FRMEI { light COLAMISSILE_X3 }\n frame FRMEJ { light COLAMISSILE_X3 }\n}\nobject ColaMissile3\n{\n frame SNEKA { light COLAMISSILE }\n\n frame FRMEA { light COLAMISSILE_X1 }\n\tframe FRMEB { light COLAMISSILE_X1 }\n\tframe FRMEC { light COLAMISSILE_X1 }\n frame FRMED { light COLAMISSILE_X2 }\n\tframe FRMEE { light COLAMISSILE_X2 }\n\tframe FRMEF { light COLAMISSILE_X2 }\n\tframe FRMEG { light COLAMISSILE_X2 }\n\tframe FRMEH { light COLAMISSILE_X3 }\n\tframe FRMEI { light COLAMISSILE_X3 }\n frame FRMEJ { light COLAMISSILE_X3 }\n}"
}
]
},
"maps": []
}