:benjamin_join_party
  js Managers.Villagers.moveVillagerToParty('Benjamin');

:benjamin_leave_party
  fade out
  wait 30
  js $gameParty.removeVillager('Benjamin');
  fade in
  wait 30

:benjamin_follower_event
  Benjamin ("What's wrong?", "I have to go", "Nevermind", "Nevermind")
  if response == "I have to go"
    Benjamin "Okay, see you later then!"
    include benjamin_leave_party
    return
  end

:benjamin_leave_party_to_sleep
  if !Managers.Villagers.isVillagerOnParty('Benjamin')
    return
  end
  
  Benjamin "I'm sorry <name>, but it's getting late. I need to go to bed. See you tomorrow."
  include benjamin_leave_party

:invite_benjamin_to_hang_out
  Player "Hello Benjamin, are you free to hang out right now?"

  if Managers.Villagers.isVillagerAvailableToHangOut('Benjamin')
    Benjamin "Sure! I really need a break from work."
    include benjamin_join_party
  else
    Benjamin "It's too late to hang out now, invite me again tomorrow."
  end

