Merge remote-tracking branch 'upstream/master' into bread

This commit is contained in:
Archie
2021-01-20 14:06:59 -03:00
33 changed files with 227 additions and 47 deletions
+33
View File
@@ -321,6 +321,39 @@
icon_state = "christmashatg"
item_state = "christmashatg"
/obj/item/clothing/head/cowboyhat
name = "cowboy hat"
desc = "A standard brown cowboy hat, yeehaw."
icon_state = "cowboyhat"
item_state = "cowboyhat"
/obj/item/clothing/head/cowboyhat/black
name = "black cowboy hat"
desc = "A a black cowboy hat, perfect for any outlaw"
icon_state = "cowboyhat_black"
item_state = "cowboyhat_black"
/obj/item/clothing/head/cowboyhat/white
name = "white cowboy hat"
desc = "A white cowboy hat, perfect for your every day rancher"
icon_state = "cowboyhat_white"
item_state = "cowboyhat_white"
/obj/item/clothing/head/cowboyhat/pink
name = "pink cowboy hat"
desc = "A pink cowboy? more like cowgirl hat, just don't be a buckle bunny."
icon_state = "cowboyhat_pink"
item_state = "cowboyhat_pink"
/obj/item/clothing/head/cowboyhat/sec
name = "security cowboy hat"
desc = "A security cowboy hat, perfect for any true lawman"
icon_state = "cowboyhat_sec"
item_state = "cowboyhat_sec"
armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
/obj/item/clothing/head/pharaoh
name = "pharaoh hat"
desc = "Walk like an Egyptian."
@@ -397,6 +397,16 @@
desc = "Ankle coverings. Hang ten, brother."
icon_state = "bluecuffs"
/obj/item/clothing/shoes/cowboyboots
name = "cowboy boots"
desc = "A standard pair of brown cowboy boots."
icon_state = "cowboyboots"
/obj/item/clothing/shoes/cowboyboots/black
name = "black cowboy boots"
desc = "A pair of black cowboy boots, pretty easy to scuff up."
icon_state = "cowboyboots_black"
/obj/item/clothing/shoes/winterboots/christmasbootsr
name = "red christmas boots"
desc = "A pair of fluffy red christmas boots!"
+2 -2
View File
@@ -237,10 +237,10 @@ GLOBAL_LIST_INIT(hallucination_list, list(
xeno = new(pump.loc,target)
sleep(10)
xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
xeno.throw_at(target,7,1, xeno, FALSE, TRUE)
xeno.throw_at(target,7,1, null, FALSE, TRUE)
sleep(10)
xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
xeno.throw_at(pump,7,1, xeno, FALSE, TRUE)
xeno.throw_at(pump,7,1, null, FALSE, TRUE)
sleep(10)
var/xeno_name = xeno.name
to_chat(target, "<span class='notice'>[xeno_name] begins climbing into the ventilation system...</span>")
@@ -339,7 +339,7 @@
assembly.visible_message("<span class='danger'>[assembly] has thrown [A]!</span>")
log_attack("[assembly] [REF(assembly)] has thrown [A] with non-lethal force.")
A.forceMove(drop_location())
A.throw_at(locate(x_abs, y_abs, T.z), range, 3, , , , CALLBACK(src, .proc/post_throw, A))
A.throw_at(locate(x_abs, y_abs, T.z), range, 3, null, null, null, CALLBACK(src, .proc/post_throw, A))
// If the item came from a grabber now we can update the outputs since we've thrown it.
if(istype(G))
@@ -310,4 +310,36 @@
name = "Tube Top"
icon_state = "tubetop"
has_color = TRUE
gender = FEMALE
gender = FEMALE
/datum/sprite_accessory/underwear/top/cowboyshirt
name = "Cowboy Shirt Black"
icon_state = "cowboyshirt"
/datum/sprite_accessory/underwear/top/cowboyshirt/s
name = "Cowboy Shirt Shortsleeved Black"
icon_state = "cowboyshirt_s"
/datum/sprite_accessory/underwear/top/cowboyshirt/white
name = "Cowboy Shirt White"
icon_state = "cowboyshirt_white"
/datum/sprite_accessory/underwear/top/cowboyshirt/white/s
name = "Cowboy Shirt Shortsleeved White"
icon_state = "cowboyshirt_whites"
/datum/sprite_accessory/underwear/top/cowboyshirt/navy
name = "Cowboy Shirt Navy"
icon_state = "cowboyshirt_navy"
/datum/sprite_accessory/underwear/top/cowboyshirt/navy/s
name = "Cowboy Shirt Shortsleeved Navy"
icon_state = "cowboyshirt_navys"
/datum/sprite_accessory/underwear/top/cowboyshirt/red
name = "Cowboy Shirt Red"
icon_state = "cowboyshirt_red"
/datum/sprite_accessory/underwear/top/cowboyshirt/red/s
name = "Cowboy Shirt Shortsleeved Red"
icon_state = "cowboyshirt_reds"
+2 -2
View File
@@ -514,10 +514,10 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
//gets ID card object from special clothes slot or null.
/mob/proc/get_idcard(hand_first = TRUE)
var/obj/item/held_item = get_active_held_item()
. = held_item?.GetID()
. = held_item ? held_item.GetID() : null
if(!.) //If so, then check the inactive hand
held_item = get_inactive_held_item()
. = held_item?.GetID()
. = held_item ? held_item.GetID() : null
/mob/proc/get_id_in_hand()
var/obj/item/held_item = get_active_held_item()
@@ -47,7 +47,7 @@
D.updateappearance(mutcolor_update=1, mutations_overlay_update=1)
else if(ishuman(M))
var/mob/living/carbon/human/H = M
client.prefs.copy_to(H)
client?.prefs.copy_to(H)
H.dna.update_dna_identity()
if(mind && isliving(M))
@@ -17,7 +17,7 @@
machinery_computer = null
/obj/item/modular_computer/processor/New(comp)
STOP_PROCESSING(SSobj, src) // Processed by its machine
. = ..()
if(!comp || !istype(comp, /obj/machinery/modular_computer))
CRASH("Inapropriate type passed to obj/item/modular_computer/processor/New()! Aborting.")
@@ -73,4 +73,4 @@
if(MC_SDD)
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_disk
if(MC_AI)
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
+2 -2
View File
@@ -223,8 +223,8 @@
beam_segments[beam_index] = null
/obj/item/projectile/Bump(atom/A)
var/datum/point/pcache = trajectory.copy_to()
if(check_ricochet(A) && check_ricochet_flag(A) && ricochets < ricochets_max)
if(trajectory && check_ricochet(A) && check_ricochet_flag(A) && ricochets < ricochets_max)
var/datum/point/pcache = trajectory.copy_to()
ricochets++
if(A.handle_ricochet(src))
on_ricochet(A)
@@ -95,6 +95,6 @@
name = "Machine Design (VR Sleeper Board)"
desc = "The circuit board for a VR sleeper."
id = "vr_sleeper"
build_path = /obj/item/circuitboard/machine/vr_sleeper
build_path = /obj/item/circuitboard/machine/cell_charger //Replaced with a cell charger until someone takes the job to fix VR sleepers.
departmental_flags = DEPARTMENTAL_FLAG_ALL
category = list ("Medical Machinery")
@@ -157,6 +157,50 @@
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
////////////////////////////////
//MWS 'Big Iron' Specific Ammo//
////////////////////////////////
/datum/design/xray_mws
name = "X-Ray MWS 'Big Iron' Microbattery"
desc = "An high-tech X-Ray Microbattery for the MWS 'Big Iron'."
id = "mws_xray"
build_type = PROTOLATHE
materials = list(MAT_GOLD = 2500, MAT_URANIUM = 2000, MAT_METAL = 2500, MAT_TITANIUM = 1000, MAT_BLUESPACE = 1000)
build_path = /obj/item/ammo_casing/mws_batt/xray
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/ion_mws
name = "Ion MWS 'Big Iron' Microbattery"
desc = "An mid-tech Ion Microbattery for the MWS 'Big Iron'."
id = "mws_ion"
build_type = PROTOLATHE
materials = list(MAT_SILVER = 3000, MAT_METAL = 4000, MAT_URANIUM = 1000)
build_path = /obj/item/ammo_casing/mws_batt/ion
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/disabler_mws
name = "Disabler MWS 'Big Iron' Microbattery"
desc = "An low-tech Disabler Microbattery for the MWS 'Big Iron'."
id = "mws_stun"
build_type = PROTOLATHE
materials = list(MAT_METAL = 7000, MAT_GLASS = 5000, MAT_GOLD = 1250, MAT_SILVER = 1250)
build_path = /obj/item/ammo_casing/mws_batt/stun
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/datum/design/lethal_mws
name = "Lethal MWS 'Big Iron' Microbattery"
desc = "An low-tech Lethal Microbattery for the MWS 'Big Iron'."
id = "mws_lethal"
build_type = PROTOLATHE
materials = list(MAT_METAL = 7000, MAT_GLASS = 5000, MAT_GOLD = 1250, MAT_SILVER = 1250)
build_path = /obj/item/ammo_casing/mws_batt/lethal
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
//////////////
//Firing Pins/
//////////////
@@ -84,8 +84,9 @@
investigate_log("[key_name(user)] built [amount] of [path] at [src]([type]).", INVESTIGATE_RESEARCH)
message_admins("[ADMIN_LOOKUPFLW(user)] has built [amount] of [path] at a [src]([type]).")
for(var/i in 1 to amount)
var/obj/item/I = new path(get_turf(src))
if(efficient_with(I.type))
var/obj/O = new path(get_turf(src))
if(efficient_with(O.type) && isitem(O))
var/obj/item/I = O
I.materials = matlist.Copy()
SSblackbox.record_feedback("nested tally", "item_printed", amount, list("[type]", "[path]"))
+3 -3
View File
@@ -657,7 +657,7 @@
display_name = "Weapon Development Technology"
description = "Our researchers have found new to weaponize just about everything now."
prereq_ids = list("engineering")
design_ids = list("pin_testing", "tele_shield", "lasercarbine")
design_ids = list("pin_testing", "tele_shield", "lasercarbine", "mws_stun", "mws_lethal")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
export_price = 5000
@@ -675,7 +675,7 @@
display_name = "Electric Weapons"
description = "Weapons using electric technology"
prereq_ids = list("weaponry", "adv_power" , "emp_basic")
design_ids = list("stunrevolver", "stunshell", "ioncarbine")
design_ids = list("stunrevolver", "stunshell", "ioncarbine", "mws_ion")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500)
export_price = 5000
@@ -702,7 +702,7 @@
display_name = "Beam Weaponry"
description = "Various basic beam weapons"
prereq_ids = list("adv_weaponry")
design_ids = list("temp_gun", "xray_laser")
design_ids = list("temp_gun", "xray_laser", "mws_xray")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
+1 -1
View File
@@ -187,7 +187,7 @@
var/mob/living/M = AM
var/throwtarget = get_edge_target_turf(src, boot_dir)
M.Knockdown(40)
M.throw_at(throwtarget, 5, 1,src)
M.throw_at(throwtarget, 5, 1)
to_chat(M, "<span class='notice'>No climbing on the bar please.</span>")
else
. = ..()
+3 -3
View File
@@ -227,7 +227,7 @@
terminate_effects()
. = ..()
/obj/item/organ/eyes/robotic/glow/Remove()
/obj/item/organ/eyes/robotic/glow/Remove(mob/living/carbon/M, special = FALSE)
terminate_effects()
. = ..()
@@ -338,7 +338,7 @@
/obj/item/organ/eyes/robotic/glow/proc/start_visuals()
if(!islist(eye_lighting))
regenerate_light_effects()
if((eye_lighting.len < light_beam_distance) || !on_mob)
if((LAZYLEN(eye_lighting) < light_beam_distance) || !on_mob)
regenerate_light_effects()
sync_light_effects()
update_visuals()
@@ -377,4 +377,4 @@
/obj/item/organ/eyes/ipc
name = "ipc eyes"
icon_state = "cybernetic_eyeballs"
icon_state = "cybernetic_eyeballs"
@@ -176,7 +176,7 @@
if(owner)
// The special flag is important, because otherwise mobs can die
// while undergoing transformation into different mobs.
Remove(owner, special=TRUE)
Remove(owner, TRUE)
return ..()
/obj/item/organ/attack(mob/living/carbon/M, mob/user)
+7 -1
View File
@@ -117,7 +117,13 @@
/obj/item/clothing/head/christmashatg = 3,
/obj/item/clothing/shoes/winterboots/christmasbootsr = 3,
/obj/item/clothing/shoes/winterboots/christmasbootsg = 3,
/obj/item/clothing/shoes/winterboots/santaboots = 3)
/obj/item/clothing/shoes/winterboots/santaboots = 3,
/obj/item/clothing/head/cowboyhat = 3,
/obj/item/clothing/head/cowboyhat/black = 3,
/obj/item/clothing/head/cowboyhat/white = 3,
/obj/item/clothing/head/cowboyhat/pink = 3,
/obj/item/clothing/shoes/cowboyboots = 3,
/obj/item/clothing/shoes/cowboyboots/black = 3)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
/obj/item/clothing/under/syndicate/tacticool/skirt = 3,
/obj/item/clothing/mask/balaclava = 3,