feat: 1. 添加武器基础脚本

2. 添加武器基本resources
3. 武器碰撞 RangeArea 进入和退出检测
4. 添加 Hitbox 进行武器碰撞敌人区域(只是添加了,功能还没实现)
5. 武器冷却时间 weapon_base / CooldownTimer
This commit is contained in:
luke358
2026-05-19 00:22:38 +08:00
parent 883a9b4c05
commit 7c7b2e9420
19 changed files with 263 additions and 0 deletions
@@ -0,0 +1,17 @@
[gd_resource type="Resource" script_class="ItemWeapon" format=3 uid="uid://murcuuks1j8l"]
[ext_resource type="Texture2D" uid="uid://cyh23wqn8vcac" path="res://assets/sprites/Weapons/Icons/weapon_punch_icon.png" id="1_h03dk"]
[ext_resource type="Script" uid="uid://26bxxaoso6np" path="res://resources/items/weapons/item_weapon.gd" id="1_o6o4d"]
[ext_resource type="PackedScene" uid="uid://d1igydtpm3sq8" path="res://scenes/weapons/melee/weapon_punch.tscn" id="2_rm85p"]
[ext_resource type="Resource" uid="uid://dqsjrkb2ehidv" path="res://resources/items/weapons/melee/punch/stats_punch_1.tres" id="3_ftcsy"]
[ext_resource type="Resource" uid="uid://cakw72u61qp80" path="res://resources/items/weapons/melee/punch/item_punch_2.tres" id="4_k4o1h"]
[resource]
script = ExtResource("1_o6o4d")
scene = ExtResource("2_rm85p")
stats = ExtResource("3_ftcsy")
upgradge_to = ExtResource("4_k4o1h")
item_name = "Punch I"
item_icon = ExtResource("1_h03dk")
item_cost = 12
metadata/_custom_type_script = "uid://26bxxaoso6np"
@@ -0,0 +1,18 @@
[gd_resource type="Resource" script_class="ItemWeapon" format=3 uid="uid://cakw72u61qp80"]
[ext_resource type="Texture2D" uid="uid://cyh23wqn8vcac" path="res://assets/sprites/Weapons/Icons/weapon_punch_icon.png" id="1_wrw2j"]
[ext_resource type="Script" uid="uid://26bxxaoso6np" path="res://resources/items/weapons/item_weapon.gd" id="2_amj6w"]
[ext_resource type="PackedScene" uid="uid://d1igydtpm3sq8" path="res://scenes/weapons/melee/weapon_punch.tscn" id="2_igce5"]
[ext_resource type="Resource" uid="uid://c6a44r3a7jmyd" path="res://resources/items/weapons/melee/punch/stats_punch_2.tres" id="3_wrw2j"]
[ext_resource type="Resource" uid="uid://h4jqjg8mu53b" path="res://resources/items/weapons/melee/punch/item_punch_3.tres" id="4_amj6w"]
[resource]
script = ExtResource("2_amj6w")
scene = ExtResource("2_igce5")
stats = ExtResource("3_wrw2j")
upgradge_to = ExtResource("4_amj6w")
item_name = "Punch II"
item_icon = ExtResource("1_wrw2j")
item_tier = 1
item_cost = 25
metadata/_custom_type_script = "uid://26bxxaoso6np"
@@ -0,0 +1,18 @@
[gd_resource type="Resource" script_class="ItemWeapon" format=3 uid="uid://h4jqjg8mu53b"]
[ext_resource type="Texture2D" uid="uid://cyh23wqn8vcac" path="res://assets/sprites/Weapons/Icons/weapon_punch_icon.png" id="1_c6qlh"]
[ext_resource type="PackedScene" uid="uid://d1igydtpm3sq8" path="res://scenes/weapons/melee/weapon_punch.tscn" id="2_nyb4v"]
[ext_resource type="Script" uid="uid://26bxxaoso6np" path="res://resources/items/weapons/item_weapon.gd" id="2_tds7r"]
[ext_resource type="Resource" uid="uid://dwdqmgsh0e417" path="res://resources/items/weapons/melee/punch/stats_punch_3.tres" id="3_c6qlh"]
[ext_resource type="Resource" uid="uid://b535w50o17ui" path="res://resources/items/weapons/melee/punch/item_punch_4.tres" id="4_tds7r"]
[resource]
script = ExtResource("2_tds7r")
scene = ExtResource("2_nyb4v")
stats = ExtResource("3_c6qlh")
upgradge_to = ExtResource("4_tds7r")
item_name = "Punch III"
item_icon = ExtResource("1_c6qlh")
item_tier = 2
item_cost = 55
metadata/_custom_type_script = "uid://26bxxaoso6np"
@@ -0,0 +1,16 @@
[gd_resource type="Resource" script_class="ItemWeapon" format=3 uid="uid://b535w50o17ui"]
[ext_resource type="Texture2D" uid="uid://cyh23wqn8vcac" path="res://assets/sprites/Weapons/Icons/weapon_punch_icon.png" id="1_f1uf4"]
[ext_resource type="Script" uid="uid://26bxxaoso6np" path="res://resources/items/weapons/item_weapon.gd" id="2_503wk"]
[ext_resource type="PackedScene" uid="uid://d1igydtpm3sq8" path="res://scenes/weapons/melee/weapon_punch.tscn" id="2_tm866"]
[ext_resource type="Resource" uid="uid://d32uq8u04r5t7" path="res://resources/items/weapons/melee/punch/stats_punch_4.tres" id="3_f1uf4"]
[resource]
script = ExtResource("2_503wk")
scene = ExtResource("2_tm866")
stats = ExtResource("3_f1uf4")
item_name = "Punch IV"
item_icon = ExtResource("1_f1uf4")
item_tier = 3
item_cost = 130
metadata/_custom_type_script = "uid://26bxxaoso6np"
@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="WeaponStats" format=3 uid="uid://dqsjrkb2ehidv"]
[ext_resource type="Script" uid="uid://d3d6rctbb48mk" path="res://resources/items/weapons/weapon_stats.gd" id="1_b0adc"]
[resource]
script = ExtResource("1_b0adc")
damage = 4.0
accurary = 1.0
cooldown = 1.5
max_range = 180.0
knockback = 1.0
metadata/_custom_type_script = "uid://d3d6rctbb48mk"
@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="WeaponStats" format=3 uid="uid://c6a44r3a7jmyd"]
[ext_resource type="Script" uid="uid://d3d6rctbb48mk" path="res://resources/items/weapons/weapon_stats.gd" id="1_ccedh"]
[resource]
script = ExtResource("1_ccedh")
damage = 8.0
accurary = 1.0
cooldown = 1.2
max_range = 180.0
knockback = 1.0
metadata/_custom_type_script = "uid://d3d6rctbb48mk"
@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="WeaponStats" format=3 uid="uid://dwdqmgsh0e417"]
[ext_resource type="Script" uid="uid://d3d6rctbb48mk" path="res://resources/items/weapons/weapon_stats.gd" id="1_jst7l"]
[resource]
script = ExtResource("1_jst7l")
damage = 16.0
accurary = 1.0
cooldown = 0.9
max_range = 180.0
knockback = 1.0
metadata/_custom_type_script = "uid://d3d6rctbb48mk"
@@ -0,0 +1,14 @@
[gd_resource type="Resource" script_class="WeaponStats" format=3 uid="uid://d32uq8u04r5t7"]
[ext_resource type="Script" uid="uid://d3d6rctbb48mk" path="res://resources/items/weapons/weapon_stats.gd" id="1_kkanm"]
[resource]
script = ExtResource("1_kkanm")
damage = 30.0
accurary = 1.0
cooldown = 0.7
crit_chance = 0.1
crit_damage = 2.0
max_range = 200.0
knockback = 1.0
metadata/_custom_type_script = "uid://d3d6rctbb48mk"