Merge remote-tracking branch 'refs/remotes/Citadel-Station-13/master' into syntheticbloods
This commit is contained in:
@@ -59,6 +59,9 @@
|
||||
/obj/item/ammo_casing/energy/laser/redtag/hitscan
|
||||
projectile_type = /obj/item/projectile/beam/lasertag/redtag/hitscan
|
||||
|
||||
/obj/item/ammo_casing/energy/laser/redtag/hitscan/holy
|
||||
projectile_type = /obj/item/projectile/beam/lasertag/redtag/hitscan/holy
|
||||
|
||||
/obj/item/ammo_casing/energy/xray
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
e_cost = 50
|
||||
|
||||
@@ -127,15 +127,14 @@
|
||||
|
||||
/obj/item/gun/ballistic/rocketlauncher/attackby(obj/item/A, mob/user, params)
|
||||
if(magazine && istype(A, /obj/item/ammo_casing))
|
||||
if(user.temporarilyRemoveItemFromInventory(A))
|
||||
if(!chambered)
|
||||
to_chat(user, "<span class='notice'>You load a new [A] into \the [src].</span>")
|
||||
playsound(src, "gun_insert_full_magazine", 70, 1)
|
||||
chamber_round()
|
||||
update_icon()
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot seem to get \the [A] out of your hands!</span>")
|
||||
if(chambered)
|
||||
to_chat(user, "<span class='notice'>[src] already has a [magazine_wording] chambered.</span>")
|
||||
return
|
||||
if(magazine.attackby(A, user, silent = TRUE))
|
||||
to_chat(user, "<span class='notice'>You load a new [A] into \the [src].</span>")
|
||||
playsound(src, "gun_insert_full_magazine", 70, 1)
|
||||
chamber_round()
|
||||
update_icon()
|
||||
|
||||
/obj/item/gun/ballistic/rocketlauncher/update_icon()
|
||||
icon_state = "[initial(icon_state)]-[chambered ? "1" : "0"]"
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
if(istype(user) && user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes pumping shotguns impossible in stamina softcrit
|
||||
to_chat(user, "<span class='warning'>You're too exhausted for that.</span>")//CIT CHANGE - ditto
|
||||
return//CIT CHANGE - ditto
|
||||
pump(user)
|
||||
pump(user, TRUE)
|
||||
recentpump = world.time + 10
|
||||
if(istype(user))//CIT CHANGE - makes pumping shotguns cost a lil bit of stamina.
|
||||
user.adjustStaminaLossBuffered(2) //CIT CHANGE - DITTO. make this scale inversely to the strength stat when stats/skills are added
|
||||
@@ -52,7 +52,9 @@
|
||||
process_fire(user, user, FALSE)
|
||||
. = 1
|
||||
|
||||
/obj/item/gun/ballistic/shotgun/proc/pump(mob/M)
|
||||
/obj/item/gun/ballistic/shotgun/proc/pump(mob/M, visible = TRUE)
|
||||
if(visible)
|
||||
M.visible_message("<span class='warning'>[M] racks [src].</span>", "<span class='warning'>You rack [src].</span>")
|
||||
playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
pump_unload(M)
|
||||
pump_reload(M)
|
||||
@@ -205,6 +207,7 @@
|
||||
name = "combat shotgun"
|
||||
desc = "A semi automatic shotgun with tactical furniture and a six-shell capacity underneath."
|
||||
icon_state = "cshotgun"
|
||||
fire_delay = 3
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/com
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
unique_reskin = list("Tatical" = "cshotgun",
|
||||
|
||||
@@ -159,3 +159,65 @@
|
||||
|
||||
/obj/item/gun/energy/laser/redtag/hitscan
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan)
|
||||
|
||||
/obj/item/gun/energy/laser/redtag/hitscan/chaplain
|
||||
name = "\improper holy lasrifle"
|
||||
desc = "A lasrifle from the old Imperium. This one seems to be blessed by techpriests."
|
||||
icon_state = "LaserAK"
|
||||
item_state = null
|
||||
force = 14
|
||||
pin = /obj/item/firing_pin/holy
|
||||
icon = 'modular_citadel/icons/obj/guns/VGguns.dmi'
|
||||
ammo_x_offset = 4
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan/holy)
|
||||
lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi'
|
||||
righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi'
|
||||
var/chaplain_spawnable = TRUE
|
||||
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
|
||||
throw_speed = 3
|
||||
throw_range = 4
|
||||
throwforce = 10
|
||||
obj_flags = UNIQUE_RENAME
|
||||
|
||||
/obj/item/gun/energy/laser/redtag/hitscan/chaplain/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/anti_magic, TRUE, TRUE)
|
||||
|
||||
/obj/item/gun/energy/laser/redtag/hitscan/chaplain/handle_suicide(mob/living/carbon/human/user, mob/living/carbon/human/target, params, bypass_timer)
|
||||
if(!ishuman(user) || !ishuman(target))
|
||||
return
|
||||
|
||||
if(semicd)
|
||||
return
|
||||
|
||||
if(user == target)
|
||||
target.visible_message("<span class='warning'>[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...</span>", \
|
||||
"<span class='userdanger'>You stick [src] in your mouth, ready to pull the trigger...</span>")
|
||||
else
|
||||
target.visible_message("<span class='warning'>[user] points [src] at [target]'s head, ready to pull the trigger...</span>", \
|
||||
"<span class='userdanger'>[user] points [src] at your head, ready to pull the trigger...</span>")
|
||||
|
||||
semicd = TRUE
|
||||
|
||||
if(!bypass_timer && (!do_mob(user, target, 120) || user.zone_selected != BODY_ZONE_PRECISE_MOUTH))
|
||||
if(user)
|
||||
if(user == target)
|
||||
user.visible_message("<span class='notice'>[user] decided not to shoot.</span>")
|
||||
else if(target && target.Adjacent(user))
|
||||
target.visible_message("<span class='notice'>[user] has decided to spare [target]</span>", "<span class='notice'>[user] has decided to spare your life!</span>")
|
||||
semicd = FALSE
|
||||
return
|
||||
|
||||
semicd = FALSE
|
||||
|
||||
target.visible_message("<span class='warning'>[user] pulls the trigger!</span>", "<span class='userdanger'>[user] pulls the trigger!</span>")
|
||||
|
||||
playsound('sound/weapons/dink.ogg', 30, 1)
|
||||
|
||||
if((iscultist(target)) || (is_servant_of_ratvar(target)))
|
||||
chambered.BB.damage *= 1500
|
||||
|
||||
else if(chambered && chambered.BB)
|
||||
chambered.BB.damage *= 5
|
||||
|
||||
process_fire(target, user, TRUE, params)
|
||||
|
||||
@@ -37,10 +37,12 @@
|
||||
to_chat(user, "<span class ='notice'>This firearm already has a firing pin installed.</span>")
|
||||
|
||||
/obj/item/firing_pin/emag_act(mob/user)
|
||||
. = ..()
|
||||
if(obj_flags & EMAGGED)
|
||||
return
|
||||
obj_flags |= EMAGGED
|
||||
to_chat(user, "<span class='notice'>You override the authentication mechanism.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/gun/G)
|
||||
gun = G
|
||||
@@ -186,6 +188,15 @@
|
||||
desc = "This is a DNA-locked firing pin which only authorizes one user. Attempt to fire once to DNA-link. It has a small explosive charge on it."
|
||||
selfdestruct = TRUE
|
||||
|
||||
/obj/item/firing_pin/holy
|
||||
name = "blessed pin"
|
||||
desc = "A firing pin that only responds to those who are holier than thou."
|
||||
|
||||
/obj/item/firing_pin/holy/pin_auth(mob/living/user)
|
||||
if(user.mind.isholy)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
// Laser tag pins
|
||||
/obj/item/firing_pin/tag
|
||||
name = "laser tag firing pin"
|
||||
|
||||
@@ -151,6 +151,11 @@
|
||||
/obj/item/projectile/beam/lasertag/redtag/hitscan
|
||||
hitscan = TRUE
|
||||
|
||||
/obj/item/projectile/beam/lasertag/redtag/hitscan/holy
|
||||
name = "lasrifle beam"
|
||||
damage = 0.1
|
||||
damage_type = BURN
|
||||
|
||||
/obj/item/projectile/beam/lasertag/bluetag
|
||||
icon_state = "bluelaser"
|
||||
suit_types = list(/obj/item/clothing/suit/redtag)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/projectile/bullet/shotgun_beanbag
|
||||
name = "beanbag slug"
|
||||
damage = 5
|
||||
stamina = 80
|
||||
stamina = 70
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shotgun
|
||||
name = "incendiary slug"
|
||||
@@ -61,12 +61,12 @@
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_buckshot
|
||||
name = "buckshot pellet"
|
||||
damage = 12.5
|
||||
damage = 10
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_rubbershot
|
||||
name = "rubbershot pellet"
|
||||
damage = 3
|
||||
stamina = 25
|
||||
damage = 2
|
||||
stamina = 15
|
||||
|
||||
/obj/item/projectile/bullet/pellet/Range()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user