Merge branch 'master' into CheekyCrenando_Fluff_coat

This commit is contained in:
Gwydion Brain
2019-01-25 13:13:20 -08:00
28 changed files with 151 additions and 109 deletions
+3 -1
View File
@@ -92,7 +92,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas)
/obj/item/clothing/mask/gas,
/obj/item/grenade/gas/oxygen,
/obj/item/grenade/gas/oxygen)
cost = 35
containertype = /obj/structure/closet/crate/internals
containername = "emergency crate"
+20 -20
View File
@@ -1407,29 +1407,29 @@ var/list/ghostteleportlocs = list()
dynamic_lighting = 0
valid_territory = FALSE
auxport
name = "\improper Fore Port Solar Array"
icon_state = "panelsA"
/area/solar/auxport
name = "\improper Fore Port Solar Array"
icon_state = "panelsA"
auxstarboard
name = "\improper Fore Starboard Solar Array"
icon_state = "panelsA"
/area/solar/auxstarboard
name = "\improper Fore Starboard Solar Array"
icon_state = "panelsA"
fore
name = "\improper Fore Solar Array"
icon_state = "yellow"
/area/solar/fore
name = "\improper Fore Solar Array"
icon_state = "yellow"
aft
name = "\improper Aft Solar Array"
icon_state = "aft"
/area/solar/aft
name = "\improper Aft Solar Array"
icon_state = "aft"
starboard
name = "\improper Aft Starboard Solar Array"
icon_state = "panelsS"
/area/solar/starboard
name = "\improper Aft Starboard Solar Array"
icon_state = "panelsS"
port
name = "\improper Aft Port Solar Array"
icon_state = "panelsP"
/area/solar/port
name = "\improper Aft Port Solar Array"
icon_state = "panelsP"
/area/maintenance/auxsolarport
name = "\improper Fore Port Solar Maintenance"
@@ -1756,7 +1756,7 @@ var/list/ghostteleportlocs = list()
name = "\improper Head of Security's Office"
icon_state = "sec_hos"
area/security/podbay
/area/security/podbay
name = "\improper Security Podbay"
icon_state = "securitypodbay"
@@ -1848,7 +1848,7 @@ area/security/podbay
name = "\improper Mech Bay"
icon_state = "yellow"
/area/janitor/
/area/janitor
name = "\improper Custodial Closet"
icon_state = "janitor"
+1 -1
View File
@@ -1,4 +1,4 @@
/obj/machinery/computer/arcade/
/obj/machinery/computer/arcade
name = "random arcade"
desc = "random arcade machine"
icon = 'icons/obj/computer.dmi'
+1 -1
View File
@@ -651,7 +651,7 @@ to destroy them and players will be able to make replacements.
build_path = /obj/machinery/power/port_gen/pacman/mrs
origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4"
obj/item/circuitboard/rdserver
/obj/item/circuitboard/rdserver
name = "Circuit Board (R&D Server)"
build_path = /obj/machinery/r_n_d/server
board_type = "machine"
+6 -6
View File
@@ -94,32 +94,32 @@
T.reconsider_lights()
update_freelook_sight()
/obj/machinery/door/poddoor/multi_tile/four_tile_ver/
/obj/machinery/door/poddoor/multi_tile/four_tile_ver
icon = 'icons/obj/doors/1x4blast_vert.dmi'
width = 4
dir = NORTH
/obj/machinery/door/poddoor/multi_tile/three_tile_ver/
/obj/machinery/door/poddoor/multi_tile/three_tile_ver
icon = 'icons/obj/doors/1x3blast_vert.dmi'
width = 3
dir = NORTH
/obj/machinery/door/poddoor/multi_tile/two_tile_ver/
/obj/machinery/door/poddoor/multi_tile/two_tile_ver
icon = 'icons/obj/doors/1x2blast_vert.dmi'
width = 2
dir = NORTH
/obj/machinery/door/poddoor/multi_tile/four_tile_hor/
/obj/machinery/door/poddoor/multi_tile/four_tile_hor
icon = 'icons/obj/doors/1x4blast_hor.dmi'
width = 4
dir = EAST
/obj/machinery/door/poddoor/multi_tile/three_tile_hor/
/obj/machinery/door/poddoor/multi_tile/three_tile_hor
icon = 'icons/obj/doors/1x3blast_hor.dmi'
width = 3
dir = EAST
/obj/machinery/door/poddoor/multi_tile/two_tile_hor/
/obj/machinery/door/poddoor/multi_tile/two_tile_hor
icon = 'icons/obj/doors/1x2blast_hor.dmi'
width = 2
dir = EAST
+2 -2
View File
@@ -115,7 +115,7 @@
if(R.rcell.give(R.rcell.chargerate))
use_power(200)
using_power = 1
if(istype(charging, /obj/item/bodyanalyzer))
var/obj/item/bodyanalyzer/B = charging
if(B.power_supply)
@@ -154,7 +154,7 @@
icon_state = icon_state_idle
// Atlantis: No need for that copy-pasta code, just use var to store icon_states instead.
obj/machinery/recharger/wallcharger
/obj/machinery/recharger/wallcharger
name = "wall recharger"
icon_state = "wrecharger0"
icon_state_off = "wrechargeroff"
+1 -1
View File
@@ -167,7 +167,7 @@
if(!WT.isOn() || !WT.remove_fuel(5, user))
return
to_chat(user, "<span class='notice'>You cut the [src] apart.</span>")
new /obj/item/stack/sheet/plasteel(loc, 5)
new /obj/item/stack/sheet/plasteel(loc, 3)
qdel(src)
else
return ..()
@@ -142,7 +142,7 @@
attack_self(usr)
//Bananalamp
obj/item/flashlight/lamp/bananalamp
/obj/item/flashlight/lamp/bananalamp
name = "banana lamp"
desc = "Only a clown would think to make a ghetto banana-shaped lamp. Even has a goofy pullstring."
icon_state = "bananalamp"
@@ -381,4 +381,4 @@ obj/item/flashlight/lamp/bananalamp
anchored = TRUE
var/range = null
unacidable = TRUE
burn_state = LAVA_PROOF
burn_state = LAVA_PROOF
+57 -56
View File
@@ -9,75 +9,76 @@
var/icon/virtualIcon
var/list/bulletholes = list()
Destroy()
// if a target is deleted and associated with a stake, force stake to forget
for(var/obj/structure/target_stake/T in view(3,src))
if(T.pinned_target == src)
T.pinned_target = null
T.density = 1
break
return ..() // delete target
/obj/item/target/Destroy()
// if a target is deleted and associated with a stake, force stake to forget
for(var/obj/structure/target_stake/T in view(3,src))
if(T.pinned_target == src)
T.pinned_target = null
T.density = 1
break
return ..() // delete target
Move()
..()
// After target moves, check for nearby stakes. If associated, move to target
for(var/obj/structure/target_stake/M in view(3,src))
if(M.density == 0 && M.pinned_target == src)
M.loc = loc
/obj/item/target/Move()
..()
// After target moves, check for nearby stakes. If associated, move to target
for(var/obj/structure/target_stake/M in view(3,src))
if(M.density == 0 && M.pinned_target == src)
M.loc = loc
// This may seem a little counter-intuitive but I assure you that's for a purpose.
// Stakes are the ones that carry targets, yes, but in the stake code we set
// a stake's density to 0 meaning it can't be pushed anymore. Instead of pushing
// the stake now, we have to push the target.
// This may seem a little counter-intuitive but I assure you that's for a purpose.
// Stakes are the ones that carry targets, yes, but in the stake code we set
// a stake's density to 0 meaning it can't be pushed anymore. Instead of pushing
// the stake now, we have to push the target.
attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if(WT.remove_fuel(0, user))
overlays.Cut()
to_chat(usr, "You slice off [src]'s uneven chunks of aluminum and scorch marks.")
return
/obj/item/target/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if(WT.remove_fuel(0, user))
overlays.Cut()
to_chat(usr, "You slice off [src]'s uneven chunks of aluminum and scorch marks.")
return
attack_hand(mob/user as mob)
// taking pinned targets off!
var/obj/structure/target_stake/stake
for(var/obj/structure/target_stake/T in view(3,src))
if(T.pinned_target == src)
stake = T
break
/obj/item/target/attack_hand(mob/user as mob)
// taking pinned targets off!
var/obj/structure/target_stake/stake
for(var/obj/structure/target_stake/T in view(3,src))
if(T.pinned_target == src)
stake = T
break
if(stake)
if(stake.pinned_target)
stake.density = 1
density = 0
layer = OBJ_LAYER
if(stake)
if(stake.pinned_target)
stake.density = 1
density = 0
layer = OBJ_LAYER
loc = user.loc
if(ishuman(user))
if(!user.get_active_hand())
user.put_in_hands(src)
to_chat(user, "You take the target out of the stake.")
else
src.loc = get_turf(user)
loc = user.loc
if(ishuman(user))
if(!user.get_active_hand())
user.put_in_hands(src)
to_chat(user, "You take the target out of the stake.")
else
src.loc = get_turf(user)
to_chat(user, "You take the target out of the stake.")
stake.pinned_target = null
return
stake.pinned_target = null
return
else
..()
else
..()
syndicate
icon_state = "target_s"
desc = "A shooting target that looks like a syndicate scum."
hp = 2600 // i guess syndie targets are sturdier?
alien
icon_state = "target_q"
desc = "A shooting target that looks like a xenomorphic alien."
hp = 2350 // alium onest too kinda
/obj/item/target/syndicate
icon_state = "target_s"
desc = "A shooting target that looks like a syndicate scum."
hp = 2600 // i guess syndie targets are sturdier?
/obj/item/target/alien
icon_state = "target_q"
desc = "A shooting target that looks like a xenomorphic alien."
hp = 2350 // alium onest too kinda
/obj/item/target/bullet_act(var/obj/item/projectile/Proj)
var/p_x = Proj.p_x + pick(0,0,0,0,0,-1,1) // really ugly way of coding "sometimes offset Proj.p_x!"
@@ -129,7 +129,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list(
*/
var/global/list/datum/stack_recipe/plasteel_recipes = list(
new /datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1),
new /datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50),
new /datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 3, time = 50),
new /datum/stack_recipe("Surgery Table", /obj/machinery/optable, 5, time = 50, one_per_turf = 1, on_floor = 1),
new /datum/stack_recipe("Metal crate", /obj/structure/closet/crate, 10, time = 50, one_per_turf = 1),
new /datum/stack_recipe("Mass Driver frame", /obj/machinery/mass_driver_frame, 3, time = 50, one_per_turf = 1),
@@ -1,6 +1,3 @@
/obj/item/grenade/gas
name = "plasma fire grenade"
desc = "A compressed plasma grenade, used to start horrific plasma fires."
@@ -23,9 +20,16 @@
/obj/item/grenade/gas/knockout
name = "knockout grenade"
desc = "A grenade that completely removes all air and heat from its detonation area."
desc = "A grenade that releases pure N2O gas."
spawn_contents = SPAWN_20C | SPAWN_N2O
/obj/item/grenade/gas/oxygen
name = "oxygen grenade"
desc = "A grenade that releases pure O2 gas."
icon_state = "oxygen"
spawn_contents = SPAWN_20C | SPAWN_OXYGEN
spawn_amount = 500
/obj/item/grenade/gluon
desc = "An advanced grenade that releases a harmful stream of gluons inducing radiation in those nearby. These gluon streams will also make victims feel exhausted, and induce shivering. This extreme coldness will also wet any nearby floors."
name = "gluon grenade"
+2 -2
View File
@@ -89,7 +89,7 @@
w_class = WEIGHT_CLASS_NORMAL
attack_verb = list("jabbed","stabbed","ripped")
obj/item/wirerod
/obj/item/wirerod
name = "Wired rod"
desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit."
icon_state = "wiredrod"
@@ -101,7 +101,7 @@ obj/item/wirerod
materials = list(MAT_METAL=1150, MAT_GLASS=75)
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
obj/item/wirerod/attackby(obj/item/I, mob/user, params)
/obj/item/wirerod/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/shard))
var/obj/item/twohanded/spear/S = new /obj/item/twohanded/spear
@@ -135,6 +135,8 @@
new /obj/item/storage/backpack/satchel_eng(src)
new /obj/item/storage/backpack/duffel/atmos(src)
new /obj/item/extinguisher(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/tank/emergency_oxygen/engi(src)
+1 -1
View File
@@ -122,7 +122,7 @@ GLOBAL_LIST_EMPTY(safes)
switch(alert("What would you like to do?", "Thermal Drill", "Turn [drill_timer ? "Off" : "On"]", "Remove Drill", "Cancel"))
if("Turn On")
if(do_after(user, 2 SECONDS, target = src))
drill_timer = addtimer(CALLBACK(src, .proc/drill_open), time_to_drill)
drill_timer = addtimer(CALLBACK(src, .proc/drill_open), time_to_drill, TIMER_STOPPABLE)
drill_start_time = world.time
drill.soundloop.start()
update_icon()
+8
View File
@@ -1611,3 +1611,11 @@
icon_state = "asmer_accordion"
item_state = "asmer_accordion"
/obj/item/clothing/head/rabbitears/fluff/pinesalad_bunny // Pineapple Salad : Dan Jello
name = "Bluespace rabbit ears"
desc = "A pair of sparkly bluespace rabbit ears, with a small tag on them that reads,"/"Dan Jello~"/". Yuck, \
there's some pink slime on the part that goes on your head!"
icon = 'icons/obj/custom_items.dmi'
icon_state = "ps_bunny"
@@ -21,6 +21,7 @@
can_be_placed_into = null
flags = NOBLUDGEON
container_type = OPENCONTAINER
has_lid = FALSE
var/wipespeed = 30
/obj/item/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag)
+1 -1
View File
@@ -1,5 +1,5 @@
/////SINGULARITY SPAWNER
/obj/machinery/the_singularitygen/
/obj/machinery/the_singularitygen
name = "Gravitational Singularity Generator"
desc = "An odd device which produces a Gravitational Singularity when set up."
icon = 'icons/obj/singularity.dmi'
@@ -10,6 +10,7 @@
var/list/list_reagents = null
var/spawned_disease = null
var/disease_amount = 20
var/has_lid = FALSE // Used for containers where we want to put lids on and off
/obj/item/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this
set name = "Set transfer amount"
@@ -49,6 +50,14 @@
..()
/obj/item/reagent_containers/attack_self(mob/user)
if(has_lid)
if(is_open_container())
to_chat(usr, "<span class='notice'>You put the lid on [src].</span>")
container_type ^= REFILLABLE | DRAINABLE
else
to_chat(usr, "<span class='notice'>You take the lid off [src].</span>")
container_type |= REFILLABLE | DRAINABLE
update_icon()
return
// this prevented pills, food, and other things from being picked up by bags.
@@ -12,6 +12,7 @@
possible_transfer_amounts = list(5,10,15,25,30,50)
volume = 50
container_type = OPENCONTAINER
has_lid = TRUE
var/label_text = ""
// the fucking asshole who designed this can go die in a fire - Iamgoofball
@@ -55,16 +56,6 @@
if(!is_open_container())
to_chat(user, "<span class='notice'>Airtight lid seals it completely.</span>")
/obj/item/reagent_containers/glass/attack_self()
..()
if(is_open_container())
to_chat(usr, "<span class='notice'>You put the lid on [src].</span>")
container_type ^= REFILLABLE | DRAINABLE
else
to_chat(usr, "<span class='notice'>You take the lid off [src].</span>")
container_type |= REFILLABLE | DRAINABLE
update_icon()
/obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity)
if(!proximity)
return
@@ -0,0 +1,4 @@
author: "AzuleUtama"
delete-after: True
changes:
- bugfix: "Damp rags no longer have a lid, and must remain inferior to other containers."
@@ -0,0 +1,4 @@
author: "datlo"
delete-after: True
changes:
- tweak: "Reduced the cost of plasteel bomb frame crafting to 3 plasteel sheets (from 10)"
@@ -0,0 +1,4 @@
author: "Aurorablade"
delete-after: True
changes:
- rscadd: "Pineapplesalad fluff item"
@@ -0,0 +1,4 @@
author: "blinkdog"
delete-after: True
changes:
- bugfix: "Normalized some paths in the code tree"
@@ -0,0 +1,4 @@
author: "datlo"
delete-after: True
changes:
- rscadd: "Added emergency oxygen grenades to atmospherics lockers and the cargo emergency equipment crate."
@@ -0,0 +1,4 @@
author: "warior4356"
delete-after: True
changes:
- bugfix: "Drills now properly stop when turned off."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB