mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-06 07:23:16 +00:00
Merge branch 'bleeding-edge-freeze' of https://github.com/Baystation12/Baystation12 into guntest
Conflicts: code/WorkInProgress/Cib/amorph/amorph_hud.dm code/game/objects/structures/window.dm code/modules/mob/living/blob/blob.dm code/modules/mob/living/simple_animal/friendly/corgi.dm code/modules/mob/mob_defines.dm code/modules/mob/screen.dm code/modules/projectiles/gun.dm code/modules/projectiles/guns/projectile/automatic.dm maps/tgstation.2.0.9.1.dmm
This commit is contained in:
@@ -32,13 +32,6 @@
|
||||
//1 for keep shooting until aim is lowered
|
||||
|
||||
proc/load_into_chamber()
|
||||
return
|
||||
|
||||
proc/special_check(var/mob/M)
|
||||
return
|
||||
|
||||
|
||||
load_into_chamber()
|
||||
return 0
|
||||
|
||||
//Removing the lock and the buttons.
|
||||
@@ -53,7 +46,7 @@
|
||||
del(user.gun_run_icon)
|
||||
return ..()
|
||||
|
||||
special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver.
|
||||
proc/special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver.
|
||||
return 1
|
||||
|
||||
|
||||
@@ -74,6 +67,9 @@
|
||||
//Clicking gun will still lower aim for guns that don't overwrite this
|
||||
attack_self()
|
||||
lower_aim()
|
||||
afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)//TODO: go over this
|
||||
if(flag) return //we're placing gun on a table or in backpack
|
||||
if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy)) return//Shouldnt flag take care of this?
|
||||
|
||||
verb/toggle_firerate()
|
||||
set name = "Toggle Firerate"
|
||||
@@ -209,13 +205,12 @@
|
||||
usr.dir = dir_to_fire
|
||||
|
||||
proc/Fire(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, params, reflex = 0)//TODO: go over this
|
||||
|
||||
//Exclude lasertag guns from the CLUMSY check.
|
||||
if(src.clumsy_check)
|
||||
if(clumsy_check)
|
||||
if(istype(user, /mob/living))
|
||||
var/mob/living/M = user
|
||||
if ((CLUMSY in M.mutations) && prob(50))
|
||||
M << "\red The [src.name] blows up in your face!"
|
||||
M << "<span class='danger'>[src] blows up in your face.</span>"
|
||||
M.take_organ_damage(0,20)
|
||||
M.drop_item()
|
||||
del(src)
|
||||
@@ -229,6 +224,10 @@
|
||||
if (HULK in M.mutations)
|
||||
M << "\red Your meaty finger is much too large for the trigger guard!"
|
||||
return
|
||||
if(ishuman(user))
|
||||
if(user.dna && user.dna.mutantrace == "adamantine")
|
||||
user << "\red Your metal fingers don't fit in the trigger guard!"
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -243,6 +242,7 @@
|
||||
user.visible_message("*click click*", "\red <b>*click*</b>")
|
||||
for(var/mob/K in viewers(usr))
|
||||
K << 'empty.ogg'
|
||||
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
|
||||
return
|
||||
|
||||
if(!in_chamber)
|
||||
@@ -265,14 +265,16 @@
|
||||
playsound(user, fire_sound, 10, 1)
|
||||
else
|
||||
playsound(user, fire_sound, 50, 1)
|
||||
user.visible_message("<span class='warning'>[user] fires [src]!</span>", "<span class='warning'>You fire [src]!</span>", "You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!")
|
||||
if(reflex)
|
||||
user.visible_message("\red \The [user] fires \the [src] by reflex!", "\red You reflex fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] fires \the [src]!", "\red You fire \the [src]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!")
|
||||
|
||||
in_chamber.original = targloc
|
||||
in_chamber.original = target
|
||||
in_chamber.loc = get_turf(user)
|
||||
in_chamber.starting = get_turf(user)
|
||||
in_chamber.shot_from = src
|
||||
user.next_move = world.time + 4
|
||||
in_chamber.silenced = silenced
|
||||
in_chamber.current = curloc
|
||||
@@ -293,7 +295,11 @@
|
||||
in_chamber = null
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(user.hand)
|
||||
user.update_inv_l_hand()
|
||||
else
|
||||
user.update_inv_r_hand()
|
||||
|
||||
//Aiming at the target mob.
|
||||
proc/Aim(var/mob/M)
|
||||
@@ -309,8 +315,6 @@
|
||||
else
|
||||
usr.visible_message("\red <b>[usr] aims \a [src] at [M]!</b>")
|
||||
M.Targeted(src)
|
||||
|
||||
|
||||
//HE MOVED, SHOOT HIM!
|
||||
proc/TargetActed(var/mob/living/T)
|
||||
var/mob/living/M = loc
|
||||
|
||||
Reference in New Issue
Block a user