mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-18 01:26:46 +01:00
CI now bans the use of weird spacing in conditionals (#22777)
* no more spaces * Matthew 10:22 * fixes * dgamerl review * Update code/modules/hydroponics/plant_genes.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/mob/living/simple_animal/bot/ed209bot.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/mob/mob.dm * Update code/modules/pda/PDA.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * fuck * bah * Update tools/ci/check_grep2.py Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * oops * guh --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
var/ckey = ckey(key)
|
||||
|
||||
var/client/C = GLOB.directory[ckey]
|
||||
if (C && ckey == C.ckey && computer_id == C.computer_id && address == C.address)
|
||||
if(C && ckey == C.ckey && computer_id == C.computer_id && address == C.address)
|
||||
return //don't recheck connected clients.
|
||||
|
||||
if((ckey in GLOB.admin_datums) || (ckey in GLOB.de_admins))
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
blockselfban = 1
|
||||
kickbannedckey = 1
|
||||
|
||||
if( !bantype_pass ) return
|
||||
if( !istext(reason) ) return
|
||||
if( !isnum(duration) ) return
|
||||
if(!bantype_pass) return
|
||||
if(!istext(reason)) return
|
||||
if(!isnum(duration)) return
|
||||
|
||||
var/ckey
|
||||
var/computerid
|
||||
@@ -229,7 +229,7 @@
|
||||
if(BANTYPE_ANY_FULLBAN)
|
||||
bantype_str = "ANY"
|
||||
bantype_pass = 1
|
||||
if( !bantype_pass ) return
|
||||
if(!bantype_pass) return
|
||||
|
||||
var/bantype_sql
|
||||
if(bantype_str == "ANY")
|
||||
|
||||
@@ -120,7 +120,7 @@ you will have to do something like if(client.holder.rights & R_ADMIN) yourself.
|
||||
if(!other || !other.holder)
|
||||
return 1
|
||||
if(usr.client.holder.rights != other.holder.rights)
|
||||
if( (usr.client.holder.rights & other.holder.rights) == other.holder.rights )
|
||||
if((usr.client.holder.rights & other.holder.rights) == other.holder.rights)
|
||||
return 1 //we have all the rights they have and more
|
||||
to_chat(usr, "<font color='red'>Error: Cannot proceed. They have more or equal rights to us.</font>")
|
||||
return 0
|
||||
|
||||
@@ -537,8 +537,8 @@ GLOBAL_VAR_INIT(nologevent, 0)
|
||||
if(!check_rights(R_SERVER))
|
||||
return
|
||||
|
||||
GLOB.enter_allowed = !( GLOB.enter_allowed )
|
||||
if(!( GLOB.enter_allowed ))
|
||||
GLOB.enter_allowed = !GLOB.enter_allowed
|
||||
if(!GLOB.enter_allowed)
|
||||
to_chat(world, "<B>New players may no longer enter the game.</B>")
|
||||
else
|
||||
to_chat(world, "<B>New players may now enter the game.</B>")
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
var maintable_data = document.getElementById('maintable_data');
|
||||
var ltr = maintable_data.getElementsByTagName("tr");
|
||||
for( var i = 0; i < ltr.length; ++i )
|
||||
for(var i = 0; i < ltr.length; ++i)
|
||||
{
|
||||
try{
|
||||
var tr = ltr\[i\];
|
||||
@@ -46,7 +46,7 @@
|
||||
var search = lsearch\[0\];
|
||||
//var inner_span = li.getElementsByTagName("span")\[1\] //Should only ever contain one element.
|
||||
//document.write("<p>"+search.innerText+"<br>"+filter+"<br>"+search.innerText.indexOf(filter))
|
||||
if( search.innerText.toLowerCase().indexOf(filter) == -1 )
|
||||
if(search.innerText.toLowerCase().indexOf(filter) == -1)
|
||||
{
|
||||
//document.write("a");
|
||||
//ltr.removeChild(tr);
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
if(1)
|
||||
if(check_rights((R_EVENT|R_SERVER),0))
|
||||
var/security_levels_data = ""
|
||||
for (var/level_name in SSsecurity_level.available_levels)
|
||||
for(var/level_name in SSsecurity_level.available_levels)
|
||||
var/datum/security_level/this_level = SSsecurity_level.available_levels[level_name]
|
||||
security_levels_data += "<a href='?src=[UID()];secretsfun=securitylevel;number=[this_level.number_level]'>[this_level.name]</a>"
|
||||
|
||||
|
||||
+21
-21
@@ -390,31 +390,31 @@
|
||||
if("Yes") delmob = 1
|
||||
|
||||
switch(href_list["simplemake"])
|
||||
if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob, 1 )
|
||||
if("drone") M.change_mob_type( /mob/living/carbon/alien/humanoid/drone , null, null, delmob, 1 )
|
||||
if("hunter") M.change_mob_type( /mob/living/carbon/alien/humanoid/hunter , null, null, delmob, 1 )
|
||||
if("queen") M.change_mob_type( /mob/living/carbon/alien/humanoid/queen/large , null, null, delmob, 1 )
|
||||
if("sentinel") M.change_mob_type( /mob/living/carbon/alien/humanoid/sentinel , null, null, delmob, 1 )
|
||||
if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob, 1 )
|
||||
if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob, 1)
|
||||
if("drone") M.change_mob_type( /mob/living/carbon/alien/humanoid/drone , null, null, delmob, 1)
|
||||
if("hunter") M.change_mob_type( /mob/living/carbon/alien/humanoid/hunter , null, null, delmob, 1)
|
||||
if("queen") M.change_mob_type( /mob/living/carbon/alien/humanoid/queen/large , null, null, delmob, 1)
|
||||
if("sentinel") M.change_mob_type( /mob/living/carbon/alien/humanoid/sentinel , null, null, delmob, 1)
|
||||
if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob, 1)
|
||||
if("human")
|
||||
var/posttransformoutfit = usr.client.robust_dress_shop()
|
||||
var/mob/living/carbon/human/newmob = M.change_mob_type(/mob/living/carbon/human, null, null, delmob, 1)
|
||||
if(posttransformoutfit && istype(newmob))
|
||||
newmob.equipOutfit(posttransformoutfit)
|
||||
if("slime") M.change_mob_type( /mob/living/simple_animal/slime , null, null, delmob, 1 )
|
||||
if("monkey") M.change_mob_type( /mob/living/carbon/human/monkey , null, null, delmob, 1 )
|
||||
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob, 1 )
|
||||
if("cat") M.change_mob_type( /mob/living/simple_animal/pet/cat , null, null, delmob, 1 )
|
||||
if("runtime") M.change_mob_type( /mob/living/simple_animal/pet/cat/Runtime , null, null, delmob, 1 )
|
||||
if("corgi") M.change_mob_type( /mob/living/simple_animal/pet/dog/corgi , null, null, delmob, 1 )
|
||||
if("crab") M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob, 1 )
|
||||
if("coffee") M.change_mob_type( /mob/living/simple_animal/crab/Coffee , null, null, delmob, 1 )
|
||||
if("parrot") M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob, 1 )
|
||||
if("polyparrot") M.change_mob_type( /mob/living/simple_animal/parrot/Poly , null, null, delmob, 1 )
|
||||
if("constructarmoured") M.change_mob_type( /mob/living/simple_animal/hostile/construct/armoured , null, null, delmob, 1 )
|
||||
if("constructbuilder") M.change_mob_type( /mob/living/simple_animal/hostile/construct/builder , null, null, delmob, 1 )
|
||||
if("constructwraith") M.change_mob_type( /mob/living/simple_animal/hostile/construct/wraith , null, null, delmob, 1 )
|
||||
if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob, 1 )
|
||||
if("slime") M.change_mob_type( /mob/living/simple_animal/slime , null, null, delmob, 1)
|
||||
if("monkey") M.change_mob_type( /mob/living/carbon/human/monkey , null, null, delmob, 1)
|
||||
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob, 1)
|
||||
if("cat") M.change_mob_type( /mob/living/simple_animal/pet/cat , null, null, delmob, 1)
|
||||
if("runtime") M.change_mob_type( /mob/living/simple_animal/pet/cat/Runtime , null, null, delmob, 1)
|
||||
if("corgi") M.change_mob_type( /mob/living/simple_animal/pet/dog/corgi , null, null, delmob, 1)
|
||||
if("crab") M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob, 1)
|
||||
if("coffee") M.change_mob_type( /mob/living/simple_animal/crab/Coffee , null, null, delmob, 1)
|
||||
if("parrot") M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob, 1)
|
||||
if("polyparrot") M.change_mob_type( /mob/living/simple_animal/parrot/Poly , null, null, delmob, 1)
|
||||
if("constructarmoured") M.change_mob_type( /mob/living/simple_animal/hostile/construct/armoured , null, null, delmob, 1)
|
||||
if("constructbuilder") M.change_mob_type( /mob/living/simple_animal/hostile/construct/builder , null, null, delmob, 1)
|
||||
if("constructwraith") M.change_mob_type( /mob/living/simple_animal/hostile/construct/wraith , null, null, delmob, 1)
|
||||
if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob, 1)
|
||||
|
||||
log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]</span>", 1)
|
||||
@@ -2696,7 +2696,7 @@
|
||||
|
||||
var/atom/target //Where the object will be spawned
|
||||
var/where = href_list["object_where"]
|
||||
if(!( where in list("onfloor","inhand","inmarked") ))
|
||||
if(!( where in list("onfloor","inhand","inmarked")))
|
||||
where = "onfloor"
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
display_name = holder.fakekey
|
||||
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if((M.mind && M.mind.special_role && M.client) || (M.client && M.client.holder && (M.client.holder.rights & R_ADMIN)) )
|
||||
if((M.mind && M.mind.special_role && M.client) || (M.client && M.client.holder && (M.client.holder.rights & R_ADMIN)))
|
||||
to_chat(M, "<font color='#960018'><span class='ooc'><span class='prefix'>AOOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>")
|
||||
|
||||
|
||||
|
||||
@@ -497,7 +497,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
log_admin("[key_name(usr)] assumed direct control of [M].")
|
||||
var/mob/adminmob = src.mob
|
||||
M.ckey = src.ckey
|
||||
if( isobserver(adminmob) )
|
||||
if(isobserver(adminmob))
|
||||
qdel(adminmob)
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Assume Direct Control") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -644,7 +644,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
|
||||
if(alert("Should the items in their pockets be dropped? Selecting \"No\" will delete them.", "Robust quick dress shop", "Yes", "No") == "No")
|
||||
delete_pocket = TRUE
|
||||
|
||||
for (var/obj/item/I in H.get_equipped_items(delete_pocket))
|
||||
for(var/obj/item/I in H.get_equipped_items(delete_pocket))
|
||||
qdel(I)
|
||||
if(dresscode != "Naked")
|
||||
H.equipOutfit(dresscode)
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
|
||||
message_admins("[key_name_admin(src)] accessed file: [path]")
|
||||
switch(alert("View (in game), Open (in your system's text editor), or Download?", path, "View", "Open", "Download"))
|
||||
if ("View")
|
||||
if("View")
|
||||
src << browse("<pre style='word-wrap: break-word;'>[html_encode(wrap_file2text(wrap_file(path)))]</pre>", list2params(list("window" = "viewfile.[path]")))
|
||||
if ("Open")
|
||||
if("Open")
|
||||
src << run(wrap_file(path))
|
||||
if ("Download")
|
||||
if("Download")
|
||||
src << ftp(wrap_file(path))
|
||||
else
|
||||
return
|
||||
|
||||
@@ -156,7 +156,7 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0)
|
||||
// Uplink
|
||||
var/obj/item/implant/uplink/sit/U = new /obj/item/implant/uplink/sit(src)
|
||||
U.implant(src)
|
||||
if (flag_mgmt)
|
||||
if(flag_mgmt)
|
||||
U.hidden_uplink.uses = 2500
|
||||
else
|
||||
U.hidden_uplink.uses = num_tc
|
||||
@@ -174,7 +174,7 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/shoes/chameleon/noslip(src), SLOT_HUD_SHOES)
|
||||
|
||||
var/obj/item/card/id/syndicate/W = new(src)
|
||||
if (flag_mgmt)
|
||||
if(flag_mgmt)
|
||||
W.icon_state = "commander"
|
||||
else
|
||||
W.icon_state = "id"
|
||||
|
||||
@@ -84,7 +84,7 @@ GLOBAL_VAR_INIT(intercom_range_display_status, 0)
|
||||
if(C1.loc == C2.loc)
|
||||
output += "<li>overlapping sec. cameras at \[[C1.x], [C1.y], [C1.z]\] ([C1.loc.loc]) Networks: [C1.network] and [C2.network]</font></li>"
|
||||
var/turf/T = get_step(C1,turn(C1.dir,180))
|
||||
if(!T || !isturf(T) || !T.density )
|
||||
if(!T || !isturf(T) || !T.density)
|
||||
if(!(locate(/obj/structure/grille,T)))
|
||||
var/window_check = 0
|
||||
for(var/obj/structure/window/W in T)
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
|
||||
var/msg = clean_input("Message:", "Enter the text you wish to appear to your target:")
|
||||
|
||||
if( !msg )
|
||||
if(!msg)
|
||||
return
|
||||
msg = admin_pencode_to_html(msg)
|
||||
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
|
||||
for(var/dir in GLOB.cardinal)
|
||||
var/turf/link = get_step(T, dir)
|
||||
if (!link)
|
||||
if(!link)
|
||||
continue
|
||||
// Check if it wasn't already visited and if you can get to that turf
|
||||
if(!closed[link] && T.CanAtmosPass(link))
|
||||
|
||||
@@ -78,7 +78,7 @@ Thus, the two variables affect pump operation are set in New():
|
||||
|
||||
var/output_starting_pressure = air2.return_pressure()
|
||||
|
||||
if( (target_pressure - output_starting_pressure) < 0.01)
|
||||
if((target_pressure - output_starting_pressure) < 0.01)
|
||||
//No need to pump gas if target is already reached!
|
||||
return 1
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
var/output_starting_pressure = air3.return_pressure()
|
||||
|
||||
if(output_starting_pressure >= target_pressure || air2.return_pressure() >= target_pressure )
|
||||
if(output_starting_pressure >= target_pressure || air2.return_pressure() >= target_pressure)
|
||||
//No need to mix if target is already full!
|
||||
return 1
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
var/turf/T2 = get_turf(scrubber)
|
||||
if(T2 && T2.loc)
|
||||
var/area/A2 = T2.loc
|
||||
if(istype(A2) && A2 == A )
|
||||
if(istype(A2) && A2 == A)
|
||||
connectedscrubbers += scrubber
|
||||
found = 1
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
var/alt_click = pa.Find("alt")
|
||||
|
||||
if(left_click && alt_click)
|
||||
if (isturf(object) || isobj(object) || ismob(object))
|
||||
if(isturf(object) || isobj(object) || ismob(object))
|
||||
objholder = object.type
|
||||
to_chat(user, "<span class='notice'>[initial(object.name)] ([object.type]) selected.</span>")
|
||||
else
|
||||
|
||||
@@ -941,7 +941,7 @@
|
||||
|
||||
if(hair_style.secondary_theme)
|
||||
var/icon/hair_secondary_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_[hair_style.secondary_theme]_s")
|
||||
if(!hair_style.no_sec_colour && hair_style.do_colouration )
|
||||
if(!hair_style.no_sec_colour && hair_style.do_colouration)
|
||||
hair_secondary_s.Blend(h_sec_colour, ICON_ADD)
|
||||
hair_s.Blend(hair_secondary_s, ICON_OVERLAY)
|
||||
|
||||
|
||||
@@ -416,7 +416,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
|
||||
if(GLOB.configuration.general.allow_character_metadata)
|
||||
dat += "<b>OOC Notes:</b> <a href='?_src_=prefs;preference=metadata;task=input'><b>Edit</b></a><br>"
|
||||
dat += "<b>Parallax (Fancy Space):</b> <a href='?_src_=prefs;preference=parallax'>"
|
||||
switch (parallax)
|
||||
switch(parallax)
|
||||
if(PARALLAX_LOW)
|
||||
dat += "Low"
|
||||
if(PARALLAX_MED)
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
return
|
||||
|
||||
var/obj/item/clothing/ears/O
|
||||
if(slot_flags & SLOT_FLAG_TWOEARS )
|
||||
if(slot_flags & SLOT_FLAG_TWOEARS)
|
||||
O = (H.l_ear == src ? H.r_ear : H.l_ear)
|
||||
user.unEquip(O)
|
||||
if(!istype(src, /obj/item/clothing/ears/offear))
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/item/clothing/mask/breath/AltClick(mob/user)
|
||||
..()
|
||||
if( (!in_range(src, user)) || user.stat || user.restrained() )
|
||||
if((!in_range(src, user)) || user.stat || user.restrained())
|
||||
return
|
||||
adjustmask(user)
|
||||
|
||||
|
||||
@@ -336,7 +336,7 @@
|
||||
var/key = phrase_list[phrase]
|
||||
var/message = phrase_list[key]
|
||||
|
||||
if (!safety)
|
||||
if(!safety)
|
||||
to_chat(user, "<span class='notice'>You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -41,10 +41,10 @@
|
||||
var/mob/M = has_suit.loc
|
||||
A.Grant(M)
|
||||
|
||||
if (islist(has_suit.armor) || isnull(has_suit.armor)) // This proc can run before /obj/Initialize has run for U and src,
|
||||
if(islist(has_suit.armor) || isnull(has_suit.armor)) // This proc can run before /obj/Initialize has run for U and src,
|
||||
has_suit.armor = getArmor(arglist(has_suit.armor)) // we have to check that the armor list has been transformed into a datum before we try to call a proc on it
|
||||
// This is safe to do as /obj/Initialize only handles setting up the datum if actually needed.
|
||||
if (islist(armor) || isnull(armor))
|
||||
if(islist(armor) || isnull(armor))
|
||||
armor = getArmor(arglist(armor))
|
||||
|
||||
has_suit.armor = has_suit.armor.attachArmor(armor)
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
return FALSE
|
||||
|
||||
/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
|
||||
if (istype(E, /obj/item/extinguisher_refill))
|
||||
if (extinguishes_left == 5)
|
||||
if(istype(E, /obj/item/extinguisher_refill))
|
||||
if(extinguishes_left == 5)
|
||||
to_chat(user, "<span class='notice'>The inbuilt extinguisher is full.</span>")
|
||||
return
|
||||
else
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
var/needed_amount = R.reqs[A]
|
||||
for(var/B in contents)
|
||||
if(ispath(B, A))
|
||||
if (R.blacklist.Find(B))
|
||||
if(R.blacklist.Find(B))
|
||||
continue
|
||||
if(contents[B] >= R.reqs[A])
|
||||
continue main_loop
|
||||
@@ -379,7 +379,7 @@
|
||||
|
||||
//Next works nicely with modular arithmetic
|
||||
/datum/personal_crafting/proc/next_cat(readonly = TRUE)
|
||||
if (!readonly)
|
||||
if(!readonly)
|
||||
viewing_subcategory = 1
|
||||
. = viewing_category % categories.len + 1
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
|
||||
//Previous can go fuck itself
|
||||
/datum/personal_crafting/proc/prev_cat(readonly = TRUE)
|
||||
if (!readonly)
|
||||
if(!readonly)
|
||||
viewing_subcategory = 1
|
||||
if(viewing_category == categories.len)
|
||||
. = viewing_category-1
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
/obj/item/fluff/tattoo_gun/elliot_cybernetic_tat/attack_self(mob/user as mob)
|
||||
if(!used)
|
||||
var/ink_color = input("Please select an ink color.", "Tattoo Ink Color", rgb(tattoo_r, tattoo_g, tattoo_b)) as color|null
|
||||
if(ink_color && !(user.incapacitated() || used) )
|
||||
if(ink_color && !(user.incapacitated() || used))
|
||||
tattoo_r = color2R(ink_color)
|
||||
tattoo_g = color2G(ink_color)
|
||||
tattoo_b = color2B(ink_color)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
/obj/machinery/economy/atm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if (!ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "ATM", name, 550, 650)
|
||||
ui.open()
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
to_chat(src, "<span class='warning'>This shield blob is too damaged to be modified properly!</span>")
|
||||
return
|
||||
|
||||
else if (!can_buy(15))
|
||||
else if(!can_buy(15))
|
||||
return
|
||||
|
||||
to_chat(src, "<span class='warning'>You secrete a reflective ooze over the shield blob, allowing it to reflect energy projectiles at the cost of reduced intregrity.</span>")
|
||||
|
||||
@@ -397,7 +397,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W, mob/user, params)
|
||||
if(istype( W, /obj/item/toy/crayon ))
|
||||
if(istype(W, /obj/item/toy/crayon))
|
||||
var/obj/item/toy/crayon/C = W
|
||||
var/clr = C.colourName
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
var/cracked = 0
|
||||
|
||||
/obj/item/toy/xmas_cracker/attack(mob/target, mob/user)
|
||||
if( !cracked && ishuman(target) && (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"
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
qdel(src)
|
||||
return ..()
|
||||
|
||||
if (istype(O, /obj/item/plant_analyzer))
|
||||
if(istype(O, /obj/item/plant_analyzer))
|
||||
var/msg = "<span class='info'>This is \a <span class='name'>[src].</span>\n"
|
||||
if(seed)
|
||||
msg += seed.get_analyzer_text()
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
/obj/item/grown/attackby(obj/item/O, mob/user, params)
|
||||
..()
|
||||
if (istype(O, /obj/item/plant_analyzer))
|
||||
if(istype(O, /obj/item/plant_analyzer))
|
||||
var/msg = "<span class='info'>This is \a <span class='name'>[src]</span>\n"
|
||||
if(seed)
|
||||
msg += seed.get_analyzer_text()
|
||||
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
/obj/machinery/hydroponics/constructable/RefreshParts()
|
||||
var/tmp_capacity = 0
|
||||
for (var/obj/item/stock_parts/matter_bin/M in component_parts)
|
||||
for(var/obj/item/stock_parts/matter_bin/M in component_parts)
|
||||
tmp_capacity += M.rating
|
||||
for (var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
rating = M.rating
|
||||
maxwater = tmp_capacity * 50 // Up to 300
|
||||
maxnutri = tmp_capacity * 5 // Up to 30
|
||||
@@ -252,20 +252,20 @@
|
||||
else
|
||||
weedinvasion() // Weed invasion into empty tray
|
||||
needs_update = 1
|
||||
if (needs_update)
|
||||
if(needs_update)
|
||||
update_state()
|
||||
return
|
||||
|
||||
/obj/machinery/hydroponics/proc/nutrimentMutation()
|
||||
if (mutmod == 0)
|
||||
if(mutmod == 0)
|
||||
return
|
||||
if (mutmod == 1)
|
||||
if(mutmod == 1)
|
||||
if(prob(80)) //80%
|
||||
mutate()
|
||||
else if(prob(75)) //15%
|
||||
hardmutate()
|
||||
return
|
||||
if (mutmod == 2)
|
||||
if(mutmod == 2)
|
||||
if(prob(50)) //50%
|
||||
mutate()
|
||||
else if(prob(50)) //25%
|
||||
@@ -347,11 +347,11 @@
|
||||
. += "<span class='info'>It has the <span class='name'>[myseed.variant]</span> variant of <span class='name'>[myseed.plantname]</span> planted.</span>"
|
||||
else
|
||||
. += "<span class='info'>It has <span class='name'>[myseed.plantname]</span> planted.</span>"
|
||||
if (dead)
|
||||
if(dead)
|
||||
. += "<span class='warning'>It's dead!</span>"
|
||||
else if (harvest)
|
||||
else if(harvest)
|
||||
. += "<span class='info'>It's ready to harvest.</span>"
|
||||
else if (plant_health <= (myseed.endurance / 2))
|
||||
else if(plant_health <= (myseed.endurance / 2))
|
||||
. += "<span class='warning'>It looks unhealthy.</span>"
|
||||
else
|
||||
. += "<span class='info'>[src] is empty.</span>"
|
||||
@@ -445,7 +445,7 @@
|
||||
|
||||
|
||||
/obj/machinery/hydroponics/proc/mutateweed() // If the weeds gets the mutagent instead. Mind you, this pretty much destroys the old plant
|
||||
if( weedlevel > 5 )
|
||||
if(weedlevel > 5)
|
||||
QDEL_NULL(myseed)
|
||||
var/newWeed = pick(/obj/item/seeds/liberty, /obj/item/seeds/angel, /obj/item/seeds/nettle/death, /obj/item/seeds/kudzu)
|
||||
myseed = new newWeed
|
||||
@@ -673,7 +673,7 @@
|
||||
if(S.has_reagent("saltpetre", 1))
|
||||
var/salt = S.get_reagent_amount("saltpetre")
|
||||
adjustHealth(round(salt * 0.25))
|
||||
if (myseed)
|
||||
if(myseed)
|
||||
myseed.adjust_production(-round(salt/100)-prob(salt%100))
|
||||
myseed.adjust_potency(round(salt*0.50))
|
||||
// Ash is also used IRL in gardening, as a fertilizer enhancer and weed killer
|
||||
@@ -779,7 +779,7 @@
|
||||
|
||||
if(irrigate && transfer_amount > 30 && reagent_source.reagents.total_volume >= 30 && using_irrigation)
|
||||
trays = FindConnected()
|
||||
if (trays.len > 1)
|
||||
if(trays.len > 1)
|
||||
visi_msg += ", setting off the irrigation system"
|
||||
|
||||
if(visi_msg)
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
/datum/plant_gene/trait/cell_charge
|
||||
// Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten.
|
||||
// Generates sparks on squash.
|
||||
// Small (potency*rate*5) chance to shock squish or slip target for (potency*rate*5) damage.
|
||||
// Small (potency*rate*5) chance to shock squish or slip target for damage (potency*rate*5).
|
||||
// Multiplies max charge by (rate*100) when used in potato power cells.
|
||||
name = "Electrical Activity"
|
||||
rate = 0.2
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
loaded++
|
||||
add_seed(G, user)
|
||||
|
||||
if (loaded)
|
||||
if(loaded)
|
||||
to_chat(user, "<span class='notice'>You transfer [loaded] seeds from [O] into [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There are no seeds in [O].</span>")
|
||||
@@ -103,7 +103,7 @@
|
||||
else if(seedify(O,-1, src, user))
|
||||
to_chat(user, "<span class='notice'>You extract some seeds.</span>")
|
||||
return
|
||||
else if (istype(O,/obj/item/seeds))
|
||||
else if(istype(O,/obj/item/seeds))
|
||||
if(add_seed(O, user))
|
||||
to_chat(user, "<span class='notice'>You add [O] to [name].</span>")
|
||||
updateUsrDialog()
|
||||
@@ -209,7 +209,7 @@
|
||||
S.remove_from_storage(O, src)
|
||||
|
||||
for(var/datum/seed_pile/N in piles) //this for loop physically hurts me
|
||||
if (O.plantname == N.name && O.variant == N.variant && O.lifespan == N.lifespan && O.endurance == N.endurance && O.maturation == N.maturation && O.production == N.production && O.yield == N.yield && O.potency == N.potency)
|
||||
if(O.plantname == N.name && O.variant == N.variant && O.lifespan == N.lifespan && O.endurance == N.endurance && O.maturation == N.maturation && O.production == N.production && O.yield == N.yield && O.potency == N.potency)
|
||||
N.amount++
|
||||
O.forceMove(src)
|
||||
return
|
||||
|
||||
@@ -434,7 +434,7 @@
|
||||
//Alright now that we've triple checked that we're ready to do this:
|
||||
//Has this player reported this book already this round?
|
||||
for(var/datum/flagged_book/book in flagged_books)
|
||||
if (book.bookid == bookid && book.reporter == ckey)
|
||||
if(book.bookid == bookid && book.reporter == ckey)
|
||||
return FALSE
|
||||
//If not, have they report this book in a previous round?
|
||||
for(var/datum/flagged_book/book in reportedbook.reports)
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
if(IS_DYNAMIC_LIGHTING(src))
|
||||
cut_overlay(/obj/effect/fullbright)
|
||||
for (var/turf/T in src)
|
||||
for(var/turf/T in src)
|
||||
if(IS_DYNAMIC_LIGHTING(T))
|
||||
T.lighting_build_overlay()
|
||||
|
||||
else
|
||||
add_overlay(/obj/effect/fullbright)
|
||||
for (var/turf/T in src)
|
||||
for(var/turf/T in src)
|
||||
if(T.lighting_object)
|
||||
T.lighting_clear_overlay()
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
T.reconsider_lights()
|
||||
|
||||
/atom/vv_edit_var(var_name, var_value)
|
||||
switch (var_name)
|
||||
switch(var_name)
|
||||
if("light_range")
|
||||
set_light(l_range=var_value)
|
||||
return TRUE
|
||||
|
||||
@@ -131,14 +131,14 @@
|
||||
/datum/light_source/proc/remove_lum()
|
||||
applied = FALSE
|
||||
var/thing
|
||||
for (thing in affecting_turfs)
|
||||
for(thing in affecting_turfs)
|
||||
var/turf/T = thing
|
||||
LAZYREMOVE(T.affecting_lights, src)
|
||||
|
||||
affecting_turfs = null
|
||||
|
||||
var/datum/lighting_corner/C
|
||||
for (thing in effect_str)
|
||||
for(thing in effect_str)
|
||||
C = thing
|
||||
REMOVE_CORNER(C)
|
||||
|
||||
@@ -239,19 +239,19 @@
|
||||
LAZYINITLIST(affecting_turfs)
|
||||
var/list/L = turfs - affecting_turfs // New turfs, add us to the affecting lights of them.
|
||||
affecting_turfs += L
|
||||
for (thing in L)
|
||||
for(thing in L)
|
||||
T = thing
|
||||
LAZYADD(T.affecting_lights, src)
|
||||
|
||||
L = affecting_turfs - turfs // Now-gone turfs, remove us from the affecting lights.
|
||||
affecting_turfs -= L
|
||||
for (thing in L)
|
||||
for(thing in L)
|
||||
T = thing
|
||||
LAZYREMOVE(T.affecting_lights, src)
|
||||
|
||||
LAZYINITLIST(effect_str)
|
||||
if(needs_update == LIGHTING_VIS_UPDATE)
|
||||
for (thing in corners - effect_str) // New corners
|
||||
for(thing in corners - effect_str) // New corners
|
||||
C = thing
|
||||
LAZYADD(C.affecting, src)
|
||||
if(!C.active)
|
||||
@@ -260,7 +260,7 @@
|
||||
APPLY_CORNER(C)
|
||||
else
|
||||
L = corners - effect_str
|
||||
for (thing in L) // New corners
|
||||
for(thing in L) // New corners
|
||||
C = thing
|
||||
LAZYADD(C.affecting, src)
|
||||
if(!C.active)
|
||||
@@ -268,7 +268,7 @@
|
||||
continue
|
||||
APPLY_CORNER(C)
|
||||
|
||||
for (thing in corners - L) // Existing corners
|
||||
for(thing in corners - L) // Existing corners
|
||||
C = thing
|
||||
if(!C.active)
|
||||
effect_str[C] = 0
|
||||
@@ -276,7 +276,7 @@
|
||||
APPLY_CORNER(C)
|
||||
|
||||
L = effect_str - corners
|
||||
for (thing in L) // Old, now gone, corners.
|
||||
for(thing in L) // Old, now gone, corners.
|
||||
C = thing
|
||||
REMOVE_CORNER(C)
|
||||
LAZYREMOVE(C.affecting, src)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/turf/proc/reconsider_lights()
|
||||
var/datum/light_source/L
|
||||
var/thing
|
||||
for (thing in affecting_lights)
|
||||
for(thing in affecting_lights)
|
||||
L = thing
|
||||
L.vis_update()
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
var/datum/lighting_corner/C
|
||||
var/thing
|
||||
for (thing in corners)
|
||||
for(thing in corners)
|
||||
if(!thing)
|
||||
continue
|
||||
C = thing
|
||||
@@ -46,12 +46,12 @@
|
||||
var/thing
|
||||
var/datum/lighting_corner/C
|
||||
var/datum/light_source/S
|
||||
for (thing in corners)
|
||||
for(thing in corners)
|
||||
if(!thing)
|
||||
continue
|
||||
C = thing
|
||||
if(!C.active) // We would activate the corner, calculate the lighting for it.
|
||||
for (thing in C.affecting)
|
||||
for(thing in C.affecting)
|
||||
S = thing
|
||||
S.recalc_corner(C)
|
||||
C.active = TRUE
|
||||
@@ -64,7 +64,7 @@
|
||||
var/totallums = 0
|
||||
var/thing
|
||||
var/datum/lighting_corner/L
|
||||
for (thing in corners)
|
||||
for(thing in corners)
|
||||
if(!thing)
|
||||
continue
|
||||
L = thing
|
||||
@@ -90,7 +90,7 @@
|
||||
/turf/proc/recalc_atom_opacity()
|
||||
has_opaque_atom = opacity
|
||||
if(!has_opaque_atom)
|
||||
for (var/atom/A in src.contents) // Loop through every movable atom on our tile PLUS ourselves (we matter too...)
|
||||
for(var/atom/A in src.contents) // Loop through every movable atom on our tile PLUS ourselves (we matter too...)
|
||||
if(A.opacity)
|
||||
has_opaque_atom = TRUE
|
||||
break
|
||||
@@ -117,7 +117,7 @@
|
||||
if(!corners)
|
||||
corners = list(null, null, null, null)
|
||||
|
||||
for (var/i = 1 to 4)
|
||||
for(var/i = 1 to 4)
|
||||
if(corners[i]) // Already have a corner on this direction.
|
||||
continue
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ do { \
|
||||
var/timer = start_watch(); \
|
||||
proc2run ;\
|
||||
log_debug("\[MAZE] Operation '[opname]' on maze at [x],[y],[z] took [stop_watch(timer)]s"); \
|
||||
} while (FALSE)
|
||||
} while(FALSE)
|
||||
|
||||
|
||||
// These defines are used to mark the cells as explored or not
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/mob/dead/Login()
|
||||
. = ..()
|
||||
var/turf/T = get_turf(src)
|
||||
if (isturf(T))
|
||||
if(isturf(T))
|
||||
update_z(T.z)
|
||||
|
||||
/mob/dead/Logout()
|
||||
@@ -11,7 +11,7 @@
|
||||
/mob/dead/forceMove(atom/destination, direction = NONE)
|
||||
var/turf/old_turf = get_turf(src)
|
||||
var/turf/new_turf = get_turf(destination)
|
||||
if (old_turf?.z != new_turf?.z)
|
||||
if(old_turf?.z != new_turf?.z)
|
||||
onTransitZ(old_turf?.z, new_turf?.z)
|
||||
var/oldloc = loc
|
||||
loc = destination
|
||||
@@ -22,11 +22,11 @@
|
||||
update_z(new_z)
|
||||
|
||||
/mob/dead/proc/update_z(new_z) // 1+ to register, null to unregister
|
||||
if (registered_z != new_z)
|
||||
if (registered_z)
|
||||
if(registered_z != new_z)
|
||||
if(registered_z)
|
||||
SSmobs.dead_players_by_zlevel[registered_z] -= src
|
||||
if (client)
|
||||
if (new_z)
|
||||
if(client)
|
||||
if(new_z)
|
||||
SSmobs.dead_players_by_zlevel[new_z] += src
|
||||
registered_z = new_z
|
||||
else
|
||||
|
||||
@@ -369,7 +369,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
H.remove_hud_from(src)
|
||||
|
||||
/mob/dead/observer/proc/set_radiation_view(enabled)
|
||||
if (enabled)
|
||||
if(enabled)
|
||||
seerads = TRUE
|
||||
START_PROCESSING(SSobj, src)
|
||||
else
|
||||
@@ -711,7 +711,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
update_sight()
|
||||
|
||||
/mob/dead/observer/update_sight()
|
||||
if (!ghostvision)
|
||||
if(!ghostvision)
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
else
|
||||
see_invisible = SEE_INVISIBLE_OBSERVER
|
||||
|
||||
@@ -41,7 +41,7 @@ GLOBAL_LIST_INIT(boo_phrases, list(
|
||||
|
||||
if(target.get_spooked())
|
||||
var/area/spook_zone = get_area(target)
|
||||
if (spook_zone.is_haunted == TRUE)
|
||||
if(spook_zone.is_haunted == TRUE)
|
||||
to_chat(usr, "<span class='notice'>The veil is weak in [spook_zone], it took less effort to influence [target].</span>")
|
||||
cooldown_handler.start_recharge(cooldown_handler.recharge_duration / 2)
|
||||
return
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
if(wear_suit.blood_DNA)
|
||||
var/t_suit = "suit"
|
||||
if( istype(wear_suit, /obj/item/clothing/suit/armor) )
|
||||
if(istype(wear_suit, /obj/item/clothing/suit/armor))
|
||||
t_suit = "armor"
|
||||
standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[t_suit]blood")
|
||||
|
||||
|
||||
@@ -1160,7 +1160,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
if(ispill(toEat))
|
||||
to_chat(src, "<span class='notify'>You [toEat.apply_method] [toEat].</span>")
|
||||
else
|
||||
if(toEat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
if(toEat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50)
|
||||
to_chat(src, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
|
||||
return 0
|
||||
if(fullness <= 50)
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
|
||||
msg += "</span>"
|
||||
if(pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
if(findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0)
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\n[p_they(TRUE)] [p_are()] [pose]"
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
var/list/obj/item/organ/external/parts = get_damaged_organs(brute,burn)
|
||||
|
||||
var/update = 0
|
||||
while(parts.len && ( brute > 0 || burn > 0) )
|
||||
while(parts.len && ( brute > 0 || burn > 0))
|
||||
var/obj/item/organ/external/picked = pick(parts)
|
||||
|
||||
var/brute_was = picked.brute_dam
|
||||
@@ -289,7 +289,7 @@
|
||||
var/list/obj/item/organ/external/parts = get_damageable_organs()
|
||||
|
||||
var/update = 0
|
||||
while(parts.len && (brute>0 || burn>0) )
|
||||
while(parts.len && (brute>0 || burn>0))
|
||||
var/obj/item/organ/external/picked = pick(parts)
|
||||
var/brute_per_part = brute/parts.len
|
||||
var/burn_per_part = burn/parts.len
|
||||
|
||||
@@ -748,7 +748,7 @@ emp_act
|
||||
playsound(src, 'sound/effects/space_wind.ogg', 50, TRUE)
|
||||
if(shoes && isclothing(shoes))
|
||||
var/obj/item/clothing/S = shoes
|
||||
if (S.flags & NOSLIP)
|
||||
if(S.flags & NOSLIP)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -1226,7 +1226,7 @@
|
||||
if(include_species_change)
|
||||
set_species(new_dna.species.type, retain_damage = TRUE, transformation = TRUE, keep_missing_bodyparts = TRUE)
|
||||
dna = new_dna.Clone()
|
||||
if (include_species_change) //We have to call this after new_dna.Clone() so that species actions don't get overwritten
|
||||
if(include_species_change) //We have to call this after new_dna.Clone() so that species actions don't get overwritten
|
||||
dna.species.on_species_gain(src)
|
||||
real_name = new_dna.real_name
|
||||
domutcheck(src, MUTCHK_FORCED) //Ensures species that get powers by the species proc handle_dna keep them
|
||||
@@ -1618,7 +1618,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
|
||||
/mob/living/carbon/human/singularity_act()
|
||||
. = 20
|
||||
if(mind)
|
||||
if((mind.assigned_role == "Station Engineer") || (mind.assigned_role == "Chief Engineer") )
|
||||
if((mind.assigned_role == "Station Engineer") || (mind.assigned_role == "Chief Engineer"))
|
||||
. = 100
|
||||
if(mind.assigned_role == "Clown")
|
||||
. = rand(-1000, 1000)
|
||||
|
||||
@@ -582,7 +582,7 @@
|
||||
if(pulledby && moving_diagonally != FIRST_DIAG_STEP && get_dist(src, pulledby) > 1) //seperated from our puller and not in the middle of a diagonal move
|
||||
pulledby.stop_pulling()
|
||||
|
||||
if(s_active && !(s_active in contents) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much.
|
||||
if(s_active && !(s_active in contents) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents) first so we hopefully don't have to call get_turf() so much.
|
||||
s_active.close(src)
|
||||
|
||||
/mob/living/proc/pull_pulled(turf/dest, atom/movable/pullee, movetime)
|
||||
@@ -714,7 +714,7 @@
|
||||
|
||||
if(has_limbs)
|
||||
var/turf/T = get_step(src, angle2dir(dir2angle(direction) + 90))
|
||||
if (T)
|
||||
if(T)
|
||||
turfs_to_check += T
|
||||
|
||||
T = get_step(src, angle2dir(dir2angle(direction) - 90))
|
||||
@@ -1094,9 +1094,9 @@
|
||||
if(client)
|
||||
if(new_z)
|
||||
SSmobs.clients_by_zlevel[new_z] += src
|
||||
for (var/I in length(SSidlenpcpool.idle_mobs_by_zlevel[new_z]) to 1 step -1) //Backwards loop because we're removing (guarantees optimal rather than worst-case performance), it's fine to use .len here but doesn't compile on 511
|
||||
for(var/I in length(SSidlenpcpool.idle_mobs_by_zlevel[new_z]) to 1 step -1) //Backwards loop because we're removing (guarantees optimal rather than worst-case performance), it's fine to use .len here but doesn't compile on 511
|
||||
var/mob/living/simple_animal/SA = SSidlenpcpool.idle_mobs_by_zlevel[new_z][I]
|
||||
if (SA)
|
||||
if(SA)
|
||||
SA.toggle_ai(AI_ON) // Guarantees responsiveness for when appearing right next to mobs
|
||||
else
|
||||
SSidlenpcpool.idle_mobs_by_zlevel[new_z] -= SA
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
message_admins("[src] [ADMIN_FLW(src, "FLW")] has somehow ended up in Z-level [T.z] despite being registered in Z-level [registered_z]. If you could ask them how that happened and notify the coders, it would be appreciated.")
|
||||
log_game("Z-TRACKING: [src] has somehow ended up in Z-level [T.z] despite being registered in Z-level [registered_z].")
|
||||
update_z(T.z)
|
||||
else if (!client && registered_z)
|
||||
else if(!client && registered_z)
|
||||
log_game("Z-TRACKING: [src] of type [src.type] has a Z-registration despite not having a client.")
|
||||
update_z(null)
|
||||
|
||||
|
||||
@@ -380,7 +380,7 @@
|
||||
msg += "\n[print_flavor_text()]"
|
||||
|
||||
if(pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
if(findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0)
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\nIt is [pose]"
|
||||
msg += "\n</span>"
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
// see code\modules\paperwork\paper.dm line 62
|
||||
|
||||
/obj/item/pen/multi/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj)
|
||||
if( !user || !paper )
|
||||
if(!user || !paper)
|
||||
return
|
||||
var/n_name = input(user, "What would you like to label the paper?", "Paper Labelling", null) as text
|
||||
if( !user || !paper )
|
||||
if(!user || !paper)
|
||||
return
|
||||
|
||||
n_name = copytext(n_name, 1, 32)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
/mob/living/silicon/robot/heal_overall_damage(brute, burn, updating_health = TRUE)
|
||||
var/list/datum/robot_component/parts = get_damaged_components(brute, burn)
|
||||
|
||||
while(LAZYLEN(parts) && (brute > 0 || burn > 0) )
|
||||
while(LAZYLEN(parts) && (brute > 0 || burn > 0))
|
||||
var/datum/robot_component/picked = pick(parts)
|
||||
|
||||
var/brute_was = picked.brute_damage
|
||||
@@ -117,7 +117,7 @@
|
||||
A.take_damage(brute, burn, sharp)
|
||||
return
|
||||
|
||||
while(LAZYLEN(parts) && (brute > 0 || burn > 0) )
|
||||
while(LAZYLEN(parts) && (brute > 0 || burn > 0))
|
||||
var/datum/robot_component/picked = pick(parts)
|
||||
|
||||
var/brute_was = picked.brute_damage
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
msg += "\n[print_flavor_text()]\n"
|
||||
|
||||
if(pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
if(findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0)
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\nIt is [pose]"
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
var/obj/machinery/hologram/holopad/T = current
|
||||
if(istype(T) && T.masters[src])
|
||||
var/obj/effect/overlay/holo_pad_hologram/H = T.masters[src]
|
||||
if ((client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) && can_hear())
|
||||
if((client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) && can_hear())
|
||||
var/message = combine_message(message_pieces, null, src)
|
||||
create_chat_message(H, message)
|
||||
for(var/mob/M in hearers(T.loc))//The location is the object, default distance.
|
||||
|
||||
@@ -480,7 +480,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r
|
||||
var/atom/A = scan
|
||||
if(!istype(A, scan_type)) //Check that the thing we found is the type we want!
|
||||
continue //If not, keep searching!
|
||||
if((A.UID() in ignore_list) || (A == old_target) ) //Filter for blacklisted elements, usually unreachable or previously processed oness
|
||||
if((A.UID() in ignore_list) || (A == old_target)) //Filter for blacklisted elements, usually unreachable or previously processed oness
|
||||
continue
|
||||
var/scan_result = process_scan(A) //Some bots may require additional processing when a result is selected.
|
||||
if(scan_result)
|
||||
|
||||
@@ -566,7 +566,7 @@
|
||||
|
||||
/obj/item/griefsky_assembly/attackby(obj/item/I, mob/user, params)
|
||||
..()
|
||||
if((istype(I, /obj/item/melee/energy/sword)) && (build_step < 3 ))
|
||||
if((istype(I, /obj/item/melee/energy/sword)) && (build_step < 3))
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
build_step++
|
||||
@@ -581,7 +581,7 @@
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
else if((istype(I, /obj/item/toy/sword)) && (toy_step < 3 ))
|
||||
else if((istype(I, /obj/item/toy/sword)) && (toy_step < 3))
|
||||
if(!user.unEquip(I))
|
||||
return
|
||||
toy_step++
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
return data
|
||||
|
||||
/mob/living/simple_animal/bot/cleanbot/ui_act(action, params)
|
||||
if (..())
|
||||
if(..())
|
||||
return
|
||||
if(topic_denied(usr))
|
||||
to_chat(usr, "<span class='warning'>[src]'s interface is not responding!</span>")
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
if(created_name == initial(name) || !created_name)
|
||||
if(lasercolor == "b")
|
||||
name = pick("BLUE BALLER","SANIC","BLUE KILLDEATH MURDERBOT")
|
||||
else if (lasercolor == "r")
|
||||
else if(lasercolor == "r")
|
||||
name = pick("RED RAMPAGE","RED ROVER","RED KILLDEATH MURDERBOT")
|
||||
|
||||
/mob/living/simple_animal/bot/ed209/proc/setup_access()
|
||||
@@ -118,7 +118,7 @@
|
||||
return data
|
||||
|
||||
/mob/living/simple_animal/bot/ed209/ui_act(action, params)
|
||||
if (..())
|
||||
if(..())
|
||||
return
|
||||
if(topic_denied(usr))
|
||||
to_chat(usr, "<span class='warning'>[src]'s interface is not responding!</span>")
|
||||
@@ -435,7 +435,7 @@
|
||||
lastfired = world.time
|
||||
var/turf/T = loc
|
||||
var/atom/U = (istype(target, /atom/movable) ? target.loc : target)
|
||||
if((!( U ) || !( T )))
|
||||
if((!U || !T))
|
||||
return
|
||||
while(!isturf(U))
|
||||
U = U.loc
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/griefsky/look_for_perp()
|
||||
anchored = FALSE
|
||||
for (var/mob/living/carbon/C in view(7,src)) //Let's find us a criminal
|
||||
for(var/mob/living/carbon/C in view(7,src)) //Let's find us a criminal
|
||||
if((C.stat) || (C.handcuffed))
|
||||
continue
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
return data
|
||||
|
||||
/mob/living/simple_animal/bot/medbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
if (..())
|
||||
if(..())
|
||||
return
|
||||
if(topic_denied(usr))
|
||||
to_chat(usr, "<span class='warning'>[src]'s interface is not responding!</span>")
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
return data
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/ui_act(action, params)
|
||||
if (..())
|
||||
if(..())
|
||||
return
|
||||
if(topic_denied(usr))
|
||||
to_chat(usr, "<span class='warning'>[src]'s interface is not responding!</span>")
|
||||
@@ -330,7 +330,7 @@
|
||||
|
||||
if(BOT_PREP_ARREST) // preparing to arrest target
|
||||
// see if he got away. If he's no no longer adjacent or inside a closet or about to get up, we hunt again.
|
||||
if( !Adjacent(target) || !isturf(target.loc) || world.time - target.stam_regen_start_time < 4 SECONDS && target.getStaminaLoss() <= 100)
|
||||
if(!Adjacent(target) || !isturf(target.loc) || world.time - target.stam_regen_start_time < 4 SECONDS && target.getStaminaLoss() <= 100)
|
||||
back_to_hunt()
|
||||
return
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc)))
|
||||
movement_target = null
|
||||
stop_automated_movement = FALSE
|
||||
if( !movement_target || !(movement_target.loc in oview(src, 3)) )
|
||||
if(!movement_target || !(movement_target.loc in oview(src, 3)))
|
||||
movement_target = null
|
||||
stop_automated_movement = FALSE
|
||||
for(var/mob/living/simple_animal/mouse/snack in oview(src,3))
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
var/static/list/cardinal_sidestep_directions = list(-90, -45, 0, 45, 90)
|
||||
var/static/list/diagonal_sidestep_directions = list(-45, 0, 45)
|
||||
var/chosen_dir = 0
|
||||
if (target_dir & (target_dir - 1))
|
||||
if(target_dir & (target_dir - 1))
|
||||
chosen_dir = pick(diagonal_sidestep_directions)
|
||||
else
|
||||
chosen_dir = pick(cardinal_sidestep_directions)
|
||||
@@ -392,7 +392,7 @@
|
||||
ranged_cooldown = world.time + ranged_cooldown_time
|
||||
|
||||
/mob/living/simple_animal/hostile/proc/Shoot(atom/targeted_atom)
|
||||
if( QDELETED(targeted_atom) || targeted_atom == targets_from.loc || targeted_atom == targets_from )
|
||||
if(QDELETED(targeted_atom) || targeted_atom == targets_from.loc || targeted_atom == targets_from)
|
||||
return
|
||||
var/turf/startloc = get_turf(targets_from)
|
||||
if(casingtype)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
if(isliving(the_target))
|
||||
var/mob/living/L = the_target
|
||||
|
||||
if (!faction_check_mob(L) && attack_same == 2)
|
||||
if(!faction_check_mob(L) && attack_same == 2)
|
||||
return FALSE
|
||||
if(L.stat > stat_attack)
|
||||
return FALSE
|
||||
|
||||
@@ -67,14 +67,14 @@
|
||||
if(A == src)
|
||||
if(score > 0)
|
||||
new /obj/effect/temp_visual/heart(T) // heart symbol, I am safe here, protected by a friendly spider
|
||||
else if (score == 0)
|
||||
else if(score == 0)
|
||||
new /obj/effect/temp_visual/heal(T) // white "+" symbol, I am neutral here
|
||||
else
|
||||
new /obj/effect/temp_visual/at_shield(T) // octagon symbol, I am unsafe here, I need to flee
|
||||
else
|
||||
if(score > 0)
|
||||
new /obj/effect/temp_visual/telekinesis(T) // blue sparks, this is a safe area, I want to go here
|
||||
else if (score == 0)
|
||||
else if(score == 0)
|
||||
new /obj/effect/temp_visual/revenant(T) // purple sparks, this is a neutral area, an acceptable choice
|
||||
else
|
||||
new /obj/effect/temp_visual/cult/sparks(T) // red sparks, this is an unsafe area, I won't go here unless fleeing something worse
|
||||
|
||||
@@ -107,8 +107,8 @@
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/venus_human_trap/OpenFire(atom/the_target)
|
||||
for(var/turf/T in get_line(src,target))
|
||||
if (T.density)
|
||||
for(var/turf/T in get_line(src, target))
|
||||
if(T.density)
|
||||
return
|
||||
for(var/obj/O in T)
|
||||
if(O.density)
|
||||
|
||||
@@ -147,8 +147,8 @@
|
||||
else
|
||||
..()
|
||||
|
||||
if( possessed_item.loc != src )
|
||||
if ( isturf(possessed_item.loc) ) // If we've, say, placed the possessed item on the table move onto the table ourselves instead and put it back inside of us.
|
||||
if(possessed_item.loc != src)
|
||||
if(isturf(possessed_item.loc)) // If we've, say, placed the possessed item on the table move onto the table ourselves instead and put it back inside of us.
|
||||
forceMove(possessed_item.loc)
|
||||
possessed_item.forceMove(src)
|
||||
else // If we're inside a toolbox or something, we are inside the item rather than the item inside us. This is so people can see the item in the toolbox.
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
nest = null
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if (T && AIStatus == AI_Z_OFF)
|
||||
if(T && AIStatus == AI_Z_OFF)
|
||||
SSidlenpcpool.idle_mobs_by_zlevel[T.z] -= src
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
return
|
||||
|
||||
var/hungry = 0
|
||||
if (nutrition < get_starve_nutrition())
|
||||
if(nutrition < get_starve_nutrition())
|
||||
hungry = 2
|
||||
else if (nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition())
|
||||
else if(nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition())
|
||||
hungry = 1
|
||||
|
||||
AIproc = TRUE
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
if(Target)
|
||||
--target_patience
|
||||
if (target_patience <= 0 || SStun > world.time || Discipline || attacked || docile) // Tired of chasing or something draws out attention
|
||||
if(target_patience <= 0 || SStun > world.time || Discipline || attacked || docile) // Tired of chasing or something draws out attention
|
||||
target_patience = 0
|
||||
Target = null
|
||||
|
||||
@@ -287,9 +287,9 @@
|
||||
|
||||
var/hungry = 0 // determines if the slime is hungry
|
||||
|
||||
if (nutrition < get_starve_nutrition())
|
||||
if(nutrition < get_starve_nutrition())
|
||||
hungry = 2
|
||||
else if (nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition())
|
||||
else if(nutrition < get_grow_nutrition() && prob(25) || nutrition < get_hunger_nutrition())
|
||||
hungry = 1
|
||||
|
||||
if(!Target)
|
||||
@@ -333,7 +333,7 @@
|
||||
Target = C
|
||||
break
|
||||
|
||||
if (Target)
|
||||
if(Target)
|
||||
target_patience = rand(5, 7)
|
||||
if(is_adult)
|
||||
target_patience += 3
|
||||
@@ -352,20 +352,20 @@
|
||||
|
||||
/mob/living/simple_animal/slime/proc/handle_mood()
|
||||
var/newmood = ""
|
||||
if (rabid || attacked)
|
||||
if(rabid || attacked)
|
||||
newmood = "angry"
|
||||
else if (docile)
|
||||
else if(docile)
|
||||
newmood = ":3"
|
||||
else if (Target)
|
||||
else if(Target)
|
||||
newmood = "mischievous"
|
||||
|
||||
if (!newmood)
|
||||
if (Discipline && prob(25))
|
||||
if(!newmood)
|
||||
if(Discipline && prob(25))
|
||||
newmood = "pout"
|
||||
else if (prob(1))
|
||||
else if(prob(1))
|
||||
newmood = pick("sad", ":3", "pout")
|
||||
|
||||
if ((mood == "sad" || mood == ":3" || mood == "pout") && !newmood)
|
||||
if((mood == "sad" || mood == ":3" || mood == "pout") && !newmood)
|
||||
if(prob(75))
|
||||
newmood = mood
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
for(var/mob/living/L in view(7,src))
|
||||
if(isslime(L) && L != src)
|
||||
++slimes_near
|
||||
if (L.stat == DEAD)
|
||||
if(L.stat == DEAD)
|
||||
++dead_slimes
|
||||
if(nutrition < get_hunger_nutrition())
|
||||
t += 10
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
if(prob(probab))
|
||||
if(istype(O, /obj/structure/window) || istype(O, /obj/structure/grille))
|
||||
if(nutrition <= get_hunger_nutrition() && !Atkcool)
|
||||
if (is_adult || prob(5))
|
||||
if(is_adult || prob(5))
|
||||
O.attack_slime(src)
|
||||
Atkcool = TRUE
|
||||
addtimer(VARSET_CALLBACK(src, Atkcool, FALSE), 4.5 SECONDS)
|
||||
@@ -403,7 +403,7 @@
|
||||
. += "<span class='deadsay'>It appears to be alive but unresponsive.</span>"
|
||||
if(getBruteLoss())
|
||||
. += "<span class='warning'>"
|
||||
if (getBruteLoss() < 40)
|
||||
if(getBruteLoss() < 40)
|
||||
. += "It has some punctures in its flesh!"
|
||||
else
|
||||
. += "<B>It has severe punctures and tears in its flesh!</B>"
|
||||
|
||||
+25
-25
@@ -110,13 +110,13 @@
|
||||
|
||||
if(type)
|
||||
if(type & EMOTE_VISIBLE && !has_vision(information_only=TRUE))//Vision related
|
||||
if(!(alt))
|
||||
if(!alt)
|
||||
return
|
||||
else
|
||||
msg = alt
|
||||
type = alt_type
|
||||
if(type & EMOTE_AUDIBLE && !can_hear())//Hearing related
|
||||
if(!( alt ))
|
||||
if(!alt)
|
||||
return
|
||||
else
|
||||
msg = alt
|
||||
@@ -353,13 +353,13 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_WEAR_MASK)
|
||||
if( !(slot_flags & SLOT_FLAG_MASK) )
|
||||
if(!(slot_flags & SLOT_FLAG_MASK))
|
||||
return 0
|
||||
if(H.wear_mask)
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_BACK)
|
||||
if( !(slot_flags & SLOT_FLAG_BACK) )
|
||||
if(!(slot_flags & SLOT_FLAG_BACK))
|
||||
return 0
|
||||
if(H.back)
|
||||
if(!(H.back.flags & NODROP))
|
||||
@@ -368,7 +368,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_OUTER_SUIT)
|
||||
if( !(slot_flags & SLOT_FLAG_OCLOTHING) )
|
||||
if(!(slot_flags & SLOT_FLAG_OCLOTHING))
|
||||
return 0
|
||||
if(H.wear_suit)
|
||||
if(!(H.wear_suit.flags & NODROP))
|
||||
@@ -377,7 +377,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_GLOVES)
|
||||
if( !(slot_flags & SLOT_FLAG_GLOVES) )
|
||||
if(!(slot_flags & SLOT_FLAG_GLOVES))
|
||||
return 0
|
||||
if(H.gloves)
|
||||
if(!(H.gloves.flags & NODROP))
|
||||
@@ -386,7 +386,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_SHOES)
|
||||
if( !(slot_flags & SLOT_FLAG_FEET) )
|
||||
if(!(slot_flags & SLOT_FLAG_FEET))
|
||||
return 0
|
||||
if(H.shoes)
|
||||
if(!(H.shoes.flags & NODROP))
|
||||
@@ -399,7 +399,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
if(!disable_warning)
|
||||
to_chat(H, "<span class='warning'>You need a jumpsuit before you can attach this [name].</span>")
|
||||
return 0
|
||||
if( !(slot_flags & SLOT_FLAG_BELT) )
|
||||
if(!(slot_flags & SLOT_FLAG_BELT))
|
||||
return 0
|
||||
if(H.belt)
|
||||
if(!(H.belt.flags & NODROP))
|
||||
@@ -408,7 +408,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_GLASSES)
|
||||
if( !(slot_flags & SLOT_FLAG_EYES) )
|
||||
if(!(slot_flags & SLOT_FLAG_EYES))
|
||||
return 0
|
||||
if(H.glasses)
|
||||
if(!(H.glasses.flags & NODROP))
|
||||
@@ -417,7 +417,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_HEAD)
|
||||
if( !(slot_flags & SLOT_FLAG_HEAD) )
|
||||
if(!(slot_flags & SLOT_FLAG_HEAD))
|
||||
return 0
|
||||
if(H.head)
|
||||
if(!(H.head.flags & NODROP))
|
||||
@@ -426,7 +426,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_LEFT_EAR)
|
||||
if( !(slot_flags & SLOT_HUD_LEFT_EAR) )
|
||||
if(!(slot_flags & SLOT_HUD_LEFT_EAR))
|
||||
return 0
|
||||
if(H.l_ear)
|
||||
if(!(H.l_ear.flags & NODROP))
|
||||
@@ -435,7 +435,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_RIGHT_EAR)
|
||||
if( !(slot_flags & SLOT_HUD_RIGHT_EAR) )
|
||||
if(!(slot_flags & SLOT_HUD_RIGHT_EAR))
|
||||
return 0
|
||||
if(H.r_ear)
|
||||
if(!(H.r_ear.flags & NODROP))
|
||||
@@ -444,7 +444,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
return 0
|
||||
return 1
|
||||
if(SLOT_HUD_JUMPSUIT)
|
||||
if( !(slot_flags & SLOT_FLAG_ICLOTHING) )
|
||||
if(!(slot_flags & SLOT_FLAG_ICLOTHING))
|
||||
return 0
|
||||
if(H.w_uniform)
|
||||
if(!(H.w_uniform.flags & NODROP))
|
||||
@@ -457,7 +457,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
if(!disable_warning)
|
||||
to_chat(H, "<span class='warning'>You need a jumpsuit before you can attach this [name].</span>")
|
||||
return 0
|
||||
if( !(slot_flags & SLOT_FLAG_ID) )
|
||||
if(!(slot_flags & SLOT_FLAG_ID))
|
||||
return 0
|
||||
if(H.wear_id)
|
||||
if(!(H.wear_id.flags & NODROP))
|
||||
@@ -472,7 +472,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
if(!disable_warning)
|
||||
to_chat(H, "<span class='warning'>You need a jumpsuit before you can attach this [name].</span>")
|
||||
return 0
|
||||
if( w_class <= WEIGHT_CLASS_SMALL || (slot_flags & SLOT_FLAG_POCKET) )
|
||||
if(w_class <= WEIGHT_CLASS_SMALL || (slot_flags & SLOT_FLAG_POCKET))
|
||||
return 1
|
||||
if(SLOT_HUD_RIGHT_STORE)
|
||||
if(H.r_store)
|
||||
@@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
if(!disable_warning)
|
||||
to_chat(H, "<span class='warning'>You need a jumpsuit before you can attach this [name].</span>")
|
||||
return 0
|
||||
if( w_class <= WEIGHT_CLASS_SMALL || (slot_flags & SLOT_FLAG_POCKET) )
|
||||
if(w_class <= WEIGHT_CLASS_SMALL || (slot_flags & SLOT_FLAG_POCKET))
|
||||
return 1
|
||||
return 0
|
||||
if(SLOT_HUD_SUIT_STORE)
|
||||
@@ -497,7 +497,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
if(!disable_warning)
|
||||
to_chat(usr, "The [name] is too big to attach.")
|
||||
return 0
|
||||
if( istype(src, /obj/item/pda) || is_pen(src) || is_type_in_list(src, H.wear_suit.allowed) )
|
||||
if(istype(src, /obj/item/pda) || is_pen(src) || is_type_in_list(src, H.wear_suit.allowed))
|
||||
if(H.s_store)
|
||||
if(!(H.s_store.flags & NODROP))
|
||||
return 2
|
||||
@@ -643,29 +643,29 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
to_chat(src, chat_box_examine(result.Join("\n")))
|
||||
|
||||
/mob/proc/ret_grab(obj/effect/list_container/mobl/L as obj, flag)
|
||||
if((!( istype(l_hand, /obj/item/grab) ) && !( istype(r_hand, /obj/item/grab) )))
|
||||
if(!( L ))
|
||||
if((!istype(l_hand, /obj/item/grab) && !istype(r_hand, /obj/item/grab)))
|
||||
if(!L)
|
||||
return null
|
||||
else
|
||||
return L.container
|
||||
else
|
||||
if(!( L ))
|
||||
if(!L)
|
||||
L = new /obj/effect/list_container/mobl( null )
|
||||
L.container += src
|
||||
L.master = src
|
||||
if(istype(l_hand, /obj/item/grab))
|
||||
var/obj/item/grab/G = l_hand
|
||||
if(!( L.container.Find(G.affecting) ))
|
||||
if(!L.container.Find(G.affecting))
|
||||
L.container += G.affecting
|
||||
if(G.affecting)
|
||||
G.affecting.ret_grab(L, 1)
|
||||
if(istype(r_hand, /obj/item/grab))
|
||||
var/obj/item/grab/G = r_hand
|
||||
if(!( L.container.Find(G.affecting) ))
|
||||
if(!L.container.Find(G.affecting))
|
||||
L.container += G.affecting
|
||||
if(G.affecting)
|
||||
G.affecting.ret_grab(L, 1)
|
||||
if(!( flag ))
|
||||
if(!flag)
|
||||
if(L.master == src)
|
||||
var/list/temp = list( )
|
||||
temp += L.container
|
||||
@@ -1548,7 +1548,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
/mob/proc/show_rads(range)
|
||||
for(var/turf/place in range(range, src))
|
||||
var/rads = SSradiation.get_turf_radiation(place)
|
||||
if (rads < RAD_BACKGROUND_RADIATION)
|
||||
if(rads < RAD_BACKGROUND_RADIATION)
|
||||
continue
|
||||
|
||||
var/strength = round(rads / 1000, 0.1)
|
||||
@@ -1606,7 +1606,7 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list(
|
||||
/world/proc/invoke_callback_with_usr(mob/user_mob, datum/callback/invoked_callback, ...)
|
||||
var/temp = usr
|
||||
usr = user_mob
|
||||
if (length(args) > 2)
|
||||
if(length(args) > 2)
|
||||
. = invoked_callback.Invoke(arglist(args.Copy(3)))
|
||||
else
|
||||
. = invoked_callback.Invoke()
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
var/input = ""
|
||||
if(!message && !client)
|
||||
CRASH("An empty custom emote was called from a client-less mob.")
|
||||
else if (!message)
|
||||
else if(!message)
|
||||
input = sanitize(copytext(input(src,"Choose an emote to display.") as text|null, 1, MAX_MESSAGE_LEN))
|
||||
else
|
||||
input = message
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
return 0
|
||||
|
||||
if(affecting)
|
||||
if(!isturf(assailant.loc) || ( !isturf(affecting.loc) || assailant.loc != affecting.loc && get_dist(assailant, affecting) > 1) )
|
||||
if(!isturf(assailant.loc) || ( !isturf(affecting.loc) || assailant.loc != affecting.loc && get_dist(assailant, affecting) > 1))
|
||||
qdel(src)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -632,7 +632,7 @@ GLOBAL_LIST_INIT(intents, list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM
|
||||
var/search_pda = 1
|
||||
|
||||
for(var/A in searching)
|
||||
if( search_id && istype(A,/obj/item/card/id) )
|
||||
if(search_id && istype(A,/obj/item/card/id))
|
||||
var/obj/item/card/id/ID = A
|
||||
if(ID.registered_name == oldname)
|
||||
ID.registered_name = newname
|
||||
@@ -641,7 +641,7 @@ GLOBAL_LIST_INIT(intents, list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM
|
||||
if(!search_pda) break
|
||||
search_id = 0
|
||||
|
||||
else if( search_pda && istype(A,/obj/item/pda) )
|
||||
else if(search_pda && istype(A,/obj/item/pda))
|
||||
var/obj/item/pda/PDA = A
|
||||
if(PDA.owner == oldname)
|
||||
PDA.owner = newname
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
if(istext(new_type))
|
||||
new_type = text2path(new_type)
|
||||
|
||||
if( !ispath(new_type) )
|
||||
if(!ispath(new_type))
|
||||
to_chat(usr, "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder.")
|
||||
return
|
||||
|
||||
if( new_type == /mob/new_player )
|
||||
if(new_type == /mob/new_player)
|
||||
to_chat(usr, "<span class='warning'>cannot convert into a new_player mob type.</span>")
|
||||
return
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
qdel(M)
|
||||
return
|
||||
|
||||
if( istext(new_name) )
|
||||
if(istext(new_name))
|
||||
M.name = new_name
|
||||
M.real_name = new_name
|
||||
else
|
||||
|
||||
@@ -514,7 +514,7 @@
|
||||
// Redirect
|
||||
screen = NEWSCASTER_CHANNEL
|
||||
viewing_channel = FC
|
||||
else if (id == "manage_channel") // Channel management
|
||||
else if(id == "manage_channel") // Channel management
|
||||
FC = locateUID(arguments["uid"])
|
||||
if(!FC || !FC.can_modify(usr, get_scanned_user(usr)["name"]))
|
||||
return
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
if(pin_text)
|
||||
input_element = usr.mind.initial_account.account_pin
|
||||
topic_href_write(id, input_element)
|
||||
if(href_list["write"] )
|
||||
if(href_list["write"])
|
||||
var/id = href_list["write"]
|
||||
var/input_element = input("Enter what you want to write:", "Write", null, null) as message
|
||||
topic_href_write(id, input_element)
|
||||
@@ -442,7 +442,7 @@
|
||||
to_chat(user, "<span class='warning'>You don't know how to write!</span>")
|
||||
|
||||
else if(istype(P, /obj/item/stamp))
|
||||
if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/clipboard) ) && loc.loc != user && user.get_active_hand() != P))
|
||||
if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/clipboard)) && loc.loc != user && user.get_active_hand() != P))
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/stamp/clown))
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
W = photocopy(W, bundled = TRUE)
|
||||
if(use_toner && W)
|
||||
toner -= 5
|
||||
if (!W)
|
||||
if(!W)
|
||||
break
|
||||
W.forceMove(P)
|
||||
P.amount++
|
||||
|
||||
@@ -132,10 +132,10 @@
|
||||
|
||||
if(ishuman(usr))
|
||||
var/mob/M = usr
|
||||
if(!( istype(over_object, /obj/screen) ))
|
||||
if(!istype(over_object, /obj/screen))
|
||||
return ..()
|
||||
playsound(loc, "rustle", 50, 1, -5)
|
||||
if((!( M.restrained() ) && !( M.stat ) && M.back == src))
|
||||
if((!M.restrained() && !M.stat && M.back == src))
|
||||
switch(over_object.name)
|
||||
if("r_hand")
|
||||
M.unEquip(src)
|
||||
|
||||
@@ -107,7 +107,7 @@ GLOBAL_LIST_EMPTY(PDAs)
|
||||
var/mob/M = loc
|
||||
if(M.incapacitated())
|
||||
return 0
|
||||
if((src in M.contents) || ( isturf(loc) && in_range(src, M) ))
|
||||
if((src in M.contents) || (isturf(loc) && in_range(src, M)))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
var/mutable_appearance/pointed_atom_appearance = new(pointed_atom.appearance)
|
||||
|
||||
var/hover_outline_index = pointed_atom.get_filter("hover_outline")
|
||||
if (!isnull(hover_outline_index))
|
||||
if(!isnull(hover_outline_index))
|
||||
pointed_atom_appearance.filters.Cut(hover_outline_index, hover_outline_index + 1)
|
||||
|
||||
create_point_bubble(pointed_atom_appearance, include_arrow)
|
||||
|
||||
@@ -286,7 +286,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
|
||||
for(var/obj/structure/cable/LC in T) // check to make sure there's no matching cable
|
||||
if(LC == C) // skip the cable we're interacting with
|
||||
continue
|
||||
if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no cable matches either direction
|
||||
if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1)) // make sure no cable matches either direction
|
||||
to_chat(user, "<span class='warning'>There's already a cable at that position!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -121,6 +121,6 @@
|
||||
else if(istype(power_source, /datum/regional_powernet))
|
||||
var/drained_power = drained_energy/GLOB.CELLRATE //convert from "joules" to "watts"
|
||||
PN.queued_power_demand += (min(drained_power, max(PN.queued_power_production - PN.queued_power_demand, 0)))
|
||||
else if (istype(power_source, /obj/item/stock_parts/cell))
|
||||
else if(istype(power_source, /obj/item/stock_parts/cell))
|
||||
cell.use(drained_energy)
|
||||
return drained_energy
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
|
||||
output_used -= excess
|
||||
|
||||
if(clev != chargedisplay() ) //if needed updates the icons overlay
|
||||
if(clev != chargedisplay()) //if needed updates the icons overlay
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
if(!user)
|
||||
break
|
||||
if(!issilicon(user))
|
||||
if( i>1 && !(src in get_both_hands(user))) //for burst firing
|
||||
if(i>1 && !(src in get_both_hands(user))) //for burst firing
|
||||
break
|
||||
if(chambered)
|
||||
sprd = round((pick(0.5, -0.5)) * (randomized_gun_spread + randomized_bonus_spread))
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
for(var/turf/T in (orange(i, epicenter) - orange(i-1, epicenter)))
|
||||
turflist |= T
|
||||
for(var/turf/T in turflist)
|
||||
if( !(get_dir(T,epicenter) in GLOB.cardinal) && (abs(T.x - epicenter.x) == abs(T.y - epicenter.y) ))
|
||||
if(!(get_dir(T,epicenter) in GLOB.cardinal) && (abs(T.x - epicenter.x) == abs(T.y - epicenter.y)))
|
||||
turflist.Remove(T)
|
||||
turflist.Add(T) // we move the purely diagonal turfs to the end of the list.
|
||||
for(var/turf/T in turflist)
|
||||
|
||||
@@ -348,13 +348,13 @@
|
||||
SStgui.update_uis(src)
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/is_allowed(obj/item/reagent_containers/O)
|
||||
for (var/i in blend_items)
|
||||
for(var/i in blend_items)
|
||||
if(istype(O, i))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/get_allowed_by_id(obj/item/O)
|
||||
for (var/i in blend_items)
|
||||
for(var/i in blend_items)
|
||||
if(istype(O, i))
|
||||
return blend_items[i]
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
SStgui.update_uis(src)
|
||||
|
||||
//Snacks
|
||||
for (var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
for(var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
|
||||
@@ -413,7 +413,7 @@
|
||||
if(isnull(allowed))
|
||||
break
|
||||
|
||||
for (var/r_id in allowed)
|
||||
for(var/r_id in allowed)
|
||||
|
||||
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
|
||||
var/amount = get_juice_amount(O)
|
||||
@@ -443,7 +443,7 @@
|
||||
SStgui.update_uis(src)
|
||||
|
||||
//Snacks and Plants
|
||||
for (var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
for(var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
|
||||
@@ -451,7 +451,7 @@
|
||||
if(isnull(allowed))
|
||||
break
|
||||
|
||||
for (var/r_id in allowed)
|
||||
for(var/r_id in allowed)
|
||||
|
||||
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
|
||||
var/amount = allowed[r_id]
|
||||
@@ -482,7 +482,7 @@
|
||||
remove_object(O)
|
||||
|
||||
//Sheets and rods(!)
|
||||
for (var/obj/item/stack/O in holdingitems)
|
||||
for(var/obj/item/stack/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
|
||||
@@ -495,7 +495,7 @@
|
||||
if(!space) //if no free space - exit
|
||||
break
|
||||
O.amount -= 1 //remove one from stack
|
||||
for (var/r_id in allowed)
|
||||
for(var/r_id in allowed)
|
||||
var/spaceused = min(allowed[r_id] * efficiency, space)
|
||||
space -= spaceused
|
||||
beaker.reagents.add_reagent(r_id, spaceused)
|
||||
@@ -504,11 +504,11 @@
|
||||
break
|
||||
|
||||
//Plants
|
||||
for (var/obj/item/grown/O in holdingitems)
|
||||
for(var/obj/item/grown/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
var/allowed = get_allowed_by_id(O)
|
||||
for (var/r_id in allowed)
|
||||
for(var/r_id in allowed)
|
||||
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
|
||||
var/amount = allowed[r_id]
|
||||
if(amount == 0)
|
||||
@@ -522,7 +522,7 @@
|
||||
remove_object(O)
|
||||
|
||||
//Slime Extractis
|
||||
for (var/obj/item/slime_extract/O in holdingitems)
|
||||
for(var/obj/item/slime_extract/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
|
||||
@@ -534,7 +534,7 @@
|
||||
remove_object(O)
|
||||
|
||||
//Everything else - Transfers reagents from it into beaker
|
||||
for (var/obj/item/reagent_containers/O in holdingitems)
|
||||
for(var/obj/item/reagent_containers/O in holdingitems)
|
||||
if(beaker.reagents.holder_full())
|
||||
break
|
||||
var/amount = O.reagents.total_volume
|
||||
|
||||
@@ -222,14 +222,14 @@
|
||||
var/mouth_covered = 0
|
||||
var/eyes_covered = 0
|
||||
var/obj/item/safe_thing = null
|
||||
if( victim.wear_mask )
|
||||
if(victim.wear_mask)
|
||||
if(victim.wear_mask.flags_cover & MASKCOVERSEYES)
|
||||
eyes_covered = 1
|
||||
safe_thing = victim.wear_mask
|
||||
if(victim.wear_mask.flags_cover & MASKCOVERSMOUTH)
|
||||
mouth_covered = 1
|
||||
safe_thing = victim.wear_mask
|
||||
if( victim.head )
|
||||
if(victim.head)
|
||||
if(victim.head.flags_cover & MASKCOVERSEYES)
|
||||
eyes_covered = 1
|
||||
safe_thing = victim.head
|
||||
@@ -238,12 +238,12 @@
|
||||
safe_thing = victim.head
|
||||
if(victim.glasses)
|
||||
eyes_covered = 1
|
||||
if( !safe_thing )
|
||||
if(!safe_thing)
|
||||
safe_thing = victim.glasses
|
||||
if( eyes_covered && mouth_covered )
|
||||
if(eyes_covered && mouth_covered)
|
||||
to_chat(victim, "<span class='danger'>Your [safe_thing] protects you from the pepperspray!</span>")
|
||||
return
|
||||
else if( mouth_covered ) // Reduced effects if partially protected
|
||||
else if(mouth_covered) // Reduced effects if partially protected
|
||||
to_chat(victim, "<span class='danger'>Your [safe_thing] protect you from most of the pepperspray!</span>")
|
||||
if(prob(5))
|
||||
victim.emote("scream")
|
||||
@@ -254,7 +254,7 @@
|
||||
victim.Weaken(6 SECONDS)
|
||||
victim.drop_item()
|
||||
return
|
||||
else if( eyes_covered ) // Eye cover is better than mouth cover
|
||||
else if(eyes_covered) // Eye cover is better than mouth cover
|
||||
to_chat(victim, "<span class='danger'>Your [safe_thing] protects your eyes from the pepperspray!</span>")
|
||||
victim.EyeBlurry(6 SECONDS)
|
||||
victim.damageoverlaytemp = 30
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
if(H.glasses)
|
||||
safe_thing = H.glasses
|
||||
if(H.wear_mask )
|
||||
if(H.wear_mask)
|
||||
if(H.wear_mask.flags_cover & MASKCOVERSEYES)
|
||||
safe_thing = H.wear_mask
|
||||
if(H.head)
|
||||
|
||||
@@ -210,7 +210,7 @@ GLOBAL_LIST_INIT(conveyor_switches, list())
|
||||
return
|
||||
|
||||
var/move_time = 0
|
||||
if (slow_factor>1) // yes, 1 is special
|
||||
if(slow_factor>1) // yes, 1 is special
|
||||
move_time=CEILING(slow_factor, 2) // yes.
|
||||
AM.Move(get_step(loc, forwards), forwards, move_time)
|
||||
|
||||
@@ -390,7 +390,7 @@ GLOBAL_LIST_INIT(conveyor_switches, list())
|
||||
switch(action)
|
||||
if("slowFactor")
|
||||
var/value = text2num(params["value"])
|
||||
if (value!=null)
|
||||
if(value!=null)
|
||||
slow_factor = clamp(value, 1, 50)
|
||||
if("toggleOneWay")
|
||||
if(position != DIRECTION_REVERSED) // If you want to forbid reversing - stop using reverse first!
|
||||
|
||||
@@ -400,8 +400,8 @@
|
||||
return
|
||||
|
||||
flush_count++
|
||||
if( flush_count >= flush_every_ticks )
|
||||
if( contents.len )
|
||||
if(flush_count >= flush_every_ticks)
|
||||
if(contents.len)
|
||||
if(mode == 2)
|
||||
spawn(0)
|
||||
flush()
|
||||
@@ -409,7 +409,7 @@
|
||||
|
||||
src.updateDialog()
|
||||
|
||||
if(flush && air_contents.return_pressure() >= SEND_PRESSURE ) // flush can happen even without power
|
||||
if(flush && air_contents.return_pressure() >= SEND_PRESSURE) // flush can happen even without power
|
||||
flush()
|
||||
|
||||
if(stat & NOPOWER) // won't charge if no power
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
return FALSE
|
||||
D.init_welded = C.welded
|
||||
C.welded = TRUE
|
||||
else if (target.GetComponent(/datum/component/two_handed))
|
||||
else if(target.GetComponent(/datum/component/two_handed))
|
||||
to_chat(user, "<span class='notice'>[target] is too unwieldy to wrap effectively.</span>")
|
||||
return FALSE
|
||||
else
|
||||
|
||||
@@ -732,7 +732,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
var/is_lathe = istype(machine, /obj/machinery/r_n_d/protolathe)
|
||||
var/is_imprinter = istype(machine, /obj/machinery/r_n_d/circuit_imprinter)
|
||||
|
||||
if (!is_lathe && !is_imprinter)
|
||||
if(!is_lathe && !is_imprinter)
|
||||
return
|
||||
|
||||
var/coeff = machine.efficiency_coeff
|
||||
|
||||
@@ -110,7 +110,7 @@ research holder datum.
|
||||
known_tech[T.id] = T
|
||||
|
||||
/datum/research/proc/CanAddDesign2Known(datum/design/D)
|
||||
if (D.id in known_designs)
|
||||
if(D.id in known_designs)
|
||||
return FALSE
|
||||
if(D.id in blacklisted_designs)
|
||||
return FALSE
|
||||
|
||||
@@ -58,8 +58,8 @@
|
||||
|
||||
/obj/structure/weightmachine/stacklifter/AnimateMachine(mob/living/user)
|
||||
var/lifts = 0
|
||||
while (lifts++ < 6)
|
||||
if (user.loc != src.loc)
|
||||
while(lifts++ < 6)
|
||||
if(user.loc != src.loc)
|
||||
break
|
||||
sleep(3)
|
||||
animate(user, pixel_y = -2, time = 3)
|
||||
@@ -78,10 +78,10 @@
|
||||
add_overlay(swole_overlay)
|
||||
var/reps = 0
|
||||
user.pixel_y = 5
|
||||
while (reps++ < 6)
|
||||
if (user.loc != src.loc)
|
||||
while(reps++ < 6)
|
||||
if(user.loc != src.loc)
|
||||
break
|
||||
for (var/innerReps = max(reps, 1), innerReps > 0, innerReps--)
|
||||
for(var/innerReps = max(reps, 1), innerReps > 0, innerReps--)
|
||||
sleep(3)
|
||||
animate(user, pixel_y = (user.pixel_y == 3) ? 5 : 3, time = 3)
|
||||
playsound(user, 'sound/goonstation/effects/spring.ogg', 60, 1)
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget()
|
||||
if(!designating_target_loc || !current_user || (eyeobj.loc != designating_target_loc) || (stat & (NOPOWER|BROKEN)) )
|
||||
if(!designating_target_loc || !current_user || (eyeobj.loc != designating_target_loc) || (stat & (NOPOWER|BROKEN)))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user