feat: 1. 添加武器基础脚本
2. 添加武器基本resources 3. 武器碰撞 RangeArea 进入和退出检测 4. 添加 Hitbox 进行武器碰撞敌人区域(只是添加了,功能还没实现) 5. 武器冷却时间 weapon_base / CooldownTimer
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
extends Resource
|
||||
class_name ItemBase
|
||||
|
||||
enum ItemType {
|
||||
WEAPON,
|
||||
UPGRADE,
|
||||
PASSIVE
|
||||
}
|
||||
|
||||
@export var item_name: String
|
||||
@export var item_icon: Texture2D
|
||||
@export var item_tier: Global.UpgradeTier
|
||||
@export var item_type: ItemType
|
||||
@export var item_cost: int
|
||||
|
||||
|
||||
func get_description() -> String:
|
||||
return ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://jdonfq601lgj
|
||||
@@ -0,0 +1,12 @@
|
||||
extends ItemBase
|
||||
class_name ItemWeapon
|
||||
|
||||
enum WeaponType {
|
||||
MELEE,
|
||||
RANGE
|
||||
}
|
||||
|
||||
@export var type: WeaponType
|
||||
@export var scene: PackedScene
|
||||
@export var stats: WeaponStats
|
||||
@export var upgradge_to: ItemWeapon
|
||||
@@ -0,0 +1 @@
|
||||
uid://26bxxaoso6np
|
||||
@@ -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"
|
||||
@@ -0,0 +1,18 @@
|
||||
extends Resource
|
||||
class_name WeaponStats
|
||||
|
||||
|
||||
@export var damage := 1.0
|
||||
@export_range(0.0,1.0) var accurary := 0.9
|
||||
@export_range(0.5,3.0) var cooldown := 1.0
|
||||
@export_range(0.0,1.0) var crit_chance := 0.05
|
||||
@export var crit_damage := 1.5
|
||||
@export var max_range := 150.0
|
||||
@export var knockback := 0.0
|
||||
@export_range(0.0,1.0) var life_steal := 0.0
|
||||
@export var recoil := 25.0
|
||||
@export_range(0.1,3.0) var recoil_duration := 0.0
|
||||
@export_range(0.1,3.0) var attack_duration := 0.2
|
||||
@export_range(0.1,3.0) var back_duration := 0.15
|
||||
@export var projectile_scene: PackedScene
|
||||
@export var projectile_speed := 1600.0
|
||||
@@ -0,0 +1 @@
|
||||
uid://d3d6rctbb48mk
|
||||
Reference in New Issue
Block a user