mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
Everything else through the door (#19358)
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
/proc/animate_fade_grayscale(atom/A, time = 5)
|
||||
if(!istype(A) && !istype(A, /client))
|
||||
if(!istype(A) && !isclient(A))
|
||||
return
|
||||
A.color = null
|
||||
animate(A, color = MATRIX_GREYSCALE, time = time, easing = SINE_EASING)
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
L |= M
|
||||
//log_world("[recursion_limit] = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])")
|
||||
|
||||
else if(include_radio && istype(A, /obj/item/radio))
|
||||
else if(include_radio && isradio(A))
|
||||
if(sight_check && !isInSight(A, O))
|
||||
continue
|
||||
L |= A
|
||||
@@ -191,7 +191,7 @@
|
||||
if(M.client || include_clientless)
|
||||
hear += M
|
||||
//log_world("Start = [M] - [get_turf(M)] - ([M.x], [M.y], [M.z])")
|
||||
else if(istype(A, /obj/item/radio))
|
||||
else if(isradio(A))
|
||||
hear += A
|
||||
|
||||
if(isobj(A) || ismob(A))
|
||||
|
||||
@@ -803,7 +803,7 @@ Returns 1 if the chain up to the area contains the given typepath
|
||||
X.name = "wall"
|
||||
qdel(O) // prevents multiple shuttle corners from stacking
|
||||
continue
|
||||
if(!istype(O,/obj)) continue
|
||||
if(!isobj(O)) continue
|
||||
O.loc.Exited(O)
|
||||
O.setLoc(X,teleported=1)
|
||||
O.loc.Entered(O)
|
||||
@@ -944,7 +944,7 @@ Returns 1 if the chain up to the area contains the given typepath
|
||||
|
||||
for(var/obj/O in T)
|
||||
|
||||
if(!istype(O,/obj))
|
||||
if(!isobj(O))
|
||||
continue
|
||||
|
||||
objs += O
|
||||
@@ -1437,7 +1437,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
|
||||
if(istype(A, /datum))
|
||||
var/datum/D = A
|
||||
return !QDELETED(D)
|
||||
if(istype(A, /client))
|
||||
if(isclient(A))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
// This is necessary for storage items not on your person.
|
||||
/obj/item/Adjacent(atom/neighbor, recurse = 1)
|
||||
if(neighbor == loc) return 1
|
||||
if(istype(loc,/obj/item))
|
||||
if(isitem(loc))
|
||||
if(recurse > 0)
|
||||
return loc.Adjacent(neighbor,recurse - 1)
|
||||
return 0
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
if(!modifiers["catcher"] && A.IsObscured())
|
||||
return
|
||||
|
||||
if(istype(loc,/obj/mecha))
|
||||
if(ismecha(loc))
|
||||
if(!locate(/turf) in list(A,A.loc)) // Prevents inventory from being drilled
|
||||
return
|
||||
var/obj/mecha/M = loc
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "leap_off"
|
||||
|
||||
/obj/screen/alien/leap/Click()
|
||||
if(istype(usr, /mob/living/carbon/alien/humanoid))
|
||||
if(isalienadult(usr))
|
||||
var/mob/living/carbon/alien/humanoid/hunter/AH = usr
|
||||
AH.toggle_leap()
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
static_inventory += using
|
||||
move_intent = using
|
||||
|
||||
if(istype(mymob, /mob/living/carbon/alien/humanoid/hunter))
|
||||
if(isalienhunter(mymob))
|
||||
mymob.leap_icon = new /obj/screen/alien/leap()
|
||||
mymob.leap_icon.icon = 'icons/mob/screen_alien.dmi'
|
||||
mymob.leap_icon.screen_loc = ui_alien_storage_r
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
icon_state = "act_equip"
|
||||
|
||||
/obj/screen/human/equip/Click()
|
||||
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
||||
return 1
|
||||
var/mob/living/carbon/human/H = usr
|
||||
H.quick_equip()
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
return TRUE
|
||||
if(usr.incapacitated(ignore_restraints = TRUE))
|
||||
return TRUE
|
||||
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
||||
return TRUE
|
||||
if(master)
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
@@ -410,7 +410,7 @@
|
||||
return 1
|
||||
if(usr.incapacitated())
|
||||
return 1
|
||||
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
||||
return 1
|
||||
|
||||
if(hud?.mymob && slot_id)
|
||||
@@ -453,7 +453,7 @@
|
||||
return 1
|
||||
if(usr.incapacitated())
|
||||
return 1
|
||||
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
||||
return 1
|
||||
|
||||
if(ismob(usr))
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
return // todo: something like attack_self not laden with assumptions inherent to attack_self
|
||||
|
||||
|
||||
if(istype(focus,/obj/item) && target.Adjacent(focus) && !user.in_throw_mode)
|
||||
if(isitem(focus) && target.Adjacent(focus) && !user.in_throw_mode)
|
||||
var/obj/item/I = focus
|
||||
var/resolved = target.attackby(I, user, params)
|
||||
if(!resolved && target && I)
|
||||
@@ -159,7 +159,7 @@
|
||||
return I == focus
|
||||
|
||||
/obj/item/tk_grab/proc/focus_object(obj/target, mob/user)
|
||||
if(!istype(target,/obj))
|
||||
if(!isobj(target))
|
||||
return//Cant throw non objects atm might let it do mobs later
|
||||
if(target.anchored || !isturf(target.loc))
|
||||
qdel(src)
|
||||
|
||||
@@ -92,7 +92,7 @@ SUBSYSTEM_DEF(overlays)
|
||||
else if(isicon(overlay))
|
||||
new_overlays += icon2appearance(overlay)
|
||||
else
|
||||
if(isloc(overlay))
|
||||
if(isatom(overlay))
|
||||
var/atom/A = overlay
|
||||
if(A.flags_2 & OVERLAY_QUEUED_2)
|
||||
COMPILE_OVERLAYS(A)
|
||||
|
||||
@@ -39,7 +39,7 @@ SUBSYSTEM_DEF(parallax)
|
||||
var/atom/movable/A = C.eye
|
||||
if(!istype(A))
|
||||
continue
|
||||
for (A; isloc(A.loc) && !isturf(A.loc); A = A.loc);
|
||||
for (A; isatom(A.loc) && !isturf(A.loc); A = A.loc);
|
||||
|
||||
if(A != C.movingmob)
|
||||
if(C.movingmob != null && C.movingmob.client_mobs_in_contents)
|
||||
|
||||
@@ -490,7 +490,7 @@
|
||||
var/datum/D = value
|
||||
item = "<a href='?_src_=vars;Vars=[D.UID()]'>[VV_HTML_ENCODE(name)] \ref[value]</a> = [D.type]"
|
||||
|
||||
else if(istype(value, /client))
|
||||
else if(isclient(value))
|
||||
var/client/C = value
|
||||
item = "<a href='?_src_=vars;Vars=[C.UID()]'>[VV_HTML_ENCODE(name)] \ref[value]</a> = [C] [C.type]"
|
||||
//
|
||||
@@ -569,7 +569,7 @@
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
|
||||
var/D = locateUID(href_list["datumedit"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
if(!istype(D,/datum) && !isclient(D))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
return
|
||||
|
||||
@@ -579,7 +579,7 @@
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
|
||||
var/atom/D = locateUID(href_list["subject"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
if(!istype(D,/datum) && !isclient(D))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
return
|
||||
if(!(href_list["var"] in D.vars))
|
||||
@@ -594,7 +594,7 @@
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
|
||||
var/D = locateUID(href_list["datumchange"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
if(!istype(D,/datum) && !isclient(D))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
return
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
var/target_zone = pick(head_ch;1,body_ch;2,hands_ch;3,feet_ch;4)
|
||||
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
|
||||
switch(target_zone)
|
||||
|
||||
@@ -28,7 +28,7 @@ BONUS
|
||||
..()
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
|
||||
switch(A.stage)
|
||||
|
||||
@@ -37,7 +37,7 @@ Bonus
|
||||
|
||||
var/get_damage = rand(1, 2)
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
var/list/parts = H.get_damaged_organs(TRUE, TRUE, AFFECT_ORGANIC_ORGAN) //1,1 because it needs inputs.
|
||||
|
||||
@@ -29,7 +29,7 @@ BONUS
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>[pick("Your scalp itches.", "Your skin feels flakey.")]</span>")
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(NO_HAIR in H.dna.species.species_traits)
|
||||
return // Hair can't fall out if you don't have any
|
||||
|
||||
@@ -28,7 +28,7 @@ BONUS
|
||||
..()
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.s_tone == -85)
|
||||
return
|
||||
@@ -72,7 +72,7 @@ BONUS
|
||||
..()
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.s_tone == 85)
|
||||
return
|
||||
|
||||
@@ -28,7 +28,7 @@ BONUS
|
||||
..()
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB * 2))
|
||||
var/mob/living/M = A.affected_mob
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
switch(A.stage)
|
||||
if(1)
|
||||
|
||||
@@ -55,7 +55,7 @@ STI KALY - blind
|
||||
|
||||
|
||||
/datum/disease/wizarditis/proc/spawn_wizard_clothes(chance = 0)
|
||||
if(istype(affected_mob, /mob/living/carbon/human))
|
||||
if(ishuman(affected_mob))
|
||||
var/mob/living/carbon/human/H = affected_mob
|
||||
if(prob(chance) && !isplasmaman(H))
|
||||
if(!istype(H.head, /obj/item/clothing/head/wizard))
|
||||
|
||||
+1
-1
@@ -608,7 +608,7 @@
|
||||
var/list/possible_targets = list()
|
||||
var/list/possible_targets_random = list()
|
||||
for(var/datum/mind/possible_target in SSticker.minds)
|
||||
if((possible_target != src) && istype(possible_target.current, /mob/living/carbon/human))
|
||||
if((possible_target != src) && ishuman(possible_target.current))
|
||||
possible_targets += possible_target.current // Allows for admins to pick off station roles
|
||||
if(!is_invalid_target(possible_target))
|
||||
possible_targets_random += possible_target.current // For random picking, only valid targets
|
||||
|
||||
@@ -375,7 +375,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell))
|
||||
if(overlay)
|
||||
for(var/atom/target in targets)
|
||||
var/location
|
||||
if(istype(target,/mob/living))
|
||||
if(isliving(target))
|
||||
location = target.loc
|
||||
else if(istype(target,/turf))
|
||||
location = target
|
||||
@@ -393,11 +393,11 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell))
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
for(var/atom/target in targets)
|
||||
var/location
|
||||
if(istype(target,/mob/living))
|
||||
if(isliving(target))
|
||||
location = target.loc
|
||||
else if(istype(target,/turf))
|
||||
location = target
|
||||
if(istype(target,/mob/living) && message)
|
||||
if(isliving(target) && message)
|
||||
to_chat(target, text("[message]"))
|
||||
if(sparks_spread)
|
||||
do_sparks(sparks_amt, 0, location)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/list/turfs = new/list()
|
||||
for(var/turf/T in range(target,outer_tele_radius))
|
||||
if(T in range(target,inner_tele_radius)) continue
|
||||
if(istype(T,/turf/space) && !include_space) continue
|
||||
if(isspaceturf(T) && !include_space) continue
|
||||
if(T.density && !include_dense) continue
|
||||
if(T.x>world.maxx-outer_tele_radius || T.x<outer_tele_radius) continue //putting them at the edge is dumb
|
||||
if(T.y>world.maxy-outer_tele_radius || T.y<outer_tele_radius) continue
|
||||
|
||||
@@ -110,7 +110,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
|
||||
if(user.stat || user.restrained())
|
||||
return FALSE
|
||||
|
||||
if(!(istype(user, /mob/living/carbon/human)))
|
||||
if(!(ishuman(user)))
|
||||
return FALSE
|
||||
|
||||
// If the uplink's holder is in the user's contents
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
if(!whom)
|
||||
return "INVALID/(INVALID)"
|
||||
if(istype(whom, /client))
|
||||
if(isclient(whom))
|
||||
C = whom
|
||||
M = C.mob
|
||||
key = C.key
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
|
||||
M.lastarea = src
|
||||
|
||||
if(!istype(A,/mob/living)) return
|
||||
if(!isliving(A)) return
|
||||
|
||||
var/mob/living/L = A
|
||||
if(!L.ckey) return
|
||||
@@ -526,7 +526,7 @@
|
||||
thunk(M)
|
||||
|
||||
/area/proc/thunk(mob/living/carbon/human/M)
|
||||
if(istype(M,/mob/living/carbon/human/)) // Only humans can wear magboots, so we give them a chance to.
|
||||
if(ishuman(M)) // Only humans can wear magboots, so we give them a chance to.
|
||||
if(istype(M.shoes, /obj/item/clothing/shoes/magboots) && (M.shoes.flags & NOSLIP))
|
||||
return
|
||||
|
||||
@@ -539,10 +539,10 @@
|
||||
if(isspaceturf(get_turf(M))) // Can't fall onto nothing.
|
||||
return
|
||||
|
||||
if((istype(M,/mob/living/carbon/human/)) && (M.m_intent == MOVE_INTENT_RUN))
|
||||
if((ishuman(M)) && (M.m_intent == MOVE_INTENT_RUN))
|
||||
M.Weaken(10 SECONDS)
|
||||
|
||||
else if(istype(M,/mob/living/carbon/human/))
|
||||
else if(ishuman(M))
|
||||
M.Weaken(4 SECONDS)
|
||||
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
// Simpler. Don't specify UI in order for the mob to use its own.
|
||||
/mob/proc/UpdateAppearance(list/UI = null)
|
||||
if(istype(src, /mob/living/carbon/human)) // WHY?!
|
||||
if(ishuman(src)) // WHY?!
|
||||
if(UI!=null)
|
||||
dna.UI = UI
|
||||
dna.UpdateUI()
|
||||
|
||||
@@ -532,7 +532,7 @@
|
||||
|
||||
user.layer = prevLayer
|
||||
|
||||
if(istype(user.loc,/obj/))
|
||||
if(isobj(user.loc))
|
||||
var/obj/container = user.loc
|
||||
to_chat(user, "<span class='warning'>You leap and slam your head against the inside of [container]! Ouch!</span>")
|
||||
user.AdjustParalysis(6 SECONDS)
|
||||
@@ -699,7 +699,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'><b>Mood</b>: You sense strange thoughts from [M.name].</span>")
|
||||
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/numbers[0]
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind && H.mind.initial_account)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
var/station_zlevel = level_name_to_num(MAIN_STATION)
|
||||
for(var/turf/T in block(locate(1, 1, station_zlevel), locate(world.maxx, world.maxy, station_zlevel)))
|
||||
|
||||
if(istype(T,/turf/simulated/floor))
|
||||
if(isfloorturf(T))
|
||||
if(!(T:burnt))
|
||||
src.floor += 12
|
||||
else
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
if(!QDELETED(src) && picked_type && Adjacent(user) && !user.incapacitated() && cooldowntime <= world.time)
|
||||
cooldowntime = world.time + creation_delay
|
||||
var/obj/O = new picked_type
|
||||
if(istype(O, /obj/structure) || !user.put_in_hands(O))
|
||||
if(isstructure(O) || !user.put_in_hands(O))
|
||||
O.forceMove(get_turf(src))
|
||||
to_chat(user, replacetext("[creation_message]", "%ITEM%", "[O.name]"))
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
var/list/all_items = M.GetAllContents()
|
||||
|
||||
for(var/obj/I in all_items)
|
||||
if(istype(I, /obj/item/radio))
|
||||
if(isradio(I))
|
||||
var/obj/item/radio/R = I
|
||||
R.listening = FALSE // Prevents the radio from buzzing due to the EMP, preserving possible stealthiness.
|
||||
R.emp_act(1)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
if(get_dist(get_turf(src), get_turf(A)) > 1)
|
||||
to_chat(src, "<span class='danger'>You're too far from [A] to disguise it as a bomb.</span>")
|
||||
return
|
||||
if(istype(A, /obj/))
|
||||
if(isobj(A))
|
||||
if(bomb_cooldown <= world.time && !stat)
|
||||
var/obj/item/guardian_bomb/B = new /obj/item/guardian_bomb(get_turf(A))
|
||||
add_attack_logs(src, A, "booby trapped (summoner: [summoner])")
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
if(ambush_prepared)
|
||||
ambush_attack(L)
|
||||
return TRUE // No double attack
|
||||
else if(istype(target,/obj/item)) // Eat items just to be annoying
|
||||
else if(isitem(target)) // Eat items just to be annoying
|
||||
var/obj/item/I = target
|
||||
if(!I.anchored)
|
||||
try_eat(I)
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
|
||||
/datum/game_mode/proc/is_operatives_are_dead()
|
||||
for(var/datum/mind/operative_mind in syndicates)
|
||||
if(!istype(operative_mind.current,/mob/living/carbon/human))
|
||||
if(!ishuman(operative_mind.current))
|
||||
if(operative_mind.current)
|
||||
if(operative_mind.current.stat!=2)
|
||||
return 0
|
||||
|
||||
@@ -718,7 +718,7 @@ GLOBAL_LIST_EMPTY(multiverse)
|
||||
if(unlimited) //no point, the list isn't used.
|
||||
return
|
||||
for(var/X in spooky_scaries)
|
||||
if(!istype(X, /mob/living/carbon/human))
|
||||
if(!ishuman(X))
|
||||
spooky_scaries.Remove(X)
|
||||
continue
|
||||
var/mob/living/carbon/human/H = X
|
||||
|
||||
@@ -35,13 +35,13 @@
|
||||
for(var/datum/mind/wizard in wizards)
|
||||
if(isnull(wizard.current))
|
||||
continue
|
||||
if(!istype(wizard.current,/mob/living/carbon))
|
||||
if(!iscarbon(wizard.current))
|
||||
if(istype(get_area(wizard.current), /area/wizard_station)) // We don't want people camping other wizards
|
||||
to_chat(wizard.current, "<span class='warning'>If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums</span>")
|
||||
message_admins("[wizard.current] was transformed in the wizard lair, another wizard is likely camping")
|
||||
end_squabble(get_area(wizard.current))
|
||||
continue
|
||||
if(istype(wizard.current,/mob/living/carbon/brain))
|
||||
if(isbrain(wizard.current))
|
||||
if(istype(get_area(wizard.current), /area/wizard_station)) // We don't want people camping other wizards
|
||||
to_chat(wizard.current, "<span class='warning'>If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums</span>")
|
||||
message_admins("[wizard.current] was brainified in the wizard lair, another wizard is likely camping")
|
||||
|
||||
@@ -1050,7 +1050,7 @@
|
||||
desc = "This book is more horse than your mind has room for."
|
||||
|
||||
/obj/item/spellbook/oneuse/horsemask/recoil(mob/living/carbon/user as mob)
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
to_chat(user, "<font size='15' color='red'><b>HOR-SIE HAS RISEN</b></font>")
|
||||
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
|
||||
magichead.flags |= NODROP | DROPDEL //curses!
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
|
||||
// Wizards
|
||||
for(var/datum/mind/wizard in wizards)
|
||||
if(!istype(wizard.current,/mob/living/carbon))
|
||||
if(!iscarbon(wizard.current))
|
||||
continue
|
||||
if(wizard.current.stat==DEAD)
|
||||
continue
|
||||
@@ -175,7 +175,7 @@
|
||||
// Apprentices
|
||||
if(!wizards_alive)
|
||||
for(var/datum/mind/apprentice in apprentices)
|
||||
if(!istype(apprentice.current,/mob/living/carbon))
|
||||
if(!iscarbon(apprentice.current))
|
||||
continue
|
||||
if(apprentice.current.stat==DEAD)
|
||||
continue
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
// Human check
|
||||
var/human = 0
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
human = 1
|
||||
|
||||
var/name = M.name
|
||||
|
||||
@@ -498,7 +498,7 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
return
|
||||
for(var/obj/machinery/atmospherics/supermatter_crystal/S in SSair.atmos_machinery)
|
||||
// Delaminating, not within coverage, not on a tile.
|
||||
if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !istype(S.loc, /turf/simulated/)))
|
||||
if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !issimulatedturf(S.loc)))
|
||||
continue
|
||||
supermatters.Add(S)
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
if((istype(L.r_hand, target_weapon)) || (istype(L.l_hand, target_weapon)))
|
||||
return TURRET_PRIORITY_TARGET
|
||||
|
||||
if(istype(L, /mob/living/carbon/human))
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(istype(H.wear_suit, target_suit))
|
||||
return TURRET_PRIORITY_TARGET
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
return
|
||||
can_accept_user = 1
|
||||
|
||||
else if(istype(user, /mob/living/carbon/human))
|
||||
else if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
|
||||
if(H.stat == DEAD)
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
anchored = TRUE
|
||||
|
||||
for(var/turf/target_tile in range(2, src))
|
||||
if(istype(target_tile,/turf/space) && !(locate(/obj/machinery/shield) in target_tile))
|
||||
if(isspaceturf(target_tile) && !(locate(/obj/machinery/shield) in target_tile))
|
||||
if(malfunction && prob(33) || !malfunction)
|
||||
var/obj/machinery/shield/new_shield = new(target_tile)
|
||||
RegisterSignal(new_shield, COMSIG_PARENT_QDELETING, .proc/remove_shield) // Ensures they properly GC
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
return
|
||||
if(istype(target,/obj/item/reagent_containers/syringe))
|
||||
return load_syringe(target)
|
||||
if(istype(target,/obj/item/storage))//Loads syringes from boxes
|
||||
if(isstorage(target))//Loads syringes from boxes
|
||||
for(var/obj/item/reagent_containers/syringe/S in target.contents)
|
||||
load_syringe(S)
|
||||
return
|
||||
@@ -516,7 +516,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/action(atom/target)
|
||||
if(!action_checks(target))
|
||||
return
|
||||
if(istype(target, /obj))
|
||||
if(isobj(target))
|
||||
if(!istype(target, /obj/machinery/door))//early return if we're not trying to open a door
|
||||
return
|
||||
var/obj/machinery/door/D = target //the door we want to open
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill/action(atom/target)
|
||||
if(!action_checks(target)) return
|
||||
if(!cargo_holder) return
|
||||
if(istype(target,/obj))
|
||||
if(isobj(target))
|
||||
var/obj/O = target
|
||||
if(!O.anchored)
|
||||
if(cargo_holder.cargo.len < cargo_holder.cargo_capacity)
|
||||
@@ -110,7 +110,7 @@
|
||||
else
|
||||
occupant_message("<span class='warning'>[target] is firmly secured!</span>")
|
||||
|
||||
else if(istype(target,/mob/living))
|
||||
else if(isliving(target))
|
||||
var/mob/living/M = target
|
||||
if(M.stat == DEAD) return
|
||||
if(chassis.occupant.a_intent == INTENT_HARM)
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
playsound(chassis, 'sound/items/airhorn.ogg', 100, 1)
|
||||
chassis.occupant_message("<font color='red' size='5'>HONK</font>")
|
||||
for(var/mob/living/carbon/M in ohearers(6, chassis))
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.check_ear_prot() >= HEARING_PROTECTION_TOTAL)
|
||||
continue
|
||||
@@ -224,7 +224,7 @@
|
||||
M.KnockDown(6 SECONDS)
|
||||
M.Jitter(40 SECONDS)
|
||||
///else the mousetraps are useless
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(isobj(H.shoes))
|
||||
var/thingy = H.shoes
|
||||
|
||||
@@ -565,7 +565,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
|
||||
to_chat(user, "<span class='danger'>You're going to need to remove that mask/helmet/glasses first!</span>")
|
||||
return
|
||||
|
||||
if(istype(M, /mob/living/carbon/alien) || istype(M, /mob/living/simple_animal/slime))//Aliens don't have eyes./N slimes also don't have eyes!
|
||||
if(isalien(M) || isslime(M))//Aliens don't have eyes./N slimes also don't have eyes!
|
||||
to_chat(user, "<span class='warning'>You cannot locate any eyes on this creature!</span>")
|
||||
return
|
||||
|
||||
@@ -669,7 +669,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
|
||||
/obj/item/proc/remove_item_from_storage(atom/newLoc) //please use this if you're going to snowflake an item out of a obj/item/storage
|
||||
if(!newLoc)
|
||||
return 0
|
||||
if(istype(loc,/obj/item/storage))
|
||||
if(isstorage(loc))
|
||||
var/obj/item/storage/S = loc
|
||||
S.remove_from_storage(src,newLoc)
|
||||
return 1
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if(target.invisibility != 0)
|
||||
return
|
||||
if(!active_dummy)
|
||||
if(istype(target,/obj/item) && !istype(target, /obj/item/disk/nuclear))
|
||||
if(isitem(target) && !istype(target, /obj/item/disk/nuclear))
|
||||
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
|
||||
to_chat(user, "<span class='notice'>Scanned [target].</span>")
|
||||
saved_item = target.type
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly
|
||||
return ..() //just hit them in the head
|
||||
|
||||
if(!(istype(user, /mob/living/carbon/human) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity
|
||||
if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity
|
||||
to_chat(user, "<span class='notice'>You don't have the dexterity to do this!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
/obj/item/teleporter/emp_act(severity)
|
||||
var/teleported_something = FALSE
|
||||
if(prob(50 / severity))
|
||||
if(istype(loc, /mob/living/carbon/human))
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/user = loc
|
||||
to_chat(user, "<span class='userdanger'>[src] buzzes and activates!</span>")
|
||||
attempt_teleport(user, TRUE)
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The MMI must go in after everything else!</span>")
|
||||
|
||||
if(istype(W,/obj/item/pen))
|
||||
if(is_pen(W))
|
||||
to_chat(user, "<span class='warning'>You need to use a multitool to name [src]!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>All [R]'s systems are nominal.</span>")
|
||||
|
||||
if(istype(M,/mob/living/carbon/human)) //Repairing robotic limbs and IPCs
|
||||
if(ishuman(M)) //Repairing robotic limbs and IPCs
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/S = H.get_organ(user.zone_selected)
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
item_state = "sword0"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
cooldown = world.time + 30 SECONDS
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/mob/living/carbon/M in ohearers(7, T))
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.can_hear())
|
||||
continue
|
||||
|
||||
@@ -70,10 +70,10 @@
|
||||
/obj/item/dnainjector/proc/inject(mob/living/M, mob/user)
|
||||
if(used)
|
||||
return
|
||||
if(istype(M,/mob/living))
|
||||
if(isliving(M))
|
||||
M.apply_effect(rand(20 / (damage_coeff ** 2), 50 / (damage_coeff ** 2)), IRRADIATE)
|
||||
var/mob/living/carbon/human/H
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
H = M
|
||||
|
||||
if(!buf)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
if(garrote_time > world.time) // Cooldown
|
||||
return
|
||||
|
||||
if(!istype(user, /mob/living/carbon/human)) // spap_hand is a proc of /mob/living, user is simply /mob
|
||||
if(!ishuman(user)) // spap_hand is a proc of /mob/living, user is simply /mob
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/U = user
|
||||
@@ -54,7 +54,7 @@
|
||||
to_chat(user, "<span class = 'warning'>You must use both hands to garrote [M]!</span>")
|
||||
return
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
if(!ishuman(M))
|
||||
to_chat(user, "<span class = 'warning'>You don't think that garroting [M] would be very effective...</span>")
|
||||
return
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
return
|
||||
|
||||
|
||||
if(!istype(loc, /mob/living/carbon/human))
|
||||
if(!ishuman(loc))
|
||||
strangling = null
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/obj/item/grown/bananapeel/traitorpeel/throw_impact(atom/hit_atom)
|
||||
var/burned = rand(1,3)
|
||||
if(istype(hit_atom ,/mob/living))
|
||||
if(isliving(hit_atom))
|
||||
var/mob/living/M = hit_atom
|
||||
M.take_organ_damage(0, burned)
|
||||
return ..()
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
|
||||
set_light(0)
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
@@ -148,7 +148,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
slot_flags = null
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_l_hand()
|
||||
H.update_inv_r_hand()
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
to_chat(user, "<span class='notice'>You 'clean' \the [target.name].</span>")
|
||||
if(issimulatedturf(target))
|
||||
new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target)
|
||||
else if(istype(target,/mob/living/carbon))
|
||||
else if(iscarbon(target))
|
||||
for(var/obj/item/carried_item in target.contents)
|
||||
if(!istype(carried_item, /obj/item/implant))//If it's not an implant.
|
||||
carried_item.add_mob_blood(target)//Oh yes, there will be blood...
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
/obj/item/storage/internal/proc/handle_mousedrop(mob/user as mob, obj/over_object as obj)
|
||||
if(ishuman(user)) //so monkeys can take off their backpacks -- Urist
|
||||
|
||||
if(istype(user.loc,/obj/mecha)) // stops inventory actions in a mech
|
||||
if(ismecha(user.loc)) // stops inventory actions in a mech
|
||||
return 0
|
||||
|
||||
if(over_object == user && Adjacent(user)) // this must come before the screen objects only block
|
||||
|
||||
@@ -822,7 +822,7 @@
|
||||
Z.ex_act(2)
|
||||
charged = 3
|
||||
playsound(user, 'sound/weapons/marauder.ogg', 50, 1)
|
||||
else if(istype(A, /obj/structure) || ismecha(A))
|
||||
else if(isstructure(A) || ismecha(A))
|
||||
var/obj/Z = A
|
||||
Z.ex_act(2)
|
||||
charged = 3
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
// check for TK users
|
||||
|
||||
if(istype(usr, /mob/living/carbon/human))
|
||||
if(ishuman(usr))
|
||||
if(istype(usr.l_hand, /obj/item/tk_grab) || istype(usr.r_hand, /obj/item/tk_grab/))
|
||||
if(!(usr in nearby))
|
||||
if(usr.client && usr.machine == src)
|
||||
|
||||
@@ -545,7 +545,7 @@
|
||||
smash(user)
|
||||
|
||||
/obj/item/chair/stool/attack(mob/M as mob, mob/user as mob)
|
||||
if(prob(5) && istype(M,/mob/living))
|
||||
if(prob(5) && isliving(M))
|
||||
user.visible_message("<span class='danger'>[user] breaks [src] over [M]'s back!.</span>")
|
||||
user.unEquip(src)
|
||||
var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
var/a_computerid
|
||||
var/a_ip
|
||||
|
||||
if(src.owner && istype(src.owner, /client))
|
||||
if(src.owner && isclient(src.owner))
|
||||
a_ckey = src.owner:ckey
|
||||
a_computerid = src.owner:computer_id
|
||||
a_ip = src.owner:address
|
||||
@@ -405,7 +405,7 @@
|
||||
to_chat(usr, "<span class='warning'>Database update failed due to multiple bans having the same ID. Contact the database admin.</span>")
|
||||
return
|
||||
|
||||
if(!src.owner || !istype(src.owner, /client))
|
||||
if(!src.owner || !isclient(src.owner))
|
||||
return
|
||||
|
||||
var/unban_ckey = src.owner:ckey
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
if(istype(disk_loc, /mob))
|
||||
var/mob/M = disk_loc
|
||||
dat += "carried by <a href='?src=[UID()];adminplayeropts=[M.UID()]'>[M.real_name]</a> "
|
||||
if(istype(disk_loc, /obj))
|
||||
if(isobj(disk_loc))
|
||||
var/obj/O = disk_loc
|
||||
dat += "in \a [O.name] "
|
||||
disk_loc = disk_loc.loc
|
||||
|
||||
@@ -1138,7 +1138,7 @@
|
||||
return
|
||||
|
||||
M.loc = prison_cell
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/prisoner = M
|
||||
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), slot_w_uniform)
|
||||
prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes)
|
||||
@@ -1347,7 +1347,7 @@
|
||||
I.plane = initial(I.plane)
|
||||
I.dropped(M)
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/observer = M
|
||||
observer.equip_to_slot_or_del(new /obj/item/clothing/under/suit(observer), slot_w_uniform)
|
||||
observer.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(observer), slot_shoes)
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
if(!temp.vv_edit_var(v, SDQL_expression(d, set_list[sets])))
|
||||
to_chat(usr, "[temp] rejected your varedit.")
|
||||
break
|
||||
if(temp.vars.Find(v) && (istype(temp.vars[v], /datum) || istype(temp.vars[v], /client)))
|
||||
if(temp.vars.Find(v) && (istype(temp.vars[v], /datum) || isclient(temp.vars[v])))
|
||||
temp = temp.vars[v]
|
||||
else
|
||||
break
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
var/client/C
|
||||
if(istext(whom))
|
||||
C = get_client_by_ckey(whom)
|
||||
else if(istype(whom,/client))
|
||||
else if(isclient(whom))
|
||||
C = whom
|
||||
|
||||
if(!C)
|
||||
|
||||
@@ -281,7 +281,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
if(!SSticker)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
log_admin("[key_name(src)] has robotized [M.key].")
|
||||
spawn(10)
|
||||
M:Robotize()
|
||||
@@ -452,7 +452,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
if(!SSticker)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.wear_id)
|
||||
var/obj/item/card/id/id = H.wear_id
|
||||
|
||||
@@ -31,13 +31,13 @@ GLOBAL_PROTECT(VVmaint_only)
|
||||
else if(ismob(var_value))
|
||||
. = VV_MOB_REFERENCE
|
||||
|
||||
else if(isloc(var_value))
|
||||
else if(isatom(var_value))
|
||||
. = VV_ATOM_REFERENCE
|
||||
|
||||
else if(istype(var_value, /matrix))
|
||||
. = VV_MATRIX
|
||||
|
||||
else if(istype(var_value,/client))
|
||||
else if(isclient(var_value))
|
||||
. = VV_CLIENT
|
||||
|
||||
else if(istype(var_value, /datum))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
L.Paralyse(10 SECONDS)
|
||||
sleep(5) //so they black out before warping
|
||||
M.loc = pick(GLOB.prisonwarp)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/prisoner = M
|
||||
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), slot_w_uniform)
|
||||
prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes)
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
to_chat(traitor_mob, "<span class='warning'>Unfortunately, the Syndicate wasn't able to give you an uplink.</span>")
|
||||
return FALSE // They had no PDA or radio for whatever reason.
|
||||
|
||||
if(istype(R, /obj/item/radio))
|
||||
if(isradio(R))
|
||||
// generate list of radio freqs
|
||||
var/obj/item/radio/target_radio = R
|
||||
var/freq = PUBLIC_LOW_FREQ
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
hear_input(M, msg, 1)
|
||||
|
||||
/obj/item/assembly/voice/proc/hear_input(mob/living/M as mob, msg, type)
|
||||
if(!istype(M,/mob/living))
|
||||
if(!isliving(M))
|
||||
return
|
||||
|
||||
if(listening)
|
||||
|
||||
@@ -21,25 +21,25 @@
|
||||
|
||||
if(istype(object,/turf) && left_click && !alt_click && !ctrl_click)
|
||||
var/turf/T = object
|
||||
if(istype(object,/turf/space))
|
||||
if(isspaceturf(object))
|
||||
T.ChangeTurf(/turf/simulated/floor/plasteel)
|
||||
else if(istype(object,/turf/simulated/floor))
|
||||
else if(isfloorturf(object))
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else if(istype(object,/turf/simulated/wall))
|
||||
else if(iswallturf(object))
|
||||
T.ChangeTurf(/turf/simulated/wall/r_wall)
|
||||
log_admin("Build Mode: [key_name(user)] built [T] at ([T.x],[T.y],[T.z])")
|
||||
else if(right_click)
|
||||
log_admin("Build Mode: [key_name(user)] deleted [object] at ([object.x],[object.y],[object.z])")
|
||||
if(istype(object,/turf/simulated/wall))
|
||||
if(iswallturf(object))
|
||||
var/turf/T = object
|
||||
T.ChangeTurf(/turf/simulated/floor/plasteel)
|
||||
else if(istype(object,/turf/simulated/floor))
|
||||
else if(isfloorturf(object))
|
||||
var/turf/T = object
|
||||
T.ChangeTurf(T.baseturf)
|
||||
else if(istype(object,/turf/simulated/wall/r_wall))
|
||||
else if(isreinforcedwallturf(object))
|
||||
var/turf/T = object
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else if(istype(object,/obj))
|
||||
else if(isobj(object))
|
||||
qdel(object)
|
||||
else if(istype(object,/turf) && alt_click && left_click)
|
||||
log_admin("Build Mode: [key_name(user)] built an airlock at ([object.x],[object.y],[object.z])")
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
if(slot in list(slot_r_hand, slot_l_hand, slot_in_backpack, slot_l_store, slot_r_store))
|
||||
return 1
|
||||
|
||||
if(species_restricted && istype(M,/mob/living/carbon/human))
|
||||
if(species_restricted && ishuman(M))
|
||||
|
||||
var/wearable = null
|
||||
var/exclusive = null
|
||||
@@ -335,7 +335,7 @@ BLIND // can't see anything
|
||||
to_chat(user, "Your suit will now report your vital lifesigns.")
|
||||
if(SUIT_SENSOR_TRACKING)
|
||||
to_chat(user, "Your suit will now report your vital lifesigns as well as your coordinate position.")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.w_uniform == src)
|
||||
H.update_suit_sensors()
|
||||
@@ -354,7 +354,7 @@ BLIND // can't see anything
|
||||
if(SUIT_SENSOR_TRACKING)
|
||||
for(var/mob/V in viewers(user, 1))
|
||||
V.show_message("[user] sets [src.loc]'s sensors to maximum.", 1)
|
||||
if(istype(src,/mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.w_uniform == src)
|
||||
H.update_suit_sensors()
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
on = !on
|
||||
icon_state = "[basestate][on]-[item_color]"
|
||||
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.update_inv_head()
|
||||
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
icon_state = "reactiveoff"
|
||||
item_state = "reactiveoff"
|
||||
addtimer(CALLBACK(src, .proc/reboot), disable_time SECONDS)
|
||||
if(istype(loc, /mob/living/carbon/human))
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/C = loc
|
||||
C.update_inv_wear_suit()
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
if(!holstered)
|
||||
return
|
||||
|
||||
if(istype(user.get_active_hand(),/obj) && istype(user.get_inactive_hand(),/obj))
|
||||
if(isobj(user.get_active_hand()) && isobj(user.get_inactive_hand()))
|
||||
to_chat(user, "<span class='warning'>You need an empty hand to draw [holstered]!</span>")
|
||||
else
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
to_chat(user, "<span class= 'notice'>[src] is out of ink.</span>")
|
||||
return
|
||||
|
||||
if(!istype(M, /mob/living/carbon/human))
|
||||
if(!ishuman(M))
|
||||
to_chat(user, "<span class= 'notice'>You don't think tattooing [M] is the best idea.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/atom/var/list/suit_fibers
|
||||
|
||||
/atom/proc/add_fibers(mob/living/carbon/human/M)
|
||||
if(M.gloves && istype(M.gloves,/obj/item/clothing/))
|
||||
if(M.gloves && isclothing(M.gloves))
|
||||
var/obj/item/clothing/gloves/G = M.gloves
|
||||
if(G.transfer_blood > 1) //bloodied gloves transfer blood to touched objects
|
||||
if(add_blood(G.blood_DNA, G.blood_color)) //only reduces the bloodiness of our gloves if the item wasn't already bloody
|
||||
@@ -13,7 +13,7 @@
|
||||
M.bloody_hands--
|
||||
if(!suit_fibers) suit_fibers = list()
|
||||
var/fibertext
|
||||
var/item_multiplier = istype(src,/obj/item)?1.2:1
|
||||
var/item_multiplier = isitem(src)?1.2:1
|
||||
if(M.wear_suit)
|
||||
fibertext = "Material from \a [M.wear_suit]."
|
||||
if(prob(10*item_multiplier) && !(fibertext in suit_fibers) && M.wear_suit.can_leave_fibers)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
return
|
||||
|
||||
if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
|
||||
if(istype(I.loc,/obj/item/storage)) //in a container.
|
||||
if(isstorage(I.loc)) //in a container.
|
||||
var/obj/item/storage/U = I.loc
|
||||
U.remove_from_storage(I, src)
|
||||
else if(user.l_hand == I) //in a hand
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
R.overlays += stampoverlay
|
||||
R.stamps += "<HR><i>This paper has been stamped by the EFTPOS device.</i>"
|
||||
var/obj/item/smallDelivery/D = new(get_turf(loc))
|
||||
if(istype(loc, /mob/living/carbon/human))
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
if(H.back)
|
||||
D.forceMove(H.back)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
if(A.type == /area) continue
|
||||
var/list/turflist = list()
|
||||
for(var/turf/T in A)
|
||||
if(istype(T,/turf/space) || T.density) continue
|
||||
if(isspaceturf(T) || T.density) continue
|
||||
if(locate(/mob/living) in T) continue
|
||||
var/okay = 1
|
||||
for(var/obj/O in T)
|
||||
|
||||
@@ -362,7 +362,7 @@
|
||||
to_chat(user, "<span class='warning'>You try to push [I] through the lid but it doesn't work!</span>")
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/pen/))
|
||||
if(is_pen(I))
|
||||
if(open)
|
||||
return
|
||||
var/t = clean_input("Enter what you want to add to the tag:", "Write", null)
|
||||
|
||||
@@ -80,10 +80,10 @@
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W,/obj/item/pen))
|
||||
if(is_pen(W))
|
||||
rename_interactive(user, W, use_prefix = FALSE, prompt = "What would you like to name this dish?")
|
||||
return
|
||||
if(istype(W,/obj/item/storage))
|
||||
if(isstorage(W))
|
||||
..() // -> item/attackby(, params)
|
||||
|
||||
else if(istype(W,/obj/item/kitchen/utensil))
|
||||
@@ -118,7 +118,7 @@
|
||||
var/obj/item/TrashItem
|
||||
if(ispath(trash,/obj/item))
|
||||
TrashItem = new trash(src)
|
||||
else if(istype(trash,/obj/item))
|
||||
else if(isitem(trash))
|
||||
TrashItem = trash
|
||||
TrashItem.forceMove(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
if(!istype(H)) return 0
|
||||
if(H != occupant) return 0 //only using H as a shortcut to typecast
|
||||
for(var/obj/O in H)
|
||||
if(istype(O,/obj/item/clothing)) //clothing gets skipped to avoid cleaning out shit
|
||||
if(isclothing(O)) //clothing gets skipped to avoid cleaning out shit
|
||||
continue
|
||||
if(istype(O,/obj/item/implant))
|
||||
var/obj/item/implant/I = O
|
||||
|
||||
@@ -85,7 +85,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
|
||||
if(istype(O, /obj/item/grab))
|
||||
var/obj/item/grab/G = O
|
||||
var/grabbed = G.affecting
|
||||
if(istype(grabbed, /mob/living/carbon/human))
|
||||
if(ishuman(grabbed))
|
||||
var/mob/living/carbon/human/target = grabbed
|
||||
if(issmall(target))
|
||||
if(target.stat == 0)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
var/cracked = 0
|
||||
|
||||
/obj/item/toy/xmas_cracker/attack(mob/target, mob/user)
|
||||
if( !cracked && istype(target,/mob/living/carbon/human) && (target.stat == CONSCIOUS) && !target.get_active_hand() )
|
||||
if( !cracked && ishuman(target) && (target.stat == CONSCIOUS) && !target.get_active_hand() )
|
||||
target.visible_message("<span class='notice'>[user] and [target] pop \an [src]! *pop*</span>", "<span class='notice'>You pull \an [src] with [target]! *pop*</span>", "<span class='notice'>You hear a *pop*.</span>")
|
||||
var/obj/item/paper/Joke = new /obj/item/paper(user.loc)
|
||||
Joke.name = "[pick("awful","terrible","unfunny")] joke"
|
||||
|
||||
@@ -756,7 +756,7 @@
|
||||
var/irrigate = 0 //How am I supposed to irrigate pill contents?
|
||||
var/transfer_amount
|
||||
|
||||
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/food/pill))
|
||||
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || ispill(reagent_source))
|
||||
visi_msg="[user] composts [reagent_source], spreading it through [target]"
|
||||
transfer_amount = reagent_source.reagents.total_volume
|
||||
else
|
||||
@@ -794,7 +794,7 @@
|
||||
S.my_atom = H
|
||||
|
||||
reagent_source.reagents.trans_to(S,split)
|
||||
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/food/pill))
|
||||
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || ispill(reagent_source))
|
||||
qdel(reagent_source)
|
||||
|
||||
H.applyChemicals(S, user)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
M.unEquip(src)
|
||||
to_chat(M, "[src] wriggles out of your grip!")
|
||||
to_chat(L, "You wriggle out of [M]'s grip!")
|
||||
else if(istype(loc,/obj/item))
|
||||
else if(isitem(loc))
|
||||
to_chat(L, "You struggle free of [loc].")
|
||||
forceMove(get_turf(src))
|
||||
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
if(istype(other, /mob/living/carbon/human))
|
||||
if(ishuman(other))
|
||||
return 1
|
||||
if(istype(other, /mob/living/simple_animal/slime))
|
||||
if(isslime(other))
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
if(owner.mind && !non_primary)//don't transfer if the owner does not have a mind.
|
||||
B.transfer_identity(user)
|
||||
|
||||
if(istype(owner,/mob/living/carbon/human))
|
||||
if(ishuman(owner))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.update_hair()
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
name = "[initial(name)]"
|
||||
var/brain_already_exists = 0
|
||||
if(istype(target,/mob/living/carbon/human)) // No more IPC multibrain shenanigans
|
||||
if(ishuman(target)) // No more IPC multibrain shenanigans
|
||||
if(target.get_int_organ(/obj/item/organ/internal/brain))
|
||||
brain_already_exists = 1
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(I && I.force)
|
||||
var/d = rand(round(I.force / 4), I.force)
|
||||
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
var/obj/item/organ/external/organ = H.get_organ("chest")
|
||||
if(istype(organ))
|
||||
@@ -708,7 +708,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
back = null
|
||||
update_inv_back()
|
||||
else if(I == wear_mask)
|
||||
if(istype(src, /mob/living/carbon/human)) //If we don't do this hair won't be properly rebuilt.
|
||||
if(ishuman(src)) //If we don't do this hair won't be properly rebuilt.
|
||||
return
|
||||
wear_mask = null
|
||||
update_inv_wear_mask()
|
||||
@@ -1067,7 +1067,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
return FALSE
|
||||
|
||||
if(!(slipAny))
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(isobj(H.shoes) && H.shoes.flags & NOSLIP)
|
||||
return FALSE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/living/carbon/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum)
|
||||
if(!skipcatch)
|
||||
if(in_throw_mode && !HAS_TRAIT(src, TRAIT_HANDS_BLOCKED) && !restrained()) //Makes sure player is in throw mode
|
||||
if(!istype(AM,/obj/item) || !isturf(AM.loc))
|
||||
if(!isitem(AM) || !isturf(AM.loc))
|
||||
return FALSE
|
||||
if(get_active_hand())
|
||||
return FALSE
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
|
||||
//Helper procedure. Called by /mob/living/carbon/human/examine() and /mob/living/carbon/human/Topic() to determine HUD access to security and medical records.
|
||||
/proc/hasHUD(mob/M, hudtype)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(ishuman(M))
|
||||
var/have_hudtypes = list()
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ emp_act
|
||||
var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, l_ear, r_ear, wear_id) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor)
|
||||
for(var/bp in body_parts)
|
||||
if(!bp) continue
|
||||
if(bp && istype(bp ,/obj/item/clothing))
|
||||
if(bp && isclothing(bp))
|
||||
var/obj/item/clothing/C = bp
|
||||
if(C.body_parts_covered & def_zone.body_part)
|
||||
protection += C.armor.getRating(type)
|
||||
@@ -187,24 +187,24 @@ emp_act
|
||||
var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform)
|
||||
for(var/bp in body_parts)
|
||||
if(!bp) continue
|
||||
if(bp && istype(bp ,/obj/item/clothing))
|
||||
if(bp && isclothing(bp))
|
||||
var/obj/item/clothing/C = bp
|
||||
if(C.body_parts_covered & HEAD)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/human/proc/check_reflect(def_zone) //Reflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance var of the object
|
||||
if(wear_suit && istype(wear_suit, /obj/item/))
|
||||
if(wear_suit && isitem(wear_suit))
|
||||
var/obj/item/I = wear_suit
|
||||
if(I.IsReflect(def_zone) == 1)
|
||||
return 1
|
||||
if(l_hand && istype(l_hand, /obj/item/))
|
||||
if(l_hand && isitem(l_hand))
|
||||
var/obj/item/I = l_hand
|
||||
if(I.IsReflect(def_zone) == 1)
|
||||
return 1
|
||||
if(I.IsReflect(def_zone) == 2) //Toy swords
|
||||
return 2
|
||||
if(r_hand && istype(r_hand, /obj/item/))
|
||||
if(r_hand && isitem(r_hand))
|
||||
var/obj/item/I = r_hand
|
||||
if(I.IsReflect(def_zone) == 1)
|
||||
return 1
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
if(times_fired % 2 == 1)
|
||||
breathe() //Breathe every other tick, unless suffocating
|
||||
else
|
||||
if(istype(loc, /obj/))
|
||||
if(isobj(loc))
|
||||
var/obj/location_as_object = loc
|
||||
location_as_object.handle_internal_lifeform(src, 0)
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
if(AmountLoseBreath())
|
||||
if(prob(75))
|
||||
emote("gasp")
|
||||
if(istype(loc, /obj/))
|
||||
if(isobj(loc))
|
||||
var/obj/loc_as_obj = loc
|
||||
loc_as_obj.handle_internal_lifeform(src, 0)
|
||||
else
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
breath = loc.remove_air(breath_moles)
|
||||
else //Breathe from loc as obj again
|
||||
if(istype(loc, /obj/))
|
||||
if(isobj(loc))
|
||||
var/obj/loc_as_obj = loc
|
||||
loc_as_obj.handle_internal_lifeform(src, 0)
|
||||
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
var/scan_type
|
||||
if(istype(M, /mob/living/silicon/robot))
|
||||
scan_type = "robot"
|
||||
else if(istype(M, /mob/living/carbon/human))
|
||||
else if(ishuman(M))
|
||||
scan_type = "prosthetics"
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't analyze non-robotic things!</span>")
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
if(is_type_in_list(AM, pullable_drone_items))
|
||||
..(AM, force = INFINITY) // Drone power! Makes them able to drag pipes and such
|
||||
|
||||
else if(istype(AM,/obj/item))
|
||||
else if(isitem(AM))
|
||||
var/obj/item/O = AM
|
||||
if(O.w_class > WEIGHT_CLASS_SMALL)
|
||||
if(show_message)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user