amongus card swipe.gd 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. extends Node2D
  2. # Card #
  3. @onready var card = $id
  4. var dragging = false
  5. var offset = Vector2(0, 0)
  6. func _on_drag_button_down():
  7. dragging = true
  8. offset = get_global_mouse_position() - card.global_position
  9. func _on_drag_button_up():
  10. dragging = false
  11. func _physics_process(_delta):
  12. if visible:
  13. Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
  14. if dragging:
  15. card.position = get_global_mouse_position() - offset
  16. card.move_and_slide()
  17. # Detector #
  18. @onready var message = $"card swipe/message"
  19. var success_var = false
  20. signal success
  21. var fail_messages = [
  22. "nope",
  23. "try again",
  24. "and again",
  25. "give up",
  26. "again!",
  27. "no lol",
  28. "you cant do it!",
  29. "give up already",
  30. "the cops are on yo ass",
  31. "wrong",
  32. "F"
  33. ]
  34. func _on_detector_body_entered(_body):
  35. var rng = RandomNumberGenerator.new()
  36. var num = rng.randf_range(1, 10)
  37. if num > 9.8 and not success_var:
  38. $"card swipe".visible = false
  39. $id.visible = false
  40. $Label.visible = true
  41. await get_tree().create_timer(2.0).timeout
  42. success.emit()
  43. message.text = "success"
  44. success_var = true
  45. elif not success_var:
  46. $AudioStreamPlayer.playing = false
  47. $AudioStreamPlayer.playing = true
  48. message.text = fail_messages[rng.randi_range(0, len(fail_messages) - 1)]