mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-08 20:57:13 +08:00
feat: 添加团子猫饲料和能量系统改进
- 新增团子猫饲料资源及配置 - 扩展FieldStore枚举添加节能和能量再生效率 - 改进EntityBase能量存储和使用逻辑 - 添加WorldManager运行时间追踪功能
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://b4fgrf0av1wxw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bykwevnv7keeh" path="res://components/Abstracts/FeedCardBase.tscn" id="1_niyn3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dye4dai4tem2" path="res://resources/feeds/dango cat.svg" id="2_lxrba"]
|
||||
|
||||
[node name="DangoCat" instance=ExtResource("1_niyn3")]
|
||||
avatarTexture = ExtResource("2_lxrba")
|
||||
displayName = "团子猫"
|
||||
quality = 3
|
||||
fields = Array[int]([17, 19, 10, 20])
|
||||
fieldValues = Array[float]([20.0, 0.05, 0.12, 0.1])
|
||||
costs = Array[int]([0, 1])
|
||||
costCounts = Array[int]([600, 400])
|
||||
|
||||
[node name="avatar" parent="container/info" index="0"]
|
||||
texture = ExtResource("2_lxrba")
|
||||
|
||||
[node name="name" parent="container/info" index="1"]
|
||||
displayName = "团子猫"
|
||||
quality = 3
|
||||
@@ -0,0 +1 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="61.49876" height="117.72954" viewBox="0,0,61.49876,117.72954"><g transform="translate(-209.25062,-121.13523)"><g data-paper-data="{"isPaintingLayer":true}" fill-rule="nonzero" stroke="#000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><path d="M212.45298,121.45117c4.27378,-1.68745 3.99111,1.73524 23.39137,52.09733c11.02954,29.4711 19.76067,53.61865 16.55011,54.62697c-4.68511,1.80854 -12.36182,-22.62622 -23.39136,-52.09733c-16.89172,-48.16374 -21.64214,-52.78237 -16.55012,-54.62697z" data-paper-data="{"index":null}" fill="#d99e82" stroke-width="0"/><path d="M231.66366,188.60508c-9.14277,0 -16.55443,-7.24756 -16.55443,-16.18792c0,-0.78587 -6.31352,-9.26285 -5.83245,-12.90786c0.40452,-2.76293 9.55433,-0.3003 11.53093,-0.54877c4.86102,-1.00187 5.4542,-2.73129 10.85596,-2.73129c1.57876,0 3.53694,-7.03389 6.07355,-5.48884c4.69159,2.85764 10.48089,15.87384 10.48089,21.67674c0,8.94036 -7.41168,16.18792 -16.55443,16.18792z" data-paper-data="{"index":null}" fill="#fcb1e3" stroke-width="0"/><path d="M254.49773,207.54343c-3.95019,2.74614 -8.14073,4.33933 -12.55592,4.76162c-4.55084,0.43525 -8.46053,0.76116 -12.24363,-2.3874c-7.45344,-6.20327 -8.34307,-19.21037 -2.19171,-24.55014c1.44594,-1.25547 3.26814,-2.45373 4.53075,-3.07615c1.76698,-0.87105 1.91986,-1.00055 5.71606,-1.94996c6.04389,-0.9383 9.92917,-0.90806 14.55274,2.94c7.45344,6.20327 8.43469,16.90662 2.19171,24.26203z" data-paper-data="{"index":null}" fill="#ffd983" stroke-width="0"/><path d="M232.32721,232.90573c-2.56114,-5.68425 -1.68892,-8.14742 -0.86406,-12.66379c1.34684,-6.26958 3.91259,-8.71043 9.84623,-10.86565c2.22542,-0.80831 7.74255,-2.38249 10.8511,-2.73285c3.62404,-0.35301 6.7831,0.58103 9.40006,2.45432c2.34915,1.68157 3.03827,2.18205 6.332,6.90816c2.62231,4.47889 4.4898,11.43587 0.7492,16.90554c-3.6011,5.26566 -11.02377,5.95331 -18.58348,5.95331c-8.33056,0 -15.04386,-0.62903 -17.73105,-5.95905z" data-paper-data="{"index":null}" fill="#a6d388" stroke-width="0"/><path d="M231.87007,170.77208c-1.41148,0 -2.55572,-1.14423 -2.55572,-2.55573c0,-1.41149 1.14423,-2.55572 2.55572,-2.55572c1.4115,0 2.55572,1.14422 2.55572,2.55572c0,1.4115 -1.14422,2.55573 -2.55572,2.55573z" data-paper-data="{"index":null}" fill="#000000" stroke-width="1.5"/><path d="M243.83381,164.03088z" data-paper-data="{"index":null}" fill="#000000" stroke-width="0"/><path d="M245.61169,164.9569c0,1.37058 -0.22211,1.74084 -1.59269,1.74084c-0.68528,0 -0.93531,-0.35186 -1.3844,-0.80094c-0.44908,-0.44908 -0.80093,-0.99542 -0.80093,-1.68071c0,-1.37058 -0.07421,-1.74085 1.29638,-1.74085c1.37058,0 2.48163,1.11107 2.48163,2.48165z" data-paper-data="{"index":null}" fill="#000000" stroke-width="1.5"/></g></g></svg><!--rotationCenter:44:44-->
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dye4dai4tem2"
|
||||
path="res://.godot/imported/dango cat.svg-5ead84624f78d05211c9ff1694e3b14e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://resources/feeds/dango cat.svg"
|
||||
dest_files=["res://.godot/imported/dango cat.svg-5ead84624f78d05211c9ff1694e3b14e.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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -26,13 +26,17 @@ var fields = {
|
||||
FieldStore.Entity.DROP_APPLE_RATE: 0,
|
||||
FieldStore.Entity.PENARATION_RESISTANCE: 0,
|
||||
FieldStore.Entity.LUCK_VALUE: 1,
|
||||
# 倍率
|
||||
# 治疗
|
||||
FieldStore.Entity.HEAL_ABILITY: 1,
|
||||
FieldStore.Entity.ENERGY_MULTIPILER: 1,
|
||||
# 价格减免
|
||||
FieldStore.Entity.PRICE_REDUCTION: 0,
|
||||
# 饲料
|
||||
FieldStore.Entity.FEED_COUNT_SHOW: 3,
|
||||
FieldStore.Entity.FEED_COUNT_CAN_MADE: 1,
|
||||
# 储能
|
||||
FieldStore.Entity.ENERGY_MULTIPILER: 1,
|
||||
FieldStore.Entity.SAVE_ENERGY: 1,
|
||||
FieldStore.Entity.ENERGY_REGENERATION: 1,
|
||||
}
|
||||
var inventory = {
|
||||
ItemStore.ItemType.BASEBALL: 100,
|
||||
@@ -42,7 +46,7 @@ var inventory = {
|
||||
var inventoryMax = {
|
||||
ItemStore.ItemType.BASEBALL: INF, # 无限
|
||||
ItemStore.ItemType.BASKETBALL: INF,
|
||||
ItemStore.ItemType.APPLE: 10, # 最多10个苹果
|
||||
ItemStore.ItemType.APPLE: 5, # 最多5个苹果
|
||||
}
|
||||
|
||||
@export var cooldownUnit: float = 100 # 100毫秒每次攻击
|
||||
@@ -121,7 +125,7 @@ func _physics_process(_delta: float) -> void:
|
||||
if isPlayer() or is_instance_valid(currentFocusedBoss):
|
||||
ai()
|
||||
move_and_slide()
|
||||
storeEnergy(0.01)
|
||||
storeEnergy(0.01 * fields.get(FieldStore.Entity.ENERGY_REGENERATION))
|
||||
|
||||
# 通用方法
|
||||
func applyLevel():
|
||||
@@ -165,6 +169,7 @@ func storeEnergy(value: float):
|
||||
energy += value * fields.get(FieldStore.Entity.ENERGY_MULTIPILER)
|
||||
energyChanged.emit(energy)
|
||||
func useEnergy(value: float):
|
||||
value /= fields.get(FieldStore.Entity.SAVE_ENERGY)
|
||||
var state = energy >= value
|
||||
if state:
|
||||
energy -= value
|
||||
|
||||
@@ -26,6 +26,8 @@ enum Entity {
|
||||
FEED_COUNT_CAN_MADE,
|
||||
MAX_ENERGY,
|
||||
LUCK_VALUE,
|
||||
SAVE_ENERGY,
|
||||
ENERGY_REGENERATION,
|
||||
}
|
||||
static var entityMap = {
|
||||
Entity.MAX_HEALTH: "生命上限",
|
||||
@@ -38,7 +40,7 @@ static var entityMap = {
|
||||
Entity.OFFSET_SHOOT: "散射角",
|
||||
Entity.HEAL_ABILITY: "治疗量",
|
||||
Entity.EXTRA_APPLE_MAX: "苹果上限",
|
||||
Entity.ENERGY_MULTIPILER: "能量倍率",
|
||||
Entity.ENERGY_MULTIPILER: "储能倍率",
|
||||
Entity.PENARATION_RESISTANCE: "穿透抗性",
|
||||
Entity.PRICE_REDUCTION: "饲料降价",
|
||||
Entity.EXTRA_BULLET_COUNT: "额外子弹",
|
||||
@@ -47,6 +49,8 @@ static var entityMap = {
|
||||
Entity.FEED_COUNT_CAN_MADE: "可制作饲料",
|
||||
Entity.MAX_ENERGY: "能量上限",
|
||||
Entity.LUCK_VALUE: "幸运值",
|
||||
Entity.SAVE_ENERGY: "节能",
|
||||
Entity.ENERGY_REGENERATION: "能量再生效率",
|
||||
}
|
||||
static var entityMapType = {
|
||||
Entity.MAX_HEALTH: DataType.VALUE,
|
||||
@@ -68,6 +72,8 @@ static var entityMapType = {
|
||||
Entity.FEED_COUNT_CAN_MADE: DataType.VALUE,
|
||||
Entity.MAX_ENERGY: DataType.VALUE,
|
||||
Entity.LUCK_VALUE: DataType.VALUE,
|
||||
Entity.SAVE_ENERGY: DataType.PERCENT,
|
||||
Entity.ENERGY_REGENERATION: DataType.PERCENT,
|
||||
}
|
||||
static var entityMaxValueMap = {
|
||||
Entity.CRIT_RATE: 1,
|
||||
|
||||
@@ -3,10 +3,15 @@ class_name WorldManager
|
||||
|
||||
static var rootNode: Node2D
|
||||
static var tree: SceneTree
|
||||
static var runningTime: float = 0
|
||||
|
||||
func _ready():
|
||||
tree = get_tree()
|
||||
rootNode = self
|
||||
func _physics_process(_delta):
|
||||
func _physics_process(delta):
|
||||
runningTime += delta
|
||||
if EntityBase.mobCount() == 0:
|
||||
UIState.setPanel("MakeFeed")
|
||||
|
||||
static func getTime():
|
||||
return runningTime
|
||||
|
||||
Reference in New Issue
Block a user