From 21d9f955c41f6e9616d7f459c324e8ac59b9c326 Mon Sep 17 00:00:00 2001 From: ketmar Date: Sun, 25 Sep 2022 10:23:22 +0000 Subject: [PATCH] Zan will toss a mine now instead of spawning it before itself (prevents spawning mines behind doors and walls) (thanks, XenonSP!) FossilOrigin-Name: ab348b2a730e11a943118776e1a852f55531ac95ac9cae84f3d4863b5a282296 --- decorate/Weapons/Hellclaw.txt | 109 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) diff --git a/decorate/Weapons/Hellclaw.txt b/decorate/Weapons/Hellclaw.txt index 1fcad88..103422e 100644 --- a/decorate/Weapons/Hellclaw.txt +++ b/decorate/Weapons/Hellclaw.txt @@ -243,8 +243,11 @@ ACTOR Hellclaw : Weapon replaces SuperShotgun { TNT1 A 0 { //A_k8ConLog(va("PITCH: %s; ofs=%s", pitch, 20*cos(pitch))); - A_SpawnItemEx("HellMineArmed", 40*cos(pitch), 0, 0, 0, 0, 0, 0, SXF_ORIGINATOR/*SXF_NOPOINTERS*/); - A_TakeInventory("HellEnergy", 10); + //A_k8ConLog(va("ANGLE: %s", angle)); + //A_SpawnItemEx("HellMineArmed", 40*cos(pitch), 0, 0, 0, 0, 0, 0, SXF_ORIGINATOR/*SXF_NOPOINTERS*/); + if (A_SpawnItemEx("HellMineLay", 0 /*-(4+2*cos(pitch))*/, 0, 0, 0, 0, 0, 0, SXF_ORIGINATOR|SXF_TRANSFERPITCH/*SXF_NOPOINTERS*/)) { + A_TakeInventory("HellEnergy", 10); + } } WHEF I 2 WHEF J 2 @@ -383,6 +386,108 @@ ACTOR HellMine { } +ACTOR HellMineLay { + //Monster + Radius 5 + Height 15 + Speed 0 + FloatSpeed 0 + Scale 0.35 + Health 15 + DamageFactor "Aggro", 0.0 + DamageFactor "Drowning", 0.0 + DamageFactor "Fire", 0.0 + DamageFactor "Lava", 0.0 + DamageFactor "Toxic", 0.0 + DamageFactor "PoxToxic", 0.0 + DamageFactor "ForcePull", 0.0 + //RipLevelMin 1 + //MeleeThreshold 128 + MeleeRange 112 + MinMissileChance 0 + MeleeDamage 0 + MaxStepHeight 4 + //+NOGRAVITY + +DONTTHRUST + +MISSILEMORE + +MISSILEEVENMORE + +THRUGHOST + +LOOKALLAROUND + +FLOORCLIP + +SHOOTABLE + -SOLID + -COUNTKILL + +NOINFIGHTING + +NOTARGET + +NEVERTARGET + +ISMONSTER + +FRIENDLY + +NOBLOOD + DeathSound "HellMine/Burst" + Obituary "%o was torn apart by a Hell Mine." + + States { + Spawn: + PHEM F 1 Bright + TNT1 A 0 + { + //A_k8ConLog(va("PITCH: %s; ofs=%s", pitch, 7*cos(pitch))); + ThrustThing(angle*256/360, 7*cos(pitch), 1, 0); + A_SetPitch(0); + } + Goto See + + See: + TNT1 A 0 A_PlaySound("HellMine/Ping", CHAN_AUTO, 0.4, 0, 3) + PHEM FFFFFF 1 Bright Light("ZanHellMineFlicker") A_Chase + TNT1 A 0 A_ClearTarget + PHEM GGGGGGGGGG 1 Bright Light("ZanHellMineFlicker") A_Chase + TNT1 A 0 A_ClearTarget + PHEM GGGGGGGGGG 1 Bright Light("ZanHellMineFlicker") A_Chase + TNT1 A 0 A_ClearTarget + Loop + + Melee: + PHEM F 1 Bright Light("ZanHellMineFlicker") A_Die + Goto See + + Death: + TNT1 A 0 + { + A_Scream(); + A_AlertMonsters(1200); + } + PHEM E 1 Bright Light("ZanHellBallShot") A_ChangeVelocity(0, 0, 12, CVF_REPLACE) + TNT1 A 0 A_SpawnItemEx("DustPuffLarge", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0) + PHEM E 12 Bright Light("ZanHellBallShot") + TNT1 A 0 + { + A_ChangeFlag("NOTONAUTOMAP", 1); + if (IsPlayer(AAPTR_TARGET)) { + A_Explode(150, 192, (GetCVarB('k8ZanMod_DamageSelfHellMine') ? XF_HURTSOURCE : 0), True, 160, 0, 0, " ", "Crushbow"); + A_Explode(80, 192, (GetCVarB('k8ZanMod_DamageSelfHellMine') ? XF_HURTSOURCE : 0), True, 160, 0, 0, " ", "Hellclaw"); + } else { + // here, `Target` is activator, and it's not a player + A_Explode(150, 192, XF_HURTSOURCE, True, 160, 0, 0, " ", "Crushbow"); + A_Explode(80, 192, XF_HURTSOURCE, True, 160, 0, 0, " ", "Hellclaw"); + } + A_JumpIf(WaterLevel>0, "WaterDeath"); + A_SpawnItemEx("ExplosionLargeRed", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 0); + A_SpawnItemEx("HellclawBloodCloud", 0, 0, -15, 3, 3, random(-2, 2), 0, SXF_NOCHECKPOSITION, 0); + A_SpawnItemEx("HellclawBloodCloud", 0, 0, -15, -3, -3, random(-2, 2), 0, SXF_NOCHECKPOSITION, 0); + A_SpawnItemEx("HellclawBloodCloud", 0, 0, -15, 3, -3, random(-2, 2), 0, SXF_NOCHECKPOSITION, 0); + A_SpawnItemEx("HellclawBloodCloud", 0, 0, -15, -3, 3, random(-2, 2), 0, SXF_NOCHECKPOSITION, 0); + } + TNT1 A 30 A_Quake(3, 30, 0, 1200) + Stop + + WaterDeath: + TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("UnderwaterBubble", 0, 0, 0, random(-5, 5), random(-5, 5), random(1, 4), 0, SXF_NOCHECKPOSITION, 0) + Stop + } +} + + ACTOR HellMineArmed { //Monster Radius 5 -- 2.11.4.GIT