mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-30 15:22:30 +08:00
feat(武器系统): 调整武器升级逻辑并添加等级显示
- 修改PurpleCrystal和LGBT武器的属性增长系数 - 武器升级时增加等级并调整消耗计算 - 在UI中添加武器等级显示 - 升级后自动更新武器信息
This commit is contained in:
@@ -3,10 +3,10 @@
|
|||||||
[ext_resource type="Theme" uid="uid://bje5cd08dyok7" path="res://themes/bigTextAndBold.tres" id="2_y8dft"]
|
[ext_resource type="Theme" uid="uid://bje5cd08dyok7" path="res://themes/bigTextAndBold.tres" id="2_y8dft"]
|
||||||
[ext_resource type="Script" path="res://scripts/Statemachine/WeaponName.gd" id="3_g750e"]
|
[ext_resource type="Script" path="res://scripts/Statemachine/WeaponName.gd" id="3_g750e"]
|
||||||
|
|
||||||
[sub_resource type="LabelSettings" id="LabelSettings_k3i20"]
|
[sub_resource type="LabelSettings" id="LabelSettings_1vypy"]
|
||||||
font_size = 12
|
font_size = 12
|
||||||
|
|
||||||
[sub_resource type="LabelSettings" id="LabelSettings_07pas"]
|
[sub_resource type="LabelSettings" id="LabelSettings_pyxdw"]
|
||||||
font_size = 12
|
font_size = 12
|
||||||
|
|
||||||
[node name="WeaponName" type="HBoxContainer"]
|
[node name="WeaponName" type="HBoxContainer"]
|
||||||
@@ -34,7 +34,7 @@ unique_name_in_owner = true
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
text = "[普通]"
|
text = "[普通]"
|
||||||
label_settings = SubResource("LabelSettings_k3i20")
|
label_settings = SubResource("LabelSettings_1vypy")
|
||||||
|
|
||||||
[node name="label" type="RichTextLabel" parent="."]
|
[node name="label" type="RichTextLabel" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -45,9 +45,19 @@ text = "[b]未命名武器[/b]"
|
|||||||
fit_content = true
|
fit_content = true
|
||||||
autowrap_mode = 0
|
autowrap_mode = 0
|
||||||
|
|
||||||
|
[node name="level" type="RichTextLabel" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 8
|
||||||
|
theme = ExtResource("2_y8dft")
|
||||||
|
bbcode_enabled = true
|
||||||
|
text = "[b]Lv.1[/b]"
|
||||||
|
fit_content = true
|
||||||
|
autowrap_mode = 0
|
||||||
|
|
||||||
[node name="typeTopic" type="Label" parent="."]
|
[node name="typeTopic" type="Label" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 8
|
size_flags_vertical = 8
|
||||||
text = "[冲击]"
|
text = "[冲击]"
|
||||||
label_settings = SubResource("LabelSettings_07pas")
|
label_settings = SubResource("LabelSettings_pyxdw")
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ extends Weapon
|
|||||||
class_name LGBTWeapon
|
class_name LGBTWeapon
|
||||||
|
|
||||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||||
origin["atk"] += 5 * to
|
origin["atk"] += 2 * to
|
||||||
origin["count"] += 1
|
origin["count"] += 1
|
||||||
origin["power"] += 0.05
|
origin["power"] += 0.03
|
||||||
origin["trace"] += 0.25
|
origin["trace"] += 0.25
|
||||||
origin["angle"] /= 1.1
|
origin["angle"] -= 0.1
|
||||||
return origin
|
return origin
|
||||||
func attack(entity: EntityBase):
|
func attack(entity: EntityBase):
|
||||||
var weaponPos = entity.findWeaponAnchor("normal")
|
var weaponPos = entity.findWeaponAnchor("normal")
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extends Weapon
|
|||||||
class_name PurpleCrystalWeapon
|
class_name PurpleCrystalWeapon
|
||||||
|
|
||||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||||
origin["atk"] += 5 * to
|
origin["atk"] += 2 * to
|
||||||
return origin
|
return origin
|
||||||
func attack(entity: EntityBase):
|
func attack(entity: EntityBase):
|
||||||
var weaponPos = entity.findWeaponAnchor("normal")
|
var weaponPos = entity.findWeaponAnchor("normal")
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ enum TypeTopic {
|
|||||||
@export var displayName: String = "未命名武器"
|
@export var displayName: String = "未命名武器"
|
||||||
@export var quality: Quality = Quality.COMMON
|
@export var quality: Quality = Quality.COMMON
|
||||||
@export var typeTopic: TypeTopic = TypeTopic.IMPACT
|
@export var typeTopic: TypeTopic = TypeTopic.IMPACT
|
||||||
|
@export var level: int = 0
|
||||||
@export var qualityColorMap = {
|
@export var qualityColorMap = {
|
||||||
Quality.WASTE: Color(),
|
Quality.WASTE: Color(),
|
||||||
Quality.COMMON: Color(),
|
Quality.COMMON: Color(),
|
||||||
@@ -63,6 +64,7 @@ enum TypeTopic {
|
|||||||
@onready var qualityLabel: Label = $"%quality"
|
@onready var qualityLabel: Label = $"%quality"
|
||||||
@onready var typeTopicLabel: Label = $"%typeTopic"
|
@onready var typeTopicLabel: Label = $"%typeTopic"
|
||||||
@onready var nameLabel: RichTextLabel = $"%label"
|
@onready var nameLabel: RichTextLabel = $"%label"
|
||||||
|
@onready var levelLabel: RichTextLabel = $"%level"
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
qualityLabel.label_settings = qualityLabel.label_settings.duplicate()
|
qualityLabel.label_settings = qualityLabel.label_settings.duplicate()
|
||||||
@@ -73,6 +75,7 @@ func _physics_process(_delta):
|
|||||||
typeTopicLabel.text = "[%s]" % typeTopicNameMap[typeTopic]
|
typeTopicLabel.text = "[%s]" % typeTopicNameMap[typeTopic]
|
||||||
typeTopicLabel.label_settings.font_color = typeTopicColor()
|
typeTopicLabel.label_settings.font_color = typeTopicColor()
|
||||||
nameLabel.text = "[b]%s[/b]" % displayName
|
nameLabel.text = "[b]%s[/b]" % displayName
|
||||||
|
levelLabel.text = "[b]Lv.%d[/b]" % (level + 1)
|
||||||
func qualityColor():
|
func qualityColor():
|
||||||
return qualityColorMap[quality] as Color
|
return qualityColorMap[quality] as Color
|
||||||
func typeTopicColor():
|
func typeTopicColor():
|
||||||
|
|||||||
@@ -50,8 +50,11 @@ func allHad(entity: EntityBase) -> bool:
|
|||||||
func apply(entity: EntityBase):
|
func apply(entity: EntityBase):
|
||||||
var allHave = allHad(entity)
|
var allHave = allHad(entity)
|
||||||
if allHave:
|
if allHave:
|
||||||
|
level += 1
|
||||||
entity.inventory[ItemStore.ItemType.BEACHBALL] -= costBeachball
|
entity.inventory[ItemStore.ItemType.BEACHBALL] -= costBeachball
|
||||||
store = update(level + 1, originalStore.duplicate(), entity)
|
store = update(level, originalStore.duplicate(), entity)
|
||||||
|
costBeachball *= 2
|
||||||
|
rebuildInfo()
|
||||||
return allHave
|
return allHave
|
||||||
func multipiler() -> float:
|
func multipiler() -> float:
|
||||||
if is_instance_valid(UIState.player):
|
if is_instance_valid(UIState.player):
|
||||||
@@ -63,6 +66,7 @@ func rebuildInfo():
|
|||||||
nameLabel.displayName = displayName
|
nameLabel.displayName = displayName
|
||||||
nameLabel.quality = quality
|
nameLabel.quality = quality
|
||||||
nameLabel.typeTopic = typeTopic
|
nameLabel.typeTopic = typeTopic
|
||||||
|
nameLabel.level = level
|
||||||
energyLabel.text = "%.1f" % needEnergy
|
energyLabel.text = "%.1f" % needEnergy
|
||||||
beachballLabel.text = str(costBeachball)
|
beachballLabel.text = str(costBeachball)
|
||||||
descriptionLabel.text = buildDescription()
|
descriptionLabel.text = buildDescription()
|
||||||
|
|||||||
Reference in New Issue
Block a user