SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
|
|
Thread Tools | Search this Thread | Display Modes |
08-08-06, 01:32 PM | #1 |
Subsim Diehard
Join Date: May 2006
Location: Texas!
Posts: 971
Downloads: 78
Uploads: 3
|
Randomizing torpedo damage
I've taken the suggestion of kage to heart ( http://www.subsim.com/radioroom/showthread.php?t=96322 ) and have been messing with the torphoming doctrine to try to randomize torp damage a bit. For far it works pretty good.
Here's how it works. In the torphoming doctrine, the torp is given a random "DetonationRange" between 0 and 100 meters at launch. The torp will now detonate at a random range from the target, sometimes still within the hull for full damage (if the detonation range is small it will still be inside the target hull), and sometimes right outside the hull for less damage (100meters from the centerline of the ship is most often just outside the hull form). The end result is that the amount of damage to the ship is more random and unpredictable sometimes full damage sometimes a bit less. The hit the ship will take can vary by a small percentage points. If anyone would like to test it, here's a example of the changes merged with Luftwolf and Amizuars stellar torphoming doctrine. (assuming its ok with them). Code:
; $Header: TorpHoming.txt Thu Jul 24 09:26:21 EDT 2003 mike $ ; $Revision: 2 $ ; $Copyrt1: Copyright (c) 2003, Sonalysts, Inc. All rights reserved. $ ; ; torpedos not detonating on CMs (with exeption of towed CM) mod by Amizaur ; ; second version, game crashing fixed by breaking one big condition into two subconditions ; modded by LoBlo to produce more variation in explosive range Aug 8th 2006 var DetonateRange IF INIT THEN { DetonateRange = rnd 100 } ENDIF IF Not LostTrack THEN { IF GetEntVar "Enabled" THEN { IF ownspd < ( maxSpd * 1.5 ) THEN { IF ( TgtRng < 30 ) THEN { IF ( TgtClass $= "Weap" ) AND NOT ( TargetName $= "Towed Decoy" ) THEN { DebugOut "TorpHoming dropping CM now!" Drop } ELSE { SetPriority 252 TerminalHome } ENDIF } ELSE { SetPriority 252 TerminalHome } ENDIF IF ( TgtRng < DetonateRange ) AND NOT ( TargetName $= "Towed Decoy" ) AND NOT ( TgtClass $= "Weap" ) THEN { Detonate } ENDIF } ENDIF } ENDIF } ENDIF Unfortunatlely there is a minor bug already in that extremely large platforms like supercarriers and supertankers will almost always take full damage like previously because their hulls are so large that the detonation range will still be inside the hull like always. Expanding the detonationrange range a bit can rectify this but the result is that on smaller ships the torp hits are way outside their hull and looks unrealistic and a little cheap. Giving a seperate detonation range to a supership is one way to fix this problem and something that can be experimented on. Needs testing. Please give feedback.
__________________
"Seek not to offend or annoy... only to speak the truth"-a wise man Last edited by LoBlo; 08-08-06 at 04:47 PM. |
10-03-06, 05:18 PM | #2 |
Swabbie
Join Date: Aug 2006
Posts: 7
Downloads: 18
Uploads: 0
|
I did some playing around with your idea of variable detonation range and tried to apply it to missiles. Apparently the key file here seems to be the terminal_home file.
I put the DetRng code right at the beginning and so far it seems to work. Script looks as follows: Code:
var DetRng IF INIT THEN { DetRng = rnd 100 } ENDIF IF ( TgtRng < DetRng ) THEN { Detonate } ENDIF IF NOT INIT THEN { ; Home SETPRIORITY 252 SETPERSIST 0 ; don't time out TERMINALHOME } ELSE { DEBUGOUT OwnName DEBUGOUT " Acquired " DEBUGOUT TargetName } ENDIF Test run with 20 Harpoons each fired at 1 OHP: - 2x 100% destroyed - 10x 98% damage - 8x ranging from 43%-69% damage It's intersting that the missiles managed to sink the ship 2 times, even though the damage value was less than the ship's armor (?). I also did a quick test with some CV-targets and as far as I've seen the script suffers from the same 'bug' as your torpedo script, when hitting large targets. However, I think random damage is mostly useful to simluate damage on targets that could theoretically be killed by a single missile/torpedo and since big targets do require several missiles to kill them anyway, I consider this not a major issue. Last edited by weasel; 10-03-06 at 05:22 PM. |
|
|