Raw model (for completeness)
{
"meta": {
"id": "013230e2-3454-442e-bbdb-f889232c639c",
"sha1": "c681707bc3b32e5c703e0751cab030bade3ec0b5",
"sha256": "90de45030c736440fe27a9eae05ec804226908c9fe0fd69d50c8af7f334786f1",
"filenames": [
"horrorentities-v1.1.pk3"
],
"additional": {
"engines": [],
"iwad": [],
"filename": null,
"added": "2021/12/27 18:33:57",
"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/12/27 18:33:57",
"file": {
"type": "PK3",
"size": 1057730,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/c681707bc3b32e5c703e0751cab030bade3ec0b5/c681707bc3b32e5c703e0751cab030bade3ec0b5.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 95,
"maps": 0,
"palettes": 0
}
},
"text_files": [
{
"source": "pk3",
"name": "CREDITS.txt",
"contents": "kagenui:\n\t- \"]jqVrmq\" a.k.a Bloodeye sprites and sounds (they're probably ripped from somewhere, but I extracted the resources from MUGEN\n\t- Corrupt spawn sound, attack sound, and pain sound\n\nkanata:\n\t- sin-genjitsu fullscreen sprite\n\nIrisu Syndrome:\n\t- various music jingles used for sin-genjitsu"
},
{
"source": "pk3",
"name": "Actors/SpookyDingy.txt",
"contents": "ACTOR SpookyDingy\n{\n States\n {\n Spawn:\n\tTNT1 A 20\n\tTNT1 A 10 A_Jump(GetCVar(\"he_spawnchance\"),\"bloodeye\",\"corrupt\",\"singenjitsu\")\n\tStop\n bloodeye:\n\tTNT1 A 0\n\t\t{\n\t\tA_SpawnItemEx(\"bloodeye\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION);\n\t\tif(GetCVar(\"he_spawnsound\") == 1)\n\t\t\t{\n\t\t\tA_PlaySound(\"bloodeye/spawn\",1,1.0,0,ATTN_NONE);\n\t\t\t}\n\t\t}\n\tStop\n corrupt:\n\tTNT1 A 0\n\t\t{\n\t\tA_SpawnItemEx(\"corrupt\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION);\n\t\tif(GetCVar(\"he_spawnsound\") == 1)\n\t\t\t{\n\t\t\tA_PlaySound(\"corrupt/spawn\",1,1.0,0,ATTN_NONE);\n\t\t\t}\n\t\t}\n\tStop\n singenjitsu:\n\tTNT1 A 0\n\t\t{\n\t\tA_SpawnItemEx(\"sin-genjitsu\",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION);\n\t\tif(GetCVar(\"he_spawnsound\") == 1)\n\t\t\t{\n\t\t\tA_PlaySound(\"Genjitsu/spawn\",1,1.0,0,ATTN_NONE);\n\t\t\t}\n\t\t}\n\tStop\n\t}\n}\n\nACTOR GenericSpooky\n{\n Monster\n Health 0x7FFFFFFF\n Mass 0x7FFFFFFF\n Radius 20\n Height 62\n Scale 0.7\n +LOOKALLAROUND\n +FLOORCLIP\n +BOSS\n +DONTMORPH\n +NOTIMEFREEZE\n +NOTELEFRAG\n +NODAMAGE\n +NOCLIP\n +BRIGHT\n +FORCERADIUSDMG\n +QUICKTORETALIATE\n -COUNTKILL\n +NOTARGET\n +NOINFIGHTING\n -SHOOTABLE\n}"
},
{
"source": "pk3",
"name": "Actors/Bloodeye.txt",
"contents": "ACTOR bloodeye : GenericSpooky\n{\n Scale 0.35\n Speed 25\n Painchance 40\n Renderstyle Add\n SeeSound \" \"\n PainSound \"Bloodeye/Pain\"\n Tag \"]jqVrmq\"\n var int user_seeloop;\n var int user_missile;\n States\n {\n Spawn:\n TNT1 A 1\n\t\t{\n\t\tA_Look;\n\t\tA_Wander;\n\t\t}\n\tLoop\n/* See:\n\tTNT1 A 0 A_UnsetShootable\n\tTNT1 A 0 A_JumpIf(user_seeloop >= 350,\"ChaseLoop\")\n\tTNT1 A 0 A_SetUserVar(\"user_seeloop\",user_seeloop+1)\n\tTNT1 A 1 A_Chase(\"\",\"\")\n\tLoop\n ChaseLoop:\n\tTNT1 A 0 A_ChangeFlag(\"FRIGHTENED\",0)\n\tTNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,1500,0,360,\"Appear\")\n\tTNT1 A 1 A_Chase(\"\",\"\")\n\tLoop*/\n See:\n\tTNT1 A 1\n\t\t{\n\t\tA_UnSetShootable;\n\t\tif(user_seeloop >= GetCVar(\"he_bloodeyeteleporttime\"))\n\t\t\t{\n\t\t\tA_ChangeFlag(\"FRIGHTENED\",0);\n\t\t\tA_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,1500,0,360,\"Appear\");\n\t\t\t}\n\t\tA_SetUserVar(\"user_seeloop\",user_seeloop+1);\n\t\tA_Chase(\"\",\"\");\n\t\t}\n\tLoop\n Appear:\n\tTNT1 A 0 A_SetUserVar(\"user_seeloop\",0)\n\tTNT1 A 0 A_Jump(128,\"OrMaybeIWont\")\n\tTNT1 A 0 A_SetShootable\n\tTNT1 A 0 A_Jump(GetCVar(\"he_bloodeyerandomattackchance\"),\"Attack\")\n\tTNT1 A 0 A_JumpIfCloser(150,\"Melee\")\n\tTNT1 A 0 A_JumpIfCloser(GetCVar(\"he_bloodeyeguaranteedattackrange\"),\"Attack\")\n\tTNT1 A 0 A_PlaySound(\"bloodeye/appear\")\n\tBLE1 ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST 1\n\tGoto See\n OrMaybeIWont:\n\tTNT1 A 35 A_PlaySound(\"bloodeye/appear\")\n\tGoto See\n Attack:\n\tTNT1 A 0 A_PlaySound(\"bloodeye/attack\")\n\tBLE2 ABCDEFGHIJKLMNOABCDEFGHIJKLMNO 1\n\tTNT1 A 0 A_SetUserVar(\"user_missile\",0)\n AttackLoop:\n\tTNT1 A 0 A_JumpIf(user_missile >= 10,\"See\")\n\tTNT1 A 0 A_SetUserVar(\"user_missile\",user_missile+1)\n\tTNT1 A 0 A_CustomMissile(\"BloodeyeProjectile\",32,0,random(-40,40))\n\tBLE2 ABC 1\n\tTNT1 A 0 A_CustomMissile(\"BloodeyeProjectile\",32,0,random(-40,40))\n\tBLE2 DEF 1\n\tTNT1 A 0 A_CustomMissile(\"BloodeyeProjectile\",32,0,random(-40,40))\n\tBLE2 GHI 1\n\tTNT1 A 0 A_CustomMissile(\"BloodeyeProjectile\",32,0,random(-40,40))\n\tBLE2 JKL 1\n\tTNT1 A 0 A_CustomMissile(\"BloodeyeProjectile\",32,0,random(-40,40))\n\tBLE2 MNO 1\n\tLoop\n Melee:\n\tTNT1 A 0 A_PlaySound(\"bloodeye/attack\")\n\tBLE2 ABCDEFGHIJKLMNO 1\n\tTNT1 A 0 A_RadiusGive(\"BloodeyeFuckery\",180,RGF_PLAYERS|RGF_CORPSES)\n\tBLE2 ABCDEFGHIJKLMNOABCDEFGHIJKLMNO 1\n\tGoto See\n Pain:\n\tTNT1 A 0 A_Unsetshootable\n\tTNT1 A 35 A_Pain\n\tTNT1 A 0 A_SetUserVar(\"user_seeloop\",0)\n\tTNT1 A 0 A_ChangeFlag(\"FRIGHTENED\",1)\n\tGoto See\n\t}\n}\n\nACTOR BloodeyeProjectile\n{\n Radius 5\n Speed 15\n Height 6\n Damage 12\n Projectile\n Bouncetype Doom\n BounceFactor 1.2\n WallBounceFactor 1.2\n BounceCount 5\n +BRIGHT\n SeeSound \"Bloodeye/Shoot\"\n BounceSound \"Bloodeye/Bounce\"\n DeathSound \"Bloodeye/BallHit\"\n States\n {\n Spawn:\n BLEY ABCDEFGHIJKLMNOPQRSTUVWX 3\n Loop\n Death:\n\tTNT1 AAAAA 0 A_SpawnItemEx(\"Blood\",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3))\n\tTNT1 A 1\n Stop\n }\n}\n\nActor BloodeyeFuckery : CustomInventory\n{\n -COUNTITEM\n +INVENTORY.QUIET\n +INVENTORY.UNDROPPABLE\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.AUTOACTIVATE\n Inventory.Amount 1\n Inventory.maxAmount 0\n States\n {\n Pickup:\n\tTNT1 A 25 A_SetBlend(\"Black\",1.0,80)\n\tTNT1 A 0 A_PlaySound(\"Bloodeye/Hit\",7,1.0,0,0.5)\n\tTNT1 A 0 Thing_Damage(0,random(GetCVar(\"he_bloodeyeminimummeleedamage\"),GetCVar(\"he_bloodeyemaximummeleedamage\")),0)\n\tTNT1 A 1\n\tStop\n\t}\n}"
},
{
"source": "pk3",
"name": "Actors/Corrupt.txt",
"contents": "ACTOR corrupt : GenericSpooky\n{\n Health 1\n Painchance 50\n Speed 5\n Renderstyle None\n +NOGRAVITY\n +FLOAT\n PainSound \"Corrupt/Pain\"\n Tag \"corrupt\"\n var int user_script;\n var int user_appear;\n var int user_runloop;\n var int user_attacktimer;\n States\n {\n Spawn:\n\tTNT1 A 0 A_JumpIf(user_script == 1,3)\n TNT1 A 0 ACS_NamedExecuteAlways(\"CorruptScript\")\n\tTNT1 A 0 A_SetUserVar(\"user_script\",1)\n\tTNT1 A 0 A_JumpIf(user_appear == 1,\"SpawnAppear\")\n TNT1 A 1\n\t\t{\n\t\tA_Look;\n\t\tA_Wander;\n\t\t}\n\tLoop\n SpawnAppear:\n\tTNT1 A 0 A_PlaySound(\"Corrupt/NoiseActive\",1,1.0,1)\n\tTNT1 A 0 A_SpawnItemEx(\"CorruptFlame\",0,0,32)\n\tTNT1 A 1 Light(\"CorruptLight\")\n\t\t{\n\t\tA_Look;\n\t\tA_Wander;\n\t\t}\n\tLoop\n See:\n\tTNT1 A 0 A_JumpIf(user_appear == 1,\"SeeAppear\")\n\tTNT1 A 0 A_UnsetShootable\n\tTNT1 A 1 A_Chase(\"\",\"\",CHF_RESURRECT)\n\tLoop\n SeeAppear:\n\tTNT1 A 0 A_ChangeFlag(\"FRIGHTENED\",0)\n\tTNT1 A 0 A_PlaySound(\"Corrupt/NoiseActive\",1,1.0,1)\n\tTNT1 A 0 A_SetUserVar(\"user_attacktimer\",user_attacktimer+1)\n\tTNT1 A 0 A_SpawnItemEx(\"CorruptFlame\",0,0,32)\n\tTNT1 A 1 Light(\"CorruptLight\") A_Chase(\"\",\"Missile\",CHF_RESURRECT)\n\tTNT1 A 0 A_Jump(12,\"Rush\")\n\tLoop\n Rush:\n\tTNT1 A 0 A_SetUserVar(\"user_attacktimer\",user_attacktimer+1)\n\tTNT1 A 0 A_JumpIfTargetInLOS(\"SeeAppear\")\n\tTNT1 AAAAA 0 A_Chase(\"\",\"\")\n\tTNT1 A 1 Light(\"CorruptLight\") A_SpawnItemEx(\"CorruptFlame\",0,0,32)\n\tLoop\n Missile:\n\tTNT1 A 0 A_JumpIf(user_attacktimer < GetCVar(\"he_corruptattacktime\"),\"SeeAppear\")\n\tTNT1 A 0 A_JumpIfCloser(GetCVar(\"he_corruptattackrange\"),\"Attack\")\n\tGoto SeeAppear\n Attack:\n\tTNT1 A 0 A_SetUserVar(\"user_attacktimer\",0)\n\tTNT1 A 0 A_PlaySound(\"Corrupt/NoiseChase\",1,1.0,1)\n\tTNT1 A 0 A_SpawnItemEx(\"RedCorruptFlame\",0,0,32)\n\tTNT1 A 1 Light(\"RedCorruptLight\") A_SkullAttack(GetCVar(\"he_corruptchargespeed\"))\n\tTNT1 A 0 A_JumpIfCloser(100,\"Attack2\")\n\tGoto Attack+2\n Attack2:\n\tTNT1 A 0 A_RadiusGive(\"CorruptFuckery\",120,RGF_PLAYERS|RGF_CORPSES)\n\tGoto SeeAppear //RunAway For some reason it just runs away forever, so this'll have to do I guess\n Pain:\n\tTNT1 A 0 A_Pain\n\tTNT1 AAAAAAAAAA 1 Light(\"RedCorruptLight\") A_SpawnItemEx(\"RedCorruptFlame\",0,0,32)\n\tGoto RunAway\n RunAway:\n\tTNT1 A 0 A_SetUserVar(\"user_runloop\",0)\n\tTNT1 A 0 A_ChangeFlag(\"FRIGHTENED\",1)\n\tTNT1 A 0 A_JumpIf(user_runloop >= 300,\"SeeAppear\")\n\tTNT1 A 0 A_SetUserVar(\"user_runloop\",user_runloop+1)\n\tTNT1 AAAAA 0 A_Chase(\"\",\"\")\n\tTNT1 A 1 Light(\"RedCorruptLight\") A_SpawnItemEx(\"RedCorruptFlame\",0,0,32)\n\tGoto RunAway+2\n Heal:\n\tTNT1 A 1 Light(\"CorruptLight\") A_SpawnItemEx(\"CorruptFlame\",0,0,32)\n\tTNT1 A 0 A_SetShootable\n\tTNT1 A 0 A_SetUserVar(\"user_appear\",1)\n\tTNT1 A 0 A_RadiusGive(\"CorruptResurrectFuckery\",1000,RGF_MONSTERS)\n\tTNT1 A 0 A_RadiusGive(\"CorruptHealthMessup\",100,RGF_MONSTERS)\n\tGoto See\n }\n}\n\nActor CorruptResurrectFuckery : CustomInventory\n{\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.AUTOACTIVATE\n States\n {\n Pickup:\n\tTNT1 A 1\n\tTNT1 A 0 A_JumpIfInventory(\"IHaveAlreadyBeenCorruptedBitch\",1,\"Nope\")\n\tTNT1 A 0 A_GiveInventory(\"IHaveAlreadyBeenCorruptedBitch\")\n\tTNT1 A 0 ACS_NamedExecuteAlways(\"CorruptResurrect\")\n\tStop\n Nope:\n\tTNT1 A 0\n\tStop\n\t}\n}\n\nActor CorruptHealthMessup : CustomInventory\n{\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.AUTOACTIVATE\n States\n {\n Pickup:\n\tTNT1 A 1\n\tTNT1 A 0 A_JumpIfInventory(\"MyHealthAlreadyBroke\",1,\"Nope\")\n\tTNT1 A 0 A_GiveInventory(\"MyHealthAlreadyBroke\")\n\tTNT1 A 0 ACS_NamedExecuteAlways(\"CorruptHealth\")\n\tStop\n Nope:\n\tTNT1 A 0\n\tStop\n\t}\n}\n\nActor IHaveAlreadyBeenCorruptedBitch : Inventory { Inventory.MaxAmount 1 }\nActor MyHealthAlreadyBroke : Inventory { Inventory.MaxAmount 1 }\n\nActor CorruptFuckery : CustomInventory\n{\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.AUTOACTIVATE\n States\n {\n Pickup:\n\tTNT1 A 25 A_SetBlend(\"Black\",1.0,80)\n\tTNT1 A 0 A_PlaySound(\"Corrupt/Hit\",7,1.0,0,0.5)\n\tTNT1 A 0 Thing_Damage(0,random(GetCVar(\"he_corruptminimummeleedamage\"),GetCVar(\"he_corruptmaximummeleedamage\")),0)\n\tTNT1 A 1\n\tStop\n\t}\n}\n\nActor CorruptFlame\n{\n +NOINTERACTION\n +ROLLSPRITE\n +FORCEXYBILLBOARD\n RenderStyle Add\n States\n {\n Spawn:\n FIW1 A 1 Bright\n\tGoto Spawn2\n Spawn2:\n\t\"####\" \"#\" 1 Bright\n\t\t{\n\t\tA_SetRoll(roll+30,SPF_INTERPOLATE);\n\t\tA_FadeOut(0.07);\n\t\tA_SetScale(ScaleX-0.02);\n\t\t}\n Loop\n }\n}\n\nACTOR RedCorruptFlame : CorruptFlame\n{\nScale 1.0\nStates\n {\n Spawn:\n FIRR A 1 Bright\n\tGoto Spawn2\n }\n}"
},
{
"source": "pk3",
"name": "Actors/sin-genjitsu.txt",
"contents": "ACTOR sin-genjitsu : GenericSpooky\n{\n Speed 25\n Renderstyle Normal\n Tag \"\\c[t7]s\\c[n6]i\\c[j8]n\\c[c6]-\\c[k5]g\\c[e6]e\\c[d3]n\\c[v0]j\\c[a4]i\\c[g2]tsu\\c-\"\n var int user_seeloop;\n var int user_attackloop;\n States\n {\n Spawn:\n\tTNT1 A 0 A_Wander\n TNT1 A 1 A_Look\n\tLoop\n See:\n\tTNT1 A 0 A_UnsetShootable\n\tTNT1 A 0 A_JumpIf(user_seeloop >= GetCVar(\"he_genjitsuteleporttime\"),\"ChaseLoop\")\n\tTNT1 A 0 A_SetUserVar(\"user_seeloop\",user_seeloop+1)\n\tTNT1 A 1 A_Chase(\"\",\"\")\n\tLoop\n ChaseLoop:\n\tTNT1 A 1 A_Chase(\"\",\"\")\n\tTNT1 A 0 A_JumpIfInTargetLOS(\"ChaseLoop\",120)\n\tTNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,50,GetCVar(\"he_genjitsumaxrange\"),0,360,\"Appear\")\n\tLoop\n Appear:\n\tTNT1 A 0 A_SetShootable\n\tTNT1 A 0 A_SetUserVar(\"user_seeloop\",0)\n\tTNT1 A 0 A_SetUserVar(\"user_attackloop\",0)\n\tTNT1 A 0 A_JumpIf(user_attackloop >= 50,\"TryToGoAway\")\n\tTNT1 A 0 A_SetUserVar(\"user_attackloop\",user_attackloop+1)\n\tTNT1 A 0 A_JumpIfInTargetLOS(2,100)\n\tTNT1 A 0 A_Jump(256,2)\n\tTNT1 A 0 A_GiveToTarget(\"SinGenjitsuTokenGiver\")\n\tSING A 6 A_SetTics(GetCVar(\"he_genjitsublinktime\"))\n\tGoto Appear+3\n TryToGoAway:\n\tTNT1 A 0 A_JumpIfInTargetLOS(2,100)\n\tTNT1 A 0 A_Jump(256,\"See\")\n\tTNT1 A 0 A_GiveToTarget(\"SinGenjitsuTokenGiver\")\n\tSING A 6\n\tLoop\n\t}\n}\n\nActor SinGenjitsuTokenGiver : CustomInventory\n{\n +INVENTORY.ALWAYSPICKUP\n +INVENTORY.AUTOACTIVATE\n States\n {\n Pickup:\n\t//TNT1 A 1 A_JumpIfInventory(\"SinGenjitsuDeadToken\",1,2)\n\tTNT1 A 1 A_JumpIfInventory(\"SinGenjitsuDeathToken\",(GetCVar(\"he_genjitsumaxblinks\")-1),2)\n\tTNT1 A 0 A_SetBlend(\"Black\",1.0,6)\n\tTNT1 A 0 A_GiveInventory(\"SinGenjitsuDeathToken\")\n\tStop\n\t}\n}\n\nActor SinGenjitsuDeathToken : Inventory { Inventory.MaxAmount 40 }\nActor SinGenjitsuDeadToken : Inventory { Inventory.MaxAmount 40 }"
}
]
},
"maps": []
}