fix 星落

master
chendian 1 year ago
parent 6d20a21283
commit 94e671b781

@ -1,6 +1,6 @@
<component name="libraryTable">
<library name="GdSdk Master" type="GdScript">
<properties path="C:\Users\Administrator\AppData\Local\JetBrains\Rider2023.3\projects\.idea.touhougd.dir.ab68368\sdk\GdSdk Master" version="Master" date="2024-02-26T18:31:12.000+01:00" />
<properties path="C:\Users\Administrator\AppData\Local\JetBrains\Rider2023.3\projects\.idea.touhougd.dir.ab68368\sdk\GdSdk Master" version="Master" date="2024-06-01T15:14:16.000+02:00" />
<CLASSES />
<JAVADOC />
<SOURCES>

File diff suppressed because one or more lines are too long

@ -16,58 +16,58 @@ var max_cell := Vector2i(-999999, -999999)
var layer: int
func _enter_tree() -> void:
if not Engine.is_editor_hint():
MetSys.current_room = self
if initialized:
return
initialized = true
if Engine.is_editor_hint():
MetSys.room_assign_updated.connect(_update_assigned_scene)
var theme: Theme = load("res://addons/MetroidvaniaSystem/Database/DatabaseTheme.tres")
GRID_COLOR = theme.get_color(&"scene_cell_border", &"MetSys")
GRID_PASSAGE_COLOR = theme.get_color(&"scene_room_exit", &"MetSys")
_update_assigned_scene()
if not Engine.is_editor_hint():
MetSys.current_room = self
if initialized:
return
initialized = true
if Engine.is_editor_hint():
MetSys.room_assign_updated.connect(_update_assigned_scene)
var theme: Theme = load("res://addons/MetroidvaniaSystem/Database/DatabaseTheme.tres")
GRID_COLOR = theme.get_color(&"scene_cell_border", &"MetSys")
GRID_PASSAGE_COLOR = theme.get_color(&"scene_room_exit", &"MetSys")
_update_assigned_scene()
func _exit_tree() -> void:
if MetSys.current_room == self:
MetSys.current_room = null
if MetSys.current_room == self:
MetSys.current_room = null
func _update_assigned_scene():
var owner_node := owner if owner != null else self
room_name = owner_node.scene_file_path.trim_prefix(MetSys.settings.map_root_folder)
cells = MetSys.map_data.get_cells_assigned_to(room_name)
if cells.is_empty():
return
layer = cells[0].z
for p in cells:
min_cell.x = mini(min_cell.x, p.x)
min_cell.y = mini(min_cell.y, p.y)
max_cell.x = maxi(max_cell.x, p.x)
max_cell.y = maxi(max_cell.y, p.y)
var owner_node := owner if owner != null else self
room_name = owner_node.scene_file_path.trim_prefix(MetSys.settings.map_root_folder)
cells = MetSys.map_data.get_cells_assigned_to(room_name)
if cells.is_empty():
return
layer = cells[0].z
for p in cells:
min_cell.x = mini(min_cell.x, p.x)
min_cell.y = mini(min_cell.y, p.y)
max_cell.x = maxi(max_cell.x, p.x)
max_cell.y = maxi(max_cell.y, p.y)
## Returns the full size of this room, based on the cells and [code]in_game_cell_size[/code] defined in MetSys Settings.
func get_size() -> Vector2:
return Vector2(max_cell - min_cell + Vector2i.ONE) * MetSys.settings.in_game_cell_size
return Vector2(max_cell - min_cell + Vector2i.ONE) * MetSys.settings.in_game_cell_size
## Returns this rooms cells in local coordinates, i.e. with [code](0, 0)[/code] being the top-left cell.
func get_local_cells() -> Array[Vector2i]:
var ret: Array[Vector2i]
ret.assign(cells.map(func(coords: Vector3i) -> Vector2i:
return Vector2i(coords.x - min_cell.x, coords.y - min_cell.y)))
return ret
var ret: Array[Vector2i]
ret.assign(cells.map(func(coords: Vector3i) -> Vector2i:
return Vector2i(coords.x - min_cell.x, coords.y - min_cell.y)))
return ret
## Returns the top-left cell's flat coordinates within the room's rectangle.
func get_base_coords() -> Vector2i:
return min_cell
return min_cell
## Returns the bottom-right cell's flat coordinates within the room's rectangle.
func get_end_coords() -> Vector2i:
return max_cell
return max_cell
## Returns the room's layer.
func get_layer() -> int:
return layer
return layer

@ -3,12 +3,12 @@ extends Resource
## The theme used for drawing map cells.
@export var theme: MapTheme:
set(t):
if t == theme:
return
theme = t
theme_changed.emit()
set(t):
if t == theme:
return
theme = t
theme_changed.emit()
## The root directory where room scenes are located. All scenes used for MetSys editor should be within this folder or its subfolders.
@export_dir var map_root_folder: String = "res://"
@ -18,17 +18,17 @@ extends Resource
@export var collectible_list: Array[Dictionary]
## The script that determines the custom elements available in the Custom Elements map editor mode. It should inherit [code]CustomElementManager.gd[/code], refer to that class' documentation on how to use it.
@export var custom_element_script: Script:
set(elements):
if elements == custom_element_script:
return
custom_element_script = elements
if elements:
custom_elements = elements.new()
else:
custom_elements = null
custom_elements_changed.emit()
set(elements):
if elements == custom_element_script:
return
custom_element_script = elements
if elements:
custom_elements = elements.new()
else:
custom_elements = null
custom_elements_changed.emit()
var custom_elements: MetroidvaniaSystem.CustomElementManager
@ -36,5 +36,5 @@ signal theme_changed
signal custom_elements_changed
func _validate_property(property: Dictionary) -> void:
if property.name == "collectible_list":
property.usage &= ~PROPERTY_USAGE_EDITOR
if property.name == "collectible_list":
property.usage &= ~PROPERTY_USAGE_EDITOR

@ -4,9 +4,9 @@
class_name BeehaveTree extends Node
enum {
SUCCESS,
FAILURE,
RUNNING
SUCCESS,
FAILURE,
RUNNING
}
signal tree_enabled
@ -14,18 +14,18 @@ signal tree_disabled
## Wether this behavior tree should be enabled or not.
@export var enabled: bool = true:
set(value):
enabled = value
set_physics_process(enabled)
set(value):
enabled = value
set_physics_process(enabled)
if value:
tree_enabled.emit()
else:
interrupt()
tree_disabled.emit()
if value:
tree_enabled.emit()
else:
interrupt()
tree_disabled.emit()
get:
return enabled
get:
return enabled
## An optional node path this behavior tree should apply to.
@export_node_path var actor_node_path : NodePath
@ -33,33 +33,33 @@ signal tree_disabled
## Custom blackboard node. An internal blackboard will be used
## if no blackboard is provided explicitly.
@export var blackboard:Blackboard:
set(b):
blackboard = b
if blackboard and _internal_blackboard:
remove_child(_internal_blackboard)
_internal_blackboard.free()
_internal_blackboard = null
elif not blackboard and not _internal_blackboard:
_internal_blackboard = Blackboard.new()
add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK)
get:
return blackboard if blackboard else _internal_blackboard
set(b):
blackboard = b
if blackboard and _internal_blackboard:
remove_child(_internal_blackboard)
_internal_blackboard.free()
_internal_blackboard = null
elif not blackboard and not _internal_blackboard:
_internal_blackboard = Blackboard.new()
add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK)
get:
return blackboard if blackboard else _internal_blackboard
## When enabled, this tree is tracked individually
## as a custom monitor.
@export var custom_monitor = false:
set(b):
custom_monitor = b
if custom_monitor and _process_time_metric_name != '':
Performance.add_custom_monitor(_process_time_metric_name, _get_process_time_metric_value)
BeehaveGlobalMetrics.register_tree(self)
else:
if _process_time_metric_name != '':
# Remove tree metric from the engine
Performance.remove_custom_monitor(_process_time_metric_name)
BeehaveGlobalMetrics.unregister_tree(self)
BeehaveDebuggerMessages.unregister_tree(get_instance_id())
set(b):
custom_monitor = b
if custom_monitor and _process_time_metric_name != '':
Performance.add_custom_monitor(_process_time_metric_name, _get_process_time_metric_value)
BeehaveGlobalMetrics.register_tree(self)
else:
if _process_time_metric_name != '':
# Remove tree metric from the engine
Performance.remove_custom_monitor(_process_time_metric_name)
BeehaveGlobalMetrics.unregister_tree(self)
BeehaveDebuggerMessages.unregister_tree(get_instance_id())
var actor : Node
var status : int = -1
@ -70,155 +70,155 @@ var _process_time_metric_value : float = 0.0
var _can_send_message: bool = false
func _ready() -> void:
if Engine.is_editor_hint():
return
if Engine.is_editor_hint():
return
if self.get_child_count() > 0 and not self.get_child(0) is BeehaveNode:
push_warning("Beehave error: Root %s should have only one child of type BeehaveNode (NodePath: %s)" % [self.name, self.get_path()])
disable()
return
if self.get_child_count() > 0 and not self.get_child(0) is BeehaveNode:
push_warning("Beehave error: Root %s should have only one child of type BeehaveNode (NodePath: %s)" % [self.name, self.get_path()])
disable()
return
if not blackboard:
_internal_blackboard = Blackboard.new()
add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK)
if not blackboard:
_internal_blackboard = Blackboard.new()
add_child(_internal_blackboard, false, Node.INTERNAL_MODE_BACK)
actor = get_parent()
if actor_node_path:
actor = get_node(actor_node_path)
actor = get_parent()
if actor_node_path:
actor = get_node(actor_node_path)
# Get the name of the parent node name for metric
var parent_name = actor.name
_process_time_metric_name = "beehave [microseconds]/process_time_%s-%s" % [parent_name, get_instance_id()]
# Get the name of the parent node name for metric
var parent_name = actor.name
_process_time_metric_name = "beehave [microseconds]/process_time_%s-%s" % [parent_name, get_instance_id()]
# Register custom metric to the engine
if custom_monitor:
Performance.add_custom_monitor(_process_time_metric_name, _get_process_time_metric_value)
BeehaveGlobalMetrics.register_tree(self)
# Register custom metric to the engine
if custom_monitor:
Performance.add_custom_monitor(_process_time_metric_name, _get_process_time_metric_value)
BeehaveGlobalMetrics.register_tree(self)
set_physics_process(enabled)
BeehaveGlobalDebugger.register_tree(self)
BeehaveDebuggerMessages.register_tree(_get_debugger_data(self))
set_physics_process(enabled)
BeehaveGlobalDebugger.register_tree(self)
BeehaveDebuggerMessages.register_tree(_get_debugger_data(self))
func _physics_process(delta: float) -> void:
if Engine.is_editor_hint():
return
if Engine.is_editor_hint():
return
# Start timing for metric
var start_time = Time.get_ticks_usec()
# Start timing for metric
var start_time = Time.get_ticks_usec()
blackboard.set_value("can_send_message", _can_send_message)
blackboard.set_value("can_send_message", _can_send_message)
if _can_send_message:
BeehaveDebuggerMessages.process_begin(get_instance_id())
if _can_send_message:
BeehaveDebuggerMessages.process_begin(get_instance_id())
if self.get_child_count() == 1:
tick()
if self.get_child_count() == 1:
tick()
if _can_send_message:
BeehaveDebuggerMessages.process_end(get_instance_id())
if _can_send_message:
BeehaveDebuggerMessages.process_end(get_instance_id())
# Check the cost for this frame and save it for metric report
_process_time_metric_value = Time.get_ticks_usec() - start_time
# Check the cost for this frame and save it for metric report
_process_time_metric_value = Time.get_ticks_usec() - start_time
func tick() -> int:
var child := self.get_child(0)
if status != RUNNING:
child.before_run(actor, blackboard)
var child := self.get_child(0)
if status != RUNNING:
child.before_run(actor, blackboard)
status = child.tick(actor, blackboard)
if _can_send_message:
BeehaveDebuggerMessages.process_tick(child.get_instance_id(), status)
BeehaveDebuggerMessages.process_tick(get_instance_id(), status)
status = child.tick(actor, blackboard)
if _can_send_message:
BeehaveDebuggerMessages.process_tick(child.get_instance_id(), status)
BeehaveDebuggerMessages.process_tick(get_instance_id(), status)
# Clear running action if nothing is running
if status != RUNNING:
blackboard.set_value("running_action", null, str(actor.get_instance_id()))
child.after_run(actor, blackboard)
# Clear running action if nothing is running
if status != RUNNING:
blackboard.set_value("running_action", null, str(actor.get_instance_id()))
child.after_run(actor, blackboard)
return status
return status
func _get_configuration_warnings() -> PackedStringArray:
var warnings:PackedStringArray = []
var warnings:PackedStringArray = []
if get_children().any(func(x): return not (x is BeehaveNode)):
warnings.append("All children of this node should inherit from BeehaveNode class.")
if get_children().any(func(x): return not (x is BeehaveNode)):
warnings.append("All children of this node should inherit from BeehaveNode class.")
if get_child_count() != 1:
warnings.append("BeehaveTree should have exactly one child node.")
if get_child_count() != 1:
warnings.append("BeehaveTree should have exactly one child node.")
return warnings
return warnings
## Returns the currently running action
func get_running_action() -> ActionLeaf:
return blackboard.get_value("running_action", null, str(actor.get_instance_id()))
return blackboard.get_value("running_action", null, str(actor.get_instance_id()))
## Returns the last condition that was executed
func get_last_condition() -> ConditionLeaf:
return blackboard.get_value("last_condition", null, str(actor.get_instance_id()))
return blackboard.get_value("last_condition", null, str(actor.get_instance_id()))
## Returns the status of the last executed condition
func get_last_condition_status() -> String:
if blackboard.has_value("last_condition_status", str(actor.get_instance_id())):
var status = blackboard.get_value("last_condition_status", null, str(actor.get_instance_id()))
if status == SUCCESS:
return "SUCCESS"
elif status == FAILURE:
return "FAILURE"
else:
return "RUNNING"
return ""
if blackboard.has_value("last_condition_status", str(actor.get_instance_id())):
var status = blackboard.get_value("last_condition_status", null, str(actor.get_instance_id()))
if status == SUCCESS:
return "SUCCESS"
elif status == FAILURE:
return "FAILURE"
else:
return "RUNNING"
return ""
## interrupts this tree if anything was running
func interrupt() -> void:
if self.get_child_count() != 0:
var first_child = self.get_child(0)
if "interrupt" in first_child:
first_child.interrupt(actor, blackboard)
if self.get_child_count() != 0:
var first_child = self.get_child(0)
if "interrupt" in first_child:
first_child.interrupt(actor, blackboard)
## Enables this tree.
func enable() -> void:
self.enabled = true
self.enabled = true
## Disables this tree.
func disable() -> void:
self.enabled = false
self.enabled = false
func _exit_tree() -> void:
if custom_monitor:
if _process_time_metric_name != '':
# Remove tree metric from the engine
Performance.remove_custom_monitor(_process_time_metric_name)
BeehaveGlobalMetrics.unregister_tree(self)
if custom_monitor:
if _process_time_metric_name != '':
# Remove tree metric from the engine
Performance.remove_custom_monitor(_process_time_metric_name)
BeehaveGlobalMetrics.unregister_tree(self)
BeehaveDebuggerMessages.unregister_tree(get_instance_id())
BeehaveDebuggerMessages.unregister_tree(get_instance_id())
# Called by the engine to profile this tree
func _get_process_time_metric_value() -> int:
return _process_time_metric_value
return _process_time_metric_value
func _get_debugger_data(node: Node) -> Dictionary:
if not node is BeehaveTree and not node is BeehaveNode:
return {}
var data := { path = node.get_path(), name = node.name, type = node.get_class_name(), id = str(node.get_instance_id()) }
if node.get_child_count() > 0:
data.children = []
for child in node.get_children():
var child_data := _get_debugger_data(child)
if not child_data.is_empty():
data.children.push_back(child_data)
return data
if not node is BeehaveTree and not node is BeehaveNode:
return {}
var data := { path = node.get_path(), name = node.name, type = node.get_class_name(), id = str(node.get_instance_id()) }
if node.get_child_count() > 0:
data.children = []
for child in node.get_children():
var child_data := _get_debugger_data(child)
if not child_data.is_empty():
data.children.push_back(child_data)
return data
func get_class_name() -> Array[StringName]:
return [&"BeehaveTree"]
return [&"BeehaveTree"]

@ -12,65 +12,65 @@ var successful_index: int = 0
func tick(actor: Node, blackboard: Blackboard) -> int:
for c in get_children():
if c.get_index() < successful_index:
continue
if c != running_child:
c.before_run(actor, blackboard)
var response = c.tick(actor, blackboard)
if can_send_message(blackboard):
BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response)
if c is ConditionLeaf:
blackboard.set_value("last_condition", c, str(actor.get_instance_id()))
blackboard.set_value("last_condition_status", response, str(actor.get_instance_id()))
match response:
SUCCESS:
_cleanup_running_task(c, actor, blackboard)
successful_index += 1
c.after_run(actor, blackboard)
FAILURE:
_cleanup_running_task(c, actor, blackboard)
# Interrupt any child that was RUNNING before.
interrupt(actor, blackboard)
c.after_run(actor, blackboard)
return FAILURE
RUNNING:
if c != running_child:
if running_child != null:
running_child.interrupt(actor, blackboard)
running_child = c
if c is ActionLeaf:
blackboard.set_value("running_action", c, str(actor.get_instance_id()))
return RUNNING
_reset()
return SUCCESS
for c in get_children():
if c.get_index() < successful_index:
continue
if c != running_child:
c.before_run(actor, blackboard)
var response = c.tick(actor, blackboard)
if can_send_message(blackboard):
BeehaveDebuggerMessages.process_tick(c.get_instance_id(), response)
if c is ConditionLeaf:
blackboard.set_value("last_condition", c, str(actor.get_instance_id()))
blackboard.set_value("last_condition_status", response, str(actor.get_instance_id()))
match response:
SUCCESS:
_cleanup_running_task(c, actor, blackboard)
successful_index += 1
c.after_run(actor, blackboard)
FAILURE:
_cleanup_running_task(c, actor, blackboard)
# Interrupt any child that was RUNNING before.
interrupt(actor, blackboard)
c.after_run(actor, blackboard)
return FAILURE
RUNNING:
if c != running_child:
if running_child != null:
running_child.interrupt(actor, blackboard)
running_child = c
if c is ActionLeaf:
blackboard.set_value("running_action", c, str(actor.get_instance_id()))
return RUNNING
_reset()
return SUCCESS
func interrupt(actor: Node, blackboard: Blackboard) -> void:
_reset()
super(actor, blackboard)
_reset()
super(actor, blackboard)
func _reset() -> void:
successful_index = 0
successful_index = 0
## Changes `running_action` and `running_child` after the node finishes executing.
func _cleanup_running_task(finished_action: Node, actor: Node, blackboard: Blackboard):
var blackboard_name = str(actor.get_instance_id())
if finished_action == running_child:
running_child = null
if finished_action == blackboard.get_value("running_action", null, blackboard_name):
blackboard.set_value("running_action", null, blackboard_name)
var blackboard_name = str(actor.get_instance_id())
if finished_action == running_child:
running_child = null
if finished_action == blackboard.get_value("running_action", null, blackboard_name):
blackboard.set_value("running_action", null, blackboard_name)
func get_class_name() -> Array[StringName]:
var classes := super()
classes.push_back(&"SequenceComposite")
return classes
var classes := super()
classes.push_back(&"SequenceComposite")
return classes

@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://by6jd5xqjml2m"]
[ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_gadv7"]
[resource]
script = ExtResource("1_gadv7")
damage_rate = 1.0
break_level = 1
stun_attack = 10.0
damage_type = 1
is_floating = false
is_hit_down = false
is_rebound = false
is_stop_self = true
hit_back_speed = 2.0
hit_up_speed = 2.0
hit_back_duration = 0.05
hit_up_duration = 0.05
pause_time = 0.05
is_force_pause = true

@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="AttackCfg" load_steps=2 format=3 uid="uid://d26ok8as50xe5"]
[ext_resource type="Script" path="res://script/config/attack_cfg.gd" id="1_gadv7"]
[resource]
script = ExtResource("1_gadv7")
damage_rate = 1.0
break_level = 2
stun_attack = 10.0
damage_type = 1
is_floating = true
is_hit_down = false
is_rebound = false
is_stop_self = true
hit_back_speed = 3.0
hit_up_speed = 3.0
hit_back_duration = 0.05
hit_up_duration = 0.05
pause_time = 0.05
is_force_pause = true

@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="AttackBoxCfg" load_steps=3 format=3 uid="uid://decgfcx2xsj8i"]
[ext_resource type="Script" path="res://script/config/attack_box_cfg.gd" id="1_w2uwt"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_pmh6g"]
height = 1.0
radius = 1.5
[resource]
script = ExtResource("1_w2uwt")
shape = SubResource("CylinderShape3D_pmh6g")
offset = Vector2(0, 0)

@ -18,5 +18,5 @@ move = ExtResource("1_b0lkj")
shield = ExtResource("3_3nfrx")
stun = ExtResource("6_25uqm")
mp = ExtResource("2_pl54c")
hp_max = 200.0
hp_max = 20.0
attack = 10.0

@ -18,5 +18,5 @@ move = ExtResource("1_hjl2t")
shield = ExtResource("4_uyg17")
stun = ExtResource("6_vlmkd")
mp = ExtResource("2_gly3h")
hp_max = 1000.0
hp_max = 50.0
attack = 10.0

@ -1,9 +1,11 @@
[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=7 format=3 uid="uid://dkxgra6y2u30l"]
[gd_resource type="Resource" script_class="SkillPlayerCfg" load_steps=9 format=3 uid="uid://dkxgra6y2u30l"]
[ext_resource type="Resource" uid="uid://dib6g7t6p5ac2" path="res://config/attack/blunt_normal_hit.tres" id="1_nott2"]
[ext_resource type="Resource" uid="uid://by6jd5xqjml2m" path="res://config/attack/blunt_starfall_1.tres" id="1_p1fp6"]
[ext_resource type="Script" path="res://script/config/player_skill_cfg.gd" id="2_mje6b"]
[ext_resource type="Resource" uid="uid://57sukcw6ewqo" path="res://config/attack_box/circle_normal.tres" id="2_nvq3h"]
[ext_resource type="Resource" uid="uid://d26ok8as50xe5" path="res://config/attack/blunt_starfall_2.tres" id="3_ffp0l"]
[ext_resource type="Animation" uid="uid://dxgqn5fa7aokj" path="res://resource/skill_animation/hero01_fist_air_skill01.tres" id="3_q461t"]
[ext_resource type="Resource" uid="uid://decgfcx2xsj8i" path="res://config/attack_box/circle_mid.tres" id="4_13pbo"]
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="4_seudu"]
[ext_resource type="Resource" uid="uid://c6alg8pmqfdxm" path="res://config/weapon/fist.tres" id="5_70pp4"]
@ -17,8 +19,10 @@ action = "attack_heavy"
name = ""
skill_animation = ExtResource("3_q461t")
free_lock = false
attack1 = ExtResource("1_nott2")
attack1 = ExtResource("1_p1fp6")
attack1_box = ExtResource("2_nvq3h")
attack2 = ExtResource("3_ffp0l")
attack2_box = ExtResource("4_13pbo")
refresh_animation = false
sprite_frames = ExtResource("4_seudu")
animation_name = "fist_air_skill01"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dwi4ioxeauoc4"
path="res://.godot/imported/items.png-d10b6b2feac7b3334582afee422be338.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://example/Items/item_icons/items.png"
dest_files=["res://.godot/imported/items.png-d10b6b2feac7b3334582afee422be338.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

@ -1,32 +0,0 @@
extends Resource
enum SlotType {
SMALL,
LARGE,
EQUIPMENT,
QUEST,
POTION,
AMMO,
CURRENCY,
FUEL,
CRAFTING,
E_MAINHAND,
E_OFFHAND,
E_HELM,
E_CHEST,
E_BELT,
E_HANDS,
E_FEET,
E_RING,
E_NECK,
}
@export var name := ""
@export_multiline var description := ""
@export var max_stack_count := 1
@export var in_inventory_width := 1
@export var in_inventory_height := 1
@export var texture: Texture
@export var mesh: Mesh
@export var slot_flags: SlotType = SlotType.SMALL
@export var default_properties: Dictionary

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c65l1w3756rlu"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_npnns"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_npnns")
region = Rect2(12, 24, 24, 12)
[resource]
script = ExtResource("2")
name = "arrows"
description = "desc_arrows"
max_stack_count = 20
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 5
default_properties = {}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://d2gb438d6vtlg"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_4rd1p"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_4rd1p")
region = Rect2(0, 156, 24, 12)
[resource]
script = ExtResource("1")
name = "belt_1"
description = "desc_belt_1"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 13
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"dodgerate": 12.0
}
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c158a1idjr28m"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_laq2t"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_laq2t")
region = Rect2(24, 156, 24, 12)
[resource]
script = ExtResource("1")
name = "belt_2"
description = "desc_belt_2"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 13
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"health_regen": 2.0
}
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://ubapirchpsp"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_cwgb2"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_cwgb2")
region = Rect2(0, 120, 24, 36)
[resource]
script = ExtResource("1")
name = "chestplate_1"
description = "desc_chestplate_1"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 3
texture = SubResource("1")
slot_flags = 12
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"defense": 24.0
}
}

@ -1,29 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://nquj8y70tdy1"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_fdlcg"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_fdlcg")
region = Rect2(24, 120, 24, 36)
[resource]
script = ExtResource("1")
name = "chestplate_2"
description = "desc_chestplate_2"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 3
texture = SubResource("1")
slot_flags = 12
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"defense": 16.0,
"dodgerate": 16.0
}
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://cqbrojgnmjvil"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_lbcs7"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_lbcs7")
region = Rect2(0, 0, 12, 12)
[resource]
script = ExtResource("2")
name = "coin_gold"
description = "desc_coin_gold"
max_stack_count = 100
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 6
default_properties = {}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://4amkkv73m0lc"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_gphlp"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_gphlp")
region = Rect2(0, 12, 12, 12)
[resource]
script = ExtResource("2")
name = "coin_purple"
description = "desc_coin_purple"
max_stack_count = 100
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 6
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://csj85mouew67r"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_vvaq3"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_vvaq3")
region = Rect2(84, 24, 12, 12)
[resource]
script = ExtResource("2")
name = "feather"
description = "desc_feather"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://ghiwkmadh0i"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_io53q"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_io53q")
region = Rect2(84, 36, 12, 12)
[resource]
script = ExtResource("2")
name = "gem_blue"
description = "desc_gem_blue"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dmgt12il41ul7"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_1ooxf"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_1ooxf")
region = Rect2(0, 168, 24, 24)
[resource]
script = ExtResource("1")
name = "head_helmet"
description = "desc_head_helmet"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 11
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"defense": 8.0
}
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://bwtgji4rkgc5"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_6ygl4"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_6ygl4")
region = Rect2(24, 168, 24, 24)
[resource]
script = ExtResource("1")
name = "head_wizardhat"
description = "desc_head_wizardhat"
max_stack_count = 1
in_inventory_width = 2
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 11
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"magic_regen": 2.0
}
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://v7imonnsq6xx"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_awqqy"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_awqqy")
region = Rect2(12, 36, 24, 12)
[resource]
script = ExtResource("2")
name = "herb"
description = "desc_herb"
max_stack_count = 20
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://okiwvbkwltf2"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_v5nv2"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_v5nv2")
region = Rect2(60, 24, 24, 12)
[resource]
script = ExtResource("2")
name = "leather"
description = "desc_leather"
max_stack_count = 20
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://d4eo3up2esgao"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_l77qe"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_l77qe")
region = Rect2(0, 24, 12, 24)
[resource]
script = ExtResource("2")
name = "magic_crystal"
description = "desc_magic_crystal"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 8
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,29 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://vi43b1o26w60"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_glg1x"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_glg1x")
region = Rect2(12, 72, 12, 48)
[resource]
script = ExtResource("2")
name = "melee_battleaxe"
description = "desc_melee_battleaxe"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 4
texture = SubResource("1")
slot_flags = 9
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"weapon_damage": 8.0,
"weapon_speed": 0.8
}
}

@ -1,29 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://cidvqmpxobgv7"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_qyy4c"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_qyy4c")
region = Rect2(0, 72, 12, 36)
[resource]
script = ExtResource("2")
name = "melee_sword"
description = "desc_melee_sword"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 3
texture = SubResource("1")
slot_flags = 9
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"weapon_damage": 4.0,
"weapon_speed": 1.5
}
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://d2vm3srqwars"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_w6v7m"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_w6v7m")
region = Rect2(48, 24, 12, 12)
[resource]
script = ExtResource("2")
name = "metalscrap_copper"
description = "desc_metalscrap_copper"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,24 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://b45up1xg1qnlo"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_eoswi"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_eoswi")
region = Rect2(36, 36, 12, 12)
[resource]
script = ExtResource("2")
name = "metalscrap_gold"
description = "desc_metalscrap_gold"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 10.0
}
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dyb3w176j3sco"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_61lme"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_61lme")
region = Rect2(36, 24, 12, 12)
[resource]
script = ExtResource("2")
name = "metalscrap_iron"
description = "desc_metalscrap_iron"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://desvy1h36yy1s"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_bon0y"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_bon0y")
region = Rect2(48, 36, 12, 12)
[resource]
script = ExtResource("2")
name = "metalscrap_wyvernite"
description = "desc_metalscrap_wyvernite"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,24 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://b0l5g2tgwvm3b"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="1"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("1")
region = Rect2(36, 0, 12, 24)
[resource]
script = ExtResource("2")
name = "potion_blue"
description = "desc_potion_blue"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 4
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 5
}
}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://cbrsfa22sudf5"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="1"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("1")
region = Rect2(24, 0, 12, 24)
[resource]
script = ExtResource("2")
name = "potion_purple"
description = "desc_potion_purple"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 4
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://crq178t8cp2g7"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="1"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("1")
region = Rect2(12, 0, 12, 24)
[resource]
script = ExtResource("2")
name = "potion_red"
description = "desc_potion_red"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 4
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://d1sgj2djflire"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_7y5px"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_7y5px")
region = Rect2(0, 192, 12, 12)
[resource]
script = ExtResource("1")
name = "ring_1"
description = "desc_ring_1"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 16
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"dodgerate": 8.0
}
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dwsqjeolbi2j6"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_a2wrg"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_a2wrg")
region = Rect2(12, 192, 12, 12)
[resource]
script = ExtResource("1")
name = "ring_2"
description = "desc_ring_2"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 16
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"health": 8.0
}
}

@ -1,21 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://7vy4rqrqnt4q"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_oismr"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_oismr")
region = Rect2(96, 24, 12, 24)
[resource]
script = ExtResource("2")
name = "scroll_enchant"
description = "desc_scroll_enchant"
max_stack_count = 20
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 6
default_properties = {
"back_color": Color(0.67451, 0.270588, 0.972549, 1)
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://ckgvaqimbvnv8"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_8lhvp"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_8lhvp")
region = Rect2(0, 48, 12, 24)
[resource]
script = ExtResource("2")
name = "wand_purple"
description = "desc_wand_purple"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 9
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"magic": 16.0
}
}

@ -1,28 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://napa4vmvmphs"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_cihvk"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_cihvk")
region = Rect2(12, 48, 12, 24)
[resource]
script = ExtResource("2")
name = "wand_red"
description = "desc_wand_red"
max_stack_count = 1
in_inventory_width = 1
in_inventory_height = 2
texture = SubResource("1")
slot_flags = 9
default_properties = {
"back_color": Color(1, 0.65098, 0, 1),
"price": {
"res://example/wyvernbox/item_types/consumable/coin_gold.tres": 50,
"res://example/wyvernbox/item_types/consumable/coin_purple.tres": 10
},
"stats": {
"spell_damage": 8.0
}
}

@ -1,19 +0,0 @@
[gd_resource type="Resource" load_steps=4 format=3 uid="uid://uge4rk0vtwxs"]
[ext_resource type="Script" path="res://example/Items/item_type.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://dwi4ioxeauoc4" path="res://example/Items/item_icons/items.png" id="2_7ia04"]
[sub_resource type="AtlasTexture" id="1"]
atlas = ExtResource("2_7ia04")
region = Rect2(60, 36, 24, 12)
[resource]
script = ExtResource("2")
name = "wood"
description = "desc_wood"
max_stack_count = 20
in_inventory_width = 2
in_inventory_height = 1
texture = SubResource("1")
slot_flags = 8
default_properties = {}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b7e3wp7i33ye5"
path="res://.godot/imported/all_icons.png-28909f8bd099d79f5d095eb93a9167e6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://example/Random Upgrades/icons/all_icons.png"
dest_files=["res://.godot/imported/all_icons.png-28909f8bd099d79f5d095eb93a9167e6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://c3bx6kf7frbwk"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"]
[resource]
atlas = ExtResource("1")
region = Rect2(0, 0, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cak6lra5ej68c"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_6pmrx"]
[resource]
atlas = ExtResource("1_6pmrx")
region = Rect2(64, 128, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dkc8d2p0xbl1n"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_lk0lg"]
[resource]
atlas = ExtResource("1_lk0lg")
region = Rect2(128, 128, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://ciiykhulvckp7"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_fd56b"]
[resource]
atlas = ExtResource("1_fd56b")
region = Rect2(192, 128, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dki1d3uksoyfj"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_ds6ve"]
[resource]
atlas = ExtResource("1_ds6ve")
region = Rect2(0, 192, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cpenn4qsfhx28"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_icesd"]
[resource]
atlas = ExtResource("1_icesd")
region = Rect2(64, 192, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cm6cb8uou75x0"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_mlqxi"]
[resource]
atlas = ExtResource("1_mlqxi")
region = Rect2(128, 192, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://0c7ngrkwn42u"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_jk82p"]
[resource]
atlas = ExtResource("1_jk82p")
region = Rect2(192, 192, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dfpwu4ra3fxgx"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"]
[resource]
atlas = ExtResource("1")
region = Rect2(64, 0, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://d38giyxvkhl6g"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"]
[resource]
atlas = ExtResource("1")
region = Rect2(128, 0, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cluvoehgeqmcu"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"]
[resource]
atlas = ExtResource("1")
region = Rect2(192, 0, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://djjpa8lluue1g"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1"]
[resource]
atlas = ExtResource("1")
region = Rect2(0, 64, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://butx3l1jdcgcc"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_em1jn"]
[resource]
atlas = ExtResource("1_em1jn")
region = Rect2(64, 64, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dfhgifwrrigrw"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_bpiay"]
[resource]
atlas = ExtResource("1_bpiay")
region = Rect2(128, 64, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dacww8ptt8uyo"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_mbxiu"]
[resource]
atlas = ExtResource("1_mbxiu")
region = Rect2(192, 64, 64, 64)

@ -1,7 +0,0 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dbbgxcs806sy8"]
[ext_resource type="Texture2D" uid="uid://b7e3wp7i33ye5" path="res://example/Random Upgrades/icons/all_icons.png" id="1_bw3gq"]
[resource]
atlas = ExtResource("1_bw3gq")
region = Rect2(0, 128, 64, 64)

@ -1,31 +0,0 @@
[gd_scene format=3 uid="uid://b4cix5ebtpdbf"]
[node name="Node2D" type="Node2D"]
[node name="ColorRect" type="ColorRect" parent="."]
offset_left = 363.0
offset_top = 83.0
offset_right = 718.0
offset_bottom = 632.0
color = Color(0, 1, 0.0156863, 1)
[node name="ColorRect2" type="ColorRect" parent="."]
offset_left = 833.0
offset_top = 304.0
offset_right = 1095.0
offset_bottom = 653.0
color = Color(0, 0.905882, 1, 1)
[node name="ColorRect3" type="ColorRect" parent="."]
offset_left = 553.0
offset_top = 491.0
offset_right = 929.0
offset_bottom = 770.0
color = Color(0, 0.0156863, 1, 1)
[node name="ColorRect4" type="ColorRect" parent="."]
offset_left = 746.0
offset_top = 397.0
offset_right = 1077.0
offset_bottom = 632.0
color = Color(0.686275, 0, 1, 1)

@ -1,34 +0,0 @@
@tool
class_name UpgradeData
extends Resource
enum Attributes {
Strength = 0,
Magic,
Endurance,
Agility,
Luck,
Mastery = 128,
}
@export var color1 := Color.WHITE
@export var max_duplicates := 0
@export var tags: Array[String]
@export_enum("Weapon", "Passive", "Mastery") var type := 0
@export var attributes: Array[Attributes]
@export var icon: Texture
@export var custom_scene: PackedScene
@export var prerequisites: Array[UpgradeData]
@export var color2 := Color.WHITE
@export var base_weight := 10.0
@export var is_notable := false
@export_multiline var multiplier_per_tag := ""
@export_multiline var multiplier_if_tag_present := ""
@export_multiline var multiplier_if_tag_not_present := ""
@export_multiline var max_tags_present := ""
@export var list_item_delimeter := " "
@export var list_row_delimeter := ";"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://8m6y2o6tbmpn"]
[ext_resource type="Texture2D" uid="uid://butx3l1jdcgcc" path="res://example/Random Upgrades/icons/all_icons/all_icons_6.tres" id="1_utkae"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Upgrade: Elemental Damage"
script = ExtResource("2")
color1 = Color(1, 1, 1, 1)
max_duplicates = 9
tags = Array[String](["elemental"])
type = 1
attributes = Array[int]([1])
icon = ExtResource("1_utkae")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.964706, 0.298039, 0.298039, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = ""
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "elemental 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://dys7hpijn82t0"]
[ext_resource type="Texture2D" uid="uid://c3bx6kf7frbwk" path="res://example/Random Upgrades/icons/all_icons/all_icons_1.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Upgrade: Health"
script = ExtResource("2")
color1 = Color(1, 1, 1, 1)
max_duplicates = 9
tags = Array[String](["health", "melee"])
type = 1
attributes = Array[int]([2])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.129412, 1, 0.243137, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "strength 1.5 melee 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,28 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=6 format=3 uid="uid://2totlbwc40e8"]
[ext_resource type="Texture2D" uid="uid://djjpa8lluue1g" path="res://example/Random Upgrades/icons/all_icons/all_icons_5.tres" id="1_ardng"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[ext_resource type="Resource" uid="uid://rjxr4qtfc6qd" path="res://example/Random Upgrades/upgrades/weapons/weapon_fireball.tres" id="2_485ad"]
[ext_resource type="Resource" uid="uid://djqq1lqaevth5" path="res://example/Random Upgrades/upgrades/weapons/weapon_blizzard.tres" id="3_xnxxn"]
[ext_resource type="Resource" uid="uid://b0kdw067vtgvn" path="res://example/Random Upgrades/upgrades/weapons/weapon_lightning.tres" id="4_kn0kg"]
[resource]
resource_name = "Mastery: Magic"
script = ExtResource("2")
color1 = Color(1, 0.847059, 0.160784, 1)
max_duplicates = 9
tags = Array[String](["magic", "mastery"])
type = 2
attributes = Array[int]([1, 1, 4, 128])
icon = ExtResource("1_ardng")
prerequisites = Array[ExtResource("2")]([ExtResource("2_485ad"), ExtResource("3_xnxxn"), ExtResource("4_kn0kg")])
color2 = Color(0.407843, 0.192157, 0.827451, 1)
base_weight = 1.0
is_notable = true
multiplier_per_tag = "magic 1.2"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "magic 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,28 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=6 format=3 uid="uid://d1suh8iai43st"]
[ext_resource type="Texture2D" uid="uid://dfpwu4ra3fxgx" path="res://example/Random Upgrades/icons/all_icons/all_icons_2.tres" id="1_442ey"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[ext_resource type="Resource" uid="uid://cux4x0qopwiqk" path="res://example/Random Upgrades/upgrades/weapons/weapon_dagger.tres" id="2_kb33p"]
[ext_resource type="Resource" uid="uid://b78jqcpgef2ud" path="res://example/Random Upgrades/upgrades/weapons/weapon_axe.tres" id="3_tt25f"]
[ext_resource type="Resource" uid="uid://xl0yx8uq6bfp" path="res://example/Random Upgrades/upgrades/weapons/weapon_spear.tres" id="4_kpsn8"]
[resource]
resource_name = "Mastery: Strength"
script = ExtResource("2")
color1 = Color(1, 0.847059, 0.160784, 1)
max_duplicates = 9
tags = Array[String](["strength", "mastery"])
type = 2
attributes = Array[int]([0, 0, 4, 128])
icon = ExtResource("1_442ey")
prerequisites = Array[ExtResource("2")]([ExtResource("2_kb33p"), ExtResource("3_tt25f"), ExtResource("4_kpsn8")])
color2 = Color(0.992157, 0.941176, 0.2, 1)
base_weight = 1.0
is_notable = true
multiplier_per_tag = "strength 1.2"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "strength 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://2y7extlq12d5"]
[ext_resource type="Texture2D" uid="uid://butx3l1jdcgcc" path="res://example/Random Upgrades/icons/all_icons/all_icons_6.tres" id="1_prpsx"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Upgrade: Area of Effect"
script = ExtResource("2")
color1 = Color(1, 1, 1, 1)
max_duplicates = 4
tags = Array[String](["aoe"])
type = 1
attributes = Array[int]([3])
icon = ExtResource("1_prpsx")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.964706, 0.298039, 0.298039, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = ""
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "aoe 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://ce2kulhm7amkp"]
[ext_resource type="Texture2D" uid="uid://djjpa8lluue1g" path="res://example/Random Upgrades/icons/all_icons/all_icons_5.tres" id="1_we1lq"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Upgrade: Magic"
script = ExtResource("2")
color1 = Color(1, 1, 1, 1)
max_duplicates = 9
tags = Array[String](["magic"])
type = 1
attributes = Array[int]([1])
icon = ExtResource("1_we1lq")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.188235, 0.45098, 0.901961, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = ""
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "magic 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://c6hsg3j74vm56"]
[ext_resource type="Texture2D" uid="uid://dfpwu4ra3fxgx" path="res://example/Random Upgrades/icons/all_icons/all_icons_2.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Upgrade: Strength"
script = ExtResource("2")
color1 = Color(1, 1, 1, 1)
max_duplicates = 9
tags = Array[String](["strength"])
type = 1
attributes = Array[int]([0])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.980392, 0.584314, 0.203922, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = ""
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = "strength 0"
max_tags_present = ""
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://b78jqcpgef2ud"]
[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1_mrwdr"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2_ug2lv"]
[resource]
resource_name = "Weapon: Axe"
script = ExtResource("2_ug2lv")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["strength", "melee", "weapon"])
type = 0
attributes = Array[int]([0, 2])
icon = ExtResource("1_mrwdr")
prerequisites = Array[ExtResource("2_ug2lv")]([])
color2 = Color(0.980392, 0.584314, 0.203922, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "strength 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://djqq1lqaevth5"]
[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1_xleln"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Weapon: Blizzard"
script = ExtResource("2")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "magic", "elemental"])
type = 0
attributes = Array[int]([1, 2])
icon = ExtResource("1_xleln")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.189457, 0.452246, 0.902344, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "magic 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,27 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=4 format=3 uid="uid://60buw33oe30f"]
[ext_resource type="PackedScene" uid="uid://b4cix5ebtpdbf" path="res://example/Random Upgrades/new scene.tscn" id="1_wk78o"]
[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="2_yni6v"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="3_lwnh6"]
[resource]
resource_name = "Weapon: Chaos Blast"
script = ExtResource("3_lwnh6")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "magic", "projectile", "legendary"])
type = 0
attributes = Array[int]([1, 1, 1, 3])
icon = ExtResource("2_yni6v")
custom_scene = ExtResource("1_wk78o")
prerequisites = Array[ExtResource("3_lwnh6")]([])
color2 = Color(0.407843, 0.192157, 0.827451, 1)
base_weight = 1.0
is_notable = true
multiplier_per_tag = "magic 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://cux4x0qopwiqk"]
[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Weapon: Daggers"
script = ExtResource("2")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "strength", "projectile"])
type = 0
attributes = Array[int]([0, 3])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.980392, 0.584314, 0.203922, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "strength 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://rjxr4qtfc6qd"]
[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Weapon: Fireball"
script = ExtResource("2")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "magic", "projectile", "elemental"])
type = 0
attributes = Array[int]([1, 2])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.189457, 0.452246, 0.902344, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "magic 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,27 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=4 format=3 uid="uid://c1mrcevxrm5kv"]
[ext_resource type="PackedScene" uid="uid://b4cix5ebtpdbf" path="res://example/Random Upgrades/new scene.tscn" id="2"]
[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="2_kfnh0"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="3"]
[resource]
resource_name = "Weapon: Giga Sword"
script = ExtResource("3")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "strength", "melee", "legendary"])
type = 0
attributes = Array[int]([0, 0, 0, 2])
icon = ExtResource("2_kfnh0")
custom_scene = ExtResource("2")
prerequisites = Array[ExtResource("3")]([])
color2 = Color(0.992157, 0.941176, 0.2, 1)
base_weight = 1.0
is_notable = true
multiplier_per_tag = "strength 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://b0kdw067vtgvn"]
[ext_resource type="Texture2D" uid="uid://cluvoehgeqmcu" path="res://example/Random Upgrades/icons/all_icons/all_icons_4.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Weapon: Lightning"
script = ExtResource("2")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "magic", "elemental"])
type = 0
attributes = Array[int]([1, 3])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.189457, 0.452246, 0.902344, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "magic 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,25 +0,0 @@
[gd_resource type="Resource" script_class="UpgradeData" load_steps=3 format=3 uid="uid://xl0yx8uq6bfp"]
[ext_resource type="Texture2D" uid="uid://d38giyxvkhl6g" path="res://example/Random Upgrades/icons/all_icons/all_icons_3.tres" id="1"]
[ext_resource type="Script" path="res://example/Random Upgrades/upgrade_data.gd" id="2"]
[resource]
resource_name = "Weapon: Spear"
script = ExtResource("2")
color1 = Color(0.635294, 0.760784, 1, 1)
max_duplicates = 1
tags = Array[String](["weapon", "strength", "melee"])
type = 0
attributes = Array[int]([0, 3])
icon = ExtResource("1")
prerequisites = Array[ExtResource("2")]([])
color2 = Color(0.980392, 0.584314, 0.203922, 1)
base_weight = 10.0
is_notable = false
multiplier_per_tag = "strength 2.0"
multiplier_if_tag_present = ""
multiplier_if_tag_not_present = ""
max_tags_present = "weapon 4"
list_item_delimeter = " "
list_row_delimeter = "
"

@ -1,31 +0,0 @@
resource_path,color1,max_duplicates,tags,type,attributes,icon,custom_scene,prerequisites,color2,base_weight,is_notable,multiplier_per_tag,multiplier_if_tag_present,multiplier_if_tag_not_present,max_tags_present,list_item_delimeter,list_row_delimeter
elemental,ffffffff,9,"[""elemental""]",Passive,[1],res://example/Random Upgrades/icons/all_icons/all_icons_6.tres,,[],f64c4cff,10,No,,,elemental 0,, ,"
"
health,ffffffff,9,"[""health"", ""melee""]",Passive,[2],res://example/Random Upgrades/icons/all_icons/all_icons_1.tres,,[],21ff3eff,10,No,strength 1.5 melee 2.0,,,, ,"
"
mastery_magic,ffd829ff,9,"[""magic"", ""mastery""]",Mastery,"[1, 1, 4, 128]",res://example/Random Upgrades/icons/all_icons/all_icons_5.tres,,"[<Resource#-9223362430942252610>, <Resource#-9223362431630111165>, <Resource#-9223362430539588219>]",6831d3ff,1,Yes,magic 1.2,,magic 0,, ,"
"
mastery_strength,ffd829ff,9,"[""strength"", ""mastery""]",Mastery,"[0, 0, 4, 128]",res://example/Random Upgrades/icons/all_icons/all_icons_2.tres,,"[<Resource#-9223362431126801981>, <Resource#-9223362431932110301>, <Resource#-9223362430355050030>]",fdf033ff,1,Yes,strength 1.2,,strength 0,, ,"
"
up_aoe,ffffffff,4,"[""aoe""]",Passive,[3],res://example/Random Upgrades/icons/all_icons/all_icons_6.tres,,[],f64c4cff,10,No,,,aoe 0,, ,"
"
up_magic,ffffffff,9,"[""magic""]",Passive,[1],res://example/Random Upgrades/icons/all_icons/all_icons_5.tres,,[],3073e6ff,10,No,,,magic 0,, ,"
"
up_strength,ffffffff,9,"[""strength""]",Passive,[0],res://example/Random Upgrades/icons/all_icons/all_icons_2.tres,,[],fa9534ff,10,No,,,strength 0,, ,"
"
weapon_axe,a2c2ffff,1,"[""strength"", ""melee"", ""weapon""]",Weapon,"[0, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ,"
"
weapon_blizzard,a2c2ffff,1,"[""weapon"", ""magic"", ""elemental""]",Weapon,"[1, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ,"
"
weapon_chaos_blast,a2c2ffff,1,"[""weapon"", ""magic"", ""projectile"", ""legendary""]",Weapon,"[1, 1, 1, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,res://example/Random Upgrades/new scene.tscn,[],6831d3ff,1,Yes,magic 2.0,,,weapon 4, ,"
"
weapon_dagger,a2c2ffff,1,"[""weapon"", ""strength"", ""projectile""]",Weapon,"[0, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ,"
"
weapon_fireball,a2c2ffff,1,"[""weapon"", ""magic"", ""projectile"", ""elemental""]",Weapon,"[1, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ,"
"
weapon_giga_sword,a2c2ffff,1,"[""weapon"", ""strength"", ""melee"", ""legendary""]",Weapon,"[0, 0, 0, 2]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,res://example/Random Upgrades/new scene.tscn,[],fdf033ff,1,Yes,strength 2.0,,,weapon 4, ,"
"
weapon_lightning,a2c2ffff,1,"[""weapon"", ""magic"", ""elemental""]",Weapon,"[1, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_4.tres,,[],3073e6ff,10,No,magic 2.0,,,weapon 4, ,"
"
weapon_spear,a2c2ffff,1,"[""weapon"", ""strength"", ""melee""]",Weapon,"[0, 3]",res://example/Random Upgrades/icons/all_icons/all_icons_3.tres,,[],fa9534ff,10,No,strength 2.0,,,weapon 4, ,"
"
1 resource_path color1 max_duplicates tags type attributes icon custom_scene prerequisites color2 base_weight is_notable multiplier_per_tag multiplier_if_tag_present multiplier_if_tag_not_present max_tags_present list_item_delimeter list_row_delimeter
2 elemental ffffffff 9 ["elemental"] Passive [1] res://example/Random Upgrades/icons/all_icons/all_icons_6.tres [] f64c4cff 10 No elemental 0
3 health ffffffff 9 ["health", "melee"] Passive [2] res://example/Random Upgrades/icons/all_icons/all_icons_1.tres [] 21ff3eff 10 No strength 1.5 melee 2.0
4 mastery_magic ffd829ff 9 ["magic", "mastery"] Mastery [1, 1, 4, 128] res://example/Random Upgrades/icons/all_icons/all_icons_5.tres [<Resource#-9223362430942252610>, <Resource#-9223362431630111165>, <Resource#-9223362430539588219>] 6831d3ff 1 Yes magic 1.2 magic 0
5 mastery_strength ffd829ff 9 ["strength", "mastery"] Mastery [0, 0, 4, 128] res://example/Random Upgrades/icons/all_icons/all_icons_2.tres [<Resource#-9223362431126801981>, <Resource#-9223362431932110301>, <Resource#-9223362430355050030>] fdf033ff 1 Yes strength 1.2 strength 0
6 up_aoe ffffffff 4 ["aoe"] Passive [3] res://example/Random Upgrades/icons/all_icons/all_icons_6.tres [] f64c4cff 10 No aoe 0
7 up_magic ffffffff 9 ["magic"] Passive [1] res://example/Random Upgrades/icons/all_icons/all_icons_5.tres [] 3073e6ff 10 No magic 0
8 up_strength ffffffff 9 ["strength"] Passive [0] res://example/Random Upgrades/icons/all_icons/all_icons_2.tres [] fa9534ff 10 No strength 0
9 weapon_axe a2c2ffff 1 ["strength", "melee", "weapon"] Weapon [0, 2] res://example/Random Upgrades/icons/all_icons/all_icons_3.tres [] fa9534ff 10 No strength 2.0 weapon 4
10 weapon_blizzard a2c2ffff 1 ["weapon", "magic", "elemental"] Weapon [1, 2] res://example/Random Upgrades/icons/all_icons/all_icons_4.tres [] 3073e6ff 10 No magic 2.0 weapon 4
11 weapon_chaos_blast a2c2ffff 1 ["weapon", "magic", "projectile", "legendary"] Weapon [1, 1, 1, 3] res://example/Random Upgrades/icons/all_icons/all_icons_4.tres res://example/Random Upgrades/new scene.tscn [] 6831d3ff 1 Yes magic 2.0 weapon 4
12 weapon_dagger a2c2ffff 1 ["weapon", "strength", "projectile"] Weapon [0, 3] res://example/Random Upgrades/icons/all_icons/all_icons_3.tres [] fa9534ff 10 No strength 2.0 weapon 4
13 weapon_fireball a2c2ffff 1 ["weapon", "magic", "projectile", "elemental"] Weapon [1, 2] res://example/Random Upgrades/icons/all_icons/all_icons_4.tres [] 3073e6ff 10 No magic 2.0 weapon 4
14 weapon_giga_sword a2c2ffff 1 ["weapon", "strength", "melee", "legendary"] Weapon [0, 0, 0, 2] res://example/Random Upgrades/icons/all_icons/all_icons_3.tres res://example/Random Upgrades/new scene.tscn [] fdf033ff 1 Yes strength 2.0 weapon 4
15 weapon_lightning a2c2ffff 1 ["weapon", "magic", "elemental"] Weapon [1, 3] res://example/Random Upgrades/icons/all_icons/all_icons_4.tres [] 3073e6ff 10 No magic 2.0 weapon 4
16 weapon_spear a2c2ffff 1 ["weapon", "strength", "melee"] Weapon [0, 3] res://example/Random Upgrades/icons/all_icons/all_icons_3.tres [] fa9534ff 10 No strength 2.0 weapon 4

@ -1,17 +0,0 @@
[remap]
importer="csv_translation"
type="Translation"
uid="uid://bd5cgapnqclvg"
[deps]
files=["res://example/Random Upgrades/upgrades_csv/upgrades.color1.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.tags.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.type.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.attributes.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.icon.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.custom.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.prerequisites.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.color2.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.base.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.is.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation"]
source_file="res://example/Random Upgrades/upgrades_csv/upgrades.csv"
dest_files=["res://example/Random Upgrades/upgrades_csv/upgrades.color1.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.tags.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.type.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.attributes.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.icon.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.custom.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.prerequisites.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.color2.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.base.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.is.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.multiplier.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.max.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation", "res://example/Random Upgrades/upgrades_csv/upgrades.list.translation"]
[params]
compress=true
delimiter=0

@ -5,3 +5,5 @@
[resource]
render_priority = 0
shader = ExtResource("1_0sxqg")
shader_parameter/target_position = Vector3(0, 1.28, 1)
shader_parameter/pixel_size = Vector2(0.02, 0.02)

@ -1,13 +1,24 @@
shader_type spatial;
uniform float target_y = 0;
uniform vec3 target_position = vec3(0, 1.28, 1);
varying vec3 world_position;
uniform vec2 pixel_size = vec2(0.02, 0.02);
void vertex()
{
world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
}
void fragment() {
float y = floor(world_position.y / 0.72) * 0.72;
ALBEDO = COLOR.rgb * y;
vec3 c = COLOR.rgb;
float offset_x = floor((world_position.x-target_position.x) / 0.64) * 0.64;
float offset_y = floor((world_position.y-target_position.y) / 0.64) * 0.64;
float offset_z = floor((world_position.z-target_position.z) / 0.64) * 0.64;
float brightness = clamp(1.0 + (offset_y)* 0.4,0.0,1.0);
float contrast = 1.0 - (abs(offset_y)) * 0.05;
float saturation = 1.0 - (abs(offset_y)) * 0.05;
c.rgb = mix(vec3(0.0), c.rgb, brightness);
c.rgb = mix(vec3(0.5), c.rgb, contrast);
c.rgb = mix(vec3(dot(vec3(1.0), c.rgb) * 0.33333), c.rgb, saturation);
ALBEDO = c.rgb;
}

@ -7,18 +7,18 @@ uniform vec2 screen_size = vec2(640., 360.);
void fragment(){
vec2 a = screen_size / size;
vec2 uv=UV*a;
vec2 i_uv = floor(uv);
vec2 f_uv = fract(uv);
float rate = (i_uv.x+i_uv.y)/(a.x+a.y) - position;
rate = pow(rate,3);
float wave = max(0.,rate);
vec2 center = f_uv*2.-1.;
float circle = abs(center.x)+abs(center.y);
circle = 1. - step(wave,circle);
COLOR=vec4(circle) * in_color;
}

File diff suppressed because one or more lines are too long

@ -5,6 +5,7 @@
[resource]
resource_name = "hero01_fist_air_skill01"
length = 0.9
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
@ -88,10 +89,10 @@ tracks/6/keys = {
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
"method": &"check_ground"
"method": &"attack1"
}, {
"args": [],
"method": &"attack1"
"method": &"attack2"
}]
}
tracks/7/type = "value"
@ -113,7 +114,7 @@ tracks/8/path = NodePath("Effect")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.2, 0.4),
"times": PackedFloat32Array(0.1, 0.4),
"transitions": PackedFloat32Array(1, 1),
"values": [{
"args": [],
@ -123,3 +124,17 @@ tracks/8/keys = {
"method": &"cast_attack_particle2_release"
}]
}
tracks/9/type = "method"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Battle")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"check_ground"
}]
}

@ -7,9 +7,9 @@
[ext_resource type="Script" path="res://script/character/move.gd" id="4_66r53"]
[ext_resource type="Texture2D" uid="uid://daqn6aqfp1hva" path="res://resource/animation/character/hero01_long_attack.png" id="4_fcd8a"]
[ext_resource type="Script" path="res://script/character/view.gd" id="4_vijjv"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="5_oukeb"]
[ext_resource type="Script" path="res://script/character/skill.gd" id="6_h4xqy"]
[ext_resource type="AnimationLibrary" uid="uid://croik07a1qko5" path="res://resource/skill_animation_library/animation_library.tres" id="6_pakq5"]
[ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="6_xxsnj"]
[ext_resource type="Script" path="res://script/character/battle.gd" id="8_w84sf"]
[ext_resource type="Script" path="res://script/character/buff.gd" id="9_jlnhy"]
[ext_resource type="Script" path="res://script/character/effect.gd" id="12_eyfcd"]
@ -73,8 +73,8 @@ pixel_size = 0.02
double_sided = false
alpha_cut = 2
texture_filter = 0
sprite_frames = ExtResource("5_oukeb")
animation = &"fist_attack05"
sprite_frames = ExtResource("6_xxsnj")
animation = &"fist_air_attack02"
script = ExtResource("4_vijjv")
[node name="Move" type="Node3D" parent="."]

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save