Raw model (for completeness)
{
"meta": {
"id": "09772458-89a2-4bdd-8155-1d52c9d5c084",
"sha1": "9e97fcac640fed678f0110b11687d6772dfac233",
"sha256": "b151ec66d447a1b6881f7477a3696e3e99d61c1c6a93fe1588226fbfb4721219",
"filenames": [
"projectmsx_v0.2a_zan11.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2015-06-18 23:03:38",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": null,
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2015-06-18 23:03:38",
"file": {
"type": "PK3",
"size": 127600,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/9e97fcac640fed678f0110b11687d6772dfac233/9e97fcac640fed678f0110b11687d6772dfac233.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 41,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"analysis": {
"title": "projectmsx_v0.2a_zan11",
"description": "This WAD is a ZDoom-compatible mod package without traditional maps, focusing on extensive gameplay modifications and new weapon and monster definitions. It features heavily modified monster health values and introduces a variety of custom weapons and enemy types, emphasizing a challenging combat experience. The content suggests a techbase or futuristic theme with advanced player mechanics like sprinting, evading, and shield systems. Resource balance and map progression are not applicable as no maps are included. The WAD is designed for use with ZDoom engine variants and does not rely on any IWAD.",
"tags": [
"boom_compatible",
"custom_monsters",
"custom_weapons",
"hard",
"modification",
"no_maps",
"techbase"
],
"origin": "gpt-4.1-mini"
},
"text_files": [
{
"source": "pk3",
"name": "decorate.txt",
"contents": "// Missing flags\n\nconst int CMF_OFFSETPITCH = 0;\nconst int WRF_ALLOWZOOM = 0;\nconst int WRF_ALLOWRELOAD = 0;\nconst int SXF_TRANSFERPOINTERS = 0;\nconst int RGF_SILENT = 0;\nconst int RGF_NOPIERCING = 0;\nconst int RGF_FULLBRIGHT = 0;\n\n//Script names\n\nconst int set_SGAcc_rand = 301;\nconst int get_SGAcc_rand = 302;\nconst int powfist_aeroslam = 303;\nconst int set_powf_bonusdamage = 304;\nconst int get_powf_bonusdamage = 305;\nconst int msx_hud_main = 306;\nconst int pmsx_Player_Aux = 307;\nconst int pmsx_ShieldRecharge = 308;\nconst int pmsx_LowShieldWarning = 309;\nconst int pmsx_LowHealthWarning = 310;\nconst int pmsx_ShieldFlash = 311;\nconst int pmsx_PlayerPainFlash = 312;\nconst int pmsx_LowMagWarning = 313;\nconst int pmsx_TempMeter = 314;\nconst int pmsx_Crosshairs = 315;\nconst int pmsx_TempCooldown = 316;\nconst int pmsx_StamRecharge = 317;\nconst int pmsx_NoStamWarning = 318;\nconst int pmsx_UseMedkit = 319;\nconst int pmsx_UseShieldBooster = 320;\nconst int pmsx_Player_PowerJump = 321;\nconst int pmsx_Player_Sprint_and_Evade = 322;\nconst int pmsx_PowerUpFlash = 323;\nconst int pmsx_Player_Death = 324;\nconst int pmsx_Player_Respawn = 325;\nconst int Player_ChangeSpeed = 326;\nconst int Weapon_Recoil = 327;\nconst int pmsx_ShieldGenDamage_Monitor = 328;\nconst int pmsx_UseMedkit_effect = 329;\nconst int pmsx_UseShieldBooster_effect = 330;\nconst int pmsx_PlayerPainFlash_clientside = 331;\nconst int server_autoconfig = 332;\nconst int player_clientside = 333;\nconst int player_clientside_respawn = 334;\nconst int player_serverside = 335;\nconst int player_serverside_respawn = 336;\nconst int arifle_choose_flash = 337;\n\n// ACS flags\n\nActor shield_state : Inventory {}\nActor DisableLowShieldWarning : Inventory {}\n\nActor IsMultiplayer : Inventory { Inventory.MaxAmount 1 }\n\n// Monster HP multiplier\nconst float monsterhealth = 3.8;\n\n//Decorate files\n\n#include actordefs/weapons/fists.txt\n#include actordefs/weapons/pistol.txt\n#include actordefs/weapons/arifle.txt\n#include actordefs/weapons/autoshot.txt\n#include actordefs/weapons/nailshot.txt\n#include actordefs/weapons/cannon.txt\n#include actordefs/weapons/conrifle.txt\n#include actordefs/weapons/sniperg.txt\n#include actordefs/weapons/fraggren.txt\n#include actordefs/weapons/weapaux.txt\n#include actordefs/weapons/ammo.txt\n\n#include actordefs/enemies/grunts.txt\n#include actordefs/enemies/kabro.txt\n#include actordefs/enemies/mauler.txt\n#include actordefs/enemies/diabolist.txt\n#include actordefs/enemies/hellnobles.txt\n#include actordefs/enemies/caco.txt\n#include actordefs/enemies/archtron.txt\n#include actordefs/enemies/generic.txt\n#include actordefs/enemies/btracers.txt\n\n#include actordefs/inventory.txt\n#include actordefs/sfx.txt\n#include actordefs/gore.txt\n#include actordefs/player.txt"
},
{
"source": "pk3",
"name": "gameinfo.txt",
"contents": "STARTUPTITLE = \"Project MSX (v0.2a)\"\nSTARTUPCOLORS = \"00 b7 b5\", \"00 0e 0e\""
},
{
"source": "pk3",
"name": "keyconf.txt",
"contents": "weaponsection \"WEPONS!\"\nsetslot 1 RegularFists\nsetslot 2 golampistol\nsetslot 3 hydrashotgun\nsetslot 4 barracudarifle\nsetslot 5 raptorshotgun\nsetslot 6 tauruscannon\nsetslot 7 chimerarifle\nsetslot 8 orionSniper\n\nclearplayerclasses\naddplayerclass msx_player nomenu\n\naddkeysection \"Project MSX\" msx_menukeys\n\naddmenukey \"Reload weapon\" +msx_reload\ndefaultbind r +msx_reload\nalias +msx_reload \"use Action_Reload\"\nalias -msx_reload \"use Action_ReloadCancel\"\n\naddmenukey \"Alternate Weapon Function\" +msx_altfunc\ndefaultbind q +msx_altfunc\nalias +msx_altfunc \"use Action_AltFunc\"\nalias -msx_altfunc \"use Action_AltFuncCancel\"\n\naddmenukey \"Toss Grenade\" +msx_grenade\ndefaultbind f +msx_grenade\nalias +msx_grenade \"use Action_Nade\"\nalias -msx_grenade \"use Action_NadeCancel\"\n\naddmenukey \"Use Health Stim\" msx_medkit\nalias msx_medkit \"puke 319\"\ndefaultbind x msx_medkit\n\naddmenukey \"Use Shield Booster\" msx_afru\nalias msx_afru \"puke 320\"\ndefaultbind z msx_afru"
},
{
"source": "pk3",
"name": "language.txt",
"contents": "[enu default]\n\nGOTBLUECARD\t= \"Blue Key\";\nGOTYELWCARD\t= \"Yellow Key\";\nGOTREDCARD\t= \"Red Key\";\n\nPD_BLUEC\t= \"Blue key required to open this door\";\nPD_REDC\t\t= \"Red key required to open this door\";\nPD_YELLOWC\t= \"Yellow key required to open this door\";\n\nSTSTR_MUS\t\t= \"> Loading new music...\";\nSTSTR_NOMUS\t\t= \"> ERROR: No music found\";\nSTSTR_DQDON\t\t= \"> Invulnerability engaged\";\nSTSTR_DQDOFF\t= \"> Invulnerability disengaged\";\nSTSTR_KFAADDED\t= \"> All inventory granted\";\nSTSTR_FAADDED\t= \"> Armor, Health and Ammo granted\";\nSTSTR_NCON\t\t= \"> Ghost mode engaged\";\nSTSTR_NCOFF\t\t= \"> Ghost mode disengaged\";\nSTSTR_BEHOLD\t= \"> Select a key to have a powerup\";\nSTSTR_BEHOLDX\t= \"> Powerup granted\";\nSTSTR_CHOPPERS\t= \"> There is no chainsaws in this mod!!!\";\n\nLOADNET\t\t= \"ERROR: unable to load during a net game!\\n\\nany key to advance.\";\nQLOADNET\t= \"ERROR: unable to quickload during a netgame!\\n\\nany key to advance.\";\nQSAVESPOT\t= \"ERROR: quicksave slot not yet selected!\\n\\any key to advance.\";\nSAVEDEAD\t= \"Are you stupid? You cant save if you are not playing\\n\\nPress any key to leave\";\nQSPROMPT\t= \"Confirm quicksave over slot named\\n\\n[ %s ]?\\n\\nconfirm y or n.\";\nQLPROMPT\t= \"Confirm quickload over slot named\\n\\n[ %s ]?\\n\\nconfirm y or n.\";\nNEWGAME\t\t= \"ERROR: unable to start a new game\\nwhile in a network game.\\n\\nany key to advance.\";\nNIGHTMARE\t= \"WARNING: This skill level is only for players\\nthat enyoy inhumane amounts of pain.\\n\\n- Press [Y] to accept -\";\nSWSTRING\t= \"this is absolutely not the shareware version of doom.\\n\\nyou do not need to order the entire trilogy.\\n\\nany key to advance.\";\nMSGOFF\t\t= \"Messages OFF\";\nMSGON\t\t= \"Messages ON\";\nNETEND\t\t= \"If you want to end this multiplayer game tell your buddies to leave, otherwise press a key to return.\";\nENDGAME\t\t= \"Coward...\\n\\n- Press [Y] to leave -\";\nDOSY\t\t= \"> Press [Y] to leave <\";\nEMPTYSTRING\t= \"Free saving slot\";\nGGSAVED\t\t= \"Game saved\";"
},
{
"source": "pk3",
"name": "loadacs.txt",
"contents": "msx_main"
},
{
"source": "pk3",
"name": "mapinfo.txt",
"contents": "clearskills\n\nskill easy\n{\n\taggressiveness = 0.3\n\t//monsterhealth = 3.0\n\tammofactor = 1.0\n\tdamagefactor = 0.75\n\tSpawnFilter = Normal\n\tTextColor = \"DarkCyan\"\n\tName = \"Easy\"\n\tACSReturn = 0\n\tkey = \"e\"\n\teasybossbrain\n}\n\nskill casual\n{\n\taggressiveness = 0.7\n\t//monsterhealth = 3.4\n\tdamagefactor = 1.0\n\tammofactor = 1.0\n\tSpawnFilter = Hard\n\tTextColor = \"DarkCyan\"\n\tName = \"Casual\"\n\tACSReturn = 1\n\tKey = \"c\"\n}\n\nskill hard\n{\n\taggressiveness = 1.0\n\t//monsterhealth = 3.8\n\tammofactor = 1.0\n\tdamagefactor = 1.2\n\tSpawnFilter = Hard\n\tTextColor = \"DarkCyan\"\n\tName = \"Hard\"\n\tACSReturn = 2\n\tkey = \"h\"\n//\tdefaultskill\n}\n\nskill insane\n{\n\taggressiveness = 1.0\n\t//monsterhealth = 4.2\n\tammofactor = 1.0\n\tdamagefactor = 1.4\n\tSpawnFilter = Nightmare\n\tTextColor = \"DarkCyan\"\n\tName = \"Insane\"\n\tACSReturn = 3\n\tkey = \"i\"\n}\n\nskill masochist\n{\n\taggressiveness = 1.0\n//\tmonsterhealth = 6.5\n\tammofactor = 1.0\n\tdamagefactor = 1.8\n\tSpawnFilter = Nightmare\n\tTextColor = \"BloodRed\"\n\tName = \"Masochist\"\n\tACSReturn = 4\n\tKey = \"m\"\n\tdisablecheats\n\tfastmonsters\n//\treplaceactor = \"Medikit\", \"healtstims_spawner2\"\n//\treplaceactor = \"Stimpack\", \"Nullactor\"\n\n\tmustconfirm = \"Relentless foes, unfaithful defense, less luck, more pain... Is this what you want?\"\n}\n\ngameinfo{\n\tdimcolor = \"0 180 255\"\n\tdimamount = 0.45\n\ttitlepage = \"MSXTITLE\"\n\tinfopage = \"MSXHELP\"\n\tcursorpic = \"MSXCURSR\"\n\tpausesign = \"MSXPAUSE\"\n\tpickupcolor = \"36 255 0\"\n\n\tmenufontcolor_title = \"DarkCyan\"\n\tmenufontcolor_action = \"gray\"\n\tmenufontcolor_label = \"DarkCyan\"\n\tmenufontcolor_selection = \"orange\"\n\tmenufontcolor_header = \"darkred\"\n}"
},
{
"source": "pk3",
"name": "sbarinfo.txt",
"contents": "//Resolution 640, 400;\nHeight 0;\n\nstatusbar none {\n}\n\nstatusbar automap, fullscreenoffsets, forcescaled {\n\n\tIsSelected \"golampistol\" {\n\t\tdrawimage \"AHPIST\", -57,-57, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Golam GW35B\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"hydrashotgun\" {\n\t\tdrawimage \"AHASHT\", -70,-48, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Hydra HM9\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"barracudarifle\" {\n\t\tdrawimage \"AHARIFL\", -78,-48, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Barracuda BA27-SC\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"raptorshotgun\" {\n\t\tdrawimage \"AHNAILS\", -88,-52, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Raptor I4PA-ECS\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"tauruscannon\" {\n\t\tdrawimage \"AHCANN\", -92,-52, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Taurus SA22M5\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"chimerarifle\" {\n\t\tdrawimage \"AHCPULS\", -84,-50, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Chimaera DM-REW9\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\tIsSelected \"orionSniper\" {\n\t\tdrawimage \"AHGAUSS\", -114,-51, centerbottom;\n\t\tDrawString CONFONT, LIGHTBLUE, \"Orion EMSR-Mark 5\", -30, -110, 0/*, alignment(right)*/;\n\t\t}\n\n\tdrawnumber 2, BIGFONT, WHITE, Ammo1, /*alignment(right),*/ -70, -42, /*1,*/ ORANGE, 0;\n\tdrawnumber 3, SMALLFONT, WHITE, Ammo2, /*alignment(right)|*/fillzeros,-35, -44, /*1,*/ ORANGE, 0;\n\t//drawnumber 3, SMALLFONT, DARKGREY, Ammo2Capacity, alignment(right)|fillzeros,-35, -35, 1;\n\n\tDrawString CONFONT, YELLOW, \"Frags: \", -100, -19, 0/*, alignment(left)*/;\n\tdrawnumber 2, SMALLFONT, WHITE, Ammo grenades, /*alignment(left)|*/fillzeros,-50, -18, 1, ORANGE, 0;\n\n\t//\n\tDrawString SMALLFONT, LIGHTBLUE, \"Shield\", 20, -128, 0/*, alignment(left)*/;\n\tdrawnumber 3, BIGFONT, WHITE, Armor, /*alignment(left)|*/fillzeros,50, -118, 1, RED, 50;\n\n\tDrawString SMALLFONT, LIGHTBLUE, \"Health\", 20, -98, 0/*, alignment(left)*/;\n\tdrawnumber 3, BIGFONT, WHITE, Health , /*alignment(left)|*/fillzeros,50, -88, 1, RED, 50;\n\n\tDrawString SMALLFONT, CYAN, \"Suit power\", 20, -58, 0/*, alignment(left)*/;\n\t//drawnumber 3, BIGFONT, WHITE, \"PlayerStamina\", /*alignment(left)|fillzeros,50, -48, 1, ORANGE, 25;\n\n\tDrawString CONFONT, GOLD, \"Medkits: \", 21, -27, 0/*, alignment(left)*/;\n\t//drawnumber 2, SMALLFONT, WHITE, \"Healthstim\", /*alignment(left)*/, 88, -26, 1, ORANGE, 0;\n\n\tDrawString CONFONT, GOLD, \"Boosters:\", 13, -17, 0/*, alignment(left)*/;\n\t//drawnumber 2, SMALLFONT, WHITE, \"shieldbooster\", /*alignment(left)*/, 88, -16, 1, ORANGE, 0;\n\n\tDrawKeyBar 6, vertical, reverserows, 10, 5, -130, 0, 6, 15;\n\t/*\n\t//Time\n\tdrawstring CONFONT, BLUE, Time, -32+center, 200+center, 0, alignment(center);\n\n\t//MapName\n\tdrawstring CONFONT, WHITE, levelname, 400, 103, 0, alignment(center);\n\n\t//Kill counter\n\tdrawstring CONFONT, BLUE, \"-KILLS-\", 140, 520, 0, alignment(left);\n\tdrawnumber 6, CONFONT, WHITE, Kills, alignment(right) ,200, 530;\n\tdrawstring CONFONT, WHITE, \"/\", 205, 530, 0, alignment(center);\n\tdrawnumber 6, CONFONT, WHITE, Monsters,alignment(left) ,208, 530;\n\n\t//Secret Counter\n\tdrawstring CONFONT, BLUE, \"-SECRETS-\", 660, 520, 0, alignment(right);\n\tdrawnumber 2, CONFONT, WHITE, Secrets,alignment(right) ,600, 530;\n\tdrawstring CONFONT, WHITE, \"/\", 606, 530, 0, alignment(center);\n\tdrawnumber 2, CONFONT, WHITE, TotalSecrets,alignment(left) ,609, 530;\n\n\t//drawstring CONFONT, BLUE, \"SECRETS:\", 150, 535, 0, alignment(left);\n\t*/\n}"
},
{
"source": "pk3",
"name": "sndinfo.txt",
"contents": "//WEAPONS\nweapons/powpstart\tF_PWINI\nweapons/powchrg0\tF_PWCH0\nweapons/powchrg1\tF_PWCH1\nweapons/powchrg2\tF_PWCH2\nweapons/powchrg3\tF_PWCH3\nweapons/powchrg4\tF_PWCH4\nweapons/powchrg5\tF_PWCH5\nweapons/powpmax\t\tF_PWMAX\n\nweapons/powattack1\tF_PWAT1\nweapons/powattack2\tF_PWAT2\nweapons/powattack3\tF_PWAT3\nweapons/powattack4\tF_PWAT4\nweapons/powattack5\tF_PWAT5\nweapons/regpunswing PUNSWIN\n\n$volume weapons/ar_fire 0.6\nweapons/ar_fire\t\tAR_FIRE\nweapons/ar_pinpull\tAR_PINP\nweapons/ar_select \tAR_SELCT\nweapons/ar_deselect\tAR_DSLCT\nweapons/ar_clipout\tAR_COUT\nweapons/ar_clipin\tAR_CIN\nweapons/ar_clipin2\tAR_CIN2\n\nweapons/gp_fire\t\tGP_FIRE\nweapons/gp_clipout \tGP_COUT\nweapons/gp_clipin\tGP_CIN\nweapons/gp_clipin2\tGP_CIN2\nweapons/gp_slide\tGP_SLIDE\nweapons/gp_select\tGP_SELCT\nweapons/gp_deselect\tGP_DSLCT\nweapons/gotgolam\tDWGETASP\n\n$rolloff casings/gp_casing 100 200\n$random casings/gp_casing {casings/gpc1 casings/gpc2 casings/gpc3}\ncasings/gpc1\t\tGP_CASI1\ncasings/gpc2\t\tGP_CASI2\ncasings/gpc3\t\tGP_CASI3\n\n$rolloff casings/hp_shell 100 200\n$random casings/hp_shell {casings/hps1 casings/hps2 casings/hps3}\ncasings/hps1\t\tHS_SHEL1\ncasings/hps2\t\tHS_SHEL2\ncasings/hps3\t\tHS_SHEL3\n\n$rolloff casings/ar_casing 100 200\n$random casings/ar_casing{casings/arc1 casings/arc2 casings/arc3 casings/arc4 casings/arc5}\ncasings/arc1 \t\tAR_CASI1\ncasings/arc2 \t\tAR_CASI2\ncasings/arc3 \t\tAR_CASI3\ncasings/arc4 \t\tAR_CASI4\ncasings/arc5 \t\tAR_CASI5\n\n$rolloff casings/sg_shell 100 200\n$volume casings/sg_shell 0.75\n$random casings/sg_shell{casings/sgc1 casings/sgc2 casings/sgc3}\ncasings/sgc1 \t\tSG_SHEL1\ncasings/sgc2 \t\tSG_SHEL2\ncasings/sgc3 \t\tSG_SHEL3\n\nweapons/reload\t\t DWRELOAD\nweapons/cannonreload DWCANREL\n\nweapons/noammo\t\t DWNOAMMO\nweapons/gundown\t\t DWHOLST\n\n$random weapons/hs_fire\t{weapons/hs_f1 weapons/hs_f2}\nweapons/hs_f1\t\t\tHS_FIRE1\nweapons/hs_f2\t\t\tHS_FIRE2\n\nweapons/hs_clipin \t\tHS_CIN\nweapons/hs_bolt \t\tHS_BOLT\nweapons/hs_clipout\t\tHS_COUT\nweapons/hs_select\t\tHS_SELCT\nweapons/hs_deselect\t\tHS_DSLCT\n\nweapons/cs_fire\t\t\tCS_FIRE\nweapons/cs_cock\t\t\tCS_COCK\nweapons/cs_select\t\tCS_SELCT\nweapons/cs_deselect\t\tCS_DSLCT\nweapons/cs_ammopick\t\tCS_SHIN2\n$random weapons/cs_insert\t{weapons/csshin1 weapons/csshin2}\nweapons/csshin1\t\t\tCS_SHIN1\nweapons/csshin2\t\t\tCS_SHIN2\n\nweapons/tp_fire\t\t\tTP_FIRE\n$volume weapons/tp_fire 1.2\nweapons/tp_fullcycle \tTP_FULCY\nweapons/tp_halfcycle \tTP_HALCY\nweapons/tp_clipout\t\tTP_COUT\nweapons/tp_clipin \tTP_CIN\n$volume weapons/tp_clipin1 1.6\nweapons/tp_clipin2 \tTP_CIN2\n$volume weapons/tp_clipin2 1.6\nweapons/tp_bolt1\t \tTP_BOLT1\nweapons/tp_bolt2\t \tTP_BOLT2\n$volume weapons/tp_select 2.0\nweapons/tp_select\t\tTP_SELCT\nweapons/tp_deselect\t\tTP_DSLCT\nweapons/tp_stuck\t\tTP_STUCK\nweapons/tp_coolend\t\tTP_COOLE\n\n$random weapons/cr_fire\t\t{weapons/crfr1 weapons/crfr2}\nweapons/crfr1 \t\t\tCR_FIRE1\nweapons/crfr2 \t\t\tCR_FIRE2\nweapons/cr_modeswitch\tCR_SMODE\nweapons/cr_powfire\t\tCR_POWF\nweapons/cr_chargestart CR_CHRG\nweapons/cr_chrgloop\t\tCR_CLOOP\n$volume weapons/cr_select 2.0\nweapons/cr_select\t\tCR_SELCT\nweapons/cr_deselect\t\tCR_DSLCT\nweapons/cr_clipin\t\tCR_CIN\nweapons/cr_clipout\t\tCR_COUT\nweapons/cr_noammo\t\tCR_DRYF\nweapons/cr_ammopick\t\tCR_AMMOP\nweapons/cr_stuck\t\tCR_OVHT\nweapons/cr_coolend\t\tCR_COOLE\nweapons/cr_notenbatt\tCR_NOBAT\nweapons/cr_pulseidle\tCR_PIDLE\nweapons/cr_pulseoff\t\tCR_PIDOF\n\nweapons/sg_fire\t\t\tSG_FIRE\n$volume weapons/sg_clipout 0.6\nweapons/sg_clipout\t\tSG_COUT\n$volume weapons/sg_clipin 0.6\nweapons/sg_clipin\t\tSG_CIN\nweapons/sg_bolt\t\t\tSG_BOLT\nweapons/sg_zoomin\t\tSG_ZOOMI\nweapons/sg_zoomout\t\tSG_ZOOMO\nweapons/sg_select\t\tSG_SELCT\nweapons/sg_idle\t\t\tSG_IDLE\nweapons/sg_idleoff\t\tSG_IDLOF\n\n1\nweapons/coolstart\t\tWG_COOLS\n$limit weapons/coolsteam 1\nweapons/coolsteam\t\tWG_STMLO\n\n//frag grenade\ngrenade/pin\t\t\t\tGRNPIN\ngrenade/toss\t\t\tGRNTOSS\n\n$volume grenade/pickup 2.0\n$random grenade/pickup {gr/pk1 gr/pk2 gr/pk3}\ngr/pk1\t\tGRPIK1\ngr/pk2\t\tGRPIK2\ngr/pk3\t\tGRPIK3\n\n$rolloff grenade/bounce 264 728\n$random grenade/bounce {grenade/bn1 grenade/bn2 grenade/bn3 grenade/bn4 grenade/bn5}\ngrenade/bn1\t\t\tGRNBNC1\ngrenade/bn2\t\t\tGRNBNC2\ngrenade/bn3\t\t\tGRNBNC3\ngrenade/bn4\t\t\tGRNBNC4\ngrenade/bn5\t\t\tGRNBNC5\n\n$volume grenade/explosion 1.5\n$rolloff grenade/explosion 600 1800\n$RANDOM grenade/explosion {grenade/boom1 grenade/boom2 grenade/boom3 grenade/boom4}\ngrenade/boom1\t\tGRBOOM1\ngrenade/boom2\t\tGRBOOM2\ngrenade/boom3\t\tGRBOOM3\ngrenade/boom4\t\tGRBOOM4\n\n//INVENTORY\nitems/medipick\t\tDIMEDIT\nitems/hstim_up\t\tDIREGEN\nitems/hpack_up\t\tDIHPACK\nitems/stimshot\t\tDIREGIN\nitems/armorpickup DIARCPIK\nitems/shardpickup DISHARD\nitems/armorup\t\tDIARMOUP\nitems/ammopack\t\tAMBACKPK\n\n//POWERUPS\npowerup/overshield\tPOWSHLD\npowerup/inmune\t\tPOWINVU\npowerup/defense\t\tPOWDEFS\npowerup/ultra\t\tPOWULTRA\npowerup/allmap\t\tPOWAMAP\n\n$RANDOM items/ammopickup {items/ammopik1 items/ammopik2}\nitems/ammopik1 DIAMMOP1\nitems/ammopik2 DIAMMOP2\n\n//ENEMIES\n// Basic Grunts\n$rolloff bgrunt/see 200 800\n$random bgrunt/see {bg/s1 bg/s2 bg/s3 bg/s4 bg/s5 bg/s6 bg/s7 bg/s8}\nbg/s1 BGRSEE1\nbg/s2 BGRSEE2\nbg/s3 BGRSEE3\nbg/s4 BGRSEE4\nbg/s5 BGRSEE5\nbg/s6 BGRSEE6\nbg/s7 BGRSEE7\nbg/s8 BGRSEE8\n\n$rolloff bgrunt/active 200 800\n$random bgrunt/active {bg/a1 bg/a2 bg/a3 bg/a4 bg/a5 bg/a6 bg/a7 bg/a8 bg/a9 bg/a10 bg/a11 bg/a12}\nbg/a1 BGRACT1\nbg/a2 BGRACT2\nbg/a3 BGRACT3\nbg/a4 BGRACT4\nbg/a5 BGRACT5\nbg/a6 BGRACT6\nbg/a7 BGRACT7\nbg/a8 BGRACT8\nbg/a9 BGRACT9\nbg/a10 BGRACT10\nbg/a11 BGRACT11\nbg/a12 BGRACT12\n\n$random bgrunt/grenadetoss {bg/gt1 bg/gt2}\nbg/gt1 BGRGRE1\nbg/gt2 BGRGRE2\n\n$rolloff bgrunt/noammo 200 800\n$random bgrunt/noammo {bg/na1 bg/na2 bg/na3 bg/na4}\nbg/na1 BGRNAM1\nbg/na2 BGRNAM2\nbg/na3 BGRNAM3\nbg/na4 BGRNAM4\n\n$rolloff bgrunt/pain 200 800\n$random bgrunt/pain {bg/p1 bg/p2 bg/p3 bg/p4 bg/p5}\nbg/p1 BGRPAI1\nbg/p2 BGRPAI2\nbg/p3 BGRPAI3\nbg/p4 BGRPAI4\nbg/p5 BGRPAI5\n\n$volume bgrunt/death 0.8\n$rolloff bgrunt/death 200 800\n$random bgrunt/death {bg/d1 bg/d2 bg/d3 bg/d4 bg/d5 bg/d6}\nbg/d1 BGRDTH1\nbg/d2 BGRDTH2\nbg/d3 BGRDTH3\nbg/d4 BGRDTH4\nbg/d5 BGRDTH5\nbg/d6 BGRDTH6\n\n//Heavy Grunts\n$random hgrunt/see {hg/s1 hg/s2 hg/s3 hg/s4 hg/s5 hg/s6 hg/s7 hg/s8}\nhg/s1 HGRSEE1\nhg/s2 HGRSEE2\nhg/s3 HGRSEE3\nhg/s4 HGRSEE4\nhg/s5 HGRSEE5\nhg/s6 HGRSEE6\nhg/s7 HGRSEE7\nhg/s8 HGRSEE8\n\n$random hgrunt/active {hg/a1 hg/a2 hg/a3 hg/a4 hg/a5 hg/a6 hg/a7 hg/a8 hg/a9 hg/a10 hg/a11 hg/a12}\nhg/a1 HGRACT1\nhg/a2 HGRACT2\nhg/a3 HGRACT3\nhg/a4 HGRACT4\nhg/a5 HGRACT5\nhg/a6 HGRACT6\nhg/a7 HGRACT7\nhg/a8 HGRACT8\nhg/a9 HGRACT9\nhg/a10 HGRACT10\nhg/a11 HGRACT11\nhg/a12 HGRACT12\n\n$random hgrunt/grenadetoss {hg/gt1 hg/gt2 hg/gt3}\nhg/gt1 HGRGRE1\nhg/gt2 HGRGRE2\nhg/gt3 HGRGRE3\n\n$random hgrunt/noammo {hg/na1 hg/na2 hg/na3 hg/na4 hg/na5 hg/na6}\nhg/na1 HGRNAM1\nhg/na2 HGRNAM2\nhg/na3 HGRNAM3\nhg/na4 HGRNAM4\nhg/na5 HGRNAM5\nhg/na6 HGRNAM6\n\n$random hgrunt/pain {hg/p1 hg/p2 hg/p3 hg/p4 hg/p5 hg/p6 hg/p7}\nhg/p1 HGRPAI1\nhg/p2 HGRPAI2\nhg/p3 HGRPAI3\nhg/p4 HGRPAI4\nhg/p5 HGRPAI5\nhg/p6 HGRPAI6\nhg/p7 HGRPAI7\n\n$random hgrunt/death {hg/d1 hg/d2 hg/d3 hg/d4 hg/d5 hg/d6 hg/d7 hg/d8}\nhg/d1 HGRDTH1\nhg/d2 HGRDTH2\nhg/d3 HGRDTH3\nhg/d4 HGRDTH4\nhg/d5 HGRDTH5\nhg/d6 HGRDTH6\nhg/d7 HGRDTH7\nhg/d8 HGRDTH8\n\nhgrunt/shotgunreload HCSHOTR\n\n// Kabro\nkabro/pain\t\tKABPAIN\nkabro/active\tKABACTV\n$random kabro/sight {kb/sig1 kb/sig2}\nkb/sig1\t\t\tKABSIGH1\nkb/sig2\t\t\tKABSIGH2\n$random kabro/death {kb/dth1 kb/dth2}\nkb/dth1\t\t\tKABDETH1\nkb/dth2\t\t\tKABDETH2\n\n//mauler\nmauler/sight \tMASIGHT\nmauler/lunge\tMALUNGE\n\n$random fireball/explode {fbal/expl1 fbal/expl2}\nfbal/expl1\t\tFBALEXP1\nfbal/expl2\t\tFBALEXP2\n\n//Diabolist\nmonster/diasit dsdiasit\nmonster/diapai dsdiapai\nmonster/diadth dsdiadth\nmonster/diaact dsdiaact\nweapons/firbfi dsfirbfi\nweapons/firmfi dsfirmfi\nweapons/firex4 dsfirex4\nweapons/diasht dsdiasht\nweapons/firex3 dsfirex3\n\n//Unsorted\nenemy/meleeswing\tFMELSWIN\nenemy/cacobit \t\tCACOBIT\n$volume enemy/cacosonicwail 2.0\nenemy/cacosonicwail\tCACOWAIL\n\n$random enemy/meleehit {enemy/mhit1 enemy/mhit2}\nenemy/mhit1\t\tFMELHIT1\nenemy/mhit2\t\tFMELHIT2\n\nenemy/archnormfire\t\tARCHFIR1\n$rolloff enemy/archsuperfire 600 1400\nenemy/archsuperfire\t\tARCHFIR2\n\nenemy/demsit \t\t\tdsdemsit\nenemy/demdth \t\t\tdsdemdth\nenemy/smastercannon\t\tSPMCANF\n$rolloff enemy/smastersupers 800 2400\nenemy/smastersupers\t\tSPMSSHOT\n$rolloff enemy/cybcannonfire 800 1800\nenemy/cybcannonfire\t\tCYBCFIR\n\nfireball/fire\tFBALFIRE\nfireball/loop\tFBALLOOP\n\n$random plasma/smallhit {pl/sh1 pl/sh2 pl/sh3}\npl/sh1\tPLASMAI1\npl/sh2\tPLASMAI2\npl/sh3\tPLASMAI3\n\n$rolloff plasma/bighit 600 1600\nplasma/bighit\t\tPLSMHIT\n$rolloff plasma/bighit2 900 2000\nplasma/bighit2\t\tPLSMHIT2\n\n////////////////////////////////\n//PLAYER\n\n$playeralias\tplayer\tmale\t*death\t\tplayerdeath\n$playeralias\tplayer\tmale\t*xdeath\t\tplayerdeath\n$playeralias\tplayer\tmale\t*gibbed\t\tdsslop\n$playeralias\tplayer\tmale\t*pain100\tplyrpain100\n$playeralias\tplayer\tmale\t*pain75\t\tplyrpain75\n$playeralias\tplayer\tmale\t*pain50\t\tplyrpain50\n$playeralias\tplayer\tmale\t*pain25\t\tplyrpain25\n$playersound\tplayer\tmale\t*grunt\t\tPLOOF1 //plyroof\n$playeralias\tplayer\tmale\t*land\t\tplyrland\n//$playersound\tplayer\tmale\t*jump\t\tpljump\n$playersound\tplayer\tmale\t*usefail\tpnoway\n$playersound\tplayer\tmale\t*falling\tdpfall\n\nplayer/normjump\t\tPLJUMP\n//$volume player/powerjump 2.0\nplayer/powerjump\tPLPWRJ\n\nplayer/powerevade\tPLPEVD\n\n$random playerdeath { player/death1 player/death2 player/death3 player/death4}\nplayer/death1 PDEATH1\nplayer/death2 PDEATH2\nplayer/death3 PDEATH3\nplayer/death4 PDEATH4\n\n$random plyrpain100 { player/p100a player/p100b }\nplayer/p100a\tP100PAA\nplayer/p100b\tP100PAB\n\n$random plyrpain75 { player/p075a player/p075b }\nplayer/p075a\tP075PAA\nplayer/p075b\tP075PAB\n\n$random plyrpain50 { player/p050a player/p050b }\nplayer/p050a\tP050PAA\nplayer/p050b\tP050PAB\n\n$random plyrpain25 { player/p025a player/p025b }\nplayer/p025a\tP025PAA\nplayer/p025b\tP025PAB\n\n$random plyrland {player/land1 player/land2 player/land3}\nplayer/land1\tPLAND1\nplayer/land2\tPLAND2\nplayer/land3\tPLAND3\n\n$random plyroof {player/oof1 player/oof2 player/oof3}\nplayer/oof1\t\tPLOOF1\nplayer/oof2\t\tPLOOF2\nplayer/oof3\t\tPLOOF3\n\n$musicvolume D_DM2TTL 2.2\n$musicvolume KILLAMB 2\n\n//////////////////////////////////////////////////\n//SFX\n\n//hud\nsfx/hudshatter\t\tFXGLASSB\nsfx/beep1\t\t\tFXBEEP1\nsfx/beep2\t\t\tFXBEEP2\nsfx/beep3\t\t\tFXBEEP3\nsfx/beep4\t\t\tFXBEEP4\nsfx/shieldrecharge\tSFULLRE\nsfx/gameover\t\tGAMOVS\nsfx/null\t\t\tNULLSND\nsfx/heartbeat\t\tFXHEART\n\nsfx/sprintstart \tFXSPRNTS\nsfx/sprintend \tFXSPRNTE\n$volume sfx/shddamage 2.0\nsfx/shddamage\t\tFXSHDDMG\n\n//collisions\n$random sfx/hitwall {sfx/whit1 sfx/whit2 sfx/whit3}\nsfx/whit1 MHITWAL0\nsfx/whit2 MHITWAL1\nsfx/whit3 MHITWAL2\n\n$random sfx/punchwall {sfx/pwht1 sfx/pwht2 sfx/pwht3 sfx/pwht4}\nsfx/pwht1 PHITWAL0\nsfx/pwht2 PHITWAL1\nsfx/pwht3 PHITWAL2\nsfx/pwht4 PHITWAL3\n\n$random sfx/fleshhit {sfx/fhit1 sfx/fhit2 sfx/fhit3 sfx/fhit4}\nsfx/fhit1\tMELEHIT1\nsfx/fhit2\tMELEHIT2\nsfx/fhit3\tMELEHIT3\nsfx/fhit4\tMELEHIT4\n\nsfx/meleeswing\tMELESWIN\n\n$rolloff sfx/powphit5 1500 3000\nsfx/powphit5 PWMHIT5\n$rolloff sfx/powphit4 900 2000\nsfx/powphit4 PWMHIT4\n$rolloff sfx/powphit3 600 1700\nsfx/powphit3 PWMHIT3\n$rolloff sfx/powphit2 300 1400\nsfx/powphit2 PWMHIT2\n\n$random sfx/cannonhit {sfx/chit1 sfx/chit2}\nsfx/chit1 DXCANIM1\nsfx/chit2 DXCANIM2\n\n$random sfx/bulletric {sfx/ric1 sfx/ric2 sfx/ric2 sfx/ric3 sfx/ric4 sfx/ric5 sfx/ric6 sfx/ric7 sfx/ric8\nsfx/ric9 sfx/ric10}\n\nsfx/ric1\tbrico01\nsfx/ric2\tbrico02\nsfx/ric3\tbrico03\nsfx/ric4\tbrico04\nsfx/ric5\tbrico05\nsfx/ric6\tbrico06\nsfx/ric7\tbrico07\nsfx/ric8\tbrico08\nsfx/ric9\tbrico09\nsfx/ric10\tbrico10\n\n$random sfx/nailric {sfx/nric1 sfx/nric2 sfx/nric3 sfx/nric4}\nsfx/nric1\tnlrico1\nsfx/nric2\tnlrico2\nsfx/nric3 \tnlrico3\nsfx/nric4\tnlrico4\n\n$volume sfx/cannonblast 5.0\n$rolloff sfx/cannonblast 450 1450\nsfx/cannonblast SLGBOOM\n\n$rolloff sfx/powshockblast 800 2000\n$volume sfx/powshockblast 3.0\nsfx/powshockblast CRPBLST\n\n$rolloff sfx/normshockblast 400 1200\n$volume sfx/normshockblast 2.0\nsfx/normshockblast CRNBLST\n\nsfx/bfballexplo BFBALEXP\nsfx/psmallexplo\t PSMEXP\n\n//other\n$rolloff sfx/sboom 800 1800\n$random sfx/sboom1 {sfx/bm1 sfx/bm2 sfx/bm3}\nsfx/bm1\t\tSTBOOM1\nsfx/bm2\t\tSTBOOM2\nsfx/bm3\t\tSTBOOM3\n\nsfx/barrelboom ODBAREXP\n\nsfx/explosion1 DSSHLEXP\n\nsfx/explosion2 DSCLSEXP\n\n//blood and gore\n$random blood/impact \t{bflesh/hit1 bflesh/hit2 bflesh/hit3 bflesh/hit4 bflesh/hit5 bflesh/hit6\nbflesh/hit7 bflesh/hit8 bflesh/hit9 bflesh/hit10 bflesh/hit11 bflesh/hit12 bflesh/hit13 bflesh/hit4\nbflesh/hit15 bflesh/hit16 bflesh/hit17}\n\nbflesh/hit1\t\tbfhit01\nbflesh/hit2\t\tbfhit02\nbflesh/hit3\t\tbfhit03\nbflesh/hit4\t\tbfhit04\nbflesh/hit5\t\tbfhit05\nbflesh/hit6\t\tbfhit06\nbflesh/hit7\t\tbfhit07\nbflesh/hit8\t\tbfhit08\nbflesh/hit9\t\tbfhit09\nbflesh/hit10\tbfhit10\nbflesh/hit11\tbfhit11\nbflesh/hit12\tbfhit12\nbflesh/hit13\tbfhit13\nbflesh/hit14\tbfhit14\nbflesh/hit15\tbfhit15\nbflesh/hit16\tbfhit16\nbflesh/hit17\tbfhit17\n\n////\n$random blood/splat {gib/splt1 gib/splt2 gib/splt3 gib/splt4 gib/splt5 gib/splt6 gib/splt7 gib/splt8\ngib/splt9 gib/splt10}\n\ngib/splt1\tgibspt1\ngib/splt2\tgibspt2\ngib/splt3\tgibspt3\ngib/splt4\tgibspt4\ngib/splt5\tgibspt5\ngib/splt6\tgibspt6\ngib/splt7\tgibspt7\ngib/splt8\tgibspt8\ngib/splt9\tgibspt9\ngib/splt10\tgibspt10\n\n////\n$random blood/drip {bl/drip1 bl/drip2 bl/drip3 bl/drip4 bl/drip5 bl/drip5 bl/drip6 bl/drip7 bl/drip8\nbl/drip9 bl/drip10}\n\nbl/drip1\tbdrip1\nbl/drip2\tbdrip2\nbl/drip3\tbdrip3\nbl/drip4\tbdrip4\nbl/drip5\tbdrip5\nbl/drip6\tbdrip6\nbl/drip7\tbdrip7\nbl/drip8\tbdrip8\nbl/drip9\tbdrip9\nbl/drip10\tbdrip10\n\n//\n$random gr/tear {gr/tr1 gr/tr2}\ngr/tr1 gibtear1\ngr/tr2 gibtear2\n\n//\n$random gore/explode {gr/explo1 gr/explo2 gr/explo3}\ngr/explo1\tgibexpl1\ngr/explo2\tgibexpl2\ngr/explo3\tgibexpl3\n\n//menus\nmenu/activate\t\tMSXMACT\nmenu/backup\t\t\tMSXMDIS\nmenu/prompt\t\t\tMSXMACT\nmenu/cursor\t\t\tMSXMCRSR\nmenu/change\t\t\tMSXMCHNG\nmenu/invalid\t\tMSXMERR\nmenu/dismiss\t\tMSXMDIS\nmenu/choose\t\t\tMSXMCHSE\nmenu/clear\t\t\tMSXMDIS\n\nmisc/k_pkup \t\tKEYPICK"
},
{
"source": "pk3",
"name": "textcolo.txt",
"contents": "DarkCyan{\n\t#00000 #2782a3\n}\n\nRedPurple{\n\t#00000 #a3276b\n}\n\nBloodRed{\n\t#00000 #d50400\n}\n\nDarkBlack{\n\t#00000 #202020\n}"
},
{
"source": "pk3",
"name": "xhairs.txt",
"contents": "10 none"
},
{
"source": "pk3",
"name": "acs/defines.txt",
"contents": "//Weapon string constants definitions\n\n/*\nI intented to use this on the HUD scripts to make things more easier, but for some reason\nthe constants never worked on other maps with ACS scripts incluided. So I keep this for record\n*/\n/*\n//Weapon name constants\n#define WEAP_FISTS \"RegularFists\"\n#define WEAP_PISTOL \"golampistol\"\n#define WEAP_AUTOSHOT \"hydrashotgun\"\n#define WEAP_ARIFLE \"barracudarifle\"\n#define WEAP_NAILSHOT \"raptorshotgun\"\n#define WEAP_CANNON \"tauruscannon\"\n#define WEAP_PULSERIFLE \"chimerarifle\"\n#define WEAP_GAUSS \"orionSniper\"\n#define WEAP_FRAG \"grenade_toss\"\n\n//Weapon ammunition name constants\n#define AMMO_PISTOL \"pistol_ammo\"\n#define AMMO_AUTOSHOT \"autoshot_ammo\"\n#define AMMO_ARIFLE \"arifle_ammobox\"\n#define AMMO_NAILSHOT \"nailshot_ammo\"\n#define AMMO_CANNON \"cannon_ammo\"\n#define AMMO_PULSERIFLE \"crifle_ammo\"\n#define AMMO_GAUSS \"sgauss_ammo\"\n\n#define METEORP_MINDIST 150\n#define METEORP_MAXDIST 1200 */"
},
{
"source": "pk3",
"name": "actordefs/gore.txt",
"contents": "// BLOOD AND GORE\n\nactor msx_Blood : Blood replaces Blood {\n\t+NOINTERACTION\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\")\n\t\tsp1:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"msx_BloodSplat1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t\tsp2:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"msx_BloodSplat2\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t}\n}\n\nactor msx_Blood2 : Bloodsplatter replaces Bloodsplatter {\n\t+NOINTERACTION\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\")\n\t\tsp1:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"msx_BloodSplat1\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t\tsp2:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"msx_BloodSplat2\",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t}\n}\n\nactor msx_BloodSplat1 {\n\tmass 0\n\tradius\t1\n\theight\t1\n\trenderstyle normal\n\t//+NOINTERACTION\n\t+CLIENTSIDEONLY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t-NOGRAVITY\n\tstates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 AAAAAA 0 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-1,2) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tTNT1 BBB 0 A_SpawnItemEx (\"flying_blood\", 0, 0, 0, random(-3,3) , random(-3,3) , random(3,6) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"blood_cloud\", 0, 0, 0, /*f*/random(-0.6,0.6) , /*f*/random(-0.6,0.6) , /*f*/random(-0.5,0.5), random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tBLDI A 5 A_PlaySound(\"blood/impact\", CHAN_AUTO)\n\t\t\tBLDI BC 5\n\t\t\tstop\n\t}\n}\n\nactor msx_BloodSplat2 : Bloodsplatter replaces Bloodsplatter{\n\tMass 0\n\tRadius\t1\n\tHeight\t1\n\tScale 0.20\n\talpha 0.75\n\tgravity 0\n\trenderstyle normal\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tSpawn:\n\t\t\tSPRY A 0\n\t\t\tSPRY A 1 A_PlaySound(\"blood/impact\", CHAN_AUTO)\n\t\t\tTNT1 AAAAAA 0 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-1,2) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx (\"flying_blood\", 0, 0, 0, random(-3,3) , random(-3,3), random(3,6) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"blood_cloud2\", 0, 0, 0, /*f*/random(-0.6,0.6) , /*f*/random(-0.6,0.6) , /*f*/random(-0.5,0.5), random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tSPRY BCDEFG 1\n\t\t\tstop\n\t}\n}\n\nactor blood_spray {\n\tmass 1\n\tradius 1\n\theight 1\n\tscale 0.55\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tBLDS ABCDEF 2\n\t\tspawnloop:\n\t\t\tBLDS F 2 A_FadeOut(0.1)\n\t\t\tstop\n\t}\n}\n\nactor blood_spray_Y : blood_spray{\n\ttranslation \"176:191=[255,215,0]:[78,66,0]\", \"32:47=[255,215,0]:[78,66,0]\"\n}\n\nactor blood_cloud{\n\tscale 0.6\n\talpha 0.5\n\trenderstyle normal\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"m1\", \"m2\", \"m3\", \"m4\")\n\t\tm1:\n\t\t\tBLCL A 5\n\t\tm1l:\n\t\t\tBLCL A 2 A_FadeOut(0.1)\n\t\t\tloop\n\t\tm2:\n\t\t\tBLCL B 5\n\t\tm2l:\n\t\t\tBLCL B 2 A_FadeOut(0.1)\n\t\t\tloop\n\t\tm3:\n\t\t\tBLCL C 5\n\t\tm3l:\n\t\t\tBLCL C 2 A_FadeOut(0.1)\n\t\t\tloop\n\t\tm4:\n\t\t\tBLCL D 5\n\t\tm4l:\n\t\t\tBLCL D 2 A_FadeOut(0.1)\n\t\t\tloop\n\n\t}\n}\n\nactor blood_cloud2 : blood_cloud {\n\tscale 0.68\n}\n\nactor flying_blood{\n\tmass 0\n\tradius 1\n\theight 1\n\tscale 0.40\n\talpha 0.75\n\tgravity 0.75\n\t+MISSILE\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 0\n\t\t\tBTRL ABCD 1 A_SpawnItemEx (\"blood_trails\", 0, 0, 0, 0 , 0 , 0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tNULL A 0 A_SpawnItemEx (\"floor_blood\", 0, 0, 0, 0 , 0 , 0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t}\n}\n\nactor blood_trails{\n\tmass 0\n\tradius 1\n\theight 1\n\tscale 0.40\n\talpha 0.75\n\t+NOINTERACTION\n\t//+LOWGRAVITY\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t \tNULL A 0\n\t\t\tNULL A 0 A_Jump(64,\"trail1\")\n\t\t\tNULL A 0 A_Jump(128,\"trail2\")\n\t\t\tNULL A 0 A_Jump(192,\"trail3\")\n\t\t\tNULL A 0 A_Jump(256,\"trail4\")\n\t\t\tstop\n\t\ttrail1:\n\t\t\tBTRL ABAB 1\n\t\t\tstop\n\t\ttrail2:\n\t\t\tBTRL CDCD 1\n\t\t\tstop\n\t\ttrail3:\n\t\t\tBTRL BCBC 1\n\t\t\tstop\n\t\ttrail4:\n\t\t\tBTRL ADAD 1\n\t\t\tstop\n\t}\n}\n\nactor floor_blood {\n\tmass 0\n\tradius 2\n\theight 2\n\tscale 0.40\n\talpha 0.8\n\t-NOBLOCKMAP\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 0\n \t\t\tNULL A 0 A_PlaySound(\"blood/drip\")\n\t\t \tNULL A 0 A_Jump(64,\"splat1\")\n\t\t \tNULL A 0 A_Jump(128,\"splat2\")\n\t\t \tNULL A 0 A_Jump(192,\"splat3\")\n\t\t \tNULL A 0 A_Jump(255,\"splat4\")\n\t\t\tstop\n\t\tsplat1:\n\t\t \tBSPT A 35 A_FadeOut(0.1)\n\t\t \tloop\n\t\tsplat2:\n\t\t\tBSPT B 35 A_FadeOut(0.1)\n\t\t\tloop\n\t\tsplat3:\n\t\t\tBSPT C 35 A_FadeOut(0.1)\n\t\t loop\n\t\tsplat4:\n\t\t\tBSPT D 35 A_FadeOut(0.1)\n\t\t loop\n\t}\n}\n\n////////////////////////////////////////GORN\nactor gore_spawner {\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"gore/explode\")\n\t\t\tTNT1 AAA 0 A_SpawnItemEx (\"gore_bloodmist\", random(-2,2), random(-2,2), 8, /*f*/random(-0.4,0.4) ,/*f*/random(-0.4,0.4) ,0 , random(1,360), SXF_TRANSFERTRANSLATION)\n\n\t\t\t//A_CustomMissile (string missiletype[, float spawnheight[, int spawnofs_horiz[, angle angle[, int aimflags[, angle pitch]]]]])\n\t\t\tTNT1 AAAAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(0,180),2,random(20,120))\n\t\t\tTNT1 AAAAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(181,360),2,random(20,120))\n\n\t\t\tTNT1 AAAA 0 A_CustomMissile(\"gib_spawner\", 25, 0, random(0,180),2,random(20,120))\n\t\t\tTNT1 AAAA 0 A_CustomMissile(\"gib_spawner\", 25, 0, random(181,360),2,random(20,120))\n\n\t\t\t//TNT1 AAAAAA 0 A_CustomMissile(\"gib_spawner\", 25, 0, random(0,360),2,random(40,160))\n\n\t\t\t//TNT1 AAAAAAAA 0 A_SpawnItemEx(\"gore_fleshbit\", 0,0,8,random(-3,3),random(-3,3),random(7,9),random(1,360))\n\n\t\t\t//TNT1 AAAAAA 0 A_SpawnItemEx(\"gib_spawner\", 0,0,10,0,0,0,0)\n\t\t\t//\n\t\t\tstop\n\n\t}\n}\n\nactor gore_bloodmist {\n\tmass 0\n\tradius 1\n\theight 1\n\tscale 0.6\n\talpha 0.5\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"gm1\", \"gm2\",\"gm3\", \"gm4\", \"gm5\")\n\t\tgm1:\n\t\t\tGRMI A 35\n\t\tgm1out:\n\t\t\tGRMI A 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm2:\n\t\t\tGRMI B 35\n\t\tgm2out:\n\t\t\tGRMI B 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm3:\n\t\t\tGRMI C 35\n\t\tgm3out:\n\t\t\tGRMI C 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm4:\n\t\t\tGRMI D 35\n\t\tgm4out:\n\t\t\tGRMI D 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm5:\n\t\t\tGRMI E 35\n\t\tgm5out:\n\t\t\tGRMI E 2 A_FadeOut(0.01)\n\t\t\tloop\n\n\t}\n\n}\n\nactor gore_bloodmistY : gore_bloodmist {\n\tscale 0.65\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"gm1\", \"gm2\",\"gm3\", \"gm4\", \"gm5\")\n\t\tgm1:\n\t\t\tGRMY A 35\n\t\tgm1out:\n\t\t\tGRMY A 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm2:\n\t\t\tGRMY B 35\n\t\tgm2out:\n\t\t\tGRMY B 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm3:\n\t\t\tGRMY C 35\n\t\tgm3out:\n\t\t\tGRMY C 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm4:\n\t\t\tGRMY D 35\n\t\tgm4out:\n\t\t\tGRMY D 2 A_FadeOut(0.01)\n\t\t\tloop\n\t\tgm5:\n\t\t\tGRMY E 35\n\t\tgm5out:\n\t\t\tGRMY E 2 A_FadeOut(0.01)\n\t\t\tloop\n\t}\n}\n\nactor gore_bloodmist_small : gore_bloodmist{\n\tscale 0.18\n\talpha 0.4\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"gm1\", \"gm2\",\"gm3\", \"gm4\", \"gm5\")\n\t\tgm1:\n\t\t\tGRMI A 15\n\t\tgm1out:\n\t\t\tGRMI A 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm2:\n\t\t\tGRMI B 15\n\t\tgm2out:\n\t\t\tGRMI B 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm3:\n\t\t\tGRMI C 15\n\t\tgm3out:\n\t\t\tGRMI C 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm4:\n\t\t\tGRMI D 15\n\t\tgm4out:\n\t\t\tGRMI D 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm5:\n\t\t\tGRMI E 15\n\t\tgm5out:\n\t\t\tGRMI E 2 A_FadeOut(0.02)\n\t\t\tloop\n\n\t}\n}\n\nactor gore_bloodmistY_small : gore_bloodmist {\n\tscale 0.18\n\talpha 0.4\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"gm1\", \"gm2\",\"gm3\", \"gm4\", \"gm5\")\n\t\tgm1:\n\t\t\tGRMY A 15\n\t\tgm1out:\n\t\t\tGRMY A 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm2:\n\t\t\tGRMY B 15\n\t\tgm2out:\n\t\t\tGRMY B 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm3:\n\t\t\tGRMY C 15\n\t\tgm3out:\n\t\t\tGRMY C 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm4:\n\t\t\tGRMY D 15\n\t\tgm4out:\n\t\t\tGRMY D 2 A_FadeOut(0.02)\n\t\t\tloop\n\t\tgm5:\n\t\t\tGRMY E 15\n\t\tgm5out:\n\t\t\tGRMY E 2 A_FadeOut(0.02)\n\t\t\tloop\n\n\t}\n}\n\nactor gore_fleshbit {\n\tmass 1\n\tspeed 7\n\tradius 2\n\theight 2\n\tscale 0.6\n\tgravity 0.5\n\t+MISSILE\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 0\n\t\t\tFBLD ABCD 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tNULL A 0 A_SpawnItemEx (\"gore_floorblood\", 0, 0, 0, 0 , 0 , 0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t}\n\n}\n\nactor gore_fleshbitY : gore_fleshbit {\n\ttranslation \"176:191=[255,215,0]:[78,66,0]\", \"32:47=[255,215,0]:[78,66,0]\"\n}\n\nactor gore_floorblood : floor_blood {\n\tscale 0.9\n}\n\nactor gib_spawner{\n\t+CLIENTSIDEONLY\n\tspeed 4\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tNULL A 0 A_Jump(255,\"Gib1\",\"Gib2\",\"Gib3\",\"Gib4\",\"Gib5\",\"Gib6\",\"Gib7\",\"Gib8\")\n\t\tGib1:\n\t\t\tNULL A 0\n\t\t\tstop\n\t\tGib2:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib2\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib3:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib3\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib4:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib4\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib5:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib5\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib6:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib6\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib7:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib7\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t\tGib8:\n\t\t\tNULL A 0 A_SpawnItemEx (\"Gib8\", 0, 0, 0, random(-3,3) , random(-3,3) , random(6,9) , random(1,360), SXF_TRANSFERTRANSLATION | 128)\n\t\t\tstop\n\t}\n}\n\nactor gib_spawnerY : gib_spawner{\n\ttranslation \"176:191=[255,215,0]:[78,66,0]\", \"32:47=[255,215,0]:[78,66,0]\"\n}\n\nactor Gib1 {\n\tradius 4\n\theight 4\n\tmass 1\n\tscale 0.8\n\tgravity 0.7\n\t+MISSILE\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tGIB1 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB1 A -1\n\t\t\tstop\n\n\t}\n}\n\nactor Gib2 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB2 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB2 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib3 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB3 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB3 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib4 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB4 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB4 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib5 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB5 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB5 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib6 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB6 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB6 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib7 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB7 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB7 A -1\n\t\t\tstop\n\t}\n}\n\nactor Gib8 : Gib1 {\n\tstates{\n\t\tspawn:\n\t\t\tGIB8 A 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tGIB8 A -1\n\t\t\tstop\n\t}\n}\n\n//\nactor gib_bloodtrail {\n\tmass 1\n\tradius 1\n\theight 1\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tscale 1\n\tstates{\n\t\tspawn:\n\t\t\tBTRL ABCDABCD 1 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\tstop\n\t\t/*\n\t\ttrail1:\n\t\t\tBTRL ABCDABCD 1\n\t\t\tstop\n\t\ttrail2:\n\t\t\tBTRL CDABCDAB 1\n\t\t\tstop\n\t\ttrail3:\n\t\t\tBTRL BCDABCDA 1\n\t\t\tstop\n\t\ttrail4:\n\t\t\tBTRL ADCBADCB 1\n\t\t\tstop\n\t\t\t*/\n\t}\n\n}"
},
{
"source": "pk3",
"name": "actordefs/inventory.txt",
"contents": "/////////////////////////////////////////////////////////////////////////\n// Inventory definitions\n/////////////////////////////////////////////////////////////////////////\n\nactor shieldauto : ArmorBonus{\n +COUNTITEM\n +INVENTORY.ALWAYSPICKUP\n Armor.Savepercent 100.00\n Armor.Saveamount 5\n Armor.maxfullabsorb 0\n Armor.MaxSaveamount 200\n}\n\nactor fullshield : BasicArmorPickup{\n\tArmor.saveamount 200\n\tArmor.savepercent 100.00\n\tArmor.maxfullabsorb 0\n}\n\nactor overshield : BasicArmorPickup{\n\tArmor.saveamount 600\n\tArmor.savepercent 100.00\n\tArmor.maxfullabsorb 0\n}\n\nactor shieldbooster : CustomInventory replaces BlueArmor{\n\tscale 0.33\n\tInventory.Amount 1\n\tInventory.Maxamount 10\n\tInventory.PickupMessage \"Shield Booster Unit\"\n\tinventory.pickupsound \"items/armorpickup\"\n\t-INVENTORY.INVBAR\n +COUNTITEM\n\t+INVENTORY.BIGPOWERUP\n\tStates{\n\t\tSpawn:\n\t\t\tSBST ABCDEDCB 2 bright\n\t\t\tloop\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"items/armorup\", CHAN_AUTO)\n\t\t\tTNT1 A 0 A_Giveinventory(\"fullshield\", 1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerShieldDamage\",999)\n\t\t\t//fail\n\t\t\tStop\n\t}\n}\n\nactor sbooster_spawner : RandomSpawner replaces Radsuit {\n\tdropitem \"shieldbooster\", 255 1\n\tdropitem \"healthstim\", 255 4\n}\n\n//No Stimpacks, no health bonus and no armor bonus in the mod, only medikits...\n//\nactor NullItem1 replaces HealthBonus{}\nactor NullItem2 replaces ArmorBonus{}\nactor NullActor {}\n\n//health stims\nactor healthstim : CustomInventory replaces GreenArmor 26100 {\n inventory.amount 1\n inventory.maxamount 15\n inventory.pickupsound \"items/hstim_up\"\n inventory.pickupmessage \"Health Stim\"\n scale 0.28\n -INVENTORY.INVBAR\n +COUNTITEM\n +INVENTORY.BIGPOWERUP\n states{\n \tSpawn:\n\t\tHSTI A -1\n\t\tloop\n\tUse:\n\t\tTNT1 A 0\n\t\tTNT1 A 0 A_PlaySound(\"items/stimshot\", CHAN_VOICE)\n\t\tTNT1 A 0 A_GiveInventory(\"lifeup\", 1)\n\t\t//fail\n\t\tStop\n\t}\n}\n\nactor healtstims_spawner: RandomSpawner replaces Medikit{\n\tDropItem \"healthstim\" 48\n}\n\nactor healtstims_spawner2: RandomSpawner {\n\tDropItem \"healthstim\" 164\n}\n\nactor healthpack : CustomInventory replaces Berserk {\n\tscale 0.28\n\tInventory.PickupMessage \"Health Pack\"\n\tinventory.pickupsound \"items/hpack_up\"\n\t//+INVENTORY.ALWAYSPICKUP\n +COUNTITEM\n\t+INVENTORY.BIGPOWERUP\n\tStates{\n\t\tSpawn:\n\t\t\tMPAK A -1\n\t\t\tstop\n\t\tPickup:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"healthstim\",14,\"PickupFail\")\n\t\t\tTNT1 A 0 A_GiveInventory(\"healthstim\", 2)\n\t\t\tstop\n\t\tPickupFail:\n\t\t\tTNT1 A 0\n\t\t\tfail\n\t}\n\n}\n\nactor lifeup : Health {\n +COUNTITEM\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.BIGPOWERUP\n Inventory.Amount 80\n Inventory.MaxAmount 200\n}\n\nactor overshieldsphere : custominventory replaces soulsphere {\n\t+FLOATBOB\n\t+COUNTITEM\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.BIGPOWERUP\n\tinventory.pickupsound \"powerup/overshield\"\n\tinventory.pickupmessage \"OverShield Sphere!\"\n\tstates {\n\t\tspawn:\n\t\t\tOSHD ABCDCBA 2 bright\n\t\t\tloop\n\t\tpickup:\n\t\t\tTNT1 A 0 A_GiveInventory(\"overshield\")\n\t\t\tTNT1 A 0 A_SetBlend(\"99 58 0\", 0.8, 15)\n\t\t\tTNT1 A 0 A_TakeInventory(\"PlayerShieldDamage\",999)\n\t\t\tstop\n\t}\n}\n\nactor defensesphere : custominventory replaces blursphere {\n\tscale 0.9\n\t+FLOATBOB\n\t+COUNTITEM\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.BIGPOWERUP\n\tinventory.pickupsound \"powerup/defense\"\n\tinventory.pickupmessage \"Defense Sphere!\"\n\tstates {\n\t\tspawn:\n\t\t\tDEFS ABCDE 4 bright\n\t\t\tloop\n\t\tpickup:\n\t\t\tTNT1 A 0 A_GiveInventory(\"defense_powerup\")\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PowerUpFlash,0, 4,0,0)\n\t\t\tstop\n\t}\n}\n\nactor defense_powerup : PowerupGiver {\n\t//powerup.color \"255 132 0\"\n\tInventory.MaxAmount 0\n\tPowerup.Type DefenseAura\n\tpowerup.duration -60\n\t+AUTOACTIVATE\n}\n\nactor PowerDefenseAura : PowerProtection\n{\n\tdamagefactor \"normal\", 0.5\n}\n\nactor inmunesphere : custominventory replaces InvulnerabilitySphere {\n\t+FLOATBOB\n\t+COUNTITEM\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\t+INVENTORY.BIGPOWERUP\n\tinventory.pickupsound \"powerup/inmune\"\n\tinventory.pickupmessage \"Inmunity Sphere!\"\n\tstates{\n\t\tspawn:\n\t\t\tINVS ABCDCB 4 Bright\n\t\t\tloop\n\t\tpickup:\n\t\t\tTNT1 A 0 A_GiveInventory(\"invul_powerup\")\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PowerUpFlash,0, 1,0,0)\n\t\t\tstop\n\t}\n}\n\nactor invul_powerup : PowerupGiver {\n\t+INVENTORY.AUTOACTIVATE\n\t+INVENTORY.ALWAYSPICKUP\n\tInventory.MaxAmount 0\n\tPowerup.Type \"Invulnerable\"\n}\n\nactor ultrasphere : CustomInventory replaces Megasphere\n{\n +FLOATBOB\n +COUNTITEM\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.BIGPOWERUP\n Inventory.PickupMessage \"Ultra Sphere!!\"\n Inventory.PickupSound \"powerup/ultra\"\n States\n {\n Spawn:\n ULSP ABCDCB 4 bright\n Loop\n Pickup:\n TNT1 A 0 A_GiveInventory(\"overshield\", 1)\n TNT1 A 0 A_GiveInventory(\"ultralifeup\", 1)\n\tTNT1 A 0 A_GiveInventory(\"PlayerStamina\", 100)\n\tTNT1 A 0 A_TakeInventory(\"PlayerShieldDamage\",999)\n\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PowerUpFlash,0, 2,0,0)\n Stop\n }\n}\n\nactor ultralifeup : health {\n\tInventory.Amount 400\n\tInventory.MaxAmount 400\n}\n\nactor pdafullmap : CustomInventory replaces Allmap {\n\t+COUNTITEM\n\t+INVENTORY.ALWAYSPICKUP\n\tInventory.PickupSound \"powerup/allmap\"\n\tInventory.PickupMessage \"Area Map PDA\"\n\tstates{\n\t\tspawn:\n\t\t\tAMPD A -1 bright\n\t\t\tstop\n\t\tpickup:\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PowerUpFlash,0, 3,0,0)\n\t\t\tTNT1 A 0 A_GiveInventory(\"Allmap\")\n\t\t\tstop\n\t}\n}\n\nactor msxBackpack : BackpackItem replaces Backpack {\n\tscale 0.75\n\tInventory.PickupMessage \"Ammunition Backpack\"\n\tinventory.pickupsound \"items/ammopack\"\n\tstates{\n\t\tspawn:\n\t\t\tBPK2 A -1\n\t\t\tstop\n\t}\n}\n\nactor msxBackpack2 : msxBackpack replaces Chainsaw{}"
},
{
"source": "pk3",
"name": "actordefs/player.txt",
"contents": "//Player definitions\n\nactor msx_player : DoomPlayer{\n mass 700\n gravity 0.75\n\n health 200\n Player.MaxHealth 200\n\n Player.ForwardMove 1.9, 0.95\n Player.SideMove 1.9, 0.95\n Player.ViewHeight 43\n Player.AttackZOffset 10\n Player.JumpZ 0\n //Player.FallingScreamSpeed 25.0, 50.0\n\n Player.StartItem \"shield_state\", 1\n\n Player.StartItem \"GolamPistol\"\n Player.StartItem \"RegularFists\"\n Player.StartItem \"Grenade_Toss\"\n Player.StartItem \"pistol_ammo\", 36\n Player.StartItem \"golamclip\", 9\n Player.StartItem \"fullshield\"\n Player.StartItem \"Action_Reload\"\n Player.StartItem \"Action_ReloadCancel\"\n Player.StartItem \"Action_Nade\"\n Player.StartItem \"Action_NadeCancel\"\n Player.StartItem \"Action_Melee\"\n Player.StartItem \"Action_MeleeCancel\"\n Player.StartItem \"Action_AltFunc\"\n Player.StartItem \"Action_AltFuncCancel\"\n Player.StartItem \"Action_Cooldown\"\n Player.StartItem \"Action_CooldownCancel\"\n Player.StartItem \"ArmorRechargeSound\"\n Player.StartItem \"ARechargeSound_Cancel\"\n Player.StartItem \"hydraclip\", 16\n Player.StartItem \"raptorchamber\", 4\n Player.StartItem \"barraclip\", 60\n Player.StartItem \"cannonmag\", 30\n Player.StartItem \"criflecell\", 80\n Player.StartItem \"sgaussmag\", 5\n Player.StartItem \"grenades\", 3\n Player.StartItem \"PlayerStamina\", 100\n player.maxhealth 100\n Player.DamageScreenColor \"00 00 00\"//, 0.0\n damagefactor \"frag_explosion\", 0.3\n damagefactor \"concussion_blast\", 0.6\n damagefactor \"MeleeAttack\", 0.0\n +NOBLOOD\n +SLIDESONWALLS\n\n //var int user_rdmH;\n //var int user_rdmV;\n\n states{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 //ACS_NamedExecute(\"pmsx_Player-Respawn\",0,0,0,0)\n\t\t\tPLAY A -1\n\t\t\tstop\n\t\tsee:\n\t\t\tPLAY ABCD 3\n\t\t\tloop\n\n\t\tshield_on:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_ChangeFlag(NOBLOOD, 1)\n\t\t\tgoto see\n\n\t\tshield_off:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_ChangeFlag(NOBLOOD, 0)\n\t\t\tgoto see\n\n\t\tpain:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Pain\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PlayerPainFlash,0,0,0,0)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,-20,0,0)//A_SetPitch(-1)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,20,0,0)//A_Setpitch(1)\n\t\t\tgoto see\n\n\t\tpain.StrongMelee:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Pain\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PlayerPainFlash,0,1,0,0)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,-60,0,0)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,60,0,0)\n\t\t\tgoto see\n\t\tpain.LightMelee:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Pain\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(pmsx_PlayerPainFlash,0,2,0,0)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,-40,0,0)//A_SetPitch(-1)\n\t\t\tTNT1 A 1 ACS_ExecuteAlways(Weapon_Recoil,0,40,0,0)//A_Setpitch(1)\n\t\t\tgoto see\n\n\t\tDeath:\n\t\t\tPLAY H 10 //ACS_NamedExecute(\"pmsx_Player-Death\",0,0,0,0)\n\t\t\tPLAY I 10 A_PlayerScream\n\t\t\tPLAY J 10 A_NoBlocking\n\t\t\tPLAY KLM 10\n\t\t\tPLAY N -1\n\t\t\tStop\n\t\tXDeath:\n\t\t\tPLAY O 7 //ACS_NamedExecute(\"pmsx_Player-Death\",0,0,0,0)\n\t\t\tPLAY P 7 A_XScream\n\t\t\tPLAY Q 7 A_NoBlocking\n\t\t\tPLAY RSTUV 7\n\t\t\tPLAY W -1\n\t\t\tStop\n }\n}\n\nactor PlayerShieldDamage : Inventory {\n\tInventory.Amount 1\n\tInventory.MaxAmount 350\n}\n\nactor PlayerStamina : Inventory {\n\tInventory.Amount 1\n\tInventory.MaxAmount 100\n}\n\nactor ArmorRechargeSound : CustomInventory {\n\tInventory.Amount 1\n \tInventory.MaxAmount 1\n -INVBAR\n\tstates {\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/shieldrecharge\", 5)\n\t\t\tfail\n\t}\n}\n\nactor ARechargeSound_Cancel : CustomInventory {\n\tInventory.Amount 1\n \tInventory.MaxAmount 1\n -INVBAR\n\tstates {\n\t\tUse:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_StopSound(5)\n\t\t\tstop\n\t}\n}\n\nactor SuitPowerDefense : PowerupGiver {\n\tinventory.maxamount 0\n\t//powerup.color \"255 132 0\"\n\tpowerup.color \"0 0 0\",0.0\n\tpowerup.type SuitPowDefense\n\tpowerup.duration 0x7FFFFFFF\n\t+AUTOACTIVATE\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 AA 0\n\t\t\tstop\n\t}\n\n}\n\nactor PowerSuitPowDefense : PowerProtection\n{\n\tdamagefactor \"normal\", 0.5\n\t//inventory.icon \"MEGAA0\"\n}"
},
{
"source": "pk3",
"name": "actordefs/sfx.txt",
"contents": "/////////////////////////////////////////////////////////////////////////\n// SFX definitions\n/////////////////////////////////////////////////////////////////////////\n\n//SMOKE\n////////////////\nactor general_smoke1 {\n\tradius 4\n\theight 4\n\tscale 1\n\talpha 1\n\trenderstyle translucent\n\t+NOTELEPORT\n\t+FLOORCLIP\n\t+NOGRAVITY\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tgoto selectjump\n\t\tselectjump:\n\t\t\tTNT1 A 0 A_Jump(255, \"s1\",\"s2\",\"s3\",\"s4\",\"s5\",\"s6\",\"s7\",\"s8\",\"s9\",\"s10\",\"s11\",\"s12\",\"s13\",\"s14\",\"s15\",\"s16\",\"s17\",\"s18\",\"s19\",\"s20\",\"s21\",\"s22\",\"s23\",\"s24\")\n\t\ts1:\n\t\t\tSMK5 A 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts2:\n\t\t\tSMK5 B 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts3:\n\t\t\tSMK5 C 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts4:\n\t\t\tSMK5 D 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts5:\n\t\t\tSMK5 E 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts6:\n\t\t\tSMK5 F 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts7:\n\t\t\tSMK5 G 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts8:\n\t\t\tSMK5 H 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts9:\n\t\t\tSMK5 I 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts10:\n\t\t\tSMK5 J 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts11:\n\t\t\tSMK5 K 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts12:\n\t\t\tSMK5 L 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts13:\n\t\t\tSMK5 M 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts14:\n\t\t\tSMK5 N 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts15:\n\t\t\tSMK5 O 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts16:\n\t\t\tSMK5 P 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts17:\n\t\t\tSMK5 Q 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts18:\n\t\t\tSMK5 R 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts19:\n\t\t\tSMK5 S 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts20:\n\t\t\tSMK5 T 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts21:\n\t\t\tSMK5 U 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts22:\n\t\t\tSMK5 V 4 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts23:\n\t\t\tSMK5 W 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts24:\n\t\t\tSMK5 X 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\n\t}\n}\n\n//powerpunch smokes\nactor powpunch_smoke : general_smoke1 {\n\tscale 0.3\n\talpha 1.0\n\trenderstyle add\n}\n\nactor powpunch_smoke2 : general_smoke1 {\n\tscale 0.4\n\talpha 1.0\n\trenderstyle add\n}\n\nactor powpunch_smoke3 : general_smoke1 {\n\tscale 0.5\n\talpha 1.0\n\trenderstyle add\n}\n\n//frag smokes\nactor frag_boomsmoke : general_smoke1 {\n\tscale 0.58\n\talpha 0.65\n\trenderstyle translucent\n}\n\nactor frag_boomsmoke2 : general_smoke1 {\n\tscale 0.68\n\talpha 0.85\n\trenderstyle translucent\n}\n\nactor f_bfireSpark-smoke : general_smoke1 {\n\tscale 0.22\n\talpha 0.7\n\trenderstyle translucent\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 3\n\t\t\tgoto selectjump\n\t}\n}\n\nactor powfrag_smoke : general_smoke1 {\n\tscale 0.1\n\talpha 0.8\n\trenderstyle add\n}\n\nactor powfragMAX_smoke : general_smoke1{\n\tscale 0.15\n\trenderstyle add\n\talpha 0.9\n}\n\nactor sgauss_casing_smoke : general_smoke1{\n\tscale 0.06\n\trenderstyle add\n\talpha 0.8\n}\n\n//autocannon smokes\nactor cslugboom_smoke : general_smoke1 {\n\tscale 0.5\n\talpha 0.66\n\trenderstyle translucent\n}\n\n//gauss rifle smokes\nactor gpuff_smoke : general_smoke1 {\n\tscale 0.3\n\talpha 1.0\n\trenderstyle add\n}\n\n/////////////////\n\n//melee\nactor punch_impact {\n\tDamageType MeleeAttack\n\tObituary \"%o was punched by %k\"\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t+PUFFONACTORS\n\t+NOEXTREMEDEATH\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/punchwall\")\n\t\t\tStop\n\t\txdeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/fleshhit\")\n\t\t\tStop\n\t}\n}\n\nactor meleepuff : punch_impact {\n\tObituary \"%o got beat down by %k\"\n\tStates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/hitwall\")\n\t\t\tStop\n\t\txdeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/fleshhit\")\n\t\t\tStop\n\t}\n}\n\n/////////////////////////////////////////////////////////////////////////////////////////////\n\n//\nactor pistb_puff {\n\tRadius 1\n\tHeight 1\n\tAlpha 1\n\tDamageType pistol_bullet\n\tRenderStyle ADD\n\tScale 0.14\n\t+NOGRAVITY\n\t+NOBLOCKMAP\n\t+FLOORCLIP\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+NOEXTREMEDEATH\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tStates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/bulletric\")\n\t\t\tTNT1 A 0 A_Jump(100, \"Puff1\",\"Puff2\",\"Puff3\",\"Puff4\")\n\t\tPuff1:\n\t\t\tIPF2 AB 1 bright\n\t\t\tgoto PuffSparks\n\t\tPuff2:\n\t\t\tIPF2 CD 1 bright\n\t\t\tgoto PuffSparks\n\t\tPuff3:\n\t\t\tIPF2 EF 1 bright\n\t\t\tgoto PuffSparks\n\t\tPuff4:\n\t\t\tIPF2 GH 1 bright\n\t\t\tgoto PuffSparks\n\t\tPuffSparks:\n\t\t\t//NULL AAAAAA 0 A_SpawnItemEx (\"puffSpark\", 0, 0, 0, random(-3,3) , random(-3,3) , random(0,8) , random(1,360), 0)\n\t\t\tNULL AAAAAA 0 A_SpawnItemEx (\"puffSpark\", 0, 0, 0, random(-3,3) , random(-3,3) , random(-3,3) , random(1,360), 0)\n\t\t\tNULL A 1 A_SpawnItemEx (\"puffSmoke\", 0, 0, 0, 0, 0, 1, 0, 0)\n\t\t\tstop\n\t}\n}\n\nactor puffSpark {\n\t//Health 10\n\tradius 1\n\theight 1\n\tspeed 5\n\tdamage 0\n\tRenderStyle add\n\tAlpha 1\n\tScale 0.02\n\tMass 0\n\t+MISSILE\n\t+FLOORCLIP\n\t+DONTSPLASH\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+NOGRAVITY\n\t+CLIENTSIDEONLY\n\tBounceType \"doom\"\n\t//gravity 0.2\n\tBounceFactor 0.2\n\tStates\n\t{\n\t\tspawn:\n\t\t\tSPRK A 2 bright A_FadeOut(0.25)\n\t\t\tloop\n\n\t}\n}\n\nactor puffSmoke {\n\tradius 1\n\theight 1\n\talpha 1\n\tscale 0.12\n\trenderstyle add\n\t+NOGRAVITY\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSMK3 ABCDEFGHIJKLM 1\n\t\t\tstop\n\n\t}\n}\n\nactor puffSmoke2 : puffSmoke {\n\tscale 0.16\n}\n\nactor arb_puff : pistb_puff {\n\tDamageType arifle_bullet\n\tScale 0.12\n\tStates{\n\t\tPuffSparks:\n\t\t\tNULL AAAA 0 A_SpawnItemEx (\"puffSpark\", 0, 0, 0, random(-3,3) , random(-3,3) , random(0,8) , random(1,360), 0)\n\t\t\tNULL A 1 A_SpawnItemEx (\"puffSmoke\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tstop\n\t}\n}\n\nactor ashot_puff : pistb_puff {\n\tDamageType ashot_buck\n\tScale 0.08\n\tStates{\n\tPuffSparks:\n\t\t\tNULL AAA 0 A_SpawnItemEx (\"puffSpark\", 0, 0, 0, random(-3,3) , random(-3,3) , random(0,8) , random(1,360), 0)\n\t\t\tNULL A 1 A_SpawnItemEx (\"puffSmoke\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tstop\n\t}\n}\n\n//////////////////////////\n\nactor gun_heatsteam_spawner {\n\tradius 1\n\theight 1\n\tspeed 15\n\tPROJECTILE\n\t+NOCLIP\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 1\n\t\t\tNULL A 0\n\t\tdeath:\n\t\t\tNULL A 0 A_SpawnItemEx (\"gun_heatsteam\", 0, 0, 0, random(3,4), random(-1,1), 2, 0, SXF_TRANSFERPITCH)\n\t\t\tstop\n\t}\n}\n\nactor crifle_heatsteam_spawner : gun_heatsteam_spawner {\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 1\n\t\t\tNULL A 0\n\t\tdeath:\n\t\t\tNULL A 0 A_SpawnItemEx (\"crifle_heatsteam\", 0, 0, 0, random(3,4), random(-2,2), 2, 0, SXF_TRANSFERPITCH)\n\t\t\tstop\n\t}\n}\n\nactor gun_heatsteam {\n\tradius 3\n\theight 3\n\tscale 0.5\n\trenderstyle add\n\talpha 0.4\n\tdamage 0\n\tspeed 0\n\t+RIPPER\n\t+NOTELEPORT\n\t//+NOCLIP\n\t+NOGRAVITY\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSMK7 ABCDEFGHIJKLMNOPQ 1 bright A_Explode(2,4,0,0)\n\t\tendloop:\n\t\t\tTNT1 A 0 A_Explode(1,4,0,0)\n\t\t\tSMK7 R 1 bright A_FadeOut (0.1)\n\t\t\tloop\n\t}\n}\n\nactor crifle_heatsteam : gun_heatsteam {\n\tTranslation \"0:255=%[0.0,0.0,0.0]:[0.2,1.0,0.0]\"\n}"
},
{
"source": "pk3",
"name": "actordefs/enemies/diabolist.txt",
"contents": "//DIABOLIST\n//\tSprites and Decorate: Eriance\n/////////////////////////////////////////////////////////////////////////////////////////////////\nACTOR Diabloist : archvile replaces archvile\n{\nObituary \"%o was set on fire by a Diabloist.\"\n\tHealth 1235//325\n\tRadius 20\n\tHeight 56\n\tMass 1000\n\tSpeed 15\n\tPainChance 56\n\tBloodColor black\n\tMONSTER\n\t+FIRERESIST\n\t+FLOORCLIP\n\t+NOTARGET\n\t-NORADIUSDMG\n\t+MISSILEMORE\n\t+DONTHURTSPECIES\n\tSeeSound \"monster/diasit\"\n\tPainSound \"monster/diapai\"\n\tDeathSound \"monster/diadth\"\n\tActiveSound \"monster/diaact\"\n\nStates\n {\n Spawn:\n DIAB AB 10 A_Look\n Loop\n See:\n DIAB AABBCCDDEEFF 2 A_Chase\n Loop\n Missile:\n DIAB G 0 BRIGHT A_Jump (128,21)\n DIAB G 0 BRIGHT A_FaceTarget\n DIAB G 3 Bright A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB I 3 A_CustomMissile (\"DFire\",32,0,0)\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB G 3 Bright A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB I 3 BRIGHT A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB G 3 Bright A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB I 3 BRIGHT A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB G 3 Bright A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB I 3 BRIGHT A_FaceTarget\n DIAB G 3 Bright A_FaceTarget\n DIAB H 3 BRIGHT A_FaceTarget\n DIAB I 3 BRIGHT A_FaceTarget\n DIAB G 0 BRIGHT A_Jump (128,31)\n Goto See\n DIAB N 5 BRIGHT A_FaceTarget\n DIAB OO 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB P 0 BRIGHT A_FaceTarget\n DIAB PP 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB N 0 BRIGHT A_FaceTarget\n DIAB NN 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB O 0 BRIGHT A_FaceTarget\n DIAB OO 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB P 0 BRIGHT A_FaceTarget\n DIAB PP 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB N 0 BRIGHT A_FaceTarget\n DIAB NN 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB O 0 BRIGHT A_FaceTarget\n DIAB OO 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB P 0 BRIGHT A_FaceTarget\n DIAB PP 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB N 0 BRIGHT A_FaceTarget\n DIAB NN 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB O 0 BRIGHT A_FaceTarget\n DIAB O 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB P 0 BRIGHT A_FaceTarget\n DIAB PP 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB N 0 BRIGHT A_FaceTarget\n DIAB NN 2 BRIGHT A_CustomMissile (\"DFlare\",40,0,random(-4,4))\n DIAB O 0 BRIGHT A_FaceTarget\n DIAB P 5 BRIGHT\n DIAB P 0 BRIGHT A_Jump (64,3)\n DIAB P 0 BRIGHT A_Jump (128,14)\n Goto See\n DIAB GHIJKLM 5 BRIGHT A_FaceTarget\n DIAB N 5 BRIGHT A_FaceTarget\n DIAB O 1 BRIGHT A_Playsound (\"weapons/firbfi\")\n DIAB O 4 BRIGHT A_CustomMissile (\"DMissile\",32,0,0)\n DIAB P 5 BRIGHT\n DIAB P 0 BRIGHT A_Jump (128,1)\n Goto See\n DIAB [ 8 BRIGHT A_FaceTarget\n DIAB \\ 8 BRIGHT A_FaceTarget\n DIAB ] 0 BRIGHT A_CustomMissile (\"DTracer\",0,-40,0)\n DIAB ] 8 BRIGHT A_CustomMissile (\"DTracer\",0,40,0)\n Goto See\n Pain:\n DIAB Q 5\n DIAB Q 5 A_Pain\n Goto See\n Death:\n DIAB Q 7\n DIAB R 7 A_Scream\n DIAB S 7 A_NoBlocking\n DIAB TUVW 7\n DIAB XY 5\n DIAB Z -1\n Stop\n }\n}\n\nActor DFire\n{\n Obituary \"%o got was set ablaze by a Diabloist.\"\n Radius 0\n Height 1\n Speed 0\n RENDERSTYLE ADD\n DamageType fire\n ALPHA 1.00\n +NOGRAVITY\n +SEEKERMISSILE\n +NOTARGET\n +NODAMAGETHRUST\n States\n {\n Spawn:\n HLFR A 2 Bright A_StartFire\n NULL A 0 Bright A_Explode(3,32)\n HLFR B 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR A 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR B 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR C 2 Bright A_FireCrackle\n NULL A 0 Bright A_Explode(3,32)\n HLFR B 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR C 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR B 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR C 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR D 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR C 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR D 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR C 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR D 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR E 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR D 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR E 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR D 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR E 2 Bright A_FireCrackle\n NULL A 0 Bright A_Explode(3,32)\n HLFR F 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR E 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR F 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR E 2 Bright A_Fire\n NULL A 0 Bright A_Explode(2,32)\n HLFR F 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR G 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR H 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR G 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR H 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR G 2 Bright A_Fire\n NULL A 0 Bright A_Explode(3,32)\n HLFR H 2 Bright A_Fire\n stop\n }\n}\n\nACTOR DFlare\n{\n Radius 5\n Height 5\n Speed 25\n Damage (random(9, 11) * 2)\n SpawnID 252\n RENDERSTYLE ADD\n DamageType fire\n ALPHA 0.85\n PROJECTILE\n +THRUGHOST\n Obituary \"%o got was set ablaze by a Diabloist.\"\n Seesound \"weapons/firmfi\"\n DeathSound \"weapons/firex4\"\n States\n {\n Spawn:\n VBAL AB 3 Bright A_CustomMissile(\"MFlareFX\",0,0,0,0)\n loop\n Death:\n CBAL CDEFG 3 Bright\n stop\n }\n}\n\nACTOR DMissile : CFlameMissile\n{\n+THRUGHOST\n}\n\nACTOR DTracer\n{\n Radius 5\n Height 5\n Speed 13\n ReactionTime 175\n Damage (random(24,38))\n ExplosionDamage 64\n ExplosionRadius 64\n DamageType fire\n RenderStyle ADD\n Alpha 0.67\n PROJECTILE\n +SEEKERMISSILE\n +FLOORHUGGER\n +THRUGHOST\n -NOGRAVITY\n Obituary \"%o got was set ablaze by a Diabloist.\"\n Seesound \"weapons/diasht\"\n DeathSound \"weapons/firex3\"\n States\n {\n Spawn:\n NULL A 1 Bright A_SeekerMissile (10,15)\n NULL A 0 Bright A_Countdown\n NULL A 0 Bright A_CustomMissile(\"DTracerPuff\",0,0,0,0)\n loop\n Death:\n FTRA K 4 Bright\n FTRA L 4 Bright A_Explode(60,128,0)\n FTRA MNO 3 Bright\n stop\n }\n}\n\nACTOR MFlareFX\n{\n Radius 0\n Height 1\n Speed 0\n PROJECTILE\n RENDERSTYLE ADD\n ALPHA 0.67\n +CLIENTSIDEONLY\n States\n {\n Spawn:\n FDFX ABCDEF 4 Bright\n Stop\n }\n}\n\nACTOR DTracerPuff\n{\n Radius 1\n Height 1\n Speed 0\n RENDERSTYLE ADD\n DamageType fire\n ALPHA 0.67\n PROJECTILE\n +FLOORHUGGER\n -NOGRAVITY\n States\n {\n Spawn:\n FTRA ABCDEFGHIJ 3 Bright A_Explode(4,8)\n stop\n }\n}\n\nACTOR DMissileTrail : CFlameFloor\n{\n+THRUGHOST\n}\n\nACTOR DMissileCircle : CircleFlame\n{\n+THRUGHOST\n}"
},
{
"source": "pk3",
"name": "actordefs/enemies/generic.txt",
"contents": "//ENEMIES\nactor spectre_spawner : RandomSpawner replaces spectre {\n\tDropItem \"msxstealthdemon\" 255, 7\n\tDropItem \"HeavyCloseGrunt\" 255, 3\n}\n\nactor msxstealthdemon {\n Health 1235//65\n PainChance 100\n Speed 22\n Radius 30\n Height 56\n Mass 400\n Monster\n +FLOORCLIP -FASTER -FASTMELEE\n +STEALTH\n RenderStyle Normal\n SeeSound \"demon/sight\"\n AttackSound \"demon/melee\"\n PainSound \"demon/pain\"\n DeathSound \"demon/death\"\n ActiveSound \"demon/active\"\n Obituary \"%o was surprised by a stealth demon\"\n States\n {\n Spawn:\n SAR2 AB 10 A_Look\n Loop\n See:\n SAR2 AABBCCDD 2 A_Chase\n Loop\n Melee:\n SAR2 E 6 A_FaceTarget\n\tSAR2 FG 2 A_FaceTarget\n\tSAR2 G 6 A_CustomMissile (\"msxDemonBit\", 20, 0, 0, 0, 0)\n Goto See\n Pain:\n SAR2 H 2\n SAR2 H 2 A_Pain\n Goto See\n Death:\n SAR2 I 8\n SAR2 J 8 A_Scream\n SAR2 K 4\n SAR2 L 4 A_NoBlocking\n SAR2 M 4\n SAR2 N -1\n Stop\n Raise:\n SAR2 N 5\n SAR2 MLKJI 5\n Goto See\n }\n}\n\nactor msxDemonBit{\n\tradius 5\n\theight 5\n\tspeed 20\n\tDamageType StrongMelee\n\tdamage (random(38,38))\n\t//deathsound \"sfx/fleshhit\"\n\tPROJECTILE\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 AAA 1\n\t\t\tstop\n\t\tdeath:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxRevenant : Revenant replaces Revenant{\n\tscale 0.85\n\thealth 608//160\n\tspeed 18\n\tpainchance 80\n\tMeleeThreshold 12\n\t//+DONTHARMCLASS\n //+DONTHARMSPECIES\n\tstates{\n\t Melee:\n\t\tSKEL G 0 A_FaceTarget\n\t\tSKEL G 5 A_SkelWhoosh\n\t\tSKEL H 5 A_FaceTarget\n\t\tSKEL I 5 A_CustomMeleeAttack (60, \"enemy/meleehit\",\" \" , \"StrongMelee\")\n\t\tgoto See\n\t Missile:\n\t\tTNT1 A 0 A_Jump(64,\"SeekMissile1\",\"SeekMissile2\")\n\t\tSKEL JJJ 3 bright A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile (\"rev_normMissile\", 45, 15, 0, 0, 0)\n\t\tTNT1 A 0 A_CustomMissile (\"rev_normMissile\", 45, -15, 0, 0, 0)\n\t\tSKEL J 3 bright A_FaceTarget\n\t\tSKEL K 6 A_FaceTarget\n\t\tSKEL K 12 A_FaceTarget\n\t\tgoto See\n\t SeekMissile1:\n\t\tSKEL JJJ 3 bright A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile (\"rev_seekMissile\", 45, 15, 10, 0, 0)\n\t\tTNT1 A 0 A_CustomMissile (\"rev_normMissile\", 45, -15, 0, 0, 0)\n\t\tSKEL J 3 bright A_FaceTarget\n\t\tSKEL K 6 A_FaceTarget\n\t\tSKEL K 12 A_FaceTarget\n\t\tgoto See\n\t SeekMissile2:\n\t\tSKEL JJJ 3 bright A_FaceTarget\n\t\tTNT1 A 0 A_CustomMissile (\"rev_normMissile\", 45, 15, 0, 0, 0)\n\t\tTNT1 A 0 A_CustomMissile (\"rev_seekMissile\", 45, -15, -10, 0, 0)\n\t\tSKEL J 3 bright A_FaceTarget\n\t\tSKEL K 6 A_FaceTarget\n\t\tSKEL K 12 A_FaceTarget\n\t\tgoto See\n\n\t}\n}\n\nactor rev_normMissile {\n\tRadius 4\n\tHeight 4\n\tSpeed 21\n\tDamage (random(17,19) * 2)\n\tPROJECTILE\n\t+NOGRAVITY\n\t+FORCEXYBILLBOARD\n\tScale 0.75\n\tSeeSound \"skeleton/attack\"\n\n\tStates\t{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tFATB AB 1 bright //A_SpawnItemEx(\"rnail_smoketrail2\",50,0,3, 0,/*f*/random(-0.6,0.6), /*f*/random(-0.6,0.6))\n\t\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/psmallexplo\")\n\t\t\tTNT1 A 0 A_Explode(8 * 2, 32, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"RevMisBoom\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx (\"msxgen_smoke3\", 0,0,0, /*f*/random(-0.6,0.6),/*f*/random(-0.6,0.6), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tStop\n\t}\n}\n\nactor rev_normMisTrail {\n\tscale 0.15\n\talpha 1.0\n\trenderstyle add\n\t+NOTELEPORT\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 3\n\t\t\tTNT1 A 0 A_Jump(255,\"smoek1\",\"smoek2\",\"smoek3\",\"smoek4\",\"smoek5\",\"smoek6\")\n\t\tsmoek1:\n\t\t\tRMNS A 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t\tsmoek2:\n\t\t\tRMNS B 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t\tsmoek3:\n\t\t\tRMNS C 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t\tsmoek4:\n\t\t\tRMNS D 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t\tsmoek5:\n\t\t\tRMNS E 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t\tsmoek6:\n\t\t\tRMNS F 2 bright A_Fadeout(0.1)\n\t\t\tloop\n\t}\n}\n\nactor rev_seekMissile {\n\tHealth 95//25\n\tRadius 10\n\tHeight 10\n\tmass 200\n\tSpeed 16\n\tDamage (random(26,28) * 2)\n\tPROJECTILE\n\t+RANDOMIZE\n\t+SEEKERMISSILE\n\t+FORCEXYBILLBOARD\n\tScale 0.9\n\tSeeSound \"skeleton/attack\"\n\n\tStates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tFATB AB 1 bright //A_SpawnItemEx(\"rev_seekMisTrail\", -10,0,5, 0,/*f*/random(-0.8,0.8), /*f*/random(-0.8,0.8))\n\t\t\tTNT1 A 0 A_SeekerMissile (4,8)\n\t\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/psmallexplo\")\n\t\t\tTNT1 A 0 A_Explode(20, 48, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"RevMisBoom\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx (\"msxgen_smoke3\", 0,0,0, /*f*/random(-0.6,0.6),/*f*/random(-0.6,0.6), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tStop\n\t}\n}\n\nactor rev_seekMisTrail {\n\tscale 0.25\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFNM ABCDE 1 bright\n\t\t\tPFNM FGHIJKL 1 bright A_FadeOut(0.1)\n\t\t\tstop\n\t}\n}\n\nactor RevMisSmoke : RevenantTracerSmoke replaces RevenantTracerSmoke {\n\t+CLIENTSIDEONLY\n\tstates{\n\tspawn:\n\t\tBAL1 CCDE 3\n\t\tStop\n\t}\n}\n\nactor RevMisBoom {\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tstates{\n\tspawn:\n\t\tSX02 ABCDEFGHIJKLMNOPQRSTU 1 bright\n\t\tstop\n\t}\n\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor mancubus : fatso replaces fatso {\n\thealth 1368//360\n\tspeed 10\n\tdamagefactor fatball, 0\n\tstates{\n\t\tspawn:\n\t\t\tMANC A 2 A_Look\n\t\t\tloop\n\t\tSee:\n\t\t\tMANC AABBCCDDEEFF 4 A_Chase\n\t\t\tloop\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump(64,\"AngledShot\")\n\t\t\tMANC G 12 A_FatRaise\n\t\t\tTNT1 A 0 A_CustomMissile (\"fatshot_rail\", 32, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, 20, 0, CMF_AIMOFFSET)\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, -20, 0, CMF_AIMOFFSET)\n\t\t\tMANC H 4 bright A_FaceTarget\n\t\t\tMANC IG 2 A_FaceTarget\n\t\t\tgoto See\n\t\tAngledShot:\n\t\t\tMANC G 16 A_FatRaise\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, 20, 6, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, -20, -6, 0)\n\t\t\tMANC H 3 bright A_FaceTarget\n\t\t\tMANC IG 2 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, 20, -2, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"msxFatShot\", 28, -20, 2, 0)\n\t\t\tMANC H 3 bright A_FaceTarget\n\t\t\tMANC IG 2 A_FaceTarget\n\t\t\tgoto see\n\t\tPain:\n\t\t\tMANC J 3\n\t\t\tMANC J 3 A_Pain\n\t\t\tgoto See\n\t\tDeath:\n\t\t\tMANC K 6 A_Scream\n\t\t\tMANC L 6 A_NoBlocking\n\t\t\tMANC MNOPQRS 4\n\t\t\tMANC T -1 A_BossDeath\n\t\t\tstop\n\t\tRaise:\n\t\t\tMANC RQPONMLK 5\n\t\t\tgoto See\n\n\t}\n}\n\nactor fatshot_rail : doomimpball{\n Speed 21\n FastSpeed 21\n Damage 0\n SeeSound \" \"\n DeathSound \" \"\n States{\n\t Spawn:\n\t\tTNT1 A 2\n\t\tloop\n\t Death:\n\t\tTNT1 A 1\n\t\tstop\n }\n}\n\nactor msxFatShot : FatShot {\n\tSpeed 20\n\tscale 0.47\n\tDamage (random(10,16))\n\trenderstyle add\n\tdamagetype fatball\n\tstates{\n\t\tspawn:\n\t\t\tFBAL A 2 bright A_SpawnItemEx (\"fatball_flame\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx (\"msxgen_smoke3\", -8,0,0, 0,/*f*/random(-0.5,0.5), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tTNT1 A 0 A_Explode(12 * 2, 58, 0)\n\t\t\tFBAL B 2 bright A_SpawnItemEx (\"fatball_flame\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx (\"msxgen_smoke3\", -8,0,0, 0,/*f*/random(-0.5,0.5), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tTNT1 A 0 A_Explode(12 * 2, 58, 0)\n\t\t\tFBAL C 2 bright A_SpawnItemEx (\"fatball_flame\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx (\"msxgen_smoke3\", -8,0,0, 0,/*f*/random(-0.5,0.5), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tTNT1 A 0 A_Explode(12 * 2, 58, 0)\n\t\t\tFBAL D 2 bright A_SpawnItemEx (\"fatball_flame\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx (\"msxgen_smoke3\", -8,0,0, 0,/*f*/random(-0.5,0.5), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tTNT1 A 0 A_Explode(12 * 2, 58, 0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/bfballexplo\", CHAN_AUTO)\n\t\t\tTNT1 A 0 A_Explode(24 * 2, 84, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"fatball_endflame\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnItemEx (\"msxgen_smoke2\", 0,0,0, random(-3,3),/*f*/random(-3,3), /*f*/random(-3,3), random(1,360), 0)\n\t\t\tstop\n\t}\n}\n\nactor fatball_flame{\n\tscale 0.65\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tstates{\n\t\tspawn:\n\t\t\tFX58 ABCDEFG 1 bright\n\t\t\tFX58 HIJKLMNOPQ 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor fatball_endflame{\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tstates{\n\t\tspawn:\n\t\t\tFRME ABCDEFGHI 1 bright\n\t\t\tFRME JKLMNOPQRS 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxCyberdemon : Cyberdemon replaces Cyberdemon {\n\tObituary \"%o couldn't stand a chance against the Cyberdemon\"\n\tpainchance 20\n\tpainchance \"SpidMaster_Bullet\",0\n\thealth 10260//2700\n\tmass 2000\n\tspeed 26\n\tscale 1.1\n\t+MISSILEEVENMORE\n\tstates{\n\t\tMissile:\n\t\t\tCYBR EEEE 3 A_FaceTarget\n\t\tNormBall:\n\t\t\tCYBR E 1 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_PlaySound(\"enemy/cybcannonfire\", CHAN_VOICE)\n\t\t\tCYBR F 3 bright A_CustomMissile (\"cyberBall\", 60, -20, 0)\n\t\t\tCYBR E 4 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_PlaySound(\"enemy/cybcannonfire\", CHAN_VOICE)\n\t\t\tCYBR F 3 bright A_CustomMissile (\"cyberBall\", 60, -20, random(-12,12))\n\t\t\tCYBR E 4 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_PlaySound(\"enemy/cybcannonfire\", CHAN_VOICE)\n\t\t\tCYBR F 3 bright A_CustomMissile (\"cyberBall\", 60, -20, random(-12,12))\n\t\t\tCYBR E 4 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_Jump(24, \"SeekMissile\")\n\t\t\tTNT1 A 0 A_Jump(64, \"see\")\n\t\t\tloop\n\t\tSeekMissile:\n\t\t\tCYBR EEEEEE 3 A_FaceTarget\n\t\t\t//TNT1 A 0 A_PlaySound(\"enemy/cybcannonfire\", CHAN_AUTO)\n\t\t\tCYBR F 3 bright A_CustomMissile (\"cyberSeekRocket\", 60, -20)\n\t\t\tCYBR E 4 A_FaceTarget\n\t\t\tgoto See\n\t}\n}\n\nactor cyberBall {\n\tspeed 28\n\talpha 1.0\n\trenderstyle NORMAL\n\tscale 0.6\n\tdamage (random(68,74))\n\tPROJECTILE\n\t+GHOST\n\t+THRUGHOST\n\t//+DONTHARMCLASS\n\t//+DONTHARMSPECIES\n\tDeathSound \"sfx/explosion2\"\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tCYBL AA 1 bright A_SpawnItemEx(\"cyber_BallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tCYBL BB 1 bright A_SpawnItemEx(\"cyber_BallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Explode(25, 170, 0)\n\t\t\tTNT1 A 0 //A_Quake (3, 35, 0, 192)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"cyberBallBoom1\",0,0,-20, 0,0,0)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"cyberBallBoom2\",0,random(-2,2),random(-2,2), 0,/*f*/random(-4.4,4.4),/*f*/random(-1.4,1.4),random(180,360))\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnItemEx(\"cyberBallBoomFire\",0,0,0, /*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4),/*f*/random(-3.4,2.8),random(180,360))\n\t\t\tTNT1 A 20\n\t\t\tstop\n\t}\n}\n\nactor cyber_BallTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 //A_SpawnItemEx(\"cyberRcktFireTrail2\",-10,0,0, 0,0,0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"cyberBallFireTrail\",-10,0,0, 0,/*f*/random(-1.5,1.5),/*f*/random(-1.5,1.5))\n\t\t\tstop\n\t}\n}\n\nactor cyberBallFireTrail {\n\tscale 0.35\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFNM ABCDEFGHIJKL 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor cyberBallBoom1 {\n\tscale 0.8\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNKXP BCDEFGHIJKLMNOPQRSTUV 1 bright\n\t\t\tstop\n\t}\n}\n\nactor cyberBallBoom2 {\n\tscale 1.0\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tFX58 ABCDEFGHIJKLMNOPQ 1 bright\n\t\t\tstop\n\t}\n}\n\nactor cyberBallBoomFire{\n\tscale 1.25\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFNM ABCDEFGHIJKL 1 bright A_FadeOut(0.02)\n\t\tsfade:\n\t\t\tPFNM L 1 bright A_FadeOut(0.1)\n\t\t\tloop\n\t}\n}\n\n//\nactor cyberSeekRocket {\n\tHealth 684//180\n\tRadius 15\n\tHeight 15\n\tmass 400\n\tSpeed 18\n\tscale 1.1\n\tDamage (random(120,135))\n\tpainchance 255\n\tPROJECTILE\n\t+RANDOMIZE\n\t+SEEKERMISSILE\n\t+GHOST\n\t+SHOOTABLE\n\t-NOBLOCKMAP\n\t+THRUGHOST\n\t+NOBLOOD\n\tScale 1.0\n\tSeeSound \"enemy/cybcannonfire\"\n\tDeathSound \"sfx/explosion1\"\n\tStates{\n\t\tSpawn:\n\t\t\tTNT1 A 0\n\t\t\tMISL A 1 bright A_SpawnItemEx(\"cyber_RcktTrailSpawner\", -10,0,6, 0,0,0)\n\t\t\tTNT1 A 0 A_SeekerMissile (3,6/*,SMF_PRECISE*/)\n\t\t\tLoop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_Explode(60, 200, 0)\n\t\t\tTNT1 A 0 //A_Quake (5, 35, 0, 224)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"cyberRocketBoomFlash\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"cyberRocketBoom1\", 0, 0, 0, 0, 0, 0, 0, 0)\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"cyberRocketBoom2\", 0, 0, 0, 0, /*f*/random(-2.4,2.4), /*f*/random(-2.4,2.4), 0, 0)\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnItemEx(\"cyberRocketBoomFire\",0,0,0, /*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4),/*f*/random(-3.4,2.8),random(180,360))\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnItemEx (\"msxgen_smoke2\", 0,0,0, random(-3,3),random(-3,3), random(-3,3), random(180,360), 0)\n\t\t\t//TNT1 AAAA 0 A_SpawnItemEx (\"msxgen_smoke3\", 0,0,0, /*f*/random(-0.6,0.6),/*f*/random(-0.6,0.6), /*f*/random(-0.6,0.6), 0, 0)\n\t\t\tTNT1 A 20\n\t\t\tStop\n\t\tPain:\n\t\t\tMISL A 1 A_Recoil(20)\n\t\t\tgoto spawn\n\t}\n}\n\nactor cyber_RcktTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"cyberRcktTrailFlare\",0,0,1, 0,0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"cyberRcktFireTrail2\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"cyberRcktFireTrail1\",0,0,0, 0,/*f*/random(-1.8,1.8),/*f*/random(-1.8,1.8))\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx (\"msxgen_smoke\", -15,0,0, 0,/*f*/random(-0.9,0.9), /*f*/random(-0.9,0.9), 0, 0)\n\t\t\tstop\n\t}\n}\n\nactor cyberRcktTrailFlare {\n\tscale 0.6\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tSPRK C 1 bright\n\t\t\tstop\n\t}\n}\n\nactor cyberRcktFireTrail1 : cyberBallFireTrail {\n\tscale 0.25\n}\n\nactor cyberRcktFireTrail2 {\n\tscale 0.3\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFRE ABCDEFGHIJKL 1 bright A_FadeOut(0.02)\n\t\t\tstop\n\t}\n}\n\nactor cyberRocketBoomFlash {\n\tscale 1.2\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tBFSH A 3 bright\n\t\t\tstop\n\t}\n\n}\n\nactor cyberRocketBoom1 {\n\tscale 1.2\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSX06 ABCDEFGHIJKLMNOPQRSTUVWX 1 bright\n\t\t\tstop\n\t}\n}\n\nactor cyberRocketBoom2 {\n\tscale 1.2\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSX04 ABCDEFGHIJKLMNOPQ 1 bright\n\t\t\tstop\n\t}\n}\n\nactor cyberRocketBoomFire : cyberBallBoomFire {\n\tscale 1.4\n}\n\n/////////////////////////////////////\nactor msxRocket : Rocket {\n\tSpeed 26\n\tdamage (random(80,90))\n\t-ROCKETTRAIL\n\t+FORCEXYBILLBOARD\n\n\tstates{\n\t\tSpawn:\n\t\t\tMISL A 2 bright A_SpawnItemEx (\"msxgen_smoke\", 0,0,0, 0,/*f*/random(-0.9,0.9), /*f*/random(-0.9,0.9), 0, 0)\n\t\t\tloop\n\t\tDeath:\n\t\t\tTNT1 A 0 A_PlaySound(\"sfx/sboom1\",CHAN_AUTO)\n\t\t\tTNT1 A 0 A_Explode(90,164)\n\t\t\tTNT1 A 0 A_SpawnItemEx (\"msxRocketBoom\", 0,0,0, 0,0,0, 0, 0)\n\t\t\tTNT1 AAAAAAAA 0 A_SpawnItemEx (\"msxgen_smoke2\", 0,0,0, random(-3,3),/*f*/random(-3,3), /*f*/random(-3,3), random(1,360), 0)\n\t\t\tstop\n\t}\n}\n\nactor msxRocketBoom {\n\tscale 1.25\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSX07 ABCDEFGHIJKLMNOP 1 bright\n\t\t\tstop\n\t}\n}\n\nactor msxgen_smoke {\n\tscale 0.15\n\talpha 0.5\n\trenderstyle translucent\n\t+NOTELEPORT\n\t+FLOORCLIP\n\t+NOGRAVITY\n\t+FORCEXYBILLBOARD\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255, \"s1\",\"s2\",\"s3\",\"s4\",\"s5\",\"s6\",\"s7\",\"s8\",\"s9\",\"s10\",\"s11\",\"s12\",\"s13\",\"s14\",\"s15\",\"s16\",\"s17\",\"s18\",\"s19\",\"s20\",\"s21\",\"s22\",\"s23\",\"s24\")\n\t\ts1:\n\t\t\tSMK5 A 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts2:\n\t\t\tSMK5 B 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts3:\n\t\t\tSMK5 C 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts4:\n\t\t\tSMK5 D 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts5:\n\t\t\tSMK5 E 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts6:\n\t\t\tSMK5 F 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts7:\n\t\t\tSMK5 G 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts8:\n\t\t\tSMK5 H 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts9:\n\t\t\tSMK5 I 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts10:\n\t\t\tSMK5 J 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts11:\n\t\t\tSMK5 K 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts12:\n\t\t\tSMK5 L 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts13:\n\t\t\tSMK5 M 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts14:\n\t\t\tSMK5 N 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts15:\n\t\t\tSMK5 O 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts16:\n\t\t\tSMK5 P 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts17:\n\t\t\tSMK5 Q 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts18:\n\t\t\tSMK5 R 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts19:\n\t\t\tSMK5 S 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts20:\n\t\t\tSMK5 T 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts21:\n\t\t\tSMK5 U 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts22:\n\t\t\tSMK5 V 4 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts23:\n\t\t\tSMK5 W 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\t\ts24:\n\t\t\tSMK5 X 3 A_ScaleVelocity(0.9)\n\t\t\tTNT1 A 0 A_FadeOut(0.05)\n\t\t\tloop\n\n\t}\n}\n\nactor msxgen_smoke2 : msxgen_smoke {\n\tscale 0.52\n\talpha 0.6\n}\n\nactor msxgen_smoke3 : msxgen_smoke {\n\tscale 0.25\n\talpha 0.6\n}\n\nactor msxgen_smoke4 : msxgen_smoke {\n\tscale 0.65\n\talpha 0.6\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxSpiderMastermind : SpiderMastermind replaces SpiderMastermind {\n Obituary \"%o has fallen to the might of the SpiderMastermind\"\n Health 12160//3200\n Radius 100\n Height 100\n Mass 3000\n Speed 12\n PainChance 60\n translation \"112:127=168:191\", \"192:207=16:31\"\n Monster\n +FloorClip\n +Boss\n +MissileEvenMore\n +NoRadiusDmg\n SeeSound \"enemy/demsit\"\n PainSound \"spider/pain\"\n DeathSound \"enemy/demdth\"\n ActiveSound \"spider/active\"\n States\n {\n Spawn:\n DEMO AB 10 A_Look\n Loop\n See:\n DEMO A 3 A_Metal\n DEMO ABB 3 A_Chase\n DEMO C 3 A_Metal\n DEMO CDD 3 A_Chase\n DEMO E 3 A_Metal\n DEMO EFF 3 A_Chase\n Loop\n Missile:\n\tTNT1 A 0 A_JumpIfCloser(1000,\"CloseAttack\")\n LongAttack:\n\tTNT1 A 0 A_Jump(24,\"SuperAttack\")\n\n\tDEMO G 2 A_FaceTarget\n\tTNT1 A 0 A_PlaySound(\"enemy/smastercannon\")\n\tTNT1 A 0 A_CustomMissile (\"spidboss_canshot\", 25, 18, random(-1,1),CMF_OFFSETPITCH , /*f*/random(-0.4,0.4))\n\tTNT1 A 0 A_CustomMissile (\"spidboss_canshot\", 25, -12, random(-1,1),CMF_OFFSETPITCH , /*f*/random(-0.4,0.4))\n\tDEMO H 2 bright A_FaceTarget\n\tDEMO G 1 A_MonsterRefire(40, \"see\")\n\tgoto missile\n CloseAttack:\n\tDEMO G 1 A_FaceTarget\n\tTNT1 A 0 A_PlaySound(\"enemy/smastercannon\")\n\tTNT1 A 0 A_CustomMissile (\"spidboss_canshot\", 25, 18, random(-11,11),CMF_OFFSETPITCH , random(-3,3))\n\tTNT1 A 0 A_CustomMissile (\"spidboss_canshot\", 25, -12, random(-11,11),CMF_OFFSETPITCH , random(-3,3))\n\tDEMO H 1 bright A_FaceTarget\n\tDEMO G 1 A_MonsterRefire(40, \"see\")\n\tgoto Missile\n\n SuperAttack:\n\tDEMO TTT 2 A_FaceTarget\n\tTNT1 A 0 A_PlaySound(\"enemy/smastersupers\", CHAN_VOICE)\n\tDEMO U 4 A_CustomMissile (\"spidboss_supershot\", 43, 4, 0)\n\tDEMO T 8 A_FaceTarget\n\tgoto Missile\n\n Pain:\n DEMO I 3\n DEMO I 3 A_Pain\n Goto See\n Death:\n DEMO J 20 Bright A_Scream\n DEMO K 10 Bright A_NoBlocking\n DEMO LMNOPQR 10 Bright\n DEMO S 30\n DEMO S -1 A_BossDeath\n Stop\n }\n}\n\nactor spidboss_canshot : fastprojectile{\n\tradius 3\n\theight 3\n\tspeed 50\n\trenderstyle add\n\tscale 0.06\n\talpha 1.0\n\tDamage (random(8,11))\n\tdamagetype SpidMaster_Bullet\n\tPROJECTILE\n\tSeeSound \" \"\n\t+FORCEXYBILLBOARD\n\t+BLOODSPLATTER\n\tMissileType \"spidboss_canshotTrail\"\n\tMissileHeight 8\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tPRJ1 A 1 bright //A_SpawnItemEx(\"spidboss_canshotTrail\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\tcrash:\n\t\t\tTNT1 A 1 A_SpawnItemEx(\"pistol_impactB\",0,0,0, 0,0,0)\n\t\t\tstop\n\t\txdeath:\n\t\t\tTNT1 A 1\n\t\t\tstop\n\t}\n}\n\nactor spidboss_canshotTrail {\n\tscale 0.04\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPRJ1 B 1 bright A_FadeOut(0.3)\n\t\t\tloop\n\t}\n}\n\nactor spidboss_supershot : fastprojectile {\n\tradius 3\n\theight 3\n\tspeed 50\n\trenderstyle add\n\tscale 0.5\n\tDamage (random(30,36))\n\tPROJECTILE\n\tSeeSound \" \"\n\tDeathSound \"plasma/bighit2\"\n\t+FORCEXYBILLBOARD\n\tMissileType \"spidboss_sshotTrailSpawner\"\n\tMissileHeight 8\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tRBLL ABCDEF 1 bright //A_SpawnItemEx(\"spidboss_sshotTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 A 0 A_Explode(148, 320, 0)\n\t\t\tTNT1 A 0 //A_Quake (5, 35, 0, 386)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"sboss_SShotBoomFlash\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAAAAA 0 A_SpawnItemEx(\"sboss_SShotBoom1\",0,0,30, random(-5,5),random(-8,8),random(0,7))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"sboss_SShotBoom2\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAAAAAAAAAAA 0 A_SpawnItemEx(\"sboss_SShotBoomSmoke\",0,0,0, random(-4,4),random(-4,4), random(-4,4), random(180,360), 0)\n\t\t\tTNT1 A 20\n\t\t\tstop\n\t}\n}\n\nactor spidboss_sshotTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"sboss_SShotTrailCore\",-3,0,0, 0,0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"sboss_SShotTrail1\",-7,0,0, 0,/*f*/random(-0.5,0.5),/*f*/random(-0.5,0.5))\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"sboss_SShotTrail2\",-7,0,0, 0,/*f*/random(-2.5,2.5),/*f*/random(-2.5,2.5))\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotTrailCore {\n\tscale 0.7\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTGBL A 1 bright A_FadeOut(0.02)\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotTrail1 {\n\tscale 0.25\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tRMNS ABCDEFGHIJKLMNOPQ 1 bright A_FadeOut(0.02)\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotTrail2 {\n\tscale 0.5\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPLSR ABCDEFGHIJKLMNO 1 bright A_FadeOut(0.06)\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotBoomFlash {\n\tscale 0.8\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tRPFL A 1 A_FadeOut(0.05)\n\t\t\tloop\n\t}\n}\n\nactor sboss_SShotBoom1 {\n\tscale 1.6\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tRPEX ABCDEFGHIJKLMNOPQRSTU 1 bright\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotBoom2 {\n\tscale 2.0\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tBPLO ABCDEFG 2 bright\n\t\t\tstop\n\t}\n}\n\nactor sboss_SShotBoomSmoke : sboss_SShotTrail2{\n\tscale 2.8\n\tstates{\n\t\tspawn:\n\t\t\tPLSR ABCDEFGHIJKLMNO 2 bright\n\t\t\tstop\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxPainElemental : PainElemental replaces PainElemental {\n\tObituary \"%o has discovered that the Pain Elemental is dangerous\"\n\thealth 760//200\n\tspeed 12\n\tdamagefactor \"LostSoulBit\",0\n\tstates {\n\t\tMissile:\n\t\t\tTNT1 A 0 A_Jump(216,\"FlameAttack\")\n\t\tSpawnLostSoul:\n\t\t\tPAIN D 5 A_FaceTarget\n\t\t\tPAIN E 5 A_FaceTarget\n\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\t\t\tPAIN F 2 Bright A_FaceTarget\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"paine_SummonFire\",24,0,24, 0,/*f*/random(-3.8,3.8),/*f*/random(-3.8,3.8))\n\n\t\t\tPAIN F 1 Bright A_PainAttack\n\t\t\tGoto See\n\t\tFlameAttack:\n\t\t\tTNT1 A 0 A_JumpIfCloser(650,\"FlameCloseAttack\")\n\t\t\tPAIN D 3 A_FaceTarget\n\t\t\tPAIN E 4 bright A_FaceTarget\n\t\t\tPAIN FFFFFFF 2 bright A_CustomMissile (\"Kabro_FireBall\", 24, 0, /*f*/random(-0.5,0.5), CMF_OFFSETPITCH, /*f*/random(-0.5,0.5))\n\t\t\tgoto see\n\t\tFlameCloseAttack:\n\t\t\tPAIN DD 3 A_FaceTarget\n\t\t\tPAIN E 4 bright A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, -9, 0, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, -6, 0, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, -3, 0, 0)\n\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, 9, 0, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, 6, 0, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"Kabro_FireBall\", 24, 0, 3, 0, 0)\n\n\t\t\tPAIN F 9 bright A_CustomMissile (\"Kabro_FireBall\", 24, 0, 0, 0, 0)\n\t\t\tgoto see\n\t}\n}\n\nactor paine_SummonFire {\n\tscale 0.65\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tdeathsound \"weapons/firex4\"\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Scream\n\t\t\tPFOR ABCDE 1 bright\n\t\t\tPFOR FGHIJKL 1 bright A_FadeOut(0.1)\n\t\t\tstop\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxLostSoul : LostSoul replaces LostSoul {\n Health 152//40\n Mass 50\n Speed 17\n Damage (random(24,32) * 3)\n bloodcolor \"99 50 0\"\n DamageType LostSoulBit\n damagefactor \"LostSoulBit\",0\n}\n\n////////////////////////////////////////////////////////////////////////////////\n////////////////////////////////////////////////////////////////////////////////\n\nactor msxBarrel : ExplosiveBarrel replaces ExplosiveBarrel {\n\tHealth 60\n\tDeathSound \"sfx/barrelboom\"\n\tObituary \"%o learned that barrels explode\"\n\tstates{\n\tSpawn:\n\t\tBAR1 AB 6\n\t\tLoop\n\tDeath:\n\t\tBEXP B 5 bright\n\t\tBEXP C 6 bright\n\t\tTNT1 A 0 A_Scream\n\t\tTNT1 A 0 A_Explode(250, 200)\n\t\tTNT1 A 0 //A_Quake(4, 12, 0, 432, \" \")\n\t\tTNT1 A 0 A_SpawnItemEx (\"msxBarrelboomflash\", 0,0,7, 0,0,0, 0, 0)\n\t\tTNT1 A 0 A_SpawnItemEx (\"msxBarrelboom1\", 0,0,16, 0,0,0, 0, 0)\n\t\tTNT1 A 0 A_SpawnItemEx (\"msxBarrelboom3\", 0,0,19, 0,0,0, 0, 0)\n\t\tTNT1 A 0 A_SpawnItemEx (\"msxBarrelboom2\", 0,0,37, 0,0,0, 0, 0)\n\t\tTNT1 A 2\n\n\t\tTNT1 AAAAAA 0 A_SpawnItemEx (\"msxgen_smoke4\", 0,0,15, random(-3,3),/*f*/random(-3,3), /*f*/random(-3,3), random(1,360), 0)\n\t\tTNT1 AAAA 0 A_SpawnItemEx (\"msxgen_smoke4\", 0,0,40, random(-2,2),/*f*/random(-2,2), /*f*/random(-2,2), random(1,360), 0)\n\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 10, 0,0, 3.5, 0,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", -10, 0,0, -3.5, 0,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 0, 10,0, 0, 3.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 0,-10,0, 0, -3.5,0,0,32)\n\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", -10, 5,0, -3.5, 1.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", -5, 10,0, -1.5, 3.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 5, 10,0, 1.5, 3.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 10, 5,0, 3.5, 1.5,0,0,32)\n\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 10, -5,0, 3.5, -1.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", 5,-10,0, 1.5, -3.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", -5,-10,0, -1.5, -3.5,0,0,32)\n\t\tTNT1 A 0 A_SpawnItemEx(\"msxgen_smoke4\", -10, -5,0, -3.5, -1.5,0,0,32)\n\n\t\tstop\n\t}\n}\n\nactor msxBarrelboom1 {\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tscale 1.1\n\tstates{\n\t\tspawn:\n\t\t\tSX06 ABCDEFGHIJKLMNOPQRSTUWX 1 bright\n\t\t\tstop\n\t}\n}\n\nactor msxBarrelboom2{\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tscale 1.6\n\tstates{\n\t\tspawn:\n\t\t\tSX01 BCDEFGHIJKLMNOPQRSTUWX 1 bright\n\t\t\tstop\n\t}\n}\n\nactor msxBarrelboom3{\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tscale 1.1\n\tstates{\n\t\tspawn:\n\t\t\tSX07 BCDEFGHIJKLMNOP 1 bright\n\t\t\tstop\n\t}\n}\n\nactor msxBarrelboomflash{\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\trenderstyle add\n\tscale 1\n\tstates{\n\t\tspawn:\n\t\t\tBFSH A 2 bright\n\t\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actordefs/enemies/hellnobles.txt",
"contents": "/////\n\nactor msxHellKnight : HellKnight replaces HellKnight\n{\n obituary \"%o was splayed by a Hell Knight.\"\n hitobituary \"%o was gutted by a Hell Knight.\"\n health 1007//265\n scale 0.93\n speed 15\n painchance 80\n BloodColor darkgreen\n seesound \"knight/sight\"\n painsound \"knight/pain\"\n deathsound \"knight/death\"\n activesound \"knight/active\"\n MeleeThreshold 132\n //+DONTHARMCLASS\n //+DONTHARMSPECIES\n states\n {\n Spawn:\n BOS6 AB 10 A_Look\n loop\n See:\n BOS6 AABBCCDD 2 A_Chase\n loop\n Melee:\n\tBOS6 EF 3 A_FaceTarget\n\tBOS6 G 10 A_CustomMeleeAttack (50, \"enemy/meleehit\",\"enemy/meleeswing\" , \"StrongMelee\")\n\tgoto see\n Missile:\n\tTNT1 A 0 A_Jump(56,\"TripleShot\")\n\tBOS6 EE 3 A_FaceTarget\n BOS6 EF 3 A_FaceTarget\n BOS6 G 3 A_CustomMissile (\"hellKnight_Ball\", 35, 0, 0, 0, 0)\n\tBOS6 G 8\n goto See\n Tripleshot:\n\tTNT1 A 0 A_PlaySound(\"knight/sight\")\n\tBOS6 EEE 5 A_FaceTarget\n BOS6 EF 4 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"hk_TripleSFire\",10,0,35, 0,/*f*/random(-0.4,0.4),/*f*/random(-0.4,0.4))\n\n BOS6 G 1 A_CustomMissile (\"hellKnight_Ball\", 35, 0, 0.5, CMF_AIMOFFSET | CMF_OFFSETPITCH, 0.5)\n\tBOS6 G 1 A_CustomMissile (\"hellKnight_Ball\", 35, 0, 0, CMF_AIMOFFSET | CMF_OFFSETPITCH, -0.5)\n\tBOS6 G 1 A_CustomMissile (\"hellKnight_Ball\", 35, 0,-0.5, CMF_AIMOFFSET | CMF_OFFSETPITCH, 0.5)\n\n\tBOS6 G 12\n goto See\n\n Pain:\n BOS6 H 2\n BOS6 H 2 A_Pain\n goto See\n Death:\n BOS6 I 8\n BOS6 J 8 A_Scream\n BOS6 K 8\n BOS6 L 8 A_NoBlocking\n BOS6 MN 8\n BOS6 O -1\n stop\n Raise:\n BOSX ONMLKJI 8\n goto See\n }\n}\n\nactor hellKnight_Ball {\n\tradius 3\n\theight 3\n\tspeed 21\n\trenderstyle add\n\tscale 0.9\n\tdamage (random(30,36) * 2)\n\tPROJECTILE\n\tSeeSound \"fireball/fire\"\n\tDeathSound \"fireball/explode\"\n\tstates{\n\t\tspawn:\n\t\t\t//NULL A 0 A_PlaySound(\"fireball/loop\",5,1,0,ATTN_NORM)\n\t\t\tHHFX ABC 1 bright A_SpawnItemEx(\"hK_BallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"hk_BoomFire\",0,0,0, 0,/*f*/random(-1.2,1.2),/*f*/random(-1.2,1.2))\n\t\t\tHHFX DEFGH 2 bright\n\t\t\tstop\n\t}\n}\n\nactor hK_BallTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"hk_BallFlare\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"hK_BallTrail\",-7,0,0, 0,/*f*/random(-0.6,0.6),/*f*/random(-0.6,0.6))\n\t\t\tstop\n\t}\n}\n\nactor hk_BallFlare {\n\tscale 0.25\n\talpha 0.6\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tLEYS A 1 bright\n\t\t\tstop\n\t}\n}\n\nactor hK_BallTrail {\n\tscale 0.2\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFYE ABCDEFGHIJKL 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor hk_BoomFire {\n\tscale 0.6\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\",\"sp3\")\n\t\tsp1:\n\t\t\tPFYE A 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp2:\n\t\t\tPFYE B 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp3:\n\t\t\tPFYE C 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t}\n}\n\nactor hk_TripleSFire : hk_BoomFire {\n\talpha 1.0\n\tscale 0.8\n}\n\n//////////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////\n\nactor msxBaronOfHell : BaronOfHell replaces BaronOfHell\n{\n obituary \"%o was gutted by a Baron Of Hell\"\n hitobituary \"%o was gutted by a Baron Of Hell\"\n health 1976//520\n speed 11\n painchance 50\n BloodColor darkgreen\n seesound \"baron/sight\"\n painsound \"baron/pain\"\n deathsound \"baron/death\"\n activesound \"baron/active\"\n MeleeThreshold 132\n //+DONTHARMCLASS\n //+DONTHARMSPECIES\n states\n {\n Spawn:\n BOSX AB 10 A_Look\n loop\n See:\n BOSX AABBCCDD 2 A_Chase\n loop\n Melee:\n\tBOSX EF 4 A_FaceTarget\n\tBOSX G 14 A_CustomMeleeAttack (70, \"enemy/meleehit\",\"enemy/meleeswing\" , \"StrongMelee\")\n\tgoto see\n Missile:\n\t//TNT1 A 0 A_Jump(64, \"FastBallSpecial\")\n\tTNT1 A 0 A_Jump(128,2)\n\tTNT1 A 0 A_JumpIfCloser(600, \"CloseAttack\")\n\tTNT1 A 0 A_Jump(48,\"LongAttack\")\n\tBOSX EE 3 A_FaceTarget\n\tBOSX EF 3 A_FaceTarget\n BOSX G 6 A_CustomMissile (\"baronNormalBall\", 36, 0, 0, 0, 0)\n\tBOSX G 8\n\tgoto see\n CloseAttack:\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\tBOSX G 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",12,0,35, 0,/*f*/random(-1.2,1.2),/*f*/random(2.2,3.2))\n\n\tTNT1 A 0 A_CustomMissile (\"baronWeakBall\", 36, 0, 9, CMF_AIMOFFSET | CMF_OFFSETPITCH, 3)\n\tTNT1 A 0 A_CustomMissile (\"baronWeakBall\", 36, 0, 3, CMF_AIMOFFSET | CMF_OFFSETPITCH, 2)\n\tTNT1 A 0 A_CustomMissile (\"baronWeakBall\", 36, 0, -3, CMF_AIMOFFSET | CMF_OFFSETPITCH, 2)\n\tTNT1 A 0 A_CustomMissile (\"baronWeakBall\", 36, 0, -9, CMF_AIMOFFSET | CMF_OFFSETPITCH, 3)\n\tBOSX F 5 A_FaceTarget\n\tBOSX E 8\n\tgoto see\n\n LongAttack:\n\tTNT1 A 0 A_PlaySound(\"baron/sight\")\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\tBOSX E 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_AtckChrgTrail\",18,20,65, 0,/*f*/random(-3.4,3.4),/*f*/random(-3.4,3.4))\n\n BOSX EF 2 A_FaceTarget\n\tTNT1 A 0 A_SpawnItemEx(\"baron_StrongFireShot\",10,0,35, 0,/*f*/random(-0.4,0.4),/*f*/random(-0.4,0.4))\n BOSX G 2 A_CustomMissile (\"baronStrongBall\", 36, 0, 0, 0, 0)\n\tBOSX G 10\n goto See\n\n Pain:\n BOSX H 2\n BOSX H 2 A_Pain\n goto See\n Death:\n BOSX I 8\n BOSX J 8 A_Scream\n BOSX K 8\n BOSX L 8 A_NoBlocking\n BOSX MN 8\n BOSX O -1 A_BossDeath\n stop\n Raise:\n BOSX ONMLKJI 8\n goto See\n }\n}\n\nactor baronNormalBall {\n\tradius 3\n\theight 3\n\tspeed 21\n\trenderstyle add\n\tscale 1.75\n\tdamage (random(38,44) * 2)\n\tPROJECTILE\n\tSeeSound \"fireball/fire\"\n\tDeathSound \"fireball/explode\"\n\t+FORCEXYBILLBOARD\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\t//NULL A 0 A_PlaySound(\"fireball/loop\",5,1,0,ATTN_NORM)\n\t\t\tFVN1 ABCD 1 bright A_SpawnItemEx(\"baron_NormBallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"baron_BoomFire\",0,0,0, 0,/*f*/random(-1.2,1.2),/*f*/random(-1.2,1.2))\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx (\"baron_BoomFireSpark\", 0, 0, 0, /*f*/random(0.7,1.3), random(3,5) , random(0,4) , random(180,360))\n\t\t\tFVN1 EFGHIJ 2 bright\n\t\t\tstop\n\t}\n}\n\nactor baronWeakBall : baronNormalBall {\n\tgravity 0.1\n\tscale 1.4\n\tspeed 24\n\t-NOGRAVITY\n\tdamage (random(28,34) * 2)\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\t//NULL A 0 A_PlaySound(\"fireball/loop\",5,1,0,ATTN_NORM)\n\t\t\tFVN1 ABCD 1 bright A_SpawnItemEx(\"baron_WeakBallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"baron_BoomFire\",0,0,0, 0,/*f*/random(-1.1,1.1),/*f*/random(-1.1,1.1))\n\t\t\tFVN1 EFGHIJ 2 bright\n\t\t\tstop\n\t}\n}\n\nactor baronStrongBall : baronNormalBall {\n\tspeed 28\n\trenderstyle translucent\n\tscale 0.7\n\talpha 1.0\n\tdamage (random(48,62) * 2)\n\tPROJECTILE\n\tSeeSound \"fireball/fire\"\n\tDeathSound \"weapons/firex3\"\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tARCB ABC 1 bright A_SpawnItemEx(\"baron_StrongBallTrailSpawner\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"baron_StrongBoom\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAAAAA 0 A_SpawnItemEx(\"baron_BoomFire\",0,0,0, 0,/*f*/random(-2.6,2.6),/*f*/random(-2.6,2.6))\n\t\t\tTNT1 AAAAAA 0 A_SpawnItemEx (\"baron_BoomFireSpark\", 0, 0, 0, /*f*/random(1.6,2.2), random(4,6) , random(0,5) , random(180,360))\n\t\t\tTNT1 A 1 A_Explode(30,90,0)\n\t\t\tstop\n\t}\n}\n\n//\nactor baron_NormBallTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_NormBallFlare\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"baron_NormBallTrail\",-7,0,0, 0,/*f*/random(-1.2,1.2),/*f*/random(-1.2,1.2))\n\t\t\tstop\n\t}\n}\n\nactor baron_WeakBallTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_WeakBallFlare\",0,0,0, 0,0,0)\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"baron_WeakBallTrail\",-7,0,0, 0,/*f*/random(-1.2,1.2),/*f*/random(-1.2,1.2))\n\t\t\tstop\n\t}\n}\n\nactor baron_StrongBallTrailSpawner {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_StrongBallFlare\",-1,0,0, 0,0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_StrongBallTrail2\",-2,0,0, 0,/*f*/random(-1.2,1.2),/*f*/random(-1.2,1.2))\n\t\t\tTNT1 AAA 0 A_SpawnItemEx(\"baron_StrongBallTrail\",-7,0,0, 0,/*f*/random(-1.8,1.8),/*f*/random(-1.8,1.8))\n\t\t\tstop\n\t}\n}\n\n//\nactor baron_NormBallFlare {\n\talpha 0.7\n\tscale 0.3\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tLEYS G 1 bright\n\t\t\tstop\n\t}\n}\n\nactor baron_WeakBallFlare : baron_NormBallFlare {\n\talpha 0.5\n\tscale 0.2\n}\n\nactor baron_StrongBallFlare : baron_NormBallFlare {\n\talpha 0.5\n\tscale 0.4\n}\n\nactor baron_NormBallTrail {\n\tscale 0.26\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFGR ABCDEFGHIJKL 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor baron_WeakBallTrail : baron_NormBallTrail {\n\tscale 0.16\n}\n\nactor baron_AtckChrgTrail : baron_NormBallTrail {\n\tscale 0.5\n}\n\nactor baron_StrongBallTrail : baron_NormBallTrail {\n\tscale 0.32\n}\n\nactor baron_StrongBallTrail2 {\n\tscale 0.5\n\talpha 0.8\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tARBE ABCDEF 2 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor baron_BoomFire {\n\tscale 0.95\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\",\"sp3\")\n\t\tsp1:\n\t\t\tPFGR A 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp2:\n\t\t\tPFGR B 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp3:\n\t\t\tPFGR C 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t}\n}\n\nactor baron_StrongFireShot : baron_BoomFire {\n\tscale 0.8\n}\n\nactor baron_BoomFireSpark {\n\tradius 2\n\theight 2\n\tscale 0.35\n\talpha 1.0\n\tgravity 0.3\n\trenderstyle add\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+FLOORCLIP\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\",\"sp3\")\n\t\tsp1:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_BoomFireSparkTrail\",0,0,0, 0,0,0)\n\t\t\tPFGR A 1 bright A_FadeOut(0.08)\n\t\t\tloop\n\t\tsp2:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_BoomFireSparkTrail\",0,0,0, 0,0,0)\n\t\t\tPFGR B 1 bright A_FadeOut(0.08)\n\t\t\tloop\n\t\tsp3:\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"baron_BoomFireSparkTrail\",0,0,0, 0,0,0)\n\t\t\tPFGR C 1 bright A_FadeOut(0.08)\n\t\t\tloop\n\t}\n}\n\nactor baron_BoomFireSparkTrail : baron_NormBallTrail {\n\tscale 0.25\n\talpha 1.0\n}\n\nactor baron_StrongBoom {\n\tscale 0.9\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tARBX ABCDE 2 bright\n\t\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actordefs/enemies/caco.txt",
"contents": "///////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////\n\nactor msxCacodemon : Cacodemon replaces Cacodemon {\n health 1000//200\n speed 15\n painchance 100\n bloodcolor darkblue\n MeleeThreshold 78\n //+DONTHARMCLASS\n //+DONTHARMSPECIES\n speed 12\n\t states{\n\t See:\n\t\tHEAD A 3 A_Chase\n\t\tloop\n\t Melee:\n\t\tHEAD DC 3 A_FaceTarget\n\t\tHEAD A 8 A_CustomMeleeAttack (90, \"enemy/cacobit\",\"enemy/cacobit\" , \"StrongMelee\")\n\t\tgoto see\n\t Missile:\n\t\tTNT1 A 0 A_JumpIfCloser(236, \"SonicWail\")\n\t\tHEAD BC 4 A_FaceTarget\n\t\tHEAD D 6 bright A_CustomMissile (\"CacoBall\", 20, 0, 0, 0, 0)\n\t\tgoto see\n\t SonicWail:\n\t\tHEAD B 8 A_FaceTarget\n\t\tHEAD C 2 A_FaceTarget\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 //A_Quake (2, 36, 0, 400)\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tHEAD D 2 A_FaceTarget\n\t\tTNT1 A 0 bright A_CustomMissile (\"CacoSonicWail\", 24, 0, 0, 0, 0)\n\t\tgoto See\n\t }\n}\n\nactor CacoBall : CacodemonBall replaces CacodemonBall {\n\tspeed 23\n\talpha 1.0\n\trenderstyle add\n\tscale 1.75\n\tdamage (random(26,30) * 3)\n\tPROJECTILE\n\t//+DONTHARMCLASS\n\t//+DONTHARMSPECIES\n\tSeeSound \"fireball/fire\"\n\tDeathSound \"fireball/explode\"\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tHEFX A 1 bright A_SpawnItemEx(\"caco_BallTrailSpawner1\",0,0,0, 0,0,0)\n\t\t\tHEFX D 1 bright A_SpawnItemEx(\"caco_BallTrailSpawner2\",0,0,0, 0,0,0)\n\t\t\tHEFX B 1 bright A_SpawnItemEx(\"caco_BallTrailSpawner1\",0,0,0, 0,0,0)\n\t\t\tHEFX C 1 bright A_SpawnItemEx(\"caco_BallTrailSpawner2\",0,0,0, 0,0,0)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 AAAA 0 A_SpawnItemEx(\"caco_BoomFire\",0,0,0, 0,/*f*/random(-2.2,2.2),/*f*/random(-2.2,2.2))\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"caco_BoomBluParticle\",0, 0, 0, random(2,3), random(2,3) , random(-3,3) , random(180,360))\n\t\t\tTNT1 AAAAA 0 A_SpawnItemEx(\"caco_BoomRedParticle\",0, 0, 0, random(2,3), random(2,3) , random(-3,3) , random(180,360))\n\t\t\tBAL2 CCDDEE 2 bright A_Explode(3, 36, 0)\n\t\t\tstop\n\t}\n}\n\nactor caco_BallTrailSpawner1 {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"caco_BallRedFlare\",0,0,0, 0,0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"caco_BallTrail\",-5,0,0, 0,/*f*/random(-0.7,0.7),/*f*/random(-0.7,0.7))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"caco_BallTrail\",-9,0,0, 0,/*f*/random(-2.7,2.7),/*f*/random(-2.7,2.7))\n\t\t\tstop\n\t}\n}\n\nactor caco_BallRedFlare {\n\tscale 0.35\n\talpha 0.8\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tL2NR B 1 bright\n\t\t\tstop\n\t}\n}\n\nactor caco_BallTrailSpawner2 {\n\t+NOINTERACTION\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"caco_BallBlueFlare\",0,0,0, 0,0,0)\n\t\t\tTNT1 A 0 A_SpawnItemEx(\"caco_BallTrail\",-5,0,0, 0,/*f*/random(-0.7,0.7),/*f*/random(-0.7,0.7))\n\t\t\tTNT1 AA 0 A_SpawnItemEx(\"caco_BallTrail\",-9,0,0, 0,/*f*/random(-2.7,2.7),/*f*/random(-2.7,2.7))\n\t\t\tstop\n\t}\n}\n\nactor caco_BallBlueFlare {\n\tscale 0.35\n\talpha 0.8\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tL2NB B 1 bright\n\t\t\tstop\n\t}\n}\n\nactor caco_BallTrail {\n\tscale 0.3\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tPFPP ABCDEFGHIJKL 1 bright A_FadeOut(0.08)\n\t\t\tstop\n\t}\n}\n\nactor caco_BoomFire {\n\tscale 0.85\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(255,\"sp1\",\"sp2\",\"sp3\")\n\t\tsp1:\n\t\t\tPFPP A 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp2:\n\t\t\tPFPP B 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t\tsp3:\n\t\t\tPFPP C 1 bright A_FadeOut(0.06)\n\t\t\tloop\n\t}\n}\n\nactor caco_BoomBluParticle {\n\tscale 0.2\n\talpha 1.0\n\trenderstyle add\n\t+NOINTERACTION\n\t+FORCEXYBILLBOARD\n\t+NOTELEPORT\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tHEFX E 6\n\t\tsploop:\n\t\t\tHEFX E 1 A_FadeOut(0.1)\n\t\t\tTNT1 A 0 A_ScaleVelocity(0.8)\n\t\t\tTNT1 A 0 //A_SetScale(ScaleX * 1.06, ScaleY * 1.06)\n\t\t\tloop\n\t}\n}\n\nactor caco_BoomRedParticle : caco_BoomBluParticle{\n\tstates{\n\t\tspawn:\n\t\t\tHEFX F 6\n\t\tsploop:\n\t\t\tHEFX F 1 A_FadeOut(0.1)\n\t\t\tTNT1 A 0 A_ScaleVelocity(0.8)\n\t\t\tTNT1 A 0 //A_SetScale(ScaleX * 1.06, ScaleY * 1.06)\n\t\t\tloop\n\t}\n}\n\nactor CacoSonicWail {\n\tradius 2\n\theight 2\n\tspeed 28\n\talpha 1.0\n\trenderstyle add\n\tscale 0.05\n\tdamage 0\n\tPROJECTILE\n\t+RIPPER\n\t+BLOODLESSIMPACT\n\t//+DONTHARMCLASS\n\t//+DONTHARMSPECIES\n\t+THRUACTORS\n\tSeeSound \"enemy/cacosonicwail\"\n\t//var int user_rad;\n\t//var int user_i;\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 //A_SetUserVar(\"user_rad\", 20)\n\t\t\tTNT1 A 0 //A_SetUserVar(\"user_i\", 0)\n\t\tsloop:\n\t\t\tTNT1 A 0 //A_JumpIf(user_i>=12, \"death\")\n\t\t\tTNT1 A 0 A_Explode(8, /*user_rad*/ 20 , 0, 0/*, user_rad*/)\n\t\t\tTNT1 A 0 //A_SetScale(ScaleX * 1.25, ScaleY * 1.25)\n\t\t\tTNT1 A 0 //A_SetUserVar(\"user_rad\",user_rad*1.2)\n\t\t\tBSW2 B 1 bright A_FadeOut (0.06)\n\t\t\tTNT1 A 0 //A_SetUserVar(\"user_i\",user_i+1)\n\t\t\tloop\n\t\tdeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actordefs/enemies/grunts.txt",
"contents": "//GRUNTS or human enemies\n///////////////////////////////////////////////////////\n\nactor BasicGrunt{\n\n\t obituary \"%o got killed by a Grunt\"\n\t health 90//12\n\t radius 20\n\t height 56\n\t mass 100\n\t speed 14\n\t painchance 180\n\t translation 0\n\t DropItem \"barracudarifle\" 180\n\t dropitem \"grenades\" 30\n\n\t SeeSound \"bgrunt/see\"\n\t ActiveSound \"bgrunt/active\"\n\t PainSound \"bgrunt/pain\"\n\t DeathSound \"bgrunt/death\"\n\n\t AttackSound \" \"\n\n\t //DamageFactor \"frag_boom\", 1.5\n\t MONSTER\n\t +FLOORCLIP\n\t +DONTHURTSPECIES\n\t +NODROPOFF\n\t +NOINFIGHTING\n\t //+AVOIDMELEE\n\n\t GibHealth 40\n\n\t states{\n\t\tspawn:\n\t\t\tSOLN A 2 A_Look\n\t\t\tloop\n\n\t\t//\n\t\tsee:\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"closechase\")\n\t\tfarchase:\n\t\t\tSOLN ABCD 3 A_Chase//A_Chase(0, \"missile\", CHF_DONTMOVE)\n\t\t\tgoto see\n\t\tclosechase:\n\t\t\tSOLN ABCD 3 A_Chase//A_Chase(0, \"missile\", CHF_DONTMOVE)\n\t\t\tgoto see\n\n\t\tmissile:\n\t\t\tTNT1 A 0 A_JumpIfCloser(4000, \"GruntAttack\")\n\t\t\tgoto see\n\t\tGruntAttack:\n\t\t\tTNT1 A 0 A_Jump(10, \"GrenadeCheck\")\n\t\tFireWeapon:\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"fullfire\")\n\t\tlongshot:\n\t\t\tSOLF AA 5 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_ArAmmo\", 36, \"ls_NoAmmo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/ar_fire\")\n\t\t\t//SOLF B 2 bright A_CustomBulletAttack (2, 1, 1, 5, \"arifle_impact\",0,CBAF_NORANDOM)\n\t\t\tSOLF B 2 bright A_CustomMissile (\"arifle_tracer\", 43, 5, /*f*/random(-0.2,0.2), CMF_OFFSETPITCH , /*f*/random(-0.5,0.5))\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_ArAmmo\", 1)\n\t\t\tSOLF A 7\n\t\t\tSOLF A 1 A_MonsterRefire(100, \"see\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"fullfire\")\n\t\t\tgoto longshot+2\n\t\tls_NoAmmo:\n\t\t\tSOLF A 1 A_FaceTarget\n\t\t\tSOLF A 8 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"bgrunt/noammo\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\tfullfire:\n\t\t\tSOF2 AA 5 A_FaceTarget\n\t\tff_refire:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_ArAmmo\", 36, \"ff_NoAmmo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/ar_fire\")\n\t\t\t//SOF2 B 2 bright A_CustomBulletAttack (7, 6, 1, 5, \"arifle_impact\",0,CBAF_NORANDOM)\n\t\t\tSOF2 B 2 bright A_CustomMissile (\"arifle_tracer\", 34, 9, /*f*/random(-3.0,3.0),CMF_OFFSETPITCH , /*f*/random(-2.0,2.0))\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_ArAmmo\", 1)\n\t\t\tSOF2 A 1\n\t\t\tSOF2 A 1 A_MonsterRefire(100, \"see\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"ff_refire\")\n\t\t\tgoto missile\n\t\tff_NoAmmo:\n\t\t\tSOF2 A 1 A_FaceTarget\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"bgrunt/noammo\", CHAN_VOICE)\n\t\t\tSOF2 A 9\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\t//\n\t\treload_check:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"retreat\")\n\t\treload:\n\t\t\tSOLN A 20 A_PlaySound(\"weapons/reload\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_ArAmmo\", 36)\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_RetreatTimer\", 6)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 0)\n\t\t\tgoto see\n\t\tretreat:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_RetreatTimer\", 8, \"Reload\")\n\t\t\tSOLN ABCD 3 A_Wander\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_RetreatTimer\", 1)\n\t\t\tloop\n\n\t\t////\n\t\tGrenadeCheck:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"GrenadeToss\")\n\t\t\tgoto see\n\n\t\tGrenadeToss:\n\t\t\t//TNT1 A 0 A_CustomMissile (\"checker\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"checker\", 45, 0, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"top_checker\", 45, 0, 0, CMF_AIMDIRECTION, 35)\n\t\t\tSOLN A 7 A_FaceTarget\n\t\t\t//SOLG A 26 A_FaceTarget\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PathClear\", 1, \"fireweapon\")\n\n\t\t\tTNT1 A 0 A_PlaySound(\"bgrunt/grenadetoss\", CHAN_VOICE)\n\t\t\tSOLG A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"grenade/pin\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tSOLG BC 2 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"CeilingClear\", 1, \"GrToss_Part\")\n\t\tGrToss_Full:\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(544, \"grtoss4\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"grtoss5\")\n\t\t\tgoto grtoss2\n\n\t\tGrToss_Part:\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\n\t\tgrtoss1:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, -10)\n\t\t\tgoto grenfinish\n\t\tgrtoss2:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tgoto grenfinish\n\t\tgrtoss3:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 15)\n\t\t\tgoto grenfinish\n\t\tgrtoss4:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 30)\n\t\t\tgoto grenfinish\n\t\tgrtoss5:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 35)\n\t\t\tgoto grenfinish\n\n\t\tgrenfinish:\n\t\t\tSOLG EF 2\n\t\t\tSOLG G 30\n\t\t\tgoto see\n\n\t\t//\n\t\tpain:\n\t\t\tSOLH A 2\n\t\t\tSOLH A 4 A_Pain\n\t\t\tgoto see\n\n\t\t////\n\t\tdeath:\n\t\t\tTNT1 A 0 A_Jump(255, \"dth1\", \"dth2\", \"dth3\", \"dth4\")\n\t\tdth1:\n\t\t\tSOD1 A 4 A_Scream\n\t\t\tSOD1 B 4 A_NoBlocking\n\t\t\tSOD1 CDEFGH 4\n\t\t\tSOD1 I -1\n\t\t\tstop\n\t\tdth2:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDEF 4\n\t\t\tSOD2 G -1\n\t\t\tstop\n\t\tdth3:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDHI 4\n\t\t\tSOD2 J -1\n\t\t\tstop\n\t\tdth4:\n\t\t\tSOD3 A 4 A_Scream\n\t\t\tSOD3 B 4 A_NoBlocking\n\t\t\tSOD3 CD 4\n\t\t\tSOD3 E -1\n\t\t\tstop\n\n\t\tXDeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItemEx (\"SoldierXDeath\", 0, 0, 0, 0 ,0 ,0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tstop\n\t\tRaise:\n\t\t\tSOD1 EDCBA 5\n\t\t\tgoto See\n\n\t }\n}\n\n//\nactor CloseBasicGrunt{\n Obituary \"%o got killed by a CQB Grunt\"\n Health 136//18\n Radius 20\n Height 56\n Speed 17\n PainChance 180\n translation \"112:127=152:159\"\n DropItem \"hydrashotgun\" 180\n //dropitem \"autoshot_ammo\" 30\n dropitem \"grenades\" 30\n\n SeeSound \"bgrunt/see\"\n ActiveSound \"bgrunt/active\"\n PainSound \"bgrunt/pain\"\n DeathSound \"bgrunt/death\"\n\n AttackSound \" \"\n //DamageFactor \"frag_boom\", 1.5\n MONSTER\n +FLOORCLIP\n +DONTHURTSPECIES\n +NODROPOFF\n +NOINFIGHTING\n //+AVOIDMELEE\n\n GibHealth 50\n\n States {\n\t\tspawn:\n\t\t\tSOLN A 2 A_Look\n\t\t\tloop\n\n\t\t//\n\t\tsee:\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"closechase\")\n\t\tfarchase:\n\t\t\tSOLN ABCD 3 A_Chase\n\t\t\tgoto see\n\t\tclosechase:\n\t\t\tSOLN ABCD 3 A_Chase\n\t\t\tgoto see\n\n\t\tmissile:\n\t\t\tTNT1 A 0 A_Jump(10, \"GrenadeCheck\")\n\n\t\tFireWeapon:\n\t\t\tTNT1 A 0 A_JumpIfCloser(864, \"sfire\")\n\t\t\tgoto see\n\t\tsfire:\n\t\t\tSOF2 AA 6 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"CAGrunt_AutoAmmo\", 16, \"NoAmmo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/hs_fire\")\n\t\t\t//SOF2 B 2 bright A_CustomBulletAttack (8, 7, 9, 2, \"buckshot_impact\",0,CBAF_NORANDOM)\n\t\t\tTNT1 AAAAAAAAA 0 A_CustomMissile (\"pellet_tracer\", 34, 9, /*f*/random(-4.0,4.0),CMF_OFFSETPITCH , /*f*/random(-3.0,3.0))\n\t\t\tSOF2 B 2 bright\n\t\t\tTNT1 A 0 A_GiveInventory(\"CAGrunt_AutoAmmo\", 1)\n\t\t\tSOF2 A 6\n\t\t\tSOF2 A 1 A_MonsterRefire(100, \"see\")\n\t\t\tTNT1 A 0 A_Jump(10, \"GrenadeCheck\")\n\t\t\tgoto sfire+2\n\t\tNoAmmo:\n\t\t\tSOF2 A 1 A_FaceTarget\n\t\t\tSOF2 A 8 A_PlaySound(\"weapons/noammo\")\n\t\t\tSOF2 A 8 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"bgrunt/noammo\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\t//\n\t\treload_check:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"retreat\")\n\t\treload:\n\t\t\tSOLN A 25 A_PlaySound(\"weapons/reload\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"CAGrunt_AutoAmmo\", 16)\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_RetreatTimer\", 6)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 0)\n\t\t\tgoto see\n\t\tretreat:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_RetreatTimer\", 8, \"Reload\")\n\t\t\tSOLN ABCD 3 A_Wander\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_RetreatTimer\", 1)\n\t\t\tloop\n\n\t\t////\n\t\tGrenadeCheck:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"GrenadeToss\")\n\t\t\tgoto see\n\n\t\tGrenadeToss:\n\t\t\t//TNT1 A 0 A_CustomMissile (\"checker\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"checker\", 45, 0, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"top_checker\", 45, 0, 0, CMF_AIMDIRECTION, 35)\n\t\t\tSOLN A 7 A_FaceTarget\n\t\t\t//SOLG A 26 A_FaceTarget\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PathClear\", 1, \"fireweapon\")\n\n\t\t\tTNT1 A 0 A_PlaySound(\"bgrunt/grenadetoss\", CHAN_VOICE)\n\t\t\tSOLG A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"grenade/pin\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tSOLG BC 2 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"CeilingClear\", 1, \"GrToss_Part\")\n\t\tGrToss_Full:\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(544, \"grtoss4\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"grtoss5\")\n\t\t\tgoto grtoss2\n\n\t\tGrToss_Part:\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\n\t\tgrtoss1:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, -10)\n\t\t\tgoto grenfinish\n\t\tgrtoss2:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tgoto grenfinish\n\t\tgrtoss3:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 15)\n\t\t\tgoto grenfinish\n\t\tgrtoss4:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 30)\n\t\t\tgoto grenfinish\n\t\tgrtoss5:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 35)\n\t\t\tgoto grenfinish\n\n\t\tgrenfinish:\n\t\t\tSOLG EF 2\n\t\t\tSOLG G 30\n\t\t\tgoto see\n\n\t\t//\n\t\tpain:\n\t\t\tSOLH A 2\n\t\t\tSOLH A 4 A_Pain\n\t\t\tgoto see\n\n\t\t////\n\t\tdeath:\n\t\t\tTNT1 A 0 A_Jump(255, \"dth1\", \"dth2\", \"dth3\", \"dth4\")\n\t\tdth1:\n\t\t\tSOD1 A 4 A_Scream\n\t\t\tSOD1 B 4 A_NoBlocking\n\t\t\tSOD1 CDEFGH 4\n\t\t\tSOD1 I -1\n\t\t\tstop\n\t\tdth2:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDEF 4\n\t\t\tSOD2 G -1\n\t\t\tstop\n\t\tdth3:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDHI 4\n\t\t\tSOD2 J -1\n\t\t\tstop\n\t\tdth4:\n\t\t\tSOD3 A 4 A_Scream\n\t\t\tSOD3 B 4 A_NoBlocking\n\t\t\tSOD3 CD 4\n\t\t\tSOD3 E -1\n\t\t\tstop\n\n\t\tXDeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItemEx (\"SoldierXDeath\", 0, 0, 0, 0 ,0 ,0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tstop\n\t\tRaise:\n\t\t\tSOD1 EDCBA 5\n\t\t\tgoto See\n\t }\n}\n\n//\nactor HeavyGrunt : BasicGrunt replaces chaingunguy{\n\tobituary \"%o was anihilated by a Heavy Grunt\"\n\thealth 304//40\n\tSpeed 20\n\n\ttranslation \"112:127=[180,80,0]:[40,18,0]\"\n\n\tdropitem \"barracudarifle\" 224\n\tdropitem \"arifle_ammo\" 86\n\tdropitem \"grenades\" 60\n\tPainChance 70\n\t//DamageFactor \"frag_boom\", 1.5\n\n\tSeeSound \"hgrunt/see\"\n\tActiveSound \"hgrunt/active\"\n\tPainSound \"hgrunt/pain\"\n\tDeathSound \"hgrunt/death\"\n\n\tGibHealth 50\n\n\tstates{\n\t\tspawn:\n\t\t\tSOLN A 2 A_Look\n\t\t\tloop\n\n\t\t//\n\t\tsee:\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"closechase\")\n\t\tfarchase:\n\t\t\tSOLN ABCD 3 A_Chase//A_Chase(0, \"missile\", CHF_DONTMOVE)\n\t\t\tgoto see\n\t\tclosechase:\n\t\t\tSOLN ABCD 3 A_FastChase//A_Chase(0, \"missile\", CHF_DONTMOVE)\n\t\t\tgoto see\n\n\t\tmissile:\n\t\t\tTNT1 A 0 A_JumpIfCloser(5000, \"GruntAttack\")\n\t\t\tgoto see\n\n\t\tGruntAttack:\n\t\t\tTNT1 A 0 A_Jump(10, \"GrenadeCheck\")\n\n\t\tFireWeapon:\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"fullfire\")\n\t\tlongshot:\n\t\t\tSOLF AA 4 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_ArAmmo\", 36, \"ls_NoAmmo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/ar_fire\")\n\t\t\t//SOLF B 2 bright A_CustomBulletAttack (2, 1, 1, 5, \"arifle_impact\",0,CBAF_NORANDOM)\n\t\t\tSOLF B 2 bright A_CustomMissile (\"arifle_tracer\", 43, 5, 0, CMF_OFFSETPITCH , /*f*/random(-0.2,0.2))\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_ArAmmo\", 1)\n\t\t\tSOLF A 7\n\t\t\tSOLF A 1 A_MonsterRefire(100, \"see\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"fullfire\")\n\t\t\tgoto longshot+2\n\t\tls_NoAmmo:\n\t\t\tSOLF A 1 A_FaceTarget\n\t\t\tSOLF A 8 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"hgrunt/noammo\", CHAN_VOICE)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\tfullfire:\n\t\t\tSOF2 AA 4 A_FaceTarget\n\t\tff_refire:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_ArAmmo\", 36, \"ff_NoAmmo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"weapons/ar_fire\")\n\t\t\t//SOF2 B 2 bright A_CustomBulletAttack (7, 6, 1, 5, \"arifle_impact\",0,CBAF_NORANDOM)\n\t\t\tSOF2 B 2 bright A_CustomMissile (\"arifle_tracer\", 34, 9, /*f*/random(-2.4,2.4),CMF_OFFSETPITCH , /*f*/random(-1.4,1.4))\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_ArAmmo\", 1)\n\t\t\tSOF2 A 1\n\t\t\tSOF2 A 1 A_MonsterRefire(100, \"see\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(800, \"ff_refire\")\n\t\t\tgoto missile\n\t\tff_NoAmmo:\n\t\t\tSOF2 A 1 A_FaceTarget\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tSOF2 A 4 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"hgrunt/noammo\", CHAN_VOICE)\n\t\t\tSOF2 A 9\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\t//\n\t\treload_check:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"retreat\")\n\t\treload:\n\t\t\tSOLN A 20 A_PlaySound(\"weapons/reload\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_ArAmmo\", 36)\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_RetreatTimer\", 6)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 0)\n\t\t\tgoto see\n\t\tretreat:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_RetreatTimer\", 8, \"Reload\")\n\t\t\tSOLN ABCD 3 A_Wander\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_RetreatTimer\", 1)\n\t\t\tloop\n\n\t\t////\n\t\tGrenadeCheck:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"GrenadeToss\")\n\t\t\tgoto see\n\n\t\tGrenadeToss:\n\t\t\t//TNT1 A 0 A_CustomMissile (\"checker\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"checker\", 45, 0, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"top_checker\", 45, 0, 0, CMF_AIMDIRECTION, 35)\n\t\t\tSOLN A 7 A_FaceTarget\n\t\t\t//SOLG A 26 A_FaceTarget\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PathClear\", 1, \"fireweapon\")\n\n\t\t\tTNT1 A 0 A_PlaySound(\"hgrunt/grenadetoss\", CHAN_VOICE)\n\t\t\tSOLG A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"grenade/pin\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tSOLG BC 2 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"CeilingClear\", 1, \"GrToss_Part\")\n\t\tGrToss_Full:\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(544, \"grtoss4\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"grtoss5\")\n\t\t\tgoto grtoss2\n\n\t\tGrToss_Part:\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\n\t\tgrtoss1:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, -10)\n\t\t\tgoto grenfinish\n\t\tgrtoss2:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tgoto grenfinish\n\t\tgrtoss3:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 15)\n\t\t\tgoto grenfinish\n\t\tgrtoss4:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 30)\n\t\t\tgoto grenfinish\n\t\tgrtoss5:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 35)\n\t\t\tgoto grenfinish\n\n\t\tgrenfinish:\n\t\t\tSOLG EF 2\n\t\t\tSOLG G 30\n\t\t\tgoto see\n\n\t\t//\n\t\tpain:\n\t\t\tSOLH A 2\n\t\t\tSOLH A 4 A_Pain\n\t\t\tgoto see\n\n\t\t////\n\t\tdeath:\n\t\t\tTNT1 A 0 A_Jump(255, \"dth1\", \"dth2\", \"dth3\", \"dth4\")\n\t\tdth1:\n\t\t\tSOD1 A 4 A_Scream\n\t\t\tSOD1 B 4 A_NoBlocking\n\t\t\tSOD1 CDEFGH 4\n\t\t\tSOD1 I -1\n\t\t\tstop\n\t\tdth2:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDEF 4\n\t\t\tSOD2 G -1\n\t\t\tstop\n\t\tdth3:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDHI 4\n\t\t\tSOD2 J -1\n\t\t\tstop\n\t\tdth4:\n\t\t\tSOD3 A 4 A_Scream\n\t\t\tSOD3 B 4 A_NoBlocking\n\t\t\tSOD3 CD 4\n\t\t\tSOD3 E -1\n\t\t\tstop\n\n\t\tXDeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItemEx (\"SoldierXDeath\", 0, 0, 0, 0 ,0 ,0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tstop\n\t\tRaise:\n\t\t\tSOD1 EDCBA 5\n\t\t\tgoto See\n\n\t }\n\n}\n\n//\n////////////////////////////////////////////////////////////////////////////////////////////////\nactor HeavyCloseGrunt{\n Obituary \"%o was nailed by a Heavy CQB Grunt\"\n Health 418//55\n Radius 20\n Height 56\n Speed 23\n PainChance 100\n\n translation \"112:127=[0,133,66]:[0,26,13]\"\n\n DropItem \"raptorshotgun\" 224\n dropitem \"grenades\" 30\n\n AttackSound \"\"\n SeeSound \"hgrunt/see\"\n ActiveSound \"hgrunt/active\"\n PainSound \"hgrunt/pain\"\n DeathSound \"hgrunt/death\"\n\n DamageFactor \"frag_boom\", 1.5\n MONSTER\n +FLOORCLIP\n +DONTHURTSPECIES\n +NODROPOFF\n +NOINFIGHTING\n //+AVOIDMELEE\n\n GibHealth 50\n\n States {\n\t\tspawn:\n\t\t\tSOLN A 2 A_Look\n\t\t\tloop\n\n\t\t//\n\t\tsee:\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(500, \"closechase\")\n\t\tfarchase:\n\t\t\tSOLN ABCD 3 A_Chase\n\t\t\tgoto see\n\t\tclosechase:\n\t\t\tSOLN ABCD 3 A_FastChase\n\t\t\tgoto see\n\n\t\tmissile:\n\t\t\tTNT1 A 0 A_Jump(96, \"GrenadeCheck\")\n\n\t\tFireWeapon:\n\t\t\tTNT1 A 0 A_JumpIfCloser(500, \"sfire\")\n\t\t\tgoto see\n\t\tsfire:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"HAGrunt_RaptorAmmo\", 4, \"NoAmmo\")\n\n\t\t\tSOF2 AAAAA 3 A_FaceTarget\n\t\t\tSOF2 A 1 A_FaceTarget\n\t\t\tSOF2 B 3 bright A_PlaySound(\"weapons/cs_fire\", CHAN_AUTO)\n\t\t\tTNT1 AAAAAAAAAAA 0 A_CustomMissile (\"grunt_raptornail\", 30, 0, random(-6, 6), CMF_OFFSETPITCH, random(-3,3))\n\n\t\t\tTNT1 A 0 A_GiveInventory(\"HAGrunt_RaptorAmmo\", 1)\n\t\t\tSOF2 A 10\n\t\t\tSOLN B 20 A_PlaySound(\"weapons/cs_cock\", CHAN_AUTO)\n\t\t\tSOLN B 1 A_MonsterRefire(128, \"see\")\n\t\t\tgoto missile\n\t\tNoAmmo:\n\t\t\tSOF2 A 1 A_FaceTarget\n\t\t\tSOF2 A 10 A_PlaySound(\"weapons/noammo\")\n\t\t\tTNT1 A 0 A_PlaySound(\"hgrunt/noammo\", CHAN_VOICE)\n\t\t\tSOF2 A 6\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 1)\n\t\t\tgoto reload_check\n\n\t\t//\n\t\treload_check:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"retreat\")\n\t\treload:\n\t\t\tSOLN A 25 A_PlaySound(\"hgrunt/shotgunreload\")\n\t\t\tSOLN A 20 A_PlaySound(\"weapons/cs_cock\", CHAN_AUTO)\n\t\t\tTNT1 A 0 A_TakeInventory(\"HAGrunt_RaptorAmmo\", 4)\n\t\t\tTNT1 A 0 A_TakeInventory(\"Grunt_RetreatTimer\", 6)\n\t\t\tTNT1 A 0 A_ChangeFlag(FRIGHTENED, 0)\n\t\t\tgoto see\n\t\tretreat:\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"Grunt_RetreatTimer\", 8, \"Reload\")\n\t\t\tSOLN ABCD 3 A_Wander\n\t\t\tTNT1 A 0 A_GiveInventory(\"Grunt_RetreatTimer\", 1)\n\t\t\tloop\n\n\t\t////\n\t\tGrenadeCheck:\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"GrenadeToss\")\n\t\t\tgoto see\n\n\t\tGrenadeToss:\n\t\t\t//TNT1 A 0 A_CustomMissile (\"checker\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_FaceTarget\n\t\t\tTNT1 A 0 A_CustomMissile (\"checker\", 45, 0, 0, CMF_AIMDIRECTION, 0)\n\t\t\tTNT1 A 0 A_CustomMissile (\"top_checker\", 45, 0, 0, CMF_AIMDIRECTION, 35)\n\t\t\tSOLN A 7 A_FaceTarget\n\t\t\t//SOLG A 26 A_FaceTarget\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PathClear\", 1, \"fireweapon\")\n\n\t\t\tTNT1 A 0 A_PlaySound(\"hgrunt/grenadetoss\", CHAN_VOICE)\n\t\t\tSOLG A 8 A_FaceTarget\n\t\t\tTNT1 A 0 A_PlaySound(\"grenade/pin\")\n\t\t\tTNT1 A 0 A_TakeInventory(\"PathClear\",1)\n\t\t\tSOLG BC 2 A_FaceTarget\n\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"CeilingClear\", 1, \"GrToss_Part\")\n\t\tGrToss_Full:\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(544, \"grtoss4\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(600, \"grtoss5\")\n\t\t\tgoto grtoss2\n\n\t\tGrToss_Part:\n\t\t\tTNT1 A 0 A_TakeInventory(\"CeilingClear\",1)\n\t\t\tTNT1 A 0 A_JumpIfCloser(256, \"grtoss1\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(352, \"grtoss2\")\n\t\t\tTNT1 A 0 A_JumpIfCloser(480, \"grtoss3\")\n\n\t\tgrtoss1:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, -10)\n\t\t\tgoto grenfinish\n\t\tgrtoss2:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 0)\n\t\t\tgoto grenfinish\n\t\tgrtoss3:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 15)\n\t\t\tgoto grenfinish\n\t\tgrtoss4:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 30)\n\t\t\tgoto grenfinish\n\t\tgrtoss5:\n\t\t\tSOLG D 2 A_CustomMissile (\"GruntGrenade\", 45, -15, 0, CMF_AIMDIRECTION, 35)\n\t\t\tgoto grenfinish\n\n\t\tgrenfinish:\n\t\t\tSOLG EF 2\n\t\t\tSOLG G 30\n\t\t\tgoto see\n\n\t\t//\n\t\tpain:\n\t\t\tSOLH A 2\n\t\t\tSOLH A 4 A_Pain\n\t\t\tgoto see\n\n\t\t////\n\t\tdeath:\n\t\t\tTNT1 A 0 A_Jump(255, \"dth1\", \"dth2\", \"dth3\", \"dth4\")\n\t\tdth1:\n\t\t\tSOD1 A 4 A_Scream\n\t\t\tSOD1 B 4 A_NoBlocking\n\t\t\tSOD1 CDEFGH 4\n\t\t\tSOD1 I -1\n\t\t\tstop\n\t\tdth2:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDEF 4\n\t\t\tSOD2 G -1\n\t\t\tstop\n\t\tdth3:\n\t\t\tSOD2 A 4 A_Scream\n\t\t\tSOD2 B 4 A_NoBlocking\n\t\t\tSOD2 CDHI 4\n\t\t\tSOD2 J -1\n\t\t\tstop\n\t\tdth4:\n\t\t\tSOD3 A 4 A_Scream\n\t\t\tSOD3 B 4 A_NoBlocking\n\t\t\tSOD3 CD 4\n\t\t\tSOD3 E -1\n\t\t\tstop\n\n\t\tXDeath:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 1 A_SpawnItemEx (\"SoldierXDeath\", 0, 0, 0, 0 ,0 ,0 , 0, SXF_TRANSFERTRANSLATION)\n\t\t\tTNT1 A 0 A_NoBlocking\n\t\t\tstop\n\t\tRaise:\n\t\t\tSOD1 EDCBA 5\n\t\t\tgoto See\n\t }\n\n}\n////////////////////////////////////////////////////////////////////////////////////////////////\n\nactor GruntSpawner : RandomSpawner replaces Zombieman\n{\n\tDropItem \"BasicGrunt\" 255, 10\n\tDropItem \"CloseBasicGrunt\" 255, 2\n}\n\nactor GruntSpawner2 : GruntSpawner replaces ShotgunGuy{\n\tDropItem \"BasicGrunt\"\n\tDropItem \"CloseBasicGrunt\"\n}\n\nactor checker {\n\tradius 6\n\theight 9\n\tspeed 35\n\tdamage 0\n\tprojectile\n\t+FORCEXYBILLBOARD\n\t//+RIPPER\n\n\tstates {\n\t\tspawn:\n\t\t\tTNT1 AA 3\n\t\t\tgoto remove\n\t\tdeath:\n\t\t\tTNT1 A 0 A_GiveToTarget(\"PathClear\", 1)\n\t\t\tTNT1 CDE 4\n\t\t\tstop\n\t\tremove:\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}\n\nactor top_checker : checker {\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 AA 2\n\t\t\tgoto remove\n\t\tdeath:\n\t\t\tTNT1 A 0 A_GiveToTarget(\"CeilingClear\", 1)\n\t\t\tTNT1 CDE 4\n\t\t\tstop\n\t\tremove:\n\t\t\tTNT1 A 0\n\t\t\tstop\n\t}\n}\n\nactor PathClear : inventory{\n\tinventory.maxamount 1\n}\n\nactor CeilingClear : inventory{\n\tinventory.maxamount 1\n}\n\nactor Grunt_ArAmmo : Inventory{\n\tInventory.MaxAmount 36\n}\n\nactor CAGrunt_AutoAmmo : Inventory{\n\tInventory.MaxAmount 16\n}\n\nactor HAGrunt_RaptorAmmo : Inventory{\n\tInventory.MaxAmount 4\n}\n\nactor Grunt_RetreatTimer : Inventory {\n\tInventory.MaxAmount 8\n}\n\nactor Grunt_GrenReady : Inventory {\n\tInventory.MaxAmount 1\n}\n\n/////////////////////////////////////////////////////////////////////////////////////////\n/////////////////////////////////////////////////////////////////////////////////////////\n\n//\n// - General Soldier Gibs\n//\n\nactor soldierxdeath {\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_PlaySound(\"gore/explode\")\n\t\t\tTNT1 AA 0 A_SpawnItemEx (\"gore_bloodmist\", random(-2,2), random(-2,2), 8, /*f*/random(-0.4,0.4) ,/*f*/random(-0.4,0.4) ,0 , random(1,360), SXF_TRANSFERTRANSLATION)\n\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(0,180),2,random(20,120))\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(181,360),2,random(20,120))\n\n\t\t\tTNT1 AAA 0 A_CustomMissile(\"gib_spawner\", 25, 0, random(0,180),2,random(20,120))\n\t\t\tTNT1 AAA 0 A_CustomMissile(\"gib_spawner\", 25, 0, random(181,360),2,random(20,120))\n\n\t\t\tTNT1 A 0 A_SpawnItem (\"Soldier_ArmsGibSpawn\")\n\t\t\tTNT1 A 0 A_SpawnItem (\"Soldier_ArmsGibSpawn\")\n\n\t\t\tTNT1 A 0 A_CustomMissile(\"SoldierLeg_Gib\", 25, 0, random(0,180),2,random(50,160))\n\t\t\tTNT1 A 0 A_CustomMissile(\"SoldierLeg_Gib\", 25, 0, random(181,360),2,random(50,160))\n\t\t\tTNT1 A 0 A_CustomMissile(\"SoldierHead_Gib\", 25, 0, random(0,360),2,random(50,160))\n\n\t\t\tTNT1 A 4\n\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(0,180),2,random(20,120))\n\t\t\tTNT1 AAAAA 0 A_CustomMissile(\"gore_fleshbit\", 25, 0, random(181,360),2,random(20,120))\n\t\t\tstop\n\n\t}\n}\n\nactor Soldier_ArmsGibSpawn{\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tNULL A 0\n\t\t\tNULL A 0 A_Jump(224,\"arm1\", \"arm2\")\n\t\t\tstop\n\t\tarm1:\n\t\t\tTNT1 A 0 A_CustomMissile(\"SoldierArm1_Gib\", 25, 0, random(0,360),2,random(50,160))\n\t\t\tstop\n\t\tarm2:\n\t\t\tTNT1 A 0 A_CustomMissile(\"SoldierArm2_Gib\", 25, 0, random(0,360),2,random(50,160))\n\t\t\tstop\n\t}\n}\n\nactor SoldierArm1_Gib{\n\thealth 1\n\tradius 10\n\theight 10\n\tmass 1\n\tspeed 8\n\tgravity 0.5\n\tbouncetype \"doom\"\n\tbouncefactor 0.3\n\t/*BounceSound*/ SeeSound \"blood/splat\"\n\tDeathSound \"blood/splat\"\n\tPROJECTILE\n\t-NOGRAVITY\n\t+CORPSE\n\t+NOTELEPORT\n\t+NODROPOFF\n\t+FLOORCLIP\n\t-NOBLOCKMAP\n\t+CLIENTSIDEONLY\n\tstates{\n\t\tspawn:\n\t\t\tSOGA ABCDEFGH 2 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\t//A_SpawnItemEx (\"gore_bloodmist_small\", 0, 0, 0, /*f*/random(-0.2,0.2) , 0 , /*f*/random(-0.2,0.2) , random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tSOGA I -1\n\t\t\tstop\n\t\t\t//SOGA I 80 A_FadeOut(0.1)\n\t\t\t//loop\n\t}\n}\n\nactor SoldierArm2_Gib : SoldierArm1_Gib{\n\tstates{\n\t\tspawn:\n\t\t\tSOGB ABCDEFGH 2 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\t//A_SpawnItemEx (\"gore_bloodmist_small\", 0, 0, 0, /*f*/random(-0.2,0.2) , 0 , /*f*/random(-0.2,0.2) , random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tSOGB I -1\n\t\t\tstop\n\t}\n}\n\nactor SoldierLeg_Gib : SoldierArm1_Gib{\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(224, \"l1\")\n\t\t\tstop\n\t\tl1:\n\t\t\tSOGL ABCDEFGH 2 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\t//A_SpawnItemEx (\"gore_bloodmist_small\", 0, 0, 0, /*f*/random(-0.2,0.2) , 0 , /*f*/random(-0.2,0.2) , random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tSOGL I -1\n\t\t\tstop\n\t}\n}\n\nactor SoldierHead_Gib : SoldierArm1_Gib{\n\tstates{\n\t\tspawn:\n\t\t\tTNT1 A 0\n\t\t\tTNT1 A 0 A_Jump(224, \"h1\")\n\t\t\tstop\n\t\th1:\n\t\t\tSOGH ABCDEFGH 2 A_SpawnItemEx (\"blood_spray\", 0, 0, 0, random(-2,2) , random(-2,2) , random(-2,2) , random(0,360), SXF_TRANSFERTRANSLATION)\n\t\t\t//A_SpawnItemEx (\"gore_bloodmist_small\", 0, 0, 0, /*f*/random(-0.2,0.2) , 0 , /*f*/random(-0.2,0.2) , random(1,360), SXF_TRANSFERTRANSLATION)\n\t\t\tloop\n\t\tdeath:\n\t\t\tSOGH I -1\n\t\t\tstop\n\t\t\t//SOGH I 80 A_FadeOut(0.1)\n\t\t\t//loop\n\t}\n}"
}
]
},
"maps": []
}