mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
Merge pull request #9430 from Ghommie/Ghommie-cit220
Ports "Adds three new .38 ammo types", also lazily adding .357 AP
This commit is contained in:
@@ -130,12 +130,12 @@
|
|||||||
L[avoid_assoc_duplicate_keys(A.name, areaindex)] = R
|
L[avoid_assoc_duplicate_keys(A.name, areaindex)] = R
|
||||||
|
|
||||||
for(var/obj/item/implant/tracking/I in GLOB.tracked_implants)
|
for(var/obj/item/implant/tracking/I in GLOB.tracked_implants)
|
||||||
if(!I.imp_in || !isliving(I.imp_in))
|
if(!I.imp_in || !I.allow_teleport || !isliving(I.imp_in))
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
var/mob/living/M = I.imp_in
|
var/mob/living/M = I.imp_in
|
||||||
if(M.stat == DEAD)
|
if(M.stat == DEAD)
|
||||||
if(M.timeofdeath + 6000 < world.time)
|
if(M.timeofdeath + I.lifespan_postmortem < world.time)
|
||||||
continue
|
continue
|
||||||
if(is_eligible(M))
|
if(is_eligible(M))
|
||||||
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = M
|
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = M
|
||||||
|
|||||||
@@ -1,7 +1,19 @@
|
|||||||
/obj/item/implant/tracking
|
/obj/item/implant/tracking
|
||||||
name = "tracking implant"
|
name = "tracking implant"
|
||||||
desc = "Track with this."
|
desc = "Track with this."
|
||||||
activated = 0
|
activated = FALSE
|
||||||
|
var/lifespan_postmortem = 10 MINUTES //for how many deciseconds after user death will the implant work?
|
||||||
|
var/allow_teleport = TRUE //will people implanted with this act as teleporter beacons?
|
||||||
|
|
||||||
|
/obj/item/implant/tracking/c38
|
||||||
|
name = "TRAC implant"
|
||||||
|
desc = "A smaller tracking implant that supplies power for only a few minutes."
|
||||||
|
var/lifespan = 5 MINUTES //how many deciseconds does the implant last?
|
||||||
|
allow_teleport = FALSE
|
||||||
|
|
||||||
|
/obj/item/implant/tracking/c38/Initialize()
|
||||||
|
. = ..()
|
||||||
|
QDEL_IN(src, lifespan)
|
||||||
|
|
||||||
/obj/item/implant/tracking/Initialize()
|
/obj/item/implant/tracking/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
@@ -45,7 +57,7 @@
|
|||||||
var/dat = {"<b>Implant Specifications:</b><BR>
|
var/dat = {"<b>Implant Specifications:</b><BR>
|
||||||
<b>Name:</b> Tracking Beacon<BR>
|
<b>Name:</b> Tracking Beacon<BR>
|
||||||
<b>Life:</b> 10 minutes after death of host<BR>
|
<b>Life:</b> 10 minutes after death of host<BR>
|
||||||
<b>Important Notes:</b> None<BR>
|
<b>Important Notes:</b> Implant also works as a teleporter beacon.<BR>
|
||||||
<HR>
|
<HR>
|
||||||
<b>Implant Details:</b> <BR>
|
<b>Implant Details:</b> <BR>
|
||||||
<b>Function:</b> Continuously transmits low power signal. Useful for tracking.<BR>
|
<b>Function:</b> Continuously transmits low power signal. Useful for tracking.<BR>
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
continue
|
continue
|
||||||
var/mob/living/M = W.imp_in
|
var/mob/living/M = W.imp_in
|
||||||
if (M.stat == DEAD)
|
if (M.stat == DEAD)
|
||||||
if (M.timeofdeath + 6000 < world.time)
|
if (M.timeofdeath + W.lifespan_postmortem < world.time)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
var/turf/tr = get_turf(M)
|
var/turf/tr = get_turf(M)
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
caliber = "357"
|
caliber = "357"
|
||||||
projectile_type = /obj/item/projectile/bullet/a357
|
projectile_type = /obj/item/projectile/bullet/a357
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/a357/ap
|
||||||
|
name = ".357 armor-piercing bullet casing"
|
||||||
|
desc = "A .357 armor-piercing bullet casing."
|
||||||
|
projectile_type = /obj/item/projectile/bullet/a357/ap
|
||||||
|
|
||||||
// 7.62x38mmR (Nagant Revolver)
|
// 7.62x38mmR (Nagant Revolver)
|
||||||
|
|
||||||
/obj/item/ammo_casing/n762
|
/obj/item/ammo_casing/n762
|
||||||
@@ -20,9 +25,26 @@
|
|||||||
name = ".38 rubber bullet casing"
|
name = ".38 rubber bullet casing"
|
||||||
desc = "A .38 rubber bullet casing."
|
desc = "A .38 rubber bullet casing."
|
||||||
caliber = "38"
|
caliber = "38"
|
||||||
projectile_type = /obj/item/projectile/bullet/c38
|
projectile_type = /obj/item/projectile/bullet/c38/rubber
|
||||||
|
|
||||||
/obj/item/ammo_casing/c38/lethal
|
/obj/item/ammo_casing/c38/lethal
|
||||||
name = ".38 bullet casing"
|
name = ".38 bullet casing"
|
||||||
desc = "A .38 bullet casing"
|
desc = "A .38 bullet casing"
|
||||||
projectile_type = /obj/item/projectile/bullet/c38lethal
|
projectile_type = /obj/item/projectile/bullet/c38
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/c38/trac
|
||||||
|
name = ".38 TRAC bullet casing"
|
||||||
|
desc = "A .38 \"TRAC\" bullet casing."
|
||||||
|
projectile_type = /obj/item/projectile/bullet/c38/trac
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/c38/hotshot
|
||||||
|
name = ".38 Hot Shot bullet casing"
|
||||||
|
desc = "A .38 Hot Shot bullet casing."
|
||||||
|
caliber = "38"
|
||||||
|
projectile_type = /obj/item/projectile/bullet/c38/hotshot
|
||||||
|
|
||||||
|
/obj/item/ammo_casing/c38/iceblox
|
||||||
|
name = ".38 Iceblox bullet casing"
|
||||||
|
desc = "A .38 Iceblox bullet casing."
|
||||||
|
caliber = "38"
|
||||||
|
projectile_type = /obj/item/projectile/bullet/c38/iceblox
|
||||||
@@ -3,13 +3,19 @@
|
|||||||
desc = "Designed to quickly reload revolvers."
|
desc = "Designed to quickly reload revolvers."
|
||||||
icon_state = "357"
|
icon_state = "357"
|
||||||
ammo_type = /obj/item/ammo_casing/a357
|
ammo_type = /obj/item/ammo_casing/a357
|
||||||
|
caliber = "357"
|
||||||
max_ammo = 7
|
max_ammo = 7
|
||||||
multiple_sprites = 1
|
multiple_sprites = 1
|
||||||
|
|
||||||
|
/obj/item/ammo_box/a357/ap
|
||||||
|
name = "speed loader (.357 AP)"
|
||||||
|
ammo_type = /obj/item/ammo_casing/a357/ap
|
||||||
|
|
||||||
/obj/item/ammo_box/c38
|
/obj/item/ammo_box/c38
|
||||||
name = "speed loader (.38 rubber)"
|
name = "speed loader (.38 rubber)"
|
||||||
desc = "Designed to quickly reload revolvers."
|
desc = "Designed to quickly reload revolvers."
|
||||||
icon_state = "38"
|
icon_state = "38"
|
||||||
|
caliber = "38"
|
||||||
ammo_type = /obj/item/ammo_casing/c38
|
ammo_type = /obj/item/ammo_casing/c38
|
||||||
max_ammo = 6
|
max_ammo = 6
|
||||||
multiple_sprites = 1
|
multiple_sprites = 1
|
||||||
@@ -19,6 +25,21 @@
|
|||||||
name = "speed loader (.38)"
|
name = "speed loader (.38)"
|
||||||
ammo_type = /obj/item/ammo_casing/c38/lethal
|
ammo_type = /obj/item/ammo_casing/c38/lethal
|
||||||
|
|
||||||
|
/obj/item/ammo_box/c38/trac
|
||||||
|
name = "speed loader (.38 TRAC)"
|
||||||
|
desc = "Designed to quickly reload revolvers. TRAC bullets embed a tracking implant within the target's body."
|
||||||
|
ammo_type = /obj/item/ammo_casing/c38/trac
|
||||||
|
|
||||||
|
/obj/item/ammo_box/c38/hotshot
|
||||||
|
name = "speed loader (.38 Hot Shot)"
|
||||||
|
desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload."
|
||||||
|
ammo_type = /obj/item/ammo_casing/c38/hotshot
|
||||||
|
|
||||||
|
/obj/item/ammo_box/c38/iceblox
|
||||||
|
name = "speed loader (.38 Iceblox)"
|
||||||
|
desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload."
|
||||||
|
ammo_type = /obj/item/ammo_casing/c38/iceblox
|
||||||
|
|
||||||
/obj/item/ammo_box/c9mm
|
/obj/item/ammo_box/c9mm
|
||||||
name = "ammo box (9mm)"
|
name = "ammo box (9mm)"
|
||||||
icon_state = "9mmbox"
|
icon_state = "9mmbox"
|
||||||
|
|||||||
@@ -13,16 +13,59 @@
|
|||||||
// .38 (Detective's Gun)
|
// .38 (Detective's Gun)
|
||||||
|
|
||||||
/obj/item/projectile/bullet/c38
|
/obj/item/projectile/bullet/c38
|
||||||
|
name = ".38 bullet"
|
||||||
|
damage = 25
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/rubber
|
||||||
name = ".38 rubber bullet"
|
name = ".38 rubber bullet"
|
||||||
damage = 15
|
damage = 15
|
||||||
stamina = 48
|
stamina = 48
|
||||||
|
|
||||||
/obj/item/projectile/bullet/c38lethal
|
/obj/item/projectile/bullet/c38/trac
|
||||||
name = ".38 bullet"
|
name = ".38 TRAC bullet"
|
||||||
damage = 25
|
damage = 10
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/trac/on_hit(atom/target, blocked = FALSE)
|
||||||
|
. = ..()
|
||||||
|
var/mob/living/carbon/M = target
|
||||||
|
var/obj/item/implant/tracking/c38/imp
|
||||||
|
for(var/obj/item/implant/tracking/c38/TI in M.implants) //checks if the target already contains a tracking implant
|
||||||
|
imp = TI
|
||||||
|
return
|
||||||
|
if(!imp)
|
||||||
|
imp = new /obj/item/implant/tracking/c38(M)
|
||||||
|
imp.implant(M)
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/hotshot //similar to incendiary bullets, but do not leave a flaming trail
|
||||||
|
name = ".38 Hot Shot bullet"
|
||||||
|
damage = 20
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/hotshot/on_hit(atom/target, blocked = FALSE)
|
||||||
|
. = ..()
|
||||||
|
if(iscarbon(target))
|
||||||
|
var/mob/living/carbon/M = target
|
||||||
|
M.adjust_fire_stacks(6)
|
||||||
|
M.IgniteMob()
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/iceblox //see /obj/item/projectile/temp for the original code
|
||||||
|
name = ".38 Iceblox bullet"
|
||||||
|
damage = 20
|
||||||
|
var/temperature = 100
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/c38/iceblox/on_hit(atom/target, blocked = FALSE)
|
||||||
|
. = ..()
|
||||||
|
if(isliving(target))
|
||||||
|
var/mob/living/M = target
|
||||||
|
M.adjust_bodytemperature(((100-blocked)/100)*(temperature - M.bodytemperature))
|
||||||
|
|
||||||
|
|
||||||
// .357 (Syndie Revolver)
|
// .357 (Syndie Revolver)
|
||||||
|
|
||||||
/obj/item/projectile/bullet/a357
|
/obj/item/projectile/bullet/a357
|
||||||
name = ".357 bullet"
|
name = ".357 bullet"
|
||||||
damage = 60
|
damage = 60
|
||||||
|
|
||||||
|
/obj/item/projectile/bullet/a357/ap
|
||||||
|
name = ".357 armor-piercing bullet"
|
||||||
|
damage = 45
|
||||||
|
armour_penetration = 45
|
||||||
@@ -17,6 +17,36 @@
|
|||||||
id = "sec_38lethal"
|
id = "sec_38lethal"
|
||||||
build_path = /obj/item/ammo_box/c38/lethal
|
build_path = /obj/item/ammo_box/c38/lethal
|
||||||
|
|
||||||
|
/datum/design/c38_trac
|
||||||
|
name = "Speed Loader (.38 TRAC)"
|
||||||
|
desc = "Designed to quickly reload revolvers. TRAC bullets embed a tracking implant within the target's body."
|
||||||
|
id = "c38_trac"
|
||||||
|
build_type = PROTOLATHE
|
||||||
|
materials = list(MAT_METAL = 20000, MAT_SILVER = 5000, MAT_GOLD = 1000)
|
||||||
|
build_path = /obj/item/ammo_box/c38/trac
|
||||||
|
category = list("Ammo")
|
||||||
|
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||||
|
|
||||||
|
/datum/design/c38_hotshot
|
||||||
|
name = "Speed Loader (.38 Hot Shot)"
|
||||||
|
desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload."
|
||||||
|
id = "c38_hotshot"
|
||||||
|
build_type = PROTOLATHE
|
||||||
|
materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000)
|
||||||
|
build_path = /obj/item/ammo_box/c38/hotshot
|
||||||
|
category = list("Ammo")
|
||||||
|
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||||
|
|
||||||
|
/datum/design/c38_iceblox
|
||||||
|
name = "Speed Loader (.38 Iceblox)"
|
||||||
|
desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload."
|
||||||
|
id = "c38_iceblox"
|
||||||
|
build_type = PROTOLATHE
|
||||||
|
materials = list(MAT_METAL = 20000, MAT_PLASMA = 5000)
|
||||||
|
build_path = /obj/item/ammo_box/c38/iceblox
|
||||||
|
category = list("Ammo")
|
||||||
|
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||||
|
|
||||||
//////////////
|
//////////////
|
||||||
//WT550 Mags//
|
//WT550 Mags//
|
||||||
//////////////
|
//////////////
|
||||||
|
|||||||
@@ -517,7 +517,7 @@
|
|||||||
display_name = "Subdermal Implants"
|
display_name = "Subdermal Implants"
|
||||||
description = "Electronic implants buried beneath the skin."
|
description = "Electronic implants buried beneath the skin."
|
||||||
prereq_ids = list("biotech", "datatheory")
|
prereq_ids = list("biotech", "datatheory")
|
||||||
design_ids = list("implanter", "implantcase", "implant_chem", "implant_tracking", "locator")
|
design_ids = list("implanter", "implantcase", "implant_chem", "implant_tracking", "locator", "c38_trac")
|
||||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||||
export_price = 5000
|
export_price = 5000
|
||||||
|
|
||||||
@@ -694,12 +694,12 @@
|
|||||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750)
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750)
|
||||||
export_price = 5000
|
export_price = 5000
|
||||||
|
|
||||||
/datum/techweb_node/tech_shell
|
/datum/techweb_node/exotic_ammo
|
||||||
id = "tech_shell"
|
id = "exotic_ammo"
|
||||||
display_name = "Technological Shells"
|
display_name = "Exotic Ammunition"
|
||||||
description = "They're more technological than regular shot."
|
description = "They won't know what hit em."
|
||||||
prereq_ids = list("weaponry", "ballistic_weapons")
|
prereq_ids = list("weaponry", "ballistic_weapons")
|
||||||
design_ids = list("techshotshell")
|
design_ids = list("techshotshell", "c38_hotshot", "c38_iceblox")
|
||||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500)
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500)
|
||||||
export_price = 5000
|
export_price = 5000
|
||||||
|
|
||||||
|
|||||||
@@ -768,10 +768,16 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes
|
|||||||
desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \
|
desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \
|
||||||
For when you really need a lot of things dead."
|
For when you really need a lot of things dead."
|
||||||
item = /obj/item/ammo_box/a357
|
item = /obj/item/ammo_box/a357
|
||||||
cost = 4
|
cost = 3
|
||||||
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
|
exclude_modes = list(/datum/game_mode/nuclear/clown_ops)
|
||||||
illegal_tech = FALSE
|
illegal_tech = FALSE
|
||||||
|
|
||||||
|
/datum/uplink_item/ammo/revolver/ap
|
||||||
|
name = ".357 Armor Piercing Speed Loader"
|
||||||
|
desc = "A speed loader that contains seven additional .357 AP Magnum rounds; usable with the Syndicate revolver. \
|
||||||
|
Cuts through like a hot knife through butter."
|
||||||
|
item = /obj/item/ammo_box/a357/ap
|
||||||
|
|
||||||
/datum/uplink_item/ammo/a40mm
|
/datum/uplink_item/ammo/a40mm
|
||||||
name = "40mm Grenade"
|
name = "40mm Grenade"
|
||||||
desc = "A 40mm HE grenade for use with the M-90gl's under-barrel grenade launcher. \
|
desc = "A 40mm HE grenade for use with the M-90gl's under-barrel grenade launcher. \
|
||||||
|
|||||||
Reference in New Issue
Block a user