mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 15:01:53 +08:00
feat(游戏内容): 添加能量方块角色和矢量核心武器
添加新的能量方块角色实体及其相关资源文件 新增矢量核心武器卡牌配置 调整彩虹糖的数值平衡 修改波次生成逻辑,允许Boss波次生成小怪 修复红水晶子弹在发射者无效时的崩溃问题
This commit is contained in:
@@ -13,6 +13,7 @@ func ai():
|
||||
func destroy(_beacuseMap: bool):
|
||||
hitbox.shape.radius = radius
|
||||
EffectController.create(ComponentManager.getEffect("RedCrystalExplosion"), global_position).shot()
|
||||
if !is_instance_valid(launcher):return
|
||||
for i in randi_range(1, count):
|
||||
for bullet in BulletBase.generate(ComponentManager.getBullet("CrystalBlock"), launcher, position, deg_to_rad(randf_range(0, 360))):
|
||||
if bullet is CrystalBlockBullet:
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
extends EntityBase
|
||||
class_name EnergyBlockEntity
|
||||
|
||||
func register():
|
||||
fields[FieldStore.Entity.MAX_HEALTH] = 5000
|
||||
hit.connect(
|
||||
func(damage: float, bullet: BulletBase, _crit: bool):
|
||||
bullet.launcher.storeEnergy(damage)
|
||||
)
|
||||
attackCooldownMap[0] = 0
|
||||
func ai():
|
||||
tryAttack(0)
|
||||
func attack(type: int):
|
||||
if type == 0:
|
||||
var track = getTrackingAnchor()
|
||||
var bullet = BulletTool.findClosetBulletCanDamage(track, get_tree(), self , 200)
|
||||
if is_instance_valid(bullet):
|
||||
BulletBase.generate(ComponentManager.getBullet("Parrier"), self , track, track.angle_to_point(bullet.position))
|
||||
@@ -0,0 +1 @@
|
||||
uid://du30qanswie6y
|
||||
@@ -48,10 +48,12 @@ static var WAVE_MOWING = [
|
||||
Wave.create("Hen", 15, 30, false, 0, INF, 1),
|
||||
Wave.create("Cat", 15, 30, false, 0, INF, 1),
|
||||
Wave.create("Dog", 15, 30, false, 0, INF, 1),
|
||||
Wave.create("MTY", 1, 5, false, 0, INF, 1),
|
||||
Wave.create("MTY", 0, 2, false, 0, INF, 1),
|
||||
Wave.create("EnergyBlock", 0, 1, true, 0, INF, 1),
|
||||
]
|
||||
static var WAVE_TESTMOB = [
|
||||
Wave.create("MTY", 1, 1, false, 0, INF, 1)
|
||||
Wave.create("EnergyBlock", 1, 1, true, 0, INF, 1),
|
||||
# Wave.create("MTY", 1, 1, false, 0, INF, 1),
|
||||
]
|
||||
static var WAVE_EMPTY = []
|
||||
static var waveReleaseConfig = [WAVE_TESTBOSS, 1]
|
||||
@@ -90,7 +92,7 @@ static func entityCountOf(wave: Wave) -> int:
|
||||
if canSpawn(wave):
|
||||
if wave.isBoss:
|
||||
return 1
|
||||
elif !hasBoss():
|
||||
elif !hasBoss() || GameRule.canSpawnMobWhenBossWave:
|
||||
return randi_range(ceil(wave.minCount), floor(wave.maxCount * (1 + GameRule.entityCountBoostPerWave * current)))
|
||||
return 0
|
||||
static func getNextBossInfo() -> Array:
|
||||
|
||||
Reference in New Issue
Block a user