初次提交
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
## ProjectileDef — 弹道生成参数描述
|
||||
## ACTION 节点写入,SpellEvaluator 读取并调用 BulletManager.spawn_bullet
|
||||
## 跨切片约束:reset() 必须重置 spawn_position(P6-N41)
|
||||
extends RefCounted
|
||||
class_name ProjectileDef
|
||||
|
||||
var spawn_position: Vector2 = Vector2.ZERO # P6-N41: 必须在 reset() 中重置
|
||||
var direction: Vector2 = Vector2.RIGHT
|
||||
var speed: float = 300.0
|
||||
var lifetime: float = 4.0
|
||||
var radius: float = 6.0
|
||||
var base_damage: float = 3.0
|
||||
var damage_mult: float = 1.0
|
||||
var damage_type: int = 0 # DamageType.PHYSICAL
|
||||
var owner_id: int = 0
|
||||
var source_tags: int = 0
|
||||
var acceleration: float = 0.0
|
||||
var on_hit_payload_id: int = -1 # -1 = 无触发
|
||||
var pierce_remaining: int = 0
|
||||
var bounce_remaining: int = 0
|
||||
|
||||
func reset() -> void:
|
||||
spawn_position = Vector2.ZERO # P6-N41
|
||||
direction = Vector2.RIGHT
|
||||
speed = 300.0
|
||||
lifetime = 4.0
|
||||
radius = 6.0
|
||||
base_damage = 3.0
|
||||
damage_mult = 1.0
|
||||
damage_type = 0
|
||||
owner_id = 0
|
||||
source_tags = 0
|
||||
acceleration = 0.0
|
||||
on_hit_payload_id = -1
|
||||
pierce_remaining = 0
|
||||
bounce_remaining = 0
|
||||
|
||||
func get_velocity() -> Vector2:
|
||||
return direction.normalized() * speed
|
||||
Reference in New Issue
Block a user