Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. extends KinematicBody2D
  2.  
  3. var motion = Vector2()
  4. const UP = Vector2(0,-1)
  5.  
  6. const MAX_SPEED = 100
  7. const Accel = 50
  8. const GRAVITY = 200
  9. var friction = false
  10. var facing = 1
  11. # Different kinds of bullets
  12. const FIREBALL = preload("res://firePower.tscn")
  13. var bullet_speed = 100
  14. var velocity = Vector2()
  15. onready var Firemario = preload("res://Player/Firemario.tres")
  16. onready var Bigmario = preload("res://Player/Bigmario.tres")
  17. onready var Smallmario = preload("res://Player/Smallmario.tres")
  18. var is_damaged = false
  19. var enemy_scene = preload("res://Player/koopgreen.tscn")
  20. var mario_dead = preload("res://death/Deadmario.tscn")
  21. var power = 3
  22.  
  23. func _ready():
  24.  
  25.  
  26.  
  27.  
  28. $anisprite.set_sprite_frames(Smallmario)
  29.  
  30. health_state()
  31.  
  32.  
  33.  
  34.  
  35. func _physics_process(delta):
  36.  
  37.  
  38.  
  39.  
  40. motion.y += 10
  41.  
  42.  
  43.  
  44.  
  45. if Input.is_action_just_pressed("ui_shoot"):
  46. shoot()
  47.  
  48. if Input.is_action_pressed("ui_right"):
  49. motion.x = min(motion.x+Accel,MAX_SPEED)
  50. $anisprite.flip_h = false
  51. $anisprite.play("Walk")
  52. if sign($shooter.position.x) == -1:
  53. $shooter.position.x *=- 1
  54.  
  55. elif Input.is_action_pressed("ui_left"):
  56. motion.x = max(motion.x-Accel,-MAX_SPEED)
  57. $anisprite.flip_h = true
  58. $anisprite.play("Walk")
  59. if sign($shooter.position.x) == 1:
  60. $shooter.position.x *=- 1
  61.  
  62. else:
  63. $anisprite.play("idle")
  64. friction = true
  65.  
  66. if is_on_floor():
  67. #print("On the floor : ) " )
  68.  
  69. if Input.is_action_just_pressed("ui_up"):
  70. motion.y =- 430
  71. if friction == true:
  72. motion.x = lerp(motion.x,0, 0.2)
  73. else:
  74. $anisprite.play("Jump")
  75. if friction == true:
  76. motion.x = lerp(motion.x,0, 0.05)
  77.  
  78. motion = move_and_slide(motion, UP)
  79.  
  80. print(power)
  81.  
  82.  
  83.  
  84.  
  85. if $anisprite.flip_h == false:
  86. facing = 1
  87. elif$anisprite.flip_h == true:
  88. facing = -1
  89.  
  90. # print(facing)
  91.  
  92.  
  93. var collision_info = move_and_collide(velocity * delta)
  94. if collision_info and collision_info.collider.is_in_group("enemy"):
  95. is_hurt()
  96.  
  97.  
  98.  
  99.  
  100.  
  101. $Stomp.force_raycast_update()
  102. if $Stomp.is_colliding():
  103. var collider = $Stomp.get_collider()
  104. if collider.is_in_group("enemy"):
  105. motion.y =-100
  106.  
  107.  
  108.  
  109.  
  110.  
  111. pass
  112.  
  113.  
  114. func shoot():
  115. var bullet = FIREBALL.instance()
  116. #new_bullet.start($shooter.global_position, rotation)
  117. if facing == 1:
  118. bullet.bullet_speed = 100
  119. elif facing == -1:
  120. bullet.bullet_speed =-100
  121. get_parent().add_child(bullet)
  122. #gun_position_x = $shooter.position.x
  123. bullet.position = $shooter.global_position
  124.  
  125.  
  126. func is_hurt():
  127. if power == 1:
  128. var deadPlayer = mario_dead.instance()
  129. get_parent().add_child(deadPlayer)
  130. deadPlayer.global_position = $deathspawn.global_position
  131. if power == 2:
  132. power = 1
  133. health_state()
  134. if power == 3:
  135. power = 2
  136. health_state()
  137.  
  138.  
  139.  
  140. func health_state():
  141.  
  142. if power == 1:
  143. $anisprite.set_sprite_frames(Smallmario)
  144. $CollisionShape2D.shape.radius = 4
  145. elif power == 2:
  146. $anisprite.set_sprite_frames(Bigmario)
  147. $CollisionShape2D.shape.radius = 8
  148. elif power == 3:
  149. $anisprite.set_sprite_frames(Firemario)
  150. $CollisionShape2D.shape.radius = 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement