chw2020-v2.pk3

PK3 78 MiB 0 map(s)

Counts

endoom0
graphics0
lumps1357
maps2
palettes0

Totals (across maps)

Things0
Linedefs0
Sectors0
Monsters0
Items0
Raw model (for completeness)
{
  "meta": {
    "id": "060e1252-dbd3-45ba-9fdd-bccda3d78e12",
    "sha1": "21caec10859fc001964806516f143e52958c8c92",
    "sha256": "cb4d64bf01ace233b3d719fa1e4b2c3e45a7c3958bf628e9acf831f5d5de9736",
    "filenames": [
      "chw2020-v2.pk3"
    ],
    "additional": {
      "engines": [],
      "iwad": [],
      "filename": null,
      "added": "2021-01-10 03:54:05",
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false,
      "name": null,
      "description": null,
      "maps": null,
      "graphicOverrides": null,
      "screenshots": null,
      "palettes": null,
      "categories": null
    },
    "flags": {
      "locked": false,
      "canDownload": true,
      "adult": false,
      "hidden": false
    },
    "added": "2021-01-10 03:54:05",
    "file": {
      "type": "PK3",
      "size": 82235122,
      "url": "https://wadarchive2.nyc3.digitaloceanspaces.com/21caec10859fc001964806516f143e52958c8c92/21caec10859fc001964806516f143e52958c8c92.pk3.gz",
      "corrupt": false
    },
    "content": {
      "maps": [
        "COMHOTEL",
        "CHW2020-v2"
      ],
      "counts": {
        "endoom": 0,
        "graphics": 0,
        "lumps": 1357,
        "maps": 2,
        "palettes": 0
      }
    },
    "text_files": [
      {
        "source": "pk3",
        "name": "actors/props/HotelNPC1.txt",
        "contents": "actor NPCBaseCH : CutmanProp\n{\nTranslation \"198:198=198:198\", \"192:192=192:192\"\n+USESPECIAL\nActivation THINGSPEC_ThingActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial\nStates\n{\nSpawn:\nPLY1 A 0 A_ChangeFlag(\"USESPECIAL\",1)\nPLY1 A 5\ngoto Spawn+1\nTalking: //Dialogue animation/Delay to prevent repetition\nPLY1 A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPLY1 A 80\n//PLY1 A 0 A_Jump(256,\"Spawn\")\nGoto Spawn\nStandby: //Pause to make way for someone else's dialogue\nPLY1 A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPLY1 A 80\n//PLY1 A 0 A_Jump(256,\"Spawn\")\nGoto Spawn\nSee:\nstop\n}\n}\n\nactor NullNPCCH : NPCBaseCH //Essentials for each NPC\n{\nStates\n{\nSpawn:\nPLY1 A 0 A_ChangeFlag(\"USESPECIAL\",1)\nPLY1 A 5\ngoto Spawn+1\nTalking:\nStandby:\nPLY1 A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPLY1 A 80\ngoto Spawn\n}\n}\n\n//NPCs for those with apartments\n\nactor GeekieNPCCH : NPCBaseCH 17054\n{\n//$Category ComHotel-NPCs\nStates\n{\nSpawn:\nGEEK M 0 A_ChangeFlag(\"USESPECIAL\",1)\nGEEK M 5\ngoto Spawn+1\nTalking:\nStandby:\nGEEK M 0 A_ChangeFlag(\"USESPECIAL\",0)\nGEEK M 80\ngoto Spawn\n}\n}\n\nactor HilNPCCH : NPCBaseCH 17049\n{\n//$Category ComHotel-NPCs\ntag \"Hilman170499\"\nStates\n{\nSpawn:\nHILN J 0 A_ChangeFlag(\"USESPECIAL\",1)\nHILN J 0 A_JumpIfInventory(\"WeaponCharge\",7 * 60,\"HeSleep\") //7 minutes, to be exact\nHILN J 35\nHILN J 0 A_GiveInventory(\"WeaponCharge\",1)\ngoto Spawn+1\nHeSleep:\nHILN N 5\nloop\nHeWake:\nHILN O 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN O 35\nHILN O 0 A_LookEx(LOF_NOSOUNDCHECK, 0, 100, 0, 360, \"See\")\nHILN O 70\nHILN O 0 A_Jump(32,1)//sometimes stays awake\ngoto Spawn\nHILN O 0 A_TakeInventory(\"WeaponCharge\",0)\ngoto Spawn\nSee:\nHILN J 0 ACS_NamedExecuteAlways(\"ch_sleepynpc\",0,0)\nHILN J 80\nHILN J 0 A_TakeInventory(\"WeaponCharge\",0)\ngoto Spawn\nTalking:\nHILN J 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN JKJKJKJKJKJKJKJ 4\nHILN J 20 A_TakeInventory(\"WeaponCharge\",0)\nGoto Spawn\nTalk2:\nHILN J 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN LMLMLMLMLMLMLML 4\nHILN J 20 A_TakeInventory(\"WeaponCharge\",0)\nGoto Spawn\nTalk3:\nHILN J 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN JKJKJKJKJLMLMLM 4\nHILN J 20 A_TakeInventory(\"WeaponCharge\",0)\nGoto Spawn\nStandby:\nHILN J 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN J 0 A_JumpIfInventory(\"WeaponCharge\",7 * 60,\"Standby2\")\nHILN J 80\ngoto Spawn\nStandby2:\nHILN N 0 A_ChangeFlag(\"USESPECIAL\",0)\nHILN N 80\ngoto Spawn\n}\n}\n\nactor MeowsticNPCCH : NPCBaseCH 17066\n{\n//$Category ComHotel-NPCs\ntag \"Meowstic\"\nScale 2.0\nStates\n{\nSpawn:\nMSTN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nMSTN M 5\ngoto Spawn+1\nHeWake:\nMSTN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN MNONMNONMN 3\nMSTN O 3 A_LookEx(LOF_NOSOUNDCHECK, 0, 100, 0, 360, \"See\")\nMSTN O 15\nMSTN NM 3\nGoto Spawn\nSee:\nMSTN O 0 ACS_NamedExecuteAlways(\"ch_sleepynpc\",0,1)\nMSTN O 74\nMSTN NM 3\ngoto Spawn\nTalkABC: //Note: Naming scheme for technical stuff ; eyes stay open\nMSTN O 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN O 74\nMSTN NM 3\nGoto Spawn\nTalkA: //Eyes half open\nMSTN N 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN N 77\nMSTN M 3\nGoto Spawn\nTalkAB: //Eyes close\nMSTN N 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN N 3\nMSTN M 77\nGoto Spawn\nTalk: //Close to open\nMSTN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN MN 3\nMSTN O 74\nGoto Spawn\nStandby:\nMSTN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMSTN M 80\nGoto Spawn\n}\n}\n\nactor DimpsyNPCCH : NPCBaseCH 17068\n{\n//$Category ComHotel-NPCs\ntag \"Dimpsy\"\nStates\n{\nSpawn:\nDMPC A 0 A_ChangeFlag(\"USESPECIAL\",1)\nDMPC A 5\ngoto Spawn+1\nTalking:\nDMPC A 0 A_ChangeFlag(\"USESPECIAL\",0)\nDMPC BCBCBCBCBCBCBCB 4\nDMPC A 20\nGoto Spawn\nStandby:\nDMPC A 0 A_ChangeFlag(\"USESPECIAL\",0)\nDMPC A 80\nGoto Spawn\n}\n}\nactor DimpsyStart : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor RiceManNPCCH : NPCBaseCH 17119\n{\n//$Category ComHotel-NPCs\ntag \"BooBlip IceMan\"\nTranslation \"192:192=229:229\", \"198:198=77:77\"\nStates\n{\nSpawn:\nBBIM A 0 A_ChangeFlag(\"USESPECIAL\",1)\nBBIM A 5\ngoto Spawn+1\nTalking:\nStandby:\nBBIM A 0 A_ChangeFlag(\"USESPECIAL\",0)\nBBIM A 80\nGoto Spawn\n}\n}\n\nactor ChenNPCCH : NPCBaseCH 17070\n{\n//$Category ComHotel-NPCs\nTranslation \"192:192=4:4\", \"198:198=42:42\"\nStates\n{\nSpawn:\nCHNN K 0 A_ChangeFlag(\"USESPECIAL\",1)\nCHNN K 5\ngoto Spawn+1\nTalking:\nStandby:\nCHNN K 0 A_ChangeFlag(\"USESPECIAL\",0)\nCHNN K 80\nGoto Spawn\n}\n}\n\nactor KiroNPCCH : NPCBaseCH 17057\n{\n//$Category ComHotel-NPCs\ntag \"Kiro Ookami\"\nStates\n{\nSpawn:\nNPCK A 0 A_ChangeFlag(\"USESPECIAL\",1)\nNPCK A 5\ngoto Spawn+1\nTalking:\nStandby:\nNPCK A 0 A_ChangeFlag(\"USESPECIAL\",0)\nNPCK A 80\nGoto Spawn\n}\n}\n\nactor KagerouNPCCH : NPCBaseCH 17065\n{\n//$Category ComHotel-NPCs\ntag \"Kagerou Imaizumi\"\nStates\n{\nSpawn:\nKGRN K 0 A_ChangeFlag(\"USESPECIAL\",1)\nKGRN K 5\ngoto Spawn+1\nTalking:\nKGRN K 0 A_ChangeFlag(\"USESPECIAL\",0)\nKGRN KLKLKLKLKLKLKLK 4\nKGRN K 20\nGoto Spawn\nStandby:\nKGRN K 0 A_ChangeFlag(\"USESPECIAL\",0)\nKGRN K 80\nGoto Spawn\n}\n}\n\nactor SoftMetoolNPCCH : NPCBaseCH 17059\n{\n//$Category ComHotel-NPCs\ntag \"Soft Metool\"\nStates\n{\nSpawn:\nMETC A 0 A_ChangeFlag(\"USESPECIAL\",1)\nMETC A 5\ngoto Spawn+1\nTalking:\nStandby:\nMETC A 0 A_ChangeFlag(\"USESPECIAL\",0)\nMETC A 80\nGoto Spawn\n}\n}\n\nactor BluChanNPCCH : NPCBaseCH 17081\n{\n//$Category ComHotel-NPCs\ntag \"Blu-Chan\"\nStates\n{\nSpawn:\nBLCN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nBLCN M 5\ngoto Spawn+1\nTalking:\nBLCN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nBLCN MNMNMNMNMNMNMNM 4\nBLCN M 20\nGoto Spawn\nStandby:\nBLCN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nBLCN M 80\ngoto Spawn\n}\n}\n\nactor SJBNPCCH : NPCBaseCH 17064\n{\n//$Category ComHotel-NPCs\ntag \"SuperJustinBros\"\nStates\n{\nSpawn:\nSJBN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSJBN M 5\ngoto Spawn+1\nTalking:\nSJBN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSJBN MNMNMNMNMNMNMNM 4\nSJBN M 20\nGoto Spawn\nStandby:\nSJBN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSJBN M 80\nGoto Spawn\n}\n}\n\nactor IvanNPCCH : NPCBaseCH 17089\n{\n//$Category ComHotel-NPCs\ntag \"Ivan\"\nscale 2.0\n-SOLID\nradius 20\nheight 12\nStates\n{\nSpawn:\nIVNP T 0 A_ChangeFlag(\"USESPECIAL\",1)\nIVNP T 5\nTalking:\nStandby:\nIVNP T 0 A_ChangeFlag(\"USESPECIAL\",0)\nIVNP T 80\ngoto Spawn\n}\n}\n\nactor DioZXNPCCH : NPCBaseCH 17133\t//I thought you were Creeps\n{\n//$Category ComHotel-NPCs\ntag \"Dio-ZX\"\nStates\n{\nSpawn:\nDIOZ J 0 A_ChangeFlag(\"USESPECIAL\",1)\nDIOZ J 5\ngoto Spawn+1\nTalking:\nDIOZ J 0 A_ChangeFlag(\"USESPECIAL\",0)\nDIOZ JKJKJKJKJKJKJKJ 4\nDIOZ J 20\ngoto Spawn\nStandby:\nDIOZ J 0 A_ChangeFlag(\"USESPECIAL\",0)\nDIOZ J 80\ngoto Spawn\n}\n}\n\nactor AzazelFireNPCCH : NPCBaseCH 17136\n{\n//$Category ComHotel-NPCs\ntag \"That Azazel Fire\"\nStates\n{\nSpawn:\nAZFN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nAZFN M 3 A_JumpIfInventory(\"WeaponCharge\",3,\"Spawn3\")\nAZFN M 3 A_JumpIfInventory(\"WeaponCharge\",2,\"Spawn2\")\nAZFN M 0\ngoto Spawn1\nSpawn1:\nAZFN M 5\nloop\nSpawn2:\nAZFN O 5\nloop\nSpawn3:\nAZFN Q 5\nloop\nTalking:\nAZFN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nAZFN M 3 A_JumpIfInventory(\"WeaponCharge\",3,\"Talk3\")\nAZFN M 3 A_JumpIfInventory(\"WeaponCharge\",2,\"Talk2\")\nAZFN MNMNMNMNMNMNMNM 4\nAZFN M 20\ngoto Spawn\nTalk2:\nAZFN OPOPOPOPOPOPOPO 4\nAZFN O 20\ngoto Spawn\nTalk3:\nAZFN Q 80\ngoto Spawn\nStandby:\n\"----\" \"#\" 0 A_ChangeFlag(\"USESPECIAL\",0)\n\"----\" \"#\" 80\ngoto Spawn\n}\n}\n\nactor KnuxNPCCH : NPCBaseCH 17117\n{\n//$Category ComHotel-NPCs\ntag \"Knux's Monitor\"\n-SOLID\nScale 2.0\nStates\n{\nSpawn:\nKNXN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nKNXN A 5\ngoto Spawn+1\nScreenOn:\nKNXN B 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN BCBCBC 3\nKNXN B 0 A_LookEx(LOF_NOSOUNDCHECK, 0, 100, 0, 360, \"See\")\nKNXN BCBCB 3\ngoto Spawn\nSee:\nKNXN B 0 ACS_NamedExecuteAlways(\"ch_sleepynpc\",0,2)\nKNXN BCBCB 3\ngoto Spawn\nTalking://Knux\nKNXN D 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN DEDEDEDEDEDEDEDEDEDE 4\nGoto TalkEnd\nTalk2://Knux, other expression\nKNXN F 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN FEFEFEFEFEFEFEFEFEFE 4\nGoto TalkEnd\nTalk3://Knux with shades\nKNXN G 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN GHGHGHGHGHGHGHGHGHGH 4\nGoto TalkEnd\nTalk4://Centaur\nKNXN I 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN IJIJIJIJIJIJIJIJIJIJ 4\nGoto TalkEnd\nTalk5://Automatic Message\nKNXN K 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN KLKLKLKLKLKLKLKLKLKLKLKL 4\nGoto TalkEnd\nTalkEnd:\nKNXN BCBCBCB 3\nKNXN A 15\ngoto Spawn\nStandby:\nKNXN B 0 A_ChangeFlag(\"USESPECIAL\",0)\nKNXN BCBCBCBCBCBCBCBCBCBCBCBCBCBC 3\ngoto Spawn\n}\n}\n\nactor ThreshNPCCH : NPCBaseCH 17140\n{\n//$Category ComHotel-NPCs\ntag \"Thresh\"\nStates\n{\nSpawn:\nTSHN P 0 A_ChangeFlag(\"USESPECIAL\",1)\nTSHN P 5\ngoto Spawn+1\nTalking:\nTSHN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nTSHN PQPQPQPQPQPQPQP 4\nTSHN P 20\nGoto Spawn\nStandby:\nTSHN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nTSHN P 80\nGoto Spawn\n}\n}\n\nactor ElliNPCCH : NPCBaseCH 17141\n{\n//$Category ComHotel-NPCs\ntag \"Elli\"\nStates\n{\nSpawn:\nELLI P 0 A_ChangeFlag(\"USESPECIAL\",1)\nELLI P 5\ngoto Spawn+1\nTalking:\nELLI P 0 A_ChangeFlag(\"USESPECIAL\",0)\nELLI PQPQPQPQPQPQPQP 4\nELLI P 20\nGoto Spawn\nStandby:\nELLI P 0 A_ChangeFlag(\"USESPECIAL\",0)\nELLI P 80\nGoto Spawn\n}\n}\n\nactor FabeNPCCH : NPCBaseCH 17158 //Contribution by Furby\n{\n//$Category ComHotel-NPCs\nTranslation \"198:198=62:62\"\ntag \"Princess Fabe\"\nStates\n{\nSpawn:\nPWIN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nPWIN A 5\ngoto Spawn+1\nTalking:\nStandby:\nPWIN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPWIN A 80\nGoto Spawn\n}\n}\n\nactor MilesNPCCH : NPCBaseCH 17080\n{\n//$Category ComHotel-NPCs\ntag \"Miles14\"\nStates\n{\nSpawn:\nMLES M 0 A_ChangeFlag(\"USESPECIAL\",1)\nMLES M 5\ngoto Spawn+1\nTalking:\nStandby:\nMLES M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMLES M 80\nGoto Spawn\n}\n}\n\nactor KadeLunalaNPCCH : NPCBaseCH 17173\n{\n//$Category ComHotel-NPCs\nscale 1.8\ntag \"KadeLunala\"\nStates\n{\nSpawn:\nKDEN P 0 A_ChangeFlag(\"USESPECIAL\",1)\nKDEN P 5\ngoto Spawn+1\nTalking:\nStandby:\nKDEN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nKDEN P 80\nGoto Spawn\n}\n}\nactor DarkKadeNPCCH : KadeLunalaNPCCH 17174\n{\n//$Category ComHotel-NPCs\ntag \"Kade in cave\"\nStates\n{\nSpawn:\nKDEN Q 0 A_ChangeFlag(\"USESPECIAL\",1)\nKDEN Q 5\ngoto Spawn+1\nTalking:\nStandby:\nKDEN Q 0 A_ChangeFlag(\"USESPECIAL\",0)\nKDEN Q 80\nGoto Spawn\n}\n}\n\nactor LDNPCCH : NPCBaseCH 17180\n{\n//$Category ComHotel-NPCs\ntag \"LordDamager\"\nStates\n{\nSpawn:\nLDMN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nLDMN A 5\ngoto Spawn+1\nTalking:\nStandby:\nLDMN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nLDMN A 80\nGoto Spawn\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/HotelNPC2.txt",
        "contents": "//Other user-submitted NPCs\n\nactor WatzupNPCCH : NPCBaseCH 17074\n{\n//$Category ComHotel-NPCs\n//Translation \"198:198=225:225\", \"192:192=4:4\"\ntag \"Watzup7856\"\nscale 2.2\nStates\n{\nSpawn:\nWTZN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nWTZN M 5\ngoto Spawn+1\nTalking:\nStandby:\nWTZN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nWTZN M 80\nGoto Spawn\n}\n}\n\nactor ZardNPCCH : NPCBaseCH 17056\n{\n//$Category ComHotel-NPCs\ntag \"Zard1084\"\nTranslation \"192:192=215:215\", \"198:198=197:197\"\nStates\n{\nSpawn:\nZARD K 0 A_ChangeFlag(\"USESPECIAL\",1)\nZARD K 5\ngoto Spawn+1\nTalking:\nStandby:\nZARD K 0 A_ChangeFlag(\"USESPECIAL\",0)\nZARD K 80\nGoto Spawn\n}\n}\n\nactor SenteyNPCCH : NPCBaseCH 17102\n{\n//$Category ComHotel-NPCs\ntag \"S3ntey\"\nStates\n{\nSpawn:\nSNTY M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSNTY M 5\ngoto Spawn+1\nTalking:\nStandby:\nSNTY M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNTY M 80\nGoto Spawn\n}\n}\n\nactor ViktroNPCCH : NPCBaseCH 17100\n{\n//$Category ComHotel-NPCs\ntag \"Viktro\"\nTranslation \"192:192=93:93\", \"198:198=229:229\"\nStates\n{\nSpawn:\nVKTR M 0 A_ChangeFlag(\"USESPECIAL\",1)\nVKTR M 5\ngoto Spawn+1\nTalking:\nVKTR M 0 A_ChangeFlag(\"USESPECIAL\",0)\nVKTR MNMNMNMNMNMNMNM 4\nVKTR M 20\nGoto Spawn\nStandby:\nVKTR M 0 A_ChangeFlag(\"USESPECIAL\",0)\nVKTR M 80\nGoto Spawn\n}\n}\n\nactor SilverDustNPCCH : NPCBaseCH 17095\n{\n//$Category ComHotel-NPCs\ntag \"Silver Dust\"\nTranslation \"192:192=192:192\", \"198:198=198:198\"\nStates\n{\nSpawn:\nSLVR M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSLVR M 5\ngoto Spawn+1\nTalking:\nStandby:\nSLVR M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSLVR M 80\nGoto Spawn\n}\n}\n\nactor QuoteMarksNPCCH : NPCBaseCH 17096\t//Contibution by MegaVile\n{\n//$Category ComHotel-NPCs\ntag \"Quote\"\nTranslation \"192:192=5:5\", \"198:198=177:177\"\nStates\n{\nSpawn:\nQTMK M 0 A_ChangeFlag(\"USESPECIAL\",1)\nQTMK M 5\nGoto Spawn+1\nTalking:\nQTMK M 0 A_ChangeFlag(\"USESPECIAL\",0)\nQTMK MNMNMNMNMNMNMNM 4\nGoto Spawn\nStandby:\nQTMK M 0 A_ChangeFlag(\"USESPECIAL\",0)\nQTMK M 80\nGoto Spawn\n}\n}\n\nactor CurlyBraceNPCCH : NPCBaseCH 17139\t//Contibution by Kyon\n{\n//$Category ComHotel-NPCs\ntag \"Curly Brace\"\nStates\n{\nSpawn:\nCLBC M 0 A_ChangeFlag(\"USESPECIAL\",1)\nCLBC M 5\nGoto Spawn+1\nTalking:\nCLBC M 0 A_ChangeFlag(\"USESPECIAL\",0)\nCLBC MNMNMNMNMNMNMNM 4\nGoto Spawn\nStandby:\nCLBC M 0 A_ChangeFlag(\"USESPECIAL\",0)\nCLBC M 80\nGoto Spawn\n}\n}\n\nactor CreepsNPCCH : NPCBaseCH 17110\t//Contribution by Dio-ZX\n{\n//$Category ComHotel-NPCs\ntag \"Creeps\"\nStates\n{\nSpawn:\nCRPS M 0 A_ChangeFlag(\"USESPECIAL\",1)\nCRPS M 5\ngoto Spawn+1\nTalking:\nStandby:\nCRPS M 0 A_ChangeFlag(\"USESPECIAL\",0)\nCRPS M 80\nGoto Spawn\n}\n}\n\nactor CreepetteNPCCH : NPCBaseCH 17111\t//Contribution by Dio-ZX\n{\n//$Category ComHotel-NPCs\ntag \"Creepette\"\nStates\n{\nSpawn:\nCRPT M 0 A_ChangeFlag(\"USESPECIAL\",1)\nCRPT M 5\ngoto Spawn+1\nTalking:\nStandby:\nCRPT M 0 A_ChangeFlag(\"USESPECIAL\",0)\nCRPT M 80\nGoto Spawn\n}\n}\n\nactor JishakuNPCCH : NPCBaseCH 17132\t//Contribution by Dio-ZX\n{\n//$Category ComHotel-NPCs\ntag \"Jishaku\"\nStates\n{\nSpawn:\nJISH A 0 A_ChangeFlag(\"USESPECIAL\",1)\nJISH A 5\ngoto Spawn+1\nTalking:\nStandby:\nJISH A 0 A_ChangeFlag(\"USESPECIAL\",0)\nJISH A 80\ngoto Spawn\n}\n}\n\nactor SoulNPCCH : NPCBaseCH 17137 //Contribution by BladeOfChaos\n{\n//$Category ComHotel-NPCs\ntag \"Soul\"\nStates\n{\nSpawn:\nSOUL M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSOUL M 5\ngoto Spawn+1\nTalking:\nSOUL M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSOUL MNMNMNMNMNMNMNM 4\nSOUL M 20\nGoto Spawn\nStandby:\nSOUL M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSOUL M 80\nGoto Spawn\n}\n}\n\nactor DustyDustNPCCH : NPCBaseCH 17134\n{\n//$Category ComHotel-NPCs\nTranslation \"198:198=197:197\", \"192:192=87:87\"\ntag \"Dusty Dust\"\nStates\n{\nSpawn:\nDSTY M 0 A_ChangeFlag(\"USESPECIAL\",1)\nDSTY M 5\ngoto Spawn+1\nTalking:\nDSTY M 0 A_ChangeFlag(\"USESPECIAL\",0)\nDSTY MNMNMNMNMNMNMNM 4\nDSTY M 20\ngoto Spawn\nStandby:\nDSTY M 0 A_ChangeFlag(\"USESPECIAL\",0)\nDSTY M 80\ngoto Spawn\n}\n}\n\nactor SuperDarkNPCCH : NPCBaseCH 17135\n{\n//$Category ComHotel-NPCs\nTranslation \"198:198=7:7\", \"192:192=95:95\"\ntag \"SuperDark\"\nStates\n{\nSpawn:\nSDKN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSDKN M 5\ngoto Spawn+1\nTalking:\nStandby:\nSDKN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSDKN M 80\ngoto Spawn\n}\n}\n\nactor FlippyNPCCH : NPCBaseCH 17086\n{\n//$Category ComHotel-NPCs\ntag \"Nina\"\nTranslation \"192:192=196:196\", \"198:198=237:237\"\nStates\n{\nSpawn:\nMORO A 0 A_ChangeFlag(\"USESPECIAL\",1)\nMORO A 0 A_JumpIfInventory(\"Once\",1,\"SpawnX\")\nMORO A 0 A_SpawnItemEx(\"NinaSwordWings\",-9,0,-14)\nMORO A 0 A_GiveInventory(\"Once\",1)\ngoto SpawnX\nSpawnX:\nMORO A 5\nloop\nTalking:\nStandby:\nMORO A 0 A_ChangeFlag(\"USESPECIAL\",0)\nMORO A 80\nGoto Spawn\n}\n}\nactor NinaSwordWings\n{\n+MISSILE\n+CLIENTSIDEONLY\n+NOINTERACTION\n+NOCLIP\n-SOLID\nheight 1\nradius 1\n+NOGRAVITY\nTranslation \"192:192=196:196\", \"198:198=205:205\"\nscale 2.5\nstates\n{\nSpawn:\nTNT1 A 5\nTNT1 A 1\nGoto Show\nShow:\nFWIN G -1\nstop\n/*FWIN G 5 A_Warp(AAPTR_TARGET, -9, 0, -14, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)\nloop*/\n}\n}\n\nactor AChanNPCCH : NPCBaseCH 17153\n{\n//$Category ComHotel-NPCs\ntag \"A-Chan\"\nStates\n{\nSpawn:\nACHN P 0 A_ChangeFlag(\"USESPECIAL\",1)\nACHN P 5\ngoto Spawn+1\nTalking:\nACHN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nACHN PQPQPQPQPQPQPQP 4\nACHN P 20\nGoto Spawn\nStandby:\nACHN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nACHN P 80\nGoto Spawn\n}\n}\n\n/*actor TornadoPersonNPCCH : NPCBaseCH 17092\t//Contribution by Edgeshot ...?\n{\n//$Category ComHotel-NPCs\ntag \"Tornado\"\nTranslation \"192:192=229:229\", \"198:198=46:46\"\nStates\n{\nSpawn:\nETHA A 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 100, 0, 360, \"See\")\nloop\nSee:\nETHA A 0\ngoto See1\nTalking:\nStandby:\nETHA A 80\nGoto Spawn\n}\n}*/\n\nactor BrawlerNPCCH : NPCBaseCH 17112\n{\n//$Category ComHotel-NPCs\ntag \"HeavyBrawler\"\nTranslation \"41:41=184:184\", \"239:239=184:184\", \"251:254=184:184\", \"38:40=95:95\", \"236:238=95:95\"\nscale 2.0\nheight 100\nradius 40\nStates\n{\nSpawn:\nPWRM A 0 A_ChangeFlag(\"USESPECIAL\",1)\nPWRM A 5\nGoto Spawn+1\nTalking:\nStandby:\nPWRM A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPWRM A 80\nGoto Spawn\n}\n}\n\nactor ShinNPCCH : NPCBaseCH 17069\n{\n//$Category ComHotel-NPCs\nTranslation \"192:192=4:4\", \"198:198=7:7\"\ntag \"Shin Cirno\"\nStates\n{\nSpawn:\nSHCN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nSHCN M 5\ngoto Spawn+1\nTalking:\nStandby:\nSHCN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nSHCN M 80\nGoto Spawn\n}\n}\n\nactor BeanAlexNPCCH : NPCBaseCH 17101\n{\n//$Category ComHotel-NPCs\ntag \"Bean\"\nStates\n{\nSpawn:\nBEAN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nBEAN A 5\ngoto Spawn+1\nTalking:\nStandby:\nBEAN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nBEAN A 80\nGoto Spawn\n}\n}\nactor TacoReward : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 A_SpawnItemEx(\"BigHealth\",32,0,0)\nTNT1 A 0 A_SpawnItemEx(\"BigHealth\",32,16,0)\nTNT1 A 0 A_SpawnItemEx(\"BigHealth\",32,-16,0)\nstop\n}\n}\nactor GaveTaco : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Bass44NPCCH : NPCBaseCH 17071\n{\n//$Category ComHotel-NPCs\ntag \"Bass44\"\nStates\n{\nSpawn:\nB44N M 0 A_ChangeFlag(\"USESPECIAL\",1)\nB44N M 5\ngoto Spawn+1\nTalking:\nStandby:\nBAAN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nB44N M 80\nGoto Spawn\n}\n}\n\nactor PrincessRainbowNPCCH : NPCBaseCH 17060 //Contribution by Kapus\n{\n//$Category ComHotel-NPCs\ntag \"Princess Rainbow\"\nTranslation \"192:192=215:215\", \"198:198=197:197\"\nStates\n{\nSpawn:\nPRNB K 0 A_ChangeFlag(\"USESPECIAL\",1)\nPRNB K 5\ngoto Spawn+1\nTalking:\nStandby:\nPRNB K 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRNB K 80\nGoto Spawn\n}\n}\n\nactor LampNPCCH : NPCBaseCH 17072 //Contribution by Nosaj\n{\n//$Category ComHotel-NPCs\nTranslation \"198:198=220:220\", \"192:192=229:229\"\ntag \"Lamp\"\nStates\n{\nSpawn:\nLMPN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nLMPN M 5\ngoto Spawn+1\nTalking:\nStandby:\nLMPN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nLMPN M 80\nGoto Spawn\n}\n}\n\nactor PlugPowerplantNPCCH : NPCBaseCH 17157\t//Contribution by MGO\n{\n//$Category ComHotel-NPCs\ntag \"Plug Powerplant\"\nTranslation \"198:198=92:92\", \"192:192=85:85\"\nStates\n{\nSpawn:\nPLUM A 0 A_ChangeFlag(\"USESPECIAL\",1)\nPLUM A 5\ngoto Spawn+1\nTalking:\nPLUM A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPLUM AIAIAIAIAIAIAIA 4\nPLUM A 20\nGoto Spawn\nStandby:\nPLUM A 0 A_ChangeFlag(\"USESPECIAL\",0)\nPLUM A 80\nGoto Spawn\n}\n}\nactor PlugStart : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor SagisNPCCH : NPCBaseCH 17159\n{\n//$Category ComHotel-NPCs\ntag \"Sagis\"\nStates\n{\nSpawn:\nSGIS P 0 A_ChangeFlag(\"USESPECIAL\",1)\nSGIS P 5\ngoto Spawn+1\nTalking:\nStandby:\nSGIS P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSGIS P 80\nGoto Spawn\n}\n}\n\nactor InkmanNPCCH : NPCBaseCH 17160\t//Contribution by Ivan\n{\n//$Category ComHotel-NPCs\ntag \"Ink Man\"\nStates\n{\nSpawn:\nINKN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nINKN A 35\nINKN A 0 A_Jump(32,1)\ngoto Spawn+1\nINKN CFCA 3 //He blink\nINKN A 0 A_Jump(64,1)\ngoto Spawn+1\nINKN CFC 3\ngoto Spawn+1\nTalking:\nINKN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nINKN A 0 A_Jump(256,\"Talking1\",\"Talking2\",\"Talking3\",\"Talking4\")\nINKN A 20\ngoto Spawn\nTalking1: //No blink\nINKN ABABABABABABABA 4\nGoto Talking+2\nTalking2: //Start blink\nINKN ABCGCBABABABABA 4\nGoto Talking+2\nTalking3: //End blink\nINKN ABABABABABADFDA 4\nGoto Talking+2\nTalking4: //Double blink\nINKN ABABCGCBCGCBABA 4\nGoto Talking+2\nUnamused:\nINKN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nINKN CDCDCDCDFDCDCDC 4\nINKN A 20\ngoto Spawn\nStandby:\nINKN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nINKN A 80\ngoto Spawn\n}\n}\n\nactor KikasuruNPCCH : NPCBaseCH 17161\n{\n//$Category ComHotel-NPCs\ntag \"Kikasuru\"\nStates\n{\nSpawn:\nKKSR P 0 A_ChangeFlag(\"USESPECIAL\",1)\nKKSR P 5\ngoto Spawn+1\nTalking:\nKKSR P 0 A_ChangeFlag(\"USESPECIAL\",0)\nKKSR PQPQPQPQPQPQPQP 4\nKKSR P 20\nGoto Spawn\nStandby:\nKKSR P 0 A_ChangeFlag(\"USESPECIAL\",0)\nKKSR P 80\nGoto Spawn\n}\n}\n\nactor ZapperNPCCH : NPCBaseCH 17162\n{\n//$Category ComHotel-NPCs\ntag \"Zapper514\"\nStates\n{\nSpawn:\nZAPP A 0 A_ChangeFlag(\"USESPECIAL\",1)\nZAPP A 5\ngoto Spawn+1\nTalking:\nStandby:\nZAPP A 0 A_ChangeFlag(\"USESPECIAL\",0)\nZAPP A 80\nGoto Spawn\n}\n}\n\nactor AozoraNPCCH : NPCBaseCH 17163\n{\n//$Category ComHotel-NPCs\ntag \"Aozora\"\nmass 999999\n+SHOOTABLE\n+NODAMAGE\n+NOINFIGHTING\nhealth 100\npainchance 64\nStates\n{\nSpawn:\nAZRN M 0 A_ChangeFlag(\"USESPECIAL\",1)\nAZRN M 0 A_ChangeFlag(\"SHOOTABLE\",1)\nAZRN M 5\ngoto Spawn+1\nTalking:\nAZRN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nAZRN M 0 A_ChangeFlag(\"SHOOTABLE\",0)\nAZRN MNMNMNMNMNMNMNM 4\nAZRN M 20\nGoto Spawn\nStandby:\nAZRN M 0 A_ChangeFlag(\"USESPECIAL\",0)\nAZRN M 0 A_ChangeFlag(\"SHOOTABLE\",0)\nAZRN M 80\nGoto Spawn\nPain:\nAZRN O 0 A_ChangeFlag(\"USESPECIAL\",0)\nAZRN O 0 A_ChangeFlag(\"SHOOTABLE\",0)\nAZRN O 0 A_PlaySoundEx(\"misc/devilpain\",\"Voice\")\nAZRN O 25\nAZRN M 0 A_GiveToTarget(\"HurtAozora\",1)\nAZRN M 15\ngoto Spawn\n}\n}\nactor HurtAozora : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,9)\nstop\n}\n}\n\nactor Ecl1p5eNPCCH : NPCBaseCH 17164\n{\n//$Category ComHotel-NPCs\ntag \"Ecl1p5e\"\nStates\n{\nSpawn:\nECLP A 0 A_ChangeFlag(\"USESPECIAL\",1)\nECLP A 5\nECLP A 0 ACS_NamedExecuteAlways(\"ch_smoothboi\",0,0)\nECLP A 5\ngoto Spawn2+1\nSpawn2:\nECLP A 0 A_ChangeFlag(\"USESPECIAL\",1)\nECLP A 5\ngoto Spawn2+1\nTalking:\nStandby:\nECLP A 0 A_ChangeFlag(\"USESPECIAL\",0)\nECLP A 80\nGoto Spawn2\n}\n}\nactor SmootherStart : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor SGMNPCCH : NPCBaseCH 17165\n{\n//$Category ComHotel-NPCs\ntag \"SonicGman2001\"\nStates\n{\nSpawn:\nSGMR A 0 A_ChangeFlag(\"USESPECIAL\",1)\nSGMR A 5\ngoto Spawn+1\nTalking:\nStandby:\nSGMR A 0 A_ChangeFlag(\"USESPECIAL\",0)\nSGMR A 80\nGoto Spawn\nTalk2:\nSGMR T 0 A_ChangeFlag(\"USESPECIAL\",0)\nSGMR T 80\nGoto Spawn\n}\n}\n\nactor RollingNPCCH : NPCBaseCH 17175\n{\n//$Category ComHotel-NPCs\ntag \"Rolling-Chan\"\nStates\n{\nSpawn:\nROLC P 0 A_ChangeFlag(\"USESPECIAL\",1)\nROLC P 5\ngoto Spawn+1\nTalking:\nROLC P 0 A_ChangeFlag(\"USESPECIAL\",0)\nROLC PQPQPQPQPQPQPQP 4\nROLC P 20\nGoto Spawn\nTalk2: //happy\nROLC H 0 A_ChangeFlag(\"USESPECIAL\",0)\nROLC HIHIHIHIHIHIHIH 4\nROLC H 20\nGoto Spawn\nTalk3: //surprised\nROLC R 0 A_ChangeFlag(\"USESPECIAL\",0)\nROLC RSRSRSRSRSRSRSR 4\nROLC R 20\nGoto Spawn\nTalk4: //annoyed\nROLC T 0 A_ChangeFlag(\"USESPECIAL\",0)\nROLC TUTUTUTUTUTUTUT 4\nROLC T 20\nGoto Spawn\nStandby:\nROLC P 0 A_ChangeFlag(\"USESPECIAL\",0)\nROLC P 80\nGoto Spawn\n}\n}\n\nactor AllanxNPCCH : NPCBaseCH 17177\n{\n//$Category ComHotel-NPCs\ntag \"Allanx\"\nStates\n{\nSpawn:\nALNX M 0 A_ChangeFlag(\"USESPECIAL\",1)\nALNX M 5\ngoto Spawn+1\nTalking:\nALNX M 0 A_ChangeFlag(\"USESPECIAL\",0)\nALNX MNMNMNMNMNMNMNM 4\nALNX M 20\nGoto Spawn\nStandby:\nALNX M 0 A_ChangeFlag(\"USESPECIAL\",0)\nALNX M 80\nGoto Spawn\n}\n}\n\nactor LtJoeNPCCH : NPCBaseCH 17179\n{\n//$Category ComHotel-NPCs\ntag \"Lt Joe\"\nTranslation \"198:198=117:117\", \"192:192=108:108\", \"40:40=63:63\"\nStates\n{\nSpawn:\nSJ01 A 0 A_ChangeFlag(\"USESPECIAL\",1)\nSJ01 A 5\ngoto Spawn+1\nTalking:\nStandby:\nSJ01 A 0 A_ChangeFlag(\"USESPECIAL\",0)\nSJ01 A 80\nGoto Spawn\n}\n}\n\nactor FantaNPCCH : NPCBaseCH 17181\n{\n//$Category ComHotel-NPCs\ntag \"FantaGod\"\nStates\n{\nSpawn:\nFNTA P 0 A_ChangeFlag(\"USESPECIAL\",1)\nFNTA P 5\ngoto Spawn+1\nTalking:\nStandby:\nFNTA P 0 A_ChangeFlag(\"USESPECIAL\",0)\nFNTA P 80\nGoto Spawn\n}\n}\n\nactor SollyNPCCH : NPCBaseCH 17182\n{\n//$Category ComHotel-NPCs\ntag \"Shuu Kurata\"\nStates\n{\nSpawn:\nSOLY P 0 A_ChangeFlag(\"USESPECIAL\",1)\nSOLY P 5\ngoto Spawn+1\nTalking:\nSOLY P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSOLY PQPQPQPQPQPQPQP 4\nSOLY P 20\ngoto Spawn\nStandby:\nSOLY P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSOLY P 80\nGoto Spawn\n}\n}\n\nactor KazeNPCCH : NPCBaseCH 17183\n{\n//$Category ComHotel-NPCs\ntag \"Kaze\"\nStates\n{\nSpawn:\nKAZE P 0 A_ChangeFlag(\"USESPECIAL\",1)\nKAZE P 5\ngoto Spawn+1\nTalking:\nKAZE P 0 A_ChangeFlag(\"USESPECIAL\",0)\nKAZE PQPQPQPQPQPQPQP 4\nKAZE P 20\ngoto Spawn\nStandby:\nKAZE P 0 A_ChangeFlag(\"USESPECIAL\",0)\nKAZE P 80\nGoto Spawn\n}\n}\n\nactor ViviNPCCH : NPCBaseCH 17184\n{\n//$Category ComHotel-NPCs\ntag \"Vivi\"\nTranslation \"198:198=81:81\", \"192:192=152:152\"\nStates\n{\nSpawn:\nGREM S 0 A_ChangeFlag(\"USESPECIAL\",1)\nGREM ST 14\ngoto Spawn+1\nTalking:\nStandby:\nGREM S 0 A_ChangeFlag(\"USESPECIAL\",0)\nGREM S 80\nGoto Spawn\n}\n}\n\nactor Next101xNPCCH : NPCBaseCH 17185\n{\n//$Category ComHotel-NPCs\ntag \"Next101x\"\nTranslation \"198:198=81:81\", \"192:192=152:152\"\nStates\n{\nSpawn:\nNXTN P 0 A_ChangeFlag(\"USESPECIAL\",1)\nNXTN P 0 A_TakeInventory(\"WeaponCharge\",0)\nNXTN P 0 A_JumpIfInventory(\"WeaponCharge\",60*7,\"Spawn2\")\nNXTN P 35\nNXTN P 0 A_GiveInventory(\"WeaponCharge\",1)\ngoto Spawn+2\nSpawn2:\nNXTN R 5\nloop\nTalking:\nNXTN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nNXTN PQPQPQPQPQPQPQP 4\nNXTN P 20\nGoto Spawn\nTalk2:\nNXTN R 0 A_ChangeFlag(\"USESPECIAL\",0)\nNXTN R 80\nGoto Spawn2\nTalk3:\nNXTN R 0 A_ChangeFlag(\"USESPECIAL\",0)\nNXTN S 4\nNXTN PQPQPQPQPQPQPQP 4\nNXTN P 16\nGoto Spawn\nStandby:\nNXTN P 0 A_ChangeFlag(\"USESPECIAL\",0)\nNXTN P 80\nGoto Spawn\n}\n}\n\nactor DrZeosNPCCH : NPCBaseCH 17186\n{\n//$Category ComHotel-NPCs\ntag \"Dr. Zeos\"\nTranslation \"198:198=81:81\", \"192:192=152:152\"\nStates\n{\nSpawn:\nZEOS P 0 A_ChangeFlag(\"USESPECIAL\",1)\nZEOS P 5\ngoto Spawn+1\nTalking:\nStandby:\nZEOS P 0 A_ChangeFlag(\"USESPECIAL\",0)\nZEOS P 80\nGoto Spawn\n}\n}\n\nactor RusselNPCCH : NPCBaseCH 17187\n{\n//$Category ComHotel-NPCs\ntag \"Russel\"\nStates\n{\nSpawn:\nRSSL A 0 A_ChangeFlag(\"USESPECIAL\",1)\nRSSL A 140\nRSSL B 4\ngoto Spawn+1\nTalking:\nRSSL A 0 A_ChangeFlag(\"USESPECIAL\",0)\nRSSL ACACACACACACACACACAC 4\nGoto Spawn\nStandby:\nRSSL A 0 A_ChangeFlag(\"USESPECIAL\",0)\nRSSL A 80\nGoto Spawn\n}\n}\n\nactor DarkGlacierNPCCH : NPCBaseCH 17188\n{\n//$Category ComHotel-NPCs\ntag \"Dark Glacier\"\nTranslation \"198:198=81:81\", \"192:192=152:152\"\nStates\n{\nSpawn:\nDKGC P 0 A_ChangeFlag(\"USESPECIAL\",1)\nDKGC P 5\ngoto Spawn+1\nTalking:\nStandby:\nDKGC P 0 A_ChangeFlag(\"USESPECIAL\",0)\nDKGC P 80\nGoto Spawn\nTalk2:\nDKGC Q 0 A_ChangeFlag(\"USESPECIAL\",0)\nDKGC Q 60\nDKGC P 20\nGoto Spawn\n}\n}\n\nactor SnailBreederNPCCH : NPCBaseCH 17189 //Contribution by Hil\n{\n//$Category ComHotel-NPCs\ntranslation \"198:198=220:220\", \"192:192=110:110\"\ntag \"Snail Breeder\"\nStates\n{\nSpawn:\nSNLH P 0 A_ChangeFlag(\"USESPECIAL\",1)\nSNLH P 5\ngoto Spawn+1\nTalking:\nSNLH Q 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNLH Q 80\nGoto Spawn\nStandby:\nSNLH P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNLH P 80\nGoto Spawn\n}\n}\nactor TankSnailNPCCH : NPCBaseCH 17190 //Contribution by Hil\n{\n//$Category ComHotel-NPCs\ntranslation \"198:198=220:220\", \"192:192=110:110\"\ntag \"Tank Snail\"\nradius 24\nheight 64\nStates\n{\nSpawn:\nSNLH R 0 A_ChangeFlag(\"USESPECIAL\",1)\nSNLH R 5\ngoto Spawn+1\nTalking:\nStandby:\nSNLH R 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNLH R 80\nGoto Spawn\n}\n}\n\nactor LevonNPCCH : NPCBaseCH 17191\n{\n//$Category ComHotel-NPCs\ntag \"Levon\"\nStates\n{\nSpawn:\nLEVO A 0 A_ChangeFlag(\"USESPECIAL\",1)\nLEVO A 5\ngoto Spawn+1\nTalking:\nStandby:\nLEVO A 0 A_ChangeFlag(\"USESPECIAL\",0)\nLEVO A 80\nGoto Spawn\n}\n}\n\nactor CrypticNPCCH : NPCBaseCH 17192\n{\n//$Category ComHotel-NPCs\ntag \"Cryptic Powerplant\"\nStates\n{\nSpawn:\nCRPT P 0 A_ChangeFlag(\"USESPECIAL\",1)\nCRPT P 5\ngoto Spawn+1\nTalking:\nStandby:\nCRPT P 0 A_ChangeFlag(\"USESPECIAL\",0)\nCRPT P 80\nGoto Spawn\n}\n}\n\nactor LeanyNPCCH : NPCBaseCH 17193\n{\n//$Category ComHotel-NPCs\ntranslation \"198:198=95:95\", \"192:192=90:90\"\ntag \"Leany\"\nStates\n{\nSpawn:\nBREK A 0 A_ChangeFlag(\"USESPECIAL\",1)\nBREK A 5\ngoto Spawn+1\nTalking:\nStandby:\nBREK A 0 A_ChangeFlag(\"USESPECIAL\",0)\nBREK A 80\nGoto Spawn\n}\n}\n\nactor ZeloNPCCH : NPCBaseCH 17194\n{\n//$Category ComHotel-NPCs\ntag \"Zelo\"\nStates\n{\nSpawn:\nZELO P 0 A_ChangeFlag(\"USESPECIAL\",1)\nZELO P 5\ngoto Spawn+1\nTalking:\nStandby:\nZELO P 0 A_ChangeFlag(\"USESPECIAL\",0)\nZELO P 80\nGoto Spawn\n}\n}\n\nactor SpaiNPCCH : NPCBaseCH 17195\n{\n//$Category ComHotel-NPCs\ntag \"Sexy Spai\"\nStates\n{\nSpawn:\nSPAI P 0 A_ChangeFlag(\"USESPECIAL\",1)\nSPAI P 5\ngoto Spawn+1\nTalking:\nSPAI P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSPAI PQPQPQPQPQPQPQP 4\nSPAI P 20\ngoto Spawn\nStandby:\nSPAI P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSPAI P 80\nGoto Spawn\n}\n}\n\nactor SonicMasterNPCCH : NPCBaseCH 17196\n{\n//$Category ComHotel-NPCs\ntag \"SonicMaster172\"\nStates\n{\nSpawn:\nSNMT P 0 A_ChangeFlag(\"USESPECIAL\",1)\nSNMT P 5\ngoto Spawn+1\nTalking:\nSNMT P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNMT PQPQPQPQPQPQPQP 4\nSNMT P 20\ngoto Spawn\nStandby:\nSNMT P 0 A_ChangeFlag(\"USESPECIAL\",0)\nSNMT P 80\nGoto Spawn\n}\n}\n\nactor HoooohNPCCH : NPCBaseCH 17197\n{\n//$Category ComHotel-NPCs\ntag \"Hooooh\"\nStates\n{\nSpawn:\nHOOH P 0 A_ChangeFlag(\"USESPECIAL\",1)\nHOOH P 5\ngoto Spawn+1\nTalking:\nHOOH P 0 A_ChangeFlag(\"USESPECIAL\",0)\nHOOH PQPQPQPQPQPQPQP 4\nHOOH P 20\ngoto Spawn\nStandby:\nHOOH P 0 A_ChangeFlag(\"USESPECIAL\",0)\nHOOH P 80\nGoto Spawn\n}\n}\n\nactor WoohNPCCH : NPCBaseCH 17198\n{\n//$Category ComHotel-NPCs\ntranslation \"198:198=95:95\", \"192:192=90:90\"\ntag \"Wooh\"\nStates\n{\nSpawn:\nWOOH P 0 A_ChangeFlag(\"USESPECIAL\",1)\nWOOH P 5\ngoto Spawn+1\nTalking:\nStandby:\nWOOH P 0 A_ChangeFlag(\"USESPECIAL\",0)\nWOOH P 80\nGoto Spawn\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/HotelNPC3.txt",
        "contents": "//Other NPCs\n\nactor CrackersNPCCH : NPCBaseCH 17123 //Contribution by Sly\n{\n//$Category ComHotel-NPCs\ntag \"Crackers the Parrot\"\nscale 1.8\nradius 10\nheight 40\nStates\n{\nSpawn:\nCRKN A 0 A_ChangeFlag(\"USESPECIAL\",1)\nCRKN A 5\ngoto Spawn+1\nTalking:\nCRKN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nCRKN A 0 A_PlaySoundEx(\"item/beat\",\"Voice\")\nCRKN A 80\nGoto Spawn\nStandby:\nCRKN A 0 A_ChangeFlag(\"USESPECIAL\",0)\nCRKN A 80\nGoto Spawn\n}\n}\n\nactor HanayoNPCCH : NPCBaseCH 17120\t//Contribution by Rice\n{\n//$Category ComHotel-NPCs\ntag \"Hanayo\"\nTranslation \"198:198=198:198\", \"192:192=192:192\"\nStates\n{\nSpawn:\nHNYO A 0 A_ChangeFlag(\"USESPECIAL\",1)\nHNYO A 5\ngoto Spawn+1\nTalking:\nHNYO A 0 A_ChangeFlag(\"USESPECIAL\",0)\nHNYO ABABABABABABABA 4\nHNYO A 20\nGoto Spawn\nStandby:\nHNYO A 0 A_ChangeFlag(\"USESPECIAL\",0)\nHNYO A 80\nGoto Spawn\n}\n}\n\n/*actor TopManProp : CutmanProp 17055\n{\n//$Category CommunityHotel\nTranslation \"198:198=216:216\", \"192:192=4:4\"\nStates\n{\nSpawn:\nTOPM A 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 100, 0, 360, \"See\")\nloop\nSee:\nTOPM A 0 A_CallSpecial(special, args[0], args[1], args[2], args[3], args[4])\nTOPM A 15\nGoto Spawn\nTalking:\nTOPM A 80\nGoto Spawn\n}\n}*/\n\nactor CoffeeChickNPCCH : NPCBaseCH 17082\n{\n//$Category ComHotel-NPCs\ntag \"latte chick\"\nTranslation \"198:198=232:232\", \"192:192=237:237\"\nStates\n{\nSpawn:\nCHNP A 0 A_ChangeFlag(\"USESPECIAL\",1)\nCHNP A 5\nloop\nTalking:\nCHNP A 0 A_ChangeFlag(\"USESPECIAL\",0)\nCHNP ABABABABABABABA 4\nCHNP A 20\nGoto Spawn\nStandby:\nCHNP A 0 A_ChangeFlag(\"USESPECIAL\",0)\nCHNP A 80\ngoto Spawn\n}\n}\n\nactor DoorPixieNPCCH : NPCBaseCH 17125\n{\n//$Category ComHotel-NPCs\ntag \"door pixie\"\nTranslation \"198:198=61:61\", \"192:192=218:218\"\nscale 2.2\n-USESPECIAL\nStates\n{\nSpawn:\nCHNP C 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 128, 0, 360, \"See\")\nloop\nSee: //Exposition or bust, baby!\nCHNP C 0 A_CallSpecial(special, args[0], args[1], args[2], args[3], args[4])\nCHNP C 15\nGoto Spawn\nTalking:\nCHNP D 0 A_PlaySoundEx(\"weapon/crackermine\", \"Voice\")\nCHNP DE 4\nCHNP D 0 A_PlaySoundEx(\"weapon/crackermine\", \"Voice\")\nCHNP DE 4\nCHNP DEDEDEDEDED 4\nCHNP C 20\nGoto Spawn\nStandby:\nCHNP C 80\ngoto Spawn\n}\n}\n\nactor PickelSailorNPCCH : NPCBaseCH 17131\n{\n//$Category ComHotel-NPCs\ntag \"Sea Pickel\"\nTranslation \"198:198=76:76\", \"192:192=101:101\"\nStates\n{\nSpawn:\nCHNP F 0 A_ChangeFlag(\"USESPECIAL\",1)\nCHNP F 5\ngoto Spawn+1\nTalking:\nStandby:\nCHNP F 0 A_ChangeFlag(\"USESPECIAL\",0)\nCHNP F 80\ngoto Spawn\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/HotelNPCSP.txt",
        "contents": "//NPCs with lots of special interaction\n\nactor DevionNPCCH : NPCBaseCH 17067\n{\n//$Category ComHotel-NPCs\ntag \"Devion\"\nStates\n{\nSpawn:\nDMPS K 0 A_ChangeFlag(\"USESPECIAL\",1)\nDMPS K 5\ngoto Spawn+1\nTalking:\nDMPS K 0 A_ChangeFlag(\"USESPECIAL\",0)\nDMPS KLKLKLKLKLKLKLK 4\nDMPS K 20\nGoto Spawn\nGiveKey:\nDMPS K 0 A_ChangeFlag(\"USESPECIAL\",0)\nDMPS M 0 A_SpawnItemEx(\"DimpsyKeyX\",10,-15,30,5,0,5)\nDMPS K 0 A_GiveToTarget(\"DimpsyCooldown\",1)\nDMPS M 25\nDMPS K 15\ngoto Spawn\nStandby:\nDMPS K 0 A_ChangeFlag(\"USESPECIAL\",0)\nDMPS K 80\nGoto Spawn\n}\n}\nactor DimpsyCooldown : Powerup\n{\npowerup.duration 350\n}\n\n//Sly\nactor SlyNPCCH : NPCBaseCH 17053\n{\n//$Category ComHotel-NPCs\ntag \"Sly\"\nmass 999999\n+SHOOTABLE\n+NODAMAGE\n+NOINFIGHTING\nhealth 100\npainchance 0\npainchance \"IceBucket\", 256\npainchance \"HotKettle\", 256\nStates\n{\nSpawn://hot\nRN12 C 0 A_ChangeFlag(\"USESPECIAL\",1)\nRN12 C 0 A_ChangeFlag(\"SHOOTABLE\",1)\nRN12 C 3 A_JumpIfInventory(\"Once\",1,\"Spawn2\")\nRN12 C 5\ngoto Spawn+3\nSpawn2://cold\nRN12 E 0 A_ChangeFlag(\"USESPECIAL\",1)\nRN12 E 0 A_ChangeFlag(\"SHOOTABLE\",1)\nRN12 E 3 A_JumpIfInventory(\"Once\",1,1)\ngoto Spawn+3\nRN12 E 5\ngoto Spawn2+3\nTalking:\n\"----\" \"#\" 0 A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" \"#\" 0 A_ChangeFlag(\"USESPECIAL\",0)\nRN12 C 0 A_JumpIfInventory(\"Once\",1,\"Talk2\")\nRN12 CDCDCDCDCDCDCDC 4\nRN12 C 20\ngoto Spawn\nTalk2:\nRN12 EFEFEFEFEFEFEFE 4\nRN12 E 20\ngoto Spawn2\nStandby:\n\"----\" \"#\" 0 A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" \"#\" 0 A_ChangeFlag(\"USESPECIAL\",0)\n\"----\" \"#\" 3 A_JumpIfInventory(\"Once\",1,2)\nRN12 C 80 //hot\nGoto Spawn\nRN12 E 80 //cold\ngoto Spawn2\n//make cold\nPain.IceBucket:\nRN12 C 0 A_ChangeFlag(\"SHOOTABLE\",0)\nRN12 C 0 A_ChangeFlag(\"USESPECIAL\",0)\nRN12 C 0 A_PlaySoundEx(\"misc/devilpain\",\"Voice\")\nRN12 C 3 A_JumpIfInventory(\"Once\",1,1)\ngoto IcePainCont\nRN12 E 0\ngoto IcePainCont\nIcePainCont:\n\"----\" \"#\" 15\nRN12 E 0 A_GiveInventory(\"Once\",1)\nRN12 E 15\nRN12 E 0 A_GiveToTarget(\"SlyColdTalk\",1) //ACS_NamedExecuteAlways(\"sh_specialnpc\",0,4,1)\ngoto Standby\n//make hot\nPain.HotKettle:\nRN12 C 0 A_ChangeFlag(\"SHOOTABLE\",0)\nRN12 C 0 A_ChangeFlag(\"USESPECIAL\",0)\nRN12 C 0 A_PlaySoundEx(\"misc/devilpain\",\"Voice\")\nRN12 C 3 A_JumpIfInventory(\"Once\",1,1)\ngoto HotPainCont\nRN12 E 0\ngoto HotPainCont\nHotPainCont:\n\"----\" \"#\" 15\nRN12 C 0 A_TakeInventory(\"Once\",0)\nRN12 C 15\nRN12 E 0 A_GiveToTarget(\"SlyHotTalk\",1) //ACS_NamedExecuteAlways(\"sh_specialnpc\",0,4,2)\ngoto Standby\n}\n}\nactor SlyHotTalk : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,4,2)\nstop\n}\n}\nactor SlyColdTalk : SlyHotTalk\n{\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,4,1)\nstop\n}\n}\n\n//Kirb\nactor KirbyNPCCH : NPCBaseCH 17138 //Contribution by Julie\n{\n//$Category ComHotel-NPCs\ntag \"Kirby\"\nStates\n{\nSpawn:\nKBAD A 0 A_ChangeFlag(\"USESPECIAL\",1)\nKBAD A 5\ngoto Spawn+1\nTalking:\nStandby:\nKBAD A 0 A_ChangeFlag(\"USESPECIAL\",0)\nKBAD A 80\nGoto Spawn\nInhale:\nKBAD A 0 A_ChangeFlag(\"USESPECIAL\",0)\nKBAD G 5\nKBAD G 0 A_TakeInventory(\"WeaponCharge\",0)\nKBAD G 0 A_PlaySoundEx(\"misc/hshinhale\",\"Voice\",1)\nInhaleLoop:\nKBAD G 0 ACS_Execute(247,0,10,256,0)\nKBAD G 0 A_SpawnItemEx(\"HyperStormHVacuum\",random(64,128),random(-96,96),random(-32,128),0)\nKBAD G 2\nKBAD G 0 A_JumpIf(ACS_NamedExecuteWithResult(\"ch_kirbyeatcheck\",0)==1,\"Spit\")\nKBAD G 0 A_GiveInventory(\"WeaponCharge\",1)\nKBAD G 0 A_JumpIfInventory(\"WeaponCharge\",70,\"InhaleEnd\")\nloop\nSpit://Boi\nKBAD F 0 A_StopSoundEx(\"Voice\")\nKBAD F 0 ACS_NamedExecute(\"ch_kirbyeaten\",0,0)\nKBAD F 25\nKBAD G 0 ACS_NamedExecute(\"ch_kirbyeaten\",0,1)\nKBAD G 0 A_PlaySoundEx(\"misc/devilfire\",\"Voice\")\nKBAD G 10\nKBAD A 35\ngoto Spawn\nInhaleEnd:\nKBAD F 0 A_StopSoundEx(\"Voice\")\nKBAD F 15\nKBAD A 15\ngoto Spawn\n}\n}\nactor KirbyWarning : Powerup\n{\npowerup.duration -25\n}\nactor EatenByKirby : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"Kirbinator\",1)\nTNT1 A 0 A_SpawnItemEx(\"KirbyStarSpit\",0,0,0,1,0,0)\nstop\n}\n}\nactor KirbyStarSpit\n{\nPROJECTILE\n+DONTBLAST\n+DONTREFLECT\n+THRUGHOST\n-SOLID\n+NOGRAVITY\nRadius 16\nHeight 56\ndamage (255)\ndamagetype \"KirbyStar\"\nobituary \"%o witnessed %k being shown the way out by \\caKirby\\c-.\"\nspeed 30\nscale 2.5\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 ACS_NamedExecuteAlways(\"ch_kirbstick\",0,32)\nTNT1 A 0 A_ScaleVelocity(30)\ngoto Spawn2\nSpawn2:\nKBFX ABCD 2 A_JumpIf(ACS_NamedExecuteWithResult(\"ch_eateningame\")==0,\"Death\")\nloop\nDeath:\nTNT1 A 0 A_GiveToTarget(\"DeathByKirby\",1)\nTNT1 A 0 A_ChangeFlag(\"NOINTERACTION\",1)\nTNT1 A 0 A_Stop\nTNT1 A 0 A_SpawnItemEx(\"KirbyStarFX\",0,0,28)\nTNT1 A 0 A_PlaySoundEx(\"weapon/freezecrackerhit\",\"Weapon\")\nTNT1 AAAA 0 A_SpawnItemEx(\"KirbyStarFX2\",random(-12,12),random(-12,12),random(0,56),random(-1,-3),random(-2,2),random(1,3))\nTNT1 A 1\nstop\n}\n}\nactor KirbyStarFX\n{\nscale 2.5\nRadius 1\nHeight 1\n+NOGRAVITY\n-SOLID\n+NOINTERACTION\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nKBFX EFGE 4\nstop\n}\n}\nactor KirbyStarFX2 : KirbyStarFX\n{\nStates\n{\nSpawn:\nKBFX H 15\nstop\n}\n}\nactor DeathByKirby : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_kirbyded\",0,0)\nstop\n}\n}\nactor Kirbinator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\nactor InKirbStar : PowerInvisibility\n{\npowerup.duration -10\nPowerup.Strength 100\nPowerup.Mode \"Translucent\"\n}\n\n//Gouki\nactor GouStatue 17085\n{\n//$Category ComHotel-NPCs\ntag \"Gouki\"\n+SOLID\n+SHOOTABLE\n+NODAMAGE\n+NOGRAVITY\nHeight 40\nscale 2.5\nradius 32\nHealth 9999\npainchance 256\nobituary \"\\ck%o was erased by \\ciGouki\\ck's Astral Tear glare.\"\nmass 999999999\n+NOBLOOD\n+NODAMAGE\nspeed 0\n+DONTBLAST\n+QUICKTORETALIATE\nStates\n{\nSpawn:\nGOST A 5 A_Wander\nloop\nPain:\nGOST A 0 A_FaceTarget\nGOST A 0 A_ChangeFlag(\"SOLID\",0)\nGOST A 0 A_ChangeFlag(\"SHOOTABLE\",0)\n//GOST A 0 A_VileTarget(\"GoukiFlame\")\nGOST A 0 A_PlaySoundEx(\"misc/bling\",\"Voice\")\nGOST B 4 A_FaceTarget\nGOST B 4 A_SpawnItemEx(\"EyeFX\", 6, 16, 72)\nGOST BBBBB 4 A_FaceTarget\nGOST B 0 A_CallSpecial(special, args[0], args[1], args[2], args[3], args[4])\nGOST A 20\n/*GOST A 0 A_VileAttack(\"misc/youdied\", 1000, 10, 200, 900, \"Extreme\")\nGOST A 0 A_JumpIfInventory(\"KilledMeStock\",1,\"Taunt\")\nGOST A 0 A_ChangeFlag(\"SOLID\",1)\nGOST A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nGOST A 0 A_ClearTarget\nGoto Spawn\nTaunt:\nGOST BBBBBBBBBBBBBBBBBBBBBB 5 A_FaceTarget\nGOST A 0 A_TakeInventory(\"KilledMeStock\",99)*/\nGOST A 0 A_ChangeFlag(\"SOLID\",1)\nGOST A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nGOST A 0 A_ClearTarget\nGoto Spawn\nDeath:\nGOST A 1 A_Stop\nstop\n}\n}\n\nactor EyeFX\n{\n+NOGRAVITY\nscale 2.5\n+NOINTERACTION\nPROJECTILE\nHeight 1\nRadius 1\nStates\n{\nSpawn:\nGKEY ABC 4\nstop\n}\n}\n\n/*actor GoukiFlame : ArchvileFire\n{\nRenderStyle Normal\nTranslation \"86:87=227:227\", \"4:4=229:229\"\nScale 2.0\ndamage (0)\nStates\n{\nSpawn:\nGKFR E 2 A_Fire\nGKFR FGH 2 A_Fire\nGKFR IJ 2 A_Fire\nGKFR EFGHIJEFGH 2 A_Fire\nGKFR I 2 A_Fire\nGKFR JEFGHIJEFG 2 A_Fire\nStop\n}\n}*/\n\n//Savior\nactor SaviorNPCCH : NPCBaseCH 17083\n{\n//$Category ComHotel-NPCs\ntag \"SaviorSword\"\n//Species \"Jax\"\n+NOGRAVITY\nmass 999999\n+SHOOTABLE\n+NODAMAGE\n+NOINFIGHTING\nhealth 100\npainchance 64\npainchance \"ThunderBeam\", 26\npainchance \"GravityHold\", 256\npainchance \"BlackHoleBomb\", 256\n//Mod damage types\npainchance \"ThunderBeamElec\", 26\npainchance \"GravitySmackDown\", 256\npainchance \"GravitySmackUp\", 256\npainchance \"BlackHoleBombB\", 256\npainchance \"BlackHoleBombCBM\", 256\nStates\n{\nSpawn:\nSAVN J 0 A_ChangeFlag(\"USESPECIAL\",1)\nSAVN J 3 A_JumpIfInventory(\"Once\",1,\"Other\")\nSAVN J 0 A_ChangeFlag(\"SHOOTABLE\",1)\ngoto SpawnLoop\nOther:\nSAVN K 0 A_ChangeFlag(\"SHOOTABLE\",0)\ngoto SpawnLoop\nSpawnLoop:\n\"----\" \"#\" 5\nloop\nHelmetTalk:\nSAVN J 0\ngoto Talking\nTalking:\nStandby:\n\"----\" \"#\" 0 A_ChangeFlag(\"USESPECIAL\",0)\n\"----\" \"#\" 0 A_ChangeFlag(\"SHOOTABLE\",0)\n\"----\" \"#\" 80\nGoto Spawn\nDeath:\nPain:\nSAVN K 0 A_ChangeFlag(\"USESPECIAL\",0)\nSAVN K 0 A_ChangeFlag(\"SHOOTABLE\",0)\nSAVN K 3 A_JumpIfInventory(\"Once\",1,\"Other\")\nSAVN K 0 A_PlaySoundEx(\"misc/itemthrow\",\"Voice\")\nSAVN K 0 A_SpawnItemEx(\"SaviorHelmet\",0,0,-20,random(-4,4),random(-4,4))\nSAVN K 0 A_GiveInventory(\"Once\",1)\nSAVN K 15\ngoto Spawn\n}\n}\n\nactor SaviorHelmet : CustomInventory\n{\n-FLOORCLIP\ninventory.pickupmessage \"Picked up \\cdSaviorSword\\c-'s helmet.\"\ninventory.pickupsound \" \"\ninventory.icon \"SAVHMTX\"\ntag \"Savior's Helmet\"\ninventory.amount 1\ninventory.maxamount 1\nscale 2.5\nradius 19\nheight 35\n-NOGRAVITY\nStates\n{\nSpawn:\nSAVN X 10\ngoto Dropping\nDropping:\nSAVN YYYYYYYYYY 210\nSAVN Y 0 ACS_NamedExecuteAlways(\"ch_savhelmettimer\",0,0)\nloop\nPickup:\nSAVN Y 0 ACS_NamedExecuteAlways(\"ch_savhelmettimer\",0,1)\nSAVN Y 0 A_JumpIfInventory(\"SavHelmetItem\",1,\"Ending\")\nSAVN Y 0 A_SpawnItemEx(\"SavHelmetCheck\")\nSAVN Y 0 A_GiveInventory(\"SavHelmetItem\",1)\nEnding:\nTNT1 A 0\nstop\n}\n}\nactor SavHelmetItem : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\ninventory.pickupmessage \"Picked up \\cdSaviorSword\\c-'s helmet.\"\ninventory.icon \"SAVHMTX\"\ntag \"Savior's Helmet\"\nscale 2.0\n+INVBAR\nstates\n{\nSpawn:\nSAVN Y 0\nloop\nUse:\nSAVN Y 0\nfail\nDeath:\nTNT1 A 0\nstop\n}\n}\nactor SavHelmetCheck\n{\n+MISSILE\n+NOINTERACTION\n+DONTBLAST\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 4 A_Warp(AAPTR_TARGET,0,0,0,0)\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_savhelmetcheck\",0,0)\nloop\nBegone:\nGone:\nTNT1 A 2 A_SpawnItemEx(\"SaviorHelmet\")\nstop\nGone2:\nTNT1 A 0\nstop\n}\n}\n\nactor GibusNPCCH : NPCBaseCH 17154\n{\n//$Category ComHotel-NPCs\ntag \"Pr. Gibus\"\nmass 999999\n+SHOOTABLE\n+NODAMAGE\n+NOINFIGHTING\nhealth 100\npainchance 64\nStates\n{\nSpawn:\nPRGB P 0 A_ChangeFlag(\"USESPECIAL\",1)\nPRGB P 0 A_ChangeFlag(\"SHOOTABLE\",1)\nPRGB P 3 A_JumpIfInventory(\"Once\",1,\"Hatless\")\ngoto SpawnLoop\nHatless:\nPRGB S 5\nloop\nSpawnLoop:\nPRGB PPPPPPPPPP 35\nPRGB R 25\nloop\nPain:\nPRGB P 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRGB P 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPRGB P 3 A_JumpIfInventory(\"Once\",1,\"HeDab\")\nPRGB P 0 A_PlaySoundEx(\"misc/itemthrow\",\"Voice\")\nPRGB P 0 A_SpawnItemEx(\"GibusHead\",0,0,55,random(0,8),random(-8,8),8)\nPRGB P 0 A_GiveInventory(\"Once\",1)\nPRGB S 15\ngoto Spawn\nHeDab:\nPRGB T 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRGB T 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPRGB T 0 A_PlaySoundEx(\"weapon/timestopper\",\"Weapon\")\nPRGB T 0 A_SpawnItemEx(\"GibusSonicDab\",0,0,28)\nPRGB T 35\ngoto Spawn\nTheHolHat:\nPRGB P 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRGB P 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPRGB P 0 A_TakeInventory(\"Once\",0)\nPRGB RPPPPPP 4\ngoto Spawn\nTalking:\nPRGB P 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRGB P 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPRGB PQPQPQPQPQPQPQP 4\nPRGB P 20\nGoto Spawn\nStandby:\nPRGB P 0 A_ChangeFlag(\"USESPECIAL\",0)\nPRGB P 0 A_ChangeFlag(\"SHOOTABLE\",0)\nPRGB P 3 A_JumpIfInventory(\"Once\",1,2)\nPRGB P 80\nGoto Spawn\nPRGB S 80\nGoto Spawn\n}\n}\nactor GibusSonicDab\n{\n-SOLID\n+NOGRAVITY\nPROJECTILE\n+DONTBLAST\n+NOINTERACTION\n+FORCEPAIN\ndamage 0\nradius 1\nheight 1\ndamagetype \"FlingDamage\"\ndeathtype \"GravityHold\"\nObituary \"%o was dabbed on by \\c[N2]Pr. Gibus\\c-!\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(1,180,0)\nstop\n}\n}\nactor GibusHead : CustomInventory\n{\n-FLOORCLIP\ninventory.pickupmessage \"\\c[N2]Pr. Gibus\\c- has joined your party!\"\ninventory.pickupsound \" \"\ninventory.icon \"GIBUSICO\"\ntag \"Pr. Gibus\"\ninventory.amount 1\ninventory.maxamount 1\nscale 2.5\nradius 19\nheight 35\n-NOGRAVITY\nStates\n{\nSpawn:\nPRGB X 1 A_SetAngle(angle-45.0)\nPRGB X 0 A_CheckFloor(\"Spawn2\")\nloop\nSpawn2:\nPRGB X 0 A_Stop\nPRGB X 2100\nPRGB X 0 ACS_NamedExecuteAlways(\"ch_savhelmettimer\",0,2)\ngoto Spawn2+1\nPickup:\nPRGB X 0 ACS_NamedExecuteAlways(\"ch_savhelmettimer\",0,3)\nPRGB X 0 A_JumpIfInventory(\"GibusHat\",1,\"Ending\")\nPRGB X 0 A_SpawnItemEx(\"GibusHatCheck\")\nPRGB X 0 A_GiveInventory(\"GibusHat\",1)\nPRGB X 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,8,0)\nEnding:\nTNT1 A 0\nstop\n}\n}\nactor GibusHat : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 1\ninventory.pickupmessage \"\\c[N2]Pr. Gibus\\c- has joined your party!\"\ninventory.icon \"GIBUSICO\"\ntag \"\\c[N2]Pr. Gibus\"\nscale 2.0\n+INVBAR\nstates\n{\nSpawn:\nPRGB X 0\nloop\nUse:\nPRGB X 0 A_JumpIfInventory(\"BusyGibus\",1,\"NoUse\")\nPRGB X 0 A_JumpIfInventory(\"ReadingAClue\",1,\"NoUse\")\nPRGB X 0 A_GiveInventory(\"ReadingAClue\",1)\ngoto Success\nSuccess:\nPRGB X 1 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,8,1)\nfail\nNoUse:\nPRGB X 1\nfail\nDeath:\nTNT1 A 0\nstop\n}\n}\nactor GibusHatCheck\n{\n+MISSILE\n+NOINTERACTION\n+DONTBLAST\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 4 A_Warp(AAPTR_TARGET,0,0,0,0)\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_savhelmetcheck\",0,1)\nloop\nBegone:\nGone:\nTNT1 A 2 A_SpawnItemEx(\"GibusHead\")\nstop\nGone2:\nTNT1 A 0\nstop\n}\n}\nactor BusyGibus : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor MegaKirbyNPCCH : NPCBaseCH 17178\n{\n//$Category ComHotel-NPCs\ntag \"MegaKirby\"\nmass 999999\n+SHOOTABLE\n+NODAMAGE\n+NOINFIGHTING\nhealth 100\npainchance 64\nvar int user_anglezero;\nObituary \"%o messed with \\c[c1]Mega\\c[c0]Kirby\\c-, and learned %p lesson the hardest way\"\nStates\n{\nSpawn:\nMGKB M 0\nMGKB M 0 A_SetUserVar(\"user_anglezero\", angle)\nMGKB M 0 A_ChangeFlag(\"USESPECIAL\",1)\nMGKB M 0 A_ChangeFlag(\"SHOOTABLE\",1)\nMGKB M 5\ngoto Spawn+3\nPain:\nMGKB M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMGKB M 0 A_ChangeFlag(\"SHOOTABLE\",0)\nMGKB O 0 A_PlaySoundEx(\"misc/devilpain\",\"Voice\")\nMGKB O 25\nMGKB M 0 A_GiveToTarget(\"HurtMKirb\",1)\nMGKB M 15\ngoto Spawn\nCharge:\nMGKB M 0 A_FaceTarget\nMGKB M 10\nMGKB N 0 A_PlaySoundEx(\"weapon/coilstart\",\"voice\")\nMGKB N 1 Thing_SetTranslation(248,92)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,0)\nMGKB N 0 A_FaceTarget\nMGKB N 0 A_GiveInventory(\"WeaponCharge\",1)\nMGKB N 0 A_JumpIfInventory(\"WeaponCharge\",17,\"Charge2\")\ngoto Charge+3\nCharge2:\nMGKB N 0 A_PlaySoundEx(\"weapon/coilcharge\",\"voice\")\nMGKB N 1 Thing_SetTranslation(248,93)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,94)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,0)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,93)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,94)\nMGKB N 0 A_FaceTarget\nMGKB N 1 Thing_SetTranslation(248,0)\nMGKB N 0 A_FaceTarget\nMGKB N 0 A_GiveInventory(\"WeaponCharge\",1)\nMGKB N 0 A_JumpIfInventory(\"WeaponCharge\",24,\"Blast\")\nloop\nBlast:\nMGKB N 0 A_TakeInventory(\"WeaponCharge\",999)\nMGKB N 0 Thing_SetTranslation(248,94)\nMGKB N 0 ThrustThingZ(0,40,0,0)\nMGKB N 5\nMGKB N 0 A_FaceTarget\nMGKB N 0 A_PlaySoundEx(\"weapon/cfire\",\"voice\")\nMGKB N 0 A_CustomMissile(\"MegaKirbyAttack\",16,8,0,CMF_OFFSETPITCH)\nMGKB N 0 Thing_SetTranslation(248,0)\nMGKB N 15\nMGKB N 0 A_SetAngle(user_anglezero)\ngoto Spawn\nTalking:\nStandby:\nMGKB M 0 A_ChangeFlag(\"USESPECIAL\",0)\nMGKB M 0 A_ChangeFlag(\"SHOOTABLE\",0)\nMGKB M 80\nGoto Spawn\n}\n}\nactor HurtMKirb : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,11)\nstop\n}\n}\nactor MegaKirbyAttack\n{\nTranslation \"198:198=198:198\",\"202:202=193:193\",\"204:204=215:215\"\nPROJECTILE\ndamagetype \"Enemy\"\nObituary \"%o messed with \\c[c1]Mega\\c[c0]Kirby\\c-, and learned %p lesson the hardest way\"\nDamage (60)\nradius 25\nheight 25\nSpeed 26\nscale 2.5\nStates\n{\nSpawn:\nMBU2 ABCE 2\nloop\n}\n}\n\nactor JediMasterNPCCH : NPCBaseCH 17094 //Thank you for taking the purple guy\n{\n//$Category ComHotel-NPCs\ntag \"JediMaster76\"\nTranslation \"198:198=63:63\", \"192:192=4:4\"\nObituary \"%o was struck down by \\c[b5]JediMaster76\\c-'s powers!\"\n+NOGRAVITY\n+SOLID\n+SHOOTABLE\n//+NODAMAGE\n+NOPAIN\n-NOBLOCKMONST\n-USESPECIAL\nmass 999999\nspeed 14\nhealth 60\n//painchance 96\ndamagefactor \"Normal\", 1.0\ndamagefactor \"GravityHold\", 100.0\ndamagefactor \"BlackHoleBomb\", 100.0\n//Mod damage types\ndamagefactor \"GravitySmackDown\", 100.0\ndamagefactor \"GravitySmackUp\", 100.0\ndamagefactor \"BlackHoleBombB\", 100.0\ndamagefactor \"BlackHoleBombCBM\", 100.0\nvar int user_heightone;\nvar int user_startx;\nvar int user_starty;\nvar int user_startz;\n//Activation THINGSPEC_ThingActs|THINGSPEC_NoDeathSpecial\nStates\n{\nSpawn:\nJUPT A 0\nJUPT A 0 A_SetUserVar(\"user_heightone\", z)\nJUPT A 0 //A_LogInt(user_heightone)\ngoto Spawn2\nSpawn2:\nJUPT B 0 ACS_NamedExecuteAlways(\"ch_jeditarget\",0,2)\nJUPT B 0 A_TakeInventory(\"WeaponCharge\",0)\nJUPT BCDE 5 A_Wander\ngoto Spawn2+2\nSee:\nJUPT A 1\ngoto Spawn\nDeath: //Pain:\nJUPT H 0 ACS_NamedExecuteAlways(\"ch_jeditarget\",0,0)\nJUPT H 0 A_Stop\nJUPT H 0 A_ChangeFlag(\"NOGRAVITY\",0)\nJUPT H 0 A_ChangeFlag(\"SHOOTABLE\",0)\nJUPT H 0 A_ChangeFlag(\"SOLID\",1)\nJUPT H 0 A_SpawnItemEx(\"PainFX\",-5,0,3,0,0,0)\nJUPT H 0 A_PlaySoundEx(\"misc/devilpain\",\"Voice\")\nJUPT H 0 A_GiveInventory(\"WeaponCharge\",1)\nJUPT H 0 //A_GiveToTarget(\"JediMasterMoney\",1)\nJUPT H 1\nJUPT H 0 A_JumpIf((z-floorz<=0),3)\nJUPT H 0 A_GiveInventory(\"SkullShieldCheck\",1)\nJUPT H 3 A_JumpIfInventory(\"SkullShieldCheck\",0,1)\ngoto Death+9 //goto Pain+7\nJUPT H 0 A_PlaySoundEx(\"misc/basicland\",\"Voice\")\nJUPT H 0 A_TakeInventory(\"SkullShieldCheck\",0)\nJUPT H 15 ACS_NamedExecuteAlways(\"ch_jedidown\",0,user_startx,user_starty,user_startz)\nJUPT H -1 Thing_Raise(0)\ngoto Death+15\nRaise:\nJUPT A 0 ACS_NamedExecuteAlways(\"ch_jeditarget\",0,1)\nJUPT A 0 A_ChangeFlag(\"NOGRAVITY\",1)\nJUPT A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nJUPT A 0 A_ChangeFlag(\"SOLID\",0)\nJUPT AAAA 5 A_JumpIfTargetInLOS(\"Talking\",0,JLOSF_DEADNOJUMP)\nJUPT AAAA 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 512, 0, 360, \"Talking\")\nJUPT A 3 A_JumpIfInventory(\"WeaponCharge\",3,\"Attack1\")\ngoto PrepStunlock\nTalking:\nJUPT A 0 A_FaceTarget\nJUPT A 0 A_CallSpecial(special, args[0], args[1], args[2], args[3], args[4])\nJUPT A 0 A_JumpIfInventory(\"WeaponCharge\",3,\"Attack\")\nJUPT A 15\nJUPT A 25\ngoto PrepStunlock\nPrepStunlock:\nJUPT B 0 A_PlaySoundEx(\"misc/gutsgboost\",\"Voice\")\nJUPT B 0 A_JumpIfInventory(\"PharaohCharge\",3,\"FlyBackUp\")\nJUPT B 0 ThrustThingZ(0,8,0,0)\nJUPT B 0 //A_LogInt(z)\nJUPT B 5\nJUPT C 0 ThrustThingZ(0,8,0,0)\nJUPT C 0 //A_LogInt(z)\nJUPT C 5\nJUPT D 0 ThrustThingZ(0,8,0,0)\nJUPT D 0 //A_LogInt(z)\nJUPT D 5\nJUPT E 0 ThrustThingZ(0,8,0,0)\nJUPT E 0 //A_LogInt(z)\nJUPT E 5\nJUPT B 0 A_GiveInventory(\"PharaohCharge\",1)\ngoto PrepStunlock+1\nFlyBackUp:\nJUPT B 0 A_TakeInventory(\"PharaohCharge\",0)\nJUPT B 0 A_ChangeFlag(\"SHOOTABLE\",1)\nJUPT B 0 A_JumpIfInventory(\"PharaohCharge\",100,\"Spawn2\")\nJUPT B 0 ThrustThingZ(0,8,0,0)\nJUPT B 0 //A_LogInt(z)\nJUPT B 5 A_JumpIf((z >= user_heightone),\"Spawn2\")\nJUPT C 0 ThrustThingZ(0,8,0,0)\nJUPT C 0 //A_LogInt(z)\nJUPT C 5 A_JumpIf((z >= user_heightone),\"Spawn2\")\nJUPT D 0 ThrustThingZ(0,8,0,0)\nJUPT D 0 //A_LogInt(z)\nJUPT D 5 A_JumpIf((z >= user_heightone),\"Spawn2\")\nJUPT E 0 ThrustThingZ(0,8,0,0)\nJUPT E 0 //A_LogInt(z)\nJUPT E 5 A_JumpIf((z >= user_heightone),\"Spawn2\")\nJUPT B 0 A_JumpIf((ceilingz-z<=height),\"Spawn2\")\nJUPT B 0 A_GiveInventory(\"PharaohCharge\",1)\ngoto FlyBackUp+2\nStandby:\nJUPT A 80\ngoto Spawn\nAttack:\nJUPT A 3 A_JumpIfInventory(\"WeaponCharge\",6,\"Attack2\")\nAttack1:\nJUPT B 0 A_PlaySoundEx(\"weapon/atomicfire\",\"Voice\")\nJUPT B 0 A_SpawnItemEx(\"JediForcePush\")\nJUPT B 0 ThrustThingZ(0,50,0,0)\nJUPT BBBBCCCCDDDDEEEE 1 A_SpawnItemEx(\"JediJetCloud\",random(-10,-14),random(-12,12),0,-5,random(-4,4),-10,0,0,128)\ngoto FlyBackUp\nAttack2:\nJUPT FFF 5 A_FaceTarget\nJUPT G 0 A_PlaySoundEx(\"misc/wilystart\",\"Voice\",1)\nJUPT GGG 4 A_CustomMissile(\"JediMasterLaser\",28,0,0,CMF_OFFSETPITCH)\nJUPT G 0 A_FaceTarget\nJUPT GGG 4 A_CustomMissile(\"JediMasterLaser\",28,0,0,CMF_OFFSETPITCH)\nJUPT G 0 A_FaceTarget\nJUPT GGG 4 A_CustomMissile(\"JediMasterLaser\",28,0,0,CMF_OFFSETPITCH)\nJUPT G 0 A_FaceTarget\nJUPT GGG 4 A_CustomMissile(\"JediMasterLaser\",28,0,0,CMF_OFFSETPITCH)\nJUPT G 0 A_StopSoundEx(\"Voice\")\nJUPT A 8\nJUPT A 0 A_GiveToTarget(\"JediMasterDeathCheck\",1)\ngoto Attack1\n}\n}\nactor JediForcePush\n{\nPROJECTILE\n+FORCEPAIN\ndamage (0)\ndamagetype \"FlingDamage\"\ndeathtype \"GravityHold\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"JediMasterBlast\",0,0,28)\nTNT1 A 3 A_JumpIfInTargetInventory(\"WeaponCharge\",6,1)\nstop\nTNT1 A 0 A_SpawnItemEx(\"JediShockWave\")\nTNT1 A 3 A_JumpIfInTargetInventory(\"WeaponCharge\",9,1)\nstop\nTNT1 A 25\nTNT1 A 0 A_SpawnItemEx(\"JediShockWave\")\nstop\n}\n}\nactor JediMasterBlast : GibusSonicDab\n{\nObituary \"%o was Force-Pushed by \\c[b5]JediMaster76\\c-!\"\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_Explode(1,512,0)\nstop\n}\n}\nactor JediShockWave\n{\nPROJECTILE\ndamage (0)\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,0)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,15)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,30)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,45)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,60)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,75)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,90)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,105)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,120)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,135)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,150)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,165)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,180)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,195)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,210)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,225)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,240)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,255)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,270)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,285)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,300)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,315)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,330)\nTNT1 A 0 A_SpawnItemEx(\"JediShockwavePart\",0,0,0,18,0,0,345)\nstop\n}\n}\nactor JediShockwavePart : DuoShockwavePart\n{\n+FORCEPAIN\ndamage (0)\ndamagetype \"SparkShock\"\nTranslation \"0:255=63:63\"\n}\nactor JediJetCloud\n{\n-SOLID\nscale 2.5\nradius 5\nheight 5\n+NOGRAVITY\n+CLIENTSIDEONLY\nreactiontime 5\nStates\n{\nSpawn:\nCOFE E 0 A_SetScale(2.5)\nCOFE E 0\ngoto Wave\nWave:\nCOFE E 2 A_CountDown\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\nactor JediMasterLaser\n{\nPROJECTILE\ndamagetype \"SparkShock\"\nObituary \"%o was struck down by \\c[b5]JediMaster76\\c-'s powers!\"\nTranslation \"215:215=63:63\"\nxscale 2.5\nyscale 1.0\n+FORCEPAIN\nSpeed 30\nRadius 12\nHeight 5\nDamage (5)\nStates\n{\nSpawn:\nTHUN ABCDEFG 3\nloop\n}\n}\nactor JediMasterDeathCheck : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,12,0)\nstop\n}\n}\nactor JediMasterMoney : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\n+INVENTORY.ALWAYSPICKUP\nstates\n{\nPickup:\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_specialnpc\",0,12,1)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/PropNature.txt",
        "contents": "//Trees, rocks and the works\n\nactor GeekDripper : AcidDripper 17084\n{\n//$Category ComHotel-Nature\nStates\n{\nSpawn:\nTNT1 A 0\nGKDP A 10\nTNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK, 0, 128, 0, 0, \"Drip\")\nloop\nDrip:\nGKDP A 1 A_CustomMissile(\"GeekDrip\",0,0,0,2,0)\nGKDP A 35 A_ClearTarget\nGoto Spawn\n}\n}\n\nactor GeekDrip : AcidDrip\n{\nStates\n{\nSpawn:\nGKDP B 1 A_CheckFloor(\"Death\")\nloop\nDeath:\nTNT1 A 5 A_PlaySoundEx(\"misc/geekdroplet\",\"Voice\")\nstop\n}\n}\n\nactor GHZTree 17974\n{\n//$Category ComHotel-Nature\nheight 275\nradius 10\n+SOLID\n+FORCEYBILLBOARD\nscale 2.5\nstates\n{\nSpawn:\nGHTR A -1\nStop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/PropObjects.txt",
        "contents": "//Chairs, tables, cups, machines\n\nactor DisposableCup 17075\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 2.5\nradius 8\nheight 12\n-NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCUPZ A -1\nstop\n}\n}\n\nactor DisposableStack 17076\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 2.5\nradius 8\nheight 35\n-NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCUPZ B -1\nstop\n}\n}\n\nactor Juicer 17077\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 1.8\nradius 30\nheight 35\n-NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nJUCR Z -1\nstop\n}\n}\n\n//Hil\nactor HilLaptop : NPCBaseCH 17050\t//Yes, really\n{\n//$Category ComHotel-Objects\n+SOLID\nScale 2.5\nHeight 4\nRadius 16\nStates\n{\nSpawn:\nHLTP A 5 A_ChangeFlag(\"USESPECIAL\",1)\nHLTP A 5\nGoto Spawn+1\nSee:\nHLTP B 35\nHLTP B 0 A_ChangeFlag(\"USESPECIAL\",1)\nHLTP B 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 90, 0, 150, \"See\")\ngoto Spawn\nTalking:\nHLTP B 0 A_ChangeFlag(\"USESPECIAL\",0)\nHLTP B 80\nHLTP B 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 90, 0, 150, \"See\")\ngoto Spawn\nStandby: //No pun intended\nHLTP A 0 A_ChangeFlag(\"USESPECIAL\",0)\nHLTP A 80\ngoto Spawn\n}\n}\n\nactor HilRadio : NPCBaseCH 17052\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 2.5\nradius 8\nheight 8\nstates\n{\nSpawn:\nHRAD X 5\nloop\nTalking:\nStandby:\nHRAD X 80\ngoto Spawn\n}\n}\n\nactor CoffeeMug 17051\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 2.5\nradius 8\nheight 12\n-NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCOFE A -1\nstop\n}\n}\n\nactor FullCoffee 17079\n{\n//$Category ComHotel-Objects\n-SOLID\nscale 2.5\nspeed 0\nradius 8\nheight 12\n-NOGRAVITY\nStates\n{\nSpawn:\nCOFE A 5 A_SpawnItemEx(\"CoffeeSteam\",0,0,14)\nCOFE A 0 A_SpawnItemEx(\"CoffeeCloud\",random(-4,4),random(-4,4),14,0,0,2,0,0,171)\nCOFE A 0 A_SpawnItemEx(\"CoffeeCloud\",random(-4,4),random(-4,4),14,0,0,2,0,0,171)\nCOFE A 5\nloop\n}\n}\n\nactor CoffeeSteam\n{\n-SOLID\nscale 2.0\nradius 8\nheight 12\n+NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCOFE BC 5\nstop\n}\n}\n\nactor CoffeeCloud\n{\n-SOLID\nscale 2.5\nradius 5\nheight 5\n+NOGRAVITY\n+CLIENTSIDEONLY\nreactiontime 5\nStates\n{\nSpawn:\nCOFE D 0\nCOFE D 0 A_Jump(256,\"Big\",\"Small\")\ngoto Big\nBig:\nCOFE D 0 A_SetScale(2.5)\ngoto Body\nSmall:\nCOFE D 0 A_SetScale(1.8)\nCOFE D 0 A_SetAngle(angle+180)\ngoto Body\nBody:\nCOFE D 0 A_Jump(256,\"Full\",\"Blank\")\ngoto Full\nFull:\nCOFE D 0\ngoto Wave\nBlank:\nCOFE E 0\ngoto Wave\nWave:\n\"----\" D 2 A_CStaffMissileSlither\n\"----\" D 0 A_CountDown\n\"----\" D 0 A_FadeOut(0.2)\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\n//Ivan\n//Ivan's trusty alarm clock. The alarm is turned off, though...\nactor IvanAlarm 32762\n{\n//$Category ComHotel-Objects\nRadius 8\nHeight 12\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCLOC A -1\nstop\n}\n}\n\n//The monitor from Ivan's PC. The screensaver has a little girl dressed like a sailor riding a shark. It changes from time to time.\nactor IvanMonitor 32761\n{\n//$Category ComHotel-Objects\nRadius 12\nHeight 47\nscale 2.5\n+CLIENTSIDEONLY\n+SOLID\nStates\n{\nSpawn:\nMONI A -1\nstop\n}\n}\n\n//The keyboard from Ivan's PC. A bit dusty, but it works perfectly.\nactor IvanKeyboard 32760\n{\n//$Category ComHotel-Objects\nRadius 10\nHeight 8\nscale 2.5\n//+CLIENTSIDEONLY\n+USESPECIAL\nActivation THINGSPEC_ThingActs|THINGSPEC_ThingTargets|THINGSPEC_NoDeathSpecial\nStates\n{\nSpawn:\nKEYB A 0 A_ChangeFlag(\"USESPECIAL\",1)\nKEYB A 5\ngoto Spawn+1\nSee:\nKEYB A 0 A_ChangeFlag(\"USESPECIAL\",0)\nKEYB A 80\nGoto Spawn\n}\n}\n\n//The mouse from Ivan's PC. Efficient, good looking and doesn't need to eat! ... It works with batteries, however.\nactor IvanMouse 32759\n{\n//$Category ComHotel-Objects\nRadius 1\nHeight 4\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nMOUS A -1\nstop\n}\n}\n\n//The CPU from Ivan's PC. If you want to access the data within, you'll need to *use* a password.\nactor IvanCPU 32758\n{\n//$Category ComHotel-Objects\nRadius 12\nHeight 41\nscale 2.5\n+CLIENTSIDEONLY\n+SOLID\nStates\n{\nSpawn:\nCOMP A -1\nstop\n}\n}\n\nactor FireDevilItems 17127\n{\n//$Category ComHotel-Objects\nRadius 16\nHeight 16\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nAZFP A 0\nTNT1 A 0 A_JumpIf(args[0]==0  , \"ItemR\")\nTNT1 A 0 A_JumpIf(args[0]==1  , \"Item1\")\nTNT1 A 0 A_JumpIf(args[0]==2  , \"Item2\")\nTNT1 A 0 A_JumpIf(args[0]==3  , \"Item3\")\nTNT1 A 0 A_JumpIf(args[0]==4  , \"Item4\")\nTNT1 A 0 A_JumpIf(args[0]==5  , \"Item5\")\nTNT1 A 0 A_JumpIf(args[0]==6  , \"Item6\")\nTNT1 A 0 A_JumpIf(args[0]==7  , \"Item7\")\nTNT1 A 0 A_JumpIf(args[0]==8  , \"Item8\")\nItemR:\nTNT1 A 0 A_Jump(256,\"Item1\",\"Item2\",\"Item3\",\"Item4\",\"Item5\",\"Item6\",\"Item7\",\"Item8\")\nItem1:\nAZFP A -1\nstop\nItem2:\nAZFP B -1\nstop\nItem3:\nAZFP C -1\nstop\nItem4:\nAZFP D -1\nstop\nItem5:\nAZFP E -1\nstop\nItem6:\nAZFP F -1\nstop\nItem7:\nAZFP G -1\nstop\nItem8:\nAZFP H -1\nstop\n}\n}\n\n//Dimpsy\nactor DimpsyPuyo 17146\n{\n//$Category ComHotel-Objects\nscale 1.5\nradius 16\nheight 29\n+SOLID\n+CANPASS\nStates\n{\nSpawn:\nPUPF A 0\nTNT1 A 0 A_JumpIf(args[0]==0  , \"ItemR\")\nTNT1 A 0 A_JumpIf(args[0]==1  , \"GreenP\")\nTNT1 A 0 A_JumpIf(args[0]==2  , \"BlueP\")\nTNT1 A 0 A_JumpIf(args[0]==3  , \"RedP\")\nTNT1 A 0 A_JumpIf(args[0]==4  , \"YellowP\")\nTNT1 A 0 A_JumpIf(args[0]==5  , \"PurpleP\")\nTNT1 A 0 A_JumpIf(args[0]==6  , \"RockP\")\nItemR:\nTNT1 A 0 A_Jump(256,\"GreenP\",\"BlueP\",\"RedP\",\"YellowP\",\"PurpleP\",\"RockP\")\nGreenP:\nPUPF A -1\nstop\nBlueP:\nPUPF B -1\nstop\nRedP:\nPUPF C -1\nstop\nYellowP:\nPUPF D -1\nstop\nPurpleP:\nPUPF E -1\nstop\nRockP:\nPUPF F -1\nstop\n}\n}\n\nactor DimpsyArmorStand 17147\n{\n//$Category ComHotel-Objects\nradius 16\nheight 56\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nMSFA A 0\nTNT1 A 0 A_JumpIf(args[0]==0  , \"ItemR\")\nTNT1 A 0 A_JumpIf(args[0]==1  , \"Pegasus\")\nTNT1 A 0 A_JumpIf(args[0]==2  , \"Ninja\")\nTNT1 A 0 A_JumpIf(args[0]==3  , \"Joker\")\nItemR:\nTNT1 A 0 A_Jump(256,\"Pegasus\",\"Ninja\",\"Joker\")\nPegasus:\nMSFA A -1\nstop\nNinja:\nMSFA B -1\nstop\nJoker:\nMSFA C -1\nstop\n}\n}\n\nactor DevionStatue 17148\n{\n//$Category ComHotel-Objects\nscale 1.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDVNS T -1\nstop\n}\n}\n\nactor DrPepperCan 17149\n{\n//$Category ComHotel-Objects\nscale 2.0\nradius 8\nheight 26\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDCTR P -1\nstop\n}\n}\n\nactor DimpsyChair 17150\n{\n//$Category ComHotel-Objects\nscale 2.5\nradius 15\nheight 22.5\n+SOLID\n-NOGRAVITY\nStates\n{\nSpawn:\nDMPC H -1\nstop\n}\n}\n\nactor ShieldMonitor 17168\n{\n//$Category ComHotel-Objects\nscale 2.0\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nSNIM C -1\nstop\n}\n}\n\nactor DimpsyPaperBag 17169\n{\n//$Category ComHotel-Objects\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nCHOP H -1\nstop\n}\n}\n\nactor DimpsyOtherThing 17170 //No clue what this is...\n{\n//$Category ComHotel-Objects\nscale 2.0\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nSPCC D -1\nstop\n}\n}\n\nactor DimpsyMonitor 17171\n{\n//$Category ComHotel-Objects\nRadius 16\nHeight 44\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDMPC D -1\nstop\n}\n}\n\nactor ETankMug 17172\n{\n//$Category ComHotel-Objects\nscale 2.0\nradius 8\nheight 26\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nETMG A -1\nstop\n}\n}\n\nactor MetHelmet : MetoolProp 17176\n{\n//$Category ComHotel-Objects\nStates\n{\nSpawn:\nMETT D -1\nstop\n}\n}\n\n/*actor AshiePaintCan 17093\n{\n//$Category CommunityHotel\n-SOLID\nscale 2.5\nradius 10\nheight 30\n-NOGRAVITY\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nPTCN A -1\nstop\n}\n}*/"
      },
      {
        "source": "pk3",
        "name": "actors/props/PropPlay.txt",
        "contents": "//Toys and video games\n\n//WaterGrill's Doll\nactor GeekieDoll 32767\n{\n//$Category ComHotel-Play\nRadius 8\nHeight 24\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDOLL A -1\nstop\n}\n}\n\n//Yairdude's doll\nactor TopkekDoll 32766\n{\n//$Category ComHotel-Play\nRadius 8\nHeight 24\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nYARG A -1\nstop\n}\n}\n\n//LD DOLL- WHO WOULD WANT THIS FUGLY THING?!\nactor FuglyDoll 32765\n{\n//$Category ComHotel-Play\nRadius 8\nHeight 24\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDOLL B -1\nstop\n}\n}\n\n//Spin 2 Win.\nactor TopkekSpinnerDoll 32764\n{\n//$Category ComHotel-Play\nRadius 8\nHeight 24\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nYARG A 1\ngoto Spin2Win\nSpin2Win:\nYARG A 1 A_SetAngle(angle-20.0)\nloop\n}\n}\n\n//Touch soft helmet\nactor SoftAmiibo 32763\n{\n//$Category ComHotel-Play\nscale 1.0\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nSHLM A -1\nstop\n}\n}\n\nactor KiroDoll 17088\n{\n//$Category ComHotel-Play\nRadius 8\nHeight 24\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nNPCK S -1\nstop\n}\n}\n\nactor HilDoll 17090\n{\n//$Category ComHotel-Play\nRadius 17\nHeight 15\nscale 1.6\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nHILN T -1\nstop\n}\n}\n\nactor RiceDoll 17121\n{\n//$Category ComHotel-Play\nRadius 16\nHeight 16\nscale 2.0\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nRCDL S -1\nstop\n}\n}\n\n//Sly\nactor SlyController : NPCBaseCH 17126\n{\n//$Category ComHotel-Play\nRadius 7\nHeight 4\nscale 1.0\n-SOLID\nStates\n{\nSpawn:\nNESC J 0 A_ChangeFlag(\"USESPECIAL\",1)\nNESC J 5\ngoto Spawn+1\nTalking:\nStandby:\nNESC J 0 A_ChangeFlag(\"USESPECIAL\",0)\nNESC J 80\nGoto Spawn\n}\n}\n\n//Ivan\n//A doll of Pharaoh Man. Too epic for words.\nactor PharaohDoll 32757\n{\n//$Category ComHotel-Play\nRadius 1\nHeight 3\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nRM4P A -1\nstop\n}\n}\n\n//A doll of Skull Man. It's set in a funny-looking pose.\nactor SkullDoll 32756\n{\n//$Category ComHotel-Play\nRadius 1\nHeight 3\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nRM4S A -1\nstop\n}\n}\n\n//A doll of Snake Man. When looked at from afar, looks like its helmet was its head.\nactor SnekDoll 32755\n{\n//$Category ComHotel-Play\nRadius 1\nHeight 3\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nSNEK A -1\nstop\n}\n}\n\n//Dimpsy\nactor DimpsySwitch : NPCBaseCH 17142\n{\n//$Category ComHotel-Play\nRadius 10\nHeight 10\nscale 2.0\n-SOLID\nStates\n{\nSpawn:\nNSWT C 0 A_ChangeFlag(\"USESPECIAL\",1)\nNSWT C 5\ngoto Spawn+1\nTalking:\nStandby:\nNSWT C 0 A_ChangeFlag(\"USESPECIAL\",0)\nNSWT C 80\nGoto Spawn\n}\n}\n\nactor Dimpsy3DS 17143\n{\n//$Category ComHotel-Play\nscale 2.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nN3DS H -1\nstop\n}\n}\n\nactor DimpsyAmiibo 17144\n{\n//$Category ComHotel-Play\nscale 1.0\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDPSA A 0\nTNT1 A 0 A_JumpIf(args[0]==0  , \"ItemR\")\nTNT1 A 0 A_JumpIf(args[0]==1  , \"Mega\")\nTNT1 A 0 A_JumpIf(args[0]==2  , \"Kirby\")\nTNT1 A 0 A_JumpIf(args[0]==3  , \"Splat\")\nTNT1 A 0 A_JumpIf(args[0]==4  , \"Pit\")\nTNT1 A 0 A_JumpIf(args[0]==5  , \"Palu\")\nItemR:\nTNT1 A 0 A_Jump(256,\"Mega\",\"Kirby\",\"Splat\",\"Pit\",\"Palu\")\nMega:\nDPSA A -1\nstop\nKirby:\nDPSA B -1\nstop\nSplat:\nDPSA C -1\nstop\nPit:\nDPSA D -1\nstop\nPalu:\nDPSA E -1\nstop\n}\n}\n\nactor DimpsyDoll 17145\n{\n//$Category ComHotel-Play\nscale 1.5\n+CLIENTSIDEONLY\nStates\n{\nSpawn:\nDPSD A 0\nTNT1 A 0 A_JumpIf(args[0]==0  , \"ItemR\")\nTNT1 A 0 A_JumpIf(args[0]==1  , \"Sonia\")\nTNT1 A 0 A_JumpIf(args[0]==2  , \"Taiga\")\nTNT1 A 0 A_JumpIf(args[0]==3  , \"Aqua\")\nTNT1 A 0 A_JumpIf(args[0]==4  , \"Akko\")\nTNT1 A 0 A_JumpIf(args[0]==5  , \"Glace\")\nItemR:\nTNT1 A 0 A_Jump(256,\"Sonia\",\"Taiga\",\"Aqua\",\"Akko\",\"Glace\")\nSonia:\nDPSD A -1\nstop\nTaiga:\nDPSD B -1\nstop\nAqua:\nDPSD C -1\nstop\nAkko:\nDPSD D -1\nstop\nGlace:\nDPSD E -1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/PropItems.txt",
        "contents": "//Special pickups\n\nactor CrackerItem : CustomInventory 17124\n{\n//$Category ComHotel-Items\ninventory.amount 6\ninventory.maxamount 100\nInventory.RespawnTics 175\ninventory.pickupmessage \"Oh hey! It's a box of crackers.\"\nTag \"Plain Cracker\"\ninventory.icon \"CRACKERZ\"\nInventory.PickupSound \"item/1up\"\ninventory.usesound \"item/refill\"\n+INVBAR\n-COUNTITEM\nscale 2.0\nStates\n{\nSpawn:\nCRKN E 5\nloop\nUse:\nTNT1 A 0\nTNT1 A 0 A_PlaySound(\"item/energyup\")\nTNT1 A 0 HealThing(5)\nstop\n}\n}\n\nactor HotKettle 17155\n{\n//$Category ComHotel-Items\n-SOLID\nscale 2.0\nradius 8\nheight 12\n-NOGRAVITY\nStates\n{\nSpawn:\nRNIT B 0\nRNIT B 55\ngoto HeatUp\nHeatUp:\nRNIT B 0 A_JumpIfInventory(\"CutterFlag\",30,\"CanUse\")\nRNIT B 0 A_JumpIfInventory(\"WeaponCharge\",40,\"HeatUp2\")\nRNIT B 0 A_JumpIfInventory(\"WeaponCharge\",70,\"HeatUp3\")\nRNIT B 0 A_PlaySoundEx(\"weapon/heat1\", \"Weapon\")\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2,0,0,206)\nRNTI B 0 A_GiveInventory(\"WeaponCharge\",4)\nRNIT B 4\nRNIT B 0 A_GiveInventory(\"CutterFlag\",1)\nloop\nHeatUp2:\nRNIT B 0 A_JumpIfInventory(\"CutterFlag\",30,\"CanUse\")\nRNIT B 0 A_JumpIfInventory(\"WeaponCharge\",70,\"HeatUp3\")\nRNIT B 0 A_PlaySoundEx(\"weapon/heat2\", \"Weapon\")\nRNTI B 0 A_GiveInventory(\"WeaponCharge\",4)\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2,0,0,156)\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2,0,0,206)\nRNIT B 4\nRNIT B 0 A_GiveInventory(\"CutterFlag\",1)\nloop\nHeatUp3:\nRNIT B 0 A_JumpIfInventory(\"CutterFlag\",30,\"CanUse\")\nRNIT B 0 A_PlaySoundEx(\"weapon/heat3\", \"Weapon\")\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2)\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2,0,0,156)\nRNTI B 0 A_GiveInventory(\"WeaponCharge\",4)\nRNIT B 4\nRNIT B 0 A_GiveInventory(\"CutterFlag\",1)\nloop\nCanUse:\nRNIT B 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 16, 0, 0, \"See\")\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2)\nRNIT B 0 A_SpawnItemEx(\"KettleCloud\",random(-12,12),random(-12,12),22,0,0,2,0,0,156)\nloop\nSee:\nRNIT B 0 A_SpawnItemEx(\"HotKettleItem\",random(-32,32),random(-32,32),0)\nRNIT B 0 A_ClearTarget\nRNIT B 0 A_TakeInventory(\"WeaponCharge\",0)\nRNIT B 0 A_TakeInventory(\"CutterFlag\",0)\nTNT1 A 35\ngoto Spawn\n}\n}\nactor HotKettleBall : WaterBalloon\n{\ndamage (10)\ndamagetype \"HotKettle\"\nObituary \"%o got blisters from %k's boiling water.\"\nTranslation \"4:4=4:4\", \"80:82=4:4\", \"192:192=4:4\", \"62:62=68:68\", \"197:198=68:68\"\nStates\n{\nSpawn:\nWTRB B 0\nWTRB B 0 ThrustThingZ(0, 1, 0, 1)\nWTRB BCD 2\nloop\nDeath:\nWTRB K 0 A_ChangeFlag(\"NOGRAVITY\", 1)\nWTRB K 0 A_Stop\nWTRB K 0 A_PlaySoundEx(\"misc/splash\", \"Weapon\")\nWTRB K 0 A_Explode(15,64,0)\nWTRB K 0 A_JumpIf(ceilingz-z<16,\"DeathUp\")\nWTRB K 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,2,random(0,359))\nWTRB K 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,2,random(0,359))\nWTRB K 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,2,random(0,359))\nWTRB K 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,2,random(0,359))\nWTRB KLMN 2 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,2,random(0,359))\nstop\nDeathUp:\nWTRB O 0\nWTRB O 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,0,random(0,359))\nWTRB O 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,0,random(0,359))\nWTRB O 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,0,random(0,359))\nWTRB O 0 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,0,random(0,359))\nWTRB OPQR 2 A_SpawnItemEx(\"KettleCloud\",random(-18,18),random(-18,18),random(-8,8),0,0,0,random(0,359))\nstop\n}\n}\nactor HotKettleItem : CustomInventory //17155\n{\n//$Category ComHotel-Items\ninventory.amount 1\ninventory.maxamount 5\nInventory.RespawnTics 175\ninventory.pickupmessage \"Picked up a kettle of hot water.\"\nTag \"Hot water\"\ninventory.icon \"SLYHOT\"\nInventory.PickupSound \"item/1up\"\n+INVBAR\n-COUNTITEM\nscale 2.5\nStates\n{\nSpawn:\nRNIT B 35\nstop\nUse:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/heat3\", \"Weapon\")\nTNT1 A 0 A_FireCustomMissile(\"HotKettleBall\",0,0,8,0)\nstop\n}\n}\n\nactor KettleCloud : CoffeeCloud\n{\nStates\n{\nSpawn:\nCOFE D 0\nCOFE D 0 A_Jump(256,\"Big\",\"Big\",\"Small\")\ngoto Big\nBig:\nCOFE D 0 A_SetScale(5.0)\ngoto Body\nSmall:\nCOFE D 0 A_SetScale(2.5)\nCOFE D 0 A_SetAngle(angle+180)\ngoto Body\nBody:\nCOFE D 0 A_Jump(256,\"Full\",\"Blank\")\ngoto \"Super::Full\"\n}\n}\n\nactor IceBucketItem : CustomInventory 17156\n{\n//$Category ComHotel-Items\ninventory.amount 1\ninventory.maxamount 5\nInventory.RespawnTics 175\ninventory.pickupmessage \"Picked up a bucket of cold water.\"\nTag \"Cold water\"\ninventory.icon \"SLYCOLD\"\nInventory.PickupSound \"item/1up\"\n+INVBAR\n-COUNTITEM\nscale 2.0\nStates\n{\nSpawn:\nRNIT A 5\nloop\nUse:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/waterwave\", \"Weapon\")\nTNT1 A 0 A_FireCustomMissile(\"IceBucketBall\",0,0,8,0)\nstop\n}\n}\nactor IceBucketBall : WaterBalloon\n{\ndamage (10)\ndamagetype \"IceBucket\"\nObituary \"%o took %k's Ice Bucket Challenge!\"\nTranslation \"4:4=202:202\", \"80:82=202:202\", \"192:192=71:71\", \"62:62=75:75\", \"197:198=75:75\"\nStates\n{\nDeath:\nWTRB K 0 A_ChangeFlag(\"NOGRAVITY\", 1)\nWTRB K 0 A_Stop\nWTRB K 0 A_PlaySoundEx(\"misc/splash\", \"Weapon\")\nWTRB K 0 A_Explode(15,64,0)\nWTRB K 0 A_JumpIf(ceilingz-z<16,\"DeathUp\")\nWTRB KLMN 2\nstop\n}\n}\n\nactor OnigiriItem : CustomInventory 17129\n{\n//$Category ComHotel-Items\ninventory.amount 1\ninventory.maxamount 10\nInventory.RespawnTics 175\ninventory.pickupmessage \"Picked up a rice ball.\"\nTag \"A Rice Ball\"\ninventory.icon \"BBRICE\"\nInventory.PickupSound \"item/1up\"\n+INVBAR\n-COUNTITEM\nscale 2.0\nStates\n{\nSpawn:\nONGR A 5\nloop\nUse:\nTNT1 A 0\nfail\n}\n}\n\nactor HilCoffeeItem : CustomInventory 17092\n{\n//$Category ComHotel-Items\ninventory.amount 1\ninventory.maxamount 10\nInventory.RespawnTics 175\ninventory.pickupmessage \"You took Hil's drink! ...but why though?\"\nTag \"Hil's drink?\"\ninventory.icon \"HILCOFF\"\nInventory.PickupSound \"item/1up\"\ninventory.usesound \"item/refill\"\n+INVBAR\n-COUNTITEM\nscale 2.5\nStates\n{\nSpawn:\nCOFE A 5 A_SpawnItemEx(\"CoffeeSteam\",0,0,14)\nCOFE A 0 A_SpawnItemEx(\"CoffeeCloud\",random(-4,4),random(-4,4),14,0,0,2,0,0,171)\nCOFE A 0 A_SpawnItemEx(\"CoffeeCloud\",random(-4,4),random(-4,4),14,0,0,2,0,0,171)\nCOFE A 5\nloop\nUse:\nTNT1 A 1 A_GiveInventory(\"HilDrinkFlag\",1)\nTNT1 A 0 A_JumpIfInventory(\"HilSugarTimer\",1,\"SugarRush\")\nTNT1 A 0 A_JumpIfInventory(\"HilDrinkFlag\",10,\"SugarRush\")\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_hildrink\",0,0)\nTNT1 A 0 A_Jump(256,\"HealH\",\"SpeedH\",\"PowerH\",\"GuardH\")\nstop\nHealH:\nTNT1 A 0 A_PlaySound(\"item/energyup\")\nTNT1 A 0 HealThing(10)\nTNT1 A 1 A_Print(\"You feel extra vitality flowing into you.\",2)\nstop\nSpeedH:\nTNT1 A 0 A_GiveInventory(\"HilDrinkS\",1)\nTNT1 A 1 A_Print(\"You feel extremely skittish.\",2)\nstop\nPowerH:\nTNT1 A 0 A_GiveInventory(\"HilDrinkA\",1)\nTNT1 A 1 A_Print(\"You feel the strength to break down a door.\",2)\nstop\nGuardH:\nTNT1 A 0 A_GiveInventory(\"HilDrinkD\",1)\nTNT1 A 1 A_Print(\"You feel like your body turned rock-solid.\",2)\nstop\nSugarRush:\nTNT1 A 0 A_TakeInventory(\"HilSugarDelay\",1)\nTNT1 A 0 A_TakeInventory(\"HilDrinkFlag\",0)\nTNT1 A 0 A_PlaySound(\"item/energyup\")\nTNT1 A 0 HealThing(20)\nTNT1 A 0 ACS_NamedExecuteAlways(\"ch_hilsugarrush\",0,0)\nstop\n}\n}\nactor HilDrinkFlag : Inventory\n{\ninventory.amount 1\ninventory.maxamount 10\n}\nactor HilSugarDelay : Powerup\n{\npowerup.duration -10\n}\nactor HilDrinkS : PowerSpeed\n{\npowerup.duration 175\nspeed 2.0\n}\nactor HilDrinkA : PowerDamage\n{\npowerup.duration 175\ndamagefactor \"normal\", 2.0\n}\nactor HilDrinkD : PowerProtection\n{\npowerup.duration 175\ndamagefactor \"normal\", 0.5\n}\nactor HilSugarTimer : Powerup\n{\npowerup.duration -90\n}\nactor HilSugarTimerExtend : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\nStates\n{\nUse:\nTNT1 A 0 A_GiveInventory(\"HilSugarTimer\",1)\nstop\n}\n}\nactor HilSugarS : PowerSpeed\n{\npowerup.duration 0x7FFFFFFF\nspeed 2.0\n}\nactor HilSugarA : PowerDamage\n{\npowerup.duration 0x7FFFFFFF\ndamagefactor \"normal\", 2.0\n}\nactor HilSugarD : PowerProtection\n{\npowerup.duration 0x7FFFFFFF\ndamagefactor \"normal\", 0.5\n}\nactor HilSugarCrash : PowerProtection\n{\npowerup.duration -10\ndamagefactor \"normal\", 1.5\n}\nactor HilSugarCrashSleep : CustomInventory\n{\n+INVENTORY.AUTOACTIVATE\nStates\n{\nUse:\nTNT1 A 0 A_SetBlend(\"0 0 0\", 0.9, 350)//, \"0 0 0\", 0.9)\nstop\n}\n}\n\nactor BeanTacoItem : CustomInventory 17167\n{\n//$Category ComHotel-Items\ninventory.amount 1\ninventory.maxamount 5\nInventory.RespawnTics 175\ninventory.pickupmessage \"Picked up a taco al pastor.\"\nTag \"Taco al pastor(not a taco shell, mind you)\"\ninventory.icon \"BEANTACO\"\nInventory.PickupSound \"item/1up\"\ninventory.usesound \"item/refill\"\n+INVBAR\n-COUNTITEM\nscale 2.0\nStates\n{\nSpawn:\nCHFD A 5\nloop\nUse:\nTNT1 A 0 A_PlaySound(\"item/energyup\")\nTNT1 A 0 HealThing(30)\nTNT1 A 0 A_GiveInventory(\"TacoStrength\",1)\nTNT1 A 1 A_Print(\"That taco was a bit spicy.\",2)\nstop\n}\n}\nactor TacoStrength : PowerDamage\n{\npowerup.duration 245\ndamagefactor \"normal\", 2.0\n}\n\nactor GibusRose 17166\n{\n//$Category ComHotel-Items\n-SOLID\nscale 2.0\nradius 8\nheight 12\n-NOGRAVITY\nStates\n{\nSpawn:\nPGBR M 5 A_LookEx(LOF_NOSOUNDCHECK, 0, 16, 0, 0, \"See\")\nloop\nSee:\nPGBR N 0 A_PlaySoundEx(\"misc/itemthrow\",\"Voice\")\nPGBR N 0 A_SpawnItemEx(\"GibusRoseItem\",random(-32,32),random(-32,32),0)\nPGBR N 0 A_ClearTarget\nPGBR N 175\ngoto Spawn\n}\n}\nactor GibusRoseItem : CustomInventory\n{\ninventory.amount 1\ninventory.maxamount 10\ninventory.pickupmessage \"Took a rose from the vase.\"\ninventory.icon \"GROSEICO\"\nInventory.PickupSound \"item/1up\"\ntag \"A rose\"\nscale 2.0\n+INVBAR\nstates\n{\nSpawn:\nPGBR X 5\nloop\nUse:\nPGBR X 0 A_JumpIfInventory(\"ReadingAClue\",1,\"NoUse\")\nPGBR X 0 A_GiveInventory(\"ReadingAClue\",1)\ngoto Success\nSuccess:\nPGBR X 1 A_Print(\"What a fragrant aroma. Will you give this to a special someone?\",3)\nfail\nNoUse:\nPGBR X 1\nfail\nDeath:\nTNT1 A 0\nstop\n}\n}\n\n//Keys\nactor KiroKeyX : CustomInventory 17073\n{\n//$Category ComHotel-Items\n-COUNTITEM\n-INVBAR\n+INVENTORY.AUTOACTIVATE\ninventory.pickupmessage \"Picked up a Blood Key.\"\nInventory.RespawnTics 350\nscale 1.0\nstates\n{\nSpawn:\nCHKY A 1\nloop\nPickup:\nCHKY A 0 A_JumpIfInventory(\"KiroKey\", 1, \"NoUse\")\nCHKY A 0 A_GiveInventory(\"KiroKey\",1)\nCHKY A 1\nstop\nNoUse:\nCHKY A 1\nfail\n}\n}\nactor KiroKey : Key\n{\ninventory.pickupmessage \"Picked up a Blood Key.\"\ninventory.icon \"KIROKEY\"\ntag \"Blood Key\"\nInventory.RespawnTics 350\ninventory.amount 1\ninventory.maxamount 1\nScale 1.0\n+INVBAR\nstates\n{\nSpawn:\nCHKY A -1\nstop\n}\n}\n\nactor RiceKeyX : CustomInventory 17128\n{\n//$Category ComHotel-Items\n-COUNTITEM\n-INVBAR\n+INVENTORY.AUTOACTIVATE\ninventory.pickupmessage \"A Stylish Keycard! But where to use it?\"\nInventory.RespawnTics 350\nscale 1.0\nstates\n{\nSpawn:\nCHKY C 1\nloop\nPickup:\nCHKY C 0 A_JumpIfInventory(\"RiceKey\", 1, \"NoUse\")\nCHKY C 0 A_GiveInventory(\"RiceKey\",1)\nCHKY C 1\nstop\nNoUse:\nCHKY C 1\nfail\n}\n}\nactor RiceKey : Key\n{\ninventory.pickupmessage \"A Stylish Keycard! But where to use it?\"\ninventory.icon \"BBCARD\"\ntag \"Stylish Key Card\"\nInventory.RespawnTics 350\ninventory.amount 1\ninventory.maxamount 1\nScale 1.0\n+INVBAR\nstates\n{\nSpawn:\nCHKY C -1\nstop\n}\n}\n\nactor DimpsyKeyX : CustomInventory //Dropped by Dimpsy\n{\n//$Category ComHotel-Items\n-COUNTITEM\n-INVBAR\n+INVENTORY.AUTOACTIVATE\ninventory.pickupmessage \"You obtained a special Room Key!\"\nscale 2.5\nstates\n{\nSpawn:\nCHKY D 350\nstop\nPickup:\nCHKY D 0 A_JumpIfInventory(\"DimpsyKey\", 1, \"NoUse\")\nCHKY D 0 A_GiveInventory(\"DimpsyKey\",1)\nCHKY D 1\nstop\nNoUse:\nCHKY D 1\nfail\n}\n}\nactor DimpsyKey : Key\n{\ninventory.pickupmessage \"You obtained a special Room Key!\"\ninventory.icon \"DMPSKC\"\ntag \"Dimpsy's Room Key\"\nInventory.RespawnTics 350\ninventory.amount 1\ninventory.maxamount 1\nScale 2.5\n+INVBAR\nstates\n{\nSpawn:\nCHKY D -1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/HilClues.txt",
        "contents": "//Fetch quest things\n\nactor HilHuntMode : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\nactor HilNearDone : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\nactor ReadingAClue : Powerup\n{\npowerup.duration 105\n}\nactor HilClearClues : CustomInventory\n{\n-COUNTITEM\n-INVBAR\nstates\n{\nPickup:\nTNT1 A 0\nTNT1 A 0 A_TakeInventory(\"HilCoinClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilCafeCoupon\",0)\nTNT1 A 0 A_TakeInventory(\"HilCafeDrink\",0)\nTNT1 A 0 A_TakeInventory(\"HilCafeDrink2\",0)\nTNT1 A 0 A_TakeInventory(\"HilFirstClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilBoxClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilLunchClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilBluClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilBeachClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilMeowClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilIvanClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilBassClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilSlyClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilParrotClue\",0)\nTNT1 A 0 A_TakeInventory(\"HilNearDone\",0)\nstop\n}\n}\n\nactor HilClueBase : CustomInventory\n{\n-COUNTITEM\n+INVBAR\nscale 2.0\ninventory.amount 1\ninventory.maxamount 1\nstates\n{\nSpawn:\nTNT1 A 1\nstop\nUse:\nTNT1 A 0 A_JumpIfInventory(\"ReadingAClue\",1,\"NoUse\")\nTNT1 A 0 A_GiveInventory(\"ReadingAClue\",1)\nTNT1 A 0 A_Jump(256,\"Success\")\ngoto Success\nSuccess:\nTNT1 A 1\nfail\nNoUse:\nTNT1 A 1\nfail\n}\n}\n\nactor HilPickupBase : CustomInventory\n{\n-COUNTITEM\n-INVBAR\n+INVENTORY.AUTOACTIVATE\nInventory.RespawnTics 350\nscale 2.0\nInventory.PickupSound \"item/1up\"\ninventory.pickupmessage \" \"\nstates\n{\nSpawn:\nTNT1 A 1\nloop\nPickup:\nTNT1 A 0\nstop\n}\n}\n\nactor HilCoinClue : HilClueBase\n{\ntag \"Hil's Bronze Coin\"\ninventory.icon \"HILKEYA\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"Hey, the face on this coin looks like someone.\",3)\nfail\n}\n}\n\nactor HilKey : Key\n{\ninventory.pickupmessage \"Oh hey! It's a premium TV access.\"\ninventory.icon \"HILKEYX\"\ntag \"TV Premium\"\nInventory.RespawnTics 350\ninventory.amount 1\ninventory.maxamount 1\nScale 2.5\n+INVBAR\nstates\n{\nSpawn:\nCHKY B -1\nstop\n}\n}\n\nactor HilCafeCoupon : HilClueBase\n{\ntag \"ComHotel Cafe Coupon\"\ninventory.icon \"HILKEYB\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"Now please get a drink with this coupon. This will be a long day...\",3)\nfail\n}\n}\nactor HilCafeDrink : HilClueBase\n{\ntag \"ComHotel Cafe Drink\"\ninventory.icon \"HILKEYC\"\ninventory.usesound \"item/refill\"\nstates\n{\nUse:\nTNT1 A 1\nTNT1 A 0 A_PlaySound(\"item/energyup\")\nTNT1 A 0 HealThing(25)\nTNT1 A 0 A_GiveInventory(\"HilDrinkS\",1)\nTNT1 A 0 A_GiveInventory(\"ReadingAClue\",1)\nTNT1 A 0 A_Print(\"You should be meeting up with that basin guy soon.\",3)\nTNT1 A 0 A_GiveInventory(\"HilCafeDrink2\",1)\nstop\n}\n}\nactor HilCafeDrink2 : HilClueBase\n{\ntag \"ComHotel Cafe Drink Cup\"\ninventory.icon \"HILKEYC2\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"You should be meeting up with that basin guy soon.\",3)\nfail\n}\n}\nactor HilFirstClue : HilClueBase\n{\ntag \"Hil's Clue\"\ninventory.icon \"HILKEYD\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"You have a train to catch. The destination shouldn't be too far off.\",3)\nfail\n}\n}\nactor HilBoxClue : HilClueBase\n{\ntag \"Toy Box\"\ninventory.icon \"HILKEYE\"\nstates\n{\nSuccess:\nTNT1 A 0 A_PlaySoundEx(\"misc/partyball\",\"Voice\")\nTNT1 A 1 A_Print(\"I know you just had a drink, but didn't this training work up an appetite?\",3)\nfail\n}\n}\nactor HilLunchClue : HilClueBase\n{\ntag \"Lunch Bag\"\ninventory.icon \"HILKEYF\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"For being a good sport, you deserve a break. Maybe you can take a seat outside.\",3)\nfail\n}\n}\nactor HilBluClue : HilClueBase\n{\ntag \"Blu's Clue\"\ninventory.icon \"HILKEYG\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"When the going gets rough, you just have to shore up your act.\",3)\nfail\n}\n}\nactor HilBeachClue : HilClueBase\n{\ntag \"Sticky Shell\"\ninventory.icon \"HILKEYH\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"Too confusing yet? A cat-nap would be useful to clear your head...\",3)\nfail\n}\n}\nactor HilMeowClue : HilClueBase\n{\ntag \"Note in a Bottle\"\ninventory.icon \"HILKEYI\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"When you cannot compute the situation, you shall go down.\\nA code is written on this note.\",3)\nfail\n}\n}\nactor HilIvanClue : HilClueBase\n{\ntag \"Ivan's Clue\"\ninventory.icon \"HILKEYJ\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"You know, I'd tell you to retrace your steps, but I should stop beating around the bush.\",3)\nfail\n}\n}\nactor HilBassClue : HilClueBase\n{\ntag \"Bass44's Clue\"\ninventory.icon \"HILKEYK\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"You have made it quite far. By this point, the only way is up.\",3)\nfail\n}\n}\nactor HilSlyClue : HilClueBase\n{\ntag \"Go See Crackers\"\ninventory.icon \"HILKEYL\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"I saw Man of Hils the other day give something to My pet Crackers\",3)\nfail\n}\n}\nactor HilParrotClue : HilClueBase\n{\ntag \"Crackers's Clue\"\ninventory.icon \"HILKEYM\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"When it comes to doing cool things, it's best to play it safe at home.\",3)\nfail\n}\n}\n\nactor HilFinalClue : HilClueBase\n{\ntag \"Hil's Blue Coin\"\ninventory.icon \"HILKEYY\"\nstates\n{\nSuccess:\nTNT1 A 1 A_Print(\"Property of Hil? Better go ask him about it.\",3)\nfail\n}\n}\n\nactor HilKeyX : HilPickupBase 17078\n{\n//$Category ComHotel-Items\ninventory.pickupmessage \"Oh hey! It's a bronze coin.\"\ntag \"Hil's Bronze Coin\"\nstates\n{\nSpawn:\nCHKY B 1\nloop\nPickup:\nHXKY X 2 A_JumpIfInventory(\"HilHuntMode\",1,\"NoUse\")\nHXKY X 0 A_JumpIfInventory(\"HilCoinClue\",1,\"NoUse\")\nHXKY X 0 A_GiveInventory(\"HilCoinClue\",1)\nstop\nNoUse:\nHXKY X 0\nfail\n}\n}\n\nactor HilBoxClueX : HilPickupBase 17113\n{\n//$Category ComHotel-Items\ntag \"Toy Box\"\ninventory.pickupmessage \"Oh hey! It's a note-in-a-box. Let's see what's inside.\"\nInventory.PickupSound \"misc/partyball\"\nstates\n{\nSpawn:\nHXKY A 1\nloop\nPickup:\nHXKY A 2 A_JumpIfInventory(\"HilBoxClue\",1,\"NoUse\")\nHXKY A 0 A_JumpIfInventory(\"HilFirstClue\",1,\"Pickup2\")\nfail\nPickup2:\nHXKY A 0 A_TakeInventory(\"HilFirstClue\",1)\nHXKY A 0 A_GiveInventory(\"HilBoxClue\",1)\nHXKY A 0 A_Print(\"I know you just had a drink, but didn't this training work up an appetite?\",3)\nstop\nNoUse:\nHXKY A 0\nfail\n}\n}\nactor HilLunchClueX : HilPickupBase 17114\n{\n//$Category ComHotel-Items\ntag \"Lunch Bag\"\ninventory.pickupmessage \"Oh hey! It's a bag with a poptart in it. Let's read the note attached.\"\nstates\n{\nSpawn:\nHXKY B 1\nloop\nPickup:\nHXKY B 2 A_JumpIfInventory(\"HilLunchClue\",1,\"NoUse\")\nHXKY B 0 A_JumpIfInventory(\"HilBoxClue\",1,\"Pickup2\")\nfail\nPickup2:\nHXKY B 0 A_TakeInventory(\"HilBoxClue\",1)\nHXKY B 0 A_GiveInventory(\"HilLunchClue\",1)\nHXKY B 0 A_Print(\"For being a good sport, you deserve a break. Maybe you can take a seat outside.\",3)\nstop\nNoUse:\nHXKY B 0\nfail\n}\n}\nactor HilBeachClueX : HilPickupBase 17118\n{\n//$Category ComHotel-Items\ntag \"Sticky Shell\"\ninventory.pickupmessage \"Oh hey! It's a sticky shell. Let's look at the note.\"\nstates\n{\nSpawn:\nHXKY C 1\nloop\nPickup:\nHXKY C 2 A_JumpIfInventory(\"HilBeachClue\",1,\"NoUse\")\nHXKY C 0 A_JumpIfInventory(\"HilBluClue\",1,\"Pickup2\")\nfail\nPickup2:\nHXKY C 0 A_TakeInventory(\"HilBluClue\",1)\nHXKY C 0 A_GiveInventory(\"HilBeachClue\",1)\nHXKY C 0 A_Print(\"Too confusing yet? A cat-nap would be useful to clear your head...\",3)\nstop\nNoUse:\nHXKY C 0\nfail\n}\n}\nactor HilMeowClueX : HilPickupBase 17115\n{\n//$Category ComHotel-Items\ntag \"Note in a Bottle\"\ninventory.pickupmessage \"Oh hey! It's a note in a bottle.\"\nstates\n{\nSpawn:\nHXKY D 1\nloop\nPickup:\nHXKY D 2 A_JumpIfInventory(\"HilMeowClue\",1,\"NoUse\")\nHXKY D 0 A_JumpIfInventory(\"HilBeachClue\",1,\"Pickup2\")\nfail\nPickup2:\nHXKY D 0 A_TakeInventory(\"HilBeachClue\",1)\nHXKY D 0 A_GiveInventory(\"HilMeowClue\",1)\nHXKY D 0 A_Print(\"When you cannot compute the situation, you shall go down.\\nA code is written on this note.\",3)\nstop\nNoUse:\nHXKY D 0\nfail\n}\n}\n\nactor HilFinalClueX : HilPickupBase 17116\n{\n//$Category ComHotel-Items\ntag \"Hil's Blue Coin\"\ninventory.pickupmessage \"Oh hey! It's a blue coin.\"\nstates\n{\nSpawn:\nHXKY X 1\nloop\nPickup:\nHXKY X 2 A_JumpIfInventory(\"HilFinalClue\",1,\"NoUse\")\nHXKY X 0 A_TakeInventory(\"HilParrotClue\",1)\nHXKY X 0 A_GiveInventory(\"HilFinalClue\",1)\nstop\nNoUse:\nHXKY X 0\nfail\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/jaxstuff.txt",
        "contents": "//Note: Leaving this here since this guy's coding is a handful\n\nactor JaxProp : NPCBaseCH //Hoping this slight modification doesn't cause a massive hiccup\n{\n//Translation \"192:192=93:93\", \"198:198=4:4\", \"200:240=199:199\"\n//Translation \"192:192=93:93\", \"198:198=199:199\", \"200:240=4:4\"\nTranslation \"192:192=199:199\", \"198:198=4:4\", \"200:240=93:93\", \"50:100=[255,0,0]:[255,0,0]\"\nStates\n{\nSpawn:\nEROB A 0 A_ChangeFlag(\"USESPECIAL\",1)\nEROB A 5\ngoto Spawn+1\nTalking:\nStandby:\nEROB A 0 A_ChangeFlag(\"USESPECIAL\",0)\nEROB A 80\nGoto Spawn\n}\n}\n\nactor JaxNPCCH : JaxProp 17091\n{\n//$Category ComHotel-NPCs\ntag \"JaxOf7\"\nmass 9999\n+SHOOTABLE\n+NOBLOOD\n+QUICKTORETALIATE\n//+ISMONSTER\nPainChance 256\nSpecies \"Jax\"\n//Health 1000\nvar int user_health;\nvar int user_dodgeangle;\nvar int user_dodgepoints;\nvar int user_maxdodgepoints;\nvar int user_startx;\nvar int user_starty;\nvar int user_startz;\nvar int user_startangle;\nvar int user_enemies[65]; //offset by 1 for online issue\nvar int user_currentenemy;\n+SLIDESONWALLS\n//MaxStepHeight 24\nMaxStepHeight 48\nRadiusDamageFactor 0.2\nstates\n{\nSpawn:\nEROB A 0 A_ChangeFlag(\"USESPECIAL\",1)\nEROB A 0 A_JumpIfInventory(\"Once\",1,\"SpawnR\")\nEROB A 0 A_ClearTarget\nEROB A 0 A_SetUserVar(\"user_health\", health)\nEROB A 0 A_SetUserVar(\"user_startx\", x)\nEROB A 0 A_SetUserVar(\"user_starty\", y)\nEROB A 0 A_SetUserVar(\"user_startz\", z)\nEROB A 0 A_SetUserVar(\"user_startangle\", angle)\nEROB A 0 A_SpawnItemEx(\"TeleportFog2\")\nEROB A 0 A_GiveInventory(\"Once\",1)\nSpawnR:\nEROB A 5\nloop\n//goto SpawnT\n//goto \"Super::Spawn\"\n/*SpawnT:\nEROB A 1\nloop*/\nTalking:\nStandby:\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",1)\nGoto \"Super::Talking\"\nPain:\nEROB A 0 A_ChangeFlag(\"USESPECIAL\",0)\nTNT1 A 0 HealThing(user_health - health)\ngoto Dodge\nDodgeEnd:\n//TNT1 A 0 A_LogInt(user_dodgepoints)\n//TNT1 A 0 ACS_ExecuteAlways(407,0,1)\nTNT1 A 0 A_Stop\nEROB A 0 A_GiveInventory(\"JaxStartCheck\",1)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",1)\ngoto Spawn2\nSpawn2:\nEROB A 0 A_JumpIfInventory(\"JaxForgives\",1,\"RespawnJax\")\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nloop\nDeath:\nTNT1 A 0 A_ChangeFlag(\"NOINTERACTION\", 1)\nTNT1 A 0 A_ChangeFlag(\"NOGRAVITY\", 1)\nTNT1 A 0 A_PlaySound(\"misc/metdie\")\n//TNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(20,25)*(random(0,1)*2-1,random(20,25)*(random(0,1)*2-1,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n//TNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(15,20)*(random(0,1)*2-1,random(15,20)*(random(0,1)*2-1,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n//TNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(10,15)*(random(0,1)*2-1,random(10,15)*(random(0,1)*2-1,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\n//TNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(5,10)*(random(0,1)*2-1,random(5,10)*(random(0,1)*2-1,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(-50,50),random(-50,50),0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(-40,40),random(-40,40),0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(-30,30),random(-30,30),0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(-20,20),random(-20,20),0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nTNT1 AA 1 A_SpawnItemEx(\"JaxDeathFX\",random(-10,10),random(-10,10),0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION)\nEROB H 30\nTNT1 A 0 A_PlaySound(\"misc/jaxbich\")\nEROB H 60\nTNT1 A 0 A_PlaySound(\"misc/devildeath\")\nPLY1 H 0 A_SpawnItemEx(\"FakeDeathFX\",0,0,32)\nRespawningJax:\nTNT1 A 0 A_ChangeFlag(\"USESPECIAL\",0)\nTNT1 A 1000\n//TNT1 A 100\nRespawnJax:\nTNT1 A 0 A_SpawnItemEx(\"JaxNPCCH\",user_startx-x,user_starty-y,user_startz-z,0,0,0,user_startangle,SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL|SXF_TELEFRAG,0,tid)\nstop\nDodge:\n//TNT1 A 0 A_LogInt(user_dodgepoints)\n//TNT1 A 0 ACS_ExecuteAlways(407,0,0)\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nTNT1 A 0 A_SetUserVar(\"user_dodgeangle\",random(40,100)*(random(0,1)*2-1))\nTNT1 A 0 A_JumpIfTargetInLos(\"DodgeDistCheck\",0,JLOSF_DEADNOJUMP)\ngoto DodgeBlue1\nDodgeDistCheck:\nTNT1 A 0 A_JumpIfCloser(600,\"Dodge2\")\ngoto DodgeBlue1\nDodge2:\nTNT1 A 0 A_JumpIfInventory(\"JaxBadTime\",1,\"HPExtendCheck\")\nDodge3:\nTNT1 A 0 A_JumpIfCloser(150,\"DodgeRed1\")\nTNT1 A 0 A_JumpIfCloser(350,\"DodgeYellow1\")\ngoto DodgeGreen1\nTrueDodge:\nTNT1 A 0 A_JumpIfCloser(150,\"DodgeRed\")\nTNT1 A 0 A_JumpIfCloser(350,\"DodgeYellow\")\ngoto DodgeGreen\n\nHPExtendCheck:\nTNT1 A 0 A_SetUserVar(\"user_currentenemy\",ACS_ExecuteWithResult(257,1))\nTNT1 A 0 A_JumpIf(user_currentenemy>=0,\"HPExtendCheck2\")\ngoto Dodge3\nHPExtendCheck2:\nTNT1 A 0 A_JumpIf(user_enemies[user_currentenemy+1]==0,\"HPExtend\")\ngoto TrueDodge\nHPExtend:\nTNT1 A 0 A_SetUserVar(\"user_dodgepoints\",user_dodgepoints+7)\nTNT1 A 0 A_SetUserVar(\"user_maxdodgepoints\",user_maxdodgepoints+7)\nTNT1 A 0 A_SetUserArray(\"user_enemies\",user_currentenemy+1,1)\nTNT1 A 0 A_TakeInventory(\"JaxAwfulExperience\",1)\ngoto TrueDodge\n\nDodgeBlue1:\nEROB A 0 A_GiveInventory(\"JaxDodgeTime\",6)\nDodgeBlue2:\nERBO A 0 ThrustThing(angle*256/360+user_dodgeangle,3,1,0)\nEROB A 0 A_SpawnItemEx(\"JaxDodgeFXBlue\")\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nEROB A 0 A_TakeInventory(\"JaxDodgeTime\",1)\nEROB A 0 A_JumpIfInventory(\"JaxDodgeTime\",1,\"DodgeBlue2\")\ngoto DodgeEnd\nDodgeGreen:\nTNT1 A 0 A_SetUserVar(\"user_dodgepoints\",user_dodgepoints-1)\nTNT1 A 0 A_JumpIf(user_dodgepoints<1,\"Death\")\nTNT1 A 0 A_JumpIf((user_dodgepoints>user_maxdodgepoints/4),\"DodgeGreen1\")\nTNT1 A 0 A_GiveInventory(\"JaxAwfulExperience\",1)\nDodgeGreen1:\nEROB A 0 A_GiveInventory(\"JaxDodgeTime\",8)\nDodgeGreen2:\nERBO A 0 ThrustThing(angle*256/360+user_dodgeangle,4,1,0)\nEROB A 0 A_SpawnItemEx(\"JaxDodgeFXGreen\")\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nEROB A 0 A_TakeInventory(\"JaxDodgeTime\",1)\nEROB A 0 A_JumpIfInventory(\"JaxDodgeTime\",1,\"DodgeGreen2\")\ngoto DodgeEnd\nDodgeYellow:\nTNT1 A 0 A_SetUserVar(\"user_dodgepoints\",user_dodgepoints-2)\nTNT1 A 0 A_JumpIf(user_dodgepoints<1,\"Death\")\nTNT1 A 0 A_JumpIf((user_dodgepoints>user_maxdodgepoints/4),\"DodgeYellow1\")\nTNT1 A 0 A_GiveInventory(\"JaxAwfulExperience\",1)\nDodgeYellow1:\nEROB A 0 A_GiveInventory(\"JaxDodgeTime\",10)\nDodgeYellow2:\nERBO A 0 ThrustThing(angle*256/360+user_dodgeangle,5,1,0)\nEROB A 0 A_SpawnItemEx(\"JaxDodgeFXYellow\")\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nEROB A 0 A_TakeInventory(\"JaxDodgeTime\",1)\nEROB A 0 A_JumpIfInventory(\"JaxDodgeTime\",1,\"DodgeYellow2\")\ngoto DodgeEnd\nDodgeRed:\nTNT1 A 0 A_SetUserVar(\"user_dodgepoints\",user_dodgepoints-3)\nTNT1 A 0 A_JumpIf(user_dodgepoints<1,\"Death\")\nTNT1 A 0 A_JumpIf((user_dodgepoints>user_maxdodgepoints/4),\"DodgeRed1\")\nTNT1 A 0 A_GiveInventory(\"JaxAwfulExperience\",1)\nDodgeRed1:\nEROB A 0 A_GiveInventory(\"JaxDodgeTime\",12)\nDodgeRed2:\nERBO A 0 ThrustThing(angle*256/360+user_dodgeangle,6,1,0)\nEROB A 0 A_SpawnItemEx(\"JaxDodgeFXRed\")\nEROB A 1 A_GiveInventory(\"JaxFunc\",1)\nEROB A 0 A_TakeInventory(\"JaxDodgeTime\",1)\nEROB A 0 A_JumpIfInventory(\"JaxDodgeTime\",1,\"DodgeRed2\")\ngoto DodgeEnd\n}\n}\n\nactor JaxStartCheck : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"JaxBadTime\",1,\"PickupNo\")\nEROB A 0 A_GiveInventory(\"JaxNotForgive\",1)\nEROB A 0 A_JumpIfInventory(\"JaxMercy\",2,\"AttackModeStart\")\nEROB A 0 A_GiveInventory(\"JaxMercy\",1)\nstop\nPickupNo:\nTNT1 A 0\nstop\nAttackModeStart:\nEROB A 0 A_GiveInventory(\"JaxBadTimeStart\",1)\nstop\n}\n}\n\nactor JaxBadTimeStart : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"JaxBadTime\",1)\nTNT1 A 0 A_SetUserVar(\"user_dodgepoints\",7)\nTNT1 A 0 A_SetUserVar(\"user_maxdodgepoints\",7)\nTNT1 A 0 A_GiveInventory(\"JaxBlaxtEnergy\",300)\nTNT1 A 0 A_GiveInventory(\"JaxBoneEnergy\",300)\nstop\n}\n}\n\nactor JaxForgive : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_GiveInventory(\"JaxForgiveness\",1)\nTNT1 A 0 A_JumpIfInventory(\"JaxBadTime\",1,\"Pickup2\")\nTNT1 A 0 A_JumpIfInventory(\"JaxForgiveness\",250,\"Forgive\")\nstop\nPickup2:\nTNT1 A 0 A_JumpIfInventory(\"JaxForgiveness\",500,\"Forgive\")\nstop\nForgive:\nTNT1 A 0 A_GiveInventory(\"JaxForgives\",1)\nstop\n}\n}\n\nactor JaxNotForgive : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_TakeInventory(\"JaxForgiveness\",999)\nTNT1 A 0 A_TakeInventory(\"JaxForgives\",1)\nstop\n}\n}\n\nactor JaxFunc : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_FaceTarget\nTNT1 A 0 A_JumpIfInventory(\"JaxBadTime\",1,\"AttackMode\")\nTNT1 A 0 A_GiveInventory(\"JaxForgive\",1)\nstop\nAttackMode:\nTNT1 A 0 A_GiveInventory(\"JaxAttack\",1)\nstop\n}\n}\n\nactor JaxAttack : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIfTargetInLos(\"Fight\",0,JLOSF_DEADNOJUMP)\nTNT1 A 0 A_GiveInventory(\"JaxBlaxtEnergy\",1)\nTNT1 A 0 A_GiveInventory(\"JaxBoneEnergy\",1)\nTNT1 A 0 A_GiveInventory(\"JaxForgive\",1)\nstop\nFight:\nTNT1 A 0 A_GiveInventory(\"JaxNotForgive\",1)\nTNT1 A 0 A_JumpIfInventory(\"JaxAwfulExperience\",1,\"Fight2\")\nTNT1 A 0 A_GiveInventory(\"JaxBlaxtEnergy\",2)\nTNT1 A 0 A_GiveInventory(\"JaxBoneEnergy\",2)\ngoto FightEnd\nFight2:\n//TNT1 A 0 A_Log(\"Awful\")\nTNT1 A 0 A_GiveInventory(\"JaxBlaxtEnergy\",3)\nTNT1 A 0 A_GiveInventory(\"JaxBoneEnergy\",3)\ngoto FightEnd\nFightEnd:\nTNT1 A 0 A_GiveInventory(\"JaxBlaxtCheck\",1)\nTNT1 A 0 A_GiveInventory(\"JaxBoneCheck\",1)\nstop\n}\n}\n\nactor JaxMercy : Inventory\n{\ninventory.amount 1\ninventory.maxamount 2\n}\n\nactor JaxForgiveness : Inventory\n{\ninventory.amount 1\ninventory.maxamount 700\n}\n\nactor JaxForgives : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor JaxBadTime : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor JaxAwfulExperience : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor JaxBlaxtEnergy : Inventory\n{\ninventory.amount 1\ninventory.maxamount 250\n}\n\nactor JaxBoneEnergy : Inventory\n{\ninventory.amount 1\ninventory.maxamount 250\n}\n\nactor JaxBlaxtCheck : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"JaxBlaxtEnergy\",175,\"FireEm\")\nTNT1 A 0 A_JumpIfInventory(\"JaxBlaxtEnergy\",75,\"Decision\")\nstop\nDecision:\nTNT1 A 0 A_Jump(16, \"FireEm\")\nstop\nFireEm:\nTNT1 A 0 A_TakeInventory(\"JaxBlaxtEnergy\",75)\nTNT1 A 0 A_GiveInventory(\"JaxterBlaxterPickup\",1)\nstop\n}\n}\n\nactor JaxBoneCheck : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_JumpIfInventory(\"JaxBoneEnergy\",225,\"FireEm\")\nTNT1 A 0 A_JumpIfInventory(\"JaxBoneEnergy\",25,\"Decision\")\nstop\nDecision:\nTNT1 A 0 A_Jump(8, \"FireEm\")\nstop\nFireEm:\nTNT1 A 0 A_TakeInventory(\"JaxBoneEnergy\",25)\nTNT1 A 0 A_GiveInventory(\"JaxBonePickup\",1)\nstop\n}\n}\n\nactor JaxterBlaxterPickup : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 AAAA 0 A_SpawnItemEx(\"JaxterBlaxterSpawn\",0,0,random(28,56),-10,random(-250,250),random(-24,72),random(-2,2))\nstop\n}\n}\n\nactor JaxBonePickup : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_Jump(128,\"Pickup2\")\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1Shooter\")\nstop\nPickup2:\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3Shooter\")\nstop\n}\n}\n\nactor JaxBoneShooterBase\n{\n+NOINTERACTION\n-SOLID\n+MISSILE\nradius 1\nheight 1\n+NOGRAVITY\n+DONTBLAST\nrenderstyle none\nvar int user_angle;\nreactiontime 20 //online issue\nstates\n{\nSpawn:\nTNT1 A 0\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nconst int BONE1_COUNT = 16;\nconst int BONE1_SPEED = 16;\n\nconst int BONE1_ANGLEPLUS = 90/BONE1_COUNT;\n\nactor JaxBone1Shooter : JaxBoneShooterBase\n{\nstates\n{\nSpawn:\nTNT1 A 0\n//TNT1 A 0 A_SetUserVar(\"user_angle\",0)\ngoto Spawn1\nSpawn1:\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, 0, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, -BONE1_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, 0, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, -BONE1_SPEED, 0, 0, 0, 0, 0)\nSpawn2:\nTNT1 A 0 A_SetUserVar(\"user_angle\",user_angle+BONE1_ANGLEPLUS)\nTNT1 A 0 A_JumpIf(user_angle>=90,\"Spawn3\")\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, -BONE1_SPEED, 0, 0, user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, -BONE1_SPEED, 0, 0, -user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, -BONE1_SPEED, 0, 0, user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, -BONE1_SPEED, 0, 0, -user_angle, 0, 0)\nTNT1 A 0 A_CountDown\nloop\nSpawn3:\nTNT1 A 0 A_JumpIf(user_angle>90,\"Spawn4\")\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, 90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, 90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -90, 0, 0)\nSpawn4:\nTNT1 A 0\nstop\n}\n}\n\nconst int BONE3_COUNT = 8;\nconst int BONE3_SPEED = 16;\n\nconst int BONE3_ANGLEPLUS = 90/BONE3_COUNT;\n\nactor JaxBone3Shooter : JaxBoneShooterBase\n{\nstates\n{\nSpawn:\nTNT1 A 0\n//TNT1 A 0 A_SetUserVar(\"user_angle\",0)\ngoto Spawn1\nSpawn1:\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, 0, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, -BONE3_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, 0, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, -BONE3_SPEED, 0, 0, 0, 0, 0)\nSpawn2:\nTNT1 A 0 A_SetUserVar(\"user_angle\",user_angle+BONE3_ANGLEPLUS)\nTNT1 A 0 A_JumpIf(user_angle>=90,\"Spawn3\")\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, -BONE3_SPEED, 0, 0, user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, -BONE3_SPEED, 0, 0, -user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, user_angle, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, -BONE3_SPEED, 0, 0, user_angle, 0, 0)\n//TNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, -BONE3_SPEED, 0, 0, -user_angle, 0, 0)\nTNT1 A 0 A_CountDown\nloop\nSpawn3:\nTNT1 A 0 A_JumpIf(user_angle>90,\"Spawn4\")\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, 90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, 90, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -90, 0, 0)\nSpawn4:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxterBlaxterBase\n{\nPROJECTILE\n+DONTBLAST\n+RIPPER\nscale 2.5\ndamage(0)\n//Radius 15\n//Height 15\nRadius 12\nHeight 12\n}\n\nactor JaxterBlaxterSpawn : JaxterBlaxterBase\n{\nspeed 100\nreactiontime 1\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 1 A_CountDown\ngoto Spawn+1\nDeath:\nTNT1 A 0 A_SpawnItemEx(\"JaxterBlaxter\")\nstop\n}\n}\n\nactor JaxterBlaxter : JaxterBlaxterBase\n{\n-MISSILE\n+NOBLOCKMONST\n+SLIDESONWALLS\n+DONTSPLASH\nTranslation \"194:194=93:93\",\"240:255=4:4\"\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_PlaySoundEx(\"weapon/copyvision\", \"weapon\")\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX1\",-90)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX2\",-80)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX3\",-70)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX4\",-60)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX5\",-50)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX6\",-40)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX7\",-30)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX8\",-20)\nTNT1 A 1 A_SpawnItemEx(\"JaxterBlaxterSpawnFX9\",-10)\nERO3 H 20\nTNT1 A 0 A_PlaySoundEx(\"misc/quicktrap\", \"weapon\")\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxter\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxterHarmless\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxter\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxterHarmless\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxter\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxterHarmless\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxter\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxterHarmless\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxter\",1)\nERO3 H 1 A_GiveInventory(\"FireJaxterBlaxterHarmless\",1)\nDone:\nERO3 H 1 A_FadeOut(0.1)\nwait\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxterBlaxterSpawnFX : JaxterBlaxterBase\n{\n+NOINTERACTION\n+NOCLIP\n+CLIENTSIDEONLY\nTranslation \"194:194=93:93\",\"240:255=4:4\"\nRenderStyle \"translucent\"\nstates\n{\nSpawn:\nERO3 H 0\nERO3 H 1\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxterBlaxterSpawnFX1 : JaxterBlaxterSpawnFX { Alpha 0.1 }\nactor JaxterBlaxterSpawnFX2 : JaxterBlaxterSpawnFX { Alpha 0.2 }\nactor JaxterBlaxterSpawnFX3 : JaxterBlaxterSpawnFX { Alpha 0.3 }\nactor JaxterBlaxterSpawnFX4 : JaxterBlaxterSpawnFX { Alpha 0.4 }\nactor JaxterBlaxterSpawnFX5 : JaxterBlaxterSpawnFX { Alpha 0.5 }\nactor JaxterBlaxterSpawnFX6 : JaxterBlaxterSpawnFX { Alpha 0.6 }\nactor JaxterBlaxterSpawnFX7 : JaxterBlaxterSpawnFX { Alpha 0.7 }\nactor JaxterBlaxterSpawnFX8 : JaxterBlaxterSpawnFX { Alpha 0.8 }\nactor JaxterBlaxterSpawnFX9 : JaxterBlaxterSpawnFX { Alpha 0.9 }\n\nactor FireJaxterBlaxter : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_ChangeFlag(\"MISSILE\",1)\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxt\",0,0,0,2,0)\nTNT1 A 0 A_ChangeFlag(\"MISSILE\",0)\nTNT1 A 0 A_Recoil(2)\nstop\n}\n}\n\nactor FireJaxterBlaxterHarmless : CustomInventory\n{\nstates\n{\nPickup:\nTNT1 A 0 A_ChangeFlag(\"MISSILE\",1)\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxtHarmless\",0,0,0,2,0)\nTNT1 A 0 A_ChangeFlag(\"MISSILE\",0)\nTNT1 A 0 A_Recoil(2)\nstop\n}\n}\n\nactor JaxterBlaxt : JaxterBlaxterBase\n{\nPROJECTILE\nDamage(3)\ndamagetype \"QuickBoomerang\"\nSpecies \"Jax\"\n+THRUSPECIES\n+FORCEXYBILLBOARD\nobituary \"%k just stood there and took a jaxter blaxter.\"\nSpeed 32\nTranslation \"0:128=93:93\",\"200:222=4:4\",\"223:255=0:0\"\nStates\n{\nSpawn:\nQBEA A 0\nSpawn2:\nQBEA A 1\nloop\nDeath:\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxtFloor\",0,0,0,2,0)\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxtCeiling\",0,0,0,2,0)\nstop\nXDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxterBlaxt2 : JaxterBlaxt\n{\nStates\n{\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxterBlaxtFloor : JaxterBlaxt2 { +FLOORHUGGER }\nactor JaxterBlaxtCeiling : JaxterBlaxt2 { +CEILINGHUGGER }\n\nactor JaxterBlaxtHarmless : JaxterBlaxt\n{\ndamage (0)\nstates\n{\nDeath:\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxtFloorHarmless\",0,0,0,2,0)\nTNT1 A 0 A_CustomMissile(\"JaxterBlaxtCeilingHarmless\",0,0,0,2,0)\nstop\n}\n}\n\nactor JaxterBlaxtFloorHarmless : JaxterBlaxtFloor { damage (0) }\nactor JaxterBlaxtCeilingHarmless : JaxterBlaxtCeiling { damage (0) }\n\nactor JaxBone\n{\nPROJECTILE\n+FLOORHUGGER\nScale 2.5\nSpeed 16\nDamage(6)\ndamagetype \"QuickBoomerang\"\nSpecies \"Jax\"\n+THRUSPECIES\nRadius 5\nobituary \"%k was boned by a bone blast.\"\nTranslation \"225:225=93:93\",\"200:224=4:4\"\n}\n\nactor JaxBone1 : JaxBone\n{\nHeight 16\nstates\n{\nSpawn:\nFLMB B 0\nSpawn2:\nFLMB BC 1\nloop\n}\n}\n/*\nactor JaxBone2 : JaxBone\n{\nHeight 32\nstates\n{\nSpawn:\nFLMB D 0\nSpawn2:\nFLMB DE 1\nloop\n}\n}\n*/\nactor JaxBone3 : JaxBone\n{\nHeight 48\nstates\n{\nSpawn:\nFLMB F 0\nSpawn2:\nFLMB FG 1\nloop\n}\n}\n\nactor JaxBone1S : JaxBone1\n{\n+THRUACTORS\nRenderStyle \"translucent\"\nAlpha 0.0\nstates\n{\nSpawn:\nFLMB B 0\nFLMB B 1 A_SetTranslucent(0.1)\nFLMB C 1 A_SetTranslucent(0.2)\nFLMB B 1 A_SetTranslucent(0.3)\nFLMB C 1 A_SetTranslucent(0.4)\nFLMB B 1 A_SetTranslucent(0.5)\nFLMB C 1 A_SetTranslucent(0.6)\nFLMB B 1 A_SetTranslucent(0.7)\nFLMB C 1 A_SetTranslucent(0.8)\nFLMB B 1 A_SetTranslucent(0.9)\nFLMB C 1 A_SetTranslucent(1.0)\nFLMB C 0 A_ChangeFlag(THRUACTORS,0)\ngoto Spawn2\n}\n}\n\nactor JaxBone3S : JaxBone3\n{\n+THRUACTORS\nRenderStyle \"translucent\"\nAlpha 0.0\nstates\n{\nSpawn:\nFLMB F 0\nFLMB F 1 A_SetTranslucent(0.1)\nFLMB G 1 A_SetTranslucent(0.2)\nFLMB F 1 A_SetTranslucent(0.3)\nFLMB G 1 A_SetTranslucent(0.4)\nFLMB F 1 A_SetTranslucent(0.5)\nFLMB G 1 A_SetTranslucent(0.6)\nFLMB F 1 A_SetTranslucent(0.7)\nFLMB G 1 A_SetTranslucent(0.8)\nFLMB F 1 A_SetTranslucent(0.9)\nFLMB G 1 A_SetTranslucent(1.0)\nFLMB G 0 A_ChangeFlag(THRUACTORS,0)\ngoto Spawn2\n}\n}\n/*\nactor JaxBone1C : JaxBone1\n{\n-FLOORHUGGER\n+CEILINGHUGGER\nYScale -2.5\n}\n\nactor JaxBone2C : JaxBone2\n{\n-FLOORHUGGER\n+CEILINGHUGGER\nYScale -2.5\n}\n\nactor JaxBone3C : JaxBone3\n{\n-FLOORHUGGER\n+CEILINGHUGGER\nYScale -2.5\n}\n*/\nactor JaxBone1SC : JaxBone1S\n{\n-FLOORHUGGER\n+CEILINGHUGGER\nHeight 32\nYScale -2.5\n//YScale -5.0\n}\n\nactor JaxBone3SC : JaxBone3S\n{\n-FLOORHUGGER\n+CEILINGHUGGER\nHeight 96\nYScale -2.5\n//YScale -5.0\n}\n\nactor JaxDodgeTime : Inventory\n{\ninventory.amount 1\ninventory.maxamount 100\n}\n\nactor JaxDodgeFX\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+DONTSPLASH\n+CLIENTSIDEONLY\n//+NOTIMEFREEZE\nRenderStyle \"translucent\"\nAlpha 0.7\nstates\n{\nSpawn:\nEROB A 0\nSpawn2:\nEROB A 1 A_FadeOut(0.1)\nloop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxDodgeFXBlue : JaxDodgeFX { Translation \"0:255=[0,0,255]:[0,0,255]\" }\nactor JaxDodgeFXGreen : JaxDodgeFX { Translation \"0:255=[0,255,0]:[0,255,0]\" }\nactor JaxDodgeFXYellow : JaxDodgeFX { Translation \"0:255=[255,255,0]:[255,255,0]\" }\nactor JaxDodgeFXRed : JaxDodgeFX { Translation \"0:255=[255,0,0]:[255,0,0]\" }\n\nactor JaxDeathFX\n{\nscale 2.5\n-SOLID\n+NOGRAVITY\n+DONTSPLASH\n+CLIENTSIDEONLY\n//+NOTIMEFREEZE\nstates\n{\nSpawn:\nEROB H 0\nEROB H 1\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor Voidinator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/jaxstuffonline.txt",
        "contents": "//optional file\n//hard coded versions of the bone shooters\n//all they do is remove this message about infinite loops while online\n\nactor JaxBoneShooterBaseOnline\n{\n+NOINTERACTION\n-SOLID\n+MISSILE\nradius 1\nheight 1\n+NOGRAVITY\n+DONTBLAST\nrenderstyle none\nstates\n{\nSpawn:\nTNT1 A 0\nstop\nDeath:\nTNT1 A 0\nstop\n}\n}\n\nactor JaxBone1ShooterOnline : JaxBoneShooterBaseOnline replaces JaxBone1Shooter\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1S\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, BONE1_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone1SC\", 0, 0, 0, BONE1_SPEED, 0, 0, -BONE1_ANGLEPLUS*18, 0, 0)\nstop\n}\n}\n\nactor JaxBone3ShooterOnline : JaxBoneShooterBaseOnline replaces JaxBone3Shooter\n{\nstates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, 0, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3S\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, BONE3_ANGLEPLUS*18, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*2, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*3, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*4, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*5, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*6, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*7, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*8, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*9, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*10, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*11, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*12, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*13, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*14, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*15, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*16, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*17, 0, 0)\nTNT1 A 0 A_SpawnItemEx(\"JaxBone3SC\", 0, 0, 0, BONE3_SPEED, 0, 0, -BONE3_ANGLEPLUS*18, 0, 0)\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/Others.txt",
        "contents": "//Flags\nactor JukeFailsafe : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor BankFailsafe : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Ovenator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Stovinator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Rainbownator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Savinator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\nactor Sewernator : Inventory\n{\ninventory.amount 1\ninventory.maxamount 1\n}\n\n//Pink fellow\nactor PinkBalloonMaker : TenguBalloonSpawner 17087\n{\n//$Category ComHotel-Objects\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_JumpIf(args[0]==0, \"Spawn2\")\nTNT1 A 0 A_GiveInventory(\"CutterFlag\", args[0])\nGoto Spawn2\nSpawn2:\nTNT1 A 175\nTNT1 A 0 A_SpawnItemEx(\"PinkBalloon\",0,0,140,0,0,1)\nTNT1 A 0 A_Jump(128, 2)\nTNT1 A 70\nTNT1 A 1\nloop\n}\n}\nactor PinkBalloon : TenguBalloon\n{\nTranslation \"102:102=171:171\"\n}\n\n//Margaret\nactor CeilingSpring : Spring 17130\n{\n//$Category ComHotel-Objects\nStates\n{\nSpawn:\nCSPR A -1\nstop\n}\n}\n\n//Blu\nactor BluLights : BoobeamTrap 17122\n{\n//$Category ComHotel-Objects\ndamagefactor \"ClashBomb\", 1.0\nvar int user_heightone;\nStates\n{\nSpawn:\nBBEA A 0\nBBEA A 0 A_SetUserVar(\"user_heightone\", z-floorz)\ngoto Super::Spawn\nDeath:\nTNT1 A 0 A_ChangeFlag(\"SHOOTABLE\",0)\nTNT1 A 0 A_ChangeFlag(\"SOLID\",0)\nTNT1 A 1 A_SpawnItemEx(\"SharkTorpedoDeath\",0,0,8)\nTNT1 AAAAAAAAAAAAAAA 700\nTNT1 A 0 A_SpawnItemEx(\"BluLights\",0,0,user_heightone)\nstop\n}\n}\n\n//Miles\nactor HotelTengu : TenguManProp 17061\n{\n//$Category ComHotel-Objects\n-SHOOTABLE\nHeight 52\nRadius 16\n}\n\nactor HotelGrenade : GrenadeManProp 17062\n{\n//$Category ComHotel-Objects\n-SHOOTABLE\nHeight 52\nRadius 16\n}\n\nactor HotelAstro : AstroManProp 17063\n{\n//$Category ComHotel-Objects\n-SHOOTABLE\nHeight 52\nRadius 16\n}\n\nactor DimpsyBombProp 17151\n{\n//$Category ComHotel-Objects\n+SOLID\n+CANPASS\n+FLOORCLIP\n+ACTIVATEMCROSS\nScale 2.5\nHeight 52\nRadius 16\nTranslation \"198:198=41:41\", \"192:192=216:216\"\nStates\n{\nSpawn:\nBOMM F 0\nBOMM F 5 A_SpawnItemEx(\"DimpsyDudBomb\",6,6,58)\nSpawn2:\nBOMM F -1\nstop\n}\n}\nactor DimpsyDudBomb\n{\n+NOGRAVITY\n+BLOCKEDBYSOLIDACTORS\n+CANPASS\n+CLIENTSIDEONLY\nRadius 6\nHeight 7\nscale 2.5\nStates\n{\nSpawn:\nBOMB A -1\nstop\n}\n}\n\nactor DimpsyMagnetProp : DimpsyBombProp 17152\n{\n//$Category ComHotel-Objects\nTranslation \"198:198=41:41\", \"192:192=4:4\"\nStates\n{\nSpawn:\nSpawn2:\nMAGM G -1\nstop\n}\n}"
      },
      {
        "source": "pk3",
        "name": "actors/props/Halloween.txt",
        "contents": "actor VanPumpkin 17058\n{\n//$Category CH-Halloween\n+SOLID\nscale 2.5\nradius 20\nheight 40\n-NOGRAVITY\nStates\n{\nSpawn:\nVPKN K -1\nstop\n}\n}\n\nactor BoneCaller 17098\n{\n//$Category CH-Halloween\n-SOLID\n-NOGRAVITY\n-SHOOTABLE\nStates\n{\nSpawn:\nTNT1 A 1 A_Jump(256,\"WhiteMode\",\"WhiteMode\",\"WhiteMode\",\"Skull\",\"Skull\",\"PinkMode\")\nTNT1 A 0 A_Jump(256,\"WhiteMode\",\"WhiteMode\",\"WhiteMode\",\"Skull\",\"Skull\",\"PinkMode\")\ngoto BoneOne\nWhiteMode:\nTNT1 A 1 A_Jump(256,\"BoneTwo\",\"BoneTwo\",\"BoneOne\")\ngoto BoneOne\nBoneOne:\nTNT1 A 0 A_SpawnItemEx(\"LightBonesProp\")\nstop\nBoneTwo:\nTNT1 A 0 A_SpawnItemEx(\"BigBonesProp\")\nstop\nPinkMode:\nTNT1 A 1 A_Jump(256,\"PinkTwo\",\"PinkTwo\",\"PinkOne\")\ngoto PinkOne\nPinkOne:\nTNT1 A 0 A_SpawnItemEx(\"LightBonesPinkProp\")\nstop\nPinkTwo:\nTNT1 A 0 A_SpawnItemEx(\"BigBonesPinkProp\")\nstop\nSkull:\nTNT1 A 0 A_SpawnItemEx(\"SkullSpinProp\")\nstop\n}\n}\n\nactor LightBonesProp\n{\n-SOLID\nscale 2.5\nradius 15\nheight 25\nhealth 200\npainchance 256\nmass 100\nBounceType Doom\nWallBounceFactor 1.0\n-NOGRAVITY\n+SHOOTABLE\n+BOUNCEONWALLS\n+BOUNCEONFLOORS\n+BOUNCEONCEILINGS\n+NODAMAGE\nStates\n{\nSpawn:\nSMBN A 20\nloop\nPain:\nSMBN A 0 A_PlaySoundEx(\"misc/bonerattle\",\"Voice\")\nSMBN A 1 A_FaceTarget\nSMBN A 1 A_ChangeVelocity(random(-12,3),random(-6,6),random(0,15),CVF_RELATIVE)\ngoto Spin\nSpin:\nSMBN CBDACBDA 1 A_CheckFloor(\"Spawn\")\nloop\n}\n}\n\nactor BigBonesProp : LightBonesProp\n{\nradius 25\nheight 32\nmass 200\nStates\n{\nSpawn:\nBGBN A 0 A_ChangeFlag(SOLID,0)\nBGBN A 20\ngoto Spawn+1\nPain:\nBGBN A 0 A_PlaySoundEx(\"misc/bonerattle\",\"Voice\")\nBGBN A 0 A_ChangeFlag(SOLID,0)\nBGBN A 1 A_FaceTarget\nBGBN A 1 A_ChangeVelocity(random(-6,3),random(-3,3),random(0,10),CVF_RELATIVE)\ngoto Spin\nSpin:\nBGBN CBDACBDA 1 A_CheckFloor(\"Embed\")\nloop\nEmbed:\nBNGR A 0 A_Stop\nBGBN A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)\nBNGR A 0 A_ChangeFlag(SOLID,1)\nBNGR A 50\nBGBN C 1 ThrustThingZ(0,25,0,0)\nBGBN BDAC 1 A_CheckFloor(\"Spawn\")\ngoto Embed+5\n}\n}\n\nactor LightBonesPinkProp : LightBonesProp\n{\nTranslation \"4:4=239:239\"\n}\n\nactor BigBonesPinkProp : BigBonesProp\n{\nTranslation \"4:4=239:239\"\n}\n\nactor SkullSpinProp : LightBonesProp\n{\nradius 18\nheight 38\nmass 150\nStates\n{\nSpawn:\nSKLL A 20\nloop\nPain:\nSKLL A 0 A_PlaySoundEx(\"misc/bonerattle\",\"Voice\")\nSKLL A 1 A_FaceTarget\nSKLL A 1 A_ChangeVelocity(random(-12,3),random(-6,6),random(0,15),CVF_RELATIVE)\ngoto Spin\nSpin:\nSKLL A 0 A_CheckFloor(\"Spawn\")\nSKLL A 1 A_setangle (random(-360, 360))\nloop\n}\n}\n\nactor GroundedBoneRedProp\n{\n+SOLID\nscale 2.5\nradius 25\nheight 25\n+NOGRAVITY\n+SHOOTABLE\n+NODAMAGE\nStates\n{\nSpawn:\nBNGR C 20\nloop\n}\n}\n\nactor SpoopyGrandDad 17099\n{\n//$Category CH-Halloween\nScale 2.5\nSpeed 8\nHeight 52\nRadius 16\nObituary \"%o had a Grand time.\"\nvar int user_startx;\nvar int user_starty;\nvar int user_startz;\n+LOOKALLAROUND\n+NOCLIP\n+NOGRAVITY\n+FLOAT\n-NOBLOCKMONST\nStates\n{\nSpawn:\nGRND A 0 A_SetUserVar(\"user_startx\", x)\nGRND A 0 A_SetUserVar(\"user_starty\", y)\nGRND A 0 A_SetUserVar(\"user_startz\", z)\nGRND A 0 A_StopSound(\"Voice\")\nGRND A 0 A_JumpIfInventory(\"CutterFlag\",200,\"Idle\")\nGRND AA 0 A_Wander\nGRND A 1 A_Look\nGRND A 0 A_GiveInventory(\"CutterFlag\",1)\nGoto Spawn+5\nIdle:\nGRND A 0 A_TakeInventory(\"CutterFlag\",999)\nGRND A 0 A_Wander\nGRND A 1 A_Look\nGRND A 0 A_JumpIfCloser(10000,\"Idle\")\nGRND A 0 A_CheckSight(\"Respawn\")\nLoop\nSee:\nGRND A 0 A_PlaySoundEx(\"misc/grandcoming\",\"Voice\",1)\ngoto Chase\nChase:\nGRND A 0 A_TakeInventory(\"CutterFlag\",999)\nGRND A 0 A_SpawnItemEx(\"GrandDadDamage\",0,0,0)\nGRND A 1 A_Chase\nGRND A 0 A_JumpIfCloser(10000,\"Chase\")\nGRND A 0 A_CheckSight(\"Respawn\")\ngoto Chase\nRespawn:\nTNT1 A 0 A_Stop\nTNT1 A 0 A_StopSound(\"Voice\")\nTNT1 A 350\nTNT1 A 0 A_SpawnItemEx(\"SpoopyGrandDad\",user_startx-x,user_starty-y,user_startz-z,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0,tid)\nstop\n}\n}\n\nactor GrandDadDamage\n{\nPROJECTILE\nObituary \"%o had a Grand time.\"\nDamagetype \"GrandDad\"\nDamage 0\n+DONTSPLASH\nStates\n{\nSpawn:\nTNT1 A 0\nTNT1 A 0 A_ClearTarget\nTNT1 A 1 A_Explode(255,16,0)\nStop\n}\n}"
      }
    ]
  },
  "maps": []
}

gib.gg runs on open-source software and freely licensed replacement game assets from the Freedoom project. gib.gg is not affiliated with Bethesda Softworks, id Software, or ZeniMax Media. All trademarks belong to their respective owners. Some WADs and associated metadata on this site are sourced from WAD Archive. User-submitted content remains the responsibility of its respective authors. If you believe content on this site violates your rights, please send DMCA requests to dmca@gib.gg.