Ejemplo n.º 1
0
 private static void FSPatch_InitiateGraphicsModule(On.Player.orig_InitiateGraphicsModule orig, Player self)
 {
     try
     {
         // First, try running it as normal
         orig(self);
     }
     catch
     {
         // If that fails, try running it with a modified character index
         int oldChar = self.playerState.slugcatCharacter;
         try
         {
             SlugBaseCharacter ply = PlayerManager.GetCustomPlayer(self.playerState.slugcatCharacter);
             if (ply != null)
             {
                 // For SlugBase characters, use the character that it copies from
                 self.playerState.slugcatCharacter = ply.useSpawns;
             }
             else
             {
                 // For other characters, use the player number
                 self.playerState.slugcatCharacter = self.playerState.playerNumber;
             }
             orig(self);
         }
         finally
         {
             self.playerState.slugcatCharacter = oldChar;
         }
     }
 }
Ejemplo n.º 2
0
 private static Color FSPatch_SlugcatColor(On.PlayerGraphics.orig_SlugcatColor orig, int i)
 {
     try { return(orig(i)); }
     catch
     {
         SlugBaseCharacter ply = PlayerManager.GetCustomPlayer(i) ?? PlayerManager.CurrentCharacter;
         if (ply != null)
         {
             try
             {
                 // Bypass SlugBase colors when using FancySlugcats
                 PlayerManager.useOriginalColor = true;
                 return(orig(ply.WorldCharacter));
             }
             catch { }
             PlayerManager.useOriginalColor = false;
         }
         return(Color.white);
     }
 }
Ejemplo n.º 3
0
 public SprinterSaveState(PlayerProgression progression, SlugBaseCharacter character) : base(progression, character)
 {
 }