diff --git a/scripts/Contents/Weapons/Bow.gd b/scripts/Contents/Weapons/Bow.gd index 766c479..02ac6d9 100644 --- a/scripts/Contents/Weapons/Bow.gd +++ b/scripts/Contents/Weapons/Bow.gd @@ -18,3 +18,4 @@ func attack(entity: EntityBase): var bullet: Bow = i bullet.count = readStore("count") bullet.atk = readStore("atk") + return true diff --git a/scripts/Contents/Weapons/GrassWall.gd b/scripts/Contents/Weapons/GrassWall.gd index 542ef3e..b62d676 100644 --- a/scripts/Contents/Weapons/GrassWall.gd +++ b/scripts/Contents/Weapons/GrassWall.gd @@ -2,13 +2,14 @@ extends Weapon func update(to: int, origin: Dictionary, _entity: EntityBase): - origin["atk"] += 1 * to * soulLevel - return origin + origin["atk"] += 1 * to * soulLevel + return origin func attack(entity: EntityBase): - var wall = ObstacleBase.generate( - ComponentManager.getObstacle("GrassWall"), - get_global_mouse_position(), - entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()), - entity - ) - wall.initHealth(readStore("atk")) + var wall = ObstacleBase.generate( + ComponentManager.getObstacle("GrassWall"), + get_global_mouse_position(), + entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()), + entity + ) + wall.initHealth(readStore("atk")) + return true diff --git a/scripts/Contents/Weapons/HXD.gd b/scripts/Contents/Weapons/HXD.gd index cf9b495..49011f7 100644 --- a/scripts/Contents/Weapons/HXD.gd +++ b/scripts/Contents/Weapons/HXD.gd @@ -2,17 +2,18 @@ extends Weapon func update(to: int, origin: Dictionary, _entity: EntityBase): - origin["atk"] += 2 * to * soulLevel - origin["count"] += 2 * (soulLevel - 1) - return origin + origin["atk"] += 2 * to * soulLevel + origin["count"] += 2 * (soulLevel - 1) + return origin func attack(entity: EntityBase): - for i in readStore("count"): - for bullet in BulletBase.generate( - ComponentManager.getBullet("HXD"), - entity, - entity.findWeaponAnchor("normal"), - entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()) + deg_to_rad(randf_range(-1, 1) * 4) - ): - if bullet is HXDBullet: - bullet.maxBouncedTime = readStore("atk") - bullet.baseDamage = readStore("atk") + for i in readStore("count"): + for bullet in BulletBase.generate( + ComponentManager.getBullet("HXD"), + entity, + entity.findWeaponAnchor("normal"), + entity.findWeaponAnchor("normal").angle_to_point(get_global_mouse_position()) + deg_to_rad(randf_range(-1, 1) * 4) + ): + if bullet is HXDBullet: + bullet.maxBouncedTime = readStore("atk") + bullet.baseDamage = readStore("atk") + return true diff --git a/scripts/Contents/Weapons/Oxygener.gd b/scripts/Contents/Weapons/Oxygener.gd index a624b97..2e88e25 100644 --- a/scripts/Contents/Weapons/Oxygener.gd +++ b/scripts/Contents/Weapons/Oxygener.gd @@ -2,21 +2,22 @@ extends Weapon func update(to: int, origin: Dictionary, _entity: EntityBase): - origin["atk"] += 1 * to * soulLevel - origin["fireatk"] += 0.5 * to * soulLevel - origin["max-n"] += 2 * soulLevel - return origin + origin["atk"] += 1 * to * soulLevel + origin["fireatk"] += 0.5 * to * soulLevel + origin["max-n"] += 2 * soulLevel + return origin func attack(entity: EntityBase): - var bulletName = MathTool.randomChoiceFromWeights(["OxygenFire", "AcidN"], [10, 1]) - for i in randi_range(readStore("min-n"), readStore("max-n")) if bulletName == "AcidN" else 1: - for bullet in BulletBase.generate( - ComponentManager.getBullet(bulletName), - entity, - entity.findWeaponAnchor("normal"), - entity.position.angle_to_point(get_global_mouse_position()), - ): - if bullet is OxygenFire: - bullet.baseDamage = readStore("fireatk") - elif bullet is AcidN: - bullet.baseDamage = readStore("atk") - bullet.lifeTime *= 0.5 + var bulletName = MathTool.randomChoiceFromWeights(["OxygenFire", "AcidN"], [10, 1]) + for i in randi_range(readStore("min-n"), readStore("max-n")) if bulletName == "AcidN" else 1: + for bullet in BulletBase.generate( + ComponentManager.getBullet(bulletName), + entity, + entity.findWeaponAnchor("normal"), + entity.position.angle_to_point(get_global_mouse_position()), + ): + if bullet is OxygenFire: + bullet.baseDamage = readStore("fireatk") + elif bullet is AcidN: + bullet.baseDamage = readStore("atk") + bullet.lifeTime *= 0.5 + return true diff --git a/scripts/Contents/Weapons/SevenSoul.gd b/scripts/Contents/Weapons/SevenSoul.gd index dbb54fe..ea93a66 100644 --- a/scripts/Contents/Weapons/SevenSoul.gd +++ b/scripts/Contents/Weapons/SevenSoul.gd @@ -1,6 +1,11 @@ @tool extends Weapon +func update(to, origin, _entity): + origin["atk"] += 1 * to * soulLevel + origin["dmg"] += 0.02 * to * soulLevel + origin["heal"] += 0.1 * to * soulLevel + return origin func attack(entity: EntityBase): playSound("attack") for i in 6: @@ -11,8 +16,4 @@ func attack(entity: EntityBase): bullet.energyCollect = readStore("dmg") bullet.healAmount = readStore("heal") await TickTool.millseconds(15000 / 6.0) -func update(to, origin, _entity): - origin["atk"] += 1 * to * soulLevel - origin["dmg"] += 0.02 * to * soulLevel - origin["heal"] += 0.1 * to * soulLevel - return origin + return true diff --git a/scripts/Contents/Weapons/Volcano.gd b/scripts/Contents/Weapons/Volcano.gd index 388ee1c..2559195 100644 --- a/scripts/Contents/Weapons/Volcano.gd +++ b/scripts/Contents/Weapons/Volcano.gd @@ -24,3 +24,4 @@ func attack(entity: EntityBase): bullet.damageMultipliers = [readStore("dmg1"), readStore("dmg2"), readStore("dmg3"), readStore("dmg4")] bullet.count = readStore("count") bullet.dmg5 = readStore("dmg5") + return true