Raw model (for completeness)
{
"meta": {
"id": "0a3491f7-95d2-49c0-943f-550b8dbc0d70",
"sha1": "90fa72fbceeb498bad499af3e25b1d8d5f9ba772",
"sha256": "a16ea0ea002faa32d6515387c3afee9f17b65ad541539f2adfcc50c50d947f04",
"filenames": [
"stalker-doom-prealpha09.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2017-03-29 23:21:02",
"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": "2017-03-29 23:21:02",
"file": {
"type": "PK3",
"size": 5348868,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/90fa72fbceeb498bad499af3e25b1d8d5f9ba772/90fa72fbceeb498bad499af3e25b1d8d5f9ba772.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 116,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"text_files": [
{
"source": "pk3",
"name": "Notas.txt",
"contents": "/*\n* Programar la detencion de sangrado\n* 1. Health bonus detiene un sangrando de nivel 1 (\n* 2. Stimpack detiene un sangrado de nivel 2 y 1\n* 3. Medpack detiene un sangrado de nivel 3, 2 y 1\n*/"
},
{
"source": "pk3",
"name": "actors/inventorySystem.txt",
"contents": "// Contador generico con limite muy alto\nACTOR Counter : CustomInventory\n{\n inventory.maxamount 0x7FFFFFFF\n inventory.amount 1\n States\n {\n Use:\n TNT1 A 0\n stop\n }\n}\nACTOR Value : Counter { }\nACTOR Token : Counter { inventory.maxamount 1 }\nACTOR Activator : Token { +INVENTORY.AUTOACTIVATE }\n\n// Puntaje del jugador\nACTOR StaminaJugador : Value { }\nACTOR SangradoJugador : Value { }\nACTOR InventoryOpen : Value { }\n\n/*\n* Tipos de items\n* 0: Nada, slot libre\n* 1: Pistola\n* 2: Escopeta\n* 3: Super escopeta\n* 4: Chaingun\n* 5: Rocket launcher\n* 6: Plasmagun\n* 7: BFG\n* 8: Botiquin chico\n* 9: Botiquin mediano\n* 10: Soulsphere\n* 11: Megasphere\n* 12: Municion\n*/\n\nACTOR ItemSlotA : Value { }\nACTOR ItemSlotACant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotB : Value { }\nACTOR ItemSlotBCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotC : Value { }\nACTOR ItemSlotCCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotD : Value { }\nACTOR ItemSlotDCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotE : Value { }\nACTOR ItemSlotECant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotF : Value { }\nACTOR ItemSlotFCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotG : Value { }\nACTOR ItemSlotGCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotH : Value { }\nACTOR ItemSlotHCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotI : Value { }\nACTOR ItemSlotICant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotJ : Value { }\nACTOR ItemSlotJCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotK : Value { }\nACTOR ItemSlotKCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotL : Value { }\nACTOR ItemSlotLCant : Value { } //Cantidad de items como estos\n\nACTOR ItemSlotM : Value { }\nACTOR ItemSlotMCant : Value { } //Cantidad de items como estos\n\nACTOR ItemPrimaryWeapon : Value { } //Arma primaria cargada\nACTOR ItemSecondaryWeapon : Value { } //Arma secundaria cargada\n\nACTOR PesoCarga : Value { } //Peso de las cosas cargadas\n\nACTOR CurrentItem : Value { }\n\nACTOR UsingItem : Value { }\n\nACTOR IsRunning : Value { }\nACTOR IsWalking : Value { }\nACTOR PressingUse : Value { } //Apretando USE"
},
{
"source": "pk3",
"name": "actors/armas.txt",
"contents": "ACTOR StalkerSuperShotgun : SuperShotgun //replaces SuperShotgun\n{\n States\n {\n Fire:\n \tTNT1 A 0 A_JumpIfInventory(\"IsRunning\", 1, \"RunFire\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsWalking\", 1, \"WalkFire\")\n SHT2 A 3\n SHT2 A 7 A_FireShotgun2\n SHT2 B 7\n SHT2 C 7 A_CheckReload\n SHT2 D 7 A_OpenShotgun2\n SHT2 E 7\n SHT2 F 7 A_LoadShotgun2\n SHT2 G 6\n SHT2 H 6 A_CloseShotgun2\n SHT2 A 5 A_ReFire\n Goto Ready\n // unused states\n // SHT2 B 7\n // SHT2 A 3\n // Goto Deselect\n RunFire:\n SHT2 A 3\n SHT2 A 0 A_FireBullets (22.2, 11.1, 20, 5, \"BulletPuff\")\n SHT2 A 0 A_PlaySound (\"weapons/sshotf\", CHAN_WEAPON)\n SHT2 A 7 A_GunFlash\n SHT2 B 7\n SHT2 C 7 A_CheckReload\n SHT2 D 7 A_OpenShotgun2\n SHT2 E 7\n SHT2 F 7 A_LoadShotgun2\n SHT2 G 6\n SHT2 H 6 A_CloseShotgun2\n SHT2 A 5 A_ReFire\n Goto Ready\n WalkFire:\n SHT2 A 3\n SHT2 A 0 A_FireBullets (15.2, 8.1, 20, 5, \"BulletPuff\")\n SHT2 A 0 A_PlaySound (\"weapons/sshotf\", CHAN_WEAPON)\n SHT2 A 7 A_GunFlash\n SHT2 B 7\n SHT2 C 7 A_CheckReload\n SHT2 D 7 A_OpenShotgun2\n SHT2 E 7\n SHT2 F 7 A_LoadShotgun2\n SHT2 G 6\n SHT2 H 6 A_CloseShotgun2\n SHT2 A 5 A_ReFire\n Goto Ready\n }\n}\n\nACTOR StalkerShotgun : Shotgun //replaces Shotgun\n{\nStates\n{\n Fire:\n \tTNT1 A 0 A_JumpIfInventory(\"IsRunning\", 1, \"RunFire\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsWalking\", 1, \"WalkFire\")\n SHTG A 3\n SHTG A 7 A_FireShotgun\n SHTG BC 5\n SHTG D 4\n SHTG CB 5\n SHTG A 3\n SHTG A 7 A_ReFire\n Goto Ready\n RunFire:\n SHTG A 3\n\tSHTG A 0 A_FireBullets (15.6, 7.0, 7, 5, \"BulletPuff\")\n SHTG A 0 A_PlaySound (\"weapons/shotgf\", CHAN_WEAPON)\n SHTG A 7 A_GunFlash\n SHTG BC 5\n SHTG D 4\n SHTG CB 5\n SHTG A 3\n SHTG A 7 A_ReFire\n Goto Ready\n WalkFire:\n SHTG A 3\n\tSHTG A 0 A_FireBullets (7.6, 3.5, 7, 5, \"BulletPuff\")\n SHTG A 0 A_PlaySound (\"weapons/shotgf\", CHAN_WEAPON)\n SHTG A 7 A_GunFlash\n SHTG BC 5\n SHTG D 4\n SHTG CB 5\n SHTG A 3\n SHTG A 7 A_ReFire\n Goto Ready\n}\n}\n\nACTOR StalkerPistol : Pistol replaces Pistol\n{\nStates\n {\n Fire:\n\tTNT1 A 0 A_JumpIfInventory(\"IsRunning\", 1, \"RunFire\")\n\tTNT1 A 0 A_JumpIfInventory(\"IsWalking\", 1, \"WalkFire\")\n PISG A 4\n PISG B 6 A_FirePistol\n PISG C 4\n PISG B 5 A_ReFire\n Goto Ready\n RunFire:\n PISG A 4\n PISG B 6 A_FireBullets (12.6, 6.0, 1, 5, \"BulletPuff\")\n\tTNT1 A 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n\tTNT1 A 0 A_GunFlash\n PISG C 4\n PISG B 5 A_ReFire\n Goto Ready\n WalkFire:\n PISG A 4\n PISG B 6 A_FireBullets (8.6, 3.0, 1, 5, \"BulletPuff\")\n\tTNT1 A 0 A_PlaySound(\"weapons/pistol\", CHAN_WEAPON)\n\tTNT1 A 0 A_GunFlash\n PISG C 4\n PISG B 5 A_ReFire\n Goto Ready\n }\n}\n\nACTOR StalkerChaingun : Chaingun replaces Chaingun\n{\n States\n {\n Fire:\n\t TNT1 A 0 A_JumpIfInventory(\"IsRunning\", 1, \"RunFire\")\n\t TNT1 A 0 A_JumpIfInventory(\"IsWalking\", 1, \"WalkFire\")\n CHGG AB 4 A_FireCGun\n CHGG B 0 A_ReFire\n Goto Ready\n\tRunFire:\n\tCHGG A 0 A_PlaySound(\"weapons/chngun\", CHAN_WEAPON)\n CHGG A 0 A_GunFlash\n CHGG A 4 A_FireBullets(12.0, 6.0, 1, 5, \"BulletPuff\")\n CHGG B 0 A_PlaySound(\"weapons/chngun\", CHAN_WEAPON)\n CHGG B 0 A_GunFlash(\"Flash2\")\n CHGG B 4 A_FireBullets(12.0, 6.0, 1, 5, \"BulletPuff\")\n CHGG B 0 A_ReFire\n Goto Ready\n WalkFire:\n\tCHGG A 0 A_PlaySound(\"weapons/chngun\", CHAN_WEAPON)\n CHGG A 0 A_GunFlash\n CHGG A 4 A_FireBullets(6.6, 3.0, 1, 5, \"BulletPuff\")\n CHGG B 0 A_PlaySound(\"weapons/chngun\", CHAN_WEAPON)\n CHGG B 0 A_GunFlash(\"Flash2\")\n CHGG B 4 A_FireBullets(6.6, 3.0, 1, 5, \"BulletPuff\")\n CHGG B 0 A_ReFire\n Goto Ready\n\tFlash:\n\t\tCHGF A 4 Bright A_Light1\n\t\tGoto LightDone\n\tFlash2:\n\tCHGF B 4 Bright A_Light2\n Goto LightDone\n }\n}\n\nActor StalkerRocketLauncher : RocketLauncher { }\nactor StalkerPlasmaRifle : PlasmaRifle { }\nACTOR StalkerBFG9000 : BFG9000 { }"
},
{
"source": "pk3",
"name": "actors/pickups.txt",
"contents": "actor ShotgunPickup : CustomInventory replaces Shotgun\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSHOT A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerShotgun\")\n\t\t\tstop\n\t}\n}\n\nactor SuperShotgunPickup : CustomInventory replaces SuperShotgun\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSGN2 A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerSuperShotgun\")\n\t\t\tstop\n\t}\n}\n\nactor ChaingunPickup : CustomInventory replaces Chaingun\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tMGUN A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerChaingun\")\n\t\t\tstop\n\t}\n}\n\nactor PistolPickup : CustomInventory replaces Pistol\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPIST A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerPistol\")\n\t\t\tstop\n\t}\n}\n\nactor RocketLauncherPickup : CustomInventory replaces RocketLauncher\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tLAUN A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerRocketLauncher\")\n\t\t\tstop\n\t}\n}\n\nactor PlasmaRiflePickup : CustomInventory replaces PlasmaRifle\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tPLAS A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerPlasmaRifle\")\n\t\t\tstop\n\t}\n}\n\nactor BFG9000Pickup : CustomInventory replaces BFG9000\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBFUG A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"StalkerBFG9000\")\n\t\t\tstop\n\t}\n}\n\nactor ShellBoxPickup : CustomInventory replaces ShellBox\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tSBOX A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"Shell\", 20)\n\t\t\tstop\n\t}\n}\n\nactor ClipBoxPickup : CustomInventory replaces ClipBox\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tAMMO A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"Clip\", 50)\n\t\t\tstop\n\t}\n}\n\nactor RocketBoxPickup : CustomInventory replaces RocketBox\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBROK A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"RocketAmmo\", 5)\n\t\t\tstop\n\t}\n}\n\nactor CellPackPickup : CustomInventory replaces CellPack\n{\n\t+COUNTITEM\n\tStates\n\t{\n\t\tSpawn:\n\t\t\tBROK A -1\n\t\tStop\n\t\tPickup: //Bye bye weapon stay\n\t\t\tTNT1 A 0 A_JumpIfInventory(\"PressingUse\", 1, 2)\n\t\t\tTNT1 A 0 ACS_ExecuteAlways(SD_PICKMESSAGE, 0)\n\t\t\tfail\n\t\t\tTNT1 A 0 A_GiveInventory(\"Cell\", 100)\n\t\t\tstop\n\t}\n}"
},
{
"source": "pk3",
"name": "actors/ammo.txt",
"contents": "actor StalkerShellBox : ShellBox { }\nactor StalkerClipBox : ClipBox { }\nactor StalkerRocketBox : RocketBox { }\nactor StalkerCellPack : CellPack { }"
},
{
"source": "pk3",
"name": "actors/monsters.txt",
"contents": "ACTOR StalkerShotgunGuy : ShotgunGuy replaces ShotgunGuy\n{\n\tStates\n\t{\n\tMissile:\n\t\tSPOS E 5 A_FaceTarget\n\t\tSPOS E 0 A_PlaySound(\"weapons/sshotf\")\n\t\tSPOS F 5 Bright A_CustomBulletAttack(5.6, 0, 4, random(1, 3)*2, \"BulletPuff\") //casi danio normal\n\t\tSPOS E 5\n Goto See\n\t}\n}\n\nActor StalkerImp : DoomImp replaces DoomImp\n{\nStates\n{\n Melee:\n Missile:\n TROO EF 8 A_FaceTarget\n TROO G 6 A_CustomComboAttack(\"DoomImpBall\", 32, 5 * random(2, 8), \"imp/melee\")\n Goto See\n}\n}\n\nActor StalkerBaronOfHell : BaronOfHell replaces BaronOfHell\n{\n\tStates\n\t{\n\t Melee:\n\t Missile:\n\t\tBOSS EF 8 A_FaceTarget\n\t\tBOSS G 8 A_CustomComboAttack(\"BaronBall\", 32, 10 * random(6, 12), \"baron/melee\")\n\t\tGoto See\n\t}\n}\n\nActor StalkerHellKnight : HellKnight replaces HellKnight\n{\n\tStates\n\t{\n\tMelee:\n\tMissile:\n\t\tBOS2 EF 8 A_FaceTarget\n\t\tBOS2 G 8 A_CustomComboAttack(\"BaronBall\", 32, 10 * random(4, 10), \"baron/melee\")\n Goto See\n\t}\n}\n\nActor StalkerDemon : Demon replaces Demon\n{\n\tStates\n\t{\n\tMelee:\n\t\tSARG EF 8 A_FaceTarget\n\t\tSARG G 8 A_CustomMeleeAttack(random(5, 10) * 6, \"demon/melee\", \"demon/melee\") // Does not make any sound when missing\n Goto See\n\t}\n}\n\nActor StalkerSpectre : StalkerDemon replaces Spectre\n{\n +SHADOW\n RenderStyle OptFuzzy\n Alpha 0.5\n SeeSound \"spectre/sight\"\n AttackSound \"spectre/melee\"\n PainSound \"spectre/pain\"\n DeathSound \"spectre/death\"\n ActiveSound \"spectre/active\"\n HitObituary \"$OB_SPECTREHIT\" // \"%o was eaten by a spectre.\"\n}\n\nACTOR StalkerRevenant : Revenant replaces Revenant\n{\n\tStates\n\t{\n\tMelee:\n\t\tSKEL G 0 A_FaceTarget\n\t\tSKEL G 6 A_SkelWhoosh\n\t\tSKEL H 6 A_FaceTarget\n\t\tSKEL I 6 A_CustomMeleeAttack(random(7, 12) * 6, \"skeleton/melee\")\n Goto See\n\t}\n}\n\nActor StalkerCacodemon : Cacodemon replaces Cacodemon\n{\n\tStates\n\t{\n\tMissile:\n\t\tHEAD BC 5 A_FaceTarget\n\t\tHEAD D 5 Bright A_CustomComboAttack(\"CacodemonBall\", 32, 10 * random(5, 9))\n Goto See\n\t}\n}\n\nACTOR StalkerZombieMan : ZombieMan replaces ZombieMan\n{\n States\n {\n Missile:\n POSS E 5 A_FaceTarget\n POSS F 4 A_CustomBulletAttack(5.6, 0, 1, random(1, 3)*5, \"BulletPuff\", 0, CBAF_NORANDOM)\n POSS E 4\n Goto See\n }\n}"
},
{
"source": "pk3",
"name": "actors/projectiles.txt",
"contents": "ACTOR StalkerDoomImpBall : DoomImpBall replaces DoomImpBall\n{\n Damage 6\n Speed 15\n FastSpeed 25\n}\n\nACTOR StalkerCacodemonBall : CacodemonBall replaces CacodemonBall\n{\n Speed 15\n FastSpeed 25\n Damage 8\n}\n\nACTOR StalkerBaronBall : BaronBall replaces BaronBall\n{\n Speed 20\n FastSpeed 30\n Damage 13\n}\n\nACTOR StalkerArachnotronPlasma : ArachnotronPlasma replaces ArachnotronPlasma\n{\n Speed 28\n Damage 8\n}"
},
{
"source": "pk3",
"name": "actors/compability.txt",
"contents": "ACTOR DoomCheck { Game Doom SpawnID 255 Radius 1 Height 1 }\nACTOR HereticCheck { Game Heretic SpawnID 255 Radius 1 Height 1 }\nACTOR HexenCheck { Game Hexen SpawnID 255 Radius 1 Height 1 }\nACTOR StrifeCheck { Game Strife SpawnID 255 Radius 1 Height 1 }\nACTOR ChexCheck { Game Chex SpawnID 255 Radius 1 Height 1 }\n\nACTOR DoomCounter : Inventory {Inventory.MaxAmount 1}\nACTOR HereticCounter : Inventory {Inventory.MaxAmount 1}\nACTOR HexenCounter : Inventory {Inventory.MaxAmount 1}\nACTOR StrifeCounter : Inventory {Inventory.MaxAmount 1}\nACTOR ChexCounter : Inventory {Inventory.MaxAmount 1}"
},
{
"source": "pk3",
"name": "actors/weather.txt",
"contents": "//Credits to WeatherFX by Jon Washburn\n\nactor \"StalkerWeatherPoint\" 20057\n{\n +NOGRAVITY\n +NOCLIP\n +NOBLOCKMAP\n +NOTRIGGER\n States\n {\n Spawn:\n TNT1 A 1\n\tLoop\n }\n}\n\nACTOR WeatherSpot 30000\n{\n\n\t+NOBLOCKMAP\n\tgravity 0\n\tstates\n\t{\n\tSpawn:\n\t\tTNT1 A -1\n\t\tLoop\n\t}\n\n}\n\nACTOR RainSpawner\n{\n\t+Missile\n\t+NoClip\n\t+NoGravity\n\t+NoBlockMap\n\tRenderStyle Translucent\n\tAlpha 0\n \tstates\n \t{\n \tSpawn:\n\t\tRAIN A 0 A_JumpIf(z >= ceilingz,1)\n\t\tRAIN A 1 A_SpawnItemEx (\"RainDrop\", 0, 0, 0, random(0,1), random(0,1), -random(0,5), random(0,255), 0)\n \t\tStop\n\t}\n\n}\n\n//Heavy rain spawner\nACTOR HardRainSpawner\n{\n\t+Missile\n\t+NoClip\n\t+NoGravity\n\t+NoBlockMap\n\tRenderStyle Translucent\n\tAlpha 0\n \tstates\n \t{\n \tSpawn:\n\t\tRAIN A 0 A_JumpIf(z >= ceilingz,1)\n\t\tRAIN A 1 A_SpawnItemEx (\"RainDrop\", 0, 0, 0, random(0,1), random(0,1), -random(5,20), random(0,255), 0)\n \t\tStop\n\t}\n\n}\n\nACTOR RainDrop\n{\n\n\t+NOBLOCKMAP\n\t+DROPOFF\n\t+MISSILE\n\t+NOTELEPORT\n\t+DontSplash\n\tRenderStyle Add\n\tAlpha .5\n\txscale 0.25\n\tstates\n\t{\n\tSpawn:\n\t\tTNT1 A 0 A_ChangeVelocity(random(0.0, 1.0), random(0.0, 1.0), -random(5.0, 20.0), CVF_REPLACE)\n\t\tTNT1 A 0 A_JumpIf(z >= ceilingz, \"Death\")\n\t\t//TNT1 A 0 A_JumpIf(2 == ACS_ExecuteWithResult(SD_RAINCHECKCEIL), \"Death\")\n\t\tRAIN A 1 A_JumpIf(waterlevel >= 1, \"Death\")\n\t\tLoop\n\tDeath:\n\t\tTNT1 A 1\n\t\tStop\n\t}\n\n}"
},
{
"source": "pk3",
"name": "actors/singleplayer.txt",
"contents": "ACTOR WorldTime : Value { }\nACTOR RainTime : Value { }\nACTOR IsRaining : Value { }"
}
]
},
"maps": []
}