mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-14 17:37:04 +01:00
Merge remote-tracking branch 'upstream/master' into bread
This commit is contained in:
@@ -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!"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]"))
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
. = ..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user