Skip to content

Instantly share code, notes, and snippets.

@PodDmitry128
Created February 6, 2026 13:22
Show Gist options
  • Select an option

  • Save PodDmitry128/d30cf5a068cfcfeb1dc1a29a7652a1a1 to your computer and use it in GitHub Desktop.

Select an option

Save PodDmitry128/d30cf5a068cfcfeb1dc1a29a7652a1a1 to your computer and use it in GitHub Desktop.

Part 1. Editing balancing data(recommend coping all the stuff from merchant pig and then edit what u want there).
1.You need to create new birb in BirdBalancingData for me it is wizpig.
2.Create a new class(in ClassItemBalancing) and equipment(EquipmentBalancingData). Keep in mind that if u didn't create a class with skills for it, ally would be unplayble.
3.Create inventory for your ally in InventoryBalancingData(there must be headgear, offhand and mainhand otherwise the game will be softlocked after a battle).

Part2. Scripts editing
1.SocialService: Add new case in GetNPCBird(str163); make new GetPorkyBirdWithLevel(str 180) and GetPorkyFriend(str 102). Don't forget to change ids(nameid from birdbalancing, friendData.FirstName and friendData.Id).
2.FriendGameData: Add case to GetNPCFriendName(str249); add case to FriendGameData(str 185)
3.FriendInfoElement: Add case to GetNPCSprite(str 213). So, it's an icon for your bird you can add a new one by editing GenericElements.prefab.
4.FriendBirdWindowStateMgr: Add line to GetNPCFriends(str411).
5.SocialEnvironmentGameData(the most boring one)
-add line to instance.PublicPlayerInstances(str 178)
-add line to GetNPCFriends(str 249)
-add line to envData.PublicPlayerInstances(str 266)
-add line to envData.GetBirdCooldowns(str 274)
-add line to envData.AcceptedFriendIds(str 298)
-add line to socialEnvironmentData.PublicPlayerInstances(str 331)
-add line to socialEnvironmentData.GetBirdCooldowns(str 339)
-add line to socialEnvironmentData.AcceptedFriendIds(str 363)
-in "if (instance.AcceptedFriendIds != null)", in the first line add:
List FriendIds = new List()
{
"NPC_Porky",
"NPC_Adventurer",
"NPC_Wizpig", // id of your ally
"NPC_Low",
"NPC_High",
};
-in foreach (string acceptedFriendId in instance.AcceptedFriendIds) line, replace instance.AcceptedFriendIds with FriendIds

so.... That is not difficult at all but pretty boring. If u have question, ask me below or in modding chat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment