mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-04 10:47:13 +08:00
feat(召唤系统): 实现彩虹旗召唤物及相关功能
添加SummonBase作为召唤物基类,实现LGBTFlag召唤物 修改LGBTWeapon从发射子弹改为召唤彩虹旗 在ComponentManager中添加召唤物管理功能 更新公鸡角色预设使用彩虹旗武器
This commit is contained in:
@@ -4,20 +4,12 @@ class_name LGBTWeapon
|
||||
|
||||
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||
origin["atk"] += 5 * to * soulLevel
|
||||
origin["count"] += to * soulLevel
|
||||
origin["power"] += 0.05 * to * soulLevel
|
||||
origin["trace"] += 0.25 * to * soulLevel
|
||||
origin["angle"] /= 1 + 0.05 * to * soulLevel
|
||||
return origin
|
||||
func attack(entity: EntityBase):
|
||||
var weaponPos = entity.findWeaponAnchor("normal")
|
||||
var facingAngle = (get_global_mouse_position() - weaponPos).angle()
|
||||
var startAngle = facingAngle - deg_to_rad(readStore("angle") * (readStore("count") / 2))
|
||||
for i in range(int(readStore("count"))):
|
||||
for j in BulletBase.generate(ComponentManager.getBullet("LGBTBullet"), entity, weaponPos, startAngle + deg_to_rad(readStore("angle") * i)):
|
||||
var bullet: LGBTBullet = j
|
||||
bullet.damage = readStore("atk")
|
||||
bullet.tracer = EntityTool.findClosetEntity(get_global_mouse_position(), get_tree(), !entity.isPlayer(), entity.isPlayer())
|
||||
bullet.maxTraceTime = readStore("trace") * 1000
|
||||
bullet.tracePower = readStore("power")
|
||||
var summon = entity.summon(ComponentManager.getSummon("LGBTFlag"))
|
||||
summon.atk = readStore("atk")
|
||||
summon.maxTraceTime = readStore("trace") * 1000
|
||||
summon.tracePower = readStore("power")
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user