Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody2D
- var motion = Vector2()
- const UP = Vector2(0,-1)
- const MAX_SPEED = 100
- const Accel = 50
- const GRAVITY = 200
- var friction = false
- var facing = 1
- # Different kinds of bullets
- const FIREBALL = preload("res://firePower.tscn")
- var bullet_speed = 100
- var velocity = Vector2()
- onready var Firemario = preload("res://Player/Firemario.tres")
- onready var Bigmario = preload("res://Player/Bigmario.tres")
- onready var Smallmario = preload("res://Player/Smallmario.tres")
- var is_damaged = false
- var enemy_scene = preload("res://Player/koopgreen.tscn")
- var mario_dead = preload("res://death/Deadmario.tscn")
- var power = 3
- func _ready():
- $anisprite.set_sprite_frames(Smallmario)
- health_state()
- func _physics_process(delta):
- motion.y += 10
- if Input.is_action_just_pressed("ui_shoot"):
- shoot()
- if Input.is_action_pressed("ui_right"):
- motion.x = min(motion.x+Accel,MAX_SPEED)
- $anisprite.flip_h = false
- $anisprite.play("Walk")
- if sign($shooter.position.x) == -1:
- $shooter.position.x *=- 1
- elif Input.is_action_pressed("ui_left"):
- motion.x = max(motion.x-Accel,-MAX_SPEED)
- $anisprite.flip_h = true
- $anisprite.play("Walk")
- if sign($shooter.position.x) == 1:
- $shooter.position.x *=- 1
- else:
- $anisprite.play("idle")
- friction = true
- if is_on_floor():
- #print("On the floor : ) " )
- if Input.is_action_just_pressed("ui_up"):
- motion.y =- 430
- if friction == true:
- motion.x = lerp(motion.x,0, 0.2)
- else:
- $anisprite.play("Jump")
- if friction == true:
- motion.x = lerp(motion.x,0, 0.05)
- motion = move_and_slide(motion, UP)
- print(power)
- if $anisprite.flip_h == false:
- facing = 1
- elif$anisprite.flip_h == true:
- facing = -1
- # print(facing)
- var collision_info = move_and_collide(velocity * delta)
- if collision_info and collision_info.collider.is_in_group("enemy"):
- is_hurt()
- $Stomp.force_raycast_update()
- if $Stomp.is_colliding():
- var collider = $Stomp.get_collider()
- if collider.is_in_group("enemy"):
- motion.y =-100
- pass
- func shoot():
- var bullet = FIREBALL.instance()
- #new_bullet.start($shooter.global_position, rotation)
- if facing == 1:
- bullet.bullet_speed = 100
- elif facing == -1:
- bullet.bullet_speed =-100
- get_parent().add_child(bullet)
- #gun_position_x = $shooter.position.x
- bullet.position = $shooter.global_position
- func is_hurt():
- if power == 1:
- var deadPlayer = mario_dead.instance()
- get_parent().add_child(deadPlayer)
- deadPlayer.global_position = $deathspawn.global_position
- if power == 2:
- power = 1
- health_state()
- if power == 3:
- power = 2
- health_state()
- func health_state():
- if power == 1:
- $anisprite.set_sprite_frames(Smallmario)
- $CollisionShape2D.shape.radius = 4
- elif power == 2:
- $anisprite.set_sprite_frames(Bigmario)
- $CollisionShape2D.shape.radius = 8
- elif power == 3:
- $anisprite.set_sprite_frames(Firemario)
- $CollisionShape2D.shape.radius = 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement