private static void DoRecruit(NPC npc) { Monitor.Log($"Doing recruit"); if (!ModEntry.inCall) { Monitor.Log($"Not in call, exiting"); return; } if (ModEntry.npcAdventureModApi.RecruitCompanion(Game1.player, npc)) { if (ModEntry.npcAdventureModApi.IsRecruited(npc)) { Vector2 targetPos = PhoneUtils.GetOpenSurroundingPosition(); Monitor.Log($"Recruiting {npc.Name} to {targetPos} (player: {Game1.player.getTileLocation()})"); Game1.warpCharacter(npc, Game1.player.currentLocation, targetPos); npc.Sprite.StopAnimation(); EndCall(); } else { ShowMainCallDialogue(npc); } } else { Monitor.Log($"Error trying to recruit {npc.Name}", LogLevel.Error); ShowMainCallDialogue(npc); } }