[MIRROR] fix basic mobs ranged burst attacks [MDB IGNORE] (#23554)

* fix basic mobs ranged burst attacks (#78163)

## About The Pull Request
the burst attacks wasnt working because a cooldown in the ranged
component qwas added recently. this now moves the burst attacks option
to the component itself so even sapiant player mobs can use these burst
ranged attacks

## Why It's Good For The Game
fix basic mobs ranged burst attacks

## Changelog
🆑
fix: basic mobs can now use ranged burst attacks
/🆑

* fix basic mobs ranged burst attacks

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-09-06 21:55:29 -04:00
committed by GitHub
co-authored by Ben10Omintrix
parent 0df547e3f2
commit cafdcdd886
5 changed files with 40 additions and 21 deletions
@@ -138,12 +138,20 @@
var/casingtype = /obj/item/ammo_casing/c9mm
/// Sound to play when firing weapon
var/projectilesound = 'sound/weapons/gun/pistol/shot.ogg'
/// number of burst shots
var/burst_shots
/// Time between taking shots
var/ranged_cooldown = 1 SECONDS
/mob/living/basic/syndicate/ranged/Initialize(mapload)
. = ..()
AddComponent(/datum/component/ranged_attacks, casing_type = casingtype, projectile_sound = projectilesound, cooldown_time = ranged_cooldown)
AddComponent(\
/datum/component/ranged_attacks,\
casing_type = casingtype,\
projectile_sound = projectilesound,\
cooldown_time = ranged_cooldown,\
burst_shots = burst_shots,\
)
/mob/living/basic/syndicate/ranged/infiltrator //shuttle loan event
projectilesound = 'sound/weapons/gun/smg/shot_suppressed.ogg'
@@ -172,6 +180,7 @@
casingtype = /obj/item/ammo_casing/c45
projectilesound = 'sound/weapons/gun/smg/shot.ogg'
ai_controller = /datum/ai_controller/basic_controller/syndicate/ranged/burst
burst_shots = 3
ranged_cooldown = 3 SECONDS
r_hand = /obj/item/gun/ballistic/automatic/c20r
@@ -203,6 +212,7 @@
casingtype = /obj/item/ammo_casing/shotgun/buckshot //buckshot (up to 72.5 brute) fired in a two-round burst
ai_controller = /datum/ai_controller/basic_controller/syndicate/ranged/shotgunner
ranged_cooldown = 3 SECONDS
burst_shots = 2
r_hand = /obj/item/gun/ballistic/shotgun/bulldog
/mob/living/basic/syndicate/ranged/shotgun/space
@@ -49,7 +49,6 @@
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/syndicate_burst
/datum/ai_behavior/basic_ranged_attack/syndicate_burst
shots = 3
action_cooldown = 3 SECONDS
/datum/ai_controller/basic_controller/syndicate/ranged/shotgunner
@@ -62,8 +61,6 @@
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/syndicate_shotgun
/datum/ai_behavior/basic_ranged_attack/syndicate_shotgun
shots = 2
burst_interval = 0.6 SECONDS
action_cooldown = 3 SECONDS
required_distance = 1
@@ -93,10 +93,19 @@
faction = list(FACTION_HOSTILE, FACTION_MAINT_CREATURES)
ai_controller = /datum/ai_controller/basic_controller/cockroach/glockroach
cockroach_cell_line = CELL_LINE_TABLE_GLOCKROACH
///number of burst shots
var/burst_shots
///cooldown between attacks
var/ranged_cooldown = 1 SECONDS
/mob/living/basic/cockroach/glockroach/Initialize(mapload)
. = ..()
AddComponent(/datum/component/ranged_attacks, casing_type = /obj/item/ammo_casing/glockroach, cooldown_time = 1 SECONDS)
AddComponent(\
/datum/component/ranged_attacks,\
casing_type = /obj/item/ammo_casing/glockroach,\
burst_shots = burst_shots,\
cooldown_time = ranged_cooldown,\
)
/datum/ai_controller/basic_controller/cockroach/glockroach
planning_subtrees = list(
@@ -186,6 +195,8 @@
desc = "WE'RE FUCKED, THAT GLOCKROACH HAS A TOMMYGUN!"
icon_state = "mobroach"
ai_controller = /datum/ai_controller/basic_controller/cockroach/mobroach
burst_shots = 4
ranged_cooldown = 2 SECONDS
/datum/ai_controller/basic_controller/cockroach/mobroach
planning_subtrees = list(
@@ -200,5 +211,4 @@
ranged_attack_behavior = /datum/ai_behavior/basic_ranged_attack/mobroach
/datum/ai_behavior/basic_ranged_attack/mobroach
shots = 4
action_cooldown = 2 SECONDS