Icon of Sin / Baphomet
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Millennium Enemy Attack Functions
 
Author
All times are GMT. The time now is 16:21. Post New Thread    Post A Reply
JoelMurdoch
Should know better by now


Posts: 656
Registered: 02-02


James, I'm going to dig out the out Doom Millennium code to get the new bad guy attack functions sometime this weekend. Couple of questions.

1. Does the current Small implementation mean I can redo these attack routines in Small, or will I need you to put them in the main codebase?

2. I seem to remember reading something about a generic "launch projectile" function that could be called via EDF. Am I correct or am I imagining things?

Old Post 07-01-05 05:18 #
JoelMurdoch is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 4615
Registered: 08-00


Actually, if you gave me a precise enough description of what all the attacks need to do, I could either:

1) Refer you to the exact feature(s) you'll need to do them without using native code OR

2) Add them as codepointers and/or script functions very quickly before the next release, if they're feasible (and most of the Millennium features I know of would be). I really need to expand this stuff and adding it for you is a good way to focus on useful additions.

I do still have the p_enemy.c file from Millennium somewhere, but I was never given the rest of the source (and I needed it before I could work on absorbing some of the other stuff as engine features).

But no, you're not hallucinating about the generic attack functions. Bring up the Codepointer reference from the doc package (online version on engine page is up to date also) and look for the parameterized monster attack pointers. You'll find a treasure trove of info there ^_^

Old Post 07-07-05 22:50 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
JoelMurdoch
Should know better by now


Posts: 656
Registered: 02-02


Good to know I wasn't seeing things on that function. From memory (and this is going back two years or more) most Millennium bad guys will be covered by those generic functions. Define the new projectile in EDF, launch it with the new function.

I think I may have lost the final revision of the source before the team collapsed, but I still have the original source archive Steve sent me. Most of the changes were spit shines or tweaks to the bad guys. The former are irrelevant, the latter Steve has already ported to EDF himself.

Between all of this stuff, the only things I think remain problematic for Millenium to run under Eternity with no custom code as original envisioned are the new weapons. The Ruby Plasma and ANTs specifically are bitches. Solve one problem and another crops up. The Ruby Plasma uses a particle stream that no matter what always seemed to overload and crash whatever particle system you tried it with. And the ANTs were things which ran around and attacked monsters. No matter how much I tweaked things it was possible to break the concept in various ways (eg getting them piled on top of each other or stuck against walls). I think Steve still wants both; I'd rather see them axed. Too much hassle.

Last edited by JoelMurdoch on 07-08-05 at 04:06

Old Post 07-08-05 03:59 #
JoelMurdoch is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 4615
Registered: 08-00


I seem to remember some other stuff too, though -- like a monster who spawned child monsters and all of them would be removed when the main monster died. You certainly cannot do that with EDF currently.

Anyways, just let me know if/as soon as you run up against a barrier with EDF/ExtraData/Small/anything else you guys end up using where you say "ok I need native code for this." At that point I will let you know whether or not I could implement it as a generic editing feature in reasonable time.

I wanna be as helpful as possible to any project using Eternity ^_^

SECOND EDIT: I checked and I do NOT have the code for the ruby plasma effect, so I cannot try to fix it for you guys until somebody gets it to me. It's in a function named P_RPlasmaAttack. It is prototyped, but never defined, in the p_enemy.c file I was sent some time ago. I am missing several other such functions. If you have ANY version of the source, however old, I would really like to see it. I've asked for it several times in the past but Lut never could get it to me, and I never could catch you.

As far as the player spawning things, it has to be done like a Pain Elemental lost soul spit. No crossing lines or sticking inside existing objects. There's no current codepointer available for that. I should probably add one huh? :->

Last edited by Quasar on 07-15-05 at 07:24

Old Post 07-15-05 07:07 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Mordeth
Administrator


Posts: 1883
Registered: 05-00


I'm also playing around with a new weapon. Also spawns a "helper" of sorts. Problem is the ammo type, and the fact that the player can fuck up the spawning very easily.

I would also love to have a flamethrower, including alternative death frames for the monsters killed with it, but I guess that's a bit too radical atm. Although Strife had it :)

Old Post 07-15-05 08:39 #
Mordeth is offline Profile || Blog || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 4615
Registered: 08-00


A flamethrower could be done with the present codepointers, but if you wanted to create a new ammo type for it, you'd have to wait until EDF for weapons is implemented and that is still a while in coming. I haven't solved any of the problems related to generalizing the weapon system, and it unfortunately gets tangled up into the netcode issue when you start to deal with how weapon changes are recorded and transmitted.

New codepointers added last night:

ThingSummon
Generalized pointer to let a monster summon another monster
args[0] = thing type
args[1] = prestep distance
args[2] = z delta
args[3] = kill or remove if thing is stuck?
args[4] = make new thing child of current thing

KillChildren
Kills or removes all things marked as children of the current thing.
args[0] = kill or remove?

Old Post 07-15-05 18:08 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Mordeth
Administrator


Posts: 1883
Registered: 05-00



Quasar said:
New codepointers added last night


Nice!

Old Post 07-16-05 17:46 #
Mordeth is offline Profile || Blog || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7130
Registered: 01-03



Quasar said:
KillChildren
Kills or removes all things marked as children of the current thing.
args[0] = kill or remove?




Thanks for the idea! ;)

Old Post 07-16-05 18:50 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 16:21. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > Millennium Enemy Attack Functions

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory