Full Auto Gun Mode Component (#24998)

* Full Auto Gun Mode Component

* Apply some refactoring

* spaces mhmm

* Some signal movement

* Apply DGamerL suggestions

* Unknown SIGNAL_HANDLER no more

* Fix runtime if uid is passed

* Why the hell you even care

* god you serious

---------

Co-authored-by: Gottfrei <zweisen@gmail.com>
This commit is contained in:
Mikhail Dzianishchyts
2024-04-22 21:32:49 +00:00
committed by GitHub
co-authored by Gottfrei
parent 00be61a811
commit 7fa44a31fb
49 changed files with 521 additions and 51 deletions
+3 -1
View File
@@ -35,6 +35,8 @@
var/semicd = 0 //cooldown handler
var/execution_speed = 6 SECONDS
var/weapon_weight = WEAPON_LIGHT
/// Additional spread when dual wielding.
var/dual_wield_spread = 24
var/list/restricted_species
var/spread = 0
@@ -201,7 +203,7 @@
continue
else if(G.can_trigger_gun(user))
if(!HAS_TRAIT(user, TRAIT_BADASS))
bonus_spread += 24 * G.weapon_weight
bonus_spread += dual_wield_spread * G.weapon_weight
loop_counter++
addtimer(CALLBACK(G, PROC_REF(process_fire), target, user, 1, params, null, bonus_spread), loop_counter)
+1 -1
View File
@@ -200,7 +200,7 @@
if(can_shoot())
user.visible_message("<span class='suicide'>[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!</span>")
sleep(25)
if(user.l_hand == src || user.r_hand == src)
if(user.is_holding(src))
user.visible_message("<span class='suicide'>[user] melts [user.p_their()] face off with [src]!</span>")
playsound(loc, fire_sound, 50, 1, -1)
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
@@ -148,7 +148,7 @@
if(loc == user)
if(suppressed && can_unsuppress)
var/obj/item/suppressor/S = suppressed
if(user.l_hand != src && user.r_hand != src)
if(!user.is_holding(src))
..()
return
to_chat(user, "<span class='notice'>You unscrew [suppressed] from [src].</span>")
@@ -198,7 +198,7 @@
if(chambered && chambered.BB && !chambered.BB.nodamage)
user.visible_message("<span class='suicide'>[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!</span>")
sleep(25)
if(user.l_hand == src || user.r_hand == src)
if(user.is_holding(src))
process_fire(user, user, 0, zone_override = "head")
user.visible_message("<span class='suicide'>[user] blows [user.p_their()] brains out with [src]!</span>")
return BRUTELOSS
@@ -357,7 +357,7 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list(
qdel(src)
else
var/obj/O = change
if(istype(O, /obj/item/gun))
if(isgun(O))
new /mob/living/simple_animal/hostile/mimic/copy/ranged(O.loc, O, firer)
else
new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer)