Mleo,
Target can be NULL_ID only if you have a version of FTech/ATPFunctions.py I don't have lol
I tho the one in KM1 was the latest?
From the ATPFunctions.py, FireTorpFromPointWithVector function (right at the beggining):
pTarget = App.ShipClass_Cast(App.TGObject_GetTGObjectPtr(idTarget))
pSet = pTarget.GetContainingSet()If the target is NULL_ID, pTarget = None, and "None" has no attribute GetContainingSet()

And that part of code isn't in a "try/catch" block lol
The parent/ship ID can be NULL tho yea...
Dunno if he has the DiamondBC scripts so it's best to assume he hasn't

Heck that reminds me I have to get them lol
teleguy,
If you not attach the torp to the ship, it's position (as you set) will be in "space" coords, and not the "local" coords of the ship, that's why they appear off position. You just gotta compensate for that: start the torp's location vector from the target's world location, then add the appropriate offset (like you're doing) to make it appear a bit to the side of ship and hit her.
OR your problem is like Mleo said: they won't affect the player if the parent is the player.
Which I believe can be generalized to: the torp you fire won't affect the ship X if it's parent is ship X

EDIT:
Saw your post now, you made the torp's parent and target the same (like Mleo said). Set the parent as NULL_ID, and see if that works.