Tesla cannon... not working?

Post » Sat Feb 19, 2011 5:26 am

Okay, coming down the home stretch for my pre-FONV playthru, and... my Tesla Cannon is not popping vertibirds in one hit. I'm patched up to 1.7.03 plus FOSE, and I've tested with my personal private tesla boost mod disabled, but still nothing. No vertibirds dropping out of the sky.

Is this a known issue? Is there a fix? Is there a known instance of a mod causing this?

EDIT: Okay, I traced it to a weird reason... something decided to stop working.

Here's the path of form objects that lead to the vertibird explosion effect...

1: DLC03WeapTeslaCannon
2: DLC03TeslaCannonProjectile (main projectile for telsa cannon
3: DLC03TeslaCannonExplosion (explosion for above projectile)
4: DLC03TeslaChainStep01 (Placed Impact Object for above explosion)
5: scn DLC03TeslaChainEffectVTwo01Script (script attached to activator above)

The script block in DLC03TeslaChainEffectVTwo01Script is as follows

;///////////////////////////////////////////////////////;// VERTIBIRD EXPLOSION STUFF;////////////////////////////////////////////////////////BEGIN ONTRIGGEREnter	;// store who triggered us	set TriggerObject to getActionRef		;// if its in the vertibird list, blow it up!	IF TriggerObject.isInList DLC03TeslaExplosionList			TriggerObject.do 50000					ENDIF		if TriggerObject.isActor == 1		if TriggerObject.GetDead == 0			set triggerActor to getActionRef		endif	endif	END


Doing some PrintToConsole bugchecking, I altered it to this:

;///////////////////////////////////////////////////////;// VERTIBIRD EXPLOSION STUFF;////////////////////////////////////////////////////////BEGIN ONTRIGGEREnter	;// store who triggered us	set TriggerObject to getActionRef		if TriggerObject != 0			printc "Trigger object found"		endif		if TriggerObject == 0			printc "No Trigger Object Found"		endif		;// if its in the vertibird list, blow it up!	IF TriggerObject.isInList DLC03TeslaExplosionList			printc "That vertibird should have blown up"			TriggerObject.do 50000	else 		printc "Failed to blow up vertibird"						ENDIF		if TriggerObject.isActor == 1		if TriggerObject.GetDead == 0			set triggerActor to getActionRef		endif	endif	END


If I shoot one of the nearby laser turrets, it properly triggers "Trigger Object Found", and "Failed to blow up vertibird". If I shoot a vertibird... nothing. I figure nothing happens when shooting the vertibird because it is somehow not causing the OnTriggerEnter block to run (meaning the "no trigger object found" is extraneous).

So.... Why aren't vertibirds triggering it anymore? It checks out if I do IsInList to the DLC03TeslaExplosionList on a vertibird. The vertibirds will also explode if I manually use DamageObject (longhand for the "do" command) on a vertibird for the amount in the script So what happened?

EDIT 2: Nevermind, I found the source. All the vanilla Vertibird meshes are altered into a manner that will properly trigger things and stored in Broken Steel's BSA. Somehow, these were not loading. :confused: Fixed by extracting all pertinent meshes from the Broken Steel BSA and putting in as mesh overrides into the Data\Meshes folder. Didn't even need to check any PrintToConsole data this time, that vertibird went kablooie right out. :D

So... ignore this post. Or remember this in the event that you ever hear of this problem in the future.
User avatar
Genocidal Cry
 
Posts: 3357
Joined: Fri Jun 22, 2007 10:02 pm

Return to Fallout 3