How Do I Edit Monsters And Weapons?

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
User avatar
Zippy
Posts: 3302
Joined: Wed Mar 23, 2005 5:31 pm
Location: New Jersey

Re: How Do I Edit Monsters And Weapons?

Post by Zippy »

You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

Zippy wrote:You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Matt »

http://zdoom.org/wiki/Actor_properties
The damage property is set for a projectile and determines how much damage that projectile does.
The meleedamage property sets what damage is done with A_MeleeAttack. Ignore the "deprecated" next to it, since no one knows for sure how the [wiki]A_CustomMeleeAttack[/wiki] function works.

Ignore the explosiondamage property entirely, and instead use the parameters in [wiki]A_Explode[/wiki].

For hitscans use the damage parameter in [wiki]A_CustomBulletAttack[/wiki] and [wiki]A_FireBullets[/wiki]. Note that this number is always multiplied by a random number between 1 and 3 (or 4 - someone correct me if I'm wrong).

For more on weapons, see [wiki]Creating new weapons[/wiki].
User avatar
Enjay
 
 
Posts: 26516
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Enjay »

noy0003 wrote:I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
Have you tried reading around in the Wiki? Have you tried searching the Wiki? All the information that you have been asking for is in there. People typed it up for you, me and anyone else who wants it. All that is required is that you spend a little time looking for it and read it yourself.

Personally, I'll hapilly help anyone who needs it (if I can) but I need to see them match any effort I put in. After receiving such a massive input from HotWax, IMO, you should be well on the way to doing your own stuff and only coming back with little things like "I've been reading about such-and-such code pointer in the Wiki and I can't figure out how to set up the third argument for it" not "how do I change a monster's attack, give me the code". Most of your posts are reading like "I've got some really cool stuff that I want to do... can you do it for me". :(
User avatar
Unknown_Assassin
Posts: 2468
Joined: Wed Apr 12, 2006 5:17 pm
Location: Where dead carcasses lie
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Unknown_Assassin »

noy0003 wrote:
Zippy wrote:You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
What about Hotwax's post? He gave you enough descriptions to get you started.
User avatar
Project Shadowcat
Posts: 9369
Joined: Thu Jul 14, 2005 8:33 pm
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: Blacksburg, SC USA
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Project Shadowcat »

Unknown_Assassin wrote:
noy0003 wrote:
Zippy wrote:You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
What about Hotwax's post? He gave you enough descriptions to get you started.
Hell, I saved that post alone for future reference when I'm offline.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

HotWax wrote:OK, people, stop the madness!

OK, noy0003, I want you to follow these directions exactly:

1) Download and install ZDoom in a folder with a valid Doom IWAD (doom.wad, doom2.wad, tnt.wad or plutonia.wad), assuming you haven't already done so.
2) Right-click in the folder ZDoom is in and select New->Text Document. Name the new file decorate.txt.
3) Open your new document (you can use Notepad or any other text editor you prefer) and paste into it the following:

Code: Select all

actor MyZombie : ZombieMan replaces ZombieMan
{
     health 100
     obituary "%o was killed by a super-zombieman."
     seesound "baron/sight"
     deathsound "demon/death"
     attacksound "spider/attack"
     dropitem "ShellBox" 128

     States {
            See:
                POSS AABBCCDD 2 A_Chase
                loop
            Missile:
                POSS E 10 A_FaceTarget
                POSS FE 4 bright A_CPosAttack
                POSS F 1 A_CPosRefire
                goto Missile+1
            Pain:
                POSS G 2
                POSS G 2 A_Pain
                POSS G 6 bright A_SetReflectiveInvulnerable
                POSS G 5
                POSS G 5 bright
                POSS G 5
                POSS G 5 bright
                POSS G 5
                POSS G 5 bright
                POSS G 1 A_UnsetReflectiveInvulnerable
                Goto See
            XDeath:
                TNT1 A 0 A_NoBlocking
                BEXP B 5 bright A_PlaySound("world/barrelx")
                BEXP C 5 bright
                BEXP D 10 bright A_Explode
                BEXP E 10 bright
                stop
            Raise:
                stop
     }
}
4) This next step it a bit tricky, as you now need to put the decorate.txt file you just created into a zip file. If you have WinZip installed, this is as easy as right-clicking the file, the selecting WinZip->Add to decorate.zip from the menu.
5) Once you've got the decorate file you created zipped up, drag and drop it onto ZDoom.exe. Pick your favorite Doom game and start playing. You'll notice that the pistol zombie now behaves quite differently. Congratulations! You just created your first custom monster.

The "super-zombie" created by this code has the following changes to the normal zombie:

- He sounds different.
- He's tougher to kill.
- He drops boxes of shells instead of clips!... but only half the time.
- He moves twice as fast.
- He rapid-fires his pistol, and it does more damage than normal.
- When injured, he temporarily becomes invulnerable to attack -- for best effect, use a plasma rifle to see this in action.
- When killed violently (e.g. by the BFG ball), he explodes like a barrel!
- He cannot be resurrected by the Arch-Vile.

So now that you've seen how it's done, let's see how it works, line by line:

actor MyZombie : ZombieMan replaces ZombieMan

The first line's a doozie, as it's doing quite a bit. The word "actor" tells ZDoom that a new actor is being defined. The next word, "MyZombie" gives the new actor a name. In practice, this can be whatever you like, so long as it's not already being used. ("actor Pistol", for example, would generate an error)

Following MyZombie is a colon (:). This is used when you don't want to create the actor entirely from scratch, but want to use an existing actor as a base instead. In this case, the base is "ZombieMan", which is the name ZDoom assigns to the pistol zombie. So ": ZombieMan" means that the new actor ("MyZombie") will "inherit" all of the behaviors and properties of the ZombieMan. In fact, if you stopped here you'd have a valid actor called MyZombie which is an exact carbon-copy of ZombieMan... But that's no fun, so the rest of the actor definition can be used to make changes.

The last part of the line is "replaces ZombieMan". This does what it says -- anywhere in the game the normal ZombieMan would appear, our actor is going to replace him. This allows making changes to an existing monster without having to create your own maps to put him in; whenever you'd normally see a pistol zombie in any Doom game, you'll now encounter "MyZombie" instead.

The second line is just one symbol, typically called a curly brace ({). This defines the start of the actor definition. Everything between this brace and the closing one (}) is part of the MyZombie actor.

health 100

This is an example of a simple actor property. Each property is placed on its own line, and is typically in the format "property value". In this case, the MyZombie's health is set to 100. Since the default pistol zombie has a health of only 20, this variant will be much more resilient.

obituary "%o was killed by a super-zombieman."

This is another actor property being set. As you can see here, properties can either have a numeric value (e.g. 1, 100 or 500), or a "string" (text) value. The obituary property takes a string, and uses it to print a line to the player's screen when they are killed by this monster. %o is a special symbol that causes the player's name to be inserted at that point when the line is printed. So, if I were to get killed by this monster, it would show "HotWax was killed by a super-zombieman." on my screen. Note that all string values must be enclosed in quotation marks to be valid.

The next three lines go together, so we'll tackle them at once:

seesound "baron/sight"
deathsound "demon/death"
attacksound "spider/attack"


These are still more properties that are being set for the new actor. All three define the sounds that the monster will make at various times. seesound is played when the monster becomes aware of the player (or another target) and begins chasing. deathsound is played when the monster dies. attacksound plays during the monster's attack sequence. (Well, actually this is controlled by the various "action functions" that are used during a monster's state definition, but I'll get to that in a bit.) What's been done here is that the normal ZombieMan's sounds have been replaced with a selection of other Doom monsters -- the Baron of Hell for the sight sound, the Demon's death sound, and the Spider Mastermind's attack sound. It should be tough to confuse this guy with its weaker variant now, eh?

dropitem "ShellBox" 128

The final property defined here is an example of a property that takes more than one value (or "argument" as they're called in this case). The string "ShellBox" is the actor that this enemy will drop on death. The number, 128, is the chance out of 256 that the enemy has of dropping the item. Since 128 is half of 256, this monsters has exactly a 50% chance of dropping a box of shells on death. Note that this replaces the normal zombie's bullet clip drop. As with all the other properties being defined, this "overrides" the default ZombieMan behavior.

States {

This line defines the start of the monster's State block. While the previous lines defined the various properties the actor will have (it's health, sounds, obituary, etc), the state block defines how the monster animates and behaves. It's quite a bit more complex than the rest of the definition, but with practice and experimentation it shouldn't be too hard to learn.

Note once again the curly-brace ({) at the end of this line. This is showing that everything between this opening brace and the closing brace (}) below is part of the actor's state block.

See:

This line defines the beginning of the "See" state. There are a number of [wiki=Actor states]"actor states"[/wiki] that are available for use, and each defines the state of interaction that the monster can perform. For example, the "See" state is the state a monster enters when it has seen its target. If the monster decides to attack, then it will jump to its "Melee" or "Missile" state, depending on how close it is to the target. When a monster is killed, it jumps to its "Death" or "XDeath" state. You can see a list of the available states, including when each of them are used, by clicking [wiki=Actor states]this link[/wiki]. For now, just remember that the See state will be entered by the MyZombie actor when it has seen or heard the player and is actively hunting him.

POSS AABBCCDD 2 A_Chase

This is another line that is made up of several pieces, so I'll explain each part individually. The first word, "POSS" is a sprite name. A sprite name is always exactly 4 characters long, and refers to a set of graphics contained within the IWAD or a PWAD that has been loaded. You can read more on how sprites are defined by reading [wiki=Sprite]this page[/wiki] of the wiki. Next comes a series of letters, which on this line is the letters A, B, C and D, each repeating twice. Each letter in this section defines an individual frame. Normally you would define each frame on its own line, but these frames will all share the exact same properties, so ZDoom supports putting them in a series like this to avoid writing excessive amounts of code. This one line is actually a shorthand way of writing this:

Code: Select all

POSS A 2 A_Chase
POSS A 2 A_Chase
POSS B 2 A_Chase
POSS B 2 A_Chase
POSS C 2 A_Chase
POSS C 2 A_Chase
POSS D 2 A_Chase
POSS D 2 A_Chase
As you can see, this method saves quite a bit of rendundant typing.

So, you've probably figured out by now that this frame-series (AABBCCDD) defines 8 frames. But what exactly is a frame? Well, as with any form of animation, the graphic shown on the screen representing the zombie will be animated by stepping through a series of frames. If you were to find the graphics within your Doom IWAD called POSSA1, POSSB1, POSSC1 and POSSD1, you can see that they form a 4-frame animation of the zombie walking toward the screen. This is exactly the animation being defined in the See state. But why define each twice in a row, you might ask... Well, we'll get to that in just a second, so bear with me...

Next on the line is a number, 2, that defines how long each frame in the sequence will last. This is measured in Doom's standard time unit, which is called a "tic". There are 35 tics per second, so a duration of 2 means that each frame stays on screen for just 2/35ths of a second. Since the frames are being doubled-up, each image will actually be seen for twice as long, but that's still only 4/35ths of a second! This speed makes the zombie appear to move smoothly through the world--twice the normal speed of the ZombieMan, in fact.

The last thing to appear on the line is "A_Chase". This refers to an "action function" which will be performed by the zombie as the frame is drawn. Action functions are what make all of the actors in Doom work. There are action functions (like this one) to make monsters chase their target, to make them attack or yell in pain, even to give or take things from their targets inventory. You can see the complete list of currently-supported action functions by clicking [wiki=Action functions]here[/wiki]. In this case, the [wiki]A_Chase[/wiki] function tells the zombie to chase its current target -- specifically, to turn to face whatever it's targetting a move a certain amount of units in its target's direction.

Now, the thing about action functions you need to know is that they are executed only once per frame -- during the first tic of that frame's duration. That means that if you were to put A_Chase on a frame with a long duration such as 35, the actor would only move a tiny bit forward toward its target and then would stop and wait for the remaining 34 tics. A looping animation with this set would appear very jerky and unnatural, and the monster wouldn't get very far. This, then, is why the frames have been doubled up. Even though the animation occurs at a rate of 4 tics per frame, the actor is executing A_Chase twice during each frame, so that he moves toward the target more quickly and smoothly.

So, to recap, when this line is encountered, it instructs the MyZombie actor to display the sprite POSS using the frames A, B, C and D for 4 tics each, chasing its target twice during each of the frame display. This will make it appear that the zombie is intelligently chasing its target for all of 2 steps. Clearly, this sequence needs to be looped in order for the monster to continue walking forward, and that's where the aptly-named command on the next line comes in:

loop

Very simply, this instructs ZDoom to loop the current (See) state repeatedly. By combining these two lines, the zombie will now continually chase its target until otherwise interrupted.

Obviously, a monster that just walked at its target would be pretty useless. Luckily, A_Chase is more than it appears. As it instructs the monster to chase after its target, it also checks to see if the zombie has a clear line of sight and is within a certain range of that target. If so, it has a predefined chance to jump to an attack state, depending on exactly how far the target it from the zombie. When that happens for our zombie, it only has one state to choose from (it doesn't have a melee state), so it will always use it. It just so happens that this state, the "MIssile" state, is the one about to be defined:

Missile:

This simply defines the beginning of the actor's Missile state. To recap, this is where the actor goes to find out what to do when it decides to attack its target.

POSS E 10 A_FaceTarget

By comparison to the last frame definiton we just saw, this one's pretty simplistic. Once again, the POSS sprite is being used. Frame E of that sprite shows the zombie aiming his weapon and preparing to attack. This frame is shown for 10 tics, or 10/35ths of a second. At the beginning of this frame, the A_FaceTarget action function is called, which, as you can probably guess from the name, simply makes the zombie face his target. This is typically used before the actor attacks because otherwise there could be a chance for the enemy to appear to be facing the wrong way when they attack -- possibly resulting in an imp (for example) hurling a fireball out of its butt! How embarrassing....

POSS FE 4 bright A_CPosAttack

This next line defines two frames, displaying F and E for 4 tics each and calling A_CPosAttack for each of them. But wait, what's this "bright" thing doing there? This optional keyword instructs ZDoom to display these frames at full brightness regardless of how dark the surrounding area may be. This is what causes the enemies to "light up" when they attack, and certain actors (like the lost soul or the torches) to glow at all times.

Otherwise, this line should be pretty straightforward except for the A_CPosAttack action function, which we haven't seen yet. This particular function is one of a number of attack functions that ZDoom supports. In this case, it's the attack that is normally used by the chaingun zombies found in Doom 2, which are typically referred to by the name "CPOS" (don't ask me why, I don't know). It is a fairly strong bullet attack meant to be rapidly-fired. and since it's being used twice just 4 tics apart, that is certainly what is happening here. Now, you might wonder how ZDoom can use the Chaingunners attack even if it's playing Doom 1, where there is no chaingunner. Well, it's actually pretty simple -- all of the game code for every actor from all the games that ZDoom supports is defined and always available, even if the resources for that actor (graphics and sounds) are missing. So even though you can't have a chaingun zombie in Doom 1, you're still able to "borrow" his behavior by using the built-in action functions that are available to him. This is actually used later to borrow behavior from a Hexen monster as well!

POSS F 1 A_CPosRefire

Another basic line, and these should be pretty easy to understand by now. Simply put, ZDoom is being instructed to show POSS frame F for 1 tic, and execute the A_CPosRefire action function.

A_CPosRefire, once again borrowed from the chaingunner, is a function that instructs the zombie to check to see if it still has a line of sight to its target. If it does not, then A_CPosRefire will direct the zombie to go back to its See state and resume its search for the target. If this line wasn't present, the zombie would continue firing forever once it had started. This makes it seem more intelligent by instructing it to stop firing when its current target either leaves its line of sight (by hiding behind a pillar, for example), or gets killed.

goto Missile+1

This line tells the actor to "go to" a specific frame. In this case, "Missile+1" means the first frame of the Missile state, plus 1. So this will skip the "POSS E" line and go directly back to the "POSS FE" line, which tells the zombie to continue firing. The result is a rapid-fire pistol attack repeatedly forever until the target is dead or out of sight.

Pain:

By now, you should know what this is -- it's the start of a new state! The Pain state is entered when the monster is damaged by weapons fire, but not always -- there is a random chance that the monster will not enter the pain state when hit, and this can be controlled by the painchance property. Since there's not one defined in this actor, the ZombieMan actor's value will be used instead. The painchance of the ZombieMan is 200, which is a fairly high amount. What this all means is that, more often than not, when this actor gets struck in combat, he'll enter the Pain state and execute the frames that are defined within, starting with these:

POSS G 2
POSS G 2 A_Pain


The G frame of the POSS sprite is shown from 4 tics total between these two lines. The second line also calls the [wiki]A_Pain[/wiki] action function, which simply instructs the actor to play its pain sound. Since the G frame shows the zombie with its head thrown back, this gives the impression that the zombie has been injured and is screaming in pain. Ah, but what's all this happening here?

POSS G 6 bright A_SetReflectiveInvulnerable
POSS G 5
POSS G 5 bright
POSS G 5
POSS G 5 bright
POSS G 5
POSS G 5 bright
POSS G 1 A_UnsetReflectiveInvulnerable


Well, to further set "MyZombie" apart from the normal pistol zombie, I thought I'd borrow the behavior of a Hexen enemy you might not be familiar with. This enemy, the Centaur, has the annoying habit of raising a shield in front of itself when injured, which deflects all attacks and makes the monster temporarily invulnerable. So, the first line uses A_SetReflectiveInvulnerable to do this for the super-zombie. While these two flags are set, any projectiles fired at the zombie will bounce harmlessly away, and any and all damage will be ignored. How wonderfully frustrating! :)

The next several lines cause the zombie to remain in his "in pain" frame and flash between normal and full bright as he continues to reflect oncoming attacks. Crude, but effective.

The final line is simply the reverse of the first, removing the zombie's ability to reflect projectiles and making him once more vulnerable to attack. As you can probably guess, this line is highly important -- if it was left out, the zombie would remain completely immune to all attacks and would effectively be impossible to kill without cheating; not very fun for the player.

goto See

The final line is another goto command, instructing the monster to return to its See state once the Pain state has run through.

XDeath:

Another state definition, this time XDeath, which is entered when the enemy dies in a particularly nasty way -- in order to enter this state, the actor must receive enough damage that its health goes into the negative by more than its starting health. In the zombie's case, it must be hit hard enough that it has -100 or less health. In Doom, the only way to guarantee that this happens is to hit him directly with a BFG shot. In this case I've replaced the normal zombie's blood splatter death with something a bit more dangerous -- an exploding barrel!

TNT1 A 0 A_Noblocking

Hey, what happened to POSS? Well, it's not being used here, and it doesn't really even matter, because this frame has a duration of 0. As silly as that might sound, the sole reason for this line is to call A_NoBlocking, so no frame needs to be displayed. Because it has 0-duration, A_NoBlocking will be called and the actor will immediately move to its next frame within the same tic. This is a good way of getting an actor to do two or more things at exactly the same time. So, you might be wondering what exactly TNT1 is -- It's simply an empty graphic provided by ZDoom to be used when you have nothing you want to actually show. If this were used on a frame that had a duration greater than 0, the monster would become invisible while those frames were being displayed. In my opinion, it's good pratice to use it for 0-duration frames because it makes them stand out from other frames and avoids confusion when other people are reading your actor definition -- if I had used the POSS sprite, people might thing it's a bug that that frame is never shown during the XDeath state. This way, it's immediately clear that the frame will not actually appear on the screen.

BEXP B 5 bright A_PlaySound("world/barrelx")

Oh boy, another biggie. Let's get the stuff you already know out of the way first; This shows the BEXP sprite (Doom's barrel exploding), frame B, for 5 tics, drawing it in full bright. It also calls the A_PlaySound action function, but this function is more complex than others seen so far. This one takes what is called in programming terms as a "parameter list". Parameter lists go between parenthesis -- ( ) -- and contain a number of parameters (or arguments if you prefer, same thing) that the function uses to execute. A_PlaySound takes one parameter, and that is the sound it should play. Note the similary of this sound to the ones used before to define the sight, attack, and death sounds. Once again, the parameter must be enclosed in quotation marks because it is a string. The upshot of all this is that the sound of a barrel exploding will be heard during this frame.

BEXP C 5 bright

Very simple, nothing to see here. Just shows BEXP's C frame at full brightness for 5 tics. Move along.

BEXP D 10 bright A_Explode

This makes the zombie--er, barrel--blow up! Damage will be dealt to anything with the misfortune to be standing too close.

BEXP E 10 bright

Another simple line, and I shouldn't even have to explain it... so I won't.

stop

This tells the actor, quite simply, to stop existing. Since the monster has exploded like a barrel, there's nothing left of it, not even a corpse, so there's no reason for it to even remain in the game. The actor is thus permanently removed after it explodes, never to be seen again. *sniff*

The final state definition is a special one, and by far the simplest to define:

Code: Select all

Raise:
     stop
The Raise state is the state an actor enters while the Arch-Vile is bringing it back to life. Typically it is a reverse of the actor's death frames, so the effect is that of the zombie getting back up and ready to fight again. The presense or absense of the Raise state in an actor determines whether or not an AV can resurrect it. Since the ZombieMan is a very basic monster, it has this state and can thus be resurrected. However, the super-zombie is stronger, so I don't want the AV to be able to bring it back -- but how can I stop this? Since I'm inheriting everything from the ZombieMan, this Raise state would normally come along with it, creating quite a dilemma. In order to get around this, the stop keyword has some special behavior coded in -- if it is the first and only line in a state, then it has the effect of removing that state, as if it was never inherited. The two lines above, in essense, turn off the AV's ability to resurrect this variant of the zombie.

The last two lines are the closing braces of the state block, and the actor block in that order. If you wanted to go on to define more actors, you could do so by simply starting a new actor definition on the following line.
That in itself was madness. I only read some of it, that's how big it is.
Last edited by noy0003 on Sat Dec 15, 2007 9:02 pm, edited 1 time in total.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

Zippy wrote:You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
I diddn't read all of it. It was way to big.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

Vaecrius wrote:http://zdoom.org/wiki/Actor_properties
The damage property is set for a projectile and determines how much damage that projectile does.
The meleedamage property sets what damage is done with A_MeleeAttack. Ignore the "deprecated" next to it, since no one knows for sure how the [wiki]A_CustomMeleeAttack[/wiki] function works.

Ignore the explosiondamage property entirely, and instead use the parameters in [wiki]A_Explode[/wiki].

For hitscans use the damage parameter in [wiki]A_CustomBulletAttack[/wiki] and [wiki]A_FireBullets[/wiki]. Note that this number is always multiplied by a random number between 1 and 3 (or 4 - someone correct me if I'm wrong).

For more on weapons, see [wiki]Creating new weapons[/wiki].
That diddnt explain anything.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

Enjay wrote:
noy0003 wrote:I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
Have you tried reading around in the Wiki? Have you tried searching the Wiki? All the information that you have been asking for is in there. People typed it up for you, me and anyone else who wants it. All that is required is that you spend a little time looking for it and read it yourself.

Personally, I'll hapilly help anyone who needs it (if I can) but I need to see them match any effort I put in. After receiving such a massive input from HotWax, IMO, you should be well on the way to doing your own stuff and only coming back with little things like "I've been reading about such-and-such code pointer in the Wiki and I can't figure out how to set up the third argument for it" not "how do I change a monster's attack, give me the code". Most of your posts are reading like "I've got some really cool stuff that I want to do... can you do it for me". :(
No. I am new to this ZDoom website. The only reason I went on it earlier is to download ZDoom. Now I need help with stuff. Also, I don't know where to look in the Wiki. And I don't know where the main page to the Wiki is.
noy0003
Posts: 42
Joined: Fri Dec 07, 2007 11:20 am

Re: How Do I Edit Monsters And Weapons?

Post by noy0003 »

Unknown_Assassin wrote:
noy0003 wrote:
Zippy wrote:You... you've barely been reading anything that has been posted, haven't you? The information is already available, on the Wiki, etc. HotWax's post explains some of this in great detail. You have to put some initiative into it yourself.
I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
What about Hotwax's post? He gave you enough descriptions to get you started.
That post was way too big, I diddn't read it all.
User avatar
Project Shadowcat
Posts: 9369
Joined: Thu Jul 14, 2005 8:33 pm
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: Blacksburg, SC USA
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Project Shadowcat »

"tl;dr" is the worst answer around. I doubt it was meant to be read all at once anyway... ;)
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Matt »

@noy0003:

First off: You've just given the same answer to four different people. This is not necessary because we're all reading the same thread. Next time, can you please just respond with one post and just address the people you're replying to by name?

With that out of the way: I posted the links in response to
But I also wanted to know how to change the attacks, and damages of the monsters and weapons.
The links I provided tell you what parts of those stats that UA linked to (and, by thanking him and requesting something specific, you implied that you actually looked at) that you need to edit to change the damage for something. If the links weren't helpful, then someone at some point skipped something important.

Thing is, this is an internet forum. We're communicating in paragraphs and taking turns with gaps measured in hours if not days. It is impossible for any of us to guide you by hand through every little step of the way. This means there's going to be some expectation that you have to do a bit of reading up and experimenting on your own. You don't seem to be doing this: if your'e just lazy as some people here seem to suspect, then too bad for you, but if you just have no idea where to start at all, we're going to have to figure out what you know already and try to build on that.

So let's just go back a bit, and figure out where your starting point is:
  • What do you already know about how things work in Doom, in general?
  • What do you want to do specifically when you want to edit monsters and weapons?
User avatar
Enjay
 
 
Posts: 26516
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: How Do I Edit Monsters And Weapons?

Post by Enjay »

You are asking very generalised questions about a complex topic. There is no quick solution. You were lucky, you got a very full answer, that must have taken quite some time to type, from a guy who really knows his stuff and... you chose not to read it because it was too long. :roll: It would take less time to read it than it took to type. That was some guy who you have never even met giving up his time and doing you the courtesy of giving you a very full answer and you didn't even have the manners to read it. :( How long do you expect the information needed to make game items to be? With that attitude, why should anyone help you?

Start asking specific questions and you will get specific answers. Keep asking general stuff and you will either get long answers or be ignored. You're asking questions along the lines of "how do I make a car" or "how do I make my computer work". Neither of those questions could be answered adequately in a few short lines - and neither can yours.

You need to read some stuff yourself, read the info that HW typed, look at some existing actors, search for the Doom actors in the Wiki, pull apart other people's files and see what they did. Make an effort to actually read and learn stuff. There is no quick, fix-all solution. You will have to do some donkey work yourself. You can't just be updated with a "how to do decorate" add-on to your brain like learning kung-fu in the Matrix. Once you've made a start with learning the basics (and you have had plenty of information to allow you to do that) you will start finding the areas that are causing you difficulty. then you can come back and say "how does X work" or "why isn't this monster doing what I want". Do that and you will get a clear, concise answer.
User avatar
hnsolo77
Posts: 1446
Joined: Sat Sep 16, 2006 8:06 pm
Location: the mythical land of Toronto Canada. (not really)

Re: How Do I Edit Monsters And Weapons?

Post by hnsolo77 »

noy0003 wrote:
Enjay wrote:
noy0003 wrote:I have too. The link he sent me to the Wiki, didn't show how to edit weapons damages, and monsters damages.
Have you tried reading around in the Wiki? Have you tried searching the Wiki? All the information that you have been asking for is in there. People typed it up for you, me and anyone else who wants it. All that is required is that you spend a little time looking for it and read it yourself.

Personally, I'll hapilly help anyone who needs it (if I can) but I need to see them match any effort I put in. After receiving such a massive input from HotWax, IMO, you should be well on the way to doing your own stuff and only coming back with little things like "I've been reading about such-and-such code pointer in the Wiki and I can't figure out how to set up the third argument for it" not "how do I change a monster's attack, give me the code". Most of your posts are reading like "I've got some really cool stuff that I want to do... can you do it for me". :(
No. I am new to this ZDoom website. The only reason I went on it earlier is to download ZDoom. Now I need help with stuff. Also, I don't know where to look in the Wiki. And I don't know where the main page to the Wiki is.
please, look at this picture and make sense of that in any page of the wiki
Spoiler:
i apologize for being an asshat but someone had to do it
Locked

Return to “Editing (Archive)”