Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Poormetheus

Less than exSPECTREd

Recommended Posts

Guys . . .

I HATE the spectres in Brutal Doom. I am currently in the process of trying to 'mod them out' of the BD pk3 file.

I use Slumped to edit wads, by the way.

Do you know of any way I could import the classic spectre, but retain the sprite dynamics of BD (gibs, death animations, etc.)? I've tried many different things but clearly I'm not doing it right.

Share this post


Link to post

eh, i was actually thinking of finding a level with such a title in this post, someone could be done it...

about your request i don't know how to help you, sorry...

Share this post


Link to post

Shouldn't this be in Editing?

Share this post


Link to post
Poormetheus said:

Do you know of any way I could import the classic spectre, but retain the sprite dynamics of BD (gibs, death animations, etc.)?

Damn... It's so easy that it doesn't require super programming skill. Just open main pk3 (brutal19.pk3 or whatever version you use), go to SPRITES/MONSTERS/SPECTER, take these pics inside that folder and add some more details instead just two eyes. You can take from original wad and just replace.

It's very important to create duplicate of your old pk3 if you destroy it somehow and keep experimenting. Back in old time i could replace all weapons and add to Rocketlauncher - grenadelauncher, Plasmagun - railgun, Bfg10000 + bfg9000.

Share this post


Link to post

Cool, thanks for the advice!

I am still tinkering with SlumpED trying to perfect my Brutal Doom wad (making a backup of course).

One minor snag is that, somehow, the armor pickups in my original wad are all now angled rather than straight on - I think this is because I launched the wad while SlumpED was open, and maybe it corrupted something . . .

Any thoughts on how to rectify slanty armor ??

Share this post


Link to post

Wouldn't you want to use slade 3? I mean, AFAIK, it integrates slumped and is much better imo. But, that's just me ^^

Share this post


Link to post
Azuruish said:

Just open main pk3 (brutal19.pk3 or whatever version you use), go to SPRITES/MONSTERS/SPECTER, take these pics inside that folder and add some more details instead just two eyes. You can take from original wad and just replace.


Would that it were just that simple! On closer inspection, the Brutal Doom Spectre has an 'incomplete' walk cycle, because he is almost always totally transparent, so Sgt Mark didn't need to bother animating a walk for him. His attack seems to be a copy/paste of the original Pinky Demon (you'll notice that he becomes visible when he attacks you).

So my problem remains . . . I've sourced the Nightmare Spectre model from the PSX DOOM and tried copying that into Brutal DOOM, replacing its Spectre sprite, but some big ass error messages appear when I try to launch.

Any help would be appreciated.

If I manage to crack this then I'll post it as a downloadable wad for everyone interested.

Share this post


Link to post
Poormetheus said:

On closer inspection, the Brutal Doom Spectre has an 'incomplete' walk cycle, because he is almost always totally transparent, so Sgt Mark didn't need to bother animating a walk for him.

He did, because sprites with rotations must include all rotation frames, not just some, even if most of them would be "empty/invisible" sprites, as long as at least one rotation exists. For example, if the wad/pk3 contains a "forward angle" rotation of a particular sprite (lump name "ABCDE1", substitute letters A-E by any letters you want / you have in the wad/pk3), and all remaining angles (ABCDE2-ABCDE8) were supposed to be invisible, the wad/pk3 needs to contain some (invisible) sprites named ABCDE2-ABCDE8 anyway, otherwise there will be error at startup of the engine. Maybe it's the same error you're currently experiencing.

Share this post


Link to post
scifista42 said:

The wad still needs to contain invisible sprites named ABCDE2-ABCDE8, otherwise there will be error at startup of the engine. Maybe it's the same error you're currently experiencing.


Ah, see this is why I love this forum: guy like scifista42 with great knowledge!

Precisely. I am receiving a message like "error: SPECA is missing frames" which I try to launch. I probably deleted those 'dummy frames' by accident. Looks like I'll need to open up my original BD pk3, find their names, and re-insert them into my revised spectre wad.

I'll let you know how it goes!

Share this post


Link to post

copy this into SPECTRE file

Spoiler

ACTOR Spectro: Demon Replaces Spectre
{
    GibHealth 35
	//Radius 30
    Scale 1.1
	Height 52
	Radius 22
	Mass 400
    Speed 8
    -FASTER
    damagefactor "Crush", 10.0
    damagefactor "SSG", 5.0
	damagefactor "Avoid", 0.0
	damagefactor "Saw", 0.3
	PainChance "Kick", 255
	Monster
	damagefactor "Avoid", 0.0
damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
    damagefactor "Shrapnel", 0.3
	damagefactor "Saw", 0.3
	+FLOORCLIP 
	SeeSound "demon/sight"
	AttackSound "demon/melee"
	PainSound "demon/pain"
	DeathSound "demon/death"
	ActiveSound "demon/active"
    BloodType "NashGore_Blood", "BloodSPlatterReplacer", "SawBlood"
	DamageType Eat
	MaxStepHeight 48
	MaxDropOffHeight 48
	DropItem "DemonStrengthRune" 2
	RenderStyle Add
    Alpha 0.45
	Obituary "%o has been sodomized by a Spectre."
	States
	{
	Spawn:
		SARG ZA 10 A_Look
		Loop
	See:
        TNT1 A 0 A_SpawnItemEx("FootStep", 0, 0, 30, 0, 0)
		SARG AAAAAA 1 A_Chase
		SARG BBBBBB 1 A_Chase
		SARG CCCCCC 1 A_Chase
		SARG DDDDDD 1 A_Chase
		Loop


	Melee:
		SARG E 6 A_FaceTarget
		SARG F 6 A_FaceTarget
		TNT1 A 0 A_CustomMissile("DemonAttack",40,0,0,0)
		SARG G 12 A_CustomMissile("DemonAttack",5,0,0,0)
		Goto See

	Pain:
		SARG H 2
		SARG H 2 A_Pain
		Goto See

    Pain.Kick:
         TNT1 A 0 A_Pain
         TNT1 A 0
        //TNT1 A 0 ThrustThingZ(0,30,0,1)
        TNT1 A 0 A_FaceTarget
        TNT1 A 0 A_Recoil (14)
         SARG H 18
         Goto See
	Death:
        TNT1 A 0 A_Jump(128, 13)
		SARG I 8
		SARG J 8 A_Scream
		SARG K 4
		SARG L 4 A_NoBlocking
		SARG M 4
        TNT1 A 0 A_SpawnItem ("DeadDemon", 1)
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
		Stop
        TNT1 AAAAAAAAA 0
        TNT1 A 0 A_Jump(128, 13)
        TNT1 A 0 A_CustomMissile ("MuchBlood", 50, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("XDeathDemonArm", 35, 0, random (0, 360), 2, random (0, 160))
		SAAR A 8 A_CustomMissile ("XDeath1", 40, 0, random (0, 360), 2, random (0, 160))
		SAAR B 8 A_Scream
		SAAR C 8 A_NoBlocking
		SAAR DEF 8
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
        TNT1 A 0 A_SpawnItem ("DeadDemonNoArm", 1)
        Stop
        TNT1 AAAAAAAAA 0
		 TNT1 AA 0 A_CustomMissile ("XDeathBrain1", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeathBrain2", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 A 0 A_CustomMissile ("XDeath4", 60, 0, random (0, 360), 2, random (0, 160))
        TNT1 A 0 A_CustomMissile ("MuchBlood", 60, 0, random (0, 360), 2, random (0, 160))
		SARH A 11
		SARH B 12 A_Scream
		SARH C 12 A_NoBlocking
		SARH D 12
        TNT1 A 0 A_SpawnItem ("DeadDemonNoHead", 1)
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
        Stop
	Death.Burn:
        BBTS A 0 A_SpawnItemEx("Flames", 0, 32, 0, 1, 0, 0, 0, 0, 0)
		Goto Death
	Death.Saw:
		TNT1 A 0 A_Jump(32, "Death")
	     TNT1 A 0 A_CustomMissile ("XDeathStomach", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath4", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath3", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAA 0 A_CustomMissile ("Instestin2", 60, 0, random (0, 360), 2, random (0, 160))
		SARG O 8
		SARG P 8 A_Scream
		SARG Q 4 A_NoBlocking
		SARG RST 4
        TNT1 A 0 A_SpawnItem ("DeadDemonHalf", 1)
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
	    Stop
	Death.Cut:
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_Jump(32, "Death")
		TNT1 A 0 A_CustomMissile ("XDeathHalfDemon", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("XDeathStomach", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("XDeath1", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("XDeath2", 60, 0, random (0, 360), 2, random (0, 160))
		TNT1 AA 0 A_CustomMissile ("XDeath3", 60, 0, random (0, 360), 2, random (0, 160))
		SARC ABCD 9
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("DeadDemonHalf23", 1)
        Stop	
	Death.CutLEss:
		TNT1 A 0 A_Jump(180, "Death")
	     TNT1 A 0 A_CustomMissile ("XDeathStomach", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath4", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AA 0 A_CustomMissile ("XDeath3", 60, 0, random (0, 360), 2, random (0, 160))
		 TNT1 AAAAAA 0 A_CustomMissile ("Instestin2", 60, 0, random (0, 360), 2, random (0, 160))
		SARG O 8
		SARG P 8 A_Scream
		SARG Q 4 A_NoBlocking
		SARG RST 4
        TNT1 A 0 A_SpawnItem ("DeadDemonHalf", 1)
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
	    Stop


    Death.SuperPunch:
	Death.ExtremePunches:
	Death.Blast:
	Death.SSG:
	    SARC A 1 A_Pain
	    SARC A 1 A_FaceTarget
        //TNT1 A 0 A_CustomMissile ("MeatDeath", 0, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAA 0 A_CustomMissile ("XDeath1", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("XDeath2", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("XDeath3", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("Nashgore_FlyingBlood", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("Nashgore_FlyingBloodFaster", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("Nashgore_FlyingBloodMuchFaster", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAA 0 A_CustomMissile ("Instestin", 32, 0, random (150, 210), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("SuperWallRedBlood", 32, 0, random (170, 190), 2, random (0, 40))
		TNT1 AAAA 0 A_CustomMissile ("SuperWallRedBlood", 46, 0, random (170, 190), 2, random (0, 40))
		TNT1 AA 0 A_CustomMissile ("XDeathDemonArm", 32, 0, random (170, 190), 2, random (0, 40))
        TNT1 A 0 A_XScream
		TNT1 A 0 A_NoBlocking
        SARC ABCD 9
		TNT1 A 0 A_SpawnItem ("MediumBloodSpot")
		TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
        SARC D -1
        Stop

	    Death.GreenFire:
        TNT1 A 0
        TNT1 A 0 A_XScream
        TNT1 A 0 A_NoBlocking
        TNT1 AAAA 0 A_CustomMissile ("Nashgore_Blood", 30, 0, random (0, 360), 2, random (0, 160))
		

	    TNT1 A 0 A_CustomMissile ("XDeathBurnedDemonArm", 32, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedDemonLeg", 32, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("XDeathBurnedMeat", 32, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedMeat2", 32, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedMeat3", 32, 0, random (0, 360), 2, random (0, 160))
		
		EXPL AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("GreenFlameTrails", 50, 0, random (0, 360), 2, random (0, 360))
		XBRN AAAA 2 BRIGHT A_SpawnItem("GreenFlare",0,43)
        Stop
    Death.SuperPlasma:
    Death.Plasma: Death.Plasma2:
        TNT1 A 0
        TNT1 A 0 A_XScream
        TNT1 A 0 A_NoBlocking
		        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
        TNT1 AAA 0 A_CustomMissile ("Nashgore_FlyingBlood", 50, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedDemonArm", 32, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_CustomMissile ("XDeathBurnedDemonLeg", 32, 0, random (0, 360), 2, random (0, 160))
		EXPL AAAAAA 0 A_CustomMissile ("ExplosionSmoke", 32, 0, random (0, 360), 2, random (0, 360))
        CARB JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 10 A_CustomMissile ("SmallSmoke", 25, 0, random (0, 360), 2, random (70, 110))
        CARB J -1
        Stop
		
	    Death.Fire:
        TNT1 A 0
		TNT1 A 0 A_Scream
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
		SARG IIII 2 A_CustomMissile ("FlameTrails", 45, 0, random (0, 360), 2, random (50, 130))
		SARG JJJJ 2 A_CustomMissile ("FlameTrails", 30, 0, random (0, 360), 2, random (50, 130))
		SARG KKKK 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (50, 130))
		SARG LLLL 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (50, 130))
        TNT1 A 0 A_Playsound("props/redfire")
		CARB JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 2 A_CustomMissile ("FlameTrails", 25, 0, random (0, 360), 2, random (50, 130))
        CARB JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 10 A_CustomMissile ("SmallSmoke", 25, 0, random (0, 360), 2, random (70, 110))
        CARB J -1
        Stop
		
			
		 Death.Stomp:
	TNT1 AAAAAA 0 bright A_CustomMissile ("SuperGoreSpawner", 5, 0, random (0, 360), 2, random (30, 180))
	TNT1 AAAAAA 0 bright A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (30, 180))
	TNT1 AA 0 bright A_CustomMissile ("XDeath2", 55, 0, random (0, 360), 2, random (30, 180))
	TNT1 AA 0 bright A_CustomMissile ("XDeath3", 55, 0, random (0, 360), 2, random (30, 180))
	TNT1 A 0 A_SpawnItem ("CrushedRemains")
	TNT1 A 1
	TNT1 A 1 A_XScream
    TNT1 A 1 A_NoBlocking
	Stop
		
    Death.Fatality:
	    TNT1 A 0 A_Pain
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_JumpIfIntargetInventory("FistsSelected", 1, 1)
		Goto Death.ExplosiveImpact
		TNT1 A 0 A_GiveToTarget("GoFatality", 1)
        TNT1 A 0 A_Jump(128,5)
        TNT1 A 0 A_GiveToTarget("DemonFatality", 1)
        Stop
        TNT1 AAAAAAA 0
        TNT1 A 0 A_GiveToTarget("DemonFatality2", 1)
        TNT1 A 1
        TNT1 A 0
		Stop
	
	XDeath:
        TNT1 A 0 A_SpawnItem ("EvilRedSmokeSpawner", 1)
	    TNT1 A 0 A_CustomMissile ("BullXDeath", 0, 0, random (0, 360), 2, random (0, 160))
	    Stop
	Raise:
		SARG N 5
		SARG MLKJI 5
		Goto See
    Crush:
        TNT1 A 0 A_PlaySound("misc/xdeath4")
        CRS2 A 5
        CRS2 A -1
        Stop
    Pain.KillMe:
    Pain.Taunt:
        TNT1 A 0
        Goto See
    Death.KillMe:
    Death.Taunt:
	    TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("Demon")
        Stop

    Pain.Kick:
         TNT1 A 0 A_Pain
         TNT1 A 0
        //TNT1 A 0 ThrustThingZ(0,30,0,1)
        TNT1 A 0 A_FaceTarget
        TNT1 A 0 A_Recoil (14)
         SARG H 18
         Goto See
    Death.Eat:
        TNT1 A 0 A_GiveToTarget("EatMe",1)
		 Goto Death+3
        Stop
	}
}

Must help.

Share this post


Link to post

What? What a version of Brutal Doom do you use? what a source port do you use? You just tried modify exe file and put that code or you tried to modify the file inside BRUTALV19EE.PK3/SPECTRE ?
Everything works fine for me:


p.s.
code like 'TNT1 A 0 A_JumpIfInventory("EatMe", 1, "Eat")' isn't necessary. Remove it.

Share this post


Link to post

Cool, thanks!

Incidentally, I've managed to concoct a Spectre that is exactly the same as the original Pinky (including fatalities) but retains its translucence.

Now I'm working on how to have it retain its translucence for its death animations.

It looks a little different to your Spectre there . . . perhaps less visible. I think I prefer the appearance of your guy!

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×