@@ -59,36 +59,44 @@ private static void KillScp035(bool setRank = true)
5959 RefreshItems ( ) ;
6060 }
6161
62- public static void InfectPlayer ( ReferenceHub player , Pickup pItem = null )
62+ public static void Spawn035 ( ReferenceHub p035 , ReferenceHub player = null , bool full = true )
6363 {
64- scpPlayer = null ;
65- List < ReferenceHub > pList = Player . GetHubs ( ) . Where ( x => x . characterClassManager . CurClass == RoleType . Spectator && ! x . serverRoles . OverwatchEnabled && x . characterClassManager . UserId != null && x . characterClassManager . UserId != string . Empty ) . ToList ( ) ;
66- if ( pList . Count > 0 )
64+ Log . Info ( p035 . nicknameSync . Network_myNickSync ) ;
65+ Log . Info ( p035 . characterClassManager . UserId ) ;
66+ Log . Info ( p035 . characterClassManager . CurClass . ToString ( ) ) ;
67+ if ( full )
6768 {
68- if ( pItem != null )
69+ if ( player != null )
6970 {
70- pItem . Delete ( ) ;
71- }
72-
73- ReferenceHub p035 = pList [ rand . Next ( pList . Count ) ] ;
74- Log . Info ( p035 . nicknameSync . Network_myNickSync ) ;
75- Log . Info ( p035 . characterClassManager . UserId ) ;
76- Log . Info ( p035 . characterClassManager . CurClass . ToString ( ) ) ;
77- Vector3 pos = player . transform . position ;
78- p035 . ChangeRole ( player . characterClassManager . CurClass ) ;
79- Timing . CallDelayed ( 0.2f , ( ) => p035 . plyMovementSync . OverridePosition ( pos , 0 ) ) ;
71+ Vector3 pos = player . transform . position ;
72+ p035 . ChangeRole ( player . characterClassManager . CurClass ) ;
73+ Timing . CallDelayed ( 0.2f , ( ) => p035 . plyMovementSync . OverridePosition ( pos , 0 ) ) ;
8074
81- foreach ( Inventory . SyncItemInfo item in player . inventory . items ) p035 . inventory . AddNewItem ( item . id ) ;
75+ foreach ( Inventory . SyncItemInfo item in player . inventory . items ) p035 . inventory . AddNewItem ( item . id ) ;
76+ }
8277 p035 . playerStats . health = Configs . health ;
8378 p035 . ammoBox . Networkamount = "250:250:250" ;
79+ }
80+
81+ hasTag = ! string . IsNullOrEmpty ( p035 . serverRoles . NetworkMyText ) ;
82+ isHidden = ! string . IsNullOrEmpty ( p035 . serverRoles . HiddenBadge ) ;
83+ if ( isHidden ) p035 . RefreshTag ( ) ;
84+ p035 . SetRank ( "SCP-035" , "red" ) ;
85+
86+ p035 . Broadcast ( $ "<size=60>You are <color=\" red\" ><b>SCP-035</b></color></size>{ ( full ? "\n You have infected a body and have gained control over it, use it to help the other SCPs!" : string . Empty ) } ", 10 ) ;
87+
88+ scpPlayer = p035 ;
89+ }
90+
91+ public static void InfectPlayer ( ReferenceHub player , Pickup pItem )
92+ {
93+ List < ReferenceHub > pList = Player . GetHubs ( ) . Where ( x => x . characterClassManager . CurClass == RoleType . Spectator && ! x . serverRoles . OverwatchEnabled && x . characterClassManager . UserId != null && x . characterClassManager . UserId != string . Empty ) . ToList ( ) ;
94+ if ( pList . Count > 0 && scpPlayer == null )
95+ {
96+ pItem . Delete ( ) ;
8497
85- hasTag = ! string . IsNullOrEmpty ( p035 . serverRoles . NetworkMyText ) ;
86- isHidden = ! string . IsNullOrEmpty ( p035 . serverRoles . HiddenBadge ) ;
87- if ( isHidden ) p035 . RefreshTag ( ) ;
88- p035 . SetRank ( "SCP-035" , "red" ) ;
98+ Spawn035 ( pList [ rand . Next ( pList . Count ) ] , player ) ;
8999
90- p035 . Broadcast ( "<size=60>You are <color=\" red\" ><b>SCP-035</b></color></size>\n You have infected a body and have gained control over it, use it to help the other SCPs!" , 10 ) ;
91- scpPlayer = p035 ;
92100 isRotating = false ;
93101
94102 player . ChangeRole ( RoleType . Spectator ) ;
0 commit comments