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": []
}