public static void RefreshCharacterType(ICharacter character, IMap map, PacketHitList hitlist) { PacketHitList.MethodStart(ref hitlist); //types ExtraStatus status; character.CalculateOriginalType(); status = character.VolatileStatus.GetStatus("Type1"); if (status != null) { character.Type1 = (Enums.PokemonType)status.Counter; } status = character.VolatileStatus.GetStatus("Type2"); if (status != null) { character.Type2 = (Enums.PokemonType)status.Counter; } if (character.VolatileStatus.GetStatus("Roost") != null) { if (character.Type1 == Enums.PokemonType.Flying) character.Type1 = Enums.PokemonType.None; if (character.Type2 == Enums.PokemonType.Flying) character.Type2 = Enums.PokemonType.None; } PacketHitList.MethodEnded(ref hitlist); }