fuzzyworld

godot-shooter / files / weapons / Weapons.gd

Weapons.gd

Blame: the commit that last changed each line · file · history

bb5e0222 2023-11-08 Pavel Safronov1# Note: `tool` is optional but without it there are no error reporting in the editor
5e4e3a9c 2023-11-08 Pavel Safronov2tool
3
5320761c 2023-11-17 Pavel Safronov4const Constants = preload("res://utils/Constants.gd")
5
a5758228 2023-11-30 Pavel Safronov6static func create_non_gun() -> Weapon:
7 var weapon = Weapon.new()
8 weapon.shooting_range = 0
9 weapon.particle_lifetime_secs = 0
10 weapon.cooldown_seconds = 0
11 weapon.damage_amount = 10
12 weapon.name = ""
13 weapon.ammo = 0
14 weapon.reload_size = 0
15 return weapon
16
3fcb817e 2023-11-10 Pavel Safronov17static func create_basic_gun() -> Weapon:
4ac09ada 2023-11-09 Pavel Safronov18 var weapon = Weapon.new()
16938031 2023-11-17 Pavel Safronov19 weapon.particle = preload("res://weapons/Bullet.tscn")
56eea835 2023-12-02 Pavel Safronov20 weapon.shooting_range = 450
3fcb817e 2023-11-10 Pavel Safronov21 weapon.particle_lifetime_secs = 1
5320761c 2023-11-17 Pavel Safronov22 weapon.particle_speed = Constants.SPEED * 5
4ac09ada 2023-11-09 Pavel Safronov23 weapon.cooldown_seconds = 1
3fcb817e 2023-11-10 Pavel Safronov24 weapon.damage_amount = 10
c2827327 2023-11-10 Pavel Safronov25 weapon.ammo = INF
3fcb817e 2023-11-10 Pavel Safronov26 weapon.reload_size = 1
5e4e3a9c 2023-11-08 Pavel Safronov27 return weapon
bd0825dd 2023-11-09 Pavel Safronov28
0f8974b8 2023-12-01 Pavel Safronov29static func create_basic_enemy_gun() -> Weapon:
30 var weapon = Weapon.new()
31 weapon.particle = preload("res://weapons/Bullet.tscn")
a45831a2 2023-12-01 Pavel Safronov32 weapon.shooting_range = 300
c8aa3c68 2023-12-01 Pavel Safronov33 weapon.particle_lifetime_secs = .75
0f8974b8 2023-12-01 Pavel Safronov34 weapon.particle_speed = Constants.SPEED * 5
35 weapon.cooldown_seconds = 1
36 weapon.damage_amount = 1
37 weapon.ammo = INF
c8aa3c68 2023-12-01 Pavel Safronov38# weapon.reload_size = 1
0f8974b8 2023-12-01 Pavel Safronov39 return weapon
40
023ec2fb 2023-11-29 Pavel Safronov41static func create_smg_gun() -> Weapon:
3fcb817e 2023-11-10 Pavel Safronov42 var weapon = Weapon.new()
16938031 2023-11-17 Pavel Safronov43 weapon.particle = preload("res://weapons/Bullet.tscn")
5320761c 2023-11-17 Pavel Safronov44 weapon.shooting_range = 400
3fcb817e 2023-11-10 Pavel Safronov45 weapon.particle_lifetime_secs = 1
5320761c 2023-11-17 Pavel Safronov46 weapon.particle_speed = Constants.SPEED * 5
3fcb817e 2023-11-10 Pavel Safronov47 weapon.cooldown_seconds = .1
48 weapon.ammo = 50
49 weapon.name = "SMG"
50 weapon.damage_amount = 1
51 weapon.reload_size = 50
52 return weapon
53
54static func create_rocket_gun() -> Weapon:
4ac09ada 2023-11-09 Pavel Safronov55 var weapon = Weapon.new()
16938031 2023-11-17 Pavel Safronov56 weapon.particle = preload("res://weapons/Rocket.tscn")
c8aa3c68 2023-12-01 Pavel Safronov57 weapon.shooting_range = 300
ce0d0f72 2023-11-11 Pavel Safronov58 weapon.particle_lifetime_secs = 2
c8aa3c68 2023-12-01 Pavel Safronov59 weapon.particle_speed = Constants.SPEED * 3
60 weapon.cooldown_seconds = .1
61 weapon.ammo = 100
c2827327 2023-11-10 Pavel Safronov62 weapon.name = "Rocket"
c8aa3c68 2023-12-01 Pavel Safronov63 weapon.damage_amount = 2
64 weapon.reload_size = 100
bd0825dd 2023-11-09 Pavel Safronov65 return weapon