Conflict fixes

This commit is contained in:
Artur
2020-04-14 09:27:54 +03:00
720 changed files with 148595 additions and 8360 deletions
@@ -14,26 +14,32 @@
name = "Glass working tools"
desc = "A lovely belt of most the tools you will need to shape, mold, and refine glass into more advanced shapes."
icon_state = "glass_tools"
tool_behaviour = TOOL_GLASS_CUT
tool_behaviour = TOOL_GLASS_CUT //Cutting takes 20 ticks
/obj/item/glasswork/blowing_rod
name = "Glass working blow rod"
desc = "A hollow metal stick made for glass blowing."
icon_state = "blowing_rods_unused"
tool_behaviour = TOOL_BLOW
tool_behaviour = TOOL_BLOW //Rods take 5 ticks
/obj/item/glasswork/glass_base
/obj/item/glasswork/glass_base //Welding takes 30 ticks
name = "Glass fodder sheet"
desc = "A sheet of glass set aside for glass working"
icon_state = "glass_base"
var/next_step = null
var/rod = /obj/item/glasswork/blowing_rod
/obj/item/lens
name = "Optical lens"
desc = "Good for selling or crafting, by itself its useless"
icon = 'icons/obj/chemical.dmi'
icon_state = "glass_optics"
/obj/item/tea_plate
name = "Tea Plate"
desc = "A polished plate for a tea cup. How fancy!"
icon = 'icons/obj/glass_ware.dmi'
icon_state = "tea_plate"
/obj/item/tea_cup
name = "Tea Cup"
desc = "A glass cup made for fake tea!"
icon = 'icons/obj/glass_ware.dmi'
icon_state = "tea_plate"
//////////////////////Chem Disk/////////////////////
//Two Steps //
@@ -49,8 +55,9 @@
/obj/item/glasswork/glass_base/dish/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/dish_part1
name = "Half chem dish sheet"
@@ -61,8 +68,9 @@
/obj/item/glasswork/glass_base/dish_part1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
qdel(src)
//////////////////////Lens//////////////////////////
//Six Steps //
@@ -78,8 +86,9 @@
/obj/item/glasswork/glass_base/glass_lens/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glass_lens_part1
name = "Glass fodder sheet"
@@ -90,8 +99,9 @@
/obj/item/glasswork/glass_base/glass_lens_part1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glass_lens_part2
name = "Glass fodder sheet"
@@ -102,8 +112,9 @@
/obj/item/glasswork/glass_base/glass_lens_part2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glass_lens_part3
name = "Glass fodder sheet"
@@ -114,9 +125,10 @@
/obj/item/glasswork/glass_base/glass_lens_part3/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
new next_step(user.loc, 1)
qdel(src)
qdel(I)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/glass_lens_part4
name = "Glass fodder sheet"
@@ -127,29 +139,31 @@
/obj/item/glasswork/glass_base/glass_lens_part4/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glass_lens_part5
name = "Unpolished glass lens"
desc = "A small unpolished glass lens. Could be polished with some cloth."
icon = 'icons/obj/chemical.dmi'
desc = "A small unpolished glass lens. Could be polished with some silk."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "glass_optics"
next_step = /obj/item/glasswork/glass_base/glass_lens_part6
/obj/item/glasswork/glass_base/glass_lens_part5/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/cloth))
new next_step(user.loc, 1)
qdel(src)
if(istype(I, /obj/item/stack/sheet/silk))
if(do_after(user,10, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glass_lens_part6
name = "Unrefined glass lens"
desc = "A small polished glass lens. Just needs to be refined with some sandstone."
icon = 'icons/obj/chemical.dmi'
icon = 'icons/obj/glass_ware.dmi'
icon_state = "glass_optics"
next_step = /obj/item/lens
next_step = /obj/item/glasswork/glass_base/lens
/obj/item/glasswork/glass_base/glass_lens_part6/attackby(obj/item/I, mob/user, params)
..()
@@ -171,8 +185,9 @@
/obj/item/glasswork/glass_base/spouty/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/spouty_part2
name = "Glass fodder sheet"
@@ -183,8 +198,9 @@
/obj/item/glasswork/glass_base/spouty_part2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/spouty_part3
name = "Glass fodder sheet"
@@ -195,9 +211,10 @@
/obj/item/glasswork/glass_base/spouty_part3/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
new next_step(user.loc, 1)
qdel(src)
qdel(I)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/spouty_part4
name = "Glass fodder sheet"
@@ -208,9 +225,10 @@
/obj/item/glasswork/glass_base/spouty_part4/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
//////////////////////Small Bulb Flask//////////////
//Two Steps //
@@ -226,8 +244,9 @@
/obj/item/glasswork/glass_base/flask_small/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/flask_small_part1
name = "Metled glass"
@@ -238,9 +257,10 @@
/obj/item/glasswork/glass_base/flask_small_part1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
new next_step(user.loc, 1)
qdel(src)
qdel(I)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/flask_small_part2
name = "Metled glass"
@@ -251,9 +271,10 @@
/obj/item/glasswork/glass_base/flask_small_part2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
//////////////////////Large Bulb Flask//////////////
//Two Steps //
@@ -269,8 +290,9 @@
/obj/item/glasswork/glass_base/flask_large/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
new next_step(user.loc, 1)
qdel(src)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/flask_large_part1
name = "Metled glass"
@@ -281,9 +303,10 @@
/obj/item/glasswork/glass_base/flask_large_part1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
new next_step(user.loc, 1)
qdel(src)
qdel(I)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/flask_large_part2
name = "Metled glass"
@@ -294,6 +317,138 @@
/obj/item/glasswork/glass_base/flask_large_part2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
//////////////////////Tea Plates////////////////////
//Three Steps //
//Sells for 1200 cr, takes 5 glass shets //
//Usefull for selling and chemical things //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/tea_plate
name = "Glass fodder sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a tea plate, how fancy! Needs to be heated with some tools."
next_step = /obj/item/glasswork/glass_base/tea_plate1
/obj/item/glasswork/glass_base/tea_plate/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/tea_plate1
name = "Metled glass"
desc = "A blob of metled glass, this one is ideal for a tea plate. Needs to be blown with some tools."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/tea_plate2
/obj/item/glasswork/glass_base/tea_plate1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/tea_plate2
name = "Metled glass"
desc = "A blob of metled glass on the end of a blowing rod. Needs to be cut off with some tools."
icon_state = "blowing_rods_inuse"
next_step = /obj/item/glasswork/glass_base/tea_plate3
/obj/item/glasswork/glass_base/tea_plate2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/tea_plate3
name = "Disk of glass"
desc = "A disk of glass that can be cant be used for much. Needs to be polished with some silk."
icon_state = "glass_base_half"
next_step = /obj/item/tea_plate
/obj/item/glasswork/glass_base/tea_plate3/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/silk))
if(do_after(user,10, target = src))
new next_step(user.loc, 1)
qdel(src)
//////////////////////Tea Cup///////////////////////
//Four Steps //
//Sells for 1800 cr, takes 6 glass shets //
//Usefull for selling and chemical things //
////////////////////////////////////////////////////
/obj/item/glasswork/glass_base/tea_cup
name = "Glass fodder sheet"
desc = "A set of glass sheets set aside for glass working, this one is ideal for a tea cup, how fancy! Needs to be heated with some tools."
next_step = /obj/item/glasswork/glass_base/tea_cup1
/obj/item/glasswork/glass_base/tea_cup/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_WELDER)
if(do_after(user,30, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/tea_cup1
name = "Metled glass"
desc = "A blob of metled glass, this one is ideal for a tea cup. Needs to be blown with some tools."
icon_state = "glass_base_molding"
next_step = /obj/item/glasswork/glass_base/tea_cup2
/obj/item/glasswork/glass_base/tea_cup1/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_BLOW)
if(do_after(user,5, target = src))
new next_step(user.loc, 1)
qdel(src)
qdel(I)
/obj/item/glasswork/glass_base/tea_cupe2
name = "Metled glass"
desc = "A blob of metled glass on the end of a blowing rod. Needs to be cut off with some tools."
icon_state = "blowing_rods_inuse"
next_step = /obj/item/glasswork/glass_base/tea_cup3
/obj/item/glasswork/glass_base/tea_cup2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_GLASS_CUT)
if(do_after(user,20, target = src))
new next_step(user.loc, 1)
new rod(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/tea_cup3
name = "Disk of glass"
desc = "A bowl of glass that can be cant be used for much. Needs to be polished with some silk."
icon_state = "glass_base_half"
next_step = /obj/item/glasswork/glass_base/tea_cup4
/obj/item/glasswork/glass_base/cup3/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/silk))
if(do_after(user,10, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/tea_cup4
name = "Disk of glass"
desc = "A bowl of polished glass that can be cant be used for much. Needs some more glass to make a handle."
icon_state = "glass_base_half"
next_step = /obj/item/tea_cup
/obj/item/glasswork/glass_base/cup4/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stack/sheet/glass))
if(do_after(user,10, target = src))
new next_step(user.loc, 1)
qdel(src)
@@ -0,0 +1,98 @@
//This file is for crafting using a lens!
/obj/item/glasswork/glass_base/lens
name = "Optical lens"
desc = "Good for selling or crafting, by itself its useless"
icon = 'icons/obj/glass_ware.dmi'
icon_state = "glass_optics"
//Laser pointers - 2600
/obj/item/glasswork/glass_base/laserpointer_shell
name = "Laser pointer assembly"
desc = "Good for selling or crafting, by itself its useless. Needs a power capactor."
icon_state = "laser_case"
icon = 'icons/obj/glass_ware.dmi'
next_step = /obj/item/glasswork/glass_base/laserpointer_shell_1
/obj/item/glasswork/glass_base/laserpointer_shell/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/stock_parts/capacitor))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/laserpointer_shell_1
name = "Laser pointer assembly"
desc = "Good for selling or crafting, by itself its useless. Needs a glass lens."
icon_state = "laser_wire"
icon_state = "laser_case"
next_step = /obj/item/glasswork/glass_base/laserpointer_shell_2
/obj/item/glasswork/glass_base/laserpointer_shell_1/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base/lens))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/laserpointer_shell_2
name = "Laser pointer assembly"
desc = "Good for selling or crafting, by itself its useless. Needs to be screwed together."
icon_state = "laser_wire"
icon_state = "laser_case"
next_step = /obj/item/laser_pointer/blue/handmade
/obj/item/glasswork/glass_base/laserpointer_shell_2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(do_after(user,260, target = src))
new next_step(user.loc, 1)
qdel(src)
//NERD SHIT - 5000
/obj/item/glasswork/glass_base/glasses_frame
name = "Glasses Frame"
desc = "Good for crafting a pare of glasses, by itself its useless. Just add a pare of lens."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "frames"
next_step = /obj/item/glasswork/glass_base/glasses_frame_1
/obj/item/glasswork/glass_base/glasses_frame/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base/lens))
if(do_after(user,60, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glasses_frame_1
name = "Glasses Frame"
desc = "Good for crafting a pare of glasses, by itself its useless. Just add a the other lens."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "frames_1"
next_step = /obj/item/glasswork/glass_base/glasses_frame_2
/obj/item/glasswork/glass_base/glasses_frame_1/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/glasswork/glass_base/lens))
if(do_after(user,60, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glass_base/glasses_frame_2
name = "Glasses Frame"
desc = "Good for crafting a pare of glasses, by itself its useless. Just adjust the pices into the frame with a screwdriver."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "frames_2"
next_step = /obj/item/glasswork/glasses
/obj/item/glasswork/glass_base/glasses_frame_2/attackby(obj/item/I, mob/user, params)
..()
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(do_after(user,180, target = src))
new next_step(user.loc, 1)
qdel(src)
/obj/item/glasswork/glasses
name = "Hand Made Glasses"
desc = "Hande made glasses that have not been polished at all making them useless. Selling them could still be worth a bit of credits."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "frames_2"
@@ -33,6 +33,13 @@
/obj/item/organ/ears/cat = 1)
category = CAT_CLOTHING
/datum/crafting_recipe/papermask
name = "Paper Mask"
result = /obj/item/clothing/mask/paper
time = 10
reqs = list(/obj/item/paper = 20)
category = CAT_CLOTHING
////////
//Huds//
////////
+1 -2
View File
@@ -25,7 +25,6 @@
RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack)
else
CRASH("Something that wasn't an atom was given /datum/component/radioactive")
return
if(strength > RAD_MINIMUM_CONTAMINATION)
SSradiation.warn(src)
@@ -84,4 +83,4 @@
#undef RAD_AMOUNT_LOW
#undef RAD_AMOUNT_MEDIUM
#undef RAD_AMOUNT_HIGH
#undef RAD_AMOUNT_EXTREME
#undef RAD_AMOUNT_EXTREME
+1 -1
View File
@@ -790,7 +790,7 @@
user.visible_message("<span class='warning'>[user] draws [I] from [parent]!</span>", "<span class='notice'>You draw [I] from [parent].</span>")
return TRUE
/datum/component/storage/proc/action_trigger(datum/signal_source, datum/action/source)
/datum/component/storage/proc/action_trigger(datum/action/source, obj/target)
gather_mode_switch(source.owner)
return COMPONENT_ACTION_BLOCK_TRIGGER
+17 -2
View File
@@ -27,6 +27,8 @@ GLOBAL_LIST_EMPTY(uplinks)
var/datum/ui_state/checkstate
var/compact_mode = FALSE
var/debug = FALSE
var/saved_player_population = 0
var/list/filters = list()
/datum/component/uplink/Initialize(_owner, _lockable = TRUE, _enabled = FALSE, datum/game_mode/_gamemode, starting_tc = 20, datum/ui_state/_checkstate, datum/traitor_class/traitor_class)
if(!isitem(parent))
@@ -47,7 +49,6 @@ GLOBAL_LIST_EMPTY(uplinks)
RegisterSignal(parent, COMSIG_PEN_ROTATED, .proc/pen_rotation)
GLOB.uplinks += src
var/list/filters = list()
if(istype(traitor_class))
filters = traitor_class.uplink_filters
starting_tc = traitor_class.TC
@@ -68,6 +69,7 @@ GLOBAL_LIST_EMPTY(uplinks)
if(!lockable)
active = TRUE
locked = FALSE
saved_player_population = GLOB.joined_player_list.len
/datum/component/uplink/InheritComponent(datum/component/uplink/U)
lockable |= U.lockable
@@ -117,7 +119,18 @@ GLOBAL_LIST_EMPTY(uplinks)
return
active = TRUE
if(user)
//update the saved population
var/previous_player_population = saved_player_population
saved_player_population = GLOB.joined_player_list.len
//if population has changed, update uplink items
if(saved_player_population != previous_player_population)
//make sure discounts are not rerolled
var/old_discounts = uplink_items["Discounted Gear"]
uplink_items = get_uplink_items(gamemode, FALSE, allow_restricted, filters)
if(old_discounts)
uplink_items["Discounted Gear"] = old_discounts
ui_interact(user)
// an unlocked uplink blocks also opening the PDA or headset menu
return COMPONENT_NO_INTERACT
@@ -190,7 +203,9 @@ GLOBAL_LIST_EMPTY(uplinks)
if(item in buyable_items)
var/datum/uplink_item/I = buyable_items[item]
MakePurchase(usr, I)
//check to make sure people cannot buy items when the player pop is below the requirement
if(GLOB.joined_player_list.len >= I.player_minimum)
MakePurchase(usr, I)
. = TRUE
if("lock")
active = FALSE
+1 -1
View File
@@ -176,7 +176,7 @@
/**
*The following procs simply acts as hooks for quit(), since components do not use callbacks anymore
*/
/datum/component/virtual_reality/proc/action_trigger(datum/signal_source, datum/action/source)
/datum/component/virtual_reality/proc/action_trigger(datum/action/source, obj/target)
quit()
return COMPONENT_ACTION_BLOCK_TRIGGER
+1 -1
View File
@@ -19,4 +19,4 @@
UnregisterSignal(equipper, signals)
/datum/component/wearertargeting/proc/on_drop(datum/source, mob/user)
UnregisterSignal(user, signals)
UnregisterSignal(user, signals)
-1
View File
@@ -19,7 +19,6 @@
var/datum/component/wet_floor/WF = newcomp //Lets make an assumption
if(WF.gc()) //See if it's even valid, still. Also does LAZYLEN and stuff for us.
CRASH("Wet floor component tried to inherit another, but the other was able to garbage collect while being inherited! What a waste of time!")
return
for(var/i in WF.time_left_list)
add_wet(text2num(i), WF.time_left_list[i])