Merge remote-tracking branch 'upstream/master'

This commit is contained in:
BongaTheProto
2024-03-01 21:15:28 -05:00
601 changed files with 3791 additions and 2790 deletions
+2 -2
View File
@@ -414,8 +414,8 @@ That prevents a few funky behaviors.
if(istype(card))
if(card.flush)
to_chat(user, "<span class='boldannounce'>ERROR</span>: AI flush is in progress, cannot execute transfer protocol.")
return 0
return 1
return FALSE
return TRUE
/obj/structure/ai_core/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
if(state != AI_READY_CORE || !..())
@@ -87,7 +87,7 @@
R.loaded = src
forceMove(R)
user.visible_message("[user] collects [src].", "<span class='notice'>You collect [src].</span>")
return 1
return TRUE
else
return ..()
@@ -95,9 +95,9 @@
. = ..()
if(over_object == usr && Adjacent(usr))
if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE))
return 0
return FALSE
if(has_buckled_mobs())
return 0
return FALSE
usr.visible_message("[usr] collapses \the [src.name].", "<span class='notice'>You collapse \the [src.name].</span>")
var/obj/structure/bed/roller/B = new foldabletype(get_turf(src))
usr.put_in_hands(B)
@@ -269,7 +269,7 @@
if(user in src)
return
if(src.tool_interact(W,user))
return 1 // No afterattack
return TRUE // No afterattack
else
return ..()
@@ -396,7 +396,7 @@
close()
else
O.forceMove(T)
return 1
return TRUE
/obj/structure/closet/relaymove(mob/living/user, direction)
if(user.stat || !isturf(loc))
@@ -46,8 +46,8 @@
/obj/structure/closet/body_bag/close()
if(..())
density = FALSE
return 1
return 0
return TRUE
return FALSE
/obj/structure/closet/body_bag/handle_lock_addition()
return
@@ -59,11 +59,11 @@
. = ..()
if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src)))
if(!ishuman(usr))
return 0
return FALSE
if(opened)
return 0
return FALSE
if(contents.len)
return 0
return FALSE
visible_message("<span class='notice'>[usr] folds up [src].</span>")
var/obj/item/bodybag/B = new foldedbag_path(get_turf(src))
usr.put_in_hands(B)
@@ -83,15 +83,15 @@
. = ..()
if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src)))
if(!ishuman(usr))
return 0
return FALSE
if(opened)
return 0
return FALSE
if(contents.len >= mob_storage_capacity / 2)
to_chat(usr, "<span class='warning'>There are too many things inside of [src] to fold it up!</span>")
return 0
return FALSE
for(var/obj/item/bodybag/bluespace/B in src)
to_chat(usr, "<span class='warning'>You can't recursively fold bluespace body bags!</span>" )
return 0
return FALSE
visible_message("<span class='notice'>[usr] folds up [src].</span>")
var/obj/item/bodybag/B = new foldedbag_path(get_turf(src))
usr.put_in_hands(B)
@@ -35,7 +35,7 @@
/obj/structure/closet/cardboard/open()
if(opened || !can_open())
return 0
return FALSE
var/list/alerted = null
if(egged < world.time)
var/mob/living/Snake = null
@@ -10,7 +10,7 @@
/obj/structure/closet/secure_closet/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == MELEE && damage_amount < melee_min_damage)
return 0
return FALSE
. = ..()
// Exists to work around the minimum 700 cr price for goodies / small items / materials
@@ -34,7 +34,7 @@
qdel(src)
else
if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return 0 or just end it.
if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return FALSE or just end it.
return ..() //Stops it from opening and turning invisible when items are used on it.
else
@@ -10,7 +10,7 @@
/obj/structure/closet/crate/secure/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == MELEE && damage_amount < 25)
return 0
return FALSE
. = ..()
/obj/structure/closet/crate/secure/update_overlays()
@@ -16,4 +16,4 @@
if(break_sound)
playsound(src, break_sound, 50, 1)
qdel(src)
return 1
return TRUE
@@ -283,7 +283,7 @@
the hostile creatures, and the ash drakes swooping down from the cloudless skies, all you can wish for is the feel of soft grass between your toes and \
the fresh air of Earth. These thoughts are dispelled by yet another recollection of how you got here... "
assignedrole = "Hermit"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/hermit/Initialize(mapload)
. = ..()
@@ -336,7 +336,7 @@
you see them right now. So where is \
everyone? Where did they go? What happened to the hospital? And is that <i>smoke</i> you smell? You need to find someone else. Maybe they c everyone's gone. One of the cats scratched you just a few minutes ago. That's why you were in the pod - to heal the scratch. The scabs are still fresh; an tell you what happened."
assignedrole = "Translocated Vet"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/doctor/alive/lavaland/Destroy()
var/obj/structure/fluff/empty_sleeper/S = new(drop_location())
@@ -358,7 +358,7 @@
though fate has other plans for you."
flavour_text = "Good. It seems as though your ship crashed. You remember that you were convicted of "
assignedrole = "Escaped Prisoner"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/prisoner_transport/special(mob/living/L)
L.real_name = "NTP #LL-0[rand(111,999)]" //Nanotrasen Prisoner #Lavaland-(numbers)
@@ -400,7 +400,7 @@
flavour_text = "You are a staff member of a top-of-the-line space hotel! Cater to guests and make sure the manager doesn't fire you."
important_info = "DON'T leave the hotel"
assignedrole = "Hotel Staff"
canloadappearance = TRUE
can_load_appearance = TRUE
/datum/outfit/hotelstaff
name = "Hotel Staff"
@@ -421,6 +421,7 @@
guests and the staff."
important_info = "Do NOT leave the hotel, as that is grounds for contract termination."
objectives = "Do not leave your assigned hotel. Try and keep the peace between staff and guests, non-lethal force heavily advised if possible."
can_load_appearance = TRUE
/datum/outfit/hotelstaff/security
name = "Hotel Secuirty"
@@ -454,6 +455,7 @@
var/obj/effect/proc_holder/spell/targeted/summon_friend/spell
var/datum/mind/owner
assignedrole = "SuperFriend"
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/demonic_friend/Initialize(mapload, datum/mind/owner_mind, obj/effect/proc_holder/spell/targeted/summon_friend/summoning_spell)
. = ..()
@@ -503,7 +505,7 @@
icon_state = "sleeper_s"
outfit = /datum/outfit/syndicate_empty
assignedrole = "Space Syndicate" //I know this is really dumb, but Syndicate operative is nuke ops
canloadappearance = TRUE
can_load_appearance = TRUE
/datum/outfit/syndicate_empty
name = "Syndicate Operative Empty"
@@ -524,7 +526,7 @@
flavour_text = "Your job is to follow your captain's orders, maintain the ship, and keep the engine running. If you are not familiar with how the supermatter engine functions: do not attempt to start it."
important_info = "The armory is not a candy store, and your role is not to assault the station directly, leave that work to the assault operatives."
outfit = /datum/outfit/syndicate_empty/SBC
canloadappearance = TRUE
can_load_appearance = TRUE
/datum/outfit/syndicate_empty/SBC
name = "Syndicate Battlecruiser Ship Operative"
@@ -556,7 +558,7 @@
important_info = "As the captain, this whole operation falls on your shoulders. You do not need to nuke the station, causing sufficient damage and preventing your ship from being destroyed will be enough."
outfit = /datum/outfit/syndicate_empty/SBC/assault/captain
id_access_list = list(150,151)
canloadappearance = TRUE
can_load_appearance = TRUE
/datum/outfit/syndicate_empty/SBC/assault/captain
name = "Syndicate Battlecruiser Captain"
@@ -592,7 +594,7 @@
l_pocket = /obj/item/assembly/flash/handheld
job_description = "Oldstation Crew"
assignedrole = "Ancient Crew"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/oldsec/Destroy()
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
@@ -620,7 +622,7 @@
gloves = /obj/item/clothing/gloves/color/fyellow/old
l_pocket = /obj/item/tank/internals/emergency_oxygen
assignedrole = "Ancient Crew"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/oldeng/Destroy()
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
@@ -647,7 +649,7 @@
l_pocket = /obj/item/stack/medical/suture
assignedrole = "Ancient Crew"
job_description = "Oldstation Crew"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/oldsci/Destroy()
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
@@ -672,7 +674,7 @@
flavour_text = "The station refused to pay for your protection, protect the ship, siphon the credits from the station and raid it for even more loot."
assignedrole = "Space Pirate"
var/rank = "Mate"
canloadappearance = TRUE
can_load_appearance = TRUE
/obj/effect/mob_spawn/human/pirate/on_attack_hand(mob/living/user, act_intent = user.a_intent, unarmed_attack_flags)
. = ..()
@@ -757,6 +759,7 @@
flavour_text = "You know one thing for sure. You arent actually alive. Are you in a simulation?"
skip_reentry_check = TRUE
banType = ROLE_GHOSTCAFE
can_load_appearance = 2
/datum/action/toggle_dead_chat_mob
icon_icon = 'icons/mob/mob.dmi'
@@ -766,7 +769,7 @@
/datum/action/toggle_dead_chat_mob/Trigger()
if(!..())
return 0
return FALSE
var/mob/M = target
if(HAS_TRAIT_FROM(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT))
REMOVE_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
+2 -2
View File
@@ -378,7 +378,7 @@
var/obj/item/stack/sheet/runed_metal/R = W
if(R.get_amount() < 1)
to_chat(user, "<span class='warning'>You need at least one sheet of runed metal to construct a runed wall!</span>")
return 0
return FALSE
user.visible_message("<span class='notice'>[user] begins laying runed metal on [src]...</span>", "<span class='notice'>You begin constructing a runed wall...</span>")
if(do_after(user, 50, target = src))
if(R.get_amount() < 1)
@@ -452,7 +452,7 @@
var/obj/item/stack/sheet/bronze/B = W
if(B.get_amount() < 2)
to_chat(user, "<span class='warning'>You need at least two bronze sheets to build a bronze wall!</span>")
return 0
return FALSE
user.visible_message("<span class='notice'>[user] begins plating [src] with bronze...</span>", "<span class='notice'>You begin constructing a bronze wall...</span>")
if(do_after(user, 50, target = src))
if(B.get_amount() < 2)
+2 -2
View File
@@ -22,12 +22,12 @@
/obj/structure/janitorialcart/proc/wet_mop(obj/item/mop, mob/user)
if(reagents.total_volume < 1)
to_chat(user, "<span class='warning'>[src] is out of water!</span>")
return 0
return FALSE
else
reagents.trans_to(mop, 5)
to_chat(user, "<span class='notice'>You wet [mop] in [src].</span>")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return 1
return TRUE
/obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user)
if(!user.transferItemToLoc(I, src))
@@ -80,7 +80,7 @@
return FALSE
var/client/C = controller.client
if(C)
var/atom/A = C.mouseObject
var/atom/A = C.mouse_object_ref?.resolve()
var/turf/T = get_turf(A)
if(istype(T)) //They're hovering over something in the map.
direction_track(controller, T)
+2 -2
View File
@@ -381,9 +381,9 @@ GLOBAL_LIST_EMPTY(crematoriums)
if(.)
return
if(locate(/obj/structure/table) in get_turf(mover))
return 1
return TRUE
else
return 0
return FALSE
/obj/structure/tray/m_tray/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller)
. = !density
@@ -78,28 +78,28 @@
/mob/living/carbon/human/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new(loc, src, statue_timer)
S.name = "statue of [name]"
bleedsuppress = 1
S.copy_overlays(src)
var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
S.add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
return 1
return TRUE
/mob/living/carbon/monkey/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new(loc, src, statue_timer)
S.name = "statue of a monkey"
S.icon_state = "monkey"
return 1
return TRUE
/mob/living/simple_animal/pet/dog/corgi/petrify(statue_timer)
if(!isturf(loc))
return 0
return FALSE
var/obj/structure/statue/petrified/S = new (loc, src, statue_timer)
S.name = "statue of a corgi"
S.icon_state = "corgi"
S.desc = "If it takes forever, I will wait for you..."
return 1
return TRUE
+6 -6
View File
@@ -77,24 +77,24 @@
var/obj/structure/bed/B = A
if(istype(A, /obj/structure/bed) && (B.has_buckled_mobs() || B.density))//if it's a bed/chair and is dense or someone is buckled, it will not pass
return 0
return FALSE
if(istype(A, /obj/structure/closet/cardboard))
var/obj/structure/closet/cardboard/C = A
if(C.move_delay)
return 0
return FALSE
if(ismecha(A))
return 0
return FALSE
else if(isliving(A)) // You Shall Not Pass!
var/mob/living/M = A
if(isbot(A)) //Bots understand the secrets
return 1
return TRUE
if(M.buckled && istype(M.buckled, /mob/living/simple_animal/bot/mulebot)) // mulebot passenger gets a free pass.
return 1
return TRUE
if(!M.lying && !(SEND_SIGNAL(M, COMSIG_CHECK_VENTCRAWL)) && M.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass.
return 0
return FALSE
/obj/structure/plasticflaps/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
+1 -1
View File
@@ -56,7 +56,7 @@
return ..(NORTH)
/obj/structure/reflector/proc/dir_map_to_angle(dir)
return 0
return FALSE
/obj/structure/reflector/bullet_act(obj/item/projectile/P)
var/pdir = P.dir
+5 -5
View File
@@ -25,7 +25,7 @@
/obj/structure/spirit_board/proc/spirit_board_pick_letter(mob/M)
if(!spirit_board_checks(M))
return 0
return FALSE
if(virgin)
virgin = 0
@@ -48,7 +48,7 @@
bonus = 10 //Give some other people a chance, hog.
if(next_use - bonus > world.time )
return 0 //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters.
return FALSE //No feedback here, hiding the cooldown a little makes it harder to tell who's really picking letters.
//lighting check
var/light_amount = 0
@@ -58,7 +58,7 @@
if(light_amount > 0.3) // Splurt edit, from 0.2 to 0.3
to_chat(M, "<span class='warning'>It's too bright here to use the [src.name]!</span>")
return 0
return FALSE
//mobs in range check
var/users_in_range = 0
@@ -71,6 +71,6 @@
if(users_in_range < 1) // SPLURT EDIT: 1 is the minimum number of people in range
to_chat(M, "<span class='warning'>There aren't enough people to use the [src.name]!</span>")
return 0
return FALSE
return 1
return TRUE
+4 -4
View File
@@ -741,11 +741,11 @@
/obj/structure/rack/CanPass(atom/movable/mover, turf/target)
if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!|
return 1
return TRUE
if(istype(mover) && (mover.pass_flags & PASSTABLE))
return 1
return TRUE
else
return 0
return FALSE
/obj/structure/rack/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller)
. = !density
@@ -769,7 +769,7 @@
if(user.a_intent == INTENT_HARM)
return ..()
if(user.transferItemToLoc(W, drop_location()))
return 1
return TRUE
/obj/structure/rack/attack_paw(mob/living/user)
attack_hand(user)
@@ -31,7 +31,7 @@
return ..()
/obj/structure/transit_tube/station/should_stop_pod(pod, from_dir)
return 1
return TRUE
/obj/structure/transit_tube/station/Bumped(atom/movable/AM)
if(!pod_moving && open_status == STATION_TUBE_OPEN && ismob(AM) && AM.dir == boarding_dir)
@@ -132,8 +132,8 @@
if(open_status == STATION_TUBE_CLOSED && pod && pod.loc == loc)
pod.follow_tube()
pod_moving = 0
return 1
return 0
return TRUE
return FALSE
/obj/structure/transit_tube/station/process()
if(!pod_moving)
@@ -54,7 +54,7 @@
// Called to check if a pod should stop upon entering this tube.
/obj/structure/transit_tube/proc/should_stop_pod(pod, from_dir)
return 0
return FALSE
// Called when a pod stops in this tube section.
/obj/structure/transit_tube/proc/pod_stopped(pod, from_dir)
@@ -66,18 +66,18 @@
for(var/direction in tube_dirs)
if(direction == from_dir)
return 1
return TRUE
return 0
return FALSE
/obj/structure/transit_tube/proc/has_exit(in_dir)
for(var/direction in tube_dirs)
if(direction == in_dir)
return 1
return TRUE
return 0
return FALSE
@@ -83,7 +83,7 @@
/obj/structure/transit_tube_pod/Process_Spacemove()
if(moving) //No drifting while moving in the tubes
return 1
return TRUE
else
return ..()
+2 -2
View File
@@ -619,7 +619,7 @@
busy = TRUE
if(!do_after(user, 4 SECONDS, src))
busy = FALSE
return 1
return TRUE
busy = FALSE
SEND_SIGNAL(O, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK)
O.clean_blood()
@@ -632,7 +632,7 @@
reagents.reaction(O, TOUCH)
user.visible_message("<span class='notice'>[user] washes [O] using [src].</span>", \
"<span class='notice'>You wash [O] using [src].</span>")
return 1
return TRUE
else
return ..()
@@ -69,7 +69,7 @@
if(get_dir(loc, T) == dir)
return !density
else
return 1
return TRUE
/obj/structure/windoor_assembly/CheckExit(atom/movable/mover, turf/target)
if(mover.pass_flags & pass_flags_self)
+8 -8
View File
@@ -165,7 +165,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
if(.)
return
if(dir == FULLTILE_WINDOW_DIR)
return 0 //full tile window, you can't move into it!
return FALSE //full tile window, you can't move into it!
var/attempted_dir = get_dir(loc, target)
if(attempted_dir == dir)
return
@@ -184,10 +184,10 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
/obj/structure/window/CheckExit(atom/movable/O, turf/target)
if(istype(O) && (O.pass_flags & PASSGLASS))
return 1
return TRUE
if(get_dir(O.loc, target) == dir)
return 0
return 1
return FALSE
return TRUE
/obj/structure/window/attack_tk(mob/user)
user.DelayNextAction(CLICK_CD_MELEE)
@@ -197,7 +197,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
/obj/structure/window/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
if(!can_be_reached(user))
return 1
return TRUE
. = ..()
/obj/structure/window/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
@@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
/obj/structure/window/attackby(obj/item/I, mob/living/user, params)
if(!can_be_reached(user))
return 1 //skip the afterattack
return TRUE //skip the afterattack
add_fingerprint(user)
@@ -454,8 +454,8 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
if(get_dir(user,src) & dir)
for(var/obj/O in loc)
if(!O.CanPass(user, user.loc, 1))
return 0
return 1
return FALSE
return TRUE
/obj/structure/window/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
. = ..()