|
Author
|
Topic: Damage Chain....what is going on?
|
wakeup tailgunner JAG
|
posted 04-03- 03:31 PM
According to the OP document, when an object takes damage, a portion of that damage is applied to the parent object. O.K.How much? ObNoDamageChain blocks this damage, but that is all it says about it. I wanted to have a central object with smoke effects etc, but no hit taking, with a cluster of child objects to take the hits, trigger functions, and PASS DAMAGE ON TO THE PARENT. Is the amount tiny, or do they not pass on damage to an object that lacks an inertia box? If I have to have the central object taking damage too, then I lose the effect I am trying to achieve. HELP!!!!!!!! IP: Logged |
Razer Pilot
|
posted 04-03- 04:00 PM
i wouldn't trust the OP doc since Bryan has changed the damage in the latest version of SDOE.IP: Logged |
Nat JAG
|
posted 04-03- 06:03 PM
Tail, I did this to the La7 a simpler way, you basicaly have 2 parts, the one that takes the damage, and the one that gives the effects.. here's what I did..in the effects object: (obFunc (oilSmoke1 (obSmokeTrail (smkDensity .2 smkDiameter 1.5 smkOrigin -2,-1,0 smkLifetiime 0)))) (obFunc (oilSmoke2 (obSmokeTrail (smkDensity .4 smkDiameter 1.5 smkOrigin -2,-1,0 smkLifetime 0)))) (obFunc (oilSmoke3 (obSmokeTrail (smkDensity .6 smkDiameter 1.5 smkOrigin -2,-1,0 smkFire smkLifetime 0)))) in the object to take the hits: (obDamage (obHits 10 obKillDelay 1 onDmg 2 (obExec (Name 'Lexhaust Func 'oilSmoke1)) onDmg 4 (obExec (Name 'Lexhaust Func 'oilSmoke2)) onDmg 8 (obExec (Name 'Lexhaust Func 'oilSmoke3)) onDmg 10 (obExec (Name 'engine1 Func 'EngKill)))) (plus ( phyRelDensity 0.250000 phyBoxInertia 3.800000,2.200000,0.800000 phyCG 0.000000,0.000000,0.000000 )) [This message has been edited by Nat (edited 04-03-2001).] IP: Logged |
Nat JAG
|
posted 04-03- 06:05 PM
this way, although you don't use the damage chain directly, you actualy have more control over it, you call a smoke function from an object when a part reaches a certain damage level, which is what it sounds like you want to do, and it saves ALOT of code, my engine DM code is now hafle the size it used to be by using this method.Hope it helps you out Tail ~Nat~ IP: Logged |
Raider Pilot
|
posted 04-03- 07:04 PM
Wow, check what Bryan has to say about the damage chain. http://www.wingswithwires.com/patch/mb/posts.asp?id=88&fid=3 IP: Logged |
Bryan Russell Pilot
|
posted 04-04- 12:53 AM
I didn't change the damage, just fixed it  In effect the OP doc is probaby more accurate now, especially the damage chain stuff. One flaw with the crew radius concept is unarmoured seats taking hits though the rear of the fuselage. A crew radius big enough to emcompass this would also get damage from the inner wings, probably not good. When I get time I am going to see If I can implent some kind of dodgy penatration thing, i.e the Model has a "toughness" property, and when it gets hit by a bullet, it may slow it down, but potentially not stop it. This will allow it to hit objects that are currently "Protected" by other lods. Plus it may also allow for some interesting things with fabric bits that offer little resitance to pass the bullet with out contributing much to the damage of the whole LOD. Anything behind it would be in for a rude shock though  ------------------ Wings with Wires Go here for info about the Unofficial Patch IP: Logged |
wakeup tailgunner JAG
|
posted 04-05- 10:31 AM
Been reading all the stuff I found on the patch forum etc. and I think I know the problem now....can anyone confirm if I am right here.... The damage passed to the parent is a small fraction...damage * 0.0042 was quoted by Elric.
If this is right, doing 50 hits to the child to destroy it passes up 50*0.0042 which is 0.21 hits.... 5 cylinders with total destruction is about 1 hit...which would explain why I never saw the test smoke trail. The central motor had 50 hits, so 5 hits were needed to hit lvl 1 and trigger smoke. If this is the case, I would need a motor with 9 cylinders of 30 hits each, and a central motor of 1 hit. Assuming the game actually notices fractions, and that all the damage doesn't have to happen in one go... Is this right? the other thing is, if I remove the inertia box from the central engine, so it can't take hits directly, is damage still passed up? If I make the motor with 1 hit, it will get taken out really easily if you can get a shot at it. Plus flak will take it out every time! IP: Logged |
Nat JAG
|
posted 04-05- 12:46 PM
aahhh... thanks Tail, that helps and supports my findings in the mail I sent you (atleast it explains my findings) I can alter the obhits now in the parent and do more testing, but what you could do I think is remove the inertia and also give the parent obNoCollide.I'll let you know how testing goes but thats good info and helps alot Tail. IP: Logged |
Nat JAG
|
posted 04-05- 01:28 PM
OK, parent engine with 1 obhit, 4 child engines with 40 obhits, each child pushed to damage level 8 and the parent still showed no signs of damage, i.e. it didn't reach atleast damage 2 with obhit value of 1!So, to put it simply.. we can't put enough damage through the chain to affect the parent engine. On the damage side, removing the Inertia stops direct bullet hits (unsure about flak) but don't add obNoCollide because although this isn't mentioned (I think) if you add obNoCollide to the parent, it affects the children aswell, I couldn't hit them with gunfire until I removed the no collide from the parent engine. IP: Logged |
wakeup tailgunner JAG
|
posted 04-05- 02:42 PM
bugger!  anyone out there know what the hell is going on with this? It should work, but quite clearly doesn't. Is this what Bryan fixed? IP: Logged |
Raider Pilot
|
posted 04-05- 10:19 PM
In slew mode one hit registers 4 points. If I set obHits 40 it takes 10 hits to reach 100% damage. So if the number .0042 is correct, each time you shoot the child in slew mode it passes 4 * .0042 = .0168 damage up to the parent. If you set the parent obHits to 1 it would take 1/.0168 = 60 hits to the child to equal one true hit to the parent. It would seem that if the parent was set to obHits 1 and onDmg 1, that would mean it would only need 1/10th or 6 hits to reach onDmg 1. Well, it should be working. I will try some simple testing with parent/child dmg and see what happens. IP: Logged |
wakeup tailgunner JAG
|
posted 04-06- 04:44 AM
be interesting to see how you get on...I set up something similar, and got no joy. My big worry is in the fractions. If the game doesn't register small fractions, or if the damage passed up isn't cumulative.... If you pass up 0.1 pts each time, it may be that it is only counting whole numbers. If you hit it with something big enough to do 40 pts in one hit, then perhaps it wouldpass up enough damage to notice. This would be fine for Flak, but a little tricky for .50's. I set up a b17 engine with 10 hits, 5 child objects with 50 hits each, and progressively shot the heel out of each child object with twin .50's. Blew all the child objects away. Base model was set to show smoke at DM1, so 1 hit should have done it. 250 hits to child objects later, and no smoke. 1 burst into the parent and it was toast..... Either the vlaue Elric quoted is wrong, out interpretation of the effects are wrong, or the game is not doing what it should with the damage! confused....I know I am! IP: Logged |
Bryan Russell Pilot
|
posted 04-06- 09:16 AM
Not rightThe 0.0045 value is the global damage modifier. This is used to scale the hit energy in Joules, into a value in the units of obHits. the damage modifier is always applied. This was the thing I fixed. basically there were area where the damage modifier was being applied twice (i.e. 0.0045 * 0.0045 = 0.00002) this has the effect that the objects taking damge through this path would not get much damage at all. One of these paths was the damage chain, others may (or may not) have included the path that network damage went. Damage passed up the damage chain is hardcoded. if the object is setup to not accept dammage 100% of the damage is passed to the parent, other wise only 30% is (as well as the original object taking the full 100%) Some other areas that act a little like damage chains, but aren't are two methods of applying damage to crew. One is the Crew Radius. This means that is a object takes some damage, the crew positions are checked to see if the hit point is in the dfined crew radius. if so from memory 20% of the damage is passed to the crew position. This is also anothe rarea where the double damage modifier was being applied incorrectly, and hence crew are killed much easier now. Also there is another point, which sounds a little sus to me, that every crew position takes 50% of any damage to the root object. I hope that clears that up  ------------------ Wings with Wires
Go here for info about the Unofficial Patch [This message has been edited by Bryan Russell (edited 04-06-2001).] IP: Logged | |