PDA

View Full Version : dismemberment


Tinny
05-04-2004, 05:01 PM
yay guys, i gota good compiler and now i can make mods :) . i made some basic changes, but i want to try weapon dismemberment. say i blast someone in the arm, i can can blast their arms off. one more thing, is there somewhere i can edit things to where i can have mutliple dismemberment? if i have a light saber swing horizontally through the shoulders, both arms fall off.

razorace
05-05-2004, 06:24 PM
Well, check out how the NPCs do dismemberment. They have dismemberment like that.

Tinny
05-05-2004, 07:18 PM
right right, forgot about them, thanks Razor.

razorace
05-05-2004, 07:41 PM
You're welcome.

Wudan
05-06-2004, 10:26 AM
Probably the main reason it's limited to one cut for players is because of ragdoll - each time you cut somebody, you're making an entirely new ghoul2 instance, and copying their model - it's clever, but with ragdol, it could be painful to turn one set of calculations in to 8 (or more).

You could disable ragdoll, and then maybe nobody would care.

Tinny
05-06-2004, 06:37 PM
hey, with Azymn's help i got the gun dismemberment working :). its not as hard as it looked, now this multiple dismemberment part is tricky, thx for the tip Wudan. will look into ghoul and npcs now.

Tinny
05-11-2004, 05:24 PM
hey guys, i got the multiple dismemberment working with bots somewhat, but it works for a very short period of time. in the g_combat.c file there are these lines:

if (targ->s.eType == ET_NPC && targ->client && (targ->s.eFlags & EF_DEAD) )
{ //an NPC that's already dead. Maybe we can cut some more limbs off!


i changed it to:

if (targ->s.eType == ET_NPC || targ->s.eType == ET_PLAYER && targ->client && (targ->s.eFlags & EF_DEAD) )
{ //an NPC that's already dead. Maybe we can cut some more limbs off!


now the main limiting factor was the disintigration, the body just vaporized when i attacked it soon, but i disabled that and now i can make stew out of a body if i do a saber twirl or kata just like i can if i do it to an npc. the thing is after a second or 2 it stops responding and its a solid body that is completely unresponsive. i think this has something to do with one being able to use the force (like push a body) right after you kill them, and after a second they don't respond to the force.

razorace
05-11-2004, 05:33 PM
Uh, like I stated earlier, multiple dismember already works for NPCs. I've tested that myself on stormtroopers.

Secondly, MP bots are totally different from the SP/MP NPCs.

Azymn
05-11-2004, 05:36 PM
One other problem you run into is that after a certain period of time, a body's appearance is copied to a queue to simply display the body until some deadbodytimer runs out. At this point, it's no longer a model that can be cut, animated, ragdolled, or anything like unto it - it's simply a static shell.
In order to preserve the ability to hack up a body, you have to prevent the clientside fx functions from converting it from a dynamic model to a static husk.
This will increase the rendering load on the client, b/c depending on the rate of death and the bodyqueue timer one could have dozens of models active simultaneously.

Tinny
05-11-2004, 05:41 PM
Originally posted by razorace
Uh, like I stated earlier, multiple dismember already works for NPCs. I've tested that myself on stormtroopers.

Secondly, MP bots are totally different from the SP/MP NPCs.

yeah, i knew that you can do it to sp/mp npcs. i was just saying that i got it to work for mp bots like the sp/mp npcs for a short period of time whereas previously you can only dismember one limb for a bot or client.

razorace
05-11-2004, 08:02 PM
oh wait, I just looked again at your code and in theory, that should apply for other players. If it works for the MP bots, it's should work for the players as well.

Tinny
05-11-2004, 08:45 PM
here's a pic i took, note this was a bot and not an npc:

<img src="http://verticalhorizon.rogueskies.net/graphics/botdismembering.jpg">

Tinny
05-11-2004, 08:46 PM
bah, sorry

http://verticalhorizon.rogueskies.net/graphics/botdismembering.JPG