#classic-doom-maps-mods

1 messages · Page 64 of 1

wary zealot
#

Honestly, this is going to sound terrible in the context of doom modding, but the mod's main inspiration is modern FPS games.

#

Only the good parts of them, though.

vocal crypt
#

which kind of modern FPS games

#

besides godo

#

*good

livid hearth
#

nothing wrong with that

#

and

#

there is an example there that does exactly what you need

wary zealot
#

Millitary FPS, I guess.

#

Also wow, thanks, Madame!

vocal crypt
#

hmmm

livid hearth
#

just change the while condition

vocal crypt
#

I would think of a Medal of Honor esque mod, but Wolfenstein Blade of Agony hits that note I feel

wary zealot
#

That's why the mod only has two weapons, to simulate the 'two weapon limit' that has become all so popular in modern FPS.

livid hearth
#

to check for when the weapon gets tossed out

wary zealot
#

But I make up for that two weapon limit with upgrades, quick-use weapons (the axe, and grenades), and the minigun powerup.

livid hearth
#

Also

vocal crypt
#

inb4 the song is Ocean Man

livid hearth
#

you can also use A_TakeInventory("Minigun",0x7FFFFFFF) instead of dropping the weapon

vocal crypt
#

Ocean Man... Take me by the hand, lead me to the land..... That you understand... Minigun mowing down enemies

wary zealot
#

The minigun kind of already does play music, in a sense.

#

It's a little easteregg.

#

Firing it while under the effects of the wandersphere, instead of randomly playing a single kick sound when firing like with the other weapons, will play an entire kick sequence sampled straight from the song.

#

Lemme show you a video of it so you know what I mean.

vocal crypt
#

huh

#

I was more thining of some music that pumps you up even more

#

great...

#

I'm a ambigious teenager

#

not only wanting a Doom Fortress coop mod

wary zealot
#

This is less of a "Pump you up" music, more a "cool easteregg" music.

vocal crypt
#

but also a Medal of Honor esque mod

#

oooh

#

maybe Bad Motherfucker plays when shooting Minigun

#

@wary zealot ?

wary zealot
#

Nah.

#

It's going to stick as it is.

#

Because the wandersphere is based on a song, so I wanted the minigun to use a part of that song.

light prism
#

i always wondered what the quake quad damage sound was supposed to be

#

like a distorted gong or something

wary zealot
#

Yeah.

#

I also wonder what the hitsound is.

#

I'm happy with the blood effects now, but I need to optimize them.

#

still runs better than brutal doom

vocal crypt
#

nice

#

where you get sfx btw

light prism
#

sploosh

vocal crypt
#

also, the blood fits Doom IMO

light prism
#

that is a lot of sploosh

vocal crypt
#

better than BD

wary zealot
#

All of my custom sounds effects are from Freesound.

#

I just edit some of them a little bit.

#

Like, for the firing sounds for the rifle/pistol I added some extra bass and added pitch-varied versions to add more variety to the firing noises.

#

for the minigun firing noise, I got the typical 'brrrrrrrrrt' of a real minigun and adding barrel rotating sounds in the background.

#

I'm no sound designer, but it works.

#

I just take a lot of advice from Vlambeer.

#

"When in doubt, add more screenshake to your visuals and more bass to your sounds." might as well be their motto.

light prism
#

when in doubt, play minecraft

wary zealot
#

Hm.

#

So I'm trying to use A_JumpIfInTargetInventory to change the blood color when the player has a specific powerup, but how do I set the player as the target?

#

Can I even do that, if the actor isn't a monster?

light prism
#

how is it spawned

#

oh right

#

uhhhh this one might be tricky

wary zealot
#

How tricky?

#

Like, so tricky that a small detail like this isn't worth doing?

light prism
#

more like i cant think of the answer outright at this moment and im working

#

something with rearranging pointers probably

wary zealot
#

Dangit, people are telling me to lower the recoil of the guns in my mod. I will, for the sake of people's enjoyment, but I really don't want to. I love high, powerful recoil in games.

#

And it helps to temper the power of the weapons a little and provide some extra challenge.

light prism
#

well the problem with that challenge is that it's essentially randomized

#

there is a degree of randomness to hitscan attacks as it stands (unless you remove all spread, etc)

wary zealot
#

Yeah, but I like random challenges, but that's probably just me.

#

I'm a huge fan of roguelikes.

light prism
#

yeah, its different in a roguelike though

#

in any tilebased and turnbased game, random/dice rolls are part of core gameplay

#

but look at say, fallout 3

#

you can be targetting an enemy dead to rights at close range, and still miss because of a dice roll

#

it doesnt make any sense and detracts from both enjoyability and immersion

wary zealot
#

Fair enough.

#

You know what, I'm going to tackle the elephant that's been sitting in my (proverbial, code-based) room.

#

I'm going to learn ACS.

#

So I can actually do CVARs, music changes, etcetera.

light prism
#

now if you were going to make a survival horror, that would be a totally different question

#

seeing as how part of that style is to cripple the players control/ability

wary zealot
#

A survival horror doom mod could be nice, considering seemingly all of the doom horror wads out there are slender clones or infamously bad, like "Rootpain".

#

shudders

#

But then you get the exceptions, like Unlvoed.

#

Unloved*

livid hearth
#

I would like to make a horde mod

wary zealot
#

That too.

#

That could be a lot of fun.

light prism
#

rootpain.. you're either at the dentist.. or having sex wrong

wary zealot
#

Okay, ACS seems simple...-ish.

#

I'm a moron but I'll figure it out.

#

And I'm going to make sure the weapon state for halved recoil is named "Babbyrecoil"

#

Because the recoil is a part of the mod, dangit!

prisma saddle
#

@wary zealot This mod is coming along nicEly.

wary zealot
#

Thank you.

#

So, I'm learning ACS, how do I trigger an ACS script in decorate?

wary zealot
#

Does anyone here know anything about ACS...? I just started and the wiki isn't super helpful.

light prism
#

hi

#

i just got home

#

also the wiki is super helpful if you know how to navigate it

#

to run an acs script from decorate you can do several things

#

ACS_Execute is the standard method

#

however if the acs script loops or activates over time, and ACS_Execute is called again, it won't re-execute (only one version of that script can run)

#

there is also ACS_ExecuteAlways, which averts this

wary zealot
#

Ah, okay.

light prism
#

more recently named scripts were added, along with the ACS_NamedExecute / ACS_Named(etc) variants

wary zealot
#

So, can I post a script I just made that isn't working, so you can explain why it isn't working?

light prism
#

along with the shorthand method CallACS

#

sure

livid hearth
#

You usually want to use ACS_ExecuteAlways for things that happen over time

wary zealot
#

Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled"))

Setmusic("wanderlu");

else if(Checkinventory("FireSpeedDoubled"))

Setmusic("*",0);

}

light prism
#

that is misleading madame

livid hearth
#

and CallACS if you want to use a script that calculates things instantly and returns a value

light prism
#

samari

#

go like this

#

`

#

er

#

three tildes

wary zealot
#
{
if(Checkinventory("FireSpeedDoubled"))

Setmusic("wanderlu");

else if(Checkinventory("FireSpeedDoubled"))

Setmusic("*",0);

}~~~
light prism
#

(next to 1, to the left)

#

then paste, then three more

#

if you cant figure that out, just paste to pastebin or something and paste the link

#

because otherwise the formatting is impossible to read

wary zealot
#

`Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled"))

Setmusic("wanderlu");

else if(Checkinventory("FireSpeedDoubled"))

Setmusic("*",0);

}`

#

That better?

light prism
#

betteer but still wrong

#

uhhh techincally theres nothing wrong with that

#

although I dont know what "*" does in setmusic

#

as long as youre running it with ACS_NamedExecute or NamedExecuteAlways, it should work

wary zealot
#

Hm.

#

Where should I put ACS_NamedExecute in my decorate?

#

For that script.

#

Because I tried doing it on the powerup itself on the "Use" state, but it didn't work.

light prism
#

...where you want it to execute

livid hearth
#

Call it as an action for a frame like you would other Decorate actions

wary zealot
#

Okay.

#

Sorry for the trouble.

light prism
#

i cant find a fuckin lighter

livid hearth
#

That and you can also call an ACS script that returns a value anywhere that takes expressions for its parameters

wary zealot
#

Hm.

light prism
#

dont overload the poor guy

wary zealot
#

Is there a way to run ACS via the console?

light prism
#

he's an acs nub

livid hearth
#

An example:

PLSG A 3 Bright A_RailAttack(CallACS("CalcCellDmg",7,3,6,0),0,0,"none","PaleTurquoise",RGF_Silent|RGF_NoPiercing|RGF_Fullbright,8,Thunderpuff,0,0,800,6,0.0,0.5)
light prism
#

@wary zealot - pukename "namedscript" or puke n numbered script

wary zealot
#

The script doesn't work.

#

Hm...

light prism
#

eh?

#

is it compiled??

wary zealot
#

Yep.

#

Maybe there's something I missed...

light prism
#

add a Print(s:"This should work."); right at the top

#

and recompile

#

then test it

#

text will print to middle of screen if it works

#

otherwise theres some other issue

wary zealot
#

Hey, it printed!

light prism
#

ok

#

soooo

wary zealot
#

Okay, that part works.

light prism
#

maybe your music lump doesnt exist?

#

if you do changemus wanderlu does it work?

wary zealot
#

Yep.

light prism
#

is the checkinventory checking for the correct inventory item

#

ie is it spelled correctly

wary zealot
#

Yep.

light prism
#

oh its a powerup

#

i dunno if that works

#

since the whole powerup/powerupgiver thing

wary zealot
#

Powerups are inventory items.

#

Like, the powerups themselves, not the powerupgiver.

livid hearth
#

You might wanna move the acs call to the PowerupGiver??

light prism
#

the powerupgiver stops existing after giving the powerup

wary zealot
#

I tried pukename "Wandermusic" before picking up the sphere, nothing happened.

light prism
#

no text?

#

try pukename wandermusic

#

no quotes

wary zealot
#

No, I'm running the right script, pukename delivers an error message if you run a script that doesn't exist.

#

I guess setmusic just isn't working...?

light prism
#

there is no reason for it not to work

#

how about change the first setmusic temporarily to another print

#

to see if the if condition is being met

wary zealot
#

Now it's saying "else" is an invalid statement when I try to compile...?

#

what?

light prism
#

you didnt remove or comment out the first setmusic, did you

#

if/else works like this

#

if(condition) DoThis; else DoThat;

#

however

#

if(condition) DoThis; DoThat; else DoError;

#

do you see the problem?

#

the else is no longer part of the if chain

#

because an extra action exists between them

livid hearth
#

You have to wrap it in curly braces { }

#

The actions

light prism
#

if you want multiple actions to follow a condition, yes

#

if(condition) { DoThis; AndDoThat; } else DoThirdThing;

wary zealot
#
{
if(Checkinventory("FireSpeedDoubled"));
{
Print(s:"Hello");
Setmusic("wanderlu");
}
else(Checkinventory("FireSpeedDoubled"));
Setmusic:("*",0);
}```
light prism
#

oh errr

#

your else doesnt need a condition

#

unless its an 'else if'

#

in this case just 'else' will do

wary zealot
#

now it says else is an invalid statement.

light prism
#

btw if you follow up an if with a ohhh

#

yeah i was just saying

#

this is wrong:

#

if(condition); DoThis;

#

see the semicolon between the condition and the action?

#

that counts as a sort of.. blank action

#

you only ever end a function/action in a semicolon

#

not conditional checks and such

#

so if(condition) DoThis;

#

not if(condition); DoThis;

wary zealot
#
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello")
Setmusic("wanderlu");
}
else
Setmusic("*",0);
}```
#

Like this?

light prism
#

yep

wary zealot
#

still fails to comply.

#

compile*

#

Says the first "Setmusic" is missing a semicolon.

light prism
#

the print is missing a semicolon

#

always check the prior line to what an error actually calls - the compiler only knows that there is an error AFTER the fact

wary zealot
#

Aaaaah.

livid hearth
#
Script "WanderMusic" (void)
{
    if(Checkinventory("FireSpeedDoubled")) {
        Print(s:"Hello");
        Setmusic("wanderlu");
    } else { Setmusic:("*",0); }
}

Try this

wary zealot
#

Alright, sorry. I'm a moron.

light prism
#

now pay me $5,000,000

wary zealot
#

Hm, when the condition is supposed to be met it doesn't print.

#

Meaning that the condition doesn't work properly.

light prism
#

yep

#

sooo there are two possible factors

#

1: it's not checking the correct actor for the inventory item

#

2: it's not checking for the correct inventory item

#

the former depends on where exactly you are calling the script

#

from the powerup right?

#

like the pickup item

wary zealot
#

Well, I'm just calling it via "pukename" right now for testing purposes.

light prism
#

well unless you give yourself the inventory item first then of course it wont

wary zealot
#

oh.

#

oooooh.

livid hearth
#

I see a problem

#

the script is only called once

light prism
#

yeah, this script will only exist for 1 tic

livid hearth
#

so if the if condition is met, it will play the music forever

wary zealot
#

How do I call the script twice?

light prism
#

dont worry about that right now

#

get it working first

#

so where exactly is the script being called from?

wary zealot
#

YES I GOT THE SCRIPT WORKING

#

well, via pukename working.

light prism
#

cool, yep

wary zealot
#

and it wasn't me that got the script working, it was you guys.

light prism
#

no

livid hearth
#
Script "WanderMusic" (void)
{
    if(Checkinventory("FireSpeedDoubled")) {
        Print(s:"Hello");
        Setmusic("wanderlu");
        Delay(35);
        Restart;
    } else { 
        Setmusic("*",0); 
        Terminate;
    }
}

Here

light prism
#

the entire point here is to get you to be able to do it yourself

#

which is why what madame is doing is not really that helpful

livid hearth
#

Added a couple of lines to keep the script checking while the condition is met

light prism
#

give a man a fish, and all that

livid hearth
#

and kills the script once the condition is not met

light prism
#

i mean yes, what he gave you will work, but unless you fully understand it, whats the point

wary zealot
#

So, what's the state in powerupgiver that's called when you pick it up?

#

Is it use/pickup?

livid hearth
#

Pickup?

light prism
#

actually

#

you'll notice they dont actually have pickup states

#

you can go ahead and add one for this though

wary zealot
#

Maybe I could add the ACS_NamedExecute to the spawn state? Since it loops.

#

Or would that be messy?

light prism
#

no

#

just make a pickup state

#

just pointing out that powerupgivers dont give their powerups from some kind of state, its hard coded

#

it wouldnt work in the spawn state anyway since the activator would be the powerup item itself, rather than the player

#

activator is switched to player as the item is picked up/triggered

wary zealot
#

I just tested it out with a simple decorate A_print, powerupgivers don't trigger the pickup state upon being picked up.

light prism
#

oh - they should, it may just not be using the right activator

wary zealot
#

Hm, okay.

light prism
#

oh, only custominventory has pickup state

#

my bad

livid hearth
#

Hmm, change of plans

livid hearth
#

You can make a custominventory item that gives the powerupgiver and triggers the script upon being picked up

light prism
#

yeah

#

just turn your existing powerupgiver into a custominventory (copy the powerupgiver to a new item)

#

then give it a pickup state that gives the powerupgiver and executes the script

#

activator should be player by default on pickup

livid hearth
#

Oh man

#

I am not looking forward to figuring out how to make the Protection Pentagram mirror the Quake version

light prism
#

morph the player

#

?

#

apply screen fade, voila

livid hearth
#

Nope

#

Basically give a special armor that absorbs 100%, with an ACS script that tracks damage absorbed, and then restores armor minus the amount absorbed when the powerup runs out

#

Might also have to write a script system that keeps track of what armor type you're supposed to have

light prism
#

yeah, that does sound like a pain in the ass

wary zealot
#

Okay, I managed to get the script working somewhat as intended without the need for console usage, but it terminates itself due to being runaway.

light prism
#

uhhh what

wary zealot
#
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello");
Setmusic("wanderlu");
Delay(3);
Restart;
}
else
Setmusic("*",0);
Restart;
delay(3);
}```
light prism
#

oh the restart should be after the dealay

#

there is no passage of time if the condition is not met

wary zealot
#

Oh whoops, good catch.

#

I didn't notice that.

light prism
#

'runaway' means that too many instructions are sent within a single tic

wary zealot
#

hm, and now the script just isn't working.

#

I'm a real moron.

#
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello");
Setmusic("wanderlu");
Delay(1);
Restart;
}
else
Setmusic("*",0);
delay(1);
Restart;
}```
#

remind me to never do anything with ACS ever again after I manage to get this working properly.

light prism
#

no, i think it is working, its something in the decorate possibly

#

actually you should probably remove that restart at the end entirely

wary zealot
#

Okay, done.

#

The decorate code is super simple, though.

light prism
#

yes, still need to see it though

#

rather than here

livid hearth
#

Replace the delay and restart in the Else cluster with a Terminate

light prism
#

removing the restart is enough

#

it will self-terminate

livid hearth
#

true

livid hearth
#

but in case he wants to add something after the end of the script after the if else cluster

light prism
#

that's an odd method

#

is wandergiver actually getting spawned

wary zealot
#

Yep.

#

Because I'm getting the powerup.

light prism
#

you could just give it straight to the player

#

rather than spawning it into the world

wary zealot
#

Ah.

#

Then I'll do that.

light prism
#

if the player stopped moving exactly at the same time as picking up the item, he wouldn't get the actual powerup until he moved again

wary zealot
#

still, other than that, shouldn't this work?

light prism
#

it could be losing the activator somewhere

#

if the activator isnt the player, then the checkinventory in the acs won't be checking the correct actor for the item

wary zealot
#

So how do I change the activator?

light prism
#

hold on

#

at the very top of your script

#

BEFORE the if condition

#

add a print(n:0)

#

this will print the actor name of the activator

#

actually

#

make it printbold

#

printbold(n:0)

#

(just in case)

wary zealot
#

Yep, it printed my playername.

#

So it's a problem with the decorate.

light prism
#

no no, the activator is correct in that case

wary zealot
#

No, I know. The activator is correct but it still isn't working.

light prism
#

the condition in the acs is potentially wrong

#

iunno

#

just trriple check that its checking for the correct item and that you didnt change that items name when you set up the custominventory thing in the decorate

livid hearth
#

yeah

#

I just reviewed my older ACS code

#

you give the powerup giver

#

but you take the powerup itself

#

so I am guessing that checking for the powerup itself is correct

wary zealot
#

UHUHUHUHH, HERE'S THE PROBLEM

#

TOO MANY TOASTERS

#

no, in all seriousness, I got it working.

#

fucking finally.

#

turns out the powerupgiver doesn't actually give you a powerup if given directly.

#

it has to be spawned directly into the world.

#

also I DO have to have a delay(1);

#

and a restart;

#

on the else, in the script.

#
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello");
Setmusic("wanderlu");
Delay(1);
Restart;
}
else
Setmusic("*",0);
delay(1);
restart;
}```
#

will this stop other scripts from running or anything funky like that

#

or have I actually got something that works?

livid hearth
#

Ohh I think I know what's going on

#

the script may be activating before the powerup is actually activated

#

You can keep the delay and restart chunk out of the else condition

wary zealot
#

Are you sure?

livid hearth
#

but add a short delay at the beginning of the script

#

as a consequence, you can also remove the delay from the condition met section

wary zealot
#

YEEEEESSSSS

#

THANK YOU

#

SO MUCH

#

IT ACTUALLY WORKS PROPERLY NOW

#

ALL THIS EFFORT, TO GET A FUCKING POWERUP TO PLAY MUSIC

#

BUT THERE WE GO

#

well, not really effort, again, you guys did all the effort.

light prism
#

ok ok

wary zealot
#

STILL.

light prism
#

just one thing

wary zealot
#

Yes?

light prism
#

go in game

#

spawn the item

#

pick it up

#

type 'scriptstat' into console

#

then repeat

#

because of the restart at the end of the script, it is going to stack up this script every time you pick up one of these things

#

you'll need to balance the timing so the item is in your inventory before the script runs, and remove the restart at the end

#

or give it some alternate exit method

#

otherwise this script will just run forever

wary zealot
#

Ah, okay.

#

It also spams the console with "Hello", due to the Print, so that also isn't ideal.

light prism
#

well duh

#

that is just a test print

#

they are highly useful but obviously not part of the end product

wary zealot
#

So, how will I get the music to stop playing?

light prism
#

comment it out with //

#

ok well

#

i would probs switch the if/else & restart to a while

#

like uh

wary zealot
#

actually, I have an idea.

light prism
#

``script blah (blah)

wary zealot
#

a dumb one.

#

but it may work.

light prism
#
{
SetMusic(yourmusic);
while(player has inventory item) Delay(1);
SetMusic(backtooriginal);;
}```
wary zealot
#

What if I gave the "If" script a 980 tick delay, then put a "SetMusic(*)" after that delay?

#

980 ticks is 28 seconds.

#

Which is the length of the song.

light prism
#

you can actually just do 28*35

wary zealot
#

oh, huh. Nice.

light prism
#

Delay(28*35);

#

however i think mine is more compact

#

but its your choice

wary zealot
#

Compact com...shmact.

#

I'm kidding, your method is probably much better.

light prism
#

help you schmelp youy

wary zealot
#

Sorry, sorry. I'm just kidding.

livid hearth
#

The thing is

#

what if you pick up another instance of the powerup while the current one is active?

wary zealot
#

Hm.

#

That's a good question.

livid hearth
#

then the script will terminate before the duration is over

wary zealot
#

I don't think powerups stack, though.

livid hearth
#

which is why a while loop is better

wary zealot
#

Also this powerup replaces berserk.

livid hearth
#

Some do, I think this one stack time

#

or at least resets the duration

wary zealot
#

Hm.

#

Ahah, nope. You can pick up multiple wanderspheres at once but the duration doesn't stack.

light prism
#

i dont see why it would terminate if you picked up a second

wary zealot
#

Which is what the intended balance is (aside from being able to pick up multiple), so everything works out.

light prism
#

the if condition is only checking if you dont have 0, not if you have exactly 1

#

i would still go with the while method though

#

since its literally four lines long

#

and does exactly what you need

livid hearth
#

@light prism I meant that if he hardcoded the duration to 28*35 and he picks up a second sphere before the powerup ends, the powerup will end up lasting longer due to the second pickup refreshing the duration, and the script will terminate at the 980 tic mark.

light prism
#

oh yeah

wary zealot
#

Okay, yay.

#

My mod now has two Cvars.

#

One to disable/enable wandersphere music (music is off by default, I don't want people getting assaulted by speedcore if they aren't ready for it), and a recoil halver (or babby recoil), which I haven't decided if it should be on by default or not.

light prism
#

'normal mode'

wary zealot
#

Actually...

#

Having recoil vary depending on difficulty could be interesting.

#

But, eh, I'd rather just have an option for it.

#

So, is there a way to make an actor vanish if it touches a "sky" ceiling?

#

Like projectiles do.

#

I want to make sure the custom blood can't appear on the sky.

light prism
#

it just inherits from Blood?

wary zealot
#

Nope.

#

It replaces blood.

#

And it's spawned from a spawner actor, so yeah.

light prism
#

uhhh pastebin plz

wary zealot
#

Wouldn't it just be a flag I'd have to set on the blood actors to make them despawn upon touching the sky?

light prism
#

well if you set +MISSILE on them they will do that

#

but they will also act like projectiles in other ways

#

not recommended

wary zealot
#

For some reason, I feel like trying to make an anti BD script in my mod, for the fun of it and to learn how cross-mod "compatiblity" works.

#

Plus, all the cool kids are doing it nowadays!

#

But then again, it's 3am, I'm tired and possibly delusional.

#

And this is probably a bad idea.

#

Actually... my mod is probably already incompatible with brutal doom, now that I think about it. It replaces blood effects and affects every single enemy to make them compatible with said blood effects.

prisma saddle
#

@wary zealot Make it so walking on blood pool textures splatters the blood everywhere.

light prism
#

im renderiiiiiiiing

wary zealot
#

What do you mean by that, Hatsu?

prisma saddle
#

You know how there are those bloody water textures in DooM 2?

light prism
#

more like watery blood

livid hearth
#

@wary zealot Spawn hundreds of endless revenants if Brutal Doom is detected

red peak
#

That idea's taken already

livid hearth
#

yes, and it's hilarious

red peak
#

I've played Russian Overkill wads so many times that seeing shittons of revenants is just an annoyance

lavish hollow
#

@wary zealot please don't do that, every mod that has an anti bd script just comes off as obnoxious

unreal oyster
#

Please do that, it's pretty much always funny if you can pull it off right

#

It should only come off as obnoxious if you're trying to load BD with it :P

#

In ZScript it's even better because you can detect if brutal doom is loaded right on the main menu :D

#

(by going through the actor classes and checking if any of them are BD actors)

lavish hollow
#

Of course you would want that, lol

unreal oyster
#

Hey I mean, I'm not saying you have to be malicious with it

#

But what it means you can do is tell the user not to load it with BD right on the main menu

#

Instead of having to wait til they start a game

#

If you use the ZScript menu system you can completely get rid of the menu items and replace them with a "don't use BD with this!!!" text box

red peak
#

Should be “use with other mods at your own risk”

#

Mod mashups are fun

livid hearth
#

If you wanna be funny

#

make a BD compat mode where all the gore gets replaced with Mario coins

sand temple
#

That's really funny you can check for BD like that

wary zealot
#

It is.

sand temple
#

I'm picturing a regular Doom mod, then when you load BD on it, it looks like Pyro's hallucination in that one TF2 video

wary zealot
#

You know what, I will do an anti-bd script, but I need to think of a unique way to fuck with the player.

sand temple
#

Bubbles and rainbows

wary zealot
#

I mean, as much as I want to ripoff Demonsteele's infinite golden revenants thing, that's already taken.

#

Wait, idea. Does zdoom infinite crash if you make an actor that recourses? (An actor that spawns itself that spawns itself that spawns itself), or is it a gradual crash?

#

Instantly crash*

#

Because I'm thinking maybe I could simply make it so if it detects that you've loaded it with brutal doom, it edits the brutal blood code to make it so it spawns itself.

#

"You want excessive blood and gore? You'll fucking get it"

unreal oyster
#

it will instantly crash if you try spawning it an infinite amount of times every tick

#

what you'd wanna do is spawn it 1 tick after it spawns

#

that way it would crash very quickly, but not instantly

wary zealot
#

Ah.

#

While that method might work, I don't think it's creative enough. What's an anti brutal doom script that hasn't been done yet?

sand temple
#

Yeah, I think it'd be better to fuck with the player's experience in a way that only affects how BD does things, so they don't think it's the mod misbehaving.

#

Or maybe do let them know that the mod knows they're using BD, and the mod is not happy about it. lol

red peak
#

Upon detecting Brutal Doom, it uninstalls GzDoom and installs 50 GB of viruses

wary zealot
#

Hah, that isn't possible, Tootsy.

#

And I wouldn't do it if it was.

#

I don't want this to be malicious, just funny,.

#

Like I said, like Demonsteele's golden revenants.

red peak
#

Upon detecting Brutal Doom, gay porn of Doomguy getting raped by five cyberdemons appears on the player's screen.

wary zealot
#

Uh, okay?

#

I mean, the worst I would do is replace BD's custom imp sprites with IMPSE.

red peak
#

Hey, if we're going to punish people for using a certain mod, let's go all out.

#

Upon detecting Brutal Doom, it shows a blue screen of death.

#

Then it shows a list of all the shock site fetish porn you could possibly think of.

#

Then it ends with something legitimately disgusting.

wary zealot
#

Tootsy, it isn't really meant to be a punishment.

#

It's just a joke.

red peak
#

Like even Hitler would faint disgusting.

#

That'll teach 'em.

sand temple
#

Once it detects Brutal Doom, all of the monsters will turn away from and refuse to look at you or attack you. They give you the cold shoulder.

#

The player will kill like maybe ten of them before getting bored and doing something else

red peak
#

Depends on the person really

#

A berserk infused power fantasy can actually be fun

sand temple
#

True. Maybe I underestimate BD's demographic. But still, it'd be funny for the monsters to ignore them.

wary zealot
#

Antnommer, I like that idea.

#

Though I'm starting to think about not doing the script. Eh, if people load my mod with brutal doom despite it already having custom blood effects, it's their own fault.

red peak
#

What are the effects, exactly?

#

A Droplets derivative?

#

Or Ketchup?

wary zealot
#

Made from scratch, actually.

#

Droplets is super cool though.

#

And I'd be lying if I said my system wasn't inspired by it.

#

I may end up making a standalone version of the blood in the mod if people want it, or for my own personal use, because it's low impact, looks relatively okay (I plan to add some bloodsplatter variations in the future), and it's compatible with anything as long as it has a bloodcolor set.

red peak
#

Nice

#

Pretty much my only gripe with Ketchup is that it's incompatible with custom blood colors

#

so everything bleeds red

wary zealot
#

Yeah, and the optimization problems.

#

Honestly, in a vaccum, aside from how SGT MK4 behaves and all that, Ketchup is a really nice looking gore mod.

red peak
#

Ketchup actually runs smoother than Droplets for me.

wary zealot
#

Ah.

#

Huh, I guess ketchup got optimized then. Droplets is intensive though because every single blood drop is its own actor.

red peak
#

Can't wait to see what'll arrive with Ketchup v6.

#

Mark apparently fixed the overlapping flickering floor blood problem.

wary zealot
#

Nice.

#

This is what the blood in my mod looks like, right now.

#

Super basic and nowhere to the awesome degree of ketchup or droplets, but it works for now.

red peak
#

Hey, it looks great.

#

The mod I mean.

#

I've heard of a gore mod by Nash that apparently works similarily, with blood sprites pooling on the ground.

wary zealot
#

Nashgore!

#

Now that is a good gore mod!

#

But yeah, so far I tested it with colorful hell and the blood is pretty compatible.

#

The one issue is that since the blood sprites in my mod are grayscale and need to have a color applied to them, monsters that don't have blood colors set will bleed grey blood.

#

And in colorful hell, they override the vanilla monsters unfortunately, so they end up bleeding grey blood.

#

Though, the custom monsters bleed properly. Yay for multicolored skittle blood!

#

Right now, though, I want to focus on making the blood splats a little more 'extravagent'.

#

Not full ketchup levels, but still a little more gory.

#

The thing is, originally how the blood worked was that the "Blood" actor was replaced with a spawner that would spawn three blood splats, but in the transition to get blood colors working I had to just replace the blood actor directly with the blood splats.

#

Which works are intended, but only one splat is spawned.

#

I miiight have a dumb idea as to how to """"""fix"""""" it, though.

#

Dumb idea didn't work, sadly.

#

I was thinking of making it so that the blood actors, while in mid air, could be shot to cause more blood to spawn. Effectively making it so if you're spraying a bunch of bullets into an enemy and a bullet hits an already-there blood actor, it causes more blood to spawn for a bigger mess.

#

Hm, okay, I got it working somewhat, but the extra blood actors don't inherent bloodcolor from the main blood, damn.

#

I guess that's because the main blood inherent's from the actor it comes from, but it doesn't actually set the blood's bloodcolor to the actor's bloodcolor.

#

Is there a way to make it so a monster, during their death animation, is still shootable?

#

But becomes unshootable once the animation finishes.

wary zealot
#

Hm.

#

Okay, so I've kind of become fixated on a new idea.

#

And I want to know, when an enemy goes to the their death state their hitbox becomes super tiny, is there a way to stop that from happening?

#

I'm trying to put in a corpse "juggling system" where shooting enemies in the middle of their death animation causes them to be thrusted upwards slightly and cause their death animation to repeat.

#

The death animation repeats, but Thrustthingz doesn't seem to work.

#

And the hitbox becomes super tiny and centers on their feet, because I'm guessing the game assumes it's just a corpse.

light prism
#

once something dies, it becomes 1/4 as tall

wary zealot
#

Ah, okay. Is there a way to counteract that?

light prism
#

i dont know

#

you could try +DONTCORPSE but it doesn't mentiion if it does that or not

#

it just says it doesn't add the CORPSE flag when killed

wary zealot
#

Tried dontcorpse, unfortunately it doesn't work. Eh, this is just for testing purposes anyways, and I think I have an idea of how to do it if I really badly want to implement it.

light prism
#

but it might still keep the death 1/4 size into account

#

i dont know, i have never used it

wary zealot
#

Oh, that might work, thanks!

dusk flare
#

Have you tried turning it off and on again...?

light prism
wary zealot
#

Yes, setsize works!

#

Thank you so much!

light prism
#

just be careful with it

wary zealot
#

Ah, how come?

light prism
#

i dunno, could cause some collision issues or something

wary zealot
#

No idea if I should keep this or not.

#

On one hand, it's neat, because it forces you to switch targets or move around dying enemies to shoot enemies behind them, but at the same time it makes zero sense and I can't figure out how to limit the amount of times it can happen, leading the situation where you can pump 1000s of bullets into a dying enemy before they fall over.

prisma saddle
#

Maybe make the corpse fall apart if it's shot enough.

wary zealot
#

That's what I'm hoping to do, but I can't figure out a good way to do that.

#

I guess I could use inventory items, but wouldn't that cause lag?

prisma saddle
#

Maybe give Corpses a health value?

sand temple
#

Zombies have that break-apart animation from getting hit with a rocket. Maybe use that death animation after a certain time/number of rounds?

prisma saddle
#

Yeah,

sand temple
#

At least as a placeholder until you put your own graphics in there

wary zealot
#

I just don't understand why making it shootable also makes it so shooting it causes the current state to repeat.

#

Oh, wait a minute.

#

I'm a moron, as usual.

#

It's repeating the state because +shootable actors play their death state when out of health.

#

Eh, this is more trouble than it's worth. I'll just leave the death states as normal and let players shoot through dying enemies.

#

It would probably mess up game balance too much anywho.

wary zealot
#

Hm...

#

I've hit a bit of a rut.

#

No one is giving feedback on my mod so I don't know what to add.

lavish hollow
#

i'll play your mod over the weekend, skool is a bich

wary zealot
#

Ah, thanks!

light prism
#

uh

#

you could always have the death state of monsters spawn a new 'corpse' actor

#

that is unkillable (but looks like a corpse)

vocal crypt
#

What is Sam doing

light prism
#

wants to make shootable corpses

vocal crypt
#

Just like BD?

light prism
#

yes, just like Big Daddy

vocal crypt
#

Lol

lavish hollow
#

just like Beautiful Doom

vocal crypt
#

Eh

light prism
#

i ran out of weed

#

help

lavish hollow
#

just like Bad Donkies

vocal crypt
#

The blood Sam used IMO fits in more with Doom than brutal doom blood

lavish hollow
#

meh

wary zealot
#

It only fits in more because its lower res. its edited sprites from mortal kombat 3.

#

The droplet sprites are taken from a blood splash animation. Then I just copied those droplets a few times on a sheet. To make the blood pools I got the same frame of a blood spray animation, then took that spray sprite and copied it three times in a circular motion then smoothed the edges.

light prism
#

reminds me of the gore piles in Ultima 9

#

that every single enemy gets reduced to

#

regardless of size or damage done to them

wary zealot
#

Ah.

vocal crypt
#

@light prism so flick at em once and they go into gore goo

wary zealot
#

By the way, I'm not really trying to do shootable corpses as much as I'm trying to make it so when an enemy's health reaches zero, there's a brief period where they don't play their death animation and you can keep shooting them to gib them (if you want), the intended effect is to not allow the player to mow down crowds of enemies so easily.

light prism
#

would still require removing the original enemy and spawning a fake corpse

wary zealot
#

darn.

light prism
#

that should be easy enough though?

wary zealot
#

I'd rather keep it all to one actor, though.

#

As dumb as that is.

#

Just for optimization's sake.

unreal oyster
#

destroying one actor and spawning another will have no tangible effect on performance

light prism
#

as long as its done in the right order, there should be no issues

#

the only issue i do see is the change in gameflow

#

like having a dead enemy remain solid for some time can block your path

unreal oyster
#

half-life didn't seem to care about that 😛

light prism
#

did they block you fully in half life?

#

or could you jump ove rthem

unreal oyster
#

for a bit, before they finished the death animation

#

you can jump over them but consider how much vent-crawling is in half-life 😛

light prism
#

sure, but i only remember 1 section where there were any enemies in vents

unreal oyster
#

it's definitely a petty complaint of mine that headcrabs block the player in vents for way too long after dying, heh

#

really?

#

that game loves to stuff headcrabs into vents

light prism
#

beyond the point, anyway

#

doom is a different game with the chance of throwing 100x as many monsters at you at once

#

where even a split second of being blocked could mean your demise

lavish hollow
#

In half life, There's like 3 sections at least where there's headcrabs in vents

wary zealot
#

Okay, I caved and made it so zombie corpses/death animations are seperate actors and it works just fine.

#

I just don't want my mod to end up like brutal doom.

#

Thanks, anyways

light prism
#

what, well known and frequently played?

wary zealot
#

No, unoptimized and too over-the-top.

light prism
#

what a horrible fate for a mod

wary zealot
#

It's also generally hated by most people in the doom modding community due to its community.

#

I at least don't want that to happen to my mod, but I sincerely doubt mine would become that popular.

lavish hollow
#

What people think the "community" of brutal doom is, really isn't, as far as I can tell

light prism
#

brutal doom racism

lavish hollow
#

lol

wary zealot
#

applying the effects to every enemy is tedius but I really like the effect so far.

#

I need a better gibbing sound, though.

#

Tedious, rather.

light prism
#

ill go home and record me shoving lettuce heads up my ass

#

that should suffice

wary zealot
#

Hah.

light prism
#

thats how the pro foley artists do it

wary zealot
#

I wonder if since I can easily change blood colors now, I should change the pinky to have pink blood.

lavish hollow
#

New bubblegum flavor

light prism
#

but pinkies have red blood

#

you can see it in their death state

wary zealot
#

I know.

#

I was joking.

light prism
wary zealot
dusk flare
#

is that a jewjew reference

wary zealot
#

Ah, fuck.

#

I just realized something.

#

These custom corpses can't be raised by archviles.

red peak
#

Good.

wary zealot
#

Yeah, that's a good thing, I guessss.

#

But it messes up balance.

lavish hollow
#

It does make your mod the slaughtermap killer tho

wary zealot
#

Question.

#

Is this sound effect too excessive for gibbing?

#

It's made from multiple sounds on freesound combined (multiple takes of fruit tearing apart combined to all play at once with bass added as well as a water spilling/spewing sound)

#

I think it's an okay placeholder but I worry it might affect those with weak stomachs.

shadow bone
#

Nah, if anything it's not quite digusting enough!

vocal crypt
#

I really should start the shit for Doom Fortress Coop

#

or just Doom Fortress Mann vs Demonn

#

hmmm

#

I might need to get a replacement sound for the minigun

#

the one in the wad is so fukin annoyin

#

Ok then

#

my guns sound is fucked up parently

#

'parently*

lavish hollow
#

Apparent teacher conference

wary zealot
#

Thanks for the input, Cali.

#

And Nick, did you define the sound in sndinfo?

vocal crypt
#

No no

#

It's not no sound Coming out

#

It's the sound playing when it's automatically firing

wary zealot
#

Okay, fun's over, I figured out how to let archviles ressurect the custom corpses.

light prism
#

someone should make a retarded archvile that can only half-resurrect enemies

wary zealot
#

Oh god, that sounds vaguely terrifying, actually.

#

Like... it ressurects them for a moment, stops halfway through they're "alive", but covered in bullet holes or what-have-you and then they just die on the spot.

red peak
#

Then it resurrects them halfway again

#

And again

#

And again for all eternity

light prism
#

no like

#

they come back wrong

#

all messed up

#

and he tries to resurrect gibbed monsters but they're just like a half-reformed pile of gibs that slops along

vocal crypt
#

reminds me of those weird slime things in DN3D?

#

I think?

wary zealot
#

I could totally do that if I had the sprites for it, and knew how to properly make monsters without just copying vanilla monster code.

#

but I do not.

#

I mean, I COULD copy vanilla pinky code for the "gib monsters", but that'd be lazy.

#

anyways, hooray.

#

options menu added to my mod so people don't have to enter cvars manually.

wary zealot
#

I do like that idea though, but I doubt it would fit in this mod.

#

A survival horror esqe mod, though? That'd fit right in. Something inspired by early resident evil games.

#

I might do a survival horror mod when I finish this one.

vocal crypt
#

I have two ideas

#

Doom Fortress Mann vs Demonn, and some Medal of Honor esque mod

wary zealot
#

Hm.

#

My two ideas for my next mod, which is far off, is "Survival horror" or "first person brawler inspired by Mother Russia Bleeds, but with the tone of Hokuto No Ken".

#

I'd love to do a first person brawler, though. Figuring out weapon systems would be a pain (making it so the player can only carry one weapon at a time) but it'd be worth it.

#

Also I'm wondering how I could get brawler mechanics, like launching enemies into the air and juggling them working in first person. And have them still feel good.

#

Well, getting those to work would be easy, making it fun wouldn't

vocal crypt
#

to get them feel good, just move your hand up and down on your wee-wee

#

jk

wary zealot
#

Claaassy.

vocal crypt
#

so shooting demons with guns is classy, but not a sexual joke

#

gg

vocal crypt
#

okay then

#

a_setspeed setting this in the negatives apparently inverts controls

#

and it appears to do jack shit

wary zealot
#

No, you don't set it to a negative.

#

1 is regular speed.

#

2 is twice regular speed.

#

0.1 is a tenth of regular speed.

#

Read up what things do on the wiki.

#

Sorry if I sound like an ass.

vocal crypt
#

doesn't matter

#

Zandronum 3.0 doesn't know it

wary zealot
#

well, there's your problem.

vocal crypt
#

well modded coop can't happen in GZDoom without syncing pobs

#

*probs

wary zealot
#

Welp, I've finally caved and I'm adding a dedicated shotgun to my mod.

#

But as a secondary class, and it replaces the Rifle. So you can either choose between a rifle or a shotgun.

wary zealot
#

Is there a way with "JumpIfNoAmmo" to specify what ammo type it should use?

light prism
#

just use A_JumpIfInventory?

wary zealot
#

Okay, getting shotgun reloading was hell, but I managed to do it, and there's probably a much better/efficient way to do it that I didn't do

#

But oh well it works and that's all that matters, right?

pale sleet
#

can someone help me with: organizing my mod files for doom, answering questions about mod compatability, and mod differences (such as brutal doom, project brutality, and insanity's brutality)

light prism
#

if you can ask actual questions then maybe

livid hearth
#

Oh, I thought you were gonna ask questions about modding

wary zealot
#

Hey, is there a flag that allows projectiles to create the 'blood' actor when they hit a bleeding actor?

#

In other words, a projectile that makes enemies bleed.

#

Also, my bouncing projectiles are sometimes passing through walls...

light prism
#

have you checked this page

wary zealot
#

I did.

light prism
#

are you sure

wary zealot
#

Yes.

light prism
#

are you sure

wary zealot
#

Bloodsplatter doesn't spawn the blood actor, it spawns Heretic/Hexen's blood actor.

#

Which isn't Doom's blood actor, which is what is replaced.

#

Don't be a smartass.

light prism
#

actor bloodsplatter2 : blood replaces bloodsplatter

wary zealot
#

See, you could have said that the first time, instead of treating me like I'm blind or stupid.

light prism
#

the questions you ask make it seem like you havent checked the wiki first a lot of the time

vocal crypt
#

huh

#

so Zand 3.0 fixed that crash thing.

#

when I was doing a Doom Fortress 2016 remake

light prism
#

by doom fortress you better mean dwarf fortress in the doom engine

amber steeple
#

nah dude team fortress

#

Kappa

light prism
#

oh

#

i made payload mode a while back

vocal crypt
#

I'm just doing Mann vs Demonn

#

really I feel the worst PITA is gonna be the engineer

light prism
#

why

#

seems pretty straight forward

vocal crypt
#

the coding of his buildings and the destruction PDA

#

and the sentry

#

I'm not as veterany or experienced as you Cat

light prism
#

spawning shit would be easy, upgrading/repairing would probs just involve some damagetypes/pain state fuckery

vocal crypt
#

and what about the sentry model

#

do I just reuse it from that alpha that died

light prism
#

make your own!!111

vocal crypt
#

huh...

#

well

#

apparently the minigun revving thing works on its own

#

but in a mod like mine, it crashes

light prism
#

you what now

lavish hollow
#

"In a mod like mine"

vocal crypt
#

ok not that

#

but

lavish hollow
#

what does that even mean dude

vocal crypt
#

ugh

#

in my mod, the minigun revving thing crashes, but on its own, it doesn't.

#

for some reason.

light prism
#

All the hentai sprites are bogging down the minigun spinning

vocal crypt
#

it's not a hentai mod lol

light prism
#

You probably failed to copypasta some other elements it required

#

check through to see if it has any A_JumpIfInventory or such

vocal crypt
#

oh shit

#

I forgot to copy&paste some other shit

lavish hollow
#

"You forgot to copy paste"
"Oh shit I forgot to copy paste"

#

Jedi Master Mister Cat, teach me the ways of the Mind Trick

light prism
#

Fail a fuckton of times, learn from failure

wary zealot
#

Nick, you should write your own code instead of copy-pasting.

vocal crypt
#

nope, still crashes

light prism
#

this is also true

#

what kind of crash

vocal crypt
#

the "Zandronum report" crash

light prism
#

error report? full dropout with no notifications?

#

oh, thats weird

vocal crypt
#
{
Weapon.AmmoType "Clip"
Weapon.AmmoGive 20
Weapon.AmmoUse 1
Weapon.SlotNumber 2
Inventory.PickupSound "misc/w_pkup"
Inventory.PickupMessage "Picked up a minigun!"
Obituary "%o was shredded by %k's minigun."
AttackSound "weapons/minigunfire"
States
{
Spawn:
MNGN A -1
Loop
Ready:
MNGG A 1 A_JumpIfInventory ("MiniGunDummy",1,"Ready.RevUp")
TNT1 A 0 A_WeaponReady
Loop
Ready.RevUp:
MNGG A 1
MNGG B 17
MNGG A 14
MNGG B 11
MNGG A 8
MNGG B 5
MNGG A 2
Goto Ready.RevUp+8
Deselect:
MNGG A 1 A_Lower
Loop
Select:
MNGG A 1 A_Raise
Loop
Fire:
    MNGG A 0 A_JumpIfInventory ("MiniGunDummy",1,"Fire.Shoot")
    MNGG A 0 A_JumpIfInventory ("MiniGunIsShooting",1,"Fire.Shoot") //Intentional Fall Through
Fire.RevUp:
    MNGG A 1
    MNGG B 7
    MNGG A 3
    MNGG B 5
    MNGG A 4
    MNGG B 2
    MNGG A 1 
    MNGG A 0 A_GiveInventory("MiniGunIsShooting", 1) //Intentional Fall Through
Fire.Shoot:
    MNGG A 0 A_GunFlash
    TNT1 A 0 A_Quake (1,2,0,30)
    MNGG A 3 A_FireBullets(5, 1, 1, 5)
    MNGG B 3 A_FireBullets(5, 1, 1, 5)
    MNGG B 0 A_FireCustomMissile ("CasingSpawner")
    MNGG B 0 A_ReFire ("Fire.Shoot.")
    MNGG B 0 A_TakeInventory("MiniGunIsShooting", 1)
    MNGG B 2
    MNGG A 5
    MNGG B 8
    MNGG A 11
    MNGG B 14
    MNGG A 17
    Goto Ready    
goto Ready
Flash:
MNGF A 3 BRIGHT A_Light1
MNGF B 3 BRIGHT A_Light0
Stop
}
}
Actor MiniGunDummy
{
States
{
Spawn:
TNT1 A 0
Stop
}
}

Actor MiniGunIsShooting
{
States
{
Spawn:
TNT1 A 0
Stop
}
}``` full code btw.
light prism
#

plz no paste that much code in here

#

im not scrolling to read that shit

wary zealot
#

again, it's probably best that you write your own code from scratch, Nick.

vocal crypt
#

could've been worse. Could've not been tabled

wary zealot
#

and yeah, use pastebin/hastebin

lavish hollow
#

pastebin/hastebin/bastebin/rastebin

vocal crypt
light prism
#

baistbin, for all your turkey preparation recipes

#

first state, -1 followed by loop

#

bad practise

#

not cause for crash, but just... bad practise

#

isn't Ready.RevUp+8 nonexistent?

vocal crypt
#

non-existent?

light prism
#

non-existent

#

it doesnt exist

#

count the frames

#

where is +8

vocal crypt
#

isn't it these MNGG A 1 MNGG B 17 MNGG A 14 MNGG B 11 MNGG A 8 MNGG B 5 MNGG A 2

light prism
#

yeah thats 7 frames

#

where is the 8 it's jumping to

#

i dont know what the behaviour would do here, i would assume fallthrough to the next available state

vocal crypt
#
MNGG B 17
MNGG A 14
MNGG B 11
MNGG A 8
MNGG B 5
MNGG A 2
MNGG A 1``` guess I added another frame
light prism
#

oh here here here

#

no no

vocal crypt
#

no no what

light prism
#

MNGG A 0 A_GiveInventory("MiniGunIsShooting", 1)

#

if you didn't copypasta this inventory item too, any jump that checks for it will fail

vocal crypt
#

tbh Kevansevans did the coding IIRC when I was working on the remake like months ago

#

er

#

not to blame him

#

also, I did copy the minigunisshooting part

#
Actor MiniGunIsShooting
{
States
{
Spawn:
TNT1 A 0
Stop
}
}```
light prism
#

and MiniGunDummy?

vocal crypt
#
{
States
{
Spawn:
TNT1 A 0
Stop
}
}```
#

it might look like it's still Zandronum bullshittery

#

which might be true

#

except it seem to have worked on its own or something

#

its own WAD

light prism
#

MNGG B 0 A_ReFire ("Fire.Shoot.")

#

wtf is that extra .

#

once again not sure what the behaviour here would do

vocal crypt
#

ok WTF

#

same code in a .wad doesn't crash Zandronum

light prism
#

not sure why those inventory items don't inherit from Inventory either

#

you could try doing that

vocal crypt
#

wait

#

adding the dummy and the isShooting thing apparently crashes it?

#

hang on

light prism
#

it mgiht be intentional

vocal crypt
#

sheet, it seems injecting those two just fucks it up beyond repair or something

#

since even removing it it crashes

#

that or my SLADE fucks up when saving

#

hang on

#

no wait, apparently that was SLADE fuckery.

#

ugh

light prism
#

you mungbean

vocal crypt
#
  1. I forgot there was apparnetly copies of those two 2. yes apparently removing such actors lets it go without a crash
light prism
#

somebody needs a spanking

lavish hollow
#

me

wary zealot
#

I'm having trouble getting dynamic lights to work, and yes I've checked the wiki articles on defining dynamic lights in gldefs and binding them in DECORATE.

light prism
#

pastebin plox

#

but first... did you triple check dynamic lights are enabled? 😛

light prism
#

you have no idea how many times ih ave been helping someone and the problem is impossible to figure out and it turns out they were running an old version of their wad/pk3 or they had some really simple option disabled

wary zealot
#

The bootlegflash thing is an overlay, might that have something to do as to why it's not working?

light prism
#

uhh yeah it might

#

i have not messed with overlays though

#

wait.. wait

#

youre assigning it to a weapon?

#

weapons kinda dont exist

wary zealot
#

oh.

light prism
#

theyre like inventory items in the player

wary zealot
#

really?

#

ah.

#

well, I'm a dummy.

light prism
#

you can assign a light to any actor they SPAWN though

wary zealot
#

Ah, okay.

#

I'll just make a generic muzzleflash actor then.

light prism
#

well, i mean, you could keep your current method and just have it spawn an invisible dummy actor that has the light attached to it

#

on firing

#

anyway shoptime

vocal crypt
#

can you replace a taunt sound

#

or add a taunt

light prism
#

you can redefine an existing taunt using sndinfo, or create a new one for a new class

#

you could also use $random to make a series of taunts called by a single name

vocal crypt
#

I guess I'll do the latter

#

uhm

#

how do you do the latter

light prism
#

read $playersound

#

and look at this for reference:

vocal crypt
#

whats with the gender part

#

or is that not neccessary

light prism
#

not unless you want it to be necessary

lavish hollow
#

That's if the player has their gender set to male or female in the options

light prism
#

you can define gender-specific sounds per class, is the point

lavish hollow
#

Or that

vocal crypt
#

and logical name is something like DSMINIGUN or attack/minigun?

#

I'm confused

#

wtf is hte logical name

light prism
#

ok you probs need to read the SNDINFO page a bit more then

#

lumpname = name of file

#

logicalname = name assigned by you in SNDINFO lump that equates to that lumpname

#

IMPPOOP1 monsters\imp\pooping\1

vocal crypt
#

oh

#

alright

#

ugh

#

missing string

#

Script error, "DoomFortressMannvsDemonn.pk3:sndinfo.txt" line 38: Missing string (unexpected end of file).

light prism
#

pastes error

#

doesnt paste code

vocal crypt
#

ugh

#

$playersound "Heavy" heavy/taunt (TAUNT1)

light prism
#

so you didnt follow the instructions i gave you

#

and just wrote what you thought would be right

vocal crypt
#

TAUNT1 is the lumpname

#

logical name is the heavy/taunt

#

is it no

#

t

#

not

#

yes, I defined TAUNT1 as heavy/taunt in SNDINFO

wary zealot
#

Nick, just read the soundinfo page, it'll help you a lot more than we can.

light prism
#

look at the top few lines

vocal crypt
#
heavy/taunt TAUNT1```
#
Script error, "DoomFortressMannvsDemonn.pk3:sndinfo.txt" line 38:
heavy/taunt has already been used for a non-player sound.```
light prism
#

you dont need to define it as a base sndinfo definition if you are $playersounding it

vocal crypt
#

oh

#
Missing string (unexpected end of file).``` ```$playersound "Heavy" *taunt heavy/taunt```
#

ugh

light prism
#

$playersound Heavy male *taunt TAUNT1

vocal crypt
#

Well it doesn't throw up an error

#

taunt sound still default

light prism
#

mmm

#

i was afraid of this

#

i dont actually know what the taunt macro is

#

either that or you haven't selected your heavy class

vocal crypt
#

no I did

#

wait

#

seleced

#

as in in game

#

or

light prism
#

as in you are actively playing as that class

vocal crypt
#

well that I did

#

so

#

I think Zandronum does have *taunt

light prism
#

it must, because i have seen multi-class taunting

vocal crypt
#

and my sndinfo thing is in order?

light prism
#

as far as i can tell

vocal crypt
#

that, or it's the problem of my classes inheriting from doomplayer

light prism
#

no, that makes no difference

#

as long as the name is correct

vocal crypt
#

does the class need to be in quotes

light prism
#

no

#

not unless it contains spaces

vocal crypt
#

hmmm

#

shit