Raw model (for completeness)
{
"meta": {
"id": "0008ffff-6697-422a-bc20-0c0a8876b933",
"sha1": "2596706817dafffa14ca0bd194c98b5a995905f5",
"sha256": "a3e8c9051911fd9dd18aa3f98f6a3d4d7f9ba15fab5b31f248745dd6b930eaaa",
"filenames": [
"factotum_[260918].pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2020-05-06 16:19:16",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": {
"TITLEMAP": "TITLEMAP.png"
},
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2020-05-06 16:19:16",
"file": {
"type": "PK3",
"size": 6210916,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/2596706817dafffa14ca0bd194c98b5a995905f5/2596706817dafffa14ca0bd194c98b5a995905f5.pk3.gz",
"corrupt": false
},
"content": {
"maps": [
"TITLEMAP"
],
"counts": {
"endoom": 0,
"graphics": 1,
"lumps": 648,
"maps": 1,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "LANGUAGE.txt",
"contents": "//==============================================================================\n// Factotum footstep definitions by TheZombieKiller\n//==============================================================================\n\n[enu default]\n\nSTEP_FLATS = \"FWATER1:FWATER2:FWATER3:FWATER4:\"\n\t\t\t\"FLOOR0_1:FLOOR0_3:FLOOR1_7:FLOOR4_1:\"\n\t\t\t\"FLOOR4_5:FLOOR4_6:TLITE6_1:TLITE6_5:\"\n\t\t\t\"CEIL3_1:CEIL3_2:CEIL4_2:CEIL4_3:\"\n\t\t\t\"CEIL5_1:FLAT2:FLAT5:FLAT18:\"\n\t\t\t\"FLOOR0_2:FLOOR0_5:FLOOR0_7:FLAT5_3:\"\n\t\t\t\"CRATOP1:CRATOP2:FLAT9:FLAT17:\"\n\t\t\t\"FLAT19:COMP01:GRNLITE1:FLOOR1_1:\"\n\t\t\t\"FLAT14:FLAT5_5:FLOOR1_6:CEIL4_1:\"\n\t\t\t\"GRASS1:GRASS2:RROCK16:RROCK19:\"\n\t\t\t\"FLOOR6_1:FLOOR6_2:FLAT10:MFLR8_3:\"\n\t\t\t\"MFLR8_4:RROCK17:RROCK18:FLOOR0_6:\"\n\t\t\t\"FLOOR4_8:FLOOR5_1:FLOOR5_2:FLOOR5_3:\"\n\t\t\t\"FLOOR5_4:TLITE6_4:TLITE6_6:FLOOR7_1:\"\n\t\t\t\"MFLR8_1:CEIL3_5:CEIL5_2:CEIL3_6:\"\n\t\t\t\"FLAT8:SLIME13:STEP1:STEP2:\"\n\t\t\t\"GATE1:GATE2:GATE3:CEIL1_2:\"\n\t\t\t\"CEIL1_3:SLIME14:SLIME15:SLIME16:\"\n\t\t\t\"FLAT22:FLAT23:CONS1_1:CONS1_5:\"\n\t\t\t\"CONS1_7:GATE4:FLAT4:FLAT1:\"\n\t\t\t\"FLAT5_4:MFLR8_2:FLAT1_1:FLAT1_2:\"\n\t\t\t\"FLAT1_3:FLAT5_7:FLAT5_8:GRNROCK:\"\n\t\t\t\"RROCK01:RROCK02:RROCK03:RROCK04:\"\n\t\t\t\"RROCK05:RROCK06:RROCK07:RROCK08:\"\n\t\t\t\"RROCK09:RROCK10:RROCK11:RROCK12:\"\n\t\t\t\"RROCK13:RROCK14:RROCK15:RROCK20:\"\n\t\t\t\"SLIME09:SLIME10:SLIME11:SLIME12:\"\n\t\t\t\"FLAT5_6:FLOOR3_3:FLAT20:CEIL3_3:\"\n\t\t\t\"CEIL3_4:FLAT3:FLOOR7_2:DEM1_1:\"\n\t\t\t\"DEM1_2:DEM1_3:DEM1_4:DEM1_5:\"\n\t\t\t\"DEM1_6:CEIL1_1:FLAT5_1:FLAT5_2:\"\n\t\t\t\"NUKAGE1:NUKAGE2:NUKAGE3:BLOOD1:\"\n\t\t\t\"BLOOD2:BLOOD3:SLIME01:SLIME02:\"\n\t\t\t\"SLIME03:SLIME04:SLIME05:SLIME06:\"\n\t\t\t\"SLIME07:SLIME08:SFLR6_1:SFLR6_4:\"\n\t\t\t\"SFLR7_1:SFLR7_4:LAVA1:LAVA2:\"\n\t\t\t\"LAVA3:LAVA4:F_SKY1\";\n\n// Sounds\nSTEP_DEFAULT = \"step/default\";\n\n// Water\nSTEP_FWATER1 = \"step/water\";\nSTEP_FWATER2 = \"step/water\";\nSTEP_FWATER3 = \"step/water\";\nSTEP_FWATER4 = \"step/water\";\n\n// Ground\nSTEP_FLOOR0_1 = \"step/default\";\nSTEP_FLOOR0_3 = \"step/default\";\nSTEP_FLOOR1_7 = \"step/default\";\nSTEP_FLOOR4_1 = \"step/default\";\nSTEP_FLOOR4_5 = \"step/default\";\nSTEP_FLOOR4_6 = \"step/default\";\nSTEP_TLITE6_1 = \"step/default\";\nSTEP_TLITE6_5 = \"step/default\";\nSTEP_CEIL3_1 = \"step/default\";\nSTEP_CEIL3_2 = \"step/default\";\nSTEP_CEIL4_2 = \"step/default\";\nSTEP_CEIL4_3 = \"step/default\";\nSTEP_CEIL5_1 = \"step/default\";\nSTEP_FLAT2 = \"step/default\";\nSTEP_FLAT5 = \"step/default\";\nSTEP_FLAT18 = \"step/default\";\nSTEP_FLOOR0_2 = \"step/default\";\nSTEP_FLOOR0_5 = \"step/default\";\nSTEP_FLOOR0_7 = \"step/default\";\nSTEP_FLAT5_3 = \"step/default\";\nSTEP_CRATOP1 = \"step/default\";\nSTEP_CRATOP2 = \"step/default\";\nSTEP_FLAT9 = \"step/default\";\nSTEP_FLAT17 = \"step/default\";\nSTEP_FLAT19 = \"step/default\";\nSTEP_COMP01 = \"step/default\";\nSTEP_GRNLITE1 = \"step/default\";\n\n// Carpet\nSTEP_FLOOR1_1 = \"step/carpet\";\nSTEP_FLAT14 = \"step/carpet\";\nSTEP_FLAT5_5 = \"step/carpet\";\nSTEP_FLOOR1_6 = \"step/carpet\";\nSTEP_CEIL4_1 = \"step/carpet\";\nSTEP_GRASS1 = \"step/carpet\";\nSTEP_GRASS2 = \"step/carpet\";\n\n// Dirt\nSTEP_RROCK16 = \"step/dirt\";\nSTEP_RROCK19 = \"step/dirt\";\n\n// Gravel\nSTEP_FLOOR6_1 = \"step/gravel\";\nSTEP_FLOOR6_2 = \"step/gravel\";\nSTEP_FLAT10 = \"step/gravel\";\nSTEP_MFLR8_3 = \"step/gravel\";\nSTEP_MFLR8_4 = \"step/gravel\";\nSTEP_RROCK17 = \"step/gravel\";\nSTEP_RROCK18 = \"step/gravel\";\n\n// Hard\nSTEP_FLOOR0_6 = \"step/hard\";\nSTEP_FLOOR4_8 = \"step/hard\";\nSTEP_FLOOR5_1 = \"step/hard\";\nSTEP_FLOOR5_2 = \"step/hard\";\nSTEP_FLOOR5_3 = \"step/hard\";\nSTEP_FLOOR5_4 = \"step/hard\";\nSTEP_TLITE6_4 = \"step/hard\";\nSTEP_TLITE6_6 = \"step/hard\";\nSTEP_FLOOR7_1 = \"step/hard\";\nSTEP_MFLR8_1 = \"step/hard\";\nSTEP_CEIL3_5 = \"step/hard\";\nSTEP_CEIL5_2 = \"step/hard\";\nSTEP_CEIL3_6 = \"step/hard\";\nSTEP_FLAT8 = \"step/hard\";\nSTEP_SLIME13 = \"step/hard\";\n\n// Metal A\nSTEP_STEP1 = \"step/metal/a\";\nSTEP_STEP2 = \"step/metal/a\";\nSTEP_GATE1 = \"step/metal/a\";\nSTEP_GATE2 = \"step/metal/a\";\nSTEP_GATE3 = \"step/metal/a\";\nSTEP_CEIL1_2 = \"step/metal/a\";\nSTEP_CEIL1_3 = \"step/metal/a\";\nSTEP_SLIME14 = \"step/metal/a\";\nSTEP_SLIME15 = \"step/metal/a\";\nSTEP_SLIME16 = \"step/metal/a\";\n\n// Metal B\nSTEP_FLAT22 = \"step/metal/b\";\nSTEP_FLAT23 = \"step/metal/b\";\nSTEP_CONS1_1 = \"step/metal/b\";\nSTEP_CONS1_5 = \"step/metal/b\";\nSTEP_CONS1_7 = \"step/metal/b\";\nSTEP_GATE4 = \"step/metal/b\";\nSTEP_FLAT4 = \"step/metal/b\";\n\n// Rock\nSTEP_FLAT1 = \"step/rock\";\nSTEP_FLAT5_4 = \"step/rock\";\nSTEP_MFLR8_2 = \"step/rock\";\nSTEP_FLAT1_1 = \"step/rock\";\nSTEP_FLAT1_2 = \"step/rock\";\nSTEP_FLAT1_3 = \"step/rock\";\nSTEP_FLAT5_7 = \"step/rock\";\nSTEP_FLAT5_8 = \"step/rock\";\nSTEP_GRNROCK = \"step/rock\";\nSTEP_RROCK01 = \"step/rock\";\nSTEP_RROCK02 = \"step/rock\";\nSTEP_RROCK03 = \"step/rock\";\nSTEP_RROCK04 = \"step/rock\";\nSTEP_RROCK05 = \"step/rock\";\nSTEP_RROCK06 = \"step/rock\";\nSTEP_RROCK07 = \"step/rock\";\nSTEP_RROCK08 = \"step/rock\";\nSTEP_RROCK09 = \"step/rock\";\nSTEP_RROCK10 = \"step/rock\";\nSTEP_RROCK11 = \"step/rock\";\nSTEP_RROCK12 = \"step/rock\";\nSTEP_RROCK13 = \"step/rock\";\nSTEP_RROCK14 = \"step/rock\";\nSTEP_RROCK15 = \"step/rock\";\nSTEP_RROCK20 = \"step/rock\";\nSTEP_SLIME09 = \"step/rock\";\nSTEP_SLIME10 = \"step/rock\";\nSTEP_SLIME11 = \"step/rock\";\nSTEP_SLIME12 = \"step/rock\";\n\n// Snow\nSTEP_FLAT5_6 = \"step/snow\";\n\n// Tile A\nSTEP_FLOOR3_3 = \"step/tile/a\";\nSTEP_FLAT20 = \"step/tile/a\";\nSTEP_CEIL3_3 = \"step/tile/a\";\nSTEP_CEIL3_4 = \"step/tile/a\";\nSTEP_FLAT3 = \"step/tile/a\";\n\n// Tile B\nSTEP_FLOOR7_2 = \"step/tile/b\";\nSTEP_DEM1_1 = \"step/tile/b\";\nSTEP_DEM1_2 = \"step/tile/b\";\nSTEP_DEM1_3 = \"step/tile/b\";\nSTEP_DEM1_4 = \"step/tile/b\";\nSTEP_DEM1_5 = \"step/tile/b\";\nSTEP_DEM1_6 = \"step/tile/b\";\n\n// Wood\nSTEP_CEIL1_1 = \"step/wood\";\nSTEP_FLAT5_1 = \"step/wood\";\nSTEP_FLAT5_2 = \"step/wood\";\n\n// Slime\nSTEP_NUKAGE1 = \"step/slime\";\nSTEP_NUKAGE2 = \"step/slime\";\nSTEP_NUKAGE3 = \"step/slime\";\nSTEP_BLOOD1 = \"step/slime\";\nSTEP_BLOOD2 = \"step/slime\";\nSTEP_BLOOD3 = \"step/slime\";\nSTEP_SLIME01 = \"step/slime\";\nSTEP_SLIME02 = \"step/slime\";\nSTEP_SLIME04 = \"step/slime\";\nSTEP_SLIME05 = \"step/slime\";\nSTEP_SLIME06 = \"step/slime\";\nSTEP_SLIME07 = \"step/slime\";\nSTEP_SLIME08 = \"step/slime\";\n\n// Slimy\nSTEP_SFLR6_1 = \"step/slimy\";\nSTEP_SFLR6_4 = \"step/slimy\";\nSTEP_SFLR7_1 = \"step/slimy\";\nSTEP_SFLR7_4 = \"step/slimy\";\n\n// Lava\nSTEP_LAVA1 = \"step/lava\";\nSTEP_LAVA2 = \"step/lava\";\nSTEP_LAVA3 = \"step/lava\";\nSTEP_LAVA4 = \"step/lava\";\n\n// None\nSTEP_F_SKY1 = \"\";"
},
{
"source": "pk3",
"name": "Actors/FTPlayer.txt",
"contents": "ACTOR FTPlayer : Doomplayer replaces Doomplayer\n{\n\tPlayer.SoundClass\t\"FTPlayer\"\n\tPlayer.startitem\t\"FKPistol\"\n\tPlayer.startitem\t\"FKGrenades\", 1\n\tPlayer.startitem\t\"FKMachete\", 1\n\tPlayer.startitem\t\"FTHG1\", 3\n\tPlayer.startitem\t\"FTCL1\" 45\n\tPlayer.startitem\t\"WP2Reload\" 15\n\tPlayer.startitem\t\"WP3Reload\" 8\n\tPlayer.startitem\t\"WP4Reload\" 50\n\tPlayer.startitem\t\"WP5Reload\" 1\n\tPlayer.startitem\t\"WP6Reload\" 90\n\tPlayer.startitem\t\"WP8Reload\" 30\n\tPlayer.startitem\t\"WP9Reload\" 120\n\tPlayer.startitem\t\"PistolIsGood\", 1\n\tPlayer.startitem\t\"ShotgunIsGood\", 1\n\tPlayer.startitem\t\"SMGIsGood\", 1\n\tPlayer.startitem\t\"LauncherIsGood\", 1\n\tPlayer.startitem\t\"PlasmaIsGood\", 1\n\tPlayer.startitem\t\"M4IsGood\", 1\n\tPlayer.startitem\t\"M249IsGood\", 1\n\tPlayer.startitem\t\"MacheteAltfire\", 1\n\tPlayer.JumpZ 9 \t\t//Hexen Compatibility\n\tSpeed 0.9\n\tPlayer.Weaponslot 1, FKMachete\n\tPlayer.Weaponslot 2, FKPistol\n\tPlayer.Weaponslot 3, FKShotgun\n\tPlayer.Weaponslot 4, FKMachinegun\n\tPlayer.Weaponslot 5, FKLauncher\n\tPlayer.Weaponslot 6, FKPlasmaRifle\n\tPlayer.Weaponslot 7, FKCarbine\n\tPlayer.Weaponslot 8, FKHoser\n\tPlayer.Weaponslot 9, FKGrenades\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/WeaponBase.txt",
"contents": "//==============================================================================\n// Factotum Weapon Base\n//==============================================================================\n\nACTOR FlakeWeapon : Weapon replaces Weapon\n{\n\t+WEAPON.NOALERT\n\t+WEAPON.NOAUTOAIM\n\t+WEAPON.AMMO_OPTIONAL\n\tInventory.PickupSound \t\"items/general/pkp5\"\n\tWeapon.BobStyle \t\t\"InverseSmooth\"\n\tWeapon.BobSpeed \t\t1.50\n\tWeapon.BobRangeX \t\t0.00\n\tWeapon.BobRangeY \t\t0.30\n\tWeapon.SelectionOrder \t9999\n}\n\n//==============================================================================\n//`Weapon Tokens\n//==============================================================================\nACTOR MacheteAltfire : Inventory { Inventory.MaxAmount 1 }\nACTOR GrenadeAltfire : Inventory { Inventory.MaxAmount 1 }\n\n//==============================================================================\n// Weapon spawners\n//==============================================================================\nACTOR FakeWeapon1 : RandomSpawner replaces Chainsaw \t{DropItem \"FKShotgun\"}\n\n//==============================================================================\n//`Beretta Tokens\n//==============================================================================\nACTOR PistolisGood\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBad1 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBad2 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBad3 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBad4 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBad5 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PistolisBroken \t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BPToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BPToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BPToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BPToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BPToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BrokenPistolToken \t: Inventory { Inventory.MaxAmount 55 }\n\n//==============================================================================\n//`Franchi Tokens\n//==============================================================================\nACTOR ShotgunisGood\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBad1 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBad2 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBad3 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBad4 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBad5 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR ShotgunisBroken \t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BSToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 25 }\nACTOR BSToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 25 }\nACTOR BSToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 25 }\nACTOR BSToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 25 }\nACTOR BSToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 25 }\nACTOR BrokenShotgunToken \t: Inventory { Inventory.MaxAmount 25 }\n\n//==============================================================================\n// Calico Tokens\n//==============================================================================\nACTOR SMGisGood\t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBad1 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBad2 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBad3 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBad4 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBad5 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR SMGisBroken \t\t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BMToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 65 }\nACTOR BMToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 65 }\nACTOR BMToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 65 }\nACTOR BMToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 65 }\nACTOR BMToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 65 }\nACTOR BrokenSMGToken \t\t: Inventory { Inventory.MaxAmount 65 }\n\n//==============================================================================\n//`Springfield Tokens\n//==============================================================================\nACTOR LauncherisGood\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBad1 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBad2 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBad3 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBad4 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBad5 \t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR LauncherisBroken \t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BGToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 15 }\nACTOR BGToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 15 }\nACTOR BGToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 15 }\nACTOR BGToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 15 }\nACTOR BGToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 15 }\nACTOR BrokenLauncherToken \t: Inventory { Inventory.MaxAmount 15 }\n\n//==============================================================================\n//`Winchester Tokens\n//==============================================================================\n\nACTOR PlasmaisGood\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBad1 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBad2 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBad3 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBad4 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBad5 \t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR PlasmaisBroken \t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BLToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BLToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BLToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BLToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BLToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 55 }\nACTOR BrokenPlasmaToken \t: Inventory { Inventory.MaxAmount 55 }\n\n//==============================================================================\n// Colt Tokens\n//==============================================================================\nACTOR M4isGood\t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBad1 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBad2 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBad3 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBad4 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBad5 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M4isBroken \t\t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BCToken1 \t\t\t\t: Inventory { Inventory.MaxAmount 40 }\nACTOR BCToken2 \t\t\t\t: Inventory { Inventory.MaxAmount 40 }\nACTOR BCToken3 \t\t\t\t: Inventory { Inventory.MaxAmount 40 }\nACTOR BCToken4 \t\t\t\t: Inventory { Inventory.MaxAmount 40 }\nACTOR BCToken5 \t\t\t\t: Inventory { Inventory.MaxAmount 40 }\nACTOR BrokenM4Token \t\t: Inventory { Inventory.MaxAmount 40 }\n\n//==============================================================================\n// Daewoo Tokens\n//==============================================================================\nACTOR OverheatToken\t\t\t\t: Inventory { Inventory.MaxAmount 100 }\n\nACTOR M249isGood\t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBad1 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBad2 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBad3 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBad4 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBad5 \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\nACTOR M249isBroken \t\t\t\t: Inventory { Inventory.MaxAmount 1 }\n\nACTOR BHToken1 \t\t\t\t\t: Inventory { Inventory.MaxAmount 50 }\nACTOR BHToken2 \t\t\t\t\t: Inventory { Inventory.MaxAmount 50 }\nACTOR BHToken3 \t\t\t\t\t: Inventory { Inventory.MaxAmount 50 }\nACTOR BHToken4 \t\t\t\t\t: Inventory { Inventory.MaxAmount 50 }\nACTOR BHToken5 \t\t\t\t\t: Inventory { Inventory.MaxAmount 50 }\nACTOR BrokenM249Token \t\t\t: Inventory { Inventory.MaxAmount 50 }\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Weapons/WeaponCasings.txt",
"contents": "//==============================================================================\n// Factotum Weapon Casings\n//==============================================================================\n\nACTOR FKCasingBasis //(Creds to TheRailGunner)\n{\n\tPROJECTILE\n\t-NOGRAVITY\n\t-NOBLOCKMAP\n\t+BOUNCEONACTORS\n\t+FORCEXYBILLBOARD\n\tMass 10\n\tBounceType Doom\n\tBounceFactor 0.5\n\tWallBounceFactor 0.2\n}\n\n//==============================================================================\n// Light casing spawner\n//==============================================================================\n\nACTOR FKLightCasingSpawn\n{\n\tSpeed 25\n\tPROJECTILE\n\t+NOCLIP\n\t+CLIENTSIDEONLY\n\tStates\n\t{\n\tSpawn:\n TNT1 A 0\n\t\tTNT1 A 1 A_CustomMissile(\"FKLightCasing\",-5,2,random(-80,-100),2,random(45,80))\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Light casing actor\n//==============================================================================\n\nACTOR FKLightCasing : FKCasingBasis\n{\n\tRadius 3\n\tHeight 3\n\tSpeed 9\n\tScale 0.09\n \tWallBounceSound \"weapons/fkcasbnc\"\n\tBounceSound \t\"weapons/fkcasbnc\"\n\tDeathSound\t\t\"weapons/fkcasdth\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"CasingToggle\")==0,\"Vanish\")\n\t\tFKCS ABCDEFGH 1 A_SpawnItemEx(\"CasingSmokes\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tTNT1 A 0\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(256,\"Death1\",\"Death2\")\n\tDeath1:\n\t\tFKCS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKCS CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8\n\t\tFKCS CCCCCC 1 A_Fadeout(0.1)\n\t\tStop\n\tDeath2:\n\t\tFKCS GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKCS GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8\n\t\tFKCS GGGGGG 1 A_Fadeout(0.1)\n\t\tStop\n\tVanish:\n\t\tTNT1 A 0 A_StopSound(2)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Heavy casing spawner\n//==============================================================================\n\nACTOR FKHeavyCasingSpawn\n{\n\tSpeed 25\n\tPROJECTILE\n\t+NOCLIP\n\t+CLIENTSIDEONLY\n\tStates\n\t{\n\tSpawn:\n TNT1 A 0\n\t\tTNT1 A 1 A_CustomMissile(\"FKHeavyCasing\",-5,2,random(-80,-100),2,random(45,80))\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Heavy casing actor\n//==============================================================================\n\nACTOR FKHeavyCasing : FKCasingBasis\n{\n\tRadius 3\n\tHeight 3\n\tSpeed 9\n\tScale 0.12\n \tWallBounceSound \"weapons/fkbrabnc\"\n\tBounceSound \t\"weapons/fkbrabnc\"\n\tDeathSound\t\t\"weapons/fkbradth\"\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"CasingToggle\")==0,\"Vanish\")\n\t\tFKBR ABCDEFGH 1 A_SpawnItemEx(\"CasingSmokes\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tTNT1 A 0\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(256,\"Death1\",\"Death2\")\n\tDeath1:\n\t\tFKBR CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKBR CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8\n\t\tFKBR CCCCCC 1 A_Fadeout(0.1)\n\t\tStop\n\tDeath2:\n\t\tFKBR GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKBR GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8\n\t\tFKBR GGGGGG 1 A_Fadeout(0.1)\n\t\tStop\n\tVanish:\n\t\tTNT1 A 0 A_StopSound(2)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Shotgun casing spawner\n//==============================================================================\n\nACTOR FKShellCasingSpawn\n{\n\tSpeed 20\n\tPROJECTILE\n\t+NOCLIP\n\t+CLIENTSIDEONLY\n\tStates\n\t{\n\tSpawn:\n TNT1 A 0\n\t\tTNT1 A 1 A_CustomMissile(\"FKShellCasing\",-5,1,random(-80,-100),2,random(45,80))\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Shotgun casing actor\n//==============================================================================\n\nACTOR FKShellCasing : FKCasingBasis\n{\n\tHeight 8\n\tRadius 4\n\tSpeed 9\n\tScale 0.12\n\tWallBounceSound \"weapons/fkshlbnc\"\n\tBounceSound \t\"weapons/fkshlbnc\"\n\tDeathSound\t\t\"weapons/fkshldth\"\n\tStates\n {\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"CasingToggle\")==0,\"Vanish\")\n\t\tFKSH ABCDEFGH 2 A_SpawnItemEx(\"CasingSmokes\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tTNT1 A 0\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_Jump(256,\"Death1\",\"Death2\")\n\tDeath1:\n\t\tFKSH CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKSH CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8\n\t\tFKSH CCCCCC 1 A_Fadeout(0.1)\n\t\tStop\n\tDeath2:\n\t\tFKSH GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 A_SpawnItemEx(\"CasingSmokesEnd\",frandom(0.3,0.2),random(0,-1.0),0,0,0,frandom(0.5,0.1),0,SXF_CLIENTSIDE,0)\n\t\tFKSH GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8\n\t\tFKSH GGGGGG 1 A_Fadeout(0.1)\n\t\tStop\n Vanish:\n\t\tTNT1 A 0 A_StopSound(2)\n\t\tStop\n }\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Weapons/WeaponFX.txt",
"contents": "//==============================================================================\n// Factotum Weapon Effects\n//==============================================================================\n// Smoke\n//==============================================================================\n\nACTOR GunSmokeSpawner\n{\n\t+NOCLIP\n Speed 20\n\tStates\n {\n\tSpawn:\n\t\tTNT1 A 1\n\t\tTNT1 A 0 Thing_ChangeTID(0,390)\n\t\tNULL A 0 A_CustomMissile(\"ShotSmoke\",0,0,random(0,360),2,random(0,180))\n Stop\n }\n}\n\nACTOR ShotSmoke\n{\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\t+NOINTERACTION\n\t+DONTSPLASH\n\t+MISSILE\n\tRenderStyle Add\n\tScale 0.4\n\tAlpha 0.4\n\tRadius 0\n\tHeight 0\n\tSpeed 1\n\tStates\n\t{\n Spawn:\n\t\tNULL A 1 A_SetTranslucent(0.25)\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"SmokeToggle\")==0,19)\n\t\tSMOK ABCDEFGHIJKLMNOPQR 2 A_FadeOut(0.005)\n\t\tTNT1 A 0\n\t\tStop\n }\n}\n\nACTOR CasingSmokes : ShotSmoke\n{\n\tXScale 0.035\n\tYScale 0.060\n\tRenderStyle Add\n\tStates\n\t{\n Spawn:\n\t\tNULL A 1 A_SetTranslucent(0.25)\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"SmokeToggle\")==0,19)\n\t\tSMOK ABCDEFGHIJKLMNOPQR 1 A_FadeOut(0.005)\n\t\tTNT1 A 0\n\t\tStop\n }\n}\n\nACTOR CasingSmokesEnd : CasingSmokes\n{\n\tXScale 0.020\n\tYScale 0.095\n\tRenderStyle Add\n\tSpeed 8\n\tStates\n\t{\n Spawn:\n\t\tNULL A 1 A_SetTranslucent(0.25)\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"SmokeToggle\")==0,20)\n\t\tTNT1 A 0 ThrustThingz(0,1,0,0)\n\t\tSMOK ABCDEFGHIJKLMNOPQR 1 A_FadeOut(0.005)\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Puffs\n//==============================================================================\n// General\n//==============================================================================\n\nACTOR BulletSparks\n{\n\t+MISSILE\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\t+BOUNCELIKEHERETIC\n\tRenderStyle Add\n\tHealth\t4\n\tRadius\t2\n\tHeight\t3\n\tSpeed\t1\n\tAlpha\t1\n\tScale\t.032\n\tMass\t1\n\tStates\n\t{\n\tSpawn:\n\t\tBPUF A 1\n\t\tBPUF ABCDA 1\t\tBRIGHT A_SetTranslucent(.8,1)\n\t\tBPUF BCDABC 1\t\tBRIGHT A_SetTranslucent(.6,1)\n\t\tBPUF DABCDABC 1\t\tBRIGHT A_SetTranslucent(.4,1)\n\t\tBPUF DABCDABCDA 1\tBRIGHT A_SetTranslucent(.2,1)\n\t\tStop\n\t}\n}\n\nACTOR Bullet_Puff : BulletPuff\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+RANDOMIZE\n\t+FLOORCLIP\n\t+NOEXTREMEDEATH\n\tDecal BulletChip\n\tRenderStyle Add\n\tAlpha\t1\n\tRadius\t1\n\tHeight\t1\n\tSpeed 0\n\tMass\t10\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\tCrash:\n\t\tTNT1 A 0 A_Jump(94,\"AltCrash\")\n\t\tTNT1 A 0 A_SetScale(0.1)\n\t\tTNT1 A 0 A_SpawnDebris(\"BulletSparks\")\n\t\tTNT1 A 0 A_SpawnItem(\"GunSmokeSpawner\")\n\t\tTNT1 A 0 A_PlaySound(\"weapons/ricochet\")\n\t\tFLER A 2 BRIGHT\n\t\tStop\n\tAltCrash:\n\t\tTNT1 A 0 A_SetScale(0.1)\n\t\tTNT1 A 0 A_SpawnDebris(\"BulletSparks\")\n\t\tTNT1 A 0 A_SpawnItem(\"GunSmokeSpawner\")\n\t\tTNT1 A 0 A_PlaySound(\"weapons/ricochet\")\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RicochetToggle\")==0,2)\n\t\tTNT1 A 0 A_CustomMissile(\"RicochetBullet\",0,0,random(0,360),2,random(-40,40))\n\t\tFLER A 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR RicochetBullet : FastProjectile\n{\n\t+GHOST\n\t+DROPOFF\n\t+MISSILE\n\t+NOGRAVITY\n\t+NOTDMATCH\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+HEXENBOUNCE\n\t+FORCEXYBILLBOARD\n\tMass 1\n\tDamage 0\n\tRadius 1\n\tHeight 3\n\tSpeed 20\n\tSeeSound \"weapons/ricochet\"\n\tRenderstyle Add\n\tAlpha 1.0\n\tScale .025\n\tMissileType BulletTrail\n\tMissileHeight 8\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RicochetToggle\")==0,2)\n\t\tBPUF A 1 BRIGHT A_FadeOut(0.35)\n\t\tTNT1 A 0\n\t\tStop\n\t}\n}\n\nACTOR BulletTrail\n{\n\t+NOGRAVITY\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\tRenderstyle Add\n\tAlpha 1.0\n\tScale .025\n\tStates\n\t{\n\tSpawn:\n\t\tBPUF A 1 BRIGHT A_FadeOut(0.06)\n\t\tloop\n\tDeath:\n\t\tTNT1 A 0 A_SpawnItemEx(\"RicochetSpark\")\n\t\tStop\n\t}\n}\n\nACTOR RicochetSpark : BulletSparks\n{\n\t-NOGRAVITY\n\t+DONTSPLASH\n\tBouncetype None\n\tRenderstyle Add\n\tAlpha 1.0\n\tRadius 3\n\tHeight 3\n\tScale .03\n\tGravity 1.0\n\tStates\n\t{\n\tSpawn:\n\t\tBPUF A 1 BRIGHT A_FadeOut(0.05)\n\t\tLoop\n\t}\n}\n\n//==============================================================================\n// Screen shake effect for fists\n//==============================================================================\n\nACTOR WallShake\n{\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+NOSECTOR\n\t+NOCLIP\n\tHeight 8\n\tRadius 4\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 A 3 Radius_Quake(2,3,0,1,0)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Machete\n//==============================================================================\n\nACTOR KnifePuff\n{\n\t+NOBLOCKMAP\n\t+NOGRAVITY\n\t+NOEXTREMEDEATH\n\t+PUFFONACTORS\n\t+STRIFEDAMAGE\n\tActiveSound \"weapons/knife/move\"\n\tVSpeed 1\n\tStates\n\t{\n\tSpawn:\n\tXDeath:\n\t\tTNT1 A 0 A_PlaySound(\"weapons/knife/move\",6)\n\t\tTNT1 A 0 A_PlaySound(\"weapons/knife/hit\",7)\n\t\tTNT1 A 0 A_SpawnItem(\"WallShake\",0,0,0,0)\n\t\tStop\n\tCrash:\n\t\tTNT1 A 0 A_AlertMonsters\n\t\tTNT1 A 0 A_SpawnItem(\"WallShake\",0,0,0,0)\n\t\tTNT1 A 0 A_PlaySound(\"weapons/knife/move\",7)\n\t\tTNT1 A 0 A_PlaySound(\"weapons/knife/miss\",6)\n\t\tTNT1 A 0 A_SpawnItem(\"BulletSparks\",0,0,0,0)\n\t\tBPUF A 1 BRIGHT\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Teleport Fog\n//==============================================================================\n\nACTOR TeleportT : TeleportFog replaces TeleportFog\n{\n\t+NOBLOCKMAP\n\t+NOTELEPORT\n\t+NOGRAVITY\n\tRenderStyle Add\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0\n\t\tTNT1 AAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem(\"GunSmokeSpawner\")\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Explosive Barrel\n//==============================================================================\n\nACTOR TNTBarrel : ExplosiveBarrel replaces ExplosiveBarrel\n{\n\t-COUNTKILL\n\t+FLOORCLIP\n\t+SOLID\n\t+SHOOTABLE\n\t+NOBLOOD\n\t+PUSHABLE\n\t+ACTIVATEMCROSS\n\t+DONTGIB\n\t+NOICEDEATH\n\t+OLDRADIUSDMG\n\tDeathSound \"misc/explosion\"\n\tPainSound \"world/barrelp\"\n\tHealth 20\n\tRadius 10\n\tHeight 34\n Mass 650\n\tSpeed 0\n\tScale 0.65\n\tPainchance \"Melee\", 256\n\tPainchance \"Kicked\", 256\n\tDamagefactor \"Melee\", 0.1\n\tDamagefactor \"Kicked\", 0.1\n\tPainchance 255\n\tObituary \"$OB_BARREL\"\n\tStates\n\t{\n\tSpawn:\n\tSee:\n\t\tEXBG A 1\n\t\tLoop\n\tPain.Melee:\n\t\tTNT1 A 0 A_PlaySound(\"world/barrelp\")\n TNT1 A 0 A_FaceTarget\n\t\tTNT1 A 0 HealThing(100)\n\t\tTNT1 A 0 ThrustThing(angle*256/360+128, 5, 0, 0)\n\t\tTNT1 A 0 ThrustThingZ(0,10,0,1)\n\t\tGoto See\n\tDeath:\n\t\tEXBG B 3\n\t\tEXBG C 3 BRIGHT\n\t\tEXBG D 3 BRIGHT\n\t\tEXBG E 2 BRIGHT A_ScreamAndUnblock\n\t\tTNT1 A 0 A_SpawnItem(\"DetonationVisualBarrel\")\n\t\tEXBG F 2 BRIGHT A_Explode\n\t\tEXBG F -1\n\t\tStop\n\t}\n}\n\nACTOR DetonationVisualBarrel //Had to.\n{\n\tScale 1.26\n\tRadius 128\n\tHeight 64\n\t+RANDOMIZE\n\t+DEHEXPLOSION\n\t+NOGRAVITY\n\tObituary \"$OB_BARREL\"\n\tStates\n\t{\n\tSpawn:\n\tDeath:\n\t\tTNT1 A 0 A_SetScale(1.1)\n\t\tTNT1 A 0 A_SetTranslucent(0.65, 1)\n\t\tTNT1 A 0 A_AlertMonsters\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 A 0 Radius_Quake (5, 35, 0, 15, 0)\n\t\tTNT1 AAAAAAAA 0 A_SpawnDebris(\"BulletSparks\")\n\t\tTNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile(\"GunSmokeSpawner\")\n\t\tFTX2 ABCDEFGHIJKLMN 2 BRIGHT\n\t\tStop\n\t}\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKMachete.txt",
"contents": "//==============================================================================\n// Machete\n//==============================================================================\n\nACTOR FKMachete : FlakeWeapon replaces Fist\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.MELEEWEAPON\n\t+INVENTORY.UNDROPPABLE\n\t+WEAPON.ALT_AMMO_OPTIONAL\n\tWeapon.SelectionOrder 1400\n\tWeapon.SlotNumber 1\n\tWeapon.AmmoType2 \"FTHG1\"\n\tWeapon.AmmoUse2 1\n\tWeapon.AmmoGive2 0\n\tWeapon.Kickback 100\n\tInventory.Pickupmessage \"[Machete]\"\n\tObituary \"%o got slashed and diced by %k.\"\n\tTag \"[Machete]\"\n\tScale 0.3\n\tStates\n\t{\n\tSelect:\n\t\tNULL A 0 A_PlaySound(\"weapons/knife/up\",0)\n\t\tWP0G A 1 Offset(67, 100)\n\t\tWP0G A 1 Offset(54, 81)\n\t\tWP0G A 1 Offset(32, 69)\n\t\tWP0G A 1 Offset(22, 58)\n\t\tWP0G A 1 Offset(10, 47)\n\t\tWP0G A 1 Offset(7, 39)\n\t\tWP0G A 1 Offset(2, 34)\n\t\tNULL A 0 A_Raise\n\t\tWait\n\tReadyNoAmmo:\n\tReady:\n\t\tWP0G A 1 A_WeaponReady\n\t\tLoop\n\tDeselect:\n\t\tWP0G A 1 Offset(2, 34)\n\t\tWP0G A 1 Offset(7, 39)\n\t\tWP0G A 1 Offset(10, 47)\n\t\tWP0G A 1 Offset(22, 58)\n\t\tWP0G A 1 Offset(32, 69)\n\t\tWP0G A 1 Offset(54, 81)\n\t\tWP0G A 1 Offset(67, 100)\n\t\tNULL A 0 A_Lower\n\t\tWait\n\tFire:\n\t\tWP0G A 1 Offset (5, 40)\n\t\tWP0G A 1 Offset (15, 56)\n\t\tWP0G A 1 Offset (35, 88)\n\t\tWP0G A 1 Offset (55, 120)\n\t\tWP0G A 1 Offset (75, 152)\n\tSwing1:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",0)\n\t\tTNT1 A 9\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 6\n\t\tNULL A 0 A_Refire(\"Swing2\")\n\t\tWP0G A 1 Offset (75, 152)\n\t\tWP0G A 1 Offset (55, 120)\n\t\tWP0G A 1 Offset (35, 88)\n\t\tWP0G A 1 Offset (15, 56)\n\t\tWP0G A 1 Offset (5, 40)\n\t\tGoto Ready\n\tSwing2:\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",0)\n\t\tTNT1 A 9\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0G C 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0G D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 6\n\t\tNULL A 0 A_Refire(\"Swing1\")\n\t\tWP0G A 1 Offset (75, 152)\n\t\tWP0G A 1 Offset (55, 120)\n\t\tWP0G A 1 Offset (35, 88)\n\t\tWP0G A 1 Offset (15, 56)\n\t\tWP0G A 1 Offset (5, 40)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP0G A 1 Offset (5, 40)\n\t\tWP0G A 1 Offset (20, 70)\n\t\tWP0G A 1 Offset (30, 90)\n\t\tWP0G A 1 Offset (40, 110)\n\t\tWP0G A 1 Offset (50, 130)\n\t\tWP0G A 1 Offset (60, 150)\n\t\tWP0G A 1 Offset (70, 170)\n\t\tWP0G A 1 Offset (80, 190)\n\t\tWP0G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tNAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tTNT1 A 1 Offset (75, 152)\n\t\tWP0G A 1 Offset (75, 152)\n\t\tWP0G A 1 Offset (65, 136)\n\t\tWP0G A 1 Offset (55, 120)\n\t\tWP0G A 1 Offset (45, 104)\n\t\tWP0G A 1 Offset (35, 88)\n\t\tWP0G A 1 Offset (25, 72)\n\t\tWP0G A 1 Offset (15, 56)\n\t\tWP0G A 1 Offset (5, 40)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP0P A -1\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKGrenades.txt",
"contents": "//==============================================================================\n// Hand Grenades\n//==============================================================================\n\nACTOR GetOnWithIt : Inventory { Inventory.MaxAmount 100 }\n\nACTOR FKGrenades : FlakeWeapon\n{\n\t+WEAPON.EXPLOSIVE\n\t+INVENTORY.UNDROPPABLE\n\tWeapon.SlotNumber 8\n\tWeapon.AmmoType1 \"FTHG1\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive 1\n\tWeapon.SelectionOrder 1600\n\tInventory.Pickupmessage \"[Hand Grenades]\"\n\tScale 0.9\n\tTag \"[Hand Grenades]\"\n\tStates\n\t{\n\tReady:\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tTNT1 A 0 A_JumpIfNoAmmo(\"ReadyNoAmmo\")\n\t\tGREN A 1 A_WeaponReady\n\t\tGoto TrueReady\n\tTrueReady:\n\t\tGREN A 1 A_WeaponReady\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tLoop\n\tReadyNoAmmo:\n\t\tTNT1 A 1 A_WeaponReady\n\t\tLoop\n\tDeselect:\n\t\tTNT1 A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto Drylower\n\t\tGREN A 1 Offset (8, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (16, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (24, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (32, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (40, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (48, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (56, 0) A_Lower\n\t\tTNT1 A 0 A_Lower\n\t\tGREN A 1 Offset (64, 0) A_Lower\n\t\tTNT1 A 1 A_Lower\n\t\tWait\n\tDrylower:\n\t\tTNT1 A 1 A_Lower\n\t\tWait\n\tSelect:\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto ReadyNoAmmo\n\t\tTNT1 A 0 A_PlaySound(\"weapons/grenades/up\",6)\n\t\tGREN A 1 Offset (64, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (56, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (48, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (40, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (32, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (24, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (16, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tGREN A 1 Offset (8, 0) A_Raise\n\t\tTNT1 A 0 A_Raise\n\t\tWait\n\tFire:\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tTNT1 A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto Dryfire\n\t\tGREN A 1 Offset (5, 40)\n\t\tGREN A 1 Offset (15, 56)\n\t\tGREN A 1 Offset (25, 72)\n\t\tGREN A 1 Offset (35, 88)\n\t\tGREN A 1 Offset (45, 104)\n\t\tGREN A 1 Offset (55, 120)\n\t\tGREN A 1 Offset (65, 136)\n\t\tGREN A 1 Offset (75, 152)\n\t\tGREN A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tTNT1 A 1 A_ReFire(\"Hold\")\n\t\tGoto ReleaseTheKraken\n\tHold:\n\tHoldTheGrenade:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\", 100, \"Realfire\")\n\t\tTNT1 A 1 A_GiveInventory(\"GetOnWithIt\",3)\n\t\tNULL A 0 A_Refire(\"HoldTheGrenade\")\n\tReleaseTheKraken:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_GiveInventory(\"GetOnWithIt\",10)\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",90,\"Throw9\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",80,\"Throw8\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",70,\"Throw7\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",60,\"Throw6\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",50,\"Throw5\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",40,\"Throw4\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",30,\"Throw3\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",20,\"Throw2\")\n\t\tNULL A 0 A_JumpIfInventory(\"GetOnWithIt\",10,\"Throw1\")\n\t\tGoto Ready\n\tRealfire:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\tGoUpWithIt:\n\t\tTNT1 A 1 Offset (75, 152)\n\t\tGREN A 1 Offset (75, 152)\n\t\tGREN A 1 Offset (65, 136)\n\t\tGREN A 1 Offset (55, 120)\n\t\tGREN A 1 Offset (45, 104)\n\t\tGREN A 1 Offset (35, 88)\n\t\tGREN A 1 Offset (25, 72)\n\t\tGREN A 1 Offset (15, 56)\n\t\tGREN A 1 Offset (5, 40)\n\t\tGoto Ready\n\tAltfire:\n\t\tTNT1 A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto NoGrenadeAttack\n\t\tGREN A 1 Offset (5, 40)\n\t\tGREN A 1 Offset (15, 56)\n\t\tGREN A 1 Offset (25, 72)\n\t\tGREN A 1 Offset (35, 88)\n\t\tGREN A 1 Offset (45, 104)\n\t\tGREN A 1 Offset (55, 120)\n\t\tGREN A 1 Offset (65, 136)\n\t\tGREN A 1 Offset (75, 152)\n\tNoGrenadeAttack:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FKPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto ReadyNoAmmo\n\t\tGREN A 1 Offset (75, 152)\n\t\tGREN A 1 Offset (55, 120)\n\t\tGREN A 1 Offset (35, 88)\n\t\tGREN A 1 Offset (15, 56)\n\t\tGREN A 1 Offset (5, 40)\n\t\tGoto Ready\n\tDryfire:\n\t\tTNT1 A 1 A_Print(\"[No grenades]\",1)\n\t\tTNT1 A 1 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tTNT1 A 1 A_WeaponReady\n\t\tLoop\n\tThrow1:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade1\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow2:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade2\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow3:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade3\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow4:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade4\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow5:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade5\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow6:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade6\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow7:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade7\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow8:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade8\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tThrow9:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\")\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"Grenade9\",0,1,0,0)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfNoAmmo(\"Dryfire\")\n\t\tGoto GoUpWithIt\n\tSpawn:\n\t\tGREP A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Grenade\n//==============================================================================\n\nACTOR RealGrenade\n{\n\tRadius 8\n\tHeight 8\n\tSpeed 30\n\tHealth 1\n\tDamage 0\n\t-NOGRAVITY\n\t-GRENADETRAIL\n\t+RANDOMIZE\n\t+DEHEXPLOSION\n\t+SOLID\n\t+MISSILE\n\t+SHOOTABLE\n\t+NOBLOOD\n\t-NOBLOCKMAP\n\t+SKYEXPLODE\n\t+CANBOUNCEWATER\n\tObituary \"You died.\"\n\tBounceType \"Doom\"\n\tBounceFactor 0.4\n\tWallBounceFactor 0.3\n\tVar int user_lmine;\n\tDeathSound \"Misc/explosion\"\n\tBounceSound \"weapons/grenades/bounce\"\n\tDamageType \"Blasted\"\n\tObituary \"%k played some hot potato toss at %o.\"\n\tDecal Scorch\n\tGravity 0.85\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"Waterdeath\")\n\t GREB A 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB B 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB C 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB D 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB E 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB F 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB G 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tGREB H 2 A_SpawnItemEx(\"GunSmokeSpawner\",0,0,0,0,0,1,0,128)\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0 A_StopSound(6)\n\t\tTNT1 A 1 A_Explode(128,128)\n\t\tTNT1 A 0 A_PlaySound(\"Misc/Explosion\",CHAN_AUTO)\n\t\tTNT1 A 0 A_AlertMonsters\n\t\tTNT1 A 0 Radius_Quake(2,36,0,15,0)\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 AAAAAAAAAAAAAAA 0 A_SpawnDebris(\"BulletSparks\")\n\t\tTNT1 A 0 A_SetScale(0.8)\n\t\tTNT1 A 0 A_SetTranslucent(0.65,1)\n\tBlast:\n\t\tTNT1 A 0 A_CustomMissile(\"MineBlastVisual\",0,0,user_lmine,CMF_AIMDIRECTION)\n\t\tTNT1 A 0 A_SetUserVar(\"user_lmine\",user_lmine+1)\n\t\tTNT1 A 0 A_JumpIf(user_lmine==360,\"EndBlast\")\n\t\tLoop\n\tEndBlast:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"EndGround\")\n\t\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",TRUE)\n\t\tFTX1 ABCDEFGHIJKLMN 1 BRIGHT\n\t\tStop\n\tEndGround:\n\t\tTNT1 A 0 A_SetScale(1.1)\n\t\tTNT1 A 0 A_PlaySound(\"Misc/Explosion\",CHAN_AUTO)\n\t\tFTX2 ABCDEFGHIJKLMN 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR MineBlastVisual //Aesthetic part comes from the Spring Mine by Mor'ladim.\n{\n Speed 8\n Radius 8\n Height 5\n RenderStyle Add\n Alpha 0.45\n Scale 0.55\n PROJECTILE\n +BRIGHT\n +THRUACTORS\n +MOVEWITHSECTOR\n States\n {\n Spawn:\n MBLS TTTTT 1\n TNT1 A 0 A_SetTranslucent(0.1)\n MBLS TTT 2 A_SetScale(0.3)\n\t MBLS TT 2 A_SetScale(0.2)\n\t MBLS T 1 A_SetScale(0.1)\n Death:\n TNT1 A 0\n Stop\n }\n}\n\nACTOR Grenade1: RealGrenade { Speed 15 }\nACTOR Grenade2: RealGrenade { Speed 15 }\nACTOR Grenade3: RealGrenade { Speed 20 }\nACTOR Grenade4: RealGrenade { Speed 20 }\nACTOR Grenade5: RealGrenade { Speed 25 }\nACTOR Grenade6: RealGrenade { Speed 25 }\nACTOR Grenade7: RealGrenade { Speed 30 }\nACTOR Grenade8: RealGrenade { Speed 30 }\nACTOR Grenade9: RealGrenade { Speed 35 }"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKPistol.txt",
"contents": "//==============================================================================\n// Beretta 92FS\n//==============================================================================\n\nACTOR FKPistol : FlakeWeapon replaces Pistol\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 1100\n\tWeapon.SlotNumber 2\n\tWeapon.AmmoType1 \"WP2Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTCL1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 7\n\tObituary \"%o was a stopped target to %k's Pistol.\"\n\tInventory.Pickupmessage \"[Beretta 92FS]\"\n\tScale 0.25\n\tTag \"[Beretta 92FS]\"\n\tStates\n\t{\n\tDeselect:\n\t\tWP2G A 1 Offset(0, 32)\n\t\tWP2G A 1 Offset(2, 34)\n\t\tWP2G C 1 Offset(7, 39)\n\t\tWP2G C 1 Offset(10, 47)\n\t\tWP2G C 1 Offset(22, 58)\n\t\tWP2G B 1 Offset(32, 69)\n\t\tWP2G B 1 Offset(54, 81)\n\t\tWP2G B 1 Offset(67, 100)\n\t\tWP2G A 1 A_Lower\n\t\tWait\n\tReadyNoAmmo:\n\tReady:\n\t\tWP2G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tSelect:\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/up\",7)\n\t\tWP2G B 1 Offset(67, 100)\n\t\tWP2G B 1 Offset(54, 81)\n\t\tWP2G B 1 Offset(32, 69)\n\t\tWP2G C 1 Offset(22, 58)\n\t\tWP2G C 1 Offset(10, 47)\n\t\tWP2G C 1 Offset(7, 39)\n\t\tWP2G A 1 Offset(2, 34)\n\t\tWP2G A 1 Offset(0, 32)\n\t\tWP2G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenPistolToken\",55,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BPToken5\",55,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BPToken4\",55,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BPToken3\",55,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BPToken2\",55,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BPToken1\",55,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_FireBullets(2.1, 2.1, -1, 8,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BPToken1\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"PistolIsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBad1\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireBullets(2.8, 2.8, -1, 8,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BPToken2\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"PistolIsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBad2\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, -1, 7,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BPToken3\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"PistolIsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBad3\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, -1, 7,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BPToken4\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(32,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PistolIsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBad4\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, -1, 6,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BPToken5\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(40,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PistolIsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBad5\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp2/fire\",6)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, -1, 6,\"Bullet_Puff\")\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.7)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tWP2G B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenPistolToken\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tDryfire:\n\t\tWP2G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp2/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"PistolIsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"PistolIsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP2G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp2/jam\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP2G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP2G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP2G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP2G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP2G A 1 Offset(5, 40)\n\t\tWP2G A 1 Offset(15, 56)\n\t\tWP2G A 1 Offset(35, 88)\n\t\tWP2G A 1 Offset(55, 120)\n\t\tWP2G A 1 Offset(75, 152)\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP2G A 1 Offset(5, 40)\n\t\tWP2G A 1 Offset(15, 56)\n\t\tWP2G A 1 Offset(35, 88)\n\t\tWP2G A 1 Offset(55, 120)\n\t\tWP2G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP2G A 1 Offset(75, 152)\n\t\tWP2G A 1 Offset(55, 120)\n\t\tWP2G A 1 Offset(35, 88)\n\t\tWP2G A 1 Offset(15, 56)\n\t\tWP2G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP2G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tNAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP2G A 1 Offset(75, 152)\n\t\tWP2G A 1 Offset(65, 136)\n\t\tWP2G A 1 Offset(55, 120)\n\t\tWP2G A 1 Offset(45, 104)\n\t\tWP2G A 1 Offset(35, 88)\n\t\tWP2G A 1 Offset(25, 72)\n\t\tWP2G A 1 Offset(15, 56)\n\t\tWP2G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\", 15, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTCL1\", 1, \"ReloadWork\")\n\t\tWP2G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tNULL A 0 A_PlaySound(\"weapons/wp2/reload1\",6)\n\t\tWP2R A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R C 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R D 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R E 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R F 9 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTCL1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP2Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\", 15, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTCL1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tWP2R G 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp2/reload2\",7)\n\t\tWP2R H 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R I 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R J 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R K 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R L 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP2R C 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 4 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 A 4 BRIGHT A_Light1\n\t\tGoto LightDone\n \tSpawn:\n\t\tWP2P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP2Reload : Ammo\n{\n\tInventory.MaxAmount 15\n\t+IGNORESKILL\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKShotgun.txt",
"contents": "//==============================================================================\n// Franchi SPAS-12\n//==============================================================================\n\nACTOR FKShotgun : FlakeWeapon replaces Shotgun\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 1000\n\tWeapon.SlotNumber 3\n\tWeapon.AmmoType1 \"WP3Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTSH1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 8\n\tInventory.PickupMessage \"[Franchi SPAS-12]\"\n\tObituary \"%o was blasted away from %k's Shotgun.\"\n\tTag \"[Franchi SPAS-12]\"\n\tScale 0.4\n\tStates\n\t{\n\tSelect:\n\t\tNULL A 0 A_PlaySound(\"weapons/wp3/up\",7)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunReloading2\",1)\n\t\tWP3G A 1 Offset(67, 100)\n\t\tWP3G A 1 Offset(54, 81)\n\t\tWP3G A 1 Offset(32, 69)\n\t\tWP3G A 1 Offset(22, 58)\n\t\tWP3G A 1 Offset(10, 47)\n\t\tWP3G A 1 Offset(7, 39)\n\t\tWP3G A 1 Offset(2, 34)\n\t\tWP3G A 1 A_Raise\n\t\tWait\n\tReadyNoAmmo:\n\tReady:\n\t\tWP3G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tWP3G A 1 Offset(2, 34)\n\t\tWP3G A 1 Offset(7, 39)\n\t\tWP3G A 1 Offset(10, 47)\n\t\tWP3G A 1 Offset(22, 58)\n\t\tWP3G A 1 Offset(32, 69)\n\t\tWP3G A 1 Offset(54, 81)\n\t\tWP3G A 1 Offset(67, 100)\n\t\tWP3G A 1 A_Lower\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenShotgunToken\",25,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BSToken5\",25,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BSToken4\",25,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BSToken3\",25,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BSToken2\",25,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BSToken1\",25,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, 8, 5,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BSToken1\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\tPump:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/reload1\",7)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G G 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_FireCustomMissile(\"FKShellCasingSpawn\",345+random(-8,8),0,2,-5,0)\n\t\tWP3G H 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G I 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G H 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G G 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(32,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBad1\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, 8, 5,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BSToken2\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\t\tGoto Pump\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(40,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBad2\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(7, 7, 8, 5,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BSToken3\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\t\tGoto Pump\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(48,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBad3\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(8.4, 8.4, 8, 5,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BSToken4\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\t\tGoto Pump\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(56,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBad4\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(9.8, 9.8, 8, 5,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-2,2))\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BSToken5\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\t\tGoto Pump\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(72,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBad5\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ShotgunReloading2\",1,\"ReloadFinish\")\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/fire\",6)\n\t\tNULL A 0 A_FireBullets(11.2, 11.2, 7, 4,\"Bullet_Puff\")\n\t\tNULL A 0 Radius_Quake(3, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.950)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tWP3F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3F C 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-2,2))\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenShotgunToken\",1)\n\t\tWP3G A 1 Offset(0,39)\n\t\tWP3G A 1 Offset(0,37)\n\t\tWP3G A 1 Offset(0,36)\n\t\tWP3G A 1 Offset(0,34)\n\t\tWP3G A 1 Offset(0,32)\n\t\tGoto Pump\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"ShotgunIsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP3G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp3/jam\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP3G J 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 4 BRIGHT A_Light1\n\t\tTNT1 A 4 BRIGHT A_Light2\n\t\tGoto LightDone\n\tDryfire:\n\t\tWP3G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp3/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP3G J 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP3G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP3G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP3G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP3G A 1 Offset(5, 40)\n\t\tWP3G A 1 Offset(15, 56)\n\t\tWP3G A 1 Offset(35, 88)\n\t\tWP3G A 1 Offset(55, 120)\n\t\tWP3G A 1 Offset(75, 152)\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP3G A 1 Offset(5, 40)\n\t\tWP3G A 1 Offset(15, 56)\n\t\tWP3G A 1 Offset(35, 88)\n\t\tWP3G A 1 Offset(55, 120)\n\t\tWP3G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP3G A 1 Offset(75, 152)\n\t\tWP3G A 1 Offset(55, 120)\n\t\tWP3G A 1 Offset(35, 88)\n\t\tWP3G A 1 Offset(15, 56)\n\t\tWP3G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP3G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP3G A 1 Offset(75, 152)\n\t\tWP3G A 1 Offset(65, 136)\n\t\tWP3G A 1 Offset(55, 120)\n\t\tWP3G A 1 Offset(45, 104)\n\t\tWP3G A 1 Offset(35, 88)\n\t\tWP3G A 1 Offset(25, 72)\n\t\tWP3G A 1 Offset(15, 56)\n\t\tWP3G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\", 8, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTSH1\", 1, \"ReloadWork1\")\n\t\tWP3G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork1:\n\t\tNULL A 0 A_GiveInventory(\"ShotgunReloading2\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\",1,\"ReloadWork2\")\n\t\tNULL A 0 A_GiveInventory(\"ChamberLoading2\",1)\n\tReloadWork2:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\tReloadLoop:\n\t\tWP3S A 3 A_WeaponReady(WRF_NoSwitch|WRF_AllowZoom)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp3/reload2\",7)\n\t\tWP3S B 4 A_WeaponReady(WRF_NoSwitch|WRF_AllowZoom)\n\t\tWP3S C 5 A_WeaponReady(WRF_NoSwitch|WRF_AllowZoom)\n\t\tNULL A 0 A_TakeInventory(\"FTSH1\",1)\n\t\tNULL A 0 A_GiveInventory(\"WP3Reload\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"ChamberLoading2\", 1, \"ReloadPump\")\n\t\tNULL A 0 A_JumpIfInventory(\"WP3Reload\", 8, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTSH1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadPump:\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Playsound(\"weapons/wp3/reload1\",7)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G G 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G H 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G I 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G H 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G G 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"ChamberLoading2\",1)\n\t\tNULL A 0 A_JumpIfInventory(\"FTSH1\",1,\"Reloadloop\")\n\tReloadFinish:\n\t\tNULL A 0 A_TakeInventory(\"ShotgunReloading2\",1)\n\t\tWP3G E 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP3G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP3P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP3Reload : Ammo\n{\n Inventory.MaxAmount 8\n +IGNORESKILL\n}\n\nACTOR ShotgunReloading2: Inventory{}\nACTOR ChamberLoading2: Inventory{}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKMachinegun.txt",
"contents": "//==============================================================================\n// Calico M950 Automatic Pistol\n//==============================================================================\n\nACTOR FKMachinegun : FlakeWeapon replaces Chaingun\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 700\n\tWeapon.SlotNumber 4\n\tWeapon.AmmoType1 \"WP4Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTCL1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 30\n\tInventory.PickupMessage \"[Calico M950]\"\n\tObituary \"%o was riddled with holes by %k's Calico.\"\n\tTag \"[Calico M950]\"\n\tScale 0.4\n\tStates\n\t{\n\tReady:\n\t\tWP4G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tWP4G A 1 Offset(2, 34)\n\t\tWP4G A 1 Offset(7, 39)\n\t\tWP4G A 1 Offset(10, 47)\n\t\tWP4G A 1 Offset(22, 58)\n\t\tWP4G A 1 Offset(32, 69)\n\t\tWP4G A 1 Offset(54, 81)\n\t\tWP4G A 1 Offset(67, 100)\n\t\tWP4G A 1 A_Lower\n\t\tWait\n\tSelect:\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/up\",7)\n\t\tWP4G A 1 Offset(67, 100)\n\t\tWP4G A 1 Offset(54, 81)\n\t\tWP4G A 1 Offset(32, 69)\n\t\tWP4G A 1 Offset(22, 58)\n\t\tWP4G A 1 Offset(10, 47)\n\t\tWP4G A 1 Offset(7, 39)\n\t\tWP4G A 1 Offset(2, 34)\n\t\tWP4G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenSMGToken\",65,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BMToken5\",65,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BMToken4\",65,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BMToken3\",65,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BMToken2\",65,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BMToken1\",65,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake (1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(3.5, 3.5, -1, 7,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BMToken1\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"SMGIsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBad1\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, -1, 7,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BMToken2\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"SMGIsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBad2\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, -1, 6,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BMToken3\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"SMGIsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBad3\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(7, 7, -1, 6,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BMToken4\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(16,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"SMGIsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBad4\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(8.4, 8.4, -1, 5,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BMToken5\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(20,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"SMGIsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBad5\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/wp4/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_FireBullets(9.8, 9.8, -1, 5,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKLightCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenSMGToken\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tDryfire:\n\t\tWP4G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp4/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP4G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"SMGIsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"SMGIsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP4G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp4/jam\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP4G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 5 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 A 5 BRIGHT A_Light2\n\t\tGoto LightDone\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP4G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP4G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP4G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP4G A 1 Offset(5, 40)\n\t\tWP4G A 1 Offset(15, 56)\n\t\tWP4G A 1 Offset(35, 88)\n\t\tWP4G A 1 Offset(55, 120)\n\t\tWP4G A 1 Offset(75, 152)\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP4G A 1 Offset(5, 40)\n\t\tWP4G A 1 Offset(15, 56)\n\t\tWP4G A 1 Offset(35, 88)\n\t\tWP4G A 1 Offset(55, 120)\n\t\tWP4G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP4G A 1 Offset(75, 152)\n\t\tWP4G A 1 Offset(55, 120)\n\t\tWP4G A 1 Offset(35, 88)\n\t\tWP4G A 1 Offset(15, 56)\n\t\tWP4G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP4G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tNAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP4G A 1 Offset(75, 152)\n\t\tWP4G A 1 Offset(65, 136)\n\t\tWP4G A 1 Offset(55, 120)\n\t\tWP4G A 1 Offset(45, 104)\n\t\tWP4G A 1 Offset(35, 88)\n\t\tWP4G A 1 Offset(25, 72)\n\t\tWP4G A 1 Offset(15, 56)\n\t\tWP4G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\", 50, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTCL1\", 1, \"ReloadWork\")\n\t\tWP4G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R A 3 Offset(0,38)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 2 Offset(0,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R C 2 Offset(0,52)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R D 2 Offset(-1,54)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R E 3 Offset(-2,56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp4/reload1\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R F 3 Offset(-3,58)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R G 2 Offset(-4,58)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R H 2 Offset(-4,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R H 2 Offset(-3,54)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTCL1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP4Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP4Reload\", 50, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTCL1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R I 7 Offset(-3,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R H 2 Offset(-3,59)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R H 2 Offset(-3,63)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp4/reload2\",7)\n\t\tWP4R G 3 Offset(-3,67)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R F 3 Offset(-3,65)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R E 2 Offset(-3,62)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R D 2 Offset(-3,58)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R C 3 Offset(-3,55)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 2 Offset(-2,53)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 2 Offset(-2,49)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 1 Offset(-2,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 1 Offset(-2,45)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 1 Offset(-1,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 1 Offset(-1,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4R B 1 Offset(-1,47)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 Offset(0,49) A_WeaponReady\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 Offset(0,44) A_WeaponReady\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 Offset(0,38) A_WeaponReady\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 Offset(0,35) A_WeaponReady\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP4G A 1 Offset(0,32) A_WeaponReady\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP4P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP4Reload : Ammo\n{\n\tInventory.MaxAmount 50\n\t+IGNORESKILL\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKLauncher.txt",
"contents": "//==============================================================================\n// Springfield Armory M79 Grenade Launcher A.K.A. \"Thumper\"\n//==============================================================================\n\nACTOR FKLauncher : FlakeWeapon replaces RocketLauncher\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 1100\n\tWeapon.SlotNumber 5\n\tWeapon.AmmoType1 \"WP5Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTGR1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 1\n\tObituary \"%o was a easy target to %k's Thumper.\"\n\tInventory.Pickupmessage \"[Springfield M79]\"\n\tScale 0.4\n\tTag \"[Springfield M79]\"\n\tStates\n\t{\n\tDeselect:\n\t\tWP7G A 1 Offset(0, 32)\n\t\tWP7G A 1 Offset(2, 34)\n\t\tWP7G C 1 Offset(7, 39)\n\t\tWP7G C 1 Offset(10, 47)\n\t\tWP7G C 1 Offset(22, 58)\n\t\tWP7G B 1 Offset(32, 69)\n\t\tWP7G B 1 Offset(54, 81)\n\t\tWP7G B 1 Offset(67, 100)\n\t\tWP7G A 1 A_Lower\n\t\tWait\n\tReadyNoAmmo:\n\tReady:\n\t\tWP7G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tSelect:\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/up\",7)\n\t\tWP7G A 1 Offset(67, 100)\n\t\tWP7G A 1 Offset(54, 81)\n\t\tWP7G A 1 Offset(32, 69)\n\t\tWP7G A 1 Offset(22, 58)\n\t\tWP7G A 1 Offset(10, 47)\n\t\tWP7G A 1 Offset(7, 39)\n\t\tWP7G A 1 Offset(2, 34)\n\t\tWP7G A 1 Offset(0, 32)\n\t\tWP7G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenLauncherToken\",15,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BGToken5\",15,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BGToken4\",15,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BGToken3\",15,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BGToken2\",15,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BGToken1\",15,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BGToken1\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBad1\",1)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BGToken2\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(16,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBad2\",1)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnadeBad1\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BGToken3\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(24,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBad3\",1)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnadeBad1\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BGToken4\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(32,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBad4\",1)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnadeBad2\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-3,3))\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BGToken5\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(40,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBad5\",1)\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP5Reload\",1)\n\t\tNULL A 0 A_SpawnItemEx(\"FKThumpnadeBad3\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,0,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7F A 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -2.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-3,3))\n\t\tWP7F B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_Jump(128,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenLauncherToken\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tDryfire:\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP7/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"LauncherIsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP7/jam\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP7G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP7G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP7G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP7G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP7G A 1 Offset(5, 40)\n\t\tWP7G A 1 Offset(15, 56)\n\t\tWP7G A 1 Offset(35, 88)\n\t\tWP7G A 1 Offset(55, 120)\n\t\tWP7G A 1 Offset(75, 152)\n\t\tTNT1 A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP7G A 1 Offset(5, 40)\n\t\tWP7G A 1 Offset(15, 56)\n\t\tWP7G A 1 Offset(35, 88)\n\t\tWP7G A 1 Offset(55, 120)\n\t\tWP7G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP7G A 1 Offset(75, 152)\n\t\tWP7G A 1 Offset(55, 120)\n\t\tWP7G A 1 Offset(35, 88)\n\t\tWP7G A 1 Offset(15, 56)\n\t\tWP7G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP7G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP7G A 1 Offset(75, 152)\n\t\tWP7G A 1 Offset(65, 136)\n\t\tWP7G A 1 Offset(55, 120)\n\t\tWP7G A 1 Offset(45, 104)\n\t\tWP7G A 1 Offset(35, 88)\n\t\tWP7G A 1 Offset(25, 72)\n\t\tWP7G A 1 Offset(15, 56)\n\t\tWP7G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\", 1, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTGR1\", 1, \"ReloadWork\")\n\t\tWP7G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tWP7R A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP7/reload1\")\n\t\tWP7R C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R E 7 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R G 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R H 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R I 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP7/reload2\")\n\t\tWP7R J 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-5, 40)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-15, 56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-25, 72)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-35, 88)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-45, 104)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-55, 120)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-65, 136)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7R K 1 Offset(-75, 152)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTGR1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP5Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP5Reload\", 1, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTGR1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tNULL A 0 A_Playsound(\"weapons/WP7/reload3\",6)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(75, 152)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(65, 136)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(55, 120)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(45, 104)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(35, 88)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(25, 72)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(15, 56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP7G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 4 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 A 4 BRIGHT A_Light1\n\t\tGoto LightDone\n \tSpawn:\n\t\tWP7P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP5Reload : Ammo\n{\n\tInventory.MaxAmount 1\n\t+IGNORESKILL\n}\n\n//==============================================================================\n// M79 projectile\n//==============================================================================\n\nACTOR FKThumpnade\n{\n\tRadius 6\n\tHeight 6\n\tSpeed 50\n\tDamage 5\n\tProjectile\n\t-NOGRAVITY\n\t+RANDOMIZE\n\t+DEHEXPLOSION\n\t+CANBOUNCEWATER\n\tGravity 0.75\n\tObituary \"You died.\"\n\tBounceType \"None\"\n\tDeathSound \"misc/explosion\"\n\tDamageType \"Blasted\"\n\tVar int user_lmine;\n\tObituary \"%k played some hot potato toss at %o.\"\n\tDecal Scorch\n\tScale 0.55\n\tStates\n\t{\n\tSpawn:\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 BBB 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tFBA2 AAA 1 BRIGHT A_SpawnItem(\"GunSmokeSpawner\")\n\t\tNULL A 0 BRIGHT A_SpawnItem(\"BFireTrail\",8+random(-5,5),random(-5,5))\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 0 A_StopSound(6)\n\t\tTNT1 A 1 A_Explode(156,156)\n\t\tTNT1 A 0 A_PlaySound(\"Misc/Explosion\",CHAN_AUTO)\n\t\tTNT1 A 0 A_AlertMonsters\n\t\tTNT1 A 0 Radius_Quake(2,36,0,15,0)\n\t\tTNT1 A 0 A_NoBlocking\n\t\tTNT1 AAAAAAAAAAAAAAA 0 A_SpawnDebris(\"BulletSparks\")\n\t\tTNT1 A 0 A_SetScale(0.8)\n\t\tTNT1 A 0 A_SetTranslucent(0.65,1)\n\tBlast:\n\t\tTNT1 A 0 A_CustomMissile(\"MineBlastVisual\",0,0,user_lmine,CMF_AIMDIRECTION)\n\t\tTNT1 A 0 A_SetUserVar(\"user_lmine\",user_lmine+1)\n\t\tTNT1 A 0 A_JumpIf(user_lmine==360,\"EndBlast\")\n\t\tLoop\n\tEndBlast:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_CheckFloor(\"EndGround\")\n\t\tTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\",TRUE)\n\t\tFTX1 ABCDEFGHIJKLMN 1 BRIGHT\n\t\tStop\n\tEndGround:\n\t\tTNT1 A 0 A_SetScale(1.1)\n\t\tTNT1 A 0 A_PlaySound(\"Misc/Explosion\",CHAN_AUTO)\n\t\tFTX2 ABCDEFGHIJKLMN 2 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR BFireTrail : BulletPuff\n{\n\t+NOBLOCKMAP\n\t+RANDOMIZE\n\t+NOGRAVITY\n\t+WINDTHRUST\n\tRadius 13\n\tHeight 8\n\tRenderStyle \"Add\"\n\tScale 0.3\n\tAlpha 0.9\n\tStates\n\t{\n\tSpawn:\n\t\tNULL A 0 A_Jump(128, 9)\n\t\tNULL A 0 BRIGHT A_Jump(220,1,2,3,4,5,6,7)\n\t\tFTRL IJKLMNOP 4 BRIGHT\n\t\tStop\n\t\tNULL A 0 BRIGHT A_Jump(220,1,2,3,4,5,6,7)\n\t\tFTRL ABCDEFGH 4 BRIGHT\n\t\tStop\n\t}\n}\n\nACTOR FKThumpnadeBad1 : FKThumpnade\n{\n\tSpeed 40\n\tDamage 3\n}\n\nACTOR FKThumpnadeBad2 : FKThumpnade\n{\n\tSpeed 30\n\tDamage 2\n}\n\nACTOR FKThumpnadeBad3 : FKThumpnade\n{\n\tSpeed 20\n\tDamage 1\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKCarbine.txt",
"contents": "//==============================================================================\n// Colt M4A1 Carbine\n//==============================================================================\n\nACTOR FKCarbine : FlakeWeapon replaces SuperShotgun\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 700\n\tWeapon.SlotNumber 6\n\tWeapon.AmmoType1 \"WP8Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTHC1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 15\n\tInventory.PickupMessage \"[Colt M4A1]\"\n\tObituary \"%o was swiss-cheesed by %k's M4A1.\"\n\tTag \"[Colt M4A1]\"\n\tScale 0.280\n\tStates\n\t{\n\tReady:\n\t\tWP8G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tWP8G A 1 Offset(2, 34)\n\t\tWP8G A 1 Offset(7, 39)\n\t\tWP8G A 1 Offset(10, 47)\n\t\tWP8G A 1 Offset(22, 58)\n\t\tWP8G A 1 Offset(32, 69)\n\t\tWP8G A 1 Offset(54, 81)\n\t\tWP8G A 1 Offset(67, 100)\n\t\tWP8G A 1 A_Lower\n\t\tWait\n\tSelect:\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/up\",7)\n\t\tWP8G A 1 Offset(67, 100)\n\t\tWP8G A 1 Offset(54, 81)\n\t\tWP8G A 1 Offset(32, 69)\n\t\tWP8G A 1 Offset(22, 58)\n\t\tWP8G A 1 Offset(10, 47)\n\t\tWP8G A 1 Offset(7, 39)\n\t\tWP8G A 1 Offset(2, 34)\n\t\tWP8G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenM4Token\",40,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BCToken5\",40,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BCToken4\",40,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BCToken3\",40,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BCToken2\",40,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BCToken1\",40,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, -1, 9,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BCToken1\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"M4IsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBad1\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(4.2, 4.2, -1, 9,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BCToken2\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"M4IsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBad2\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, -1, 9,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BCToken3\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(16,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M4IsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBad3\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(5.6, 5.6, -1, 8,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BCToken4\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(24,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M4IsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBad4\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(7.0, 7.0, -1, 8,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-2,2))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BCToken5\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(32,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M4IsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBad5\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP8/fire\",6)\n\t\tNULL A 0 Radius_Quake(1, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.975)\n\t\tNULL A 0 A_FireBullets(7.0, 7.0, -1, 8,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-2,2))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenM4Token\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tDryfire:\n\t\tWP8G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP8/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP8G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"M4IsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"M4IsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP8G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP8/jam\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP8G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 5 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 A 5 BRIGHT A_Light2\n\t\tGoto LightDone\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP8G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP8G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP8G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP8G A 1 Offset(5, 40)\n\t\tWP8G A 1 Offset(15, 56)\n\t\tWP8G A 1 Offset(35, 88)\n\t\tWP8G A 1 Offset(55, 120)\n\t\tWP8G A 1 Offset(75, 152)\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP8G A 1 Offset(5, 40)\n\t\tWP8G A 1 Offset(15, 56)\n\t\tWP8G A 1 Offset(35, 88)\n\t\tWP8G A 1 Offset(55, 120)\n\t\tWP8G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP8G A 1 Offset(75, 152)\n\t\tWP8G A 1 Offset(55, 120)\n\t\tWP8G A 1 Offset(35, 88)\n\t\tWP8G A 1 Offset(15, 56)\n\t\tWP8G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP8G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tTNT1 A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP8G A 1 Offset(75, 152)\n\t\tWP8G A 1 Offset(65, 136)\n\t\tWP8G A 1 Offset(55, 120)\n\t\tWP8G A 1 Offset(45, 104)\n\t\tWP8G A 1 Offset(35, 88)\n\t\tWP8G A 1 Offset(25, 72)\n\t\tWP8G A 1 Offset(15, 56)\n\t\tWP8G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\", 30, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTHC1\", 1, \"ReloadWork\")\n\t\tWP8G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R A 3 Offset(0,38)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 2 Offset(0,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R C 2 Offset(0,52)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R D 2 Offset(-1,54)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R E 3 Offset(-2,56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R F 3 Offset(-3,58)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP8/reload1\",6)\n\t\tWP8R G 2 Offset(-4,58)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R H 2 Offset(-4,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R G 2 Offset(-3,54)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R G 7 Offset(-3,53)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTHC1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP8Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP8Reload\", 30, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHC1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R G 5 Offset(-3,52)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R G 5 Offset(-3,54)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R G 7 Offset(-3,57)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R E 2 Offset(-3,59)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP8/reload2\",7)\n\t\tWP8R F 2 Offset(-3,63)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R D 3 Offset(-3,67)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R C 3 Offset(-3,65)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 2 Offset(-3,62)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R I 2 Offset(-3,58)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP8/reload3\",5)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R J 4 Offset(-3,55)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R K 2 Offset(-2,53)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R L 2 Offset(-3,55)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R M 2 Offset(-2,53)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R L 2 Offset(-2,49)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R K 2 Offset(-2,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R J 2 Offset(-2,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 2 Offset(-2,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 1 Offset(-2,45)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 1 Offset(-1,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 1 Offset(-1,46)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8R B 1 Offset(-1,47)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 Offset(0,49)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 Offset(0,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 Offset(0,38)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 Offset(0,35)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP8G A 1 Offset(0,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP8P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP8Reload : Ammo\n{\n\tInventory.MaxAmount 30\n\t+IGNORESKILL\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKHoser.txt",
"contents": "//==============================================================================\n// Daewoo K3 Paratrooper Light Machine Gun\n//==============================================================================\n\nACTOR FKHoser : FlakeWeapon replaces PlasmaRifle\n{\n\t+WEAPON.NOAUTOFIRE\n\t+WEAPON.AMMO_OPTIONAL\n\tWeapon.SelectionOrder 700\n\tWeapon.SlotNumber 7\n\tWeapon.AmmoType1 \"WP9Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTHC1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 60\n\tInventory.PickupMessage \"[Daewoo K3 Paratrooper]\"\n\tObituary \"%o was obliterated by %k's Daewoo K3.\"\n\tTag \"[Daewoo K3]\"\n\tScale 0.45\n\tStates\n\t{\n\tReady:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecute(\"WeaponHeatM249\",0)\n\t\tWP9G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 ACS_NamedExecute(\"WeaponHeatM249\",0)\n\t\tWP9G A 1 Offset(2, 34)\n\t\tWP9G A 1 Offset(7, 39)\n\t\tWP9G A 1 Offset(10, 47)\n\t\tWP9G A 1 Offset(22, 58)\n\t\tWP9G A 1 Offset(32, 69)\n\t\tWP9G A 1 Offset(54, 81)\n\t\tWP9G A 1 Offset(67, 100)\n\t\tWP9G A 1 A_Lower\n\t\tWait\n\tSelect:\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/up\",7)\n\t\tWP9G A 1 Offset(67, 100)\n\t\tWP9G A 1 Offset(54, 81)\n\t\tWP9G A 1 Offset(32, 69)\n\t\tWP9G A 1 Offset(22, 58)\n\t\tWP9G A 1 Offset(10, 47)\n\t\tWP9G A 1 Offset(7, 39)\n\t\tWP9G A 1 Offset(2, 34)\n\t\tWP9G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"OverheatToken\",100,\"Overheat\")\n\t\tNULL A 0 ACS_NamedTerminate(\"WeaponHeatM249\",0)\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenM249Token\",50,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BHToken5\",50,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BHToken4\",50,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BHToken3\",50,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BHToken2\",50,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BHToken1\",50,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(6.3, 6.3, -1, 12,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BHToken1\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"M249IsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBad1\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(6.3, 6.3, -1, 12,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BHToken2\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"M249IsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBad2\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(7.7, 7.7, -1, 11,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BHToken3\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",2)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(16,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M249IsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBad3\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(7.7, 7.7, -1, 11,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BHToken4\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",2)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(24,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M249IsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBad4\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(8.4, 8.4, -1, 10,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_SetAngle(angle + frandom(-3,3))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BHToken5\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",3)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(32,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"M249IsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBad5\",1)\n\t\tNULL A 0 A_Playsound(\"weapons/WP9/fire\",6)\n\t\tNULL A 0 Radius_Quake(2, 2, 0, 1, 0)\n\t\tNULL A 0 A_ZoomFactor(0.965)\n\t\tNULL A 0 A_FireBullets(8.4, 8.4, -1, 10,\"Bullet_Puff\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_FireCustomMissile(\"FKHeavyCasingSpawn\",345+random(-8,8),0,-4,-5,0)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0)\n\t\tNULL A 0 A_Gunflash\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F A 1 BRIGHT\n\t\tNULL A 0 A_ZoomFactor(1.000)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9F B 1 BRIGHT\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch-frandom(-0.5,2.0))\n\t\tNULL A 0 A_SetAngle(angle + frandom(-3,3))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenM249Token\",1)\n\t\tNULL A 0 A_GiveInventory(\"OverheatToken\",3)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tOverheat:\n\t\tNULL A 0 A_Print(\"[Weapon overheat]\",3)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/jam2\",7)\n\t\tNULL A 0 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 1 A_FireCustomMissile(\"GunSmokeSpawner\",Random(-1,1),0,Random(-1,1),Random(-1,1),0,Random(-1,1))\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"OverheatToken\",40)\n\t\tGoto Ready\n\tDryfire:\n\t\tWP9G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/dry\",7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP9G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"M249IsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"M249IsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP9G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/jam1\",7)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP9G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 5 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 A 5 BRIGHT A_Light2\n\t\tGoto LightDone\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP9G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP9G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP9G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP9G A 1 Offset(5, 40)\n\t\tWP9G A 1 Offset(15, 56)\n\t\tWP9G A 1 Offset(35, 88)\n\t\tWP9G A 1 Offset(55, 120)\n\t\tWP9G A 1 Offset(75, 152)\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP9G A 1 Offset(5, 40)\n\t\tWP9G A 1 Offset(15, 56)\n\t\tWP9G A 1 Offset(35, 88)\n\t\tWP9G A 1 Offset(55, 120)\n\t\tWP9G A 1 Offset(75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FTPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP9G A 1 Offset(75, 152)\n\t\tWP9G A 1 Offset(55, 120)\n\t\tWP9G A 1 Offset(35, 88)\n\t\tWP9G A 1 Offset(15, 56)\n\t\tWP9G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP9G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tTNT1 A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP9G A 1 Offset(75, 152)\n\t\tWP9G A 1 Offset(65, 136)\n\t\tWP9G A 1 Offset(55, 120)\n\t\tWP9G A 1 Offset(45, 104)\n\t\tWP9G A 1 Offset(35, 88)\n\t\tWP9G A 1 Offset(25, 72)\n\t\tWP9G A 1 Offset(15, 56)\n\t\tWP9G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\", 120, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTHC1\", 1, \"ReloadWork\")\n\t\tWP9G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R A 2 Offset(-1,38)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R B 3 Offset(-1,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R C 3 Offset(-2,48)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R D 3 Offset(-2,50)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/reload1\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R E 1 Offset(-3,51)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R F 3 Offset(-3,52)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(-4,53)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 2 Offset(5, 40)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 2 Offset(15, 56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 2 Offset(35, 88)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 3 Offset(55, 120)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 3 Offset(75, 152)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 30 Offset(75, 152)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/reload2\",7)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 30 Offset(75, 152)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 30 Offset(75, 152)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTHC1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP9Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP9Reload\", 120, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHC1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(75, 152)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(65, 136)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(55, 120)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(45, 104)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(35, 88)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(25, 72)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(15, 56)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R G 1 Offset(5, 40)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/WP9/reload3\",7)\n\t\tWP9R F 3 Offset(-3,52)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R E 1 Offset(-3,51)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R D 3 Offset(-2,50)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R C 3 Offset(-2,48)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R B 3 Offset(-1,44)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP9R A 2 Offset(-1,38)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"OverheatToken\",30)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP9P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP9Reload : Ammo\n{\n\tInventory.MaxAmount 120\n\t+IGNORESKILL\n}"
},
{
"source": "pk3",
"name": "Actors/Weapons/FKPlasmaRifle.txt",
"contents": "//==============================================================================\n// Winchester P94 Plasma Cannon\n//==============================================================================\n\nACTOR FKPlasmaRifle : FlakeWeapon replaces BFG9000\n{\n\t+WEAPON.NOAUTOFIRE\n\tWeapon.SelectionOrder 300\n\tWeapon.SlotNumber 6\n\tWeapon.AmmoType1 \"WP6Reload\"\n\tWeapon.AmmoUse1 1\n\tWeapon.AmmoGive1 0\n\tWeapon.AmmoType2 \"FTBT1\"\n\tWeapon.AmmoUse2 0\n\tWeapon.AmmoGive2 45\n\tInventory.PickupMessage \"[Winchester P94]\"\n\tObituary \"%o is having a good time getting fried by %k's Plasma Cannon.\"\n\tTag \"[Winchester P94]\"\n\tScale 0.4\n\tStates\n\t{\n\tReadyNoAmmo:\n\tReady:\n\t\tTNT1 A 0 A_PlaySound(\"weapons/wp6/idle\",7)\n\t\tWP6G A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)\n\t\tLoop\n\tDeselect:\n\t\tTNT1 A 0 A_StopSound(5)\n\t\tTNT1 A 0 A_StopSound(6)\n\t\tTNT1 A 0 A_StopSound(7)\n\t\tWP6G A 1 Offset(2, 34)\n\t\tWP6G A 1 Offset(7, 39)\n\t\tWP6G A 1 Offset(10, 47)\n\t\tWP6G A 1 Offset(22, 58)\n\t\tWP6G A 1 Offset(32, 69)\n\t\tWP6G A 1 Offset(54, 81)\n\t\tWP6G A 1 Offset(67, 100)\n\t\tWP6G A 1 A_Lower\n\t\tWait\n\tSelect:\n\t\tTNT1 A 0 A_PlaySound(\"weapons/wp6/up\",5)\n\t\tWP6G A 1 Offset(67, 100)\n\t\tWP6G A 1 Offset(54, 81)\n\t\tWP6G A 1 Offset(32, 69)\n\t\tWP6G A 1 Offset(22, 58)\n\t\tWP6G A 1 Offset(10, 47)\n\t\tWP6G A 1 Offset(7, 39)\n\t\tWP6G A 1 Offset(2, 34)\n\t\tWP6G A 1 A_Raise\n\t\tWait\n\tFire:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_JumpIfInventory(\"BrokenPlasmaToken\",55,\"BrokenGun\")\n\t\tNULL A 0 A_JumpIfInventory(\"BLToken5\",55,\"BadFire5\")\n\t\tNULL A 0 A_JumpIfInventory(\"BLToken4\",55,\"BadFire4\")\n\t\tNULL A 0 A_JumpIfInventory(\"BLToken3\",55,\"BadFire3\")\n\t\tNULL A 0 A_JumpIfInventory(\"BLToken2\",55,\"BadFire2\")\n\t\tNULL A 0 A_JumpIfInventory(\"BLToken1\",55,\"BadFire1\")\n\tGoodCondition:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_FireCustomMissile(\"NewPlasma\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.3)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BLToken1\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tCoolDown:\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/steam\",5)\n\t\tNULL A 0 A_Print(\"[Weapon cooldown]\",1)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S E 2 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S E 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S A 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S A 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S B 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S B 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S C 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S C 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S D 2 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6S E 1 A_FireCustomMissile(\"GunSmokeSpawner\",0,0,0,-8)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tBadFire1:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsGood\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBad1\",1)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_FireCustomMissile(\"NewPlasma\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.3)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BLToken2\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Ready\n\tBadFire2:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(12,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsBad1\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBad2\",1)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_FireCustomMissile(\"BadPlasma1\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -0.3)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BLToken3\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Cooldown\n\tBadFire3:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(16,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsBad2\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBad3\",1)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_FireCustomMissile(\"BadPlasma1\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BLToken4\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Cooldown\n\tBadFire4:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(20,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsBad3\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBad4\",1)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP6Reload\",1)\n\t\tNULL A 0 A_FireCustomMissile(\"BadPlasma2\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BLToken5\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Cooldown\n\tBadFire5:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\",1,1)\n\t\tGoto Dryfire\n\t\tNULL A 0 A_Jump(24,\"Jam\")\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsBad4\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBad5\",1)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/fire\",6)\n\t\tNULL A 0 A_TakeInventory(\"WP6Reload\",1)\n\t\tNULL A 0 A_FireCustomMissile(\"BadPlasma2\")\n\t\tNULL A 0 A_AlertMonsters\n\t\tNULL A 0 A_Gunflash\n\t\tWP6F A 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6F B 1 BRIGHT A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"RecoilToggle\")==0,2)\n\t\tNULL A 0 A_SetPitch(pitch -1.0)\n\t\tNULL A 0 A_SetAngle(angle + frandom(-1,1))\n\t\tNULL A 0 A_Jump(192,2)\n\t\tNULL A 0 A_GiveInventory(\"BrokenPlasmaToken\",1)\n\t\tNULL A 0 A_ReFire\n\t\tGoto Cooldown\n\tDryfire:\n\t\tWP6G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/dryfire\",5)\n\t\tNULL A 0 A_StopSound(7)\n\t\tNULL A 0 A_Print(\"[No ammo]\",1)\n\t\tWP6G B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6G A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tGrenadeDryfire:\n\t\tNULL A 0 A_Print(\"[No grenades]\",1)\n\t\tGoto Ready\n\tBrokenGun:\n\t\tNULL A 0 A_TakeInventory(\"PlasmaIsBad5\",1)\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsBroken\",1)\n\t\tNULL A 0 A_Print(\"[Weapon broken]\",1)\n\t\tGoto Ready\n\tJam:\n\t\tWP6J A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6J B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/death\",5)\n\t\tNULL A 0 A_Print(\"[Weapon jam]\",1)\n\t\tWP6J C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6J D 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6J E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6J F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tFlash:\n\t\tTNT1 A 2 BRIGHT A_Light1\n\t\tGoto LightDone\n\t\tTNT1 B 2 BRIGHT A_Light1\n\t\tGoto LightDone\n\tZoom:\n\t\tNULL A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"M2G\")\n\t\tWP6G A 5 A_WeaponReady(WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"G2M\")\n\t\tGoto Ready\n\tM2G:\n\t\tNULL A 0 A_TakeInventory(\"MacheteAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",7)\n\t\tWP6G A 5 A_Print(\"[Grenade altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"GrenadeAltfire\",1)\n\t\tGoto Ready\n\tG2M:\n\t\tNULL A 0 A_TakeInventory(\"GrenadeAltfire\",1)\n\t\tNULL A 0 A_PlaySound(\"Menu/activate\",6)\n\t\tWP6G A 5 A_Print(\"[Machete altfire]\")\n\t\tNULL A 0 A_GiveInventory(\"MacheteAltfire\",1)\n\t\tGoto Ready\n\tAltfire:\n\t\tNULL A 0 A_JumpIfInventory(\"GrenadeAltfire\",1,\"GrenadeCheck\")\n\t\tWP6G A 1 Offset(-5, 40)\n\t\tWP6G A 1 Offset(-15, 56)\n\t\tWP6G A 1 Offset(-35, 88)\n\t\tWP6G A 1 Offset(-55, 120)\n\t\tWP6G A 1 Offset(-75, 152)\n\t\tTNT1 A 0 A_JumpIfInventory(\"MacheteAltfire\",1,\"MacheteAlt\")\n\tGrenadeCheck:\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP6G A 1 Offset(-5, 40)\n\t\tWP6G A 1 Offset(-15, 56)\n\t\tWP6G A 1 Offset(-35, 88)\n\t\tWP6G A 1 Offset(-55, 120)\n\t\tWP6G A 1 Offset(-75, 152)\n\t\tGoto GrenadeAlt\n\tMacheteAlt:\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_Jump(220,2)\n\t\tNULL A 0 A_PlaySound(\"FKPlayer/attack\",7)\n\t\tTNT1 A 10\n\t\tTNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP0F B 1 A_CustomPunch(8,0,\"KnifePuff\",80)\n\t\tWP0F C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tTNT1 A 10\n\t\tWP6G A 1 Offset(-75, 152)\n\t\tWP6G A 1 Offset(-55, 120)\n\t\tWP6G A 1 Offset(-35, 88)\n\t\tWP6G A 1 Offset(-15, 56)\n\t\tWP6G A 1 Offset(-5, 40)\n\t\tGoto Ready\n\tGrenadeAlt:\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTHG1\",1,1)\n\t\tGoto GrenadeDryfire\n\t\tWP6G A 6 A_PlaySound(\"weapons/grenades/arm\",7)\n\t\tNULL A 0 A_JumpIf(waterlevel>2,\"ReadyNoAmmo\")\n\t\tNULL A 0 A_StopSound(1)\n\t\tNULL A 0 Offset(-20,32)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND C 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND D 1 A_PlaySound(\"weapons/grenades/throw\",6)\n\t\tNULL A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_SpawnItemEx(\"RealGrenade\",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)\n\t\tNULL A 0 A_TakeInventory(\"FTHG1\",1)\n\t\tMAND E 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tMAND F 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_TakeInventory(\"GetOnWithIt\", 100)\n\t\tNULL A 0 A_JumpIfInventory(\"WP2Reload\",1,1)\n\t\tTNT1 A 1 Offset(75, 152)\n\t\tWP6G A 1 Offset(75, 152)\n\t\tWP6G A 1 Offset(65, 136)\n\t\tWP6G A 1 Offset(55, 120)\n\t\tWP6G A 1 Offset(45, 104)\n\t\tWP6G A 1 Offset(35, 88)\n\t\tWP6G A 1 Offset(25, 72)\n\t\tWP6G A 1 Offset(15, 56)\n\t\tWP6G A 1 Offset(5, 40)\n\t\tGoto Ready\n\tReload:\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\", 90, 2)\n\t\tNULL A 0 A_JumpIfInventory(\"FTBT1\", 1, \"ReloadWork\")\n\t\tWP6G A 1 A_WeaponReady\n\t\tGoto Ready\n\tReloadWork:\n\t\tNULL A 0 A_StopSound(7)\n\t\tWP6R A 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/reload1\",6)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R D 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R E 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R F 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\tReloadLoop:\n\t\tNULL A 0 A_TakeInventory(\"FTBT1\", 1)\n\t\tNULL A 0 A_GiveInventory(\"WP6Reload\", 1)\n\t\tNULL A 0 A_JumpIfInventory(\"WP6Reload\", 90, \"ReloadFinish\")\n\t\tNULL A 0 A_JumpIfInventory(\"FTBT1\", 1, \"ReloadLoop\")\n\t\tGoto ReloadFinish\n\tReloadFinish:\n\t\tWP6R F 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tNULL A 0 A_PlaySound(\"weapons/wp6/reload2\",6)\n\t\tWP6R G 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R H 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R I 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R B 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tWP6R A 3 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)\n\t\tGoto Ready\n\tSpawn:\n\t\tWP6P A -1\n\t\tStop\n\t}\n}\n\nACTOR WP6Reload : Ammo\n{\n\tInventory.MaxAmount 90\n\t+IGNORESKILL\n}\n\n//==============================================================================\n// Plasma projectile actors\n//==============================================================================\n\nACTOR NewPlasma : PlasmaBall\n{\n\tSeeSound \"\"\n\tDeathSound \"weapons/wp6/death\"\n\tRenderStyle Add\n\tDamageType \"Plas\"\n\tAlpha 0.5\n\tScale 0.6\n\tSpeed 45\n\tDecal \"RevenantScorch\"\n\tDamage 11\n\tStates\n\t{\n\tSpawn:\n\t\tWP6B AB 1 BRIGHT A_SpawnItemEx(\"GunSmokeSpawner\")\n\t\tLoop\n\tDeath:\n\t\tNULL A 0 A_SpawnItemEx(\"PlasmaWave\")\n\t\tNULL A 0 A_SetScale(1)\n\t\tWP6E ABCDEFGHIJKLMN 1\n\t\tstop\n\t}\n}\n\nACTOR BadPlasma1 : NewPlasma\n{\n\tSpeed 35\n\tDamage 9\n}\n\nACTOR BadPlasma2 : NewPlasma\n{\n\tSpeed 25\n\tDamage 7\n}\n\nACTOR PlasmaWave\n{\n\t+NOCLIP\n\t+NOGRAVITY\n\t+NOINTERACTION\n\tSeeSound \"\"\n\tDeathSound \"\"\n\tRenderStyle Add\n\tAlpha 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tNULL A 0\n\t\tNULL A 0 A_SetScale(0.1)\n\tDeath:\n\t\tNULL A 0 A_SetScale(0.1)\n\t\tNULL A 0 A_SetTranslucent(0.8)\n\t\tWP6C A 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.15)\n\t\tNULL A 0 A_SetTranslucent(0.7)\n\t\tWP6C B 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.2)\n\t\tNULL A 0 A_SetTranslucent(0.6)\n\t\tWP6C C 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.25)\n\t\tNULL A 0 A_SetTranslucent(0.5)\n\t\tWP6C D 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.3)\n\t\tNULL A 0 A_SetTranslucent(0.4)\n\t\tWP6C E 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.35)\n\t\tNULL A 0 A_SetTranslucent(0.3)\n\t\tWP6C F 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.4)\n\t\tNULL A 0 A_SetTranslucent(0.2)\n\t\tWP6C G 1 BRIGHT\n\t\tNULL A 0 A_SetScale(0.45)\n\t\tNULL A 0 A_SetTranslucent(0.1)\n\t\tWP6C H 1 BRIGHT\n\t\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Pickups/FT-Items.txt",
"contents": "//==============================================================================\n// Health and Armor\n//==============================================================================\n// Armor Bonus\n//==============================================================================\n\nACTOR Bonusgear : ArmorBonus\n{\n\tInventory.Pickupmessage \"[+1 Armor]\"\n\tInventory.PickupSound \t\"items/general/pkp1\"\n\tTag \"[AP Boost]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tARM3 A -1\n\t\tStop\n\t}\n}\n\nACTOR HGSpawner1 : RandomSpawner replaces ArmorBonus\n{\n\tDropItem \"FTHG1\" \t 256 2\n\tDropItem \"Bonusgear\" 256 8\n}\n\n//==============================================================================\n// Light Gear\n//==============================================================================\n\nACTOR Lightgear : GreenArmor replaces GreenArmor\n{\n\tInventory.Pickupmessage \"[+100 Armor]\"\n\tInventory.PickupSound \t\"items/general/pkp3\"\n\tTag \"[Light Armor]\"\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tARM1 A 6\n\t\tARM1 A 6 BRIGHT\n\t\tLoop\n\t}\n}\n\n//==============================================================================\n// Heavy Gear\n//==============================================================================\n\nACTOR Heavygear : BlueArmor replaces BlueArmor\n{\n\tInventory.Pickupmessage \"[+200 Armor]\"\n\tInventory.PickupSound \t\"items/general/pkp3\"\n\tTag \"[Heavy Armor]\"\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tARM2 A 6\n\t\tARM2 A 6 BRIGHT\n\t\tLoop\n\t}\n}\n\n//==============================================================================\n// Health Bonus\n//==============================================================================\n\nACTOR BonusHeal : HealthBonus replaces HealthBonus\n{\n\tInventory.PickupMessage \"[+1 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp1\"\n\tTag \"[HP Boost]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tMED3 A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Stimpacks (medicinal herbs)\n//==============================================================================\n\nACTOR LowHeal1 : Stimpack\n{\n\tInventory.PickupMessage \"[+10 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp6\"\n\tTag \"[Medicinal Herb]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tMED1 A -1\n\t\tStop\n\t}\n}\n\nACTOR LowHeal2 : Stimpack\n{\n\tInventory.PickupMessage \"[+10 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp6\"\n\tTag \"[Medicinal Herb]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tMED1 B -1\n\t\tStop\n\t}\n}\n\nACTOR LowHeal3 : Stimpack\n{\n\tInventory.PickupMessage \"[+10 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp6\"\n\tTag \"[Medicinal Herb]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tMED1 C -1\n\t\tStop\n\t}\n}\n\nACTOR LowHeal4 : Stimpack\n{\n\tInventory.PickupMessage \"[+10 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp6\"\n\tTag \"[Medicinal Herb]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tMED1 D -1\n\t\tStop\n\t}\n}\n\nACTOR LowHealSpawner : RandomSpawner replaces Stimpack\n{\n\tDropItem \"LowHeal1\"\n\tDropItem \"LowHeal2\"\n\tDropItem \"LowHeal3\"\n\tDropItem \"LowHeal4\"\n}\n\n//==============================================================================\n// Med Pak M (Medium)\n//==============================================================================\n\nACTOR BigHeal : CustomInventory replaces Medikit\n{\n\t-COUNTITEM\n\t-FLOATBOB\n\t+INVENTORY.INVBAR\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Amount 1\n\tInventory.MaxAmount 4\n\tInventory.InterHubAmount 4\n\tInventory.Icon MED2E0\n\tInventory.UseSound \t\t\"items/general/pkp6\"\n\tInventory.PickupSound \t\"items/general/pkp1\"\n\tInventory.PickupMessage \"[+1 Med Pak M]\"\n\tTag \"[Med Pak M]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED2 A -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"BigHeal2\",1)\n\t\tStop\n\t}\n}\n\nACTOR BigHeal2 : Medikit\n{\n\t+INVENTORY.PICKUPFLASH\n\tInventory.PickupFlash \t\"PickupFlash\"\n\tInventory.PickupMessage \"[+25 Health]\"\n\tHealth.LowMessage 25, \t\"[+25 Health]\"\n\tTag \"[Med Pak M]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED2 A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Powerups\n//==============================================================================\n// Invulnerability\n//==============================================================================\n\nACTOR GodSphere3 : CustomInventory replaces InvulnerabilitySphere\n{\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Invulnerability]\"\n\tTag \"[Invulnerability]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW C -1\n\t\tStop\n\tPickup:\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"InstantGod\")==1,\"Instant\")\n\tInvenBar:\n\t\tTNT1 A 0 A_GiveInventory(\"GodSphere2\")\n\t\tStop\n\tInstant:\n\t\tTNT1 A 0 A_GiveInventory(\"GodSphere\")\n\t\tStop\n\t}\n}\n\nACTOR GodSphere2 : CustomInventory\n{\n\t+INVENTORY.INVBAR\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \t\t\t\"M_FTGD\"\n\tInventory.Amount \t\t1\n\tInventory.MaxAmount \t1\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Invulnerability]\"\n\tTag \"[Invulnerability]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW C -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"GodSphere\",1)\n\t\tStop\n\t}\n}\n\nACTOR GodSphere : PowerupGiver\n{\n\t+BRIGHT\n\t+COUNTITEM\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\tInventory.MaxAmount 0\n\tPowerup.Type Invulnerable\n\tPowerup.Color Blue 0.20\n\tInventory.PickupMessage \"[Invulnerability]\"\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tTag \"[Invulnerability]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW C -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Supercharge (replaces Soulsphere)\n//==============================================================================\n\nACTOR SuperCharge : Soulsphere replaces SoulSphere\n{\n\tInventory.PickupMessage \"[+100 Health]\"\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tTag \"[Ringer's Solution]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW A 6\n\t\tFTPW A 6 BRIGHT\n\t\tLoop\n\t}\n}\n\n//==============================================================================\n// MegaCharge (replaces Megasphere)\n//==============================================================================\n\nACTOR MegaCharge : MegaSphere replaces MegaSphere\n{\n\tInventory.PickupMessage \"[+200 Health and Armor]\"\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tTag \"[Medical Spray Pack]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW B 6\n\t\tFTPW B 6 BRIGHT\n\t\tLoop\n\t}\n}\n\n//==============================================================================\n// Med Pak L (Large)\n//==============================================================================\n\nACTOR LargeHeal : CustomInventory\n{\n\t-COUNTITEM\n\t-FLOATBOB\n\t+INVENTORY.INVBAR\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Amount 1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon MED2F0\n\tInventory.UseSound \t\t\"items/general/pkp6\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[+1 Med Pak L]\"\n\tTag \"[Med Pak L]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED4 A -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"LargeHeal2\",1)\n\t\tStop\n\t}\n}\n\nACTOR LargeHeal2 : Medikit\n{\n\tTag \"[Med Pak L]\"\n\tInventory.PickupMessage \"[+50 Health]\"\n\tHealth.LowMessage 25, \"[+50 Health]\"\n\tInventory.Amount 50\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED2 A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Med Pak S (Special)\n//==============================================================================\n\nACTOR SpecialHeal : CustomInventory replaces Blursphere\n{\n\t-COUNTITEM\n\t-FLOATBOB\n\t+INVENTORY.INVBAR\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Amount 1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon MED2H0\n\tInventory.UseSound \t\t\"items/general/pkp6\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[+1 Med Pak S]\"\n\tTag \"[Med Pak S]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED5 A -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"SpecialHeal2\",1)\n\t\tStop\n\t}\n}\n\nACTOR SpecialHeal2 : Medikit\n{\n\tTag \"[Med Pak S]\"\n\tInventory.PickupMessage \"[+25 Health]\"\n\tHealth.LowMessage 25, \"[+25 Health]\"\n\tInventory.Amount 25\n\tInventory.MaxAmount 200\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tMED2 A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Protein Capsule\n//==============================================================================\n\nACTOR ProteinCapsule : CustomInventory\n{\n\t-COUNTITEM\n\t-FLOATBOB\n\t+INVENTORY.INVBAR\n\t+INVENTORY.HUBPOWER\n//\t+INVENTORY.TRANSFER\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Amount 1\n\tInventory.MaxAmount 1\n\tInventory.InterHubAmount 1\n\tInventory.Icon MED2G0\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[+1 Protein Capsule]\"\n\tTag \"[Protein Capsule]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW F 6\n\t\tFTPW F 6 BRIGHT\n\t\tLoop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"ProteinCapsule2\",10)\n\t\tNULL A 0 A_Print(\"[Max health increased by 10]\",3)\n\t\tStop\n\t}\n}\n\nACTOR ProteinCapsule2 : UpgradeStamina\n{\n\tTag \"[Protein Capsule]\"\n\tInventory.Amount 10\n\tInventory.MaxAmount 100\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW H 6\n\t\tFTPW H 6 BRIGHT\n\t\tLoop\n\t}\n}\n\nACTOR BerserkSpawner1 : RandomSpawner replaces Berserk\n{\n\tDropItem \"LargeHeal\" \t\t\t256 8\n\tDropItem \"ProteinCapsule\" \t\t256 2\n}\n\n//==============================================================================\n// Environimental Suit\n//==============================================================================\n\nACTOR RadSphere3 : CustomInventory replaces Radsuit\n{\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \t\t\tM_RAD1\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Environimental Suit]\"\n\tTag \"[Environimental Suit]\"\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW D -1\n\t\tStop\n\tPickup:\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"InstantRad\")==1,\"Instant\")\n\tInvenBar:\n\t\tTNT1 A 0 A_GiveInventory(\"RadSphere2\")\n\t\tStop\n\tInstant:\n\t\tTNT1 A 0 A_GiveInventory(\"RadSphere\")\n\t\tStop\n\t}\n}\n\nACTOR RadSphere2 : CustomInventory\n{\n\t+INVENTORY.INVBAR\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \t\t\tM_RAD1\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.Amount \t\t 1\n\tInventory.MaxAmount \t 2\n\tInventory.InterHubAmount 2\n\tInventory.PickupMessage \"[Environimental Suit]\"\n\tTag \"[Environimental Suit]\"\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW D -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"RadSphere\",1)\n\t\tStop\n\t}\n}\n\nACTOR RadSphere : Radsuit\n{\n\t+BRIGHT\n\t+VISIBILITYPULSE\n\tTag \"[Environimental Suit]\"\n\tInventory.PickupMessage \"[Environimental Suit]\"\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tScale 0.5\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW D -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Area Map\n//==============================================================================\n\nACTOR Localmap : MapRevealer replaces Allmap\n{\n\t+COUNTITEM\n\t+INVENTORY.FANCYPICKUPSOUND\n\t+INVENTORY.ALWAYSPICKUP\n\tInventory.MaxAmount 0\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tInventory.PickupMessage \"[Area Map]\"\n\tTag \"[Area Map]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW E -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Lighter\n//==============================================================================\n\nACTOR FlakesVisor3 : CustomInventory replaces InfraRed\n{\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \t\t\tM_FTLT\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Lighter]\"\n\tTag \"[Lighter]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW G -1\n\t\tStop\n\tPickup:\n\t\tTNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult(\"InstantNvg\")==1,\"Instant\")\n\tInvenBar:\n\t\tTNT1 A 0 A_GiveInventory(\"FlakesVisor2\")\n\t\tStop\n\tInstant:\n\t\tTNT1 A 0 A_GiveInventory(\"FlakesVisor\")\n\t\tStop\n\t}\n}\n\nACTOR FlakesVisor : InfraRed\n{\n\tPowerup.Type Torch\n\tInventory.PickupSound \t\"items/general/pkp4\"\n\tInventory.PickupMessage \"[Lighter]\"\n\tTag \"[Lighter]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW G -1\n\t\tStop\n\t}\n}\n\nACTOR FlakesVisor2 : CustomInventory\n{\n\t+INVENTORY.INVBAR\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \t\t\tM_FTLT\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Lighter]\"\n\tTag \"[Lighter]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW G -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"FlakesVisor\",1)\n\t\tStop\n\t}\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Pickups/FT-Ammo.txt",
"contents": "//==============================================================================\n// Ammunitions\n//==============================================================================\n// Bullet Clip\n//==============================================================================\n\nACTOR FTCL1 : Ammo\n{\n\tInventory.PickupMessage \"[+15 Bullets]\"\n\tInventory.PickupSound \t\"items/general/pkp7\"\n\tInventory.Amount 15\n\tInventory.MaxAmount 150\n\tInventory.Icon \"FTCLA0\"\n\tAmmo.BackpackAmount 45\n\tAmmo.BackpackMaxAmount 300\n\tTag \"[9mm Clip]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tFTCL A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Bullet Box\n//==============================================================================\n\nACTOR FTCL2 : FTCL1\n{\n\tInventory.PickupMessage \"[+45 Bullets]\"\n\tInventory.PickupSound \t\"items/general/pkp8\"\n\tInventory.Amount 45\n\tTag \"[9mm Carton]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tFTCL B -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Shotgun Shells\n//==============================================================================\n\nACTOR FTSH1 : Ammo\n{\n\tInventory.PickupMessage \"[+4 Shells]\"\n\tInventory.PickupSound \t\"items/general/pkp7\"\n\tInventory.Amount 4\n\tInventory.MaxAmount 40\n\tInventory.Icon \"FTSHA0\"\n\tAmmo.BackpackAmount 12\n\tAmmo.BackpackMaxAmount 80\n\tTag \"[12g Shells]\"\n\tScale 0.35\n\tStates\n\t{\n\tSpawn:\n\t\tFTSH A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Shotgun Shell Box\n//==============================================================================\n\nACTOR FTSH2 : FTSH1\n{\n\tInventory.PickupMessage \"[+12 Shells]\"\n\tInventory.PickupSound \t\"items/general/pkp8\"\n\tInventory.Amount 12\n\tTag \"[12g Box]\"\n\tScale 0.3\n\tStates\n\t{\n\tSpawn:\n\t\tFTSH B -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Rifle Ammo\n//==============================================================================\n\nACTOR FTHC1 : Ammo\n{\n\tInventory.PickupMessage \"[+20 Rounds]\"\n\tInventory.PickupSound \t\"items/general/pkp7\"\n\tInventory.Amount 20\n\tInventory.MaxAmount 120\n\tInventory.Icon \"FTHCA0\"\n\tAmmo.BackpackAmount 60\n\tAmmo.BackpackMaxAmount 240\n\tTag \"[5.56mm Magazine]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTHC A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Rifle Box\n//==============================================================================\n\nACTOR FTHC2 : FTHC1\n{\n\tInventory.PickupMessage \"[+60 Rounds]\"\n\tInventory.PickupSound \t\"items/general/pkp8\"\n\tInventory.Amount 60\n\tTag \"[5.56mm Crate]\"\n\tScale 0.45\n\tStates\n\t{\n\tSpawn:\n\t\tFTHC B -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Batteries\n//==============================================================================\n\nACTOR FTBT1 : Ammo\n{\n\tInventory.PickupMessage \"[+20 Charges]\"\n\tInventory.PickupSound \t\"items/general/pkp7\"\n\tInventory.Amount 20\n\tInventory.Icon \"FTBTA0\"\n\tInventory.MaxAmount 180\n\tAmmo.BackpackAmount 60\n\tAmmo.BackpackMaxAmount 360\n\tTag \"[P94 Cell]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTBT A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Battery Pack\n//==============================================================================\n\nACTOR FTBT2 : FTBT1\n{\n\tInventory.PickupMessage \"[+60 Charges]\"\n\tInventory.PickupSound \t\"items/general/pkp8\"\n\tInventory.Amount 60\n\tTag \"[P94 Battery]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tFTBT B -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Hand Grenade\n//==============================================================================\n\nACTOR FTHG1 : Ammo\n{\n\tInventory.PickupMessage \"[+1 Grenade]\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.Amount 1\n\tInventory.MaxAmount 20\n\tInventory.Icon \"FTHGA0\"\n\tAmmo.BackpackAmount 1\n\tAmmo.BackpackMaxAmount 40\n\tTag \"[HE Grenade]\"\n\tScale 0.22\n\tStates\n\t{\n\tSpawn:\n\t\tFTHG A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// 40mm Explosive Grenade Rounds\n//==============================================================================\n\nACTOR FTGR1 : Ammo\n{\n\tInventory.PickupMessage \"[+2 Explosives]\"\n\tInventory.PickupSound \t\"items/general/pkp7\"\n\tInventory.Amount 2\n\tInventory.MaxAmount 30\n\tInventory.Icon \"FTGRA0\"\n\tAmmo.BackpackAmount 1\n\tAmmo.BackpackMaxAmount 60\n\tTag \"[40mm Airburst]\"\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTGR A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// 40mm Explosive Grenade Pack\n//==============================================================================\n\nACTOR FTGR2 : FTGR1\n{\n\tInventory.PickupMessage \"[+3 Explosives]\"\n\tInventory.PickupSound \t\"items/general/pkp8\"\n\tInventory.Amount 3\n\tTag \"[40mm Pack]\"\n\tScale 0.33\n\tStates\n\t{\n\tSpawn:\n\t\tFTGR B -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Backpack\n//==============================================================================\n\nACTOR FTBP1 : BackpackItem replaces Backpack\n{\n\tHeight 10\n\tScale 0.5\n\tInventory.PickupMessage \"[+1 Ammo Backpack]\"\n\tInventory.PickupSound \t\"items/general/pkp3\"\n\tTag \"[Ammo Backpack]\"\n\tStates\n\t{\n\tSpawn:\n\t\tFTBP A -1\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Ammo box spawners\n//==============================================================================\n// Clips\n//==============================================================================\n\nACTOR FTAmmoSP1 : RandomSpawner replaces Clip\n{\n\tDropItem FTCL1 256, 9\n\tDropItem FTCL1 256, 9\n\tDropItem FTWP2PT 256, 1\n}\n\nACTOR FTAmmoSP11 : RandomSpawner replaces Clipbox\n{\n\tDropItem FTCL2 256, 9\n\tDropItem FTWP4PT 256, 1\n}\n\n//==============================================================================\n// Shells\n//==============================================================================\nACTOR FTAmmoSP2 : RandomSpawner replaces Shell\n{\n\tDropItem FTSH1 256, 7\n\tDropItem FTHC1 256, 3\n\tDropItem FTWP3PT 256, 1\n}\n\nACTOR FTAmmoSP22 : RandomSpawner replaces Shellbox\n{\n\tDropItem FTSH2 256, 7\n\tDropItem FTHC2 256, 3\n\tDropItem FTWP7PT 256, 1\n}\n\n//==============================================================================\n// Rockets\n//==============================================================================\nACTOR FTAmmoSP31 : RandomSpawner replaces RocketAmmo\n{\n\tDropItem FTGR1 256, 8\n\tDropItem FTHG1 256, 2\n}\n\nACTOR FTAmmoSP32 : RandomSpawner replaces Rocketbox\n{\n\tDropItem FTGR2 256, 9\n\tDropItem FTGR2 256, 9\n\tDropItem FTWP5PT 256, 1\n}\n\n//==============================================================================\n// Cells\n//==============================================================================\nACTOR FTAmmoSP5 : RandomSpawner replaces Cell\n{\n\tDropItem FTBT1 256, 7\n\tDropItem FTHC1 256, 2\n\tDropItem FTWP6PT 256, 1\n}\n\nACTOR FTAmmoSP55 : RandomSpawner replaces Cellpack\n{\n\tDropItem FTBT2 256, 7\n\tDropItem FTHC2 256, 2\n\tDropItem FTWP8PT 256, 1\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Pickups/FT-Kits.txt",
"contents": "//==============================================================================\n// Weapon Parts\n//==============================================================================\n// Beretta 92FS repair parts\n//==============================================================================\nACTOR FTWP2PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\t\tM_WP2K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Beretta 92FS parts]\"\n\tTag \"[Beretta 92FS parts]\"\n\tScale 0.35\n\tStates\n\t{\n\tSpawn:\n\t\tWP2K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Beretta 92FS parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenPistolToken\",75)\n\t\tNULL A 0 A_TakeInventory(\"BPToken5\",75)\n\t\tNULL A 0 A_TakeInventory(\"BPToken4\",75)\n\t\tNULL A 0 A_TakeInventory(\"BPToken3\",75)\n\t\tNULL A 0 A_TakeInventory(\"BPToken2\",75)\n\t\tNULL A 0 A_TakeInventory(\"BPToken1\",75)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"PistolisBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"PistolisBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"PistolisBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"PistolisBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"PistolisBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"PistolisBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"PistolIsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Beretta 92FS fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Franchi SPAS-12 parts\n//==============================================================================\nACTOR FTWP3PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\tM_WP3K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Franchi SPAS-12 parts]\"\n\tTag \"[Franchi SPAS-12 parts]\"\n\tScale 0.35\n\tStates\n\t{\n\tSpawn:\n\t\tWP3K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Franchi SPAS-12 parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenShotgunToken\",50)\n\t\tNULL A 0 A_TakeInventory(\"BSToken5\",50)\n\t\tNULL A 0 A_TakeInventory(\"BSToken4\",50)\n\t\tNULL A 0 A_TakeInventory(\"BSToken3\",50)\n\t\tNULL A 0 A_TakeInventory(\"BSToken2\",50)\n\t\tNULL A 0 A_TakeInventory(\"BSToken1\",50)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"ShotgunisBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"ShotgunIsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Franchi SPAS-12 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Calico M950 parts\n//==============================================================================\nACTOR FTWP4PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\tM_WP4K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Calico M950 parts]\"\n\tTag \"[Calico M950 parts]\"\n\tScale 0.35\n\tStates\n\t{\n\tSpawn:\n\t\tWP4K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Calico M950 parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenSMGToken\",90)\n\t\tNULL A 0 A_TakeInventory(\"BMToken5\",90)\n\t\tNULL A 0 A_TakeInventory(\"BMToken4\",90)\n\t\tNULL A 0 A_TakeInventory(\"BMToken3\",90)\n\t\tNULL A 0 A_TakeInventory(\"BMToken2\",90)\n\t\tNULL A 0 A_TakeInventory(\"BMToken1\",90)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"SMGisBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"SMGisBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"SMGisBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"SMGisBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"SMGisBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"SMGisBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"SMGIsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Calico M950 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Springfield M79 parts\n//==============================================================================\nACTOR FTWP5PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\tM_WP5K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Springfield M79 parts]\"\n\tTag \"[Springfield M79 parts]\"\n\tScale 0.4\n\tStates\n\t{\n\tSpawn:\n\t\tWP5K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Springfield M79 parts]\", 3)\n\t\tStop\n Use:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenLauncherToken\",90)\n\t\tNULL A 0 A_TakeInventory(\"BGToken5\",90)\n\t\tNULL A 0 A_TakeInventory(\"BGToken4\",90)\n\t\tNULL A 0 A_TakeInventory(\"BGToken3\",90)\n\t\tNULL A 0 A_TakeInventory(\"BGToken2\",90)\n\t\tNULL A 0 A_TakeInventory(\"BGToken1\",90)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"LauncherisBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"LauncherIsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Springfield M79 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Winchester P94 parts\n//==============================================================================\n\nACTOR FTWP6PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\tM_WP6K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Winchester P94 parts]\"\n\tTag \"[Winchester P94 parts]\"\n\tScale 0.25\n\tStates\n\t{\n\tSpawn:\n\t\tWP6K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Winchester P94 parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenPlasmaToken\",100)\n\t\tNULL A 0 A_TakeInventory(\"BLToken5\",100)\n\t\tNULL A 0 A_TakeInventory(\"BLToken4\",100)\n\t\tNULL A 0 A_TakeInventory(\"BLToken3\",100)\n\t\tNULL A 0 A_TakeInventory(\"BLToken2\",100)\n\t\tNULL A 0 A_TakeInventory(\"BLToken1\",100)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"PlasmaisBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"PlasmaIsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Winchester P94 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Colt M4A1 Parts\n//==============================================================================\n\nACTOR FTWP7PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\tM_WP7K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Colt M4A1 parts]\"\n\tTag \"[Colt M4A1 parts]\"\n\tScale 0.35\n\tStates\n\t{\n\tSpawn:\n\t\tWP8K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Colt M4A1 parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenM4Token\",40)\n\t\tNULL A 0 A_TakeInventory(\"BCToken5\",40)\n\t\tNULL A 0 A_TakeInventory(\"BCToken4\",40)\n\t\tNULL A 0 A_TakeInventory(\"BCToken3\",40)\n\t\tNULL A 0 A_TakeInventory(\"BCToken2\",40)\n\t\tNULL A 0 A_TakeInventory(\"BCToken1\",40)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"M4isBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"M4isBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"M4isBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"M4isBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"M4isBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"M4isBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"M4IsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Colt M4A1 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n//==============================================================================\n// Daewoo K3 parts\n//==============================================================================\n\nACTOR FTWP8PT : CustomInventory\n{\n\t-COUNTITEM\n\t+INVENTORY.INVBAR\n\t-INVENTORY.AUTOACTIVATE\n\t+INVENTORY.PICKUPFLASH\n\tInventory.Amount \t1\n\tInventory.MaxAmount 2\n\tInventory.InterHubAmount 2\n\tInventory.Icon \t\t\tM_WP8K\n\tInventory.UseSound \t\t\"items/general/pkp3\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Daewoo K3 parts]\"\n\tTag \"[Daewoo K3 parts]\"\n\tScale 0.45\n\tStates\n\t{\n\tSpawn:\n\t\tWP9K A -1\n\t\tStop\n\tPickup:\n\t\tNULL A 0 A_Print(\"[Daewoo K3 parts]\", 3)\n\t\tStop\n\tUse:\n\t\t// Game Items\n\t\tNULL A 0 A_TakeInventory(\"BrokenM249Token\",90)\n\t\tNULL A 0 A_TakeInventory(\"BHToken5\",90)\n\t\tNULL A 0 A_TakeInventory(\"BHToken4\",90)\n\t\tNULL A 0 A_TakeInventory(\"BHToken3\",90)\n\t\tNULL A 0 A_TakeInventory(\"BHToken2\",90)\n\t\tNULL A 0 A_TakeInventory(\"BHToken1\",90)\n\t\t// HUD Items\n\t\tNULL A 0 A_TakeInventory(\"M249isBroken\",1)\n\t\tNULL A 0 A_TakeInventory(\"M249isBad5\",1)\n\t\tNULL A 0 A_TakeInventory(\"M249isBad4\",1)\n\t\tNULL A 0 A_TakeInventory(\"M249isBad3\",1)\n\t\tNULL A 0 A_TakeInventory(\"M249isBad2\",1)\n\t\tNULL A 0 A_TakeInventory(\"M249isBad1\",1)\n\t\t// Weapon Condition\n\t\tNULL A 0 A_GiveInventory(\"M249IsGood\",1)\n\t\t// Print Message\n\t\tNULL A 0 A_Print(\"[Daewoo K3 fully repaired]\",3)\n\t\tStop\n\t}\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Shared/FT-Heretic.txt",
"contents": "//==============================================================================\n// Heretic Spawners - Credits to wildweasel's nazis basis and Deii\n//==============================================================================\n// Weapons\n//==============================================================================\nACTOR FTWeapon1 : RandomSpawner replaces Staff { DropItem \"FKMachete\" }\nACTOR FTWeapon2 : RandomSpawner replaces Gauntlets { DropItem \"FKCarbine\" }\nACTOR FTWeapon3 : RandomSpawner replaces GoldWand { DropItem \"FKPistol\" }\nACTOR FTWeapon4 : RandomSpawner replaces Crossbow { DropItem \"FKShotgun\" }\nACTOR FTWeapon5 : RandomSpawner replaces ArtiTeleport { DropItem \"FKCarbine\" }\nACTOR FTWeapon6 : RandomSpawner replaces Mace \t\t{ DropItem \"FKPlasmaRifle\" }\nACTOR FTWeapon7 : RandomSpawner replaces Blaster { DropItem \"FKMachinegun\" }\nACTOR FTWeapon8 : RandomSpawner replaces SkullRod { DropItem \"FKLauncher\" }\nACTOR FTWeapon9 : RandomSpawner replaces PhoenixRod { DropItem \"FKHoser\" }\n\n//==============================================================================\n// Ammo (Spawners)\n//==============================================================================\nACTOR FTAmmo1 : RandomSpawner replaces GoldWandAmmo\n{\n\tDropItem \"FTCL1\" 256, 10\n}\n\nACTOR FTAmmo2 : RandomSpawner replaces GoldWandHefty\n{\n\tDropItem \"FTCL2\" 256, 9\n\tDropItem \"FTWP2PT\" 256, 1\n}\n\nACTOR FTAmmo3 : RandomSpawner replaces CrossbowAmmo\n{\n\tDropItem \"FTSH1\" 256, 10\n}\n\nACTOR FTAmmo4 : RandomSpawner replaces CrossbowHefty\n{\n\tDropItem \"FTSH2\" 256, 9\n\tDropItem \"FTWP3PT\" 256, 1\n}\n\nACTOR FTAmmo5 : RandomSpawner replaces MaceAmmo\n{\n\tDropItem \"FTBT1\" 256, 10\n}\n\nACTOR FTAmmo6 : RandomSpawner replaces MaceHefty\n{\n\tDropItem \"FTBT2\" 256, 9\n\tDropItem \"FTWP6PT\" 256, 1\n}\n\nACTOR FTAmmo7 : RandomSpawner replaces BlasterAmmo\n{\n\tDropItem \"FTCL1\" 256, 10\n}\n\nACTOR FTAmmo8 : RandomSpawner replaces BlasterHefty\n{\n\tDropItem \"FTCL2\" 256, 9\n\tDropItem \"FTWP4PT\" 256, 1\n}\n\nACTOR FTAmmo9 : RandomSpawner replaces SkullRodAmmo\n{\n\tDropItem \"FTHG1\" 256, 8\n\tDropItem \"FTGR1\" 256, 2\n}\n\nACTOR FTAmmo10 : RandomSpawner replaces SkullRodHefty\n{\n\tDropItem \"FTGR2\" 256, 9\n\tDropItem \"FTWP5PT\" 256, 1\n}\n\nACTOR FTAmmo11 : RandomSpawner replaces PhoenixRodAmmo\n{\n\tDropItem \"FTHC1\" 256 9\n\tDropItem \"FTHC1\" 256 9\n\tDropItem \"FTWP7PT\" 256 1\n}\n\nACTOR FTAmmo12 : RandomSpawner replaces PhoenixRodHefty\n{\n\tDropItem \"FTHC2\" 256 9\n\tDropItem \"FTHC2\" 256 9\n\tDropItem \"FTWP8PT\" 256 1\n}\n\n//==============================================================================\n// Armor\n//==============================================================================\nACTOR FTArmor1 : RandomSpawner replaces SilverShield \t{ DropItem \"Lightgear\" }\nACTOR FTArmor2 : RandomSpawner replaces EnchantedShield { DropItem \"Heavygear\" }\n\n//==============================================================================\n// Power-ups\n//==============================================================================\nACTOR PowerHeretic1 : RandomSpawner replaces SuperMap { DropItem \"LocalMap\" }\nACTOR PowerHeretic2\t : RandomSpawner replaces BagOfHolding { DropItem \"FTBP1\" }\n\nACTOR PowerHeretic3 : RandomSpawner replaces ArtiTimebomb\n{\n\tDropItem \"FTHG1\" 256, 8\n\tDropItem \"FTGR1\" 256, 2\n}\n\nACTOR PowerHeretic4 : RandomSpawner replaces ArtiEgg\n{\n\tDropItem \"FTHG1\" 256, 8\n\tDropItem \"FTGR1\" 256, 2\n}\n\nACTOR PowerHeretic5 : RandomSpawner replaces ArtiTomeOfPower\n{\n\tDropItem \"FTWP2PT\" 256, 2\n\tDropItem \"FTWP3PT\" 256, 2\n\tDropItem \"FTWP4PT\" 256, 2\n\tDropItem \"FTWP5PT\" 256, 2\n\tDropItem \"FTWP6PT\" 256, 2\n\tDropItem \"FTWP7PT\" 256, 2\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Shared/FT-Hexen.txt",
"contents": "//==============================================================================\n// (Beta) Hexen compatibility - Credits to Xaser.\n//==============================================================================\n// Weapons\n//==============================================================================\n// Fighter\n//==============================================================================\nACTOR FKFWP0 : RandomSpawner replaces FWeapAxe\t\t{DropItem \"FKShotgun\"}\nACTOR FKFWP1 : RandomSpawner replaces FWeapHammer \t{DropItem \"FKLauncher\"}\nACTOR FKFWP2 : RandomSpawner replaces FWeaponPiece1 {DropItem \"FKMachinegun\"}\nACTOR FKFWP3 : RandomSpawner replaces FWeaponPiece2 {DropItem \"FKHoser\"}\nACTOR FKFWP4 : RandomSpawner replaces FWeaponPiece3 {DropItem \"FKPlasmaRifle\"}\n\n//==============================================================================\n// Cleric\n//==============================================================================\nACTOR FKCWP0 : RandomSpawner replaces CWeapStaff\t{DropItem \"FKCarbine\"}\nACTOR FKCWP1 : RandomSpawner replaces CWeapFlame\t{DropItem \"FKShotgun\"}\nACTOR FKCWP2 : RandomSpawner replaces CWeaponPiece1 {DropItem \"FKMachinegun\"}\nACTOR FKCWP3 : RandomSpawner replaces CWeaponPiece2 {DropItem \"FKHoser\"}\nACTOR FKCWP4 : RandomSpawner replaces CWeaponPiece3 {DropItem \"FKPlasmaRifle\"}\n\n//==============================================================================\n// Mage\n//==============================================================================\nACTOR FKMWP0 : RandomSpawner replaces MWeapFrost {DropItem \"FKLauncher\"}\nACTOR FKMWP1 : RandomSpawner replaces MWeapLightning {DropItem \"FKMachinegun\"}\nACTOR FKMWP2 : RandomSpawner replaces MWeaponPiece1 {DropItem \"FKMachinegun\"}\nACTOR FKMWP3 : RandomSpawner replaces MWeaponPiece2 {DropItem \"FKHoser\"}\nACTOR FKMWP4 : RandomSpawner replaces MWeaponPiece3 {DropItem \"FKPlasmaRifle\"}\n\n//==============================================================================\n// Ammo\n//==============================================================================\nACTOR FKHexenAmmo1 : RandomSpawner replaces Mana1\n{\n\tDropItem \"FTCL2\" 256, 5\n\tDropItem \"FTSH2\" 256, 4\n\tDropItem \"FTHC2\" 256, 3\n\tDropItem \"FTWP2PT\" 256 1\n\tDropItem \"FTWP3PT\" 256 1\n}\n\nACTOR FKHexenAmmo2 : RandomSpawner replaces Mana2\n{\n\tDropItem \"FTCL2\" 256, 5\n\tDropItem \"FTSH2\" 256, 4\n\tDropItem \"FTHC2\" 256, 3\n\tDropItem \"FTWP3PT\" 256 1\n\tDropItem \"FTWP6PT\" 256 1\n}\n\nACTOR FKBPSP : RandomSpawner replaces Mana3\n{\n\tDropItem \"FTBT2\" 256, 5\n\tDropItem \"FTSH2\" 256, 4\n\tDropItem \"FTHC2\" 256, 3\n\tDropItem \"FTWP6PT\" 256 1\n\tDropItem \"FTWP5PT\" 256 1\n}\n\nACTOR FKSHSP : RandomSpawner replaces ArtiBlastRadius\n{\n\tDropItem \"FTWP4PT\" 256, 3\n\tDropItem \"FTWP5PT\" 256, 3\n\tDropItem \"FTWP6PT\" 256, 3\n\tDropItem \"FTWP7PT\" 256, 3\n}\n\n//==============================================================================\n// Artifacts\n//==============================================================================\nACTOR FTHeal1 : RandomSpawner replaces CrystalVial { DropItem \"LowHealSpawner\" }\nACTOR FTHeal2 : RandomSpawner replaces ArtiHealth { DropItem \"BigHeal\" }\nACTOR FTHeal3 : RandomSpawner replaces ArtiSuperHealth { DropItem \"SuperCharge\" }\n\nACTOR PowerHexen1 : RandomSpawner replaces ArtiTeleportOther { DropItem \"FTWP2PT\" }\nACTOR PowerHexen2 : RandomSpawner replaces ArtiPork\t\t { DropItem \"FTWP3PT\" }\nACTOR PowerHexen3 : RandomSpawner replaces ArtiDarkServant { DropItem \"FTWP7PT\" }\n\nACTOR PowerHexen4 : RandomSpawner replaces ArtiPoisonBag\n{\n\tDropItem \"FTHG1\" 256, 8\n\tDropItem \"FTGR1\" 256, 2\n}\n\nACTOR PowerHexen5 : RandomSpawner replaces ArtiSpeedBoots \t { DropItem \"FTWP4PT\" }\nACTOR PowerHexen6 : RandomSpawner replaces ArtiInvisibility { DropItem \"SpecialHeal\" }\nACTOR PowerHexen7 : RandomSpawner replaces ArtiTorch\t\t { DropItem \"FlakesVisor2\" }\n\nACTOR FTSoulHexen \t: RandomSpawner replaces ArtiHealingRadius \t { DropItem \"SuperCharge\" }\nACTOR FTDamageHexen\t: RandomSpawner replaces ArtiBoostMana \t\t { DropItem \"FTBP1\" }\nACTOR FTGodHexen : RandomSpawner replaces ArtiInvulnerability2 { DropItem \"HexenGodSphere\" }\n\n//==============================================================================\n// Armor\n//==============================================================================\nACTOR FTXARM1 : RandomSpawner replaces PlatinumHelm\t\t{ DropItem \"LightGear\" }\nACTOR FTXARM2 : RandomSpawner replaces AmuletOfWarding \t{ DropItem \"LightGear\" }\n\nACTOR FTXARM3 : RandomSpawner replaces MeshArmor \t\t{ DropItem \"HeavyGear\" }\nACTOR FTXARM4 : RandomSpawner replaces FalconShield \t{ DropItem \"HeavyGear\" }\nACTOR FTXARM5 : RandomSpawner replaces ArtiBoostArmor \t{ DropItem \"HeavyGear\" }\n\n//==============================================================================\n// Invulnerability\n//==============================================================================\n\nACTOR HexenGodSphere : PowerupGiver replaces ArtiInvulnerability\n{\n\t-FLOATBOB\n\t-COUNTITEM\n\t+BRIGHT\n\t+INVENTORY.INVBAR\n\t+INVENTORY.HUBPOWER\n\t+INVENTORY.PICKUPFLASH\n\t+INVENTORY.KEEPDEPLETED\n\t+INVENTORY.PERSISTENTPOWER\n\t+INVENTORY.FANCYPICKUPSOUND\n\tInventory.Icon \"M_FTGD\"\n\tInventory.Amount 1\n\tInventory.MaxAmount 4\n\tInventory.InterHubAmount 4\n\tInventory.UseSound \t\t\"items/general/pkp4\"\n\tInventory.PickupSound \t\"items/general/pkp2\"\n\tInventory.PickupMessage \"[Invulnerability]\"\n\tPowerup.Type Invulnerable\n\tPowerup.Color Blue 0.20\n\tScale 0.2\n\tStates\n\t{\n\tSpawn:\n\t\tFTPW C -1\n\t\tStop\n\tUse:\n\t\tNULL A 0 A_GiveInventory(\"GodSphere\",1)\n\t\tStop\n\t}\n}\n\n/*[END OF FILE]*/"
},
{
"source": "pk3",
"name": "Actors/Shared/FT-Chex.txt",
"contents": "//==============================================================================\n// Chex Quest compatibility - Credits to wildweasel, snarboo and YukesVonFaust.\n//==============================================================================\n// Weapons\n//==============================================================================\nACTOR WP1Chex : RandomSpawner replaces SuperBootspork { DropItem \"FKCarbine\" }\nACTOR WP2Chex : RandomSpawner replaces MiniZorcher \t { DropItem \"FKPistol\" }\nACTOR WP3Chex : RandomSpawner replaces LargeZorcher { DropItem \"FKShotgun\" }\nACTOR WP4Chex : RandomSpawner replaces RapidZorcher { DropItem \"FKMachinegun\" }\nACTOR WP5Chex : RandomSpawner replaces ZorchPropulsor { DropItem \"FKLauncher\" }\nACTOR WP6Chex : RandomSpawner replaces PhasingZorcher { DropItem \"FKHoser\" }\nACTOR WP7Chex : RandomSpawner replaces LAZDevice \t { DropItem \"FKPlasmaRifle\" }\n\n//==============================================================================\n// Ammo\n//==============================================================================\nACTOR FTCQAM1 : RandomSpawner replaces MiniZorchRecharge\n{\n\tDropItem \"FTCL1\" 256, 9\n\tDropItem \"FTCL1\" 256, 9\n\tDropItem \"FTCL1\" 256, 9\n\tDropItem \"FTWP2PT\" 256, 1\n}\n\nACTOR FTCQAM2 : RandomSpawner replaces MiniZorchPack\n{\n\tDropItem \"FTCL2\" 256, 9\n\tDropItem \"FTWP4PT\" 256, 1\n}\n\nACTOR FTCQAM3 : RandomSpawner replaces LargeZorchRecharge\n{\n\tDropItem \"FTSH1\" 256, 7\n\tDropItem \"FTHC1\" 256, 3\n\tDropItem \"FTWP3PT\" 256, 1\n}\n\nACTOR FTCQAM4 : RandomSpawner replaces LargeZorchPack\n{\n\tDropItem \"FTSH2\" 256, 7\n\tDropItem \"FTHC2\" 256, 3\n\tDropItem \"FTWP7PT\" 256, 1\n}\n\nACTOR FTCQAM5 : RandomSpawner replaces PropulsorZorch\n{\n\tDropItem \"FTBT1\" 256, 7\n\tDropItem \"FTHC1\" 256, 2\n\tDropItem \"FTWP8PT\" 256, 1\n}\n\nACTOR FTCQAM6 : RandomSpawner replaces PropulsorZorchPack\n{\n\tDropItem \"FTBT2\" 256, 7\n\tDropItem \"FTHC2\" 256, 2\n\tDropItem \"FTWP6PT\" 256, 1\n}\n\nACTOR FTCQAM7 : RandomSpawner replaces PhasingZorch\n{\n\tDropItem \"FTHG1\" 256, 8\n\tDropItem \"FTGR1\" 256, 2\n}\n\nACTOR FTCQAM8 : RandomSpawner replaces PhasingZorchPack\n{\n\tDropItem \"FTGR2\" 256 9\n\tDropItem \"FTGR2\" 256 9\n\tDropItem \"FTWP5PT\" 256 1\n}\n\n//==============================================================================\n// Health\n//==============================================================================\nACTOR HLT1Chex : RandomSpawner replaces GlassOfWater \t\t { DropItem \"BonusHeal\" }\nACTOR HLT2Chex : RandomSpawner replaces BowlOfFruit \t\t { Dropitem \"LowHealSpawner\" }\nACTOR HLT3Chex : RandomSpawner replaces BowlOfVegetables \t { Dropitem \"BigHeal\" }\nACTOR HLT4Chex : RandomSpawner replaces SuperchargeBreakfast { DropItem \"SuperCharge\" }\n\n//==============================================================================\n// Armor\n//==============================================================================\nACTOR Armor1Chex : RandomSpawner replaces SlimeRepellent { DropItem \"HGSpawner1\" }\nACTOR Armor2Chex : RandomSpawner replaces ChexArmor \t { DropItem \"LightGear\" }\nACTOR Armor3Chex : RandomSpawner replaces SuperChexArmor { DropItem \"HeavyGear\" }\n\n//==============================================================================\n// Powerups\n//==============================================================================\nACTOR MAPChex : RandomSpawner replaces ComputerAreaMap \t{ DropItem \"LocalMap\" }\nACTOR RADChex : RandomSpawner replaces SlimeProofSuit \t{ DropItem \"RadSphere2\" }\nACTOR BAKChex : RandomSpawner replaces ZorchPack \t\t{ DropItem \"FTBP1\" }\n\n/*[END OF FILE]*/"
}
]
},
"maps": []
}