#classic-doom-maps-mods
1 messages · Page 64 of 1
nothing wrong with that
and
https://zdoom.org/wiki/SetMusic @wary zealot
there is an example there that does exactly what you need
hmmm
just change the while condition
I would think of a Medal of Honor esque mod, but Wolfenstein Blade of Agony hits that note I feel
That's why the mod only has two weapons, to simulate the 'two weapon limit' that has become all so popular in modern FPS.
to check for when the weapon gets tossed out
But I make up for that two weapon limit with upgrades, quick-use weapons (the axe, and grenades), and the minigun powerup.
Also
inb4 the song is Ocean Man
you can also use A_TakeInventory("Minigun",0x7FFFFFFF) instead of dropping the weapon
Ocean Man... Take me by the hand, lead me to the land..... That you understand... Minigun mowing down enemies
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.
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
This is less of a "Pump you up" music, more a "cool easteregg" music.
but also a Medal of Honor esque mod
oooh
maybe Bad Motherfucker plays when shooting Minigun
@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.
i always wondered what the quake quad damage sound was supposed to be
like a distorted gong or something
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
sploosh
also, the blood fits Doom IMO
that is a lot of sploosh
better than BD
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.
when in doubt, play minecraft
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?
more like i cant think of the answer outright at this moment and im working
something with rearranging pointers probably
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.
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)
Yeah, but I like random challenges, but that's probably just me.
I'm a huge fan of roguelikes.
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
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.
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
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*
I would like to make a horde mod
rootpain.. you're either at the dentist.. or having sex wrong
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!
@wary zealot This mod is coming along nicEly.
Does anyone here know anything about ACS...? I just started and the wiki isn't super helpful.
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
Ah, okay.
more recently named scripts were added, along with the ACS_NamedExecute / ACS_Named(etc) variants
So, can I post a script I just made that isn't working, so you can explain why it isn't working?
You usually want to use ACS_ExecuteAlways for things that happen over time
Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled"))
Setmusic("wanderlu");
else if(Checkinventory("FireSpeedDoubled"))
Setmusic("*",0);
}
that is misleading madame
and CallACS if you want to use a script that calculates things instantly and returns a value
{
if(Checkinventory("FireSpeedDoubled"))
Setmusic("wanderlu");
else if(Checkinventory("FireSpeedDoubled"))
Setmusic("*",0);
}~~~
(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
`Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled"))
Setmusic("wanderlu");
else if(Checkinventory("FireSpeedDoubled"))
Setmusic("*",0);
}`
That better?
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
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.
...where you want it to execute
Call it as an action for a frame like you would other Decorate actions
i cant find a fuckin lighter
That and you can also call an ACS script that returns a value anywhere that takes expressions for its parameters
Hm.
dont overload the poor guy
Is there a way to run ACS via the console?
he's an acs nub
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)
@wary zealot - pukename "namedscript" or puke n numbered script
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
Hey, it printed!
Okay, that part works.
Yep.
is the checkinventory checking for the correct inventory item
ie is it spelled correctly
Yep.
You might wanna move the acs call to the PowerupGiver??
the powerupgiver stops existing after giving the powerup
I tried pukename "Wandermusic" before picking up the sphere, nothing happened.
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...?
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
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
if you want multiple actions to follow a condition, yes
if(condition) { DoThis; AndDoThat; } else DoThirdThing;
{
if(Checkinventory("FireSpeedDoubled"));
{
Print(s:"Hello");
Setmusic("wanderlu");
}
else(Checkinventory("FireSpeedDoubled"));
Setmusic:("*",0);
}```
oh errr
your else doesnt need a condition
unless its an 'else if'
in this case just 'else' will do
now it says else is an invalid statement.
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;
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello")
Setmusic("wanderlu");
}
else
Setmusic("*",0);
}```
Like this?
yep
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
Aaaaah.
Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled")) {
Print(s:"Hello");
Setmusic("wanderlu");
} else { Setmusic:("*",0); }
}
Try this
Alright, sorry. I'm a moron.
now pay me $5,000,000
Hm, when the condition is supposed to be met it doesn't print.
Meaning that the condition doesn't work properly.
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
Well, I'm just calling it via "pukename" right now for testing purposes.
well unless you give yourself the inventory item first then of course it wont
yeah, this script will only exist for 1 tic
so if the if condition is met, it will play the music forever
How do I call the script twice?
dont worry about that right now
get it working first
so where exactly is the script being called from?
cool, yep
and it wasn't me that got the script working, it was you guys.
no
Script "WanderMusic" (void)
{
if(Checkinventory("FireSpeedDoubled")) {
Print(s:"Hello");
Setmusic("wanderlu");
Delay(35);
Restart;
} else {
Setmusic("*",0);
Terminate;
}
}
Here
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
Added a couple of lines to keep the script checking while the condition is met
give a man a fish, and all that
and kills the script once the condition is not met
i mean yes, what he gave you will work, but unless you fully understand it, whats the point
So, what's the state in powerupgiver that's called when you pick it up?
Is it use/pickup?
Pickup?
actually
you'll notice they dont actually have pickup states
you can go ahead and add one for this though
Maybe I could add the ACS_NamedExecute to the spawn state? Since it loops.
Or would that be messy?
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
I just tested it out with a simple decorate A_print, powerupgivers don't trigger the pickup state upon being picked up.
oh - they should, it may just not be using the right activator
Hm, okay.
Hmm, change of plans
You can make a custominventory item that gives the powerupgiver and triggers the script upon being picked up
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
Oh man
I am not looking forward to figuring out how to make the Protection Pentagram mirror the Quake version
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
yeah, that does sound like a pain in the ass
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.
uhhh what
{
if(Checkinventory("FireSpeedDoubled"))
{
Print(s:"Hello");
Setmusic("wanderlu");
Delay(3);
Restart;
}
else
Setmusic("*",0);
Restart;
delay(3);
}```
oh the restart should be after the dealay
there is no passage of time if the condition is not met
'runaway' means that too many instructions are sent within a single tic
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.
no, i think it is working, its something in the decorate possibly
actually you should probably remove that restart at the end entirely
Replace the delay and restart in the Else cluster with a Terminate
true
but in case he wants to add something after the end of the script after the if else cluster
you could just give it straight to the player
rather than spawning it into the world
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
still, other than that, shouldn't this work?
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
So how do I change the activator?
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)
no no, the activator is correct in that case
No, I know. The activator is correct but it still isn't working.
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
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
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?
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
Are you sure?
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
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.
ok ok
STILL.
just one thing
Yes?
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
Ah, okay.
It also spams the console with "Hello", due to the Print, so that also isn't ideal.
well duh
that is just a test print
they are highly useful but obviously not part of the end product
So, how will I get the music to stop playing?
comment it out with //
ok well
i would probs switch the if/else & restart to a while
like uh
actually, I have an idea.
``script blah (blah)
{
SetMusic(yourmusic);
while(player has inventory item) Delay(1);
SetMusic(backtooriginal);;
}```
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.
you can actually just do 28*35
oh, huh. Nice.
help you schmelp youy
Sorry, sorry. I'm just kidding.
The thing is
what if you pick up another instance of the powerup while the current one is active?
then the script will terminate before the duration is over
I don't think powerups stack, though.
which is why a while loop is better
Also this powerup replaces berserk.
Hm.
Ahah, nope. You can pick up multiple wanderspheres at once but the duration doesn't stack.
i dont see why it would terminate if you picked up a second
Which is what the intended balance is (aside from being able to pick up multiple), so everything works out.
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
@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.
oh yeah
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.
'normal mode'
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.
it just inherits from Blood?
uhhh pastebin plz
Wouldn't it just be a flag I'd have to set on the blood actors to make them despawn upon touching the sky?
well if you set +MISSILE on them they will do that
but they will also act like projectiles in other ways
not recommended
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.
@wary zealot Make it so walking on blood pool textures splatters the blood everywhere.
im renderiiiiiiiing
What do you mean by that, Hatsu?
You know how there are those bloody water textures in DooM 2?
more like watery blood
@wary zealot Spawn hundreds of endless revenants if Brutal Doom is detected
That idea's taken already
yes, and it's hilarious
I've played Russian Overkill wads so many times that seeing shittons of revenants is just an annoyance
@wary zealot please don't do that, every mod that has an anti bd script just comes off as obnoxious
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)
Of course you would want that, lol
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
If you wanna be funny
make a BD compat mode where all the gore gets replaced with Mario coins
That's really funny you can check for BD like that
It is.
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
You know what, I will do an anti-bd script, but I need to think of a unique way to fuck with the player.
Bubbles and rainbows
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"
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
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?
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
Upon detecting Brutal Doom, it uninstalls GzDoom and installs 50 GB of viruses
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.
Upon detecting Brutal Doom, gay porn of Doomguy getting raped by five cyberdemons appears on the player's screen.
Uh, okay?
I mean, the worst I would do is replace BD's custom imp sprites with IMPSE.
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.
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
True. Maybe I underestimate BD's demographic. But still, it'd be funny for the monsters to ignore them.
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.
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.
Nice
Pretty much my only gripe with Ketchup is that it's incompatible with custom blood colors
so everything bleeds red
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.
Ketchup actually runs smoother than Droplets for me.
Ah.
Huh, I guess ketchup got optimized then. Droplets is intensive though because every single blood drop is its own actor.
Can't wait to see what'll arrive with Ketchup v6.
Mark apparently fixed the overlapping flickering floor blood problem.
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.
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.
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.
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.
once something dies, it becomes 1/4 as tall
Ah, okay. Is there a way to counteract that?
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
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.
theres always https://zdoom.org/wiki/A_SetSize
but it might still keep the death 1/4 size into account
i dont know, i have never used it
Oh, that might work, thanks!
Have you tried turning it off and on again...?
Here's a memorable jingle for that handy new emergency number... Catch up with The IT Crowd on 4oD: http://www.channel4.com/programmes/the-it-crowd
just be careful with it
Ah, how come?
i dunno, could cause some collision issues or something
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.
Maybe make the corpse fall apart if it's shot enough.
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?
Maybe give Corpses a health value?
Zombies have that break-apart animation from getting hit with a rocket. Maybe use that death animation after a certain time/number of rounds?
Yeah,
At least as a placeholder until you put your own graphics in there
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.
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.
i'll play your mod over the weekend, skool is a bich
Ah, thanks!
uh
you could always have the death state of monsters spawn a new 'corpse' actor
that is unkillable (but looks like a corpse)
What is Sam doing
wants to make shootable corpses
Just like BD?
yes, just like Big Daddy
Lol
just like Beautiful Doom
Eh
just like Bad Donkies
The blood Sam used IMO fits in more with Doom than brutal doom blood
meh
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.
reminds me of the gore piles in Ultima 9
that every single enemy gets reduced to
regardless of size or damage done to them
Ah.
@light prism so flick at em once and they go into gore goo
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.
would still require removing the original enemy and spawning a fake corpse
darn.
that should be easy enough though?
I'd rather keep it all to one actor, though.
As dumb as that is.
Just for optimization's sake.
destroying one actor and spawning another will have no tangible effect on performance
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
half-life didn't seem to care about that 😛
for a bit, before they finished the death animation
you can jump over them but consider how much vent-crawling is in half-life 😛
sure, but i only remember 1 section where there were any enemies in vents
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
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
In half life, There's like 3 sections at least where there's headcrabs in vents
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
what, well known and frequently played?
No, unoptimized and too over-the-top.
what a horrible fate for a mod
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.
What people think the "community" of brutal doom is, really isn't, as far as I can tell
brutal doom racism
lol
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.
Hah.
thats how the pro foley artists do it
I wonder if since I can easily change blood colors now, I should change the pinky to have pink blood.
New bubblegum flavor
Android Data from TNG laughing to joke... lol
Star Trek TNG - Force of Nature, Data been trying to train his cat Spot to get down from his console with little success, but Geordi remarks that Data's trai...
is that a jewjew reference
Ah, fuck.
I just realized something.
These custom corpses can't be raised by archviles.
Good.
It does make your mod the slaughtermap killer tho
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.
Nah, if anything it's not quite digusting enough!
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*
Apparent teacher conference
No no
It's not no sound Coming out
It's the sound playing when it's automatically firing
Okay, fun's over, I figured out how to let archviles ressurect the custom corpses.
someone should make a retarded archvile that can only half-resurrect enemies
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.
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
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.
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.
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
Claaassy.
okay then
a_setspeed setting this in the negatives apparently inverts controls
and it appears to do jack shit
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.
well, there's your problem.
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.
Is there a way with "JumpIfNoAmmo" to specify what ammo type it should use?
just use A_JumpIfInventory?
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?
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)
if you can ask actual questions then maybe
Oh, I thought you were gonna ask questions about modding
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...
I did.
are you sure
Yes.
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.
actor bloodsplatter2 : blood replaces bloodsplatter
See, you could have said that the first time, instead of treating me like I'm blind or stupid.
the questions you ask make it seem like you havent checked the wiki first a lot of the time
huh
so Zand 3.0 fixed that crash thing.
when I was doing a Doom Fortress 2016 remake
by doom fortress you better mean dwarf fortress in the doom engine
the coding of his buildings and the destruction PDA
and the sentry
I'm not as veterany or experienced as you Cat
spawning shit would be easy, upgrading/repairing would probs just involve some damagetypes/pain state fuckery
make your own!!111
huh...
well
apparently the minigun revving thing works on its own
but in a mod like mine, it crashes
you what now
"In a mod like mine"
what does that even mean dude
ugh
in my mod, the minigun revving thing crashes, but on its own, it doesn't.
for some reason.
All the hentai sprites are bogging down the minigun spinning
it's not a hentai mod lol
You probably failed to copypasta some other elements it required
check through to see if it has any A_JumpIfInventory or such
"You forgot to copy paste"
"Oh shit I forgot to copy paste"
Jedi Master Mister Cat, teach me the ways of the Mind Trick
Fail a fuckton of times, learn from failure
Nick, you should write your own code instead of copy-pasting.
nope, still crashes
the "Zandronum report" crash
{
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.
plz no paste that much code in here
use pastebin.com
im not scrolling to read that shit
again, it's probably best that you write your own code from scratch, Nick.
could've been worse. Could've not been tabled
and yeah, use pastebin/hastebin
pastebin/hastebin/bastebin/rastebin
https://pastebin.com/eGdJEmdS vhill zis work?
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?
non-existent?
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
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
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
no no what
MNGG A 0 A_GiveInventory("MiniGunIsShooting", 1)
if you didn't copypasta this inventory item too, any jump that checks for it will fail
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
}
}```
and MiniGunDummy?
{
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
MNGG B 0 A_ReFire ("Fire.Shoot.")
wtf is that extra .
once again not sure what the behaviour here would do
not sure why those inventory items don't inherit from Inventory either
you could try doing that
it mgiht be intentional
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
you mungbean
- I forgot there was apparnetly copies of those two 2. yes apparently removing such actors lets it go without a crash
somebody needs a spanking
me
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.
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
The bootlegflash thing is an overlay, might that have something to do as to why it's not working?
uhh yeah it might
i have not messed with overlays though
wait.. wait
youre assigning it to a weapon?
weapons kinda dont exist
oh.
theyre like inventory items in the player
you can assign a light to any actor they SPAWN though
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
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
not unless you want it to be necessary
That's if the player has their gender set to male or female in the options
you can define gender-specific sounds per class, is the point
Or that
and logical name is something like DSMINIGUN or attack/minigun?
I'm confused
wtf is hte logical name
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
oh
alright
ugh
missing string
Script error, "DoomFortressMannvsDemonn.pk3:sndinfo.txt" line 38: Missing string (unexpected end of file).
so you didnt follow the instructions i gave you
and just wrote what you thought would be right
TAUNT1 is the lumpname
logical name is the heavy/taunt
is it no
t
not
yes, I defined TAUNT1 as heavy/taunt in SNDINFO
Nick, just read the soundinfo page, it'll help you a lot more than we can.
heavy/taunt TAUNT1```
Script error, "DoomFortressMannvsDemonn.pk3:sndinfo.txt" line 38:
heavy/taunt has already been used for a non-player sound.```
you dont need to define it as a base sndinfo definition if you are $playersounding it
oh
Missing string (unexpected end of file).``` ```$playersound "Heavy" *taunt heavy/taunt```
ugh
$playersound Heavy male *taunt TAUNT1
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
as in you are actively playing as that class
it must, because i have seen multi-class taunting
and my sndinfo thing is in order?
as far as i can tell
that, or it's the problem of my classes inheriting from doomplayer
does the class need to be in quotes