Merge branch 'master' into upstream-merge-37476

This commit is contained in:
deathride58
2018-05-06 07:07:02 +00:00
committed by GitHub
738 changed files with 10463 additions and 18840 deletions
@@ -15,7 +15,7 @@
pin = null
/obj/item/gun/ballistic/automatic/proto/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/update_icon()
..()
@@ -91,13 +91,13 @@
fire_sound = 'sound/weapons/gunshot_smg.ogg'
fire_delay = 2
burst_size = 2
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
can_bayonet = TRUE
knife_x_offset = 26
knife_y_offset = 12
/obj/item/gun/ballistic/automatic/c20r/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/c20r/Initialize()
. = ..()
@@ -148,7 +148,7 @@
var/obj/item/gun/ballistic/revolver/grenadelauncher/underbarrel
burst_size = 3
fire_delay = 2
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
/obj/item/gun/ballistic/automatic/m90/Initialize()
. = ..()
@@ -156,7 +156,7 @@
update_icon()
/obj/item/gun/ballistic/automatic/m90/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/m90/unrestricted/Initialize()
. = ..()
@@ -247,11 +247,11 @@
can_suppress = FALSE
burst_size = 1
fire_delay = 0
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
actions_types = list()
/obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/shotgun/bulldog/Initialize()
. = ..()
@@ -286,10 +286,10 @@
can_suppress = FALSE
burst_size = 3
fire_delay = 1
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
/obj/item/gun/ballistic/automatic/l6_saw/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/l6_saw/examine(mob/user)
@@ -377,7 +377,7 @@
/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate
name = "syndicate sniper rifle"
desc = "An illegally modified .50 cal sniper rifle with suppression compatibility. Quickscoping still doesn't work."
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
// Old Semi-Auto Rifle //
@@ -9,10 +9,10 @@
mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher
fire_sound = 'sound/weapons/grenadelaunch.ogg'
w_class = WEIGHT_CLASS_NORMAL
pin = /obj/item/device/firing_pin/implant/pindicate
pin = /obj/item/firing_pin/implant/pindicate
/obj/item/gun/ballistic/revolver/grenadelauncher/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/revolver/grenadelauncher/attackby(obj/item/A, mob/user, params)
..()
@@ -25,7 +25,7 @@
icon = 'icons/mecha/mecha_equipment.dmi'
icon_state = "mecha_grenadelnchr"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/revolver/grenadelauncher/cyborg/attack_self()
return
@@ -148,7 +148,7 @@
icon_state = "goldrevolver"
fire_sound = 'sound/weapons/resonator_blast.ogg'
recoil = 8
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/revolver/nagant
name = "nagant revolver"
@@ -238,7 +238,7 @@
/obj/item/gun/ballistic/revolver/russian/soul/shoot_self(mob/living/user)
..()
var/obj/item/device/soulstone/anybody/SS = new /obj/item/device/soulstone/anybody(get_turf(src))
var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src))
if(!SS.transfer_soul("FORCE", user)) //Something went wrong
qdel(SS)
return
@@ -146,7 +146,7 @@
name = "arcane barrage"
desc = "Pew Pew Pew."
fire_sound = 'sound/weapons/emitter.ogg'
pin = /obj/item/device/firing_pin/magic
pin = /obj/item/firing_pin/magic
icon_state = "arcane_barrage"
item_state = "arcane_barrage"
can_bayonet = FALSE
@@ -15,7 +15,7 @@
casing_ejector = FALSE
/obj/item/gun/ballistic/automatic/toy/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/toy/pistol
name = "foam force pistol"
@@ -40,10 +40,10 @@
return ..()
/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/automatic/toy/pistol/riot/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/shotgun/toy
name = "foam force shotgun"
@@ -63,7 +63,7 @@
qdel(chambered)
/obj/item/gun/ballistic/shotgun/toy/unrestricted
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/ballistic/shotgun/toy/crossbow
name = "foam force crossbow"
@@ -87,7 +87,7 @@
clumsy_check = FALSE
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted //Use this for actual toys
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
mag_type = /obj/item/ammo_box/magazine/toy/smgm45
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot
@@ -104,7 +104,7 @@
clumsy_check = FALSE
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted //Use this for actual toys
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
mag_type = /obj/item/ammo_box/magazine/toy/m762
/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot
@@ -22,7 +22,7 @@
can_flashlight = 0 // Can't attach or detach the flashlight, and override it's icon update
/obj/item/gun/energy/e_gun/mini/Initialize()
gun_light = new /obj/item/device/flashlight/seclite(src)
gun_light = new /obj/item/flashlight/seclite(src)
return ..()
/obj/item/gun/energy/e_gun/mini/update_icon()
@@ -66,7 +66,7 @@
item_state = "shotgun"
desc = "A combat shotgun gutted and refitted with an internal laser system. Can switch between taser and scattered disabler shots."
shaded_charge = 0
pin = /obj/item/device/firing_pin/implant/mindshield
pin = /obj/item/firing_pin/implant/mindshield
ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter/disabler, /obj/item/ammo_casing/energy/electrode)
///Laser Cannon
@@ -118,7 +118,7 @@
ammo_type = list(/obj/item/ammo_casing/energy/laser/bluetag)
item_flags = NONE
clumsy_check = FALSE
pin = /obj/item/device/firing_pin/tag/blue
pin = /obj/item/firing_pin/tag/blue
ammo_x_offset = 2
selfcharge = TRUE
@@ -132,7 +132,7 @@
ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag)
item_flags = NONE
clumsy_check = FALSE
pin = /obj/item/device/firing_pin/tag/red
pin = /obj/item/firing_pin/tag/red
ammo_x_offset = 2
selfcharge = TRUE
@@ -15,7 +15,7 @@
return
/obj/item/gun/energy/pulse/prize
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/energy/pulse/prize/Initialize()
. = ..()
@@ -33,7 +33,7 @@
. = ..()
/obj/item/gun/energy/pulse/loyalpin
pin = /obj/item/device/firing_pin/implant/mindshield
pin = /obj/item/firing_pin/implant/mindshield
/obj/item/gun/energy/pulse/carbine
name = "pulse carbine"
@@ -48,7 +48,7 @@
flight_y_offset = 12
/obj/item/gun/energy/pulse/carbine/loyalpin
pin = /obj/item/device/firing_pin/implant/mindshield
pin = /obj/item/firing_pin/implant/mindshield
/obj/item/gun/energy/pulse/pistol
name = "pulse pistol"
@@ -60,7 +60,7 @@
cell_type = "/obj/item/stock_parts/cell/pulse/pistol"
/obj/item/gun/energy/pulse/pistol/loyalpin
pin = /obj/item/device/firing_pin/implant/mindshield
pin = /obj/item/firing_pin/implant/mindshield
/obj/item/gun/energy/pulse/destroyer
name = "pulse destroyer"
@@ -267,7 +267,7 @@
/obj/item/gun/energy/temperature/security
name = "security temperature gun"
desc = "A weapon that can only be used to its full potential by the truly robust."
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/energy/laser/instakill
name = "instakill rifle"
+1 -1
View File
@@ -18,7 +18,7 @@
var/no_den_usage
clumsy_check = 0
trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses magic instead
pin = /obj/item/device/firing_pin/magic
pin = /obj/item/firing_pin/magic
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' //not really a gun and some toys use these inhands
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
@@ -58,7 +58,7 @@
var/projectile_damage = 30
var/projectile_stun = 0
var/projectile_setting_pierce = TRUE
var/delay = 65
var/delay = 25
var/lastfire = 0
//ZOOMING
@@ -82,7 +82,7 @@
cell_type = /obj/item/stock_parts/cell/infinite
aiming_time = 0
recoil = 0
pin = /obj/item/device/firing_pin
pin = /obj/item/firing_pin
/obj/item/gun/energy/beam_rifle/equipped(mob/user)
set_user(user)
@@ -182,6 +182,7 @@
/obj/item/gun/energy/beam_rifle/Initialize()
. = ..()
fire_delay = delay
current_tracers = list()
START_PROCESSING(SSprojectiles, src)
zoom_lock_action = new(src)
@@ -11,7 +11,7 @@
clumsy_check = FALSE
randomspread = FALSE
var/obj/item/device/transfer_valve/bomb
var/obj/item/transfer_valve/bomb
/obj/item/gun/blastcannon/Initialize()
. = ..()
@@ -19,9 +19,7 @@
pin = new
/obj/item/gun/blastcannon/Destroy()
if(bomb)
qdel(bomb)
bomb = null
QDEL_NULL(bomb)
return ..()
/obj/item/gun/blastcannon/attack_self(mob/user)
@@ -44,44 +42,44 @@
desc = initial(desc)
/obj/item/gun/blastcannon/attackby(obj/O, mob/user)
if(istype(O, /obj/item/device/transfer_valve))
var/obj/item/device/transfer_valve/T = O
if(istype(O, /obj/item/transfer_valve))
var/obj/item/transfer_valve/T = O
if(!T.tank_one || !T.tank_two)
to_chat(user, "<span class='warning'>What good would an incomplete bomb do?</span>")
return FALSE
if(!user.transferItemToLoc(O, src))
to_chat(user, "<span class='warning'>[O] seems to be stuck to your hand!</span>")
if(!user.transferItemToLoc(T, src))
to_chat(user, "<span class='warning'>[T] seems to be stuck to your hand!</span>")
return FALSE
user.visible_message("<span class='warning'>[user] attaches [O] to [src]!</span>")
bomb = O
user.visible_message("<span class='warning'>[user] attaches [T] to [src]!</span>")
bomb = T
update_icon()
return TRUE
return ..()
/obj/item/gun/blastcannon/proc/calculate_bomb()
if(!istype(bomb)||!istype(bomb.tank_one)||!istype(bomb.tank_two))
if(!istype(bomb) || !istype(bomb.tank_one) || !istype(bomb.tank_two))
return 0
var/datum/gas_mixture/temp = new(60) //directional buff.
temp.merge(bomb.tank_one.air_contents.remove_ratio(1))
temp.merge(bomb.tank_two.air_contents.remove_ratio(2))
for(var/i in 1 to 6)
temp.react()
temp.react(src)
var/pressure = temp.return_pressure()
qdel(temp)
if(pressure < TANK_FRAGMENT_PRESSURE)
return 0
return (pressure/TANK_FRAGMENT_SCALE)
return (pressure / TANK_FRAGMENT_SCALE)
/obj/item/gun/blastcannon/afterattack(atom/target, mob/user, flag, params)
if((!bomb) || (!target) || (get_dist(get_turf(target), get_turf(user)) <= 2))
return ..()
var/power = calculate_bomb()
qdel(bomb)
QDEL_NULL(bomb)
update_icon()
var/heavy = power * 0.2
var/medium = power * 0.5
var/light = power
user.visible_message("<span class='danger'>[user] opens \the [bomb] on \his [name] and fires a blast wave at \the [target]!</span>","<span class='danger'>You open \the [bomb] on your [name] and fire a blast wave at \the [target]!</span>")
user.visible_message("<span class='danger'>[user] opens [bomb] on [user.p_their()] [name] and fires a blast wave at [target]!</span>","<span class='danger'>You open [bomb] on your [name] and fire a blast wave at [target]!</span>")
playsound(user, "explosion", 100, 1)
var/turf/starting = get_turf(user)
var/turf/targturf = get_turf(target)
@@ -111,17 +109,21 @@
/obj/item/projectile/blastwave/Range()
..()
var/amount_destruction = EXPLODE_NONE
if(heavyr)
loc.ex_act(EXPLODE_DEVASTATE)
amount_destruction = EXPLODE_DEVASTATE
else if(mediumr)
loc.ex_act(EXPLODE_HEAVY)
amount_destruction = EXPLODE_HEAVY
else if(lightr)
loc.ex_act(EXPLODE_LIGHT)
amount_destruction = EXPLODE_LIGHT
if(amount_destruction)
loc.ex_act(amount_destruction)
else
qdel(src)
heavyr--
mediumr--
lightr--
heavyr = max(heavyr - 1, 0)
mediumr = max(mediumr - 1, 0)
lightr = max(lightr - 1, 0)
/obj/item/projectile/blastwave/ex_act()
return
return
@@ -116,6 +116,8 @@
new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF")
target.adjustBruteLoss(-4)
target.adjustFireLoss(-4)
target.adjustToxLoss(-1)
target.adjustOxyLoss(-1)
return
/obj/item/gun/medbeam/proc/on_beam_release(var/mob/living/target)