DECORATE guru looking for work

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
Electronic Samurai
Posts: 177
Joined: Mon Mar 27, 2006 1:54 am
Location: Wandering the open plains

Post by Electronic Samurai »

Hey there, always great to see an experienced coder offering their services. I have a few ideas for weapons for a ninja-themed mod I'm working on, but I'm new to DECORATE objects - would you mind having a look?

-> Caltrops: Throw them on the ground and your opponent steps on them for a small amount of damage. These should work against both multiplayer characters and against standard DOOM monsters.

-> Firework: Like an old-style Chinese rocket - explodes into dozens of little gravity-affected particles on death. A nice alternate fire would be to throw it on the ground, wait about 15 seconds, and have it blast off into the sky.

-> Thief style bow: A bow and arrow with the same general mechanics as the bow from the game Thief. If you're not familiar with that game, I'll be happy to explain further.
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

Caltrops are very hard to do. I'd imagine throwing some monster that isn't tagged as a monster. How I'd get it to hate everyone is the tough part- probably by having it be friendly to yourself. Daniel tried to make something similar to this and I forget what progress he made on it.

For the fireworks, should the particles do any damage? Making various effects on the firework would require extra time, but that'd be very pretty indeed.

I'm completely unfamiliar with how the bow works in that game, however I'm guessing that depending on how long you hold the button down determines how far the arrow flies. I'm working on improved charge code that would allow such mechanics easily.
User avatar
Electronic Samurai
Posts: 177
Joined: Mon Mar 27, 2006 1:54 am
Location: Wandering the open plains

Post by Electronic Samurai »

Caltrops are very hard to do. I'd imagine throwing some monster that isn't tagged as a monster. How I'd get it to hate everyone is the tough part - probably by having it be friendly to yourself. Daniel tried to make something similar to this and I forget what progress he made on it.
There's a land mine object in the WRW; perhaps that could be used as a starting point? If you have a choice, I'd prefer that the caltrops damage the throwing character as well, but it's up to you.
For the fireworks, should the particles do any damage? Making various effects on the firework would require extra time, but that'd be very pretty indeed.
Hmm, perhaps have each particle do a point of damage or so. This is my only "power" weapon for the mod - ammo for it will be scarce and the weapon should take a long time to fire and reload. What sort of effects did you have in mind?
I'm completely unfamiliar with how the bow works in that game, however I'm guessing that depending on how long you hold the button down determines how far the arrow flies. I'm working on improved charge code that would allow such mechanics easily.
That's right, but in addition, if you hold the fire button down for more than fifteen seconds, the character begins grunting with the effort of keeping the string drawn and the bow begins to wobble and lose accuracy. After twenty seconds, the character releases the string. It's a very neat and realistically done weapon.[/quote]
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

Okay then! I'll look at how the land mine was built and go from there. I might not be able to throw it, though.

Effects for the fireworks include on altfire having the pattern change randomly. The particles would all die after a certain amount of time, of course, but they'd do some damage to wahtever they hit before then.

Even more, I like the additional stuff on the bow and arrow. If you don't mind, I'd like to use much of the thief mechanics for that other stuff I mentioned at the start of this thread (with the ranger/mage class project).

Alright, I'm loaded up for now. Once I've made some headway on this charging code I can get around to finishing the riot cannon and the thief bow. Oh, and weasel, you still haven't mentioned what range you want your BFG replacement to have.
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

Holy crap, this took so much longer than expected. o_o I blame burning myself out on it all the time.

Anyway, I've completed the bulk of the charging code. Here's how the code in itself works- it uses THREE counters to keep track of which frame its on, how much longer it should stay on each frame, and the counter that holds how many cycles it's charged. (I suppose I should have done this another way and made it so it recorded how many tics it's charged...)

The pain in my butt is twofold- this chair and the firing section of the code, where I decypher that third counter and make it fire an appropriate section. Since that's the major difference between the Thief Bow, Riot Cannon, and this weapon I'm building, I may as well post the DECORATE section that at least does the charging. (rename PhotonCharge as necessary, and alter the question marks as appropriate. Just count the letters to find out where it's supposed to jump to.)

Code: Select all

Hold:
//process PhotonCharge1, PhotonCharge2, and PhotonCharge3 here

	TNT1 A 0 A_JumpIfInventory("PhotonCharge1",0,3)
	TNT1 A 0 A_TakeInventory("PhotonCharge1",3)
	TNT1 A 0 A_GiveInventory("PhotonCharge2",1)

	TNT1 A 0 A_JumpIfInventory("PhotonCharge2",0,3)
	TNT1 A 0 A_TakeInventory("PhotonCharge2",3)
	TNT1 A 0 A_GiveInventory("PhotonCharge3",1)

	TNT1 A 0 A_JumpIfInventory("PhotonCharge3",0,1)
	Goto Hold + ???

//Hold + ??
//This is the charging up state

	TNT1 A 0 A_JumpIfInventory("PhotonCharge2",1,3)
	BLAS D 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire
	Goto Hold + ????
	TNT1 A 0 A_JumpIfInventory("PhotonCharge2",2,3)
	BLAS E 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire
	Goto Hold + ????
	BLAS F 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire
	Goto Hold + ????

//Hold + ???
//This is the fully charged state

	TNT1 A 0 A_JumpIfInventory("PhotonCharge2",1,3)
	BLAS G 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire
	Goto Hold + ????
	TNT1 A 0 A_JumpIfInventory("PhotonCharge2",2,3)
	BLAS H 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire
	Goto Hold + ????
	BLAS I 1 A_GiveInventory("PhotonCharge1",1)
	TNT1 A 0 A_Refire

//Hold + ????
//Here we fire the weapon at its proper charge level

/* 1. Check for enough ammo to fire maw charge level
   2. If not, skip to 6
   3. Check for enough charge to fire max charge level
   4. If not skip to 6
   5. Fire/activate appropriate mode
   6. repeat for lower charge levels
*/

User avatar
Electronic Samurai
Posts: 177
Joined: Mon Mar 27, 2006 1:54 am
Location: Wandering the open plains

Post by Electronic Samurai »

I'm afraid this is all Greek to me, but it's good to see you're making progress with it. :)
User avatar
Crudux Cruo
Posts: 1171
Joined: Mon Apr 10, 2006 8:43 pm
Location: California

Sweet!!! your just what i need!!!

Post by Crudux Cruo »

I made a doom mod called hexendoom!

so far, since i dont know how to script, theyre basically the same weapons as before, only with a different appearance. if you would like to make the effects as you see fit, i would be grateful. in turn, i will put you in the text file that comes with it, or you may once you download it (that is if you accept), and ill edit my hexendoom thing on the zdoom wiki, or you may, it dosent matter.

this sounds like the type of thing you've been waiting for.

do you accept?
User avatar
Apothem
Posts: 2070
Joined: Sat Nov 29, 2003 7:13 pm
Location: Performing open heart surgery on an ACS compiler.

Post by Apothem »

Actually, I'm looking for some basic decorate monsters for test subjects on the RPG engine, nothing spectacular, just some basic adaptable code would be quite handy. If you want, when I get the battle system fully functional, I can have you help me with making all the monsters with stats and abilities later down the line. I'll supply graphics and even help out a bit. PM me if you're interested. As for right now, I can supply graphics for the test subjects, I just need some basic code as I don't wanna have to deal with making them all individually as trying to get this damn thing to load a set of monster stats is proving to be more difficult theoretically than originally it was thought to. But yeah, please PM me if you would like to help me a little bit with the RPG engine.
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

For DECORATE monsters you might want to talk with someone else. I've just gotten a side workload that will take up a lot of time to work on. Um, basic DECORATE monsters are pretty easy to make, and if all you need are things that spawn stuff, you can inherit existing monsters and change what they drop. If you need to overwrite the death sequence, that's pretty easy too.

If you need monsters to have programmable stats, try using monster inventory. You'd have to write a lot of checks, though... I dunno if anyone is up to that. Worst to worst, I'll see what happens with my current load and if any ideas can be shared between projects.
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

Hey DoomRater, could you make a D'Sparil Staff weapon?
Regular Fire: D'Sparil bolts
AltFire: summons one Wizard

ammo: Darkmana.
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

If you're not too busy doing anything, you could learn enough DECORATE to make this one yourself. It sounds exteremly straightforward. To get you started...

Code: Select all

ACTOR DSparil : Weapon
{
   /* here you're going to add all the info and flags and stuff that
   you can copy out of some other weapon and modify. */

   States
   {
      Fire:
//      TNT1 A 3 A_FireCustomMissile(fill in the required blanks here)
        TNT1 AA 3 //extend to as however many frames as you need
        TNT1 A 3 A_Refire
        Goto Ready
     AltFire:
//      TNT1 A 3 A_SpawnItem(fill in these blanks here- because you need SpawnItem to get a monster to spawn right)
        TNT1 AAA 4
        TNT1 A 0 A_Refire
        Goto Ready
   }
}
And just replace the TNT1 with the proper frame name or whatever. Tweak the frame tics as well and stuff, and you're well on your way to learning how to make DECORATE weaponry.
User avatar
Shadelight
Posts: 5113
Joined: Fri May 20, 2005 11:16 am
Location: Labrynna

Post by Shadelight »

Heh, cool, thanks DoomRater.
I'm already learning a bit about Decorate weapons.....
User avatar
MasterOFDeath
... in rememberance ...
Posts: 2024
Joined: Sat Apr 03, 2004 10:58 am

Post by MasterOFDeath »

I want to see somebody try and recreate the secondary fire from Half-Life 2's Overwatch rifle (the ball that bounces around and disintegrates stuff.). Think you could pull that off doomrater?
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Post by DoomRater »

One of Xaser's weapons does something similar to that- you might want to check that out and see if it's anything like what you're thinking of.
User avatar
Froon
Posts: 116
Joined: Tue Aug 30, 2005 8:42 pm

Post by Froon »

Need a hand?

I sort of want to start making weapons again, but I'm pretty much out of ideas.
Locked

Return to “Editing (Archive)”