:raphael_second_date
  switch isPlayingDate ON

  displayItemId none
  start cutscene no villagers no creatures

  create villager Raphael 3,62,6
  speed Raphael 3
  speed Player 3
  move villager Player 14,62,6
  move villager Raphael 13,62,6

  include load_player_dating_animations

  wait 150
  fade out
  wait 10
  remove villager Raphael

  teleport to forest without saving 68,45,2
  wait 1
  start cutscene no villagers no creatures
  switch hidePlayer ON

  play child player_and_raphael_playing_soccer
  wait 5

  teleport to orange town without saving 68,61,4
  wait 1
  switch hidePlayer OFF
  start cutscene no villagers no creatures

  create villager Raphael 70,61,4
  offset Raphael Y -8
  speed Raphael 2.5
  speed Player 2.5
  move villager Player 64,61,8
  move villager Raphael 66,61,4

  wait for Raphael
  wait 30

  Raphael "Hey <name>, I forgot to tell you!"
  turn Player right

  Player "Tell me what?"
  Raphael "I sent a letter to Melissa telling her to go graze in another field."
  Player "<!>"
  Player "Melissa? Is that your ex girlfriend?"
  Raphael "Yes! And I even used those words."
  Player "So how was it? Did you get to say everything you feel?"
  Raphael "I did! I think she won't be bothering me anytime soon now."
  Raphael "But I still can't take some things off my head..."
  move villager Player 65,61,6
  wait for Player
  Player "Like what?"
  Raphael "She used to tell me all the time that nobody else would ever want to date me."
  Raphael "That's why I've been trying so hard to find another girlfriend."
  Raphael "I know she was just being mean, but deep down I'm always afraid that she was right."
  Player ("That's not true at all...", "I want to date you.", "You'll find someone.")

  if response == "You'll find someone."
    Raphael "You really think so?"
    Player "I know you will."
    Raphael "<heart>"
    Raphael "Thank you, <name>."
    fade out
    wait 10
  else
    include raphael_second_date_change_relationship
  end

  teleport to home without saving 15,10,8
  switch isPlayingDate OFF
  displayItemId undefined
  speed Player restore
  switch playedRaphaelSecondDate ON
  wait 1
  fade in


:player_and_raphael_playing_soccer
  label beginning
  js this.characterName = '$' + Managers.Player.generatePlayerSpriteName() + '_goalkeeping[4]';
  if !Managers.Images.loadCharacter(this.characterName).isReady()
    wait 12
    go to label beginning
  end

  js var shoe = $gameMap.createNormalEventAt('objects/$shoes', 0, 66, 45, Direction.DOWN, false, true);
  + shoe._lockPattern = true;
  + shoe._pattern = 0;

  js var shoe = $gameMap.createNormalEventAt('objects/$shoes', 0, 69, 45, Direction.DOWN, false, true);
  + shoe._lockPattern = true;
  + shoe._pattern = 1;

  js this.playerEvent = $gameMap.createNormalEventAt(this.characterName, 0, 68, 45, Direction.DOWN, false, true);
  + this.playerEvent._lockPattern = true;
  + this.playerEvent._pattern = 0;

  js this.raphaelEvent = $gameMap.createNormalEventAt('villagers/raphael', 6, 67, 48, Direction.DOWN, false, true);
  + this.raphaelEvent._lockPattern = true;
  + this.raphaelEvent._pattern = 0;
  + this.raphaelEvent.offsetX = 16;

  js this.ballEvent = $gameMap.createNormalEventAt('objects/$soccerball[4]', 0, 67, 47, Direction.DOWN, false, true);
  + this.ballEvent._lockPattern = true;
  + this.ballEvent._pattern = 0;
  + this.ballEvent._x += 0.75;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y += 0.25;
  + this.ballEvent._realY = this.ballEvent._y;

  fade in
  wait 8

  # player 2
  js this.playerEvent._pattern = 1;
  wait 8
  # player 3
  js this.playerEvent._pattern = 2;
  wait 8
  # player 4
  js this.playerEvent._pattern = 3;
  wait 8

  # player 2
  js this.playerEvent._pattern = 1;
  wait 8
  # player 3
  js this.playerEvent._pattern = 2;
  wait 8
  # player 4
  js this.playerEvent._pattern = 3;
  wait 8

  # player 2
  js this.playerEvent._pattern = 1;
  wait 8
  # player 3
  js this.playerEvent._pattern = 2;
  wait 8
  # player 4
  js this.playerEvent._pattern = 3;
  wait 8

  # player 2, raphael 2
  js this.raphaelEvent._pattern = 1;
  + this.playerEvent._pattern = 1;
  wait 8
  
  # player 3, raphael 3
  js this.raphaelEvent._pattern = 2;
  + this.playerEvent._pattern = 2;
  wait 8

  # player 4, raphael 4
  js this.raphaelEvent._pattern = 0; this.raphaelEvent._direction = Direction.LEFT;
  + this.playerEvent._pattern = 3;
  wait 8

  # player 5, raphael 5
  js this.raphaelEvent._pattern = 1;
  + this.playerEvent._pattern = 0; this.playerEvent._direction = Direction.LEFT;
  + this.ballEvent._pattern = 1;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 6
  js this.playerEvent._pattern = 1;
  + this.ballEvent._pattern = 2;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 7
  js this.playerEvent._pattern = 2;
  + this.ballEvent._pattern = 3;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 8, raphael 4
  js this.playerEvent._pattern = 3;
  + this.raphaelEvent._pattern = 0;
  + this.ballEvent._pattern = 0;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 9
  js this.playerEvent._pattern = 0; this.playerEvent._direction = Direction.RIGHT;
  + this.ballEvent._pattern = 1;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 10, raphael 1
  js this.playerEvent._pattern = 1;
  + this.raphaelEvent._direction = Direction.DOWN;
  + this.ballEvent._pattern = 2;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 11
  js this.playerEvent._pattern = 2;
  + this.ballEvent._pattern = 3;
  + this.ballEvent._x -= 0.25;
  + this.ballEvent._realX = this.ballEvent._x;
  + this.ballEvent._y -= 0.5;
  + this.ballEvent._realY = this.ballEvent._y;
  wait 5

  # player 12
  js this.playerEvent._pattern = 3;
  wait 5

  # player 13
  js this.playerEvent._pattern = 0; this.playerEvent._direction = Direction.UP;
  wait 8

  # player 14
  js this.playerEvent._pattern = 1;
  wait 120

  js delete this.playerEvent;
  + delete this.raphaelEvent;
  + delete this.ballEvent;

:raphael_second_date_change_relationship
  include load_player_dating_animations
  wait 10

  Raphael "You...<wait> You really want to?"
  Player "I do. I've been thinking of you all the time now."
  Raphael "That's so great! I've been liking you for a while now, but I was really afraid to say it."

  include kiss_raphael
  switch datingRaphael ON
  increase friendship Raphael x 500
  gain achievement FIRST_DATE
