Initial stage of Dawnbringer_Project
This commit is contained in:
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
source_md5="d029fd9d2605b60714f6a5177b0c4e34"
|
||||
dest_md5="d25dfc26c75abb61aaac2c7dfcf694bd"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="85c9b940ef6c220d1aa4fc2e387cbd81"
|
||||
dest_md5="75eee8eeff8fcbe9a7ece88bd78e7de3"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="9c66cda9e768ed3f51df3cf13f32f9aa"
|
||||
dest_md5="95e484abf727618976c8dfbd276f88b3"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="0a7459970a5a0798c5f7a969784a17ad"
|
||||
dest_md5="9e3964a76d12677d34ebe31438a4ea28"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="0a7459970a5a0798c5f7a969784a17ad"
|
||||
dest_md5="9e3964a76d12677d34ebe31438a4ea28"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="0a7459970a5a0798c5f7a969784a17ad"
|
||||
dest_md5="9e3964a76d12677d34ebe31438a4ea28"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="0a7459970a5a0798c5f7a969784a17ad"
|
||||
dest_md5="9e3964a76d12677d34ebe31438a4ea28"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
||||
dest_md5="26ea799ea0a3da9e753b3ebe822e0570"
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
tool
|
||||
extends Node
|
||||
|
||||
class_name character
|
||||
|
||||
onready var stats = $Stats
|
||||
|
||||
export var base_character : Resource
|
||||
|
||||
func _ready():
|
||||
stats.initialize(base_character);
|
||||
@@ -0,0 +1,17 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Actor/Character.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Assets/Actor/Stats.gd" type="Script" id=2]
|
||||
[ext_resource path="res://Assets/Class/Mage.tres" type="Resource" id=3]
|
||||
|
||||
[node name="Character" type="Node"]
|
||||
script = ExtResource( 1 )
|
||||
base_character = ExtResource( 3 )
|
||||
|
||||
[node name="Stats" type="Node" parent="."]
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Regen" type="Timer" parent="."]
|
||||
autostart = true
|
||||
|
||||
[connection signal="timeout" from="Regen" to="Stats" method="_on_Regen_timeout"]
|
||||
@@ -0,0 +1,31 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
onready var weapon = $Weapon
|
||||
onready var player_sprite = $PlayerSprite
|
||||
onready var walk_direction = $WalkDirection
|
||||
|
||||
var velocity_multiplier := 1.0
|
||||
|
||||
func _ready():
|
||||
GlobalSignals.connect("velocity_change", self, "get_velocity_multiplier")
|
||||
|
||||
func _physics_process(delta):
|
||||
var movement_direction := Vector2(
|
||||
Input.get_action_raw_strength("right") - Input.get_action_raw_strength("left"),
|
||||
Input.get_action_raw_strength("down") - Input.get_action_raw_strength("up")).normalized()
|
||||
if movement_direction.length() == 0:
|
||||
player_sprite.play("iddle")
|
||||
else:
|
||||
player_sprite.play("run")
|
||||
if movement_direction.x < 0:
|
||||
player_sprite.flip_h = true
|
||||
else:
|
||||
player_sprite.flip_h = false
|
||||
if Input.is_action_pressed("shoot"):
|
||||
weapon.shoot()
|
||||
move_and_slide(movement_direction * 32 * velocity_multiplier)
|
||||
walk_direction.look_at(movement_direction + global_position)
|
||||
|
||||
func get_velocity_multiplier(multiplier:float):
|
||||
velocity_multiplier = multiplier
|
||||
print(multiplier)
|
||||
@@ -0,0 +1,86 @@
|
||||
[gd_scene load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Actor/Player.gd" type="Script" id=1]
|
||||
[ext_resource path="res://Assets/Actor/Character.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://Assets/Sprites/Mago2 andando.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Assets/Actor/Weapon.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Assets/Sprites/Mago2iddle.png" type="Texture" id=6]
|
||||
|
||||
[sub_resource type="AtlasTexture" id=2]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 0, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=3]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 320, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=4]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 640, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=5]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 960, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=6]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 1280, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=7]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 1600, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=8]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 1920, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=9]
|
||||
flags = 4
|
||||
atlas = ExtResource( 3 )
|
||||
region = Rect2( 2240, 0, 320, 320 )
|
||||
|
||||
[sub_resource type="SpriteFrames" id=10]
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 6 ) ],
|
||||
"loop": true,
|
||||
"name": "iddle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ],
|
||||
"loop": true,
|
||||
"name": "run",
|
||||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
|
||||
[node name="Player" type="KinematicBody2D"]
|
||||
position = Vector2( 362, 174 )
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="PlayerSprite" type="AnimatedSprite" parent="."]
|
||||
scale = Vector2( 0.4, 0.4 )
|
||||
frames = SubResource( 10 )
|
||||
animation = "iddle"
|
||||
speed_scale = 2.0
|
||||
playing = true
|
||||
|
||||
[node name="WalkDirection" type="Sprite" parent="."]
|
||||
scale = Vector2( 0.5, 0.5 )
|
||||
texture = ExtResource( 5 )
|
||||
offset = Vector2( 90, 0 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Character" parent="." instance=ExtResource( 2 )]
|
||||
|
||||
[node name="Weapon" parent="." instance=ExtResource( 4 )]
|
||||
@@ -0,0 +1,177 @@
|
||||
extends Node
|
||||
|
||||
class_name CharacterStats
|
||||
|
||||
var current_level:int
|
||||
var current_health:float
|
||||
var current_mana:float
|
||||
var max_health:int setget set_max_health
|
||||
var max_mana:int setget set_max_mana
|
||||
var attack:int
|
||||
var defense:int
|
||||
var dexterity:int
|
||||
var speed:int
|
||||
var vitality:int
|
||||
var wisdown:int
|
||||
|
||||
var health_min_scale:int
|
||||
var mana_min_scale:int
|
||||
var attack_min_scale:int
|
||||
var defense_min_scale:int
|
||||
var dexterity_min_scale:int
|
||||
var speed_min_scale:int
|
||||
var vitality_min_scale:int
|
||||
var wisdown_min_scale:int
|
||||
|
||||
var health_max_scale:int
|
||||
var mana_max_scale:int
|
||||
var attack_max_scale:int
|
||||
var defense_max_scale:int
|
||||
var dexterity_max_scale:int
|
||||
var speed_max_scale:int
|
||||
var vitality_max_scale:int
|
||||
var wisdown_max_scale:int
|
||||
|
||||
var health_bonus_scale:int
|
||||
var mana_bonus_scale:int
|
||||
var attack_bonus_scale:int
|
||||
var defense_bonus_scale:int
|
||||
var dexterity_bonus_scale:int
|
||||
var speed_bonus_scale:int
|
||||
var vitality_bonus_scale:int
|
||||
var wisdown_bonus_scale:int
|
||||
|
||||
var current_xp:int
|
||||
var next_level_xp:int
|
||||
var xp_scale:int = 100
|
||||
|
||||
var regen_health:float
|
||||
var regen_mana:float
|
||||
var attack_multiplier:float
|
||||
var attack_speed:float
|
||||
var velocity:float
|
||||
|
||||
func initialize(stats: CharacterBaseStats):
|
||||
max_health = stats.health
|
||||
max_mana = stats.mana
|
||||
attack = stats.attack
|
||||
defense = stats.defense
|
||||
dexterity = stats.dexterity
|
||||
speed = stats.speed
|
||||
vitality = stats.vitality
|
||||
wisdown = stats.wisdown
|
||||
health_min_scale = stats.health_min_scale
|
||||
mana_min_scale = stats.mana_min_scale
|
||||
attack_min_scale = stats.attack_min_scale
|
||||
defense_min_scale = stats.defense_min_scale
|
||||
dexterity_min_scale = stats.dexterity_min_scale
|
||||
speed_min_scale = stats.speed_min_scale
|
||||
vitality_min_scale = stats.vitality_min_scale
|
||||
wisdown_min_scale = stats.wisdown_min_scale
|
||||
health_max_scale = stats.health_max_scale
|
||||
mana_max_scale = stats.mana_max_scale
|
||||
attack_max_scale = stats.attack_max_scale
|
||||
defense_max_scale = stats.defense_max_scale
|
||||
dexterity_max_scale = stats.dexterity_max_scale
|
||||
speed_max_scale = stats.speed_max_scale
|
||||
vitality_max_scale = stats.vitality_max_scale
|
||||
wisdown_max_scale = stats.wisdown_max_scale
|
||||
health_bonus_scale = stats.health_bonus_scale
|
||||
mana_bonus_scale = stats.mana_bonus_scale
|
||||
attack_bonus_scale = stats.attack_bonus_scale
|
||||
defense_bonus_scale = stats.defense_bonus_scale
|
||||
dexterity_bonus_scale = stats.dexterity_bonus_scale
|
||||
speed_bonus_scale = stats.speed_bonus_scale
|
||||
vitality_bonus_scale = stats.vitality_bonus_scale
|
||||
wisdown_bonus_scale = stats.wisdown_bonus_scale
|
||||
yield(get_tree().create_timer(0.1), "timeout")
|
||||
stats_change()
|
||||
|
||||
func gain_experience(amount: int):
|
||||
current_xp = amount
|
||||
while current_xp >= next_level_xp:
|
||||
current_xp -= next_level_xp
|
||||
level_up()
|
||||
|
||||
func level_up():
|
||||
if (current_level % 5) == 0:
|
||||
max_health += health_bonus_scale
|
||||
max_mana += mana_bonus_scale
|
||||
attack += attack_bonus_scale
|
||||
defense += defense_bonus_scale
|
||||
dexterity += dexterity_bonus_scale
|
||||
speed += speed_bonus_scale
|
||||
vitality += vitality_bonus_scale
|
||||
wisdown += wisdown_bonus_scale
|
||||
else:
|
||||
max_health += int(rand_range(float(health_min_scale), float(health_max_scale)))
|
||||
max_mana += int(rand_range(float(mana_min_scale), float(mana_max_scale)))
|
||||
attack += int(rand_range(float(attack_min_scale), float(attack_max_scale)))
|
||||
defense += int(rand_range(float(defense_min_scale), float(defense_max_scale)))
|
||||
dexterity += int(rand_range(float(dexterity_min_scale), float(dexterity_max_scale)))
|
||||
speed += int(rand_range(float(speed_min_scale), float(speed_max_scale)))
|
||||
vitality += int(rand_range(float(vitality_min_scale), float(vitality_max_scale)))
|
||||
wisdown += int(rand_range(float(wisdown_min_scale), float(wisdown_max_scale)))
|
||||
stats_change()
|
||||
|
||||
func stats_change():
|
||||
if current_level >= 20:
|
||||
return
|
||||
current_level += 1
|
||||
next_level_xp += xp_scale
|
||||
current_health = max_health
|
||||
current_mana = max_mana
|
||||
regen_health = 0.2 + 10 * (float(vitality) / 50)
|
||||
regen_mana = 0.2 + 5 * (float(wisdown) / 50)
|
||||
attack_multiplier = 0.75 + 1.5 *(float(attack) / 70)
|
||||
attack_speed = 1/(1 + 5 * (float(dexterity) / 70))
|
||||
velocity = 2 + 10 * (float(speed) / 50)
|
||||
GlobalSignals.emit_signal("health_changed", current_health)
|
||||
GlobalSignals.emit_signal("mana_changed", current_mana)
|
||||
GlobalSignals.emit_signal("attack_change", attack_multiplier)
|
||||
GlobalSignals.emit_signal("dexterity_change", attack_speed)
|
||||
GlobalSignals.emit_signal("velocity_change", velocity)
|
||||
|
||||
func take_damage(amount: float):
|
||||
var damage
|
||||
var percent_damage := amount * 0.1
|
||||
if (amount - defense) >= percent_damage:
|
||||
damage = amount - defense
|
||||
current_health -= damage
|
||||
else:
|
||||
damage = percent_damage
|
||||
current_health -= damage
|
||||
current_health = clamp(current_health, 0, max_health)
|
||||
GlobalSignals.emit_signal("health_changed", current_health)
|
||||
GlobalSignals.emit_signal("damage_receive", damage)
|
||||
if current_health == 0:
|
||||
GlobalSignals.emit_signal("on_death")
|
||||
|
||||
func heal(amount: float):
|
||||
current_health += amount
|
||||
current_health = clamp(current_health, 0, max_health)
|
||||
GlobalSignals.emit_signal("health_changed", current_health)
|
||||
GlobalSignals.emit_signal("health_recover", amount)
|
||||
|
||||
func mana_heal(amount: float):
|
||||
current_mana += amount
|
||||
current_mana = clamp(current_mana, 0, max_mana)
|
||||
GlobalSignals.emit_signal("health_changed", current_mana)
|
||||
GlobalSignals.emit_signal("mana_recover", amount)
|
||||
|
||||
func regen():
|
||||
current_health += regen_health
|
||||
current_mana += regen_mana
|
||||
current_health = clamp(current_health, 0, max_health)
|
||||
current_mana = clamp(current_mana, 0, max_mana)
|
||||
GlobalSignals.emit_signal("health_changed", current_health)
|
||||
GlobalSignals.emit_signal("mana_changed", current_mana)
|
||||
|
||||
func set_max_health(value: int):
|
||||
max_health = max(0, value)
|
||||
|
||||
func set_max_mana(value: int):
|
||||
max_mana = max(0, value)
|
||||
|
||||
func _on_Regen_timeout():
|
||||
regen()
|
||||
@@ -0,0 +1,27 @@
|
||||
extends Node2D
|
||||
|
||||
class_name Weapon
|
||||
|
||||
export (PackedScene) var Bullet
|
||||
|
||||
onready var fire_point = $FirePoint
|
||||
onready var fire_direction = $FireDirection
|
||||
onready var attack_cooldown = $AttackCooldown
|
||||
|
||||
func _ready():
|
||||
GlobalSignals.connect("dexterity_change", self, "get_attack_cooldown")
|
||||
|
||||
func _process(delta):
|
||||
look_at(get_global_mouse_position())
|
||||
|
||||
func shoot():
|
||||
if !attack_cooldown.is_stopped() or Bullet == null:
|
||||
return
|
||||
var bullet_instance = Bullet.instance()
|
||||
var direction = (fire_direction.global_position - fire_point.global_position).normalized()
|
||||
GlobalSignals.emit_signal("bullet_fired", bullet_instance, fire_point.global_position, direction)
|
||||
attack_cooldown.start()
|
||||
|
||||
func get_attack_cooldown(time:float):
|
||||
attack_cooldown.wait_time = time
|
||||
print(time)
|
||||
@@ -0,0 +1,22 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Sprites/Varinha Velha.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Assets/Actor/Weapon.gd" type="Script" id=2]
|
||||
|
||||
[node name="Weapon" type="Node2D"]
|
||||
scale = Vector2( 0.4, 0.4 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 135, 0 )
|
||||
rotation = 0.785398
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="FirePoint" type="Position2D" parent="."]
|
||||
position = Vector2( 240, -7.5 )
|
||||
|
||||
[node name="FireDirection" type="Position2D" parent="."]
|
||||
position = Vector2( 250, -7.5 )
|
||||
|
||||
[node name="AttackCooldown" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
@@ -0,0 +1,50 @@
|
||||
extends Resource
|
||||
|
||||
class_name CharacterBaseStats
|
||||
|
||||
export var class_type := ""
|
||||
|
||||
export var health:int
|
||||
export var mana:int
|
||||
export var attack:int
|
||||
export var defense:int
|
||||
export var dexterity:int
|
||||
export var speed:int
|
||||
export var vitality:int
|
||||
export var wisdown:int
|
||||
|
||||
export var max_health:int
|
||||
export var max_mana:int
|
||||
export var max_attack:int
|
||||
export var max_defense:int
|
||||
export var max_dexterity:int
|
||||
export var max_speed:int
|
||||
export var max_vitality:int
|
||||
export var max_wisdown:int
|
||||
|
||||
export var health_min_scale:int
|
||||
export var mana_min_scale:int
|
||||
export var attack_min_scale:int
|
||||
export var defense_min_scale:int
|
||||
export var dexterity_min_scale:int
|
||||
export var speed_min_scale:int
|
||||
export var vitality_min_scale:int
|
||||
export var wisdown_min_scale:int
|
||||
|
||||
export var health_max_scale:int
|
||||
export var mana_max_scale:int
|
||||
export var attack_max_scale:int
|
||||
export var defense_max_scale:int
|
||||
export var dexterity_max_scale:int
|
||||
export var speed_max_scale:int
|
||||
export var vitality_max_scale:int
|
||||
export var wisdown_max_scale:int
|
||||
|
||||
export var health_bonus_scale:int
|
||||
export var mana_bonus_scale:int
|
||||
export var attack_bonus_scale:int
|
||||
export var defense_bonus_scale:int
|
||||
export var dexterity_bonus_scale:int
|
||||
export var speed_bonus_scale:int
|
||||
export var vitality_bonus_scale:int
|
||||
export var wisdown_bonus_scale:int
|
||||
@@ -0,0 +1,47 @@
|
||||
[gd_resource type="Resource" load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Class/CharacteBaseStats.gd" type="Script" id=1]
|
||||
|
||||
[resource]
|
||||
script = ExtResource( 1 )
|
||||
class_type = "Mage"
|
||||
health = 200
|
||||
mana = 250
|
||||
attack = 15
|
||||
defense = 0
|
||||
dexterity = 15
|
||||
speed = 15
|
||||
vitality = 5
|
||||
wisdown = 20
|
||||
max_health = 625
|
||||
max_mana = 600
|
||||
max_attack = 65
|
||||
max_defense = 20
|
||||
max_dexterity = 65
|
||||
max_speed = 55
|
||||
max_vitality = 40
|
||||
max_wisdown = 75
|
||||
health_min_scale = 14
|
||||
mana_min_scale = 8
|
||||
attack_min_scale = 1
|
||||
defense_min_scale = 0
|
||||
dexterity_min_scale = 1
|
||||
speed_min_scale = 0
|
||||
vitality_min_scale = 1
|
||||
wisdown_min_scale = 1
|
||||
health_max_scale = 16
|
||||
mana_max_scale = 12
|
||||
attack_max_scale = 2
|
||||
defense_max_scale = 0
|
||||
dexterity_max_scale = 2
|
||||
speed_max_scale = 1
|
||||
vitality_max_scale = 1
|
||||
wisdown_max_scale = 2
|
||||
health_bonus_scale = 18
|
||||
mana_bonus_scale = 25
|
||||
attack_bonus_scale = 3
|
||||
defense_bonus_scale = 0
|
||||
dexterity_bonus_scale = 3
|
||||
speed_bonus_scale = 3
|
||||
vitality_bonus_scale = 2
|
||||
wisdown_bonus_scale = 3
|
||||
@@ -0,0 +1,47 @@
|
||||
[gd_resource type="Resource" load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Assets/Class/CharacteBaseStats.gd" type="Script" id=1]
|
||||
|
||||
[resource]
|
||||
script = ExtResource( 1 )
|
||||
class_type = ""
|
||||
health = 0
|
||||
mana = 0
|
||||
attack = 0
|
||||
defense = 0
|
||||
dexterity = 0
|
||||
speed = 0
|
||||
vitality = 0
|
||||
wisdown = 0
|
||||
max_health = 0
|
||||
max_mana = 0
|
||||
max_attack = 0
|
||||
max_defense = 0
|
||||
max_dexterity = 0
|
||||
max_speed = 0
|
||||
max_vitality = 0
|
||||
max_wisdown = 0
|
||||
health_min_scale = 0
|
||||
mana_min_scale = 0
|
||||
attack_min_scale = 0
|
||||
defense_min_scale = 0
|
||||
dexterity_min_scale = 0
|
||||
speed_min_scale = 0
|
||||
vitality_min_scale = 0
|
||||
wisdown_min_scale = 0
|
||||
health_max_scale = 0
|
||||
mana_max_scale = 0
|
||||
attack_max_scale = 0
|
||||
defense_max_scale = 0
|
||||
dexterity_max_scale = 0
|
||||
speed_max_scale = 0
|
||||
vitality_max_scale = 0
|
||||
wisdown_max_scale = 0
|
||||
health_bonus_scale = 0
|
||||
mana_bonus_scale = 0
|
||||
attack_bonus_scale = 0
|
||||
defense_bonus_scale = 0
|
||||
dexterity_bonus_scale = 0
|
||||
speed_bonus_scale = 0
|
||||
vitality_bonus_scale = 0
|
||||
wisdown_bonus_scale = 0
|
||||
@@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
signal bullet_fired()
|
||||
signal health_changed(new_health)
|
||||
signal mana_changed(new_mana)
|
||||
signal damage_receive(new_damage)
|
||||
signal health_recover(new_health_value)
|
||||
signal mana_recover(new_mana_value)
|
||||
signal attack_change(new_attack)
|
||||
signal dexterity_change(new_dexterity)
|
||||
signal velocity_change(new_velocity)
|
||||
signal on_death()
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Mago2 andando.png-e184d42bf0c229abc16ee645997b3b45.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Mago2 andando.png"
|
||||
dest_files=[ "res://.import/Mago2 andando.png-e184d42bf0c229abc16ee645997b3b45.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 641 B |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Mago2.png-580afc38ef48b4a8981d4ee9071b9422.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Mago2.png"
|
||||
dest_files=[ "res://.import/Mago2.png-580afc38ef48b4a8981d4ee9071b9422.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Mago2iddle.png-485e80cc6ca2d1075cb9bd7c63dccae5.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Mago2iddle.png"
|
||||
dest_files=[ "res://.import/Mago2iddle.png-485e80cc6ca2d1075cb9bd7c63dccae5.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 929 B |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Varinha Velha.png-65312544ce66a98e172c08699a5753cf.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/Varinha Velha.png"
|
||||
dest_files=[ "res://.import/Varinha Velha.png-65312544ce66a98e172c08699a5753cf.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
@@ -0,0 +1,7 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
@@ -0,0 +1,248 @@
|
||||
[preset.0]
|
||||
|
||||
name="Android"
|
||||
platform="Android"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
custom_build/use_custom_build=false
|
||||
custom_build/export_format=0
|
||||
custom_build/min_sdk=""
|
||||
custom_build/target_sdk=""
|
||||
architectures/armeabi-v7a=true
|
||||
architectures/arm64-v8a=true
|
||||
architectures/x86=false
|
||||
architectures/x86_64=false
|
||||
keystore/debug=""
|
||||
keystore/debug_user=""
|
||||
keystore/debug_password=""
|
||||
keystore/release=""
|
||||
keystore/release_user=""
|
||||
keystore/release_password=""
|
||||
one_click_deploy/clear_previous_install=false
|
||||
version/code=1
|
||||
version/name="1.0"
|
||||
package/unique_name="org.godotengine.$genname"
|
||||
package/name=""
|
||||
package/signed=true
|
||||
package/classify_as_game=true
|
||||
package/retain_data_on_uninstall=false
|
||||
package/exclude_from_recents=false
|
||||
launcher_icons/main_192x192=""
|
||||
launcher_icons/adaptive_foreground_432x432=""
|
||||
launcher_icons/adaptive_background_432x432=""
|
||||
graphics/opengl_debug=false
|
||||
xr_features/xr_mode=0
|
||||
xr_features/hand_tracking=0
|
||||
xr_features/hand_tracking_frequency=0
|
||||
xr_features/passthrough=0
|
||||
screen/immersive_mode=true
|
||||
screen/support_small=true
|
||||
screen/support_normal=true
|
||||
screen/support_large=true
|
||||
screen/support_xlarge=true
|
||||
user_data_backup/allow=false
|
||||
command_line/extra_args=""
|
||||
apk_expansion/enable=false
|
||||
apk_expansion/SALT=""
|
||||
apk_expansion/public_key=""
|
||||
permissions/custom_permissions=PoolStringArray( )
|
||||
permissions/access_checkin_properties=false
|
||||
permissions/access_coarse_location=false
|
||||
permissions/access_fine_location=false
|
||||
permissions/access_location_extra_commands=false
|
||||
permissions/access_mock_location=false
|
||||
permissions/access_network_state=false
|
||||
permissions/access_surface_flinger=false
|
||||
permissions/access_wifi_state=false
|
||||
permissions/account_manager=false
|
||||
permissions/add_voicemail=false
|
||||
permissions/authenticate_accounts=false
|
||||
permissions/battery_stats=false
|
||||
permissions/bind_accessibility_service=false
|
||||
permissions/bind_appwidget=false
|
||||
permissions/bind_device_admin=false
|
||||
permissions/bind_input_method=false
|
||||
permissions/bind_nfc_service=false
|
||||
permissions/bind_notification_listener_service=false
|
||||
permissions/bind_print_service=false
|
||||
permissions/bind_remoteviews=false
|
||||
permissions/bind_text_service=false
|
||||
permissions/bind_vpn_service=false
|
||||
permissions/bind_wallpaper=false
|
||||
permissions/bluetooth=false
|
||||
permissions/bluetooth_admin=false
|
||||
permissions/bluetooth_privileged=false
|
||||
permissions/brick=false
|
||||
permissions/broadcast_package_removed=false
|
||||
permissions/broadcast_sms=false
|
||||
permissions/broadcast_sticky=false
|
||||
permissions/broadcast_wap_push=false
|
||||
permissions/call_phone=false
|
||||
permissions/call_privileged=false
|
||||
permissions/camera=false
|
||||
permissions/capture_audio_output=false
|
||||
permissions/capture_secure_video_output=false
|
||||
permissions/capture_video_output=false
|
||||
permissions/change_component_enabled_state=false
|
||||
permissions/change_configuration=false
|
||||
permissions/change_network_state=false
|
||||
permissions/change_wifi_multicast_state=false
|
||||
permissions/change_wifi_state=false
|
||||
permissions/clear_app_cache=false
|
||||
permissions/clear_app_user_data=false
|
||||
permissions/control_location_updates=false
|
||||
permissions/delete_cache_files=false
|
||||
permissions/delete_packages=false
|
||||
permissions/device_power=false
|
||||
permissions/diagnostic=false
|
||||
permissions/disable_keyguard=false
|
||||
permissions/dump=false
|
||||
permissions/expand_status_bar=false
|
||||
permissions/factory_test=false
|
||||
permissions/flashlight=false
|
||||
permissions/force_back=false
|
||||
permissions/get_accounts=false
|
||||
permissions/get_package_size=false
|
||||
permissions/get_tasks=false
|
||||
permissions/get_top_activity_info=false
|
||||
permissions/global_search=false
|
||||
permissions/hardware_test=false
|
||||
permissions/inject_events=false
|
||||
permissions/install_location_provider=false
|
||||
permissions/install_packages=false
|
||||
permissions/install_shortcut=false
|
||||
permissions/internal_system_window=false
|
||||
permissions/internet=false
|
||||
permissions/kill_background_processes=false
|
||||
permissions/location_hardware=false
|
||||
permissions/manage_accounts=false
|
||||
permissions/manage_app_tokens=false
|
||||
permissions/manage_documents=false
|
||||
permissions/manage_external_storage=false
|
||||
permissions/master_clear=false
|
||||
permissions/media_content_control=false
|
||||
permissions/modify_audio_settings=false
|
||||
permissions/modify_phone_state=false
|
||||
permissions/mount_format_filesystems=false
|
||||
permissions/mount_unmount_filesystems=false
|
||||
permissions/nfc=false
|
||||
permissions/persistent_activity=false
|
||||
permissions/process_outgoing_calls=false
|
||||
permissions/read_calendar=false
|
||||
permissions/read_call_log=false
|
||||
permissions/read_contacts=false
|
||||
permissions/read_external_storage=false
|
||||
permissions/read_frame_buffer=false
|
||||
permissions/read_history_bookmarks=false
|
||||
permissions/read_input_state=false
|
||||
permissions/read_logs=false
|
||||
permissions/read_phone_state=false
|
||||
permissions/read_profile=false
|
||||
permissions/read_sms=false
|
||||
permissions/read_social_stream=false
|
||||
permissions/read_sync_settings=false
|
||||
permissions/read_sync_stats=false
|
||||
permissions/read_user_dictionary=false
|
||||
permissions/reboot=false
|
||||
permissions/receive_boot_completed=false
|
||||
permissions/receive_mms=false
|
||||
permissions/receive_sms=false
|
||||
permissions/receive_wap_push=false
|
||||
permissions/record_audio=false
|
||||
permissions/reorder_tasks=false
|
||||
permissions/restart_packages=false
|
||||
permissions/send_respond_via_message=false
|
||||
permissions/send_sms=false
|
||||
permissions/set_activity_watcher=false
|
||||
permissions/set_alarm=false
|
||||
permissions/set_always_finish=false
|
||||
permissions/set_animation_scale=false
|
||||
permissions/set_debug_app=false
|
||||
permissions/set_orientation=false
|
||||
permissions/set_pointer_speed=false
|
||||
permissions/set_preferred_applications=false
|
||||
permissions/set_process_limit=false
|
||||
permissions/set_time=false
|
||||
permissions/set_time_zone=false
|
||||
permissions/set_wallpaper=false
|
||||
permissions/set_wallpaper_hints=false
|
||||
permissions/signal_persistent_processes=false
|
||||
permissions/status_bar=false
|
||||
permissions/subscribed_feeds_read=false
|
||||
permissions/subscribed_feeds_write=false
|
||||
permissions/system_alert_window=false
|
||||
permissions/transmit_ir=false
|
||||
permissions/uninstall_shortcut=false
|
||||
permissions/update_device_stats=false
|
||||
permissions/use_credentials=false
|
||||
permissions/use_sip=false
|
||||
permissions/vibrate=false
|
||||
permissions/wake_lock=false
|
||||
permissions/write_apn_settings=false
|
||||
permissions/write_calendar=false
|
||||
permissions/write_call_log=false
|
||||
permissions/write_contacts=false
|
||||
permissions/write_external_storage=false
|
||||
permissions/write_gservices=false
|
||||
permissions/write_history_bookmarks=false
|
||||
permissions/write_profile=false
|
||||
permissions/write_secure_settings=false
|
||||
permissions/write_settings=false
|
||||
permissions/write_sms=false
|
||||
permissions/write_social_stream=false
|
||||
permissions/write_sync_settings=false
|
||||
permissions/write_user_dictionary=false
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Windows Desktop"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
binary_format/64_bits=true
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=false
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
||||
codesign/enable=false
|
||||
codesign/identity_type=0
|
||||
codesign/identity=""
|
||||
codesign/password=""
|
||||
codesign/timestamp=true
|
||||
codesign/timestamp_server_url=""
|
||||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PoolStringArray( )
|
||||
application/modify_resources=true
|
||||
application/icon=""
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
@@ -0,0 +1,86 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=4
|
||||
|
||||
_global_script_classes=[ {
|
||||
"base": "Resource",
|
||||
"class": "CharacterBaseStats",
|
||||
"language": "GDScript",
|
||||
"path": "res://Assets/Class/CharacteBaseStats.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "CharacterStats",
|
||||
"language": "GDScript",
|
||||
"path": "res://Assets/Actor/Stats.gd"
|
||||
}, {
|
||||
"base": "Node2D",
|
||||
"class": "Weapon",
|
||||
"language": "GDScript",
|
||||
"path": "res://Assets/Actor/Weapon.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "character",
|
||||
"language": "GDScript",
|
||||
"path": "res://Assets/Actor/Character.gd"
|
||||
} ]
|
||||
_global_script_class_icons={
|
||||
"CharacterBaseStats": "",
|
||||
"CharacterStats": "",
|
||||
"Weapon": "",
|
||||
"character": ""
|
||||
}
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Dawnbringer"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
GlobalSignals="*res://Assets/Globals/GlobalSignals.gd"
|
||||
|
||||
[gui]
|
||||
|
||||
common/drop_mouse_on_gui_input_disabled=true
|
||||
|
||||
[input]
|
||||
|
||||
up={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":87,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
down={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
left={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":65,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
right={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
shoot={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[physics]
|
||||
|
||||
common/enable_pause_aware_picking=true
|
||||
|
||||
[rendering]
|
||||
|
||||
environment/default_environment="res://default_env.tres"
|
||||
Reference in New Issue
Block a user