DLC03MetroCarArmor

DLC03MetroCarArmor is an unobtainable piece of apparel used during the Presidential Metro train sequence $$

Overview
The item is assigned to the player's Right Hand slot, making it visible in first person if a weapon is unholstered. When the Metro Console is activated when traveling between the Presidential Metro and Adams Air Force Base, control input is disabled and the player is forced in first person.

After the white fade-in sequence, the original Presidential Metro Cab and Console are disabled and the armor is added to the player's inventory and equipped, appearing identical to the former.

A package named is then initiated and plays an animation named, which controls the Cab animation and camera shake and repositions the Cab onto the train tracks, placing the player directly inside it. Upon reaching the black fade-out sequence, the armor is removed from the player's inventory.

In third person, the armor will appear above the player's head and cause their right hand to become invisible. In first person, it will block the player's screen if a weapon is unholstered.

Script
scn DLC03PresMetroRide01AnimSCRIPT

short doOnce short handleFollowers short charonIsFollower short butchIsFollower short cloverIsFollower short dogmeatIsFollower short jerichoIsFollower short fawkesIsFollower short rl3IsFollower short crossIsFollower short autosaveReady

ref actionRef float timer



Begin onActivate

set actionRef to getActionRef

if (actionRef == Player) disablePlayerControls 1 1 1 1 1 1 1 ;Alan added this to handle the Quest Target Set DLC03BS3.BS3QTFlip to 1

DLC03PresMetro02Console01REF.playgroup forward 1 set timer to 1 set doOnce to 1 endif

End



Begin gameMode

if (doOnce == 1) if (timer <= 0) DLC03PresMetro02TrainPopREF.enable DLC03PresMetro02ElectricLight01REF.enable 0 DLC03PresMetro02Rumble01REF.placeatme DLC03VertibirdRumble 1 playsound OBJMetroRide2D set doOnce to 2 else set timer to (timer - GetSecondsPasseD) endif

elseif (doOnce == 2) ;disablePlayerControls 1 1 1 1 1 1 1 imod DLC03MetroFadeInFromWhiteISFX02 set handleFollowers to 1 set timer to 1 set doOnce to 3

elseif (doOnce == 3) if (timer <= 0) player.moveto DLC03PresMetroRideStart01REF player.additem DLC03MetroCarArmor 1 1 player.equipitem DLC03MetroCarArmor 1 1 DLC03PresMetroRideCab01REF.disable DLC03PresMetro02Console01REF.disable player.dispel stealthboy set timer to .5 set doOnce to 4 else set timer to (timer - GetSecondsPassed) endif elseif (doOnce == 4) if (timer <= 0) player.addscriptpackage DLC03MetroCameraPackage set timer to 18 set doOnce to 5 else set timer to (timer - GetSecondsPassed) endif

elseif (doOnce == 5) if (timer <= 0) imod DLC03FadeToBlackISFX set timer to 3 set doOnce to 6 else set timer to (timer - GetSecondsPassed) endif elseif (doOnce == 6) if (timer <= 0) player.removeitem DLC03MetroCarArmor 1 1 player.removescriptpackage DLC03MetroCameraPackage set timer to 1 set doOnce to 7 else set timer to (timer - GetSecondsPassed) endif

elseif (doOnce == 7) if (timer <= 0) set doOnce to 0 set handleFollowers to 0 set charonIsFollower to 0 set butchIsFollower to 0 set cloverIsFollower to 0 set dogmeatIsFollower to 0 set jerichoIsFollower to 0 set fawkesIsFollower to 0 set rl3IsFollower to 0 set crossIsFollower to 0

set DLC03MetroSwitch02REF.autosaveReady to 1 DLC03PresMetroRideCab01REF.enable DLC03PresMetro02Console01REF.enable DLC03PresMetro02ElectricLight01REF.disable 0 enablePlayerControls player.moveto DLC03PresMetroRideEnd02REF else set timer to (timer - GetSecondsPassed) endif endif

if (handleFollowers == 1) if ( Followers.CharonHired == 1 ) && (CharonREF.Waiting == 0) CharonRef.Moveto DLC03PresMetro03Follower01Marker set charonIsFollower to 1 set handleFollowers to 2 elseif ( Followers.ButchHired == 1 ) && (ButchREF.Waiting == 0) ButchREF.Moveto DLC03PresMetro03Follower01Marker set butchIsFollower to 1 set handleFollowers to 2 elseif ( Followers.CloverHired == 1 ) && (CloverREF.Waiting == 0) CloverREF.Moveto DLC03PresMetro03Follower01Marker set cloverIsFollower to 1 set handleFollowers to 2 elseif ( Followers.DogmeatHired == 1 ) && (DogmeatREF.Waiting == 0) DogmeatREF.Moveto DLC03PresMetro03Follower01Marker set dogmeatIsFollower to 1 set handleFollowers to 2 elseif ( Followers.JerichoHired == 1 ) && (JerichoREF.Waiting == 0) JerichoREF.Moveto DLC03PresMetro03Follower01Marker set jerichoIsFollower to 1 set handleFollowers to 2 elseif ( Followers.FawkesHired == 1 ) && (MQ08FawkesREF.Waiting == 0) MQ08FawkesREF.Moveto DLC03PresMetro03Follower01Marker set fawkesIsFollower to 1 set handleFollowers to 2 elseif ( Followers.RL3Hired == 1 ) && (RL3REF.Waiting == 0) RL3REF.Moveto DLC03PresMetro03Follower01Marker set rl3IsFollower to 1 set handleFollowers to 2 elseif ( Followers.StarPaladinCrossHired == 1 ) && (StarPaladinCrossREF.Waiting == 0) StarPaladinCrossREF.Moveto DLC03PresMetro03Follower01Marker set crossIsFollower to 1 set handleFollowers to 2 endif elseif (handleFollowers == 2) if ( Followers.CharonHired == 1 ) && (CharonREF.Waiting == 0) && (charonIsFollower == 0) CharonRef.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.ButchHired == 1 ) && (ButchREF.Waiting == 0) && (butchIsFollower == 0) ButchREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.CloverHired == 1 ) && (CloverREF.Waiting == 0) && (cloverIsFollower == 0) CloverREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.DogmeatHired == 1 ) && (DogmeatREF.Waiting == 0) && (dogmeatIsFollower == 0) DogmeatREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.JerichoHired == 1 ) && (JerichoREF.Waiting == 0) && (jerichoIsFollower == 0) JerichoREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.FawkesHired == 1 ) && (MQ08FawkesREF.Waiting == 0) && (fawkesIsFollower == 0) MQ08FawkesREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.RL3Hired == 1 ) && (RL3REF.Waiting == 0) && (rl3IsFollower == 0) RL3REF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 elseif ( Followers.StarPaladinCrossHired == 1 ) && (StarPaladinCrossREF.Waiting == 0) && (crossIsFollower == 0) StarPaladinCrossREF.Moveto DLC03PresMetro03Follower02Marker set handleFollowers to 3 endif endif
 * now handle any followers

End