mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
Merge branch 'bleeding-edge-freeze' of https://github.com/Baystation12/Baystation12 into bleeding-edge-freeze
This commit is contained in:
@@ -78,7 +78,7 @@
|
||||
/obj/item/weapon/autopsy_scanner/verb/print_data()
|
||||
set src in view(usr, 1)
|
||||
set name = "Print Data"
|
||||
if(usr.stat)
|
||||
if(usr.stat || !(istype(usr,/mob/living/carbon/human)))
|
||||
usr << "No."
|
||||
return
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ rcd light flash thingy on matter drain
|
||||
for(var/mob/V in hearers(M, null))
|
||||
V.show_message("\blue You hear a loud electrical buzzing sound!", 2)
|
||||
spawn(50)
|
||||
explosion(get_turf(M), 0,1,1,0)
|
||||
explosion(get_turf(M), 0,1,2,3)
|
||||
del(M)
|
||||
else usr << "Out of uses."
|
||||
else usr << "That's not a machine."
|
||||
|
||||
@@ -1193,7 +1193,8 @@ About the new airlock wires panel:
|
||||
da.anchored = 1
|
||||
if(mineral)
|
||||
da.glass = mineral
|
||||
else if(glass)
|
||||
//else if(glass)
|
||||
else if(glass && !da.glass)
|
||||
da.glass = 1
|
||||
da.state = 1
|
||||
da.created_name = src.name
|
||||
|
||||
@@ -6,4 +6,5 @@
|
||||
name = "Glass Airlock"
|
||||
icon = 'icons/obj/doors/Door2x1glass.dmi'
|
||||
opacity = 0
|
||||
glass = 1
|
||||
glass = 1
|
||||
assembly_type = "obj/structure/door_assembly/multi_tile"
|
||||
@@ -215,6 +215,12 @@
|
||||
O.cell.loc = O
|
||||
W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame.
|
||||
|
||||
// Since we "magically" installed a cell, we also have to update the correct component.
|
||||
if(O.cell)
|
||||
var/datum/robot_component/cell_component = O.components["power cell"]
|
||||
cell_component.wrapped = O.cell
|
||||
cell_component.installed = 1
|
||||
|
||||
feedback_inc("cyborg_birth",1)
|
||||
O.Namepick()
|
||||
|
||||
|
||||
@@ -106,10 +106,13 @@ obj/structure/door_assembly
|
||||
dir = EAST
|
||||
var/width = 1
|
||||
|
||||
//Temporary until we get sprites.
|
||||
// airlock_type = "/multi_tile/maint"
|
||||
glass = 1
|
||||
/*Temporary until we get sprites.
|
||||
glass_type = "/multi_tile/glass"
|
||||
airlock_type = "/multi_tile/maint"
|
||||
glass = 1*/
|
||||
base_icon_state = "g" //Remember to delete this line when reverting "glass" var to 1.
|
||||
airlock_type = "/multi_tile/glass"
|
||||
glass = -1 //To prevent bugs in deconstruction process.
|
||||
|
||||
New()
|
||||
if(dir in list(EAST, WEST))
|
||||
@@ -118,6 +121,7 @@ obj/structure/door_assembly
|
||||
else
|
||||
bound_width = world.icon_size
|
||||
bound_height = width * world.icon_size
|
||||
update_state()
|
||||
|
||||
Move()
|
||||
. = ..()
|
||||
|
||||
@@ -484,7 +484,7 @@ client/proc/one_click_antag()
|
||||
new_vox << "\red Don't forget to turn on your nitrogen internals!"
|
||||
|
||||
raiders--
|
||||
if(raiders >= 4)
|
||||
if(raiders > 4)
|
||||
return 0
|
||||
else
|
||||
return 0
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
|
||||
equip_to_slot_or_del(new /obj/item/device/chameleon(src), slot_l_store)
|
||||
|
||||
var/obj/item/weapon/crossbow/W = new(src)
|
||||
W.cell = new /obj/item/weapon/cell/crap(W)
|
||||
W.cell.charge = 500
|
||||
equip_to_slot_or_del(W, slot_r_hand)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/raider, slot_r_hand)
|
||||
|
||||
if(2) // Vox engineer!
|
||||
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/pressure(src), slot_wear_suit)
|
||||
@@ -28,7 +25,9 @@
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/box/emps(src), slot_l_store)
|
||||
|
||||
equip_to_slot_or_del(new /obj/item/weapon/pickaxe/plasmacutter(src), slot_r_hand)
|
||||
var/obj/item/weapon/storage/pneumatic/W = new(src)
|
||||
W.tank = new /obj/item/weapon/tank/nitrogen(W)
|
||||
equip_to_slot_or_del(W, slot_r_hand)
|
||||
|
||||
if(3) // Vox saboteur!
|
||||
equip_to_slot_or_del(new /obj/item/clothing/suit/space/vox/carapace(src), slot_wear_suit)
|
||||
@@ -37,8 +36,9 @@
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(src), slot_glasses) // REPLACE WITH CODED VOX ALTERNATIVE.
|
||||
equip_to_slot_or_del(new /obj/item/weapon/card/emag(src), slot_l_store)
|
||||
|
||||
var/obj/item/weapon/storage/pneumatic/W = new(src)
|
||||
W.tank = new /obj/item/weapon/tank/nitrogen(W)
|
||||
var/obj/item/weapon/crossbow/W = new(src)
|
||||
W.cell = new /obj/item/weapon/cell/crap(W)
|
||||
W.cell.charge = 500
|
||||
equip_to_slot_or_del(W, slot_r_hand)
|
||||
|
||||
if(4) // Vox medic!
|
||||
@@ -49,7 +49,7 @@
|
||||
equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray(src), slot_l_store)
|
||||
|
||||
equip_to_slot_or_del(new /obj/item/weapon/circular_saw(src), slot_l_hand)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/toxin(src), slot_r_hand)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/dartgun/vox/medical, slot_r_hand)
|
||||
|
||||
equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vox(src), slot_wear_mask)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(src), slot_back)
|
||||
|
||||
@@ -145,11 +145,6 @@
|
||||
examine()
|
||||
set src in view()
|
||||
..()
|
||||
var/state = "loosely"
|
||||
if(src.flags&NOSLIP)
|
||||
state = "tightly"
|
||||
usr << "The wearer seems to be gripping the floor [state]."
|
||||
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox/mob_can_equip(M as mob, slot)
|
||||
var/mob/living/carbon/human/U = M
|
||||
|
||||
@@ -94,19 +94,19 @@
|
||||
visible_message("\red [src] staggers under the impact!","\red You stagger under the impact!")
|
||||
src.throw_at(get_edge_target_turf(src,dir),1,momentum)
|
||||
|
||||
if(W.w_class >= 3 && W.sharp && armor < 2) //Projectile is suitable, armour is bypassable.
|
||||
if(istype(W.loc,/mob/living) && W.sharp) //Projectile is embedded and suitable for pinning.
|
||||
|
||||
if(!istype(src,/mob/living/carbon/human)) //Handles embedding for non-humans and simple_animals.
|
||||
O.loc = src
|
||||
src.embedded += O
|
||||
|
||||
var/turf/T = near_wall(dir,2)
|
||||
|
||||
if(T)
|
||||
src.loc = T
|
||||
visible_message("<span class='warning'>[src] is pinned to the wall by [O]!</span>","<span class='warning'>You are pinned to the wall by [O]!</span>")
|
||||
if(!istype(src,/mob/living/carbon/human))
|
||||
O.loc = src
|
||||
src.embedded += O
|
||||
src.anchored = 1
|
||||
src.pinned += O
|
||||
else
|
||||
src.anchored = 1
|
||||
src.pinned += O
|
||||
src.anchored = 1
|
||||
src.pinned += O
|
||||
|
||||
|
||||
/mob/living/proc/near_wall(var/direction,var/distance=1)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/mob/living/silicon/robot/proc/use_power()
|
||||
|
||||
if (is_component_functioning("power cell"))
|
||||
if (is_component_functioning("power cell") && cell)
|
||||
if(src.cell.charge <= 0)
|
||||
uneq_all()
|
||||
src.stat = 1
|
||||
|
||||
@@ -116,13 +116,13 @@
|
||||
cell.maxcharge = 7500
|
||||
cell.charge = 7500
|
||||
|
||||
..()
|
||||
|
||||
if(cell)
|
||||
var/datum/robot_component/cell_component = components["power cell"]
|
||||
cell_component.wrapped = cell
|
||||
cell_component.installed = 1
|
||||
|
||||
..()
|
||||
|
||||
playsound(loc, 'sound/voice/liveagain.ogg', 75, 1)
|
||||
|
||||
// setup the PDA and its name
|
||||
@@ -725,7 +725,7 @@
|
||||
var/datum/robot_component/C = components["power cell"]
|
||||
if(wiresexposed)
|
||||
user << "Close the panel first."
|
||||
else if(cell || C.installed)
|
||||
else if(cell)
|
||||
user << "There is a power cell already installed."
|
||||
else
|
||||
user.drop_item()
|
||||
@@ -1015,6 +1015,8 @@
|
||||
user.put_in_active_hand(cell)
|
||||
user << "You remove \the [cell]."
|
||||
cell = null
|
||||
cell_component.wrapped = null
|
||||
cell_component.installed = 0
|
||||
updateicon()
|
||||
else if(cell_component.installed == -1)
|
||||
cell_component.installed = 0
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
return
|
||||
for(var/obj/item/W in src)
|
||||
drop_from_inventory(W)
|
||||
regenerate_icons()
|
||||
monkeyizing = 1
|
||||
canmove = 0
|
||||
icon = null
|
||||
|
||||
@@ -308,6 +308,10 @@
|
||||
|
||||
//Updating wounds. Handles wound natural I had some free spachealing, internal bleedings and infections
|
||||
/datum/organ/external/proc/update_wounds()
|
||||
|
||||
if((status & ORGAN_ROBOT)) //Robotic limbs don't heal or get worse.
|
||||
return
|
||||
|
||||
for(var/datum/wound/W in wounds)
|
||||
// wounds can disappear after 10 minutes at the earliest
|
||||
if(W.damage == 0 && W.created + 10 * 10 * 60 <= world.time)
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker/vial/B = new(src)
|
||||
B.reagents.add_reagent(chem, 25)
|
||||
beakers += B
|
||||
cartridge = new /obj/item/weapon/dart_cartridge(src)
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/dartgun/examine()
|
||||
set src in view()
|
||||
@@ -207,7 +209,9 @@
|
||||
/obj/item/weapon/gun/dartgun/can_hit(var/mob/living/target as mob, var/mob/living/user as mob)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/dartgun/attack_self(user as mob)
|
||||
/obj/item/weapon/gun/dartgun/attack_self(mob/user)
|
||||
|
||||
user.set_machine(src)
|
||||
var/dat = "<b>[src] mixing control:</b><br><br>"
|
||||
|
||||
if (beakers.len)
|
||||
@@ -235,7 +239,8 @@
|
||||
dat += "<font color='red'>The dart cartridge is empty!</font>"
|
||||
dat += " \[<A href='?src=\ref[src];eject_cart=1'>Eject</A>\]"
|
||||
|
||||
user << browse("[dat]", "window=dartgun_mixing_window")
|
||||
user << browse(dat, "window=dartgun")
|
||||
onclose(user, "dartgun", src)
|
||||
|
||||
/obj/item/weapon/gun/dartgun/proc/check_beaker_mixing(var/obj/item/B)
|
||||
if(!mixing || !beakers)
|
||||
|
||||
Reference in New Issue
Block a user