stop this nonsense

This commit is contained in:
SandPoot
2024-01-05 00:28:56 -03:00
parent 05e2cc0979
commit c7a2565255
487 changed files with 1662 additions and 1662 deletions
+1 -1
View File
@@ -173,7 +173,7 @@
AH.Resolve() //with prejudice
if(banned_client && banned_client.ckey == ckey)
qdel(banned_client)
return 1
return TRUE
/datum/admins/proc/DB_ban_unban(ckey, bantype, job = "")
+12 -12
View File
@@ -7,7 +7,7 @@ GLOBAL_PROTECT(Banlist)
if(!GLOB.Banlist) // if Banlist cannot be located for some reason
LoadBans() // try to load the bans
if(!GLOB.Banlist) // uh oh, can't find bans!
return 0 // ABORT ABORT ABORT
return FALSE // ABORT ABORT ABORT
. = list()
var/appeal
@@ -20,7 +20,7 @@ GLOBAL_PROTECT(Banlist)
if (GLOB.Banlist["temp"])
if (!GetExp(GLOB.Banlist["minutes"]))
ClearTempbans()
return 0
return FALSE
else
.["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]"
else
@@ -47,18 +47,18 @@ GLOBAL_PROTECT(Banlist)
if(GLOB.Banlist["temp"])
if (!GetExp(GLOB.Banlist["minutes"]))
ClearTempbans()
return 0
return FALSE
else
.["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]"
else
.["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: <B>PERMENANT</B>\nBy: [GLOB.Banlist["bannedby"]] during round ID [GLOB.Banlist["roundid"]][appeal]"
.["reason"] = matches
return .
return 0
return FALSE
/proc/UpdateTime() //No idea why i made this a proc.
GLOB.CMinutes = (world.realtime / 10) / 60
return 1
return TRUE
/proc/LoadBans()
if(!CONFIG_GET(flag/ban_legacy_system))
@@ -78,7 +78,7 @@ GLOBAL_PROTECT(Banlist)
GLOB.Banlist.cd = "/base"
ClearTempbans()
return 1
return TRUE
/proc/ClearTempbans()
UpdateTime()
@@ -97,7 +97,7 @@ GLOBAL_PROTECT(Banlist)
if (GLOB.CMinutes >= GLOB.Banlist["minutes"])
RemoveBan(A)
return 1
return TRUE
/proc/AddBan(key, computerid, reason, bannedby, temp, minutes, address)
@@ -111,7 +111,7 @@ GLOBAL_PROTECT(Banlist)
GLOB.Banlist.cd = "/base"
if ( GLOB.Banlist.dir.Find("[ban_ckey][computerid]") )
to_chat(usr, text("<span class='danger'>Ban already exists.</span>"))
return 0
return FALSE
else
GLOB.Banlist.dir.Add("[ban_ckey][computerid]")
GLOB.Banlist.cd = "/base/[ban_ckey][computerid]"
@@ -128,7 +128,7 @@ GLOBAL_PROTECT(Banlist)
create_message("note", key, bannedby, "Permanently banned - [reason]", null, null, 0, 0, null, 0, 0)
else
create_message("note", key, bannedby, "Banned for [minutes] minutes - [reason]", null, null, 0, 0, null, 0, 0)
return 1
return TRUE
/proc/RemoveBan(foldername)
var/key
@@ -140,7 +140,7 @@ GLOBAL_PROTECT(Banlist)
GLOB.Banlist.cd = "/base"
if (!GLOB.Banlist.dir.Remove(foldername))
return 0
return FALSE
if(!usr)
log_admin_private("Ban Expired: [key]")
@@ -157,13 +157,13 @@ GLOBAL_PROTECT(Banlist)
GLOB.Banlist.dir.Remove(A)
continue
return 1
return TRUE
/proc/GetExp(minutes as num)
UpdateTime()
var/exp = minutes - GLOB.CMinutes
if (exp <= 0)
return 0
return FALSE
else
var/timeleftstring
if (exp >= 1440) //1440 = 1 day in minutes
+2 -2
View File
@@ -29,7 +29,7 @@
if ("Instant Runoff Voting")
polltype = POLLTYPE_IRV
else
return 0
return FALSE
var/starttime = SQLtime()
var/endtime = input("Set end time for poll as format YYYY-MM-DD HH:MM:SS. All times in server time. HH:MM:SS is optional and 24-hour. Must be later than starting time for obvious reasons.", "Set end time", SQLtime()) as text
if(!endtime)
@@ -117,7 +117,7 @@
if("Finish")
add_option = 0
else
return 0
return FALSE
var/m1 = "[key_name(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"] - Question: [question]"
var/m2 = "[key_name_admin(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"]<br>Question: [question]"
var/datum/db_query/query_polladd_question = SSdbcore.NewQuery({"
+13 -13
View File
@@ -140,21 +140,21 @@ GLOBAL_PROTECT(href_token)
/datum/admins/proc/check_for_rights(rights_required)
if(rights_required && !(rights_required & rank.rights))
return 0
return 1
return FALSE
return TRUE
/datum/admins/proc/check_if_greater_rights_than_holder(datum/admins/other)
if(!other)
return 1 //they have no rights
return TRUE //they have no rights
if(rank.rights == R_EVERYTHING)
return 1 //we have all the rights
return TRUE //we have all the rights
if(src == other)
return 1 //you always have more rights than yourself
return TRUE //you always have more rights than yourself
if(rank.rights != other.rank.rights)
if( (rank.rights & other.rank.rights) == other.rank.rights )
return 1 //we have all the rights they have and more
return 0
return TRUE //we have all the rights they have and more
return FALSE
/datum/admins/vv_edit_var(var_name, var_value)
if(var_name == NAMEOF(src, fakekey))
@@ -164,7 +164,7 @@ GLOBAL_PROTECT(href_token)
/*
checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags)
if rights_required == 0, then it simply checks if they are an admin.
if it doesn't return 1 and show_msg=1 it will prints a message explaining why the check has failed
if it doesn't return TRUE and show_msg=1 it will prints a message explaining why the check has failed
generally it would be used like so:
/proc/admin_proc()
@@ -178,26 +178,26 @@ you will have to do something like if(client.rights & R_ADMIN) yourself.
/proc/check_rights(rights_required, show_msg=1)
if(usr && usr.client)
if (check_rights_for(usr.client, rights_required))
return 1
return TRUE
else
if(show_msg)
to_chat(usr, "<font color='red'>Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].</font>")
return 0
return FALSE
//probably a bit iffy - will hopefully figure out a better solution
/proc/check_if_greater_rights_than(client/other)
if(usr && usr.client)
if(usr.client.holder)
if(!other || !other.holder)
return 1
return TRUE
return usr.client.holder.check_if_greater_rights_than_holder(other.holder)
return 0
return FALSE
//This proc checks whether subject has at least ONE of the rights specified in rights_required.
/proc/check_rights_for(client/subject, rights_required)
if(subject && subject.holder)
return subject.holder.check_for_rights(rights_required)
return 0
return FALSE
/proc/GenerateToken()
. = ""
+4 -4
View File
@@ -1026,7 +1026,7 @@
to_chat(M, "<span class='boldannounce'>The reason is: [reason]</span>")
to_chat(M, "<span class='danger'>This jobban will be lifted in [mins] minutes.</span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return TRUE
if("No")
var/reason = input(usr,"Please State Reason For Banning [M.key].","Reason") as message|null
severity = input("Set the severity of the note/ban.", "Severity", null, null) as null|anything in list("High", "Medium", "Minor", "None")
@@ -1052,7 +1052,7 @@
to_chat(M, "<span class='boldannounce'>The reason is: [reason]</span>")
to_chat(M, "<span class='danger'>Jobban can be lifted only upon request.</span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return TRUE
if("Cancel")
return
@@ -1081,8 +1081,8 @@
message_admins("<span class='adminnotice'>[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg].</span>")
to_chat(M, "<span class='boldannounce'><BIG>You have been un-jobbanned by [usr.client.key] from [msg].</BIG></span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return 0 //we didn't do anything!
return TRUE
return FALSE //we didn't do anything!
else if(href_list["boot2"])
if(!check_rights(R_ADMIN))
+2 -2
View File
@@ -89,11 +89,11 @@
available.Add(C)
var/mob/choice = input("Choose a player to play the pAI", "Spawn pAI") in available
if(!choice)
return 0
return FALSE
if(!isobserver(choice))
var/confirm = input("[choice.key] isn't ghosting right now. Are you sure you want to yank him out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", "No") in list("Yes", "No")
if(confirm != "Yes")
return 0
return FALSE
var/obj/item/paicard/card = new(T)
var/mob/living/silicon/pai/pai = new(card)
pai.name = input(choice, "Enter your pAI name:", "pAI Name", "Personal AI") as text
+2 -2
View File
@@ -65,7 +65,7 @@ GLOBAL_PROTECT(admin_verbs_debug_mapping)
icon_state = "yellow"
/obj/effect/debugging/marker/Move()
return 0
return FALSE
/client/proc/camera_view()
set category = "Mapping"
@@ -111,7 +111,7 @@ GLOBAL_LIST_EMPTY(dirty_vars)
if(!Master)
alert(usr,"Master_controller not found.","Sec Camera Report")
return 0
return FALSE
var/list/obj/machinery/camera/CL = list()
+15 -15
View File
@@ -70,10 +70,10 @@
H.mind.make_Traitor()
candidates.Remove(H)
return 1
return TRUE
return 0
return FALSE
/datum/admins/proc/makeChangelings()
@@ -102,9 +102,9 @@
H.mind.make_Changeling()
candidates.Remove(H)
return 1
return TRUE
return 0
return FALSE
/datum/admins/proc/makeRevs()
@@ -131,9 +131,9 @@
H = pick(candidates)
H.mind.make_Rev()
candidates.Remove(H)
return 1
return TRUE
return 0
return FALSE
/datum/admins/proc/makeWizard()
@@ -171,9 +171,9 @@
H.mind.make_Cultist()
candidates.Remove(H)
return 1
return TRUE
return 0
return FALSE
/datum/admins/proc/makeClockCult()
@@ -206,9 +206,9 @@
SSticker.mode.equip_servant(H)
candidates.Remove(H)
return 1
return TRUE
return 0
return FALSE
@@ -236,7 +236,7 @@
break
//Making sure we have atleast 3 Nuke agents, because less than that is kinda bad
if(agentcount < 3)
return 0
return FALSE
//Let's find the spawn locations
var/leader_chosen = FALSE
@@ -249,9 +249,9 @@
nuke_team = N.nuke_team
else
new_character.mind.add_antag_datum(/datum/antagonist/nukeop,nuke_team)
return 1
return TRUE
else
return 0
return FALSE
@@ -451,8 +451,8 @@
//Abductors
/datum/admins/proc/makeAbductorTeam()
new /datum/round_event/ghost_role/abductor
return 1
return TRUE
/datum/admins/proc/makeRevenant()
new /datum/round_event/ghost_role/revenant(TRUE, TRUE)
return 1
return TRUE
+3 -3
View File
@@ -300,7 +300,7 @@
else
to_chat(usr, "<span class='danger'>Error: create_xeno(): no suitable candidates.</span>")
if(!istext(ckey))
return 0
return FALSE
var/alien_caste = input(usr, "Please choose which caste to spawn.","Pick a caste",null) as null|anything in list("Queen","Praetorian","Hunter","Sentinel","Drone","Larva")
var/obj/effect/landmark/spawn_here = GLOB.xeno_spawn.len ? pick(GLOB.xeno_spawn) : null
@@ -319,7 +319,7 @@
if("Larva")
new_xeno = new /mob/living/carbon/alien/larva(spawn_here)
else
return 0
return FALSE
if(!spawn_here)
SSjob.SendToLateJoin(new_xeno, FALSE)
@@ -327,7 +327,7 @@
var/msg = "<span class='notice'>[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].</span>"
message_admins(msg)
admin_ticket_log(new_xeno, msg)
return 1
return TRUE
/*
If a guy was gibbed and you want to revive him, this is a good way to do so.
@@ -449,7 +449,7 @@ GLOBAL_LIST_EMPTY(antagonists)
antag_memory = new_memo
/**
* Gets how fast we can hijack the shuttle, return 0 for can not hijack.
* Gets how fast we can hijack the shuttle, return FALSE for can not hijack.
* Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
*/
/datum/antagonist/proc/hijack_speed()
@@ -50,7 +50,7 @@
if(H.stat || H.restrained())
return
if(!ishuman(H))
return 1
return TRUE
if(loc == H || (in_range(src, H) && isturf(loc)))
H.set_machine(src)
@@ -61,7 +61,7 @@
/datum/station_state/proc/score(datum/station_state/result)
if(!result)
return 0
return FALSE
var/output = 0
output += (result.floor / max(floor,1))
output += (result.r_wall/ max(r_wall,1))
@@ -53,7 +53,7 @@
/mob/living/simple_animal/hostile/blob/Process_Spacemove(movement_dir = 0)
for(var/obj/structure/blob/B in range(1, src))
return 1
return TRUE
return ..()
/mob/living/simple_animal/hostile/blob/proc/blob_chat(msg)
@@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
return
/datum/blobstrain/proc/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this
return 1 //return 0 to ignore damage
return TRUE //return FALSE to ignore damage
/datum/blobstrain/proc/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this
return
@@ -29,5 +29,5 @@
/datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
return 0 //the dead, and blob mobs, don't cause reactions
return FALSE //the dead, and blob mobs, don't cause reactions
return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume.
@@ -23,7 +23,7 @@
if(!(C && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) && prob(80))
new /obj/effect/hotspot(T)
if(damage_flag == FIRE)
return 0
return FALSE
return ..()
/datum/reagent/blob/blazing_oil
@@ -15,7 +15,7 @@
return ..()
/datum/blobstrain/reagent/energized_jelly/tesla_reaction(obj/structure/blob/B, power)
return 0
return FALSE
/datum/blobstrain/reagent/energized_jelly/emp_reaction(obj/structure/blob/B, severity)
var/damage = rand(30, 50) - severity * rand(10, 15)
@@ -13,7 +13,7 @@
/datum/blobstrain/reagent/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
if(damage_flag == BOMB)
return 0
return FALSE
else if(damage_flag != MELEE && damage_flag != BULLET && damage_flag != LASER)
return damage * 1.5
return ..()
@@ -29,7 +29,7 @@
for (var/datum/blobstrain/bt in blobstrains)
. += bt.tesla_reaction(B, power, coefficient*typeshare)
if (prob(. / length(blobstrains) * 100))
return 1
return TRUE
/datum/blobstrain/multiplex/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this
for (var/datum/blobstrain/bt in blobstrains)
@@ -26,5 +26,5 @@
/datum/reagent/blob/reactive_spines/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
return 0 //the dead, and blob mobs, don't cause reactions
return FALSE //the dead, and blob mobs, don't cause reactions
M.adjustBruteLoss(0.8*reac_volume)
@@ -264,13 +264,13 @@ GLOBAL_LIST_EMPTY(blob_nodes)
if(B)
forceMove(NewLoc)
else
return 0
return FALSE
else
var/area/A = get_area(NewLoc)
if(isspaceturf(NewLoc) || istype(A, /area/shuttle)) //if unplaced, can't go on shuttles or space tiles
return 0
return FALSE
forceMove(NewLoc)
return 1
return TRUE
/mob/camera/blob/mind_initialize()
. = ..()
+10 -10
View File
@@ -1,15 +1,15 @@
/mob/camera/blob/proc/can_buy(cost = 15)
if(blob_points < cost)
to_chat(src, "<span class='warning'>You cannot afford this, you need at least [cost] resources!</span>")
return 0
return FALSE
add_points(-cost)
return 1
return TRUE
// Power verbs
/mob/camera/blob/proc/place_blob_core(placement_override, pop_override = FALSE)
if(placed && placement_override != -1)
return 1
return TRUE
if(!placement_override)
if(!pop_override)
for(var/mob/living/M in range(7, src))
@@ -17,30 +17,30 @@
continue
if(M.client)
to_chat(src, "<span class='warning'>There is someone too close to place your blob core!</span>")
return 0
return FALSE
for(var/mob/living/M in view(13, src))
if(ROLE_BLOB in M.faction)
continue
if(M.client)
to_chat(src, "<span class='warning'>Someone could see your blob core from here!</span>")
return 0
return FALSE
var/turf/T = get_turf(src)
if(T.density)
to_chat(src, "<span class='warning'>This spot is too dense to place a blob core on!</span>")
return 0
return FALSE
for(var/obj/O in T)
if(istype(O, /obj/structure/blob))
if(istype(O, /obj/structure/blob/normal))
qdel(O)
else
to_chat(src, "<span class='warning'>There is already a blob here!</span>")
return 0
return FALSE
else if(O.density)
to_chat(src, "<span class='warning'>This spot is too dense to place a blob core on!</span>")
return 0
return FALSE
if(!pop_override && world.time <= manualplace_min_time && world.time <= autoplace_max_time)
to_chat(src, "<span class='warning'>It is too early to place your blob core!</span>")
return 0
return FALSE
else if(placement_override == 1)
var/turf/T = pick(GLOB.blobstart)
forceMove(T) //got overrided? you're somewhere random, motherfucker
@@ -54,7 +54,7 @@
core.update_icon()
update_health_hud()
placed = 1
return 1
return TRUE
/mob/camera/blob/verb/transport_core()
set category = "Blob"
@@ -123,8 +123,8 @@
heal_timestamp = world.time + 20
update_icon()
pulse_timestamp = world.time + 10
return 1 //we did it, we were pulsed!
return 0 //oh no we failed
return TRUE //we did it, we were pulsed!
return FALSE //oh no we failed
/obj/structure/blob/proc/ConsumeTile()
for(var/atom/A in loc)
@@ -157,7 +157,7 @@
else
T = null
if(!T)
return 0
return FALSE
var/make_blob = TRUE //can we make a blob?
if(isspaceturf(T) && !(locate(/obj/structure/lattice) in T) && prob(80))
@@ -271,7 +271,7 @@
damage_amount *= fire_resist
if(CLONE)
else
return 0
return FALSE
var/armor_protection = 0
if(damage_flag)
armor_protection = armor.getRating(damage_flag)
@@ -33,7 +33,7 @@
/obj/item/organ/heart/vampheart/Restart()
beating = 0 // DONT run ..(). We don't want to start beating again.
return 0
return FALSE
/obj/item/organ/heart/vampheart/Stop()
fakingit = 0
@@ -122,7 +122,7 @@
update_icon()
//to_chat(user, "<span class='notice'>You flip a secret latch and unlock [src].</span>") // Don't bother. We know it's unlocked.
locked = FALSE
return 1
return TRUE
else
playsound(get_turf(src), 'sound/machines/door_locked.ogg', 20, 1)
to_chat(user, "<span class='notice'>[src] is locked tight from the inside.</span>")
@@ -229,10 +229,10 @@
playsound(get_turf(owner.current), 'sound/effects/lingreadapt.ogg', 75, TRUE, 5)
can_respec = 0
SSblackbox.record_feedback("tally", "changeling_power_purchase", 1, "Readapt")
return 1
return TRUE
else
to_chat(owner.current, "<span class='danger'>You lack the power to readapt your evolutions!</span>")
return 0
return FALSE
//Called in life()
/datum/antagonist/changeling/proc/regenerate()//grants the HuD in life.dm
@@ -285,7 +285,7 @@
if(verbose)
to_chat(user, "<span class='warning'>[target] is not compatible with our biology.</span>")
return
return 1
return TRUE
/datum/antagonist/changeling/proc/create_profile(mob/living/carbon/human/H, protect = 0)
@@ -47,10 +47,10 @@ the same goes for Remove(). if you override Remove(), call parent or else your p
/datum/action/changeling/proc/sting_action(mob/user, mob/target)
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return 0
return FALSE
/datum/action/changeling/proc/sting_feedback(mob/user, mob/target)
return 0
return FALSE
//Fairly important to remember to return TRUE on success >.<
@@ -94,7 +94,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank)
if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it.
to_chat(user, "<span class='warning'>We have reached our capacity to store genetic information! We must transform before absorbing more.</span>")
return
return 1
return TRUE
/datum/action/changeling/hivemind_download/sting_action(mob/user)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
@@ -13,7 +13,7 @@
if(!chosen_prof)
return
if(!user || user.mob_transforming)
return 0
return FALSE
to_chat(user, "<span class='notice'>We transform our appearance.</span>")
changeling.purchasedpowers -= src
@@ -40,7 +40,7 @@
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
changeling.chem_recharge_slowdown -= recharge_slowdown
user.update_inv_hands()
return 1
return TRUE
/datum/action/changeling/weapon/sting_action(mob/living/user)
var/obj/item/held = user.get_active_held_item()
@@ -597,7 +597,7 @@
/datum/action/changeling/gloves/proc/check_gloves(mob/user)
var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
if(!ishuman(user) || !changeling)
return 1
return TRUE
var/mob/living/carbon/human/H = user
if(istype(H.gloves, glove_type))
H.visible_message("<span class='warning'>With a sickening crunch, [H] reforms [H.p_their()] [glove_name_simple] into hands!</span>", "<span class='warning'>We assimilate our [glove_name_simple].</span>", "<span class='italics'>You hear organic matter ripping and tearing!</span>")
@@ -609,7 +609,7 @@
playsound(H.loc, 'sound/effects/splat.ogg', 50, 1) //So real sounds
changeling.chem_recharge_slowdown -= recharge_slowdown
return 1
return TRUE
/datum/action/changeling/gloves/Remove(mob/user)
if(!ishuman(user))
@@ -53,7 +53,7 @@
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling))
sting_feedback(user, target)
changeling.chem_charges -= chemical_cost
return 1
return TRUE
/datum/action/changeling/sting/sting_feedback(mob/user, mob/target)
if(!target)
@@ -61,7 +61,7 @@
to_chat(user, "<span class='notice'>We stealthily sting [target.name].</span>")
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling))
to_chat(target, "<span class='warning'>You feel a tiny prick.</span>")
return 1
return TRUE
/datum/action/changeling/sting/transformation
@@ -94,8 +94,8 @@
return
if((HAS_TRAIT(target, TRAIT_HUSK)) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits))
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return 0
return 1
return FALSE
return TRUE
/datum/action/changeling/sting/transformation/sting_action(mob/user, mob/target)
if(ismonkey(target))
@@ -133,8 +133,8 @@
var/mob/living/L = target
if((HAS_TRAIT(L, TRAIT_HUSK)) || !L.has_dna())
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return 0
return 1
return FALSE
return TRUE
/datum/action/changeling/sting/false_armblade/sting_action(mob/user, mob/target)
log_combat(user, target, "stung", object="false armblade sting")
@@ -21,7 +21,7 @@
return ..()
user.visible_message("<span class='warning'>[user] scatters [src] with [I]!</span>", "<span class='danger'>You scatter [src] with [I]!</span>")
qdel(src)
return 1
return TRUE
return ..()
/obj/effect/clockwork/sigil/attack_tk(mob/user)
@@ -16,22 +16,22 @@ drain_amount: How much is drained by default; Influenced by a multiplier on most
var/obj/item/stock_parts/cell/cell = get_cell()
if(cell)
return cell.power_drain(clockcult_user, drain_weapons, recursive, drain_amount)
return 0 //Returns 0 instead of FALSE to symbolise it returning the power amount in other cases, not TRUE aka 1
return FALSE //Returns 0 instead of FALSE to symbolise it returning the power amount in other cases, not TRUE aka 1
/obj/item/melee/baton/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER) //balance memes
if(!drain_weapons)
return 0
return FALSE
var/obj/item/stock_parts/cell/cell = get_cell()
if(cell)
return cell.power_drain(clockcult_user, drain_weapons, recursive, drain_amount)
return 0 //No need to recurse further in batons
return FALSE //No need to recurse further in batons
/obj/item/gun/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER) //balance memes
if(!drain_weapons)
return 0
return FALSE
var/obj/item/stock_parts/cell/cell = get_cell()
if(!cell)
return 0
return FALSE
if(cell.charge)
. = min(cell.charge, drain_amount*4) //Done snowflakey because guns have far smaller cells than batons / other equipment, also no need to recurse further in guns
cell.use(.)
@@ -25,7 +25,7 @@
/obj/item/shield/riot/ratvarian/proc/calc_bash_mult()
var/bash_mult = 0
if(!dam_absorbed)
return 1
return TRUE
else
bash_mult += round(clamp(1 + (dam_absorbed / bash_mult_steps), 1, max_bash_mult), 0.1) //Multiplies the effect of bashes by up to [max_bash_mult], though never less than one
return bash_mult
@@ -55,7 +55,7 @@
/obj/item/clothing/head/helmet/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return FALSE
return ..()
/obj/item/clothing/suit/armor/clockwork
@@ -100,7 +100,7 @@
/obj/item/clothing/suit/armor/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return FALSE
return ..()
/obj/item/clothing/suit/armor/clockwork/equipped(mob/living/user, slot)
@@ -160,7 +160,7 @@
/obj/item/clothing/gloves/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return FALSE
return ..()
/obj/item/clothing/gloves/clockwork/equipped(mob/living/user, slot)
@@ -210,7 +210,7 @@
/obj/item/clothing/shoes/clockwork/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(equipper && !is_servant_of_ratvar(equipper))
return 0
return FALSE
return ..()
/obj/item/clothing/shoes/clockwork/equipped(mob/living/user, slot)
@@ -29,7 +29,7 @@
/obj/item/clothing/glasses/judicial_visor/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot != ITEM_SLOT_EYES)
return 0
return FALSE
return ..()
/obj/item/clothing/glasses/judicial_visor/equipped(mob/living/user, slot)
@@ -38,7 +38,7 @@
update_status(FALSE)
if(blaster.ranged_ability_user)
blaster.remove_ranged_ability()
return 0
return FALSE
if(is_servant_of_ratvar(user))
update_status(TRUE)
else
@@ -48,7 +48,7 @@
to_chat(user, "<span class='userdanger'>You suddenly catch fire!</span>")
user.adjust_fire_stacks(5)
user.IgniteMob()
return 1
return TRUE
/obj/item/clothing/glasses/judicial_visor/dropped(mob/user)
. = ..()
@@ -67,27 +67,27 @@
/obj/item/clothing/glasses/judicial_visor/proc/update_status(change_to)
if(recharging || !isliving(loc))
icon_state = "judicial_visor_0"
return 0
return FALSE
if(active == change_to)
return 0
return FALSE
var/mob/living/L = loc
active = change_to
icon_state = "judicial_visor_[active]"
L.update_action_buttons_icon()
L.update_inv_glasses()
if(!is_servant_of_ratvar(L) || L.stat)
return 0
return FALSE
switch(active)
if(TRUE)
to_chat(L, "<span class='notice'>As you put on [src], its lens begins to glow, information flashing before your eyes.</span>\n\
<span class='heavy_brass'>Judicial visor active. Use the action button to gain the ability to smite the unworthy.</span>")
if(FALSE)
to_chat(L, "<span class='notice'>As you take off [src], its lens darkens once more.</span>")
return 1
return TRUE
/obj/item/clothing/glasses/judicial_visor/proc/recharge_visor(mob/living/user)
if(!src)
return 0
return FALSE
recharging = FALSE
if(user && src == user.get_item_by_slot(ITEM_SLOT_EYES))
to_chat(user, "<span class='brass'>Your [name] hums. It is ready.</span>")
@@ -23,7 +23,7 @@
/obj/item/clockwork/replica_fabricator/scarab/fabricate(atom/target, mob/living/user)
if(!debug && !isdrone(user))
return 0
return FALSE
return ..()
/obj/item/clockwork/replica_fabricator/scarab/debug
@@ -38,7 +38,7 @@
fully_heal(TRUE)
/mob/living/simple_animal/hostile/clockwork/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE)
return 0 //ouch, my metal-unlikely-to-be-damaged-by-electricity-body
return FALSE //ouch, my metal-unlikely-to-be-damaged-by-electricity-body
/mob/living/simple_animal/hostile/clockwork/examine(mob/user)
var/t_He = p_they(TRUE)
@@ -121,7 +121,7 @@
stat(null, "You do [melee_damage_upper] damage on melee attacks.")
/mob/living/simple_animal/hostile/clockwork/guardian/Process_Spacemove(movement_dir = 0)
return 1
return TRUE
/mob/living/simple_animal/hostile/clockwork/guardian/proc/bind_to_host(mob/living/new_host)
if(!new_host)
@@ -93,7 +93,7 @@
if(is_servant_of_ratvar(user) && I.tool_behaviour == TOOL_WRENCH && unanchored_icon)
if(default_unfasten_wrench(user, I, 50) == SUCCESSFUL_UNFASTEN)
update_anchored(user)
return 1
return TRUE
return ..()
/obj/structure/destructible/clockwork/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
@@ -37,7 +37,7 @@
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY) && is_servant_of_ratvar(user))
if(!can_access_clockwork_power(src, mania_cost))
to_chat(user, "<span class='warning'>[src] needs more power to function!</span>")
return 0
return FALSE
toggle(0, user)
/obj/structure/destructible/clockwork/powered/mania_motor/toggle(fast_process, mob/living/user)
@@ -144,10 +144,10 @@
/obj/structure/destructible/clockwork/ocular_warden/proc/lose_target()
if(!target)
return 0
return FALSE
target = null
visible_message("<span class='warning'>[src] settles and seems almost disappointed.</span>")
return 1
return TRUE
/obj/structure/destructible/clockwork/ocular_warden/get_efficiency_mod()
if(GLOB.ratvar_awakens)
@@ -43,19 +43,19 @@
to_chat(user, "<span class='brass'>You break [src] apart, refunding some of the power used.</span>")
adjust_clockwork_power(power_refund)
take_damage(max_integrity)
return 0
return FALSE
if(active)
return 0
return FALSE
var/turf/T = get_turf(src)
if(!T || !is_station_level(T.z))
to_chat(user, "<span class='warning'>[src] must be on the station to function!</span>")
return 0
return FALSE
if(SSshuttle.emergency.mode != SHUTTLE_CALL)
to_chat(user, "<span class='warning'>No emergency shuttles are attempting to arrive at the station!</span>")
return 0
return FALSE
if(!try_use_power(get_delay_cost()))
to_chat(user, "<span class='warning'>[src] needs more power to function!</span>")
return 0
return FALSE
delay_cost += delay_cost_increase
delay_remaining += PRISM_DELAY_DURATION
toggle(0, user)
@@ -25,7 +25,7 @@
/obj/structure/destructible/clockwork/wall_gear/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WRENCH)
default_unfasten_wrench(user, I, 10)
return 1
return TRUE
else if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(anchored)
to_chat(user, "<span class='warning'>[src] needs to be unsecured to disassemble it!</span>")
@@ -34,7 +34,7 @@
if(I.use_tool(src, user, 30, volume=100) && !anchored)
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
deconstruct(TRUE)
return 1
return TRUE
else if(istype(I, /obj/item/stack/tile/brass))
var/obj/item/stack/tile/brass/W = I
if(W.get_amount() < 1)
@@ -64,7 +64,7 @@
qdel(src)
else
to_chat(user, "<span class='warning'>You need more brass to make a [anchored ? "false ":""]wall!</span>")
return 1
return TRUE
return ..()
/obj/structure/destructible/clockwork/wall_gear/deconstruct(disassembled = TRUE)
+1 -1
View File
@@ -108,7 +108,7 @@
var/where = mob.equip_in_one_of_slots(T, slots, critical = TRUE)
if(!where)
to_chat(mob, "<span class='userdanger'>Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).</span>")
return 0
return FALSE
else
to_chat(mob, "<span class='danger'>You have a [item_name] in your [where].</span>")
if(where == "backpack")
+1 -1
View File
@@ -142,7 +142,7 @@
/datum/action/innate/cult/master/IsAvailable(silent = FALSE)
if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie)
return 0
return FALSE
return ..()
/datum/action/innate/cult/master/finalreck
+2 -2
View File
@@ -243,12 +243,12 @@ structure_check() searches for nearby cultist structures required for the invoca
for(var/M in invokers)
to_chat(M, "<span class='warning'>You need at least two invokers to convert [convertee]!</span>")
log_game("Offer rune failed - tried conversion with one invoker")
return 0
return FALSE
if(convertee.anti_magic_check(TRUE, TRUE, chargecost = 0)) //Not major because it can be spammed
for(var/M in invokers)
to_chat(M, "<span class='warning'>Something is shielding [convertee]'s mind!</span>")
log_game("Offer rune failed - convertee had anti-magic")
return 0
return FALSE
var/brutedamage = convertee.getBruteLoss()
var/burndamage = convertee.getFireLoss()
if(brutedamage || burndamage)
+12 -12
View File
@@ -389,43 +389,43 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master",
if(iscarbon(body))
var/mob/living/carbon/H = body
return H.reagents.has_reagent(/datum/reagent/water/holywater)
return 0
return FALSE
if(BANISH_COFFIN)
return (body && istype(body.loc, /obj/structure/closet/crate/coffin))
if(BANISH_FORMALDYHIDE)
if(iscarbon(body))
var/mob/living/carbon/H = body
return H.reagents.has_reagent(/datum/reagent/toxin/formaldehyde)
return 0
return FALSE
if(BANISH_RUNES)
if(body)
for(var/obj/effect/decal/cleanable/crayon/R in range(0,body))
if (R.name == "rune")
return 1
return 0
return TRUE
return FALSE
if(BANISH_CANDLES)
if(body)
var/count = 0
for(var/obj/item/candle/C in range(1,body))
count += C.lit
if(count>=4)
return 1
return 0
return TRUE
return FALSE
if(BANISH_DESTRUCTION)
if(body)
return 0
return 1
return FALSE
return TRUE
if(BANISH_FUNERAL_GARB)
if(ishuman(body))
var/mob/living/carbon/human/H = body
if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/misc/burial))
return 1
return 0
return TRUE
return FALSE
else
for(var/obj/item/clothing/under/misc/burial/B in range(0,body))
if(B.loc == get_turf(B)) //Make sure it's not in someone's inventory or something.
return 1
return 0
return TRUE
return FALSE
/datum/antagonist/devil/proc/hellish_resurrection(mob/living/body)
message_admins("[owner.name] (true name is: [truename]) is resurrecting using hellish energy.</a>")
@@ -35,4 +35,4 @@
DefaultCombatKnockdown(40)
qdel(weapon)
return 2
return 1
return TRUE
@@ -17,9 +17,9 @@
/datum/antagonist/sintouched/threat()
switch(sin)
if(SIN_GLUTTONY,SIN_ENVY)
return 1
return TRUE
else
return 0
return FALSE
/datum/antagonist/sintouched/New()
. = ..()
@@ -84,7 +84,7 @@
. += "</span>"
/mob/living/carbon/true_devil/IsAdvancedToolUser()
return 1
return TRUE
/mob/living/carbon/true_devil/resist_buckle()
if(buckled)
@@ -110,7 +110,7 @@
return ..() //flashes don't stop devils UNLESS it's their bane.
/mob/living/carbon/true_devil/soundbang_act()
return 0
return FALSE
/mob/living/carbon/true_devil/get_ear_protection()
return 2
@@ -124,7 +124,7 @@
/mob/living/carbon/true_devil/singularity_act()
if(ascended)
return 0
return FALSE
return ..()
//ATTACK GHOST IGNORING PARENT RETURN VALUE
@@ -138,7 +138,7 @@
return ..()
/mob/living/carbon/true_devil/can_be_revived()
return 1
return TRUE
/mob/living/carbon/true_devil/resist_fire()
//They're immune to fire.
@@ -177,7 +177,7 @@
// devils do not need to breathe
/mob/living/carbon/true_devil/is_literate()
return 1
return TRUE
/mob/living/carbon/true_devil/ex_act(severity, target, origin)
if(!ascended)
@@ -1,8 +1,8 @@
/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force, invdrop, silent = FALSE)
if(..())
update_inv_hands()
return 1
return 0
return TRUE
return FALSE
/mob/living/carbon/true_devil/update_inv_hands()
//TODO LORDPIDEY: Figure out how to make the hands line up properly. the l/r_hand_overlay should use the down sprite when facing down, left, or right, and the up sprite when facing up.
@@ -175,7 +175,7 @@
//Immunities
/mob/living/simple_animal/revenant/ex_act(severity, target, origin)
return 1 //Immune to the effects of explosions.
return TRUE //Immune to the effects of explosions.
/mob/living/simple_animal/revenant/wave_ex_act(power, datum/wave_explosion/explosion, dir)
return power
@@ -225,7 +225,7 @@
/mob/living/simple_animal/revenant/death()
if(!revealed || stasis) //Revenants cannot die if they aren't revealed //or are already dead
return 0
return FALSE
stasis = TRUE
to_chat(src, "<span class='revendanger'>NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...</span>")
mob_transforming = TRUE
@@ -333,7 +333,7 @@
to_chat(src, "<span class='revennotice'>Gained [essence_amt]E[source ? " from [source]":""].</span>")
else
to_chat(src, "<span class='revenminor'>Lost [essence_amt]E[source ? " from [source]":""].</span>")
return 1
return TRUE
/mob/living/simple_animal/revenant/proc/telekinesis_cooldown_end()
if(!telekinesis_cooldown)
@@ -210,7 +210,7 @@
return ..()
/obj/item/organ/heart/demon/Stop()
return 0 // Always beating.
return FALSE // Always beating.
/mob/living/simple_animal/slaughter/laughter
// The laughter demon! It's everyone's best friend! It just wants to hug
+6 -6
View File
@@ -142,9 +142,9 @@
/mob/living/simple_animal/hostile/swarmer/CanAllowThrough(atom/movable/O)
. = ..()
if(istype(O, /obj/item/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other
return 1
return TRUE
if(isswarmer(O))
return 1
return TRUE
////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S////
/mob/living/simple_animal/hostile/swarmer/AttackingTarget()
@@ -191,11 +191,11 @@
return S.Integrate(src)
/atom/movable/proc/IntegrateAmount()
return 0
return FALSE
/obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item
if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] || custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)])
return 1
return TRUE
return ..()
/obj/item/gun/swarmer_act()//Stops you from eating the entire armory
@@ -217,7 +217,7 @@
return 2
/obj/item/clockwork/alloy_shards/small/IntegrateAmount()
return 1
return TRUE
/turf/open/floor/swarmer_act()//ex_act() on turf calls it on its contents, this is to prevent attacking mobs by DisIntegrate()'ing the floor
return FALSE
@@ -494,7 +494,7 @@
resources -= fabrication_cost
else
to_chat(src, "<span class='warning'>You do not have the necessary resources to fabricate this object.</span>")
return 0
return FALSE
return new fabrication_object(loc)
/mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target)
@@ -13,9 +13,9 @@
/datum/round_event/spawn_swarmer/start()
if(find_swarmer())
return 0
return FALSE
if(!GLOB.the_gateway)
return 0
return FALSE
new /obj/effect/mob_spawn/swarmer(get_turf(GLOB.the_gateway))
if(prob(25)) //25% chance to announce it to the crew
var/swarmer_report = "<span class='big bold'>[command_name()] High-Priority Update</span>"
@@ -26,5 +26,5 @@
for(var/i in GLOB.mob_living_list)
var/mob/living/L = i
if(istype(L, /mob/living/simple_animal/hostile/swarmer) && L.client) //If there is a swarmer with an active client, we've found our swarmer
return 1
return 0
return TRUE
return FALSE
@@ -21,18 +21,18 @@
if(istype(SSticker.mode,/datum/game_mode/dynamic))
var/datum/game_mode/dynamic/mode = SSticker.mode
if(dynamic_requirement > 0 && mode.threat_level < dynamic_requirement)
return 0
return 1
return FALSE
return TRUE
/datum/spellbook_entry/proc/CanBuy(mob/living/carbon/human/user,obj/item/spellbook/book) // Specific circumstances
if(book.uses<cost || limit == 0)
return 0
return FALSE
for(var/spell in user.mind.spell_list)
if(is_type_in_typecache(spell, no_coexistance_typecache))
return 0
return 1
return FALSE
return TRUE
/datum/spellbook_entry/proc/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return 1 on success
/datum/spellbook_entry/proc/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return TRUE on success
if(!S || QDELETED(S))
S = new spell_type()
//Check if we got the spell already
@@ -40,7 +40,7 @@
if(initial(S.name) == initial(aspell.name)) // Not using directly in case it was learned from one spellbook then upgraded in another
if(aspell.spell_level >= aspell.level_max)
to_chat(user, "<span class='warning'>This spell cannot be improved further.</span>")
return 0
return FALSE
else
aspell.name = initial(aspell.name)
aspell.spell_level++
@@ -63,22 +63,22 @@
if(aspell.spell_level >= aspell.level_max)
to_chat(user, "<span class='notice'>This spell cannot be strengthened any further.</span>")
SSblackbox.record_feedback("nested tally", "wizard_spell_improved", 1, list("[name]", "[aspell.spell_level]"))
return 1
return TRUE
//No same spell found - just learn it
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
user.mind.AddSpell(S)
to_chat(user, "<span class='notice'>You have learned [S.name].</span>")
return 1
return TRUE
/datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user,obj/item/spellbook/book)
if(!refundable)
return 0
return FALSE
if(!S)
S = new spell_type()
for(var/obj/effect/proc_holder/spell/aspell in user.mind.spell_list)
if(initial(S.name) == initial(aspell.name))
return 1
return 0
return TRUE
return FALSE
/datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user,obj/item/spellbook/book) //return point value or -1 for failure
var/area/wizard_station/A = GLOB.areas_by_type[/area/wizard_station]
@@ -228,7 +228,7 @@
spell_type = /obj/effect/proc_holder/spell/aimed/lightningbolt
cost = 3
/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return 1 on success
/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) //return TRUE on success
. = ..()
ADD_TRAIT(user, TRAIT_TESLA_SHOCKIMMUNE, "lightning_bolt_spell")
@@ -291,7 +291,7 @@
/datum/spellbook_entry/item/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
new item_path(get_turf(user))
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
return 1
return TRUE
/datum/spellbook_entry/item/GetInfo()
var/dat =""
@@ -520,7 +520,7 @@
/datum/spellbook_entry/summon/guns/IsAvailible()
if(!SSticker.mode) // In case spellbook is placed on map
return 0
return FALSE
return (!CONFIG_GET(flag/no_summon_guns) && ..())
/datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
@@ -529,7 +529,7 @@
active = 1
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
to_chat(user, "<span class='notice'>You have cast summon guns!</span>")
return 1
return TRUE
/datum/spellbook_entry/summon/magic
name = "Summon Magic"
@@ -539,7 +539,7 @@
/datum/spellbook_entry/summon/magic/IsAvailible()
if(!SSticker.mode) // In case spellbook is placed on map
return 0
return FALSE
return (!CONFIG_GET(flag/no_summon_guns) && ..())
/datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
@@ -548,7 +548,7 @@
active = 1
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
to_chat(user, "<span class='notice'>You have cast summon magic!</span>")
return 1
return TRUE
/datum/spellbook_entry/summon/events
name = "Summon Events"
@@ -558,7 +558,7 @@
/datum/spellbook_entry/summon/events/IsAvailible()
if(!SSticker.mode) // In case spellbook is placed on map
return 0
return FALSE
return (!CONFIG_GET(flag/no_summon_events) && ..())
/datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/spellbook/book)
@@ -567,7 +567,7 @@
times++
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, 1)
to_chat(user, "<span class='notice'>You have cast summon events.</span>")
return 1
return TRUE
/datum/spellbook_entry/summon/events/GetInfo()
. = ..()
@@ -755,7 +755,7 @@
if(H.stat || H.restrained())
return
if(!ishuman(H))
return 1
return TRUE
if(H.mind.special_role == "apprentice")
temp = "If you got caught sneaking a peek from your teacher's spellbook, you'd likely be expelled from the Wizard Academy. Better not."
+1 -1
View File
@@ -30,7 +30,7 @@
var/activate_cooldown = 3 SECONDS
/obj/item/assembly/get_part_rating()
return 1
return TRUE
/obj/item/assembly/proc/on_attach()
+1 -1
View File
@@ -61,7 +61,7 @@
/obj/item/assembly/health/proc/toggle_scan()
if(!secured)
return 0
return FALSE
scanning = !scanning
if(scanning)
START_PROCESSING(SSobj, src)
@@ -278,7 +278,7 @@ we use a hook instead
/datum/gas_mixture/copy_from_turf(turf/model)
set_temperature(initial(model.initial_temperature))
parse_gas_string(model.initial_gas_mix)
return 1
return TRUE
/datum/gas_mixture/proc/__auxtools_parse_gas_string(gas_string)
@@ -297,7 +297,7 @@ we use a hook instead
for(var/id in gas)
set_moles(id, text2num(gas[id]))
archive()
return 1
return TRUE
*/
/*
/datum/gas_mixture/react(datum/holder)
@@ -41,7 +41,7 @@
TOTAL_MOLES(cached_gases, .)
. *= R_IDEAL_GAS_EQUATION * temperature / volume
return
return 0
return FALSE
/datum/gas_mixture/return_temperature() //kelvins
return temperature
@@ -91,11 +91,11 @@
/datum/gas_mixture/archive()
temperature_archived = temperature
gas_archive = gases.Copy()
return 1
return TRUE
/datum/gas_mixture/merge(datum/gas_mixture/giver)
if(!giver)
return 0
return FALSE
//heat transfer
if(abs(temperature - giver.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER)
@@ -111,7 +111,7 @@
for(var/giver_id in giver_gases)
cached_gases[giver_id] += giver_gases[giver_id]
return 1
return TRUE
/datum/gas_mixture/remove(amount)
var/sum
@@ -172,7 +172,7 @@
//remove all gases not in the sample
cached_gases &= sample_gases
return 1
return TRUE
/datum/gas_mixture/copy_from_turf(turf/model)
parse_gas_string(model.initial_gas_mix)
@@ -182,7 +182,7 @@
if(model.temperature != initial(model.temperature) || model.temperature != initial(model_parent.temperature))
temperature = model.temperature
return 1
return TRUE
/datum/gas_mixture/share(datum/gas_mixture/sharer, atmos_adjacent_turfs = 4)
@@ -16,10 +16,10 @@
if(min2 != -1 && val <= min2)
return 2
if(max1 != -1 && val >= max1)
return 1
return TRUE
if(min1 != -1 && val <= min1)
return 1
return 0
return TRUE
return FALSE
/datum/tlv/no_checks
min2 = -1
@@ -488,16 +488,16 @@
/obj/machinery/airalarm/proc/shock(mob/user, prb)
if((stat & (NOPOWER))) // unpowered, no shock
return 0
return FALSE
if(!prob(prb))
return 0 //you lucked out, no shock for you
return FALSE //you lucked out, no shock for you
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start() //sparks always.
if (electrocute_mob(user, get_area(src), src, 1, TRUE))
return 1
return TRUE
else
return 0
return FALSE
/obj/machinery/airalarm/proc/refresh_all()
var/area/A = get_base_area(src)
@@ -519,7 +519,7 @@
/obj/machinery/airalarm/proc/send_signal(target, list/command, mob/user)//sends signal 'command' to 'target'. Returns 0 if no radio connection, 1 otherwise
if(!radio_connection)
return 0
return FALSE
var/datum/signal/signal = new(command)
signal.data["tag"] = target
@@ -527,7 +527,7 @@
signal.data["user"] = user
radio_connection.post_signal(src, signal, RADIO_FROM_AIRALARM)
return 1
return TRUE
/obj/machinery/airalarm/proc/get_mode_name(mode_value)
switch(mode_value)
@@ -214,7 +214,7 @@
if(++reagent_transfer >= 10 * efficiency) // Throttle reagent transfer (higher efficiency will transfer the same amount but consume less from the beaker).
reagent_transfer = 0
return 1
return TRUE
/obj/machinery/atmospherics/components/unary/cryo_cell/process_atmos()
..()
@@ -445,7 +445,7 @@
return // can't ventcrawl in or out of cryo.
/obj/machinery/atmospherics/components/unary/cryo_cell/can_see_pipes()
return 0 // you can't see the pipe network when inside a cryo cell.
return FALSE // you can't see the pipe network when inside a cryo cell.
/obj/machinery/atmospherics/components/unary/cryo_cell/return_temperature()
var/datum/gas_mixture/G = airs[1]
@@ -84,7 +84,7 @@
update_parents()
else
active_power_usage = idle_power_usage
return 1
return TRUE
/obj/machinery/atmospherics/components/unary/thermomachine/power_change()
..()
@@ -194,7 +194,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/receive_signal(datum/signal/signal)
if(!is_operational() || !signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command"))
return 0
return FALSE
var/mob/signal_sender = signal.data["user"]
@@ -186,7 +186,7 @@
self_temperature_delta = -heat/total_heat_capacity
sharer_temperature_delta = heat/sharer_heat_capacity
else
return 1
return TRUE
air.set_temperature(air.return_temperature() + self_temperature_delta)
modeled_location.TakeTemperature(sharer_temperature_delta)
@@ -57,18 +57,18 @@
/obj/machinery/meter/process_atmos()
if(!(target?.flags_1 & INITIALIZED_1))
icon_state = "meterX"
return 0
return FALSE
if(stat & (BROKEN|NOPOWER))
icon_state = "meter0"
return 0
return FALSE
use_power(5)
var/datum/gas_mixture/environment = target.return_air()
if(!environment)
icon_state = "meterX"
return 0
return FALSE
var/env_pressure = environment.return_pressure()
if(env_pressure <= 0.15*ONE_ATMOSPHERE)
@@ -76,7 +76,7 @@
parent = P
/obj/machinery/atmospherics/pipe/zap_act(power, zap_flags)
return 0 // they're not really machines in the normal sense, probably shouldn't explode
return FALSE // they're not really machines in the normal sense, probably shouldn't explode
/obj/machinery/atmospherics/pipe/Destroy()
QDEL_NULL(parent)
@@ -110,7 +110,7 @@
/obj/machinery/atmospherics/pipe/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == MELEE && damage_amount < 12)
return 0
return FALSE
. = ..()
/obj/machinery/atmospherics/pipe/proc/paint(paint_color)
@@ -21,7 +21,7 @@
air_contents = new(volume)
air_contents.set_temperature(T20C)
return 1
return TRUE
/obj/machinery/portable_atmospherics/Destroy()
SSair.atmos_machinery -= src
@@ -123,7 +123,7 @@
/datum/mapGeneratorModule/snow/checkPlaceAtom(turf/T)
if(istype(T, /turf/open/floor/plating/asteroid/snow))
return ..(T)
return 0
return FALSE
/datum/mapGeneratorModule/bottomlayer/snow
spawnableTurfs = list(/turf/open/floor/plating/asteroid/snow/atmosphere = 100)
@@ -168,4 +168,4 @@
to_chat(C, "<span class='warning'>You're already resurrecting!</span>")
return
C.apply_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT)
return 1
return TRUE
+1 -1
View File
@@ -136,7 +136,7 @@
build_dir = newdir
close_dirswitch()
dirbutton.update_icon()
return 1
return TRUE
/datum/buildmode/proc/InterceptClickOn(mob/user, params, atom/object)
mode.handle_click(user.client, params, object)
+6 -6
View File
@@ -25,7 +25,7 @@
else if(pa.Find("right"))
bd.mode.change_settings(usr.client)
update_icon()
return 1
return TRUE
/atom/movable/screen/buildmode/mode/update_icon_state()
icon_state = bd.mode.get_button_iconstate()
@@ -37,7 +37,7 @@
/atom/movable/screen/buildmode/help/Click(location, control, params)
bd.mode.show_help(usr.client)
return 1
return TRUE
/atom/movable/screen/buildmode/bdir
icon_state = "build"
@@ -50,7 +50,7 @@
/atom/movable/screen/buildmode/bdir/Click()
bd.toggle_dirswitch()
update_icon()
return 1
return TRUE
// used to switch between modes
/atom/movable/screen/buildmode/modeswitch
@@ -64,7 +64,7 @@
/atom/movable/screen/buildmode/modeswitch/Click()
bd.change_mode(modetype)
return 1
return TRUE
// used to switch between dirs
/atom/movable/screen/buildmode/dirswitch
@@ -77,7 +77,7 @@
/atom/movable/screen/buildmode/dirswitch/Click()
bd.change_dir(dir)
return 1
return TRUE
/atom/movable/screen/buildmode/quit
icon_state = "buildquit"
@@ -86,4 +86,4 @@
/atom/movable/screen/buildmode/quit/Click()
bd.quit()
return 1
return TRUE
+1 -1
View File
@@ -117,7 +117,7 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they
// Checks the amount of exportable in object. Credits in the bill, sheets in the stack, etc.
// Usually acts as a multiplier for a cost, so item that has 0 amount will be skipped in export.
/datum/export/proc/get_amount(obj/O)
return 1
return TRUE
// Checks if the item is fit for export datum.
/datum/export/proc/applies_to(obj/O, allowed_categories = NONE, apply_elastic = TRUE)
+3 -3
View File
@@ -11,12 +11,12 @@
/datum/export/material/get_amount(obj/O)
if(!material_id)
return 0
return FALSE
if(!isitem(O))
return 0
return FALSE
var/obj/item/I = O
if(!(SSmaterials.GetMaterialRef(material_id) in I.custom_materials))
return 0
return FALSE
var/amount = I.custom_materials[SSmaterials.GetMaterialRef(material_id)]
+3 -3
View File
@@ -9,9 +9,9 @@
/datum/export/seed/get_cost(obj/O)
var/obj/item/seeds/S = O
if(!needs_discovery && (S.type in discoveredPlants))
return 0
return FALSE
if(needs_discovery && !(S.type in discoveredPlants))
return 0
return FALSE
return ..() * S.rarity // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later.
/datum/export/seed/sell_object(obj/O)
@@ -31,7 +31,7 @@
var/obj/item/seeds/S = O
var/cost = ..()
if(!cost)
return 0
return FALSE
var/potDiff = (S.potency - discoveredPlants[S.type])
+1 -1
View File
@@ -6,7 +6,7 @@
var/obj/item/stack/S = O
if(istype(S))
return S.amount
return 0
return FALSE
// Hides
+12 -12
View File
@@ -167,8 +167,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
/client/proc/is_content_unlocked()
if(!prefs.unlock_content)
to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! <a href=\"https://secure.byond.com/membership\">Click Here to find out more</a>.")
return 0
return 1
return FALSE
return TRUE
/*
* Call back proc that should be checked in all paths where a client can send messages
*
@@ -199,11 +199,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
total_message_count = 0
total_count_reset = 0
cmd_admin_mute(src, mute_type, 1)
return 1
return TRUE
//Otherwise just supress the message
else if(cache >= SPAM_TRIGGER_AUTOMUTE)
return 1
return TRUE
if(CONFIG_GET(flag/automute_on) && !holder && last_message == message)
@@ -211,21 +211,21 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
to_chat(src, "<span class='danger'>You have exceeded the spam filter limit for identical messages. An auto-mute was applied.</span>")
cmd_admin_mute(src, mute_type, 1)
return 1
return TRUE
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
to_chat(src, "<span class='danger'>You are nearing the spam filter limit for identical messages.</span>")
return 0
return FALSE
else
last_message = message
src.last_message_count = 0
return 0
return FALSE
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
/client/AllowUpload(filename, filelength)
if(filelength > UPLOAD_LIMIT)
to_chat(src, "<font color='red'>Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.</font>")
return 0
return 1
return FALSE
return TRUE
///////////
@@ -393,7 +393,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
to_chat(src, "Because you are an admin, you are being allowed to walk past this limitation, But it is still STRONGLY suggested you upgrade")
else
qdel(src)
return 0
return FALSE
else if (byond_version < cwv) //We have words for this client.
if(CONFIG_GET(flag/client_warn_popup))
var/msg = "<b>Your version of byond may be getting out of date:</b><br>"
@@ -413,11 +413,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
if (!CONFIG_GET(flag/allow_webclient))
to_chat(src, "Web client is disabled")
qdel(src)
return 0
return FALSE
if (CONFIG_GET(flag/webclient_only_byond_members) && !IsByondMember())
to_chat(src, "Sorry, but the web client is restricted to byond members only.")
qdel(src)
return 0
return FALSE
if( (world.address == address || !address) && !GLOB.host )
GLOB.host = key
+3 -3
View File
@@ -1578,7 +1578,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
SetJobPreferenceLevel(job, jpval)
SetChoices(user)
return 1
return TRUE
/datum/preferences/proc/ResetJobs()
@@ -1724,7 +1724,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
UpdateJobPreference(user, href_list["text"], text2num(href_list["level"]))
else
SetChoices(user)
return 1
return TRUE
else if(href_list["preference"] == "trait")
switch(href_list["task"])
@@ -3333,7 +3333,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
user_gear[LOADOUT_CUSTOM_DESCRIPTION] = new_description
ShowChoices(user)
return 1
return TRUE
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, icon_updates = 1, roundstart_checks = TRUE, initial_spawn = FALSE)
if(be_random_name)
+8 -8
View File
@@ -595,18 +595,18 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
/datum/preferences/proc/save_preferences(bypass_cooldown = FALSE, silent = FALSE)
if(!path)
return 0
return FALSE
if(!bypass_cooldown)
if(world.time < saveprefcooldown)
if(istype(parent))
queue_save_pref(PREF_SAVE_COOLDOWN, silent)
return 0
return FALSE
COOLDOWN_START(src, saveprefcooldown, PREF_SAVE_COOLDOWN)
if(pref_queue != -1)
deltimer(pref_queue)
var/savefile/S = new /savefile(path)
if(!S)
return 0
return FALSE
S.cd = "/"
WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date
@@ -1093,22 +1093,22 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
cit_character_pref_load(S)
return 1
return TRUE
/datum/preferences/proc/save_character(bypass_cooldown = FALSE, silent = FALSE)
if(!path)
return 0
return FALSE
if(!bypass_cooldown)
if(world.time < savecharcooldown)
if(istype(parent))
queue_save_char(PREF_SAVE_COOLDOWN, silent)
return 0
return FALSE
COOLDOWN_START(src, savecharcooldown, PREF_SAVE_COOLDOWN)
if(char_queue != -1)
deltimer(char_queue)
var/savefile/S = new /savefile(path)
if(!S)
return 0
return FALSE
S.cd = "/character[default_slot]"
WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //load_character will sanitize any bad data, so assume up-to-date.)
@@ -1295,7 +1295,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(parent && !silent)
to_chat(parent, span_notice("Saved character slot!"))
return 1
return TRUE
/datum/preferences/proc/queue_save_char(save_in, silent)
if(parent && !silent)
+3 -3
View File
@@ -17,7 +17,7 @@
var/obj/item/clothing/mask/chameleon/drone/Z = target
Z.chameleon_action.random_look(owner)
return 1
return TRUE
/datum/action/item_action/chameleon/drone/togglehatmask
@@ -65,7 +65,7 @@
qdel(old_headgear)
// where is `ITEM_SLOT_HEAD` defined? WHO KNOWS
D.equip_to_slot(new_headgear, ITEM_SLOT_HEAD)
return 1
return TRUE
/datum/action/chameleon_outfit
@@ -245,7 +245,7 @@
return
select_look(owner)
return 1
return TRUE
/datum/action/item_action/chameleon/change/proc/emp_randomise(var/amount = EMP_RANDOMISE_TIME)
START_PROCESSING(SSprocessing, src)
+3 -3
View File
@@ -113,7 +113,7 @@
if(do_after(user, 6 SECONDS, src))
if(S.use(3))
repair(user, params)
return 1
return TRUE
return ..()
// Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up
@@ -420,8 +420,8 @@ BLIND // can't see anything
/obj/item/clothing/proc/can_use(mob/user)
if(user && ismob(user))
if(!user.incapacitated())
return 1
return 0
return TRUE
return FALSE
/obj/item/clothing/obj_destruction(damage_flag)
+1 -1
View File
@@ -121,7 +121,7 @@
/obj/item/clothing/glasses/science/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot == ITEM_SLOT_EYES)
return 1
return TRUE
/obj/item/clothing/glasses/night
name = "night vision goggles"
+1 -1
View File
@@ -203,7 +203,7 @@
/obj/item/clothing/head/fedora/suicide_act(mob/user)
if(user.gender == FEMALE)
return 0
return FALSE
var/mob/living/carbon/human/H = user
user.visible_message("<span class='suicide'>[user] is donning [src]! It looks like [user.p_theyre()] trying to be nice to girls.</span>")
user.say("M'lady.", forced = "fedora suicide")
+2 -2
View File
@@ -111,7 +111,7 @@
var/datum/action/A = X
A.UpdateButtons()
to_chat(user, "<span class='notice'>Your Joy mask now has a [choice] Emotion!</span>")
return 1
return TRUE
/obj/item/clothing/mask/kitsuneblk
name = "Black Kitsune Mask"
@@ -477,4 +477,4 @@
var/datum/action/A = X
A.UpdateButtons()
to_chat(user, "<span class='notice'>Your paper mask now has a [choice] symbol!</span>")
return 1
return TRUE
+2 -2
View File
@@ -51,7 +51,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot == ITEM_SLOT_HEAD)
return 1
return TRUE
/obj/item/clothing/head/helmet/space/hardsuit/equipped(mob/user, slot)
..()
@@ -159,7 +159,7 @@
/obj/item/clothing/suit/space/hardsuit/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot == ITEM_SLOT_OCLOTHING) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit.
return 1
return TRUE
//Engineering
/obj/item/clothing/head/helmet/space/hardsuit/engine
@@ -213,7 +213,7 @@
if(prob(hit_reaction_chance))
if(world.time < reactivearmor_cooldown)
owner.visible_message("<span class='danger'>The repulse generator is still recharging!</span>")
return 0
return FALSE
playsound(get_turf(owner),'sound/magic/repulse.ogg', 100, 1)
owner.visible_message("<span class='danger'>[src] blocks [attack_text], converting the attack into a wave of force!</span>")
var/turf/T = get_turf(owner)
+2 -2
View File
@@ -32,7 +32,7 @@
/obj/item/clothing/suit/hooded/item_action_slot_check(slot, mob/user, datum/action/A)
if(slot == ITEM_SLOT_OCLOTHING || slot == ITEM_SLOT_NECK)
return 1
return TRUE
/obj/item/clothing/suit/hooded/equipped(mob/user, slot)
if(slot != ITEM_SLOT_OCLOTHING && slot != ITEM_SLOT_NECK)
@@ -127,7 +127,7 @@
set src in usr
if(!can_use(usr))
return 0
return FALSE
on_toggle(usr)
if(src.suittoggled)
+7 -7
View File
@@ -37,14 +37,14 @@
if((sensordamage || (has_sensor < HAS_SENSORS && has_sensor != NO_SENSORS)) && istype(I, /obj/item/stack/cable_coil))
if(damaged_clothes == CLOTHING_SHREDDED)
to_chat(user,"<span class='warning'>[src] is too damaged to have its suit sensors repaired! Repair it first.</span>")
return 0
return FALSE
var/obj/item/stack/cable_coil/C = I
I.use_tool(src, user, 0, 1)
has_sensor = HAS_SENSORS
sensordamage = 0
sensor_mode = sensor_mode_intended
to_chat(user,"<span class='notice'>You repair the suit sensors on [src] with [C].</span>")
return 1
return TRUE
if(!attach_accessory(I, user))
return ..()
@@ -233,13 +233,13 @@
return
if(src.has_sensor == BROKEN_SENSORS)
to_chat(usr, "The sensors have shorted out!")
return 0
return FALSE
if(src.sensor_flags & SENSOR_LOCKED)
to_chat(usr, "The controls are locked.")
return 0
return FALSE
if(src.has_sensor <= NO_SENSORS)
to_chat(usr, "This suit does not have any sensors.")
return 0
return FALSE
var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon")
var/switchMode = input("Select a sensor mode:", "Suit Sensor Mode", modes[sensor_mode + 1]) in modes
@@ -292,10 +292,10 @@
if(src.has_sensor == BROKEN_SENSORS)
to_chat(usr, "The sensors have shorted out!")
return 0
return FALSE
if(src.sensor_flags & SENSOR_LOCKED)
to_chat(usr, "The controls are locked.")
return 0
return FALSE
if(has_sensor <= NO_SENSORS)
to_chat(user, "This suit does not have any sensors.")
return
+1 -1
View File
@@ -141,7 +141,7 @@
H.visible_message("<span class='warning'>[H]'s suit automatically extinguishes [H.p_them()]!</span>","<span class='warning'>Your suit automatically extinguishes you.</span>")
H.ExtinguishMob()
new /obj/effect/particle_effect/water(get_turf(H))
return 0
return FALSE
/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
..()
+1 -1
View File
@@ -29,7 +29,7 @@
other_half.icon_state = "cracker2"
target.put_in_active_hand(other_half)
playsound(user, 'sound/effects/snap.ogg', 50, 1)
return 1
return TRUE
return ..()
/obj/item/clothing/head/festive
+1 -1
View File
@@ -101,7 +101,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
walk_towards(src, destination, 1)
/obj/effect/immovablerod/ex_act(severity, target, origin)
return 0
return FALSE
/obj/effect/immovablerod/singularity_act()
return
+2 -2
View File
@@ -458,9 +458,9 @@
/datum/export/pirate/ransom/get_cost(atom/movable/AM)
var/mob/living/carbon/human/H = AM
if(H.stat != CONSCIOUS || !H.mind || !H.mind.assigned_role) //mint condition only
return 0
return FALSE
else if("pirate" in H.faction) //can't ransom your fellow pirates to CentCom!
return 0
return FALSE
else
if(H.mind.assigned_role in GLOB.command_positions)
return 3000
+3 -3
View File
@@ -108,16 +108,16 @@
/datum/round_event/portal_storm/proc/spawn_hostile()
if(!hostile_types || !hostile_types.len)
return 0
return FALSE
return ISMULTIPLE(activeFor, 2)
/datum/round_event/portal_storm/proc/spawn_boss()
if(!boss_types || !boss_types.len)
return 0
return FALSE
if(activeFor == next_boss_spawn)
next_boss_spawn += CEILING(number_of_hostiles / number_of_bosses, 1)
return 1
return TRUE
/datum/round_event/portal_storm/proc/time_to_end()
if(!hostile_types.len && !boss_types.len)
+1 -1
View File
@@ -124,7 +124,7 @@
quality = MINOR_NEGATIVE
/datum/spacevine_mutation/fire_proof/process_temperature(obj/structure/spacevine/holder, temp, volume)
return 1
return TRUE
/datum/spacevine_mutation/fire_proof/on_hit(obj/structure/spacevine/holder, mob/hitter, obj/item/I, expected_damage)
if(I && I.damtype == "fire")
+1 -1
View File
@@ -13,7 +13,7 @@
if(!ishuman(M))
holder_canadates -= M
if(!holder_canadates) //Very unlikely, but just in case
return 0
return FALSE
var/mob/living/carbon/human/H = pick(holder_canadates)
new /obj/item/greentext(H.loc)
@@ -22,14 +22,14 @@
/obj/item/reagent_containers/food/drinks/attack(mob/living/M, mob/user, def_zone)
if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='warning'>[src] is empty!</span>")
return 0
return FALSE
if(!canconsume(M, user))
return 0
return FALSE
if (!is_drainable())
to_chat(user, "<span class='warning'>[src]'s lid hasn't been opened!</span>")
return 0
return FALSE
if(M == user)
user.visible_message("<span class='notice'>[user] swallows a gulp of [src].</span>", "<span class='notice'>You swallow a gulp of [src].</span>")
@@ -47,7 +47,7 @@
reagents.reaction(M, INGEST, fraction)
reagents.trans_to(M, gulp_size, log = TRUE)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
return TRUE
/obj/item/reagent_containers/food/drinks/CheckAttackCooldown(mob/user, atom/target)
var/fast = HAS_TRAIT(user, TRAIT_VORACIOUS) && (user == target)
@@ -37,10 +37,10 @@
if(!reagents || !reagents.total_volume)
to_chat(user, "<span class='warning'>None of [src] left, oh no!</span>")
return 0
return FALSE
if(!canconsume(M, user))
return 0
return FALSE
if(M == user)
user.visible_message("<span class='notice'>[user] swallows some of contents of \the [src].</span>", "<span class='notice'>You swallow some of contents of \the [src].</span>")
@@ -57,7 +57,7 @@
reagents.reaction(M, INGEST, fraction)
reagents.trans_to(M, 10, log = TRUE)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
return TRUE
/obj/item/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity)
. = ..()
+18 -18
View File
@@ -108,10 +108,10 @@ All foods are distributed among various categories. Use common sense.
if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
to_chat(user, "<span class='notice'>None of [src] left, oh no!</span>")
qdel(src)
return 0
return FALSE
if(iscarbon(M))
if(!canconsume(M, user))
return 0
return FALSE
var/fullness = M.nutrition + 10
for(var/datum/reagent/consumable/C in M.reagents.reagent_list) //we add the nutrition value of what we're currently digesting
@@ -120,7 +120,7 @@ All foods are distributed among various categories. Use common sense.
if(M == user) //If you're eating it yourself.
if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
to_chat(M, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
return 0
return FALSE
else if(fullness <= 50)
user.visible_message("<span class='notice'>[user] hungrily takes a [eatverb] from \the [src], gobbling it down!</span>", "<span class='notice'>You hungrily take a [eatverb] from \the [src], gobbling it down!</span>")
else if(fullness > 50 && fullness < 150)
@@ -131,7 +131,7 @@ All foods are distributed among various categories. Use common sense.
user.visible_message("<span class='notice'>[user] unwillingly takes a [eatverb] of a bit of \the [src].</span>", "<span class='warning'>You unwillingly take a [eatverb] of a bit of \the [src].</span>")
else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
user.visible_message("<span class='warning'>[user] cannot force any more of \the [src] to go down [user.p_their()] throat!</span>", "<span class='danger'>You cannot force any more of \the [src] to go down your throat!</span>")
return 0
return FALSE
else
if(!isbrain(M)) //If you're feeding it to someone else.
if(fullness <= (600 * (1 + M.overeatduration / 1000)))
@@ -140,7 +140,7 @@ All foods are distributed among various categories. Use common sense.
else
M.visible_message("<span class='warning'>[user] cannot force any more of [src] down [M]'s throat!</span>", \
"<span class='warning'>[user] cannot force any more of [src] down [M]'s throat!</span>")
return 0
return FALSE
if(!do_mob(user, M))
return
@@ -164,9 +164,9 @@ All foods are distributed among various categories. Use common sense.
bitecount++
On_Consume(M)
checkLiked(fraction, M)
return 1
return TRUE
return 0
return FALSE
/obj/item/reagent_containers/food/snacks/CheckAttackCooldown(mob/user, atom/target)
var/fast = HAS_TRAIT(user, TRAIT_VORACIOUS) && (user == target)
@@ -193,26 +193,26 @@ All foods are distributed among various categories. Use common sense.
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/storage))
..() // -> item/attackby()
return 0
return FALSE
if(istype(W, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/S = W
if(custom_food_type && ispath(custom_food_type))
if(S.w_class > WEIGHT_CLASS_SMALL)
to_chat(user, "<span class='warning'>[S] is too big for [src]!</span>")
return 0
return FALSE
if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/reagent_containers/food/snacks/cakeslice/custom))
to_chat(user, "<span class='warning'>[src] can't be filled with [S]!</span>")
return 0
return FALSE
if(contents.len >= 20)
to_chat(user, "<span class='warning'>You can't add more ingredients to [src]!</span>")
return 0
return FALSE
var/obj/item/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src))
C.initialize_custom_food(src, S, user)
return 0
return FALSE
var/sharp = W.get_sharpness()
if(sharp)
if(slice(sharp, W, user))
return 1
return TRUE
else
..()
@@ -377,20 +377,20 @@ All foods are distributed among various categories. Use common sense.
..()
if(W.w_class <= WEIGHT_CLASS_SMALL & !istype(W, /obj/item/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods.
if(W.get_sharpness())
return 0
return FALSE
if(stored_item)
return 0
return FALSE
if(!iscarbon(user))
return 0
return FALSE
if(contents.len >= 20)
to_chat(user, "<span class='warning'>[src] is full.</span>")
return 0
return FALSE
to_chat(user, "<span class='notice'>You slip [W] inside [src].</span>")
user.transferItemToLoc(W, src)
add_fingerprint(user)
contents += W
stored_item = 1
return 1 // no afterattack here
return TRUE // no afterattack here
/obj/item/reagent_containers/food/snacks/MouseDrop(atom/over)
var/turf/T = get_turf(src)
@@ -141,7 +141,7 @@
to_chat(user, "<span class='warning'>There is not enough ice cream left!</span>")
else
to_chat(user, "<span class='notice'>[O] already has ice cream in it.</span>")
return 1
return TRUE
if(istype(O, /obj/item/reagent_containers) && !(O.item_flags & ABSTRACT) && O.is_open_container())
. = TRUE //no afterattack
var/obj/item/reagent_containers/B = O

Some files were not shown because too many files have changed in this diff Show More