Merge remote-tracking branch 'upstream/master' into AnPrimAssistants

This commit is contained in:
lolman360
2020-08-24 09:36:36 +10:00
22 changed files with 247 additions and 127 deletions

View File

@@ -7014,9 +7014,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
/area/crew_quarters/fitness/recreation)
"amG" = (
/turf/closed/wall,
/area/space)
"amH" = (
/obj/machinery/door/airlock/external{
req_one_access_txt = "13,8"
@@ -46794,7 +46791,7 @@
dir = 8
},
/turf/open/floor/plating,
/area/space/nearstation)
/area/maintenance/starboard/fore)
"bOZ" = (
/obj/machinery/chem_master/condimaster{
name = "CondiMaster Neo";
@@ -70554,7 +70551,7 @@
dir = 8
},
/turf/open/floor/plating,
/area/space/nearstation)
/area/maintenance/starboard/aft)
"cJg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/bedsheet/medical,
@@ -81152,10 +81149,6 @@
/obj/machinery/vr_sleeper,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"evy" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/space)
"eEe" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 8
@@ -81385,10 +81378,6 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
"hKW" = (
/obj/structure/lattice,
/turf/open/space/basic,
/area/maintenance/aft)
"ioI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -82834,10 +82823,6 @@
},
/turf/open/floor/plating,
/area/security/prison)
"wkz" = (
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/space)
"wlH" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -113085,7 +113070,7 @@ cCq
cgN
cMl
bTs
hKW
lMJ
aaf
aaf
aaf
@@ -113342,7 +113327,7 @@ cCq
cLA
bTs
bTs
hKW
lMJ
aaf
aaa
aaa
@@ -119762,9 +119747,9 @@ cEA
aaf
aaa
aaa
blx
dvY
cJf
blx
dvY
aaa
dbN
gsT
@@ -120019,9 +120004,9 @@ blx
aaa
aaa
aaa
wkz
ack
uim
wkz
ack
aaa
aaf
dbR
@@ -121287,7 +121272,7 @@ ciL
cgs
csc
dvY
evy
dxk
krD
lsv
txj
@@ -129695,8 +129680,8 @@ aaa
aaa
aaf
aaa
amG
blx
dnh
dnh
bOY
dqT
aaf

View File

@@ -2822,7 +2822,7 @@
req_access_txt = "65"
},
/turf/open/floor/plating,
/area/space/nearstation)
/area/ai_monitored/turret_protected/aisat_interior)
"ahi" = (
/obj/structure/lattice/catwalk,
/turf/open/space,
@@ -2923,8 +2923,15 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
"ahr" = (
/turf/closed/wall/r_wall,
/area/space)
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/door/airlock/external{
name = "Security External Airlock";
req_access_txt = "63"
},
/turf/open/floor/plating,
/area/maintenance/fore)
"ahs" = (
/obj/structure/lattice/catwalk,
/obj/structure/transit_tube,
@@ -4686,7 +4693,7 @@
pixel_y = 20
},
/turf/open/space,
/area/space)
/area/space/nearstation)
"alc" = (
/obj/structure/table,
/obj/item/storage/fancy/cigarettes/cigars,
@@ -6629,13 +6636,6 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"apn" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/door/airlock/external{
name = "Security External Airlock";
req_access_txt = "63"
},
/turf/open/floor/plating,
/area/maintenance/fore)
"apo" = (
@@ -8698,9 +8698,18 @@
/turf/closed/wall,
/area/bridge)
"atZ" = (
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/space)
/obj/structure/cable{
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/door/airlock/external{
name = "Solar Maintenance";
req_access_txt = "10; 13"
},
/turf/open/floor/plating,
/area/maintenance/solars/starboard)
"aua" = (
/obj/structure/closet/secure_closet/freezer/money,
/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
@@ -23763,18 +23772,12 @@
/turf/open/floor/plating,
/area/bridge)
"bcO" = (
/obj/structure/cable{
icon_state = "4-8"
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 9
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/door/airlock/external{
name = "Solar Maintenance";
req_access_txt = "10; 13"
},
/turf/open/floor/plating,
/area/maintenance/solars/starboard)
/turf/open/space,
/area/space/nearstation)
"bcQ" = (
/obj/structure/lattice/catwalk,
/obj/structure/cable{
@@ -39888,12 +39891,6 @@
/area/science/mixing)
"bMp" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
},
/obj/machinery/door/airlock/external{
req_access_txt = "8"
},
/turf/open/floor/plating,
/area/science/mixing)
"bMq" = (
@@ -40373,11 +40370,10 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bNq" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 6
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
dir = 1
},
/turf/open/space,
/turf/open/floor/plating/airless,
/area/science/mixing)
"bNr" = (
/obj/structure/window/reinforced{
@@ -40813,10 +40809,11 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bOu" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
dir = 1
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 6
},
/turf/open/floor/plating/airless,
/turf/open/space,
/area/science/mixing)
"bOv" = (
/obj/structure/window/reinforced{
@@ -41104,12 +41101,15 @@
/turf/open/floor/engine/n2o,
/area/engine/atmos)
"bPl" = (
/obj/structure/lattice/catwalk,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 9
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
},
/turf/open/space,
/area/space/nearstation)
/obj/machinery/door/airlock/external{
req_access_txt = "8"
},
/turf/open/floor/plating,
/area/science/mixing)
"bPn" = (
/obj/machinery/door/airlock/grunge{
name = "Chapel"
@@ -53174,10 +53174,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"dhS" = (
/obj/structure/window/reinforced,
/turf/open/space/basic,
/area/space)
"dir" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 5
@@ -59590,7 +59586,7 @@
},
/obj/machinery/door/airlock/external,
/turf/open/floor/plating,
/area/space/nearstation)
/area/chapel/asteroid/monastery)
"rBh" = (
/obj/structure/mopbucket,
/obj/item/mop,
@@ -77801,7 +77797,7 @@ aiu
aiu
axC
axB
rKr
azN
axB
aaa
aaa
@@ -82501,8 +82497,8 @@ aht
aaa
aaa
abI
dhS
cqS
bGI
bNs
rzF
bNs
bOw
@@ -90640,9 +90636,9 @@ aaa
aaa
aaa
aaa
aaa
ahi
ahi
aoz
ahr
aoz
aqG
arD
asO
@@ -90898,8 +90894,8 @@ aaa
aaa
aaa
aaa
aaa
aaa
cdm
cdm
aqG
arE
arA
@@ -94741,7 +94737,7 @@ ags
adX
adX
adX
ahr
adX
aaa
aaa
aaa
@@ -94997,7 +94993,7 @@ cnC
adX
adX
adX
shH
adX
alb
aaa
aaa
@@ -95255,7 +95251,7 @@ agt
agD
agR
ahh
atZ
ahi
aaa
aaa
aaa
@@ -95511,7 +95507,7 @@ agg
adX
adX
adX
shH
adX
alb
aaa
aaa
@@ -95769,7 +95765,7 @@ ags
adX
adX
adX
shH
adX
aFj
aht
aht
@@ -105617,9 +105613,9 @@ bIN
dAF
bCV
bCV
bNq
bCV
bOu
aht
bNq
aaa
aaa
aaa
@@ -105875,8 +105871,8 @@ bJT
wOS
bMp
bPl
mZE
aht
bcO
aaa
aaa
aaa
aaa
@@ -106131,9 +106127,9 @@ fBz
bCV
bCV
bCV
bCV
ahi
aht
aht
abI
abI
abI
@@ -109182,7 +109178,7 @@ aXC
aYF
baG
sut
bcO
oCX
rWE
baG
dsv
@@ -109439,7 +109435,7 @@ aEl
aEl
baG
rWE
oCX
atZ
rWE
baG
aEj

View File

@@ -17,9 +17,9 @@ For fast lookups, this is generated using regenerate_donator_grouping_list()
/proc/regenerate_donator_grouping_list()
GLOB.donators_by_group = list() //reinit everything
var/list/donator_list = GLOB.donators_by_group //cache
var/list/tier_1 = TIER_1_DONATORS
donator_list[DONATOR_GROUP_TIER_1] = tier_1.Copy() //The .Copy() is to "decouple"/make a new list, rather than letting the global list impact the config list.
var/list/tier_2 = tier_1 + TIER_2_DONATORS //Using + on lists implies making new lists, so we don't need to manually Copy().
var/list/tier_3 = TIER_3_DONATORS
donator_list[DONATOR_GROUP_TIER_3] = tier_3.Copy() //The .Copy() is to "decouple"/make a new list, rather than letting the global list impact the config list.
var/list/tier_2 = tier_3 + TIER_2_DONATORS //Using + on lists implies making new lists, so we don't need to manually Copy().
donator_list[DONATOR_GROUP_TIER_2] = tier_2
var/list/tier_3 = tier_2 + TIER_3_DONATORS
donator_list[DONATOR_GROUP_TIER_3] = tier_3
var/list/tier_1 = tier_2 + TIER_1_DONATORS
donator_list[DONATOR_GROUP_TIER_1] = tier_1

View File

@@ -53,8 +53,6 @@
/datum/wires/airlock/interactable(mob/user)
var/obj/machinery/door/airlock/A = holder
if(!A.hasSiliconAccessInArea(user) && A.isElectrified() && A.shock(user, 100))
return FALSE
if(A.panel_open)
return TRUE
@@ -73,6 +71,8 @@
/datum/wires/airlock/on_pulse(wire)
set waitfor = FALSE
var/obj/machinery/door/airlock/A = holder
if(!A.hasSiliconAccessInArea(usr) && A.isElectrified() && A.shock(usr, 100))
return FALSE
switch(wire)
if(WIRE_POWER1, WIRE_POWER2) // Pulse to loose power.
A.loseMainPower()
@@ -127,6 +127,8 @@
/datum/wires/airlock/on_cut(wire, mend)
var/obj/machinery/door/airlock/A = holder
if(!A.hasSiliconAccessInArea(usr) && A.isElectrified() && A.shock(usr, 100))
return FALSE
switch(wire)
if(WIRE_POWER1, WIRE_POWER2) // Cut to loose power, repair all to gain power.
if(mend && !is_cut(WIRE_POWER1) && !is_cut(WIRE_POWER2))
@@ -174,4 +176,4 @@
A.update_icon()
if(WIRE_ZAP1, WIRE_ZAP2) // Ouch.
if(isliving(usr))
A.shock(usr, 50)
A.shock(usr, 50)

View File

@@ -47,8 +47,11 @@
spawn_option(stored_options[choice],M)
qdel(src)
/obj/item/choice_beacon/proc/spawn_option(obj/choice,mob/living/M)
var/obj/new_item = new choice()
/obj/item/choice_beacon/proc/create_choice_atom(atom/choice, mob/owner)
return new choice()
/obj/item/choice_beacon/proc/spawn_option(atom/choice,mob/living/M)
var/obj/new_item = create_choice_atom(choice, M)
var/obj/structure/closet/supplypod/bluespacepod/pod = new()
pod.explosionSize = list(0,0,0,0)
new_item.forceMove(pod)
@@ -152,10 +155,50 @@
augment_list[initial(A.name)] = A
return augment_list
/obj/item/choice_beacon/augments/spawn_option(obj/choice,mob/living/M)
/obj/item/choice_beacon/augments/spawn_option(atom/choice,mob/living/M)
new choice(get_turf(M))
to_chat(M, "<span class='hear'>You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: <b>Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade.</b> Message ends.\"</span>")
/obj/item/choice_beacon/pet //donator beacon that summons a small friendly animal
name = "pet beacon"
desc = "Straight from the outerspace pet shop to your feet."
var/static/list/pets = list("Crab" = /mob/living/simple_animal/crab,
"Cat" = /mob/living/simple_animal/pet/cat,
"Space cat" = /mob/living/simple_animal/pet/cat/space,
"Kitten" = /mob/living/simple_animal/pet/cat/kitten,
"Dog" = /mob/living/simple_animal/pet/dog,
"Corgi" = /mob/living/simple_animal/pet/dog/corgi,
"Pug" = /mob/living/simple_animal/pet/dog/pug,
"Exotic Corgi" = /mob/living/simple_animal/pet/dog/corgi/exoticcorgi,
"Fox" = /mob/living/simple_animal/pet/fox,
"Red Panda" = /mob/living/simple_animal/pet/redpanda,
"Possum" = /mob/living/simple_animal/opossum)
var/pet_name
/obj/item/choice_beacon/pet/generate_display_names()
return pets
/obj/item/choice_beacon/pet/create_choice_atom(atom/choice, mob/owner)
var/mob/living/simple_animal/new_choice = new choice()
new_choice.butcher_results = null //please don't eat your pet, chef
var/obj/item/pet_carrier/donator/carrier = new() //a donator pet carrier is just a carrier that can't be shoved in an autolathe for metal
carrier.add_occupant(new_choice)
new_choice.mob_size = MOB_SIZE_TINY //yeah we're not letting you use this roundstart pet to hurt people / knock them down
new_choice.pass_flags = PASSTABLE | PASSMOB //your pet is not a bullet/person shield
new_choice.density = FALSE
new_choice.blood_volume = 0 //your pet cannot be used to drain blood from for a bloodsucker
new_choice.desc = "A pet [initial(choice.name)], owned by [owner]!"
new_choice.can_have_ai = FALSE //no it cant be sentient damnit
if(pet_name)
new_choice.name = pet_name
new_choice.unique_name = TRUE
return carrier
/obj/item/choice_beacon/pet/spawn_option(atom/choice,mob/living/M)
pet_name = input(M, "What would you like to name the pet? (leave blank for default name)", "Pet Name")
..()
//choice boxes (they just open in your hand instead of making a pod)
/obj/item/choice_beacon/box
name = "choice box (default)"
desc = "Think really hard about what you want, and then rip it open!"
@@ -163,21 +206,17 @@
icon_state = "deliverypackage3"
item_state = "deliverypackage3"
/obj/item/choice_beacon/box/spawn_option(obj/choice,mob/living/M)
to_chat(M, "<span class='hear'>The box opens, revealing the [choice]!</span>")
/obj/item/choice_beacon/box/spawn_option(atom/choice,mob/living/M)
var/choice_text = choice
if(ispath(choice_text))
choice_text = initial(choice.name)
to_chat(M, "<span class='hear'>The box opens, revealing the [choice_text]!</span>")
playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1)
M.temporarilyRemoveItemFromInventory(src, TRUE)
M.put_in_hands(new choice)
qdel(src)
/obj/item/choice_beacon/box/plushie
name = "choice box (plushie)"
desc = "Using the power of quantum entanglement, this box contains every plush, until the moment it is opened!"
icon = 'icons/obj/plushes.dmi'
icon_state = "box"
item_state = "box"
/obj/item/choice_beacon/box/spawn_option(choice,mob/living/M)
/obj/item/choice_beacon/box/plushie/spawn_option(choice,mob/living/M)
if(ispath(choice, /obj/item/toy/plush))
..() //regular plush, spawn it naturally
else
@@ -188,6 +227,31 @@
M.put_in_hands(new choice)
qdel(src)
/obj/item/choice_beacon/box/carpet //donator carpet beacon
name = "choice box (carpet)"
desc = "Contains 50 of a selected carpet inside!"
var/static/list/carpet_list = list(/obj/item/stack/tile/carpet/black/fifty = "Black Carpet",
"Black & Red Carpet" = /obj/item/stack/tile/carpet/blackred/fifty,
"Monochrome Carpet" = /obj/item/stack/tile/carpet/monochrome/fifty,
"Blue Carpet" = /obj/item/stack/tile/carpet/blue/fifty,
"Cyan Carpet" = /obj/item/stack/tile/carpet/cyan/fifty,
"Green Carpet" = /obj/item/stack/tile/carpet/green/fifty,
"Orange Carpet" = /obj/item/stack/tile/carpet/orange/fifty,
"Purple Carpet" = /obj/item/stack/tile/carpet/purple/fifty,
"Red Carpet" = /obj/item/stack/tile/carpet/red/fifty,
"Royal Black Carpet" = /obj/item/stack/tile/carpet/royalblack/fifty,
"Royal Blue Carpet" = /obj/item/stack/tile/carpet/royalblue/fifty)
/obj/item/choice_beacon/box/carpet/generate_display_names()
return carpet_list
/obj/item/choice_beacon/box/plushie
name = "choice box (plushie)"
desc = "Using the power of quantum entanglement, this box contains every plush, until the moment it is opened!"
icon = 'icons/obj/plushes.dmi'
icon_state = "box"
item_state = "box"
/obj/item/choice_beacon/box/plushie/generate_display_names()
var/list/plushie_list = list()
//plushie set 1: just subtypes of /obj/item/toy/plush

View File

@@ -29,6 +29,9 @@
var/has_lock_sprites = TRUE //whether to load the lock overlays or not
var/allows_hostiles = FALSE //does the pet carrier allow hostile entities to be held within it?
/obj/item/pet_carrier/donator
custom_materials = null //you cant just use the loadout item to get free metal!
/obj/item/pet_carrier/Destroy()
if(occupants.len)
for(var/V in occupants)

View File

@@ -243,10 +243,24 @@ LINEN BINS
/obj/item/bedsheet/random/Initialize()
..()
var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
var/type = pick(typesof(/obj/item/bedsheet) - list(/obj/item/bedsheet/random, /obj/item/bedsheet/chameleon))
new type(loc)
return INITIALIZE_HINT_QDEL
/obj/item/bedsheet/chameleon //donator chameleon bedsheet
name = "chameleon bedsheet"
desc = "Bedsheet technology has truly gone too far."
var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/bedsheet/chameleon/New()
..()
chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/bedsheet
chameleon_action.chameleon_name = "Bedsheet"
chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/bedsheet/chameleon, /obj/item/bedsheet/random), only_root_path = TRUE)
chameleon_action.initialize_disguises()
//bedsheet bin
/obj/structure/bedsheetbin
name = "linen bin"
desc = "It looks rather cosy."

View File

@@ -54,7 +54,7 @@
REMOVE_TRAIT(user, TRAIT_PIERCEIMMUNE, "fortitude")
REMOVE_TRAIT(user, TRAIT_NODISMEMBER, "fortitude")
REMOVE_TRAIT(user, TRAIT_STUNIMMUNE, "fortitude")
REMOVE_TRAIT(user, TRAIT_STUNIMMUNE, "fortitude")
REMOVE_TRAIT(user, TRAIT_NORUNNING, "fortitude")
if(!ishuman(owner))
return
var/mob/living/carbon/human/H = owner

View File

@@ -801,7 +801,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(!subcategories.Find(gear_subcategory))
gear_subcategory = subcategories[1]
var/firstsubcat = FALSE
var/firstsubcat = TRUE
for(var/subcategory in subcategories)
if(firstsubcat)
firstsubcat = FALSE

View File

@@ -199,12 +199,16 @@
/obj/item/clothing/gloves/evening
name = "evening gloves"
desc = "Thin, pretty gloves intended for use in regal feminine attire, but knowing Space China these are just for some maid fetish."
desc = "Thin, pretty gloves intended for use in regal feminine attire. A tag on the hem claims they were 'maid' in Space China, these were probably intended for use in some maid fetish."
icon_state = "evening"
item_state = "evening"
strip_delay = 40
equip_delay_other = 20
transfer_prints = TRUE
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
strip_mod = 0.9
custom_price = PRICE_ALMOST_CHEAP
/obj/item/clothing/gloves/evening/black
name = "midnight gloves"
desc = "Thin, pretty gloves intended for use in sexy feminine attire. A tag on the hem claims they pair great with black stockings."
icon_state = "eveningblack"
item_state = "eveningblack"

View File

@@ -35,18 +35,20 @@
return destinations
/obj/item/wormhole_jaunter/proc/activate(mob/user, adjacent)
/obj/item/wormhole_jaunter/proc/activate(mob/user, adjacent, force_entry = FALSE)
if(!turf_check(user))
return
var/list/L = get_destinations(user)
if(!L.len)
to_chat(user, "<span class='notice'>The [src.name] found no beacons in the world to anchor a wormhole to.</span>")
to_chat(user, "<span class='notice'>The [name] found no beacons in the world to anchor a wormhole to.</span>")
return
var/chosen_beacon = pick(L)
var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), src, 100, null, FALSE, get_turf(chosen_beacon))
var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), 100, null, FALSE, get_turf(chosen_beacon))
if(adjacent)
try_move_adjacent(J)
if(force_entry)
J.teleport(user, force = TRUE)
playsound(src,'sound/effects/sparks4.ogg',50,1)
qdel(src)
@@ -73,7 +75,7 @@
if(user.get_item_by_slot(SLOT_BELT) == src)
to_chat(user, "Your [name] activates, saving you from the chasm!</span>")
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
activate(user, FALSE)
activate(user, FALSE, TRUE)
else
to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.</span>")
@@ -84,9 +86,10 @@
icon_state = "bhole3"
desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon."
mech_sized = TRUE //save your ripley
teleport_channel = TELEPORT_CHANNEL_WORMHOLE
innate_accuracy_penalty = 6
/obj/effect/portal/jaunt_tunnel/teleport(atom/movable/M)
/obj/effect/portal/jaunt_tunnel/teleport(atom/movable/M, force = FALSE)
. = ..()
if(.)
// KERPLUNK

View File

@@ -42,6 +42,8 @@
return
. = ..()
if(!.)
return
new /obj/item/grown/bananapeel(target)
/obj/effect/proc_holder/spell/aimed/banana_peel/update_icon()

View File

@@ -36,6 +36,7 @@
/obj/item/clothing/under/misc/keyholesweater = 2,
/obj/item/clothing/under/misc/stripper/mankini = 2,
/obj/item/clothing/under/costume/jabroni = 2,
/obj/item/clothing/gloves/evening/black = 2,
/obj/item/dildo/flared/huge = 3
)
premium = list(

View File

@@ -0,0 +1,4 @@
author: "silicons"
delete-after: True
changes:
- bugfix: "airlocks now only shock on pulse/wirecutters instead of on tgui panel open."

View File

@@ -0,0 +1,4 @@
author: "timothyteakettle"
delete-after: True
changes:
- rscadd: "three new items are in the loadout for all donators"

View File

@@ -0,0 +1,5 @@
author: "silicons"
delete-after: True
changes:
- bugfix: "wormhole jaunters work"
- tweak: "wormhole jaunters no longer get interference from bags of holding"

View File

@@ -0,0 +1,4 @@
author: "zeroisthebiggay"
delete-after: True
changes:
- rscadd: "contraband black evening gloves in kinkvend"

View File

@@ -0,0 +1,4 @@
author: "MrJWhit"
delete-after: True
changes:
- bugfix: "Fixes areas on expanded airlocks"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -7,6 +7,27 @@
category = LOADOUT_CATEGORY_DONATOR
ckeywhitelist = list("This entry should never appear with this variable set.") //If it does, then that means somebody fucked up the whitelist system pretty hard
/datum/gear/donator/pet
name = "Pet Beacon"
slot = SLOT_IN_BACKPACK
path = /obj/item/choice_beacon/pet
ckeywhitelist = list()
donator_group_id = DONATOR_GROUP_TIER_1 // can be accessed by all donators
/datum/gear/donator/carpet
name = "Carpet Beacon"
slot = SLOT_IN_BACKPACK
path = /obj/item/choice_beacon/box/carpet
ckeywhitelist = list()
donator_group_id = DONATOR_GROUP_TIER_1
/datum/gear/donator/chameleon_bedsheet
name = "Chameleon Bedsheet"
slot = SLOT_NECK
path = /obj/item/bedsheet/chameleon
ckeywhitelist = list()
donator_group_id = DONATOR_GROUP_TIER_1
/datum/gear/donator/donortestingbikehorn
name = "Donor item testing bikehorn"
slot = SLOT_IN_BACKPACK

View File

@@ -9,6 +9,10 @@
/datum/gear/gloves/evening
name = "Evening gloves"
path = /obj/item/clothing/gloves/evening
/datum/gear/gloves/midnight
name = "Midnight gloves"
path = /obj/item/clothing/gloves/evening/black
/datum/gear/gloves/goldring
name = "A gold ring"