Merge branch 'master' into upstream-merge-38116

This commit is contained in:
deathride58
2018-06-05 21:30:21 +00:00
committed by GitHub
174 changed files with 6157 additions and 5377 deletions
@@ -47,6 +47,7 @@
/obj/effect/temp_visual/cult/turf/floor
icon_state = "floorglow"
duration = 5
plane = FLOOR_PLANE
/obj/effect/temp_visual/cult/portal
icon_state = "space"
+51 -12
View File
@@ -340,7 +340,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!"
icon_state = "cigaroff"
icon_on = "cigaron"
icon_off = "cigaroff"
icon_off = "cigaroff" //make sure to add positional sprites in icons/obj/cigarettes.dmi if you add more.
type_butt = /obj/item/cigbutt/cigarbutt
throw_speed = 0.5
item_state = "cigaroff"
@@ -492,11 +492,24 @@ CIGARETTE PACKETS ARE IN FANCY.DM
slot_flags = ITEM_SLOT_BELT
var/lit = 0
var/fancy = TRUE
var/overlay_state
var/overlay_list = list(
"plain",
"dame",
"thirteen",
"snake"
)
heat = 1500
resistance_flags = FIRE_PROOF
light_color = LIGHT_COLOR_FIRE
grind_results = list("iron" = 1, "welding_fuel" = 5, "oil" = 5)
/obj/item/lighter/Initialize()
. = ..()
if(!overlay_state)
overlay_state = pick(overlay_list)
update_icon()
/obj/item/lighter/suicide_act(mob/living/carbon/user)
if (lit)
user.visible_message("<span class='suicide'>[user] begins holding \the [src]'s flame up to [user.p_their()] face! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -507,10 +520,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return BRUTELOSS
/obj/item/lighter/update_icon()
if(lit)
icon_state = "[initial(icon_state)]_on"
else
icon_state = "[initial(icon_state)]"
cut_overlays()
var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]")
icon_state = "[initial(icon_state)][lit ? "-on" : ""]"
add_overlay(lighter_overlay)
/obj/item/lighter/ignition_effect(atom/A, mob/user)
if(is_hot())
@@ -597,19 +610,44 @@ CIGARETTE PACKETS ARE IN FANCY.DM
desc = "A cheap-as-free lighter."
icon_state = "lighter"
fancy = FALSE
overlay_list = list(
"transp",
"tall",
"matte",
"zoppo" //u cant stoppo th zoppo
)
var/lighter_color
var/list/color_list = list( //Same 16 color selection as electronic assemblies
COLOR_ASSEMBLY_BLACK,
COLOR_FLOORTILE_GRAY,
COLOR_ASSEMBLY_BGRAY,
COLOR_ASSEMBLY_WHITE,
COLOR_ASSEMBLY_RED,
COLOR_ASSEMBLY_ORANGE,
COLOR_ASSEMBLY_BEIGE,
COLOR_ASSEMBLY_BROWN,
COLOR_ASSEMBLY_GOLD,
COLOR_ASSEMBLY_YELLOW,
COLOR_ASSEMBLY_GURKHA,
COLOR_ASSEMBLY_LGREEN,
COLOR_ASSEMBLY_GREEN,
COLOR_ASSEMBLY_LBLUE,
COLOR_ASSEMBLY_BLUE,
COLOR_ASSEMBLY_PURPLE
)
/obj/item/lighter/greyscale/Initialize()
. = ..()
add_atom_colour(color2hex(randomColor(1)), FIXED_COLOUR_PRIORITY)
if(!lighter_color)
lighter_color = pick(color_list)
update_icon()
/obj/item/lighter/greyscale/update_icon()
cut_overlays()
var/mutable_appearance/base_overlay = mutable_appearance(icon,"[initial(icon_state)]_base")
base_overlay.appearance_flags = RESET_COLOR //the edging doesn't change color
if(lit)
base_overlay.icon_state = "[initial(icon_state)]_on"
add_overlay(base_overlay)
var/mutable_appearance/lighter_overlay = mutable_appearance(icon,"lighter_overlay_[overlay_state][lit ? "-on" : ""]")
icon_state = "[initial(icon_state)][lit ? "-on" : ""]"
lighter_overlay.color = lighter_color
add_overlay(lighter_overlay)
/obj/item/lighter/greyscale/ignition_effect(atom/A, mob/user)
if(is_hot())
@@ -619,9 +657,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/lighter/slime
name = "slime zippo"
desc = "A specialty zippo made from slimes and industry. Has a much hotter flame than normal."
icon_state = "slimezippo"
icon_state = "slighter"
heat = 3000 //Blue flame!
light_color = LIGHT_COLOR_CYAN
overlay_state = "slime"
grind_results = list("iron" = 1, "welding_fuel" = 5, "pyroxadone" = 5)
+1 -1
View File
@@ -310,7 +310,7 @@
/obj/item/storage/bag/tray/update_icon()
cut_overlays()
for(var/obj/item/I in contents)
add_overlay(mutable_appearance(I.icon, I.icon_state))
add_overlay(new /mutable_appearance(I))
/obj/item/storage/bag/tray/Entered()
. = ..()
+47
View File
@@ -326,6 +326,53 @@
GET_COMPONENT(STR, /datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_SMALL
/obj/item/storage/belt/military/snack
name = "tactical snack rig"
/obj/item/storage/belt/military/snack/Initialize()
. = ..()
var/sponsor = pick("DonkCo", "Waffle Co.", "Roffle Co.", "Gorlax Marauders", "Tiger Cooperative")
desc = "A set of snack-tical webbing worn by athletes of the [sponsor] VR sports division."
/obj/item/storage/belt/military/snack/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
STR.max_w_class = WEIGHT_CLASS_SMALL
STR.can_hold = typecacheof(list(
/obj/item/reagent_containers/food/snacks,
/obj/item/reagent_containers/food/drinks
))
var/amount = 5
var/rig_snacks
while(contents.len <= amount)
rig_snacks = pick(list(
/obj/item/reagent_containers/food/snacks/candy,
/obj/item/reagent_containers/food/drinks/dry_ramen,
/obj/item/reagent_containers/food/snacks/chips,
/obj/item/reagent_containers/food/snacks/sosjerky,
/obj/item/reagent_containers/food/snacks/syndicake,
/obj/item/reagent_containers/food/snacks/spacetwinkie,
/obj/item/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/reagent_containers/food/snacks/nachos,
/obj/item/reagent_containers/food/snacks/cheesynachos,
/obj/item/reagent_containers/food/snacks/cubannachos,
/obj/item/reagent_containers/food/snacks/nugget,
/obj/item/reagent_containers/food/snacks/pastatomato,
/obj/item/reagent_containers/food/snacks/rofflewaffles,
/obj/item/reagent_containers/food/snacks/donkpocket,
/obj/item/reagent_containers/food/drinks/soda_cans/cola,
/obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind,
/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb,
/obj/item/reagent_containers/food/drinks/soda_cans/starkist,
/obj/item/reagent_containers/food/drinks/soda_cans/space_up,
/obj/item/reagent_containers/food/drinks/soda_cans/pwr_game,
/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime,
/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola
))
new rig_snacks(src)
/obj/item/storage/belt/military/abductor
name = "agent belt"
desc = "A belt used by abductor agents."
+17 -10
View File
@@ -154,7 +154,7 @@
SendSignal(COMSIG_TRY_STORAGE_TAKE, W, user)
user.put_in_hands(W)
contents -= W
to_chat(user, "<span class='notice'>You take a [icon_type] out of the pack.</span>")
to_chat(user, "<span class='notice'>You take \a [W] out of the pack.</span>")
else
to_chat(user, "<span class='notice'>There are no [icon_type]s left in the pack.</span>")
@@ -166,18 +166,20 @@
else
icon_state = initial(icon_state)
add_overlay("[icon_state]_open")
var/i = contents.len
var/cig_position = 1
for(var/C in contents)
var/mutable_appearance/inserted_overlay = mutable_appearance(icon)
inserted_overlay.pixel_x = 1 * (i - 1)
if(istype(C, /obj/item/lighter/greyscale))
inserted_overlay.icon_state = "lighter_in"
else if(istype(C, /obj/item/lighter))
inserted_overlay.icon_state = "zippo_in"
else
inserted_overlay.icon_state = "cigarette"
inserted_overlay.icon_state = "[inserted_overlay.icon_state]_[cig_position]"
add_overlay(inserted_overlay)
i--
cig_position++
else
cut_overlays()
@@ -191,7 +193,7 @@
SendSignal(COMSIG_TRY_STORAGE_TAKE, W, M)
M.equip_to_slot_if_possible(W, SLOT_WEAR_MASK)
contents -= W
to_chat(user, "<span class='notice'>You take a [icon_type] out of the pack.</span>")
to_chat(user, "<span class='notice'>You take \a [W] out of the pack.</span>")
else
..()
else
@@ -293,22 +295,27 @@
/obj/item/storage/fancy/cigarettes/cigars/update_icon()
cut_overlays()
if(fancy_open)
add_overlay("[icon_state]_open")
var/mutable_appearance/cigar_overlay = mutable_appearance(icon, icon_type)
for(var/c = contents.len, c >= 1, c--)
cigar_overlay.pixel_x = 4 * (c - 1)
icon_state = "[initial(icon_state)]_open"
var/cigar_position = 1 //generate sprites for cigars in the box
for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents)
var/mutable_appearance/cigar_overlay = mutable_appearance(icon, "[smokes.icon_off]_[cigar_position]")
add_overlay(cigar_overlay)
cigar_position++
else
icon_state = "cigarcase"
icon_state = "[initial(icon_state)]"
/obj/item/storage/fancy/cigarettes/cigars/cohiba
name = "\improper cohiba robusto cigar case"
desc = "A case of imported Cohiba cigars, renowned for their strong flavor."
icon_state = "cohibacase"
spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba
/obj/item/storage/fancy/cigarettes/cigars/havana
name = "\improper premium havanian cigar case"
desc = "A case of classy Havanian cigars."
icon_state = "cohibacase"
spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana
/*
@@ -1,6 +1,7 @@
//The "BDPtarget" temp visual is created by the expressconsole, which in turn makes two things: a falling droppod animation, and the droppod itself.
#define POD_STANDARD 0
#define POD_BLUESPACE 1
#define POD_CENTCOM 2
//------------------------------------SUPPLY POD-------------------------------------//
/obj/structure/closet/supplypod
@@ -18,17 +19,25 @@
armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 90, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80)
anchored = TRUE
anchorable = FALSE
var/generated = FALSE
var/datum/supply_order/SupplyOrder
var/atom/other_delivery
/obj/structure/closet/supplypod/bluespacepod
name = "Bluespace Drop Pod"
desc = "A Nanotrasen Bluespace drop pod. Teleports back to CentCom after delivery."
icon_state = "bluespacepod"
/obj/structure/closet/supplypod/Initialize(mapload, datum/supply_order/so)
/obj/structure/closet/supplypod/bluespacepod/centcompod
name = "CentCom Drop Pod"
desc = "A Nanotrasen Bluespace drop pod, this one has been marked with Central Command's designations. Teleports back to Centcom after delivery."
icon_state = "centcompod"
/obj/structure/closet/supplypod/Initialize(mapload, var/SO)
. = ..()
SupplyOrder = so//uses Supply Order passed from expressconsole into BDPtarget
if(istype(SO, /datum/supply_order))
SupplyOrder = SO//uses Supply Order passed from expressconsole into BDPtarget
else
other_delivery = SO//if the object is not a supply order, we force the object in the pod
addtimer(CALLBACK(src, .proc/open), 30)//open 3seconds after appearing
/obj/structure/closet/supplypod/update_icon()
@@ -47,9 +56,10 @@
/obj/structure/closet/supplypod/open()
var/turf/T = get_turf(src)
opened = TRUE
if(!generated)
generated = TRUE
if(SupplyOrder)
SupplyOrder.generate(T)//not called during populateContents as supplyorder generation requires a turf
if(other_delivery)
new other_delivery(T)
update_icon()
playsound(src, open_sound, 15, 1, -3)
if(istype(src,/obj/structure/closet/supplypod/bluespacepod))
@@ -66,21 +76,24 @@
//------------------------------------FALLING SUPPLY POD-------------------------------------//
/obj/effect/temp_visual/DPfall
icon = 'icons/obj/2x2.dmi'
icon_state = "supplypod_falling"
pixel_x = -16
pixel_y = -5
pixel_z = 200
desc = "Get out of the way!"
layer = FLY_LAYER//that wasnt flying, that was falling with style!
randomdir = FALSE
icon_state = "supplypod_falling"
/obj/effect/temp_visual/DPfall/Initialize(var/dropLocation, var/podID)
if (podID == POD_BLUESPACE)
if (podID == POD_STANDARD)
icon_state = "supplypod_falling"
name = "Supply Drop Pod"
else if (podID == POD_BLUESPACE)
icon_state = "bluespacepod_falling"
name = "Bluespace Drop Pod"
else
icon_state = "supplypod_falling"
name = "Supply Drop Pod"
icon_state = "centcompod_falling"
name = "CentCom Drop Pod"
. = ..()
//------------------------------------TEMPORARY_VISUAL-------------------------------------//
@@ -91,22 +104,34 @@
light_range = 2
var/obj/effect/temp_visual/fallingPod
/obj/effect/DPtarget/Initialize(mapload, datum/supply_order/SO, var/podID)
/obj/effect/DPtarget/Initialize(mapload, var/SO, var/podID)
. = ..()
addtimer(CALLBACK(src, .proc/beginLaunch, SO, podID), podID == POD_BLUESPACE ? 15 : 30)//standard pods take 3 seconds to come in, bluespace pods take 1.5
var/delayTime = 0
switch(podID)
if(POD_STANDARD)
delayTime = 30
if(POD_BLUESPACE)
delayTime = 15
if(POD_CENTCOM)
delayTime = 1
/obj/effect/DPtarget/proc/beginLaunch(datum/supply_order/SO, var/podID)
addtimer(CALLBACK(src, .proc/beginLaunch, SO, podID), delayTime)//standard pods take 3 seconds to come in, bluespace pods take 1.5
/obj/effect/DPtarget/proc/beginLaunch(var/SO, var/podID)
fallingPod = new /obj/effect/temp_visual/DPfall(drop_location(), podID)
animate(fallingPod, pixel_z = 0, time = 3, easing = LINEAR_EASING)//make and animate a falling pod
addtimer(CALLBACK(src, .proc/endLaunch, SO, podID), 3, TIMER_CLIENT_TIME)//fall 0.3seconds
/obj/effect/DPtarget/proc/endLaunch(datum/supply_order/SO, var/podID)
if (podID == POD_BLUESPACE)
/obj/effect/DPtarget/proc/endLaunch(var/SO, var/podID)
if (podID == POD_STANDARD)
new /obj/structure/closet/supplypod(drop_location(), SO)//pod is created
explosion(src,0,0,2, flame_range = 3) //less advanced equipment than bluespace pod, so larger explosion when landing
else if (podID == POD_BLUESPACE)
new /obj/structure/closet/supplypod/bluespacepod(drop_location(), SO)//pod is created
explosion(src,0,0,2, flame_range = 1) //explosion and camshake (shoutout to @cyberboss)
else
new /obj/structure/closet/supplypod(drop_location(), SO)//pod is created
explosion(src,0,0,2, flame_range = 3) //less advanced equipment than bluespace pod, so larger explosion when landing
new /obj/structure/closet/supplypod/bluespacepod/centcompod(drop_location(), SO)
explosion(src,0,0,2, flame_range = 1)
qdel(src)
/obj/effect/DPtarget/Destroy()
@@ -120,4 +145,4 @@
icon = 'icons/obj/module.dmi'
icon_state = "cargodisk"
item_state = "card-id"
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_SMALL
@@ -106,7 +106,11 @@
/obj/item/stack/sheet/plasteel,
/obj/item/stack/sheet/mineral/titanium,
/obj/item/stack/sheet/mineral/plastitanium,
/obj/item/stack/rods
/obj/item/stack/rods,
/obj/item/stack/sheet/bluespace_crystal,
/obj/item/stack/sheet/mineral/abductor,
/obj/item/stack/sheet/plastic,
/obj/item/stack/sheet/mineral/wood
)
for(var/i = 0, i<2, i++)
+1 -1
View File
@@ -381,7 +381,7 @@
obj_integrity = max_integrity
/obj/structure/table/bronze
name = "brass table"
name = "bronze table"
desc = "A solid table made out of bronze."
icon = 'icons/obj/smooth_structures/brass_table.dmi'
icon_state = "brass_table"