stop this nonsense
This commit is contained in:
@@ -560,9 +560,9 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
/area/proc/powered(chan) // return true if the area has power to given channel
|
||||
|
||||
if(!requires_power)
|
||||
return 1
|
||||
return TRUE
|
||||
if(always_unpowered)
|
||||
return 0
|
||||
return FALSE
|
||||
switch(chan)
|
||||
if(EQUIP)
|
||||
return power_equip
|
||||
@@ -571,10 +571,10 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
if(ENVIRON)
|
||||
return power_environ
|
||||
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/area/space/powered(chan) //Nope.avi
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// called when power status changes
|
||||
|
||||
|
||||
@@ -26,18 +26,18 @@
|
||||
|
||||
/area/holodeck/powered(var/chan)
|
||||
if(!requires_power)
|
||||
return 1
|
||||
return TRUE
|
||||
if(always_unpowered)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!linked)
|
||||
return 0
|
||||
return FALSE
|
||||
var/area/A = get_area(linked)
|
||||
ASSERT(!istype(A, /area/holodeck))
|
||||
return A.powered(chan)
|
||||
|
||||
/area/holodeck/usage(var/chan)
|
||||
if(!linked)
|
||||
return 0
|
||||
return FALSE
|
||||
var/area/A = get_area(linked)
|
||||
ASSERT(!istype(A, /area/holodeck))
|
||||
return A.usage(chan)
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
/area/holodeck/use_power(var/amount, var/chan)
|
||||
if(!linked)
|
||||
return 0
|
||||
return FALSE
|
||||
var/area/A = get_area(linked)
|
||||
ASSERT(!istype(A, /area/holodeck))
|
||||
return A.use_power(amount,chan)
|
||||
|
||||
+3
-3
@@ -667,7 +667,7 @@
|
||||
if((explosion_flags & EXPLOSION_FLAG_DENSITY_DEPENDENT) && !density)
|
||||
return power // no block
|
||||
else if((explosion_flags & EXPLOSION_FLAG_HARD_OBSTACLE) && !QDELETED(src))
|
||||
return 0 // fully blocked
|
||||
return FALSE // fully blocked
|
||||
|
||||
/**
|
||||
* Called when a wave explosion hits this atom.
|
||||
@@ -1411,7 +1411,7 @@
|
||||
T = get_turf(src)
|
||||
|
||||
if(!T)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/list/forced_gravity = list()
|
||||
SEND_SIGNAL(src, COMSIG_ATOM_HAS_GRAVITY, T, forced_gravity)
|
||||
@@ -1424,7 +1424,7 @@
|
||||
return max_grav
|
||||
|
||||
if(isspaceturf(T)) // Turf never has gravity
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/area/A = get_area(T)
|
||||
if(A.has_gravity) // Areas which always has gravity
|
||||
|
||||
@@ -291,9 +291,9 @@
|
||||
* Called whenever an object moves and by mobs when they attempt to move themselves through space
|
||||
* And when an object or action applies a force on src, see [newtonian_move][/atom/movable/proc/newtonian_move]
|
||||
*
|
||||
* Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting
|
||||
* return FALSE to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting
|
||||
*
|
||||
* Mobs should return 1 if they should be able to move of their own volition, see [/client/proc/Move]
|
||||
* Mobs should return TRUE if they should be able to move of their own volition, see [/client/proc/Move]
|
||||
*
|
||||
* Arguments:
|
||||
* * movement_dir - 0 when stopping or any dir when trying to move
|
||||
|
||||
@@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(reverseradiochannels, list(
|
||||
if(range)
|
||||
start_point = get_turf(source)
|
||||
if(!start_point)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
//Send the data
|
||||
for(var/current_filter in filter_list)
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
// Check Overdose: Am I even addicted to blood? Do I even have any in me?
|
||||
//if (!target.reagents.addiction_list || !target.reagents.reagent_list)
|
||||
//message_admins("DEBUG2: can_make_vassal() Abort: No reagents")
|
||||
// return 0
|
||||
// return FALSE
|
||||
// Check Overdose: Did my current volume go over the Overdose threshold?
|
||||
//var/am_addicted = 0
|
||||
//for (var/datum/reagent/blood/vampblood/blood in target.reagents.addiction_list) // overdosed is tracked in reagent_list, not addiction_list.
|
||||
@@ -210,7 +210,7 @@
|
||||
|
||||
//if (!am_addicted)
|
||||
//message_admins("DEBUG4: can_make_vassal() Abort: No Blood")
|
||||
// return 0
|
||||
// return FALSE
|
||||
// No Mind!
|
||||
if(!target.mind || !target.mind.key)
|
||||
if(display_warning)
|
||||
|
||||
@@ -51,10 +51,10 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th
|
||||
changelings += changeling
|
||||
changeling.special_role = ROLE_CHANGELING
|
||||
changeling.restricted_roles = restricted_jobs
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
setup_error = "Not enough changeling candidates"
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/changeling/post_setup()
|
||||
for(var/datum/mind/changeling in changelings)
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
/datum/game_mode/traitor/changeling/can_start()
|
||||
if(!..())
|
||||
return 0
|
||||
return FALSE
|
||||
possible_changelings = get_players_for_role(ROLE_CHANGELING)
|
||||
if(possible_changelings.len < required_enemies)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/traitor/changeling/pre_setup()
|
||||
if(CONFIG_GET(flag/protect_roles_from_antagonist))
|
||||
@@ -55,7 +55,7 @@
|
||||
changeling.restricted_roles = restricted_jobs
|
||||
return ..()
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/traitor/changeling/post_setup()
|
||||
for(var/datum/mind/changeling in changelings)
|
||||
|
||||
@@ -188,16 +188,16 @@ Credit where due:
|
||||
equip_servant(L)
|
||||
add_servant_of_ratvar(L, TRUE)
|
||||
..()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/proc/greet_servant(mob/M) //Description of their role
|
||||
if(!M)
|
||||
return 0
|
||||
return FALSE
|
||||
to_chat(M, "<span class='bold large_brass'>You are a servant of Ratvar, the Clockwork Justiciar!</span>")
|
||||
to_chat(M, "<span class='brass'>Unlock <b>Script</b> scripture by converting a new servant or when 35kw of power is reached.</span>")
|
||||
to_chat(M, "<span class='brass'><b>Application</b> scripture will be unlocked when 50kw of power is reached.</span>")
|
||||
M.playsound_local(get_turf(M), 'sound/ambience/antag/clockcultalr.ogg', 100, FALSE, pressure_affected = FALSE)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/proc/equip_servant(mob/living/M) //Grants a clockwork slab to the mob
|
||||
if(!M || !ishuman(M))
|
||||
|
||||
@@ -154,9 +154,9 @@
|
||||
if(cult_mind.current.onCentCom() || cult_mind.current.onSyndieBase())
|
||||
acolytes_survived++
|
||||
if(acolytes_survived>=acolytes_needed)
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/datum/game_mode/cult/generate_report()
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
outsellobjective.target = target_mind
|
||||
outsellobjective.update_explanation_text()
|
||||
D.objectives += outsellobjective
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/devil/devil_agents/generate_report()
|
||||
return "Multiple soul merchants have been spotted in the quadrant, and appear to be competing over who can purchase the most souls. Be advised that they are likely to manufacture \
|
||||
|
||||
@@ -47,15 +47,15 @@
|
||||
|
||||
if(devils.len < required_enemies)
|
||||
setup_error = "Not enough devil candidates"
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
/datum/game_mode/devil/post_setup()
|
||||
for(var/datum/mind/devil in devils)
|
||||
post_setup_finalize(devil)
|
||||
..()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/devil/generate_report()
|
||||
return "Infernal creatures have been seen nearby offering great boons in exchange for souls. This is considered theft against Nanotrasen, as all employment contracts contain a lien on the \
|
||||
|
||||
@@ -546,7 +546,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
return ruleset.cost + added_threat
|
||||
else
|
||||
stack_trace("The starting rule \"[ruleset.name]\" failed to pre_execute.")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/// Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.
|
||||
/datum/game_mode/dynamic/proc/execute_roundstart_rule(sent_rule)
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
/// Returns how much threat to actually spend in the end.
|
||||
/datum/dynamic_ruleset/proc/scale_up(population, max_scale)
|
||||
if (!scaling_cost)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/antag_fraction = 0
|
||||
for(var/_ruleset in (mode.executed_rules + list(src))) // we care about the antags we *will* assign, too
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
announce_text = "Just have fun and enjoy the game!"
|
||||
|
||||
/datum/game_mode/extended/pre_setup()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/extended/generate_report()
|
||||
return "The transmission mostly failed to mention your sector. It is possible that there is nothing in the Syndicate that could threaten your station during this shift."
|
||||
|
||||
@@ -68,22 +68,22 @@
|
||||
playerC++
|
||||
if(!GLOB.Debug2)
|
||||
if(playerC < required_players || (maximum_players >= 0 && playerC > maximum_players))
|
||||
return 0
|
||||
return FALSE
|
||||
antag_candidates = get_players_for_role(antag_flag)
|
||||
if(!GLOB.Debug2)
|
||||
if(antag_candidates.len < required_enemies)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
else
|
||||
message_admins("<span class='notice'>DEBUG: GAME STARTING WITHOUT PLAYER NUMBER CHECKS, THIS WILL PROBABLY BREAK SHIT.</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
|
||||
|
||||
///Attempts to select players for special roles the mode might have.
|
||||
/datum/game_mode/proc/pre_setup()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
///Everyone should now be on the station and have their normal gear. This is the place to give the special roles extra things
|
||||
/datum/game_mode/proc/post_setup(report) //Gamemodes can override the intercept report. Passing TRUE as the argument will force a report.
|
||||
@@ -162,10 +162,10 @@
|
||||
|
||||
switch(SSshuttle.emergency.mode) //Rounds on the verge of ending don't get new antags, they just run out
|
||||
if(SHUTTLE_STRANDED, SHUTTLE_ESCAPE)
|
||||
return 1
|
||||
return TRUE
|
||||
if(SHUTTLE_CALL)
|
||||
if(SSshuttle.emergency.timeLeft(1) < initial(SSshuttle.emergencyCallTime)*0.5)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
var/matc = CONFIG_GET(number/midround_antag_time_check)
|
||||
if(world.time >= (matc * 600))
|
||||
@@ -202,7 +202,7 @@
|
||||
//somewhere between 1 and 3 minutes from now
|
||||
if(!CONFIG_GET(keyed_list/midround_antag)[SSticker.mode.config_tag])
|
||||
round_converted = 0
|
||||
return 1
|
||||
return TRUE
|
||||
for(var/mob/living/carbon/human/H in antag_candidates)
|
||||
if(H.client)
|
||||
replacementmode.make_antag_chance(H)
|
||||
@@ -213,7 +213,7 @@
|
||||
|
||||
///Called by the gameSSticker
|
||||
/datum/game_mode/process()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
//For things that do not die easily
|
||||
/datum/game_mode/proc/are_special_antags_dead()
|
||||
@@ -237,44 +237,44 @@
|
||||
if(Player.mind)
|
||||
if(Player.mind.special_role || LAZYLEN(Player.mind.antag_datums))
|
||||
continuous_sanity_checked = 1
|
||||
return 0
|
||||
return FALSE
|
||||
if(!continuous_sanity_checked)
|
||||
message_admins("The roundtype ([config_tag]) has no antagonists, continuous round has been defaulted to on and midround_antag has been defaulted to off.")
|
||||
continuous[config_tag] = TRUE
|
||||
midround_antag[config_tag] = FALSE
|
||||
SSshuttle.clearHostileEnvironment(src)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
|
||||
if(living_antag_player && living_antag_player.mind && isliving(living_antag_player) && living_antag_player.stat != DEAD && !isnewplayer(living_antag_player) &&!isbrain(living_antag_player) && (living_antag_player.mind.special_role || LAZYLEN(living_antag_player.mind.antag_datums)))
|
||||
return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark.
|
||||
return FALSE //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark.
|
||||
|
||||
for(var/mob/Player in GLOB.alive_mob_list)
|
||||
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player) && Player.client)
|
||||
if(Player.mind.special_role || LAZYLEN(Player.mind.antag_datums)) //Someone's still antaging!
|
||||
living_antag_player = Player
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!are_special_antags_dead())
|
||||
return FALSE
|
||||
|
||||
if(!continuous[config_tag] || force_ending)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
else
|
||||
round_converted = convert_roundtype()
|
||||
if(!round_converted)
|
||||
if(round_ends_with_antag_death)
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
midround_antag[config_tag] = 0
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
|
||||
/datum/game_mode/proc/check_win() //universal trigger to be called at mob death, nuke explosion, etc. To be called from everywhere.
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/datum/game_mode/proc/send_intercept()
|
||||
if(flipseclevel && !(config_tag == "extended"))//CIT CHANGE - lets the security level be flipped roundstart
|
||||
@@ -533,21 +533,21 @@
|
||||
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
|
||||
/datum/game_mode/proc/age_check(client/C)
|
||||
if(get_remaining_days(C) == 0)
|
||||
return 1 //Available in 0 days = available right now = player is old enough to play.
|
||||
return 0
|
||||
return TRUE //Available in 0 days = available right now = player is old enough to play.
|
||||
return FALSE
|
||||
|
||||
|
||||
/datum/game_mode/proc/get_remaining_days(client/C)
|
||||
if(!C)
|
||||
return 0
|
||||
return FALSE
|
||||
if(C.prefs?.db_flags & DB_FLAG_EXEMPT)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!CONFIG_GET(flag/use_age_restriction_for_jobs))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!isnum(C.player_age))
|
||||
return 0 //This is only a number if the db connection is established, otherwise it is text: "Requires database", meaning these restrictions cannot be enforced
|
||||
return FALSE //This is only a number if the db connection is established, otherwise it is text: "Requires database", meaning these restrictions cannot be enforced
|
||||
if(!isnum(enemy_minimum_age))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return max(0, enemy_minimum_age - C.player_age)
|
||||
|
||||
|
||||
@@ -639,11 +639,11 @@ GLOBAL_LIST_EMPTY(possible_items)
|
||||
if(istype(I, steal_target))
|
||||
if(!targetinfo) //If there's no targetinfo, then that means it was a custom objective. At this point, we know you have the item, so return 1.
|
||||
return TRUE
|
||||
else if(targetinfo.check_special_completion(I))//Returns 1 by default. Items with special checks will return 1 if the conditions are fulfilled.
|
||||
else if(targetinfo.check_special_completion(I))//Returns 1 by default. Items with special checks will return TRUE if the conditions are fulfilled.
|
||||
return TRUE
|
||||
|
||||
if(targetinfo && (I.type in targetinfo.altitems)) //Ok, so you don't have the item. Do you have an alternative, at least?
|
||||
if(targetinfo.check_special_completion(I))//Yeah, we do! Don't return 0 if we don't though - then you could fail if you had 1 item that didn't pass and got checked first!
|
||||
if(targetinfo.check_special_completion(I))//Yeah, we do! Don't return FALSE if we don't though - then you could fail if you had 1 item that didn't pass and got checked first!
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/list/special_equipment = list()
|
||||
|
||||
/datum/objective_item/proc/check_special_completion() //for objectives with special checks (is that slime extract unused? does that intellicard have an ai in it? etcetc)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/objective_item/proc/TargetExists()
|
||||
return TRUE
|
||||
@@ -142,8 +142,8 @@
|
||||
/datum/objective_item/steal/functionalai/check_special_completion(obj/item/aicard/C)
|
||||
for(var/mob/living/silicon/ai/A in C)
|
||||
if(isAI(A) && A.stat != DEAD) //See if any AI's are alive inside that card.
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/objective_item/steal/blueprints
|
||||
name = "the station blueprints."
|
||||
@@ -169,8 +169,8 @@
|
||||
|
||||
/datum/objective_item/steal/slime/check_special_completion(obj/item/slime_extract/E)
|
||||
if(E.Uses > 0)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
//Unique Objectives
|
||||
/datum/objective_item/unique/docs_red
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/datum/sabotage_objective/processing/proc/check_condition_processing()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/sabotage_objective/processing/process()
|
||||
check_condition_processing()
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
return get_points() ? TRUE : FALSE
|
||||
|
||||
/datum/objective/overthrow/proc/get_points()
|
||||
return 0 // int, not bool
|
||||
return FALSE // int, not bool
|
||||
|
||||
/datum/objective/overthrow/proc/result_points(datum/mind/the_dude, base_points) // App
|
||||
var/initial_points = base_points
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/datum/game_mode/sandbox/pre_setup()
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
M.CanBuild()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/game_mode/sandbox/post_setup()
|
||||
..()
|
||||
|
||||
@@ -509,8 +509,8 @@ Class Procs:
|
||||
I.play_tool_sound(src, 50)
|
||||
setDir(turn(dir,-90))
|
||||
to_chat(user, "<span class='notice'>You rotate [src].</span>")
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/proc/can_be_unfasten_wrench(mob/user, silent) //if we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.
|
||||
if(!(isfloorturf(loc) || istype(loc, /turf/open/indestructible)) && !anchored)
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
|
||||
/obj/machinery/camera/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if(damage_flag == MELEE && damage_amount < 12 && !(stat & BROKEN))
|
||||
return 0
|
||||
return FALSE
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/camera/obj_break(damage_flag)
|
||||
@@ -417,4 +417,4 @@
|
||||
else
|
||||
user.sight = 0
|
||||
user.see_in_dark = 2
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
user.see_invisible = SEE_INVISIBLE_LIVING //can't see ghosts through cameras
|
||||
user.sight = SEE_TURFS | SEE_BLACKNESS
|
||||
user.see_in_dark = 2
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/camera/aiEye/remote/Destroy()
|
||||
if(origin && eye_user)
|
||||
|
||||
@@ -505,10 +505,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
var/datum/job/j = SSjob.GetJob(edit_job_target)
|
||||
if(!j)
|
||||
updateUsrDialog()
|
||||
return 0
|
||||
return FALSE
|
||||
if(can_open_job(j) != 1)
|
||||
updateUsrDialog()
|
||||
return 0
|
||||
return FALSE
|
||||
if(opened_positions[edit_job_target] >= 0)
|
||||
GLOB.time_last_changed_position = world.time / 10
|
||||
j.total_positions++
|
||||
@@ -522,10 +522,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
var/datum/job/j = SSjob.GetJob(edit_job_target)
|
||||
if(!j)
|
||||
updateUsrDialog()
|
||||
return 0
|
||||
return FALSE
|
||||
if(can_close_job(j) != 1)
|
||||
updateUsrDialog()
|
||||
return 0
|
||||
return FALSE
|
||||
//Allow instant closing without cooldown if a position has been opened before
|
||||
if(opened_positions[edit_job_target] <= 0)
|
||||
GLOB.time_last_changed_position = world.time / 10
|
||||
@@ -540,7 +540,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
var/datum/job/j = SSjob.GetJob(priority_target)
|
||||
if(!j)
|
||||
updateUsrDialog()
|
||||
return 0
|
||||
return FALSE
|
||||
var/priority = TRUE
|
||||
if(j in SSjob.prioritized_jobs)
|
||||
SSjob.prioritized_jobs -= j
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
|
||||
/obj/machinery/computer/upload/proc/can_upload_to(mob/living/silicon/S)
|
||||
if(S.stat == DEAD)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/upload/ai
|
||||
name = "\improper AI upload console"
|
||||
@@ -45,9 +45,9 @@
|
||||
|
||||
/obj/machinery/computer/upload/ai/can_upload_to(mob/living/silicon/ai/A)
|
||||
if(!A || !isAI(A))
|
||||
return 0
|
||||
return FALSE
|
||||
if(A.control_disabled)
|
||||
return 0
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
/obj/machinery/computer/upload/borg/can_upload_to(mob/living/silicon/robot/B)
|
||||
if(!B || !iscyborg(B))
|
||||
return 0
|
||||
return FALSE
|
||||
if(B.scrambledcodes || B.emagged)
|
||||
return 0
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
@@ -571,8 +571,8 @@
|
||||
if(user.canUseTopic(src, !hasSiliconAccessInArea(user)))
|
||||
if(!record1 || record1 == active1)
|
||||
if(!record2 || record2 == active2)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/computer/med_data/laptop
|
||||
name = "medical laptop"
|
||||
|
||||
@@ -805,9 +805,9 @@ What a mess.*/
|
||||
if(authenticated)
|
||||
if(user.canUseTopic(src, !hasSiliconAccessInArea(user)))
|
||||
if(!trim(message1))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!record1 || record1 == active1)
|
||||
if(!record2 || record2 == active2)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/door/airlock/plasma/BlockThermalConductivity() //we don't stop the heat~
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params)
|
||||
if(C.get_temperature() > 300)//If the temperature of the object is over 300, then ignite
|
||||
@@ -507,11 +507,11 @@
|
||||
|
||||
/obj/machinery/door/airlock/cult/allowed(mob/living/L)
|
||||
if(!density)
|
||||
return 1
|
||||
return TRUE
|
||||
if(friendly || iscultist(L) || isshade(L) || isconstruct(L))
|
||||
if(!stealthy)
|
||||
new openingoverlaytype(loc)
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
if(!stealthy)
|
||||
new /obj/effect/temp_visual/cult/sac(loc)
|
||||
@@ -521,7 +521,7 @@
|
||||
flash_color(L, flash_color="#960000", flash_time=20)
|
||||
L.DefaultCombatKnockdown(40)
|
||||
L.throw_at(throwtarget, 5, 1)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/cult/proc/conceal()
|
||||
icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'
|
||||
@@ -619,7 +619,7 @@
|
||||
return (is_servant_of_ratvar(user) && !isAllPowerCut())
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/ratvar_act()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/narsie_act()
|
||||
..()
|
||||
@@ -635,8 +635,8 @@
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/allowed(mob/M)
|
||||
if(is_servant_of_ratvar(M))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/hasPower()
|
||||
return TRUE //yes we do have power
|
||||
@@ -657,36 +657,36 @@
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/proc/attempt_construction(obj/item/I, mob/living/user)
|
||||
if(!I || !user || !user.canUseTopic(src))
|
||||
return 0
|
||||
return FALSE
|
||||
else if(I.tool_behaviour == TOOL_WRENCH)
|
||||
if(construction_state == GEAR_SECURE)
|
||||
user.visible_message("<span class='notice'>[user] begins loosening [src]'s cogwheel...</span>", "<span class='notice'>You begin loosening [src]'s cogwheel...</span>")
|
||||
if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_SECURE)
|
||||
return 1
|
||||
return TRUE
|
||||
user.visible_message("<span class='notice'>[user] loosens [src]'s cogwheel!</span>", "<span class='notice'>[src]'s cogwheel pops off and dangles loosely.</span>")
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
construction_state = GEAR_LOOSE
|
||||
else if(construction_state == GEAR_LOOSE)
|
||||
user.visible_message("<span class='notice'>[user] begins tightening [src]'s cogwheel...</span>", "<span class='notice'>You begin tightening [src]'s cogwheel into place...</span>")
|
||||
if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_LOOSE)
|
||||
return 1
|
||||
return TRUE
|
||||
user.visible_message("<span class='notice'>[user] tightens [src]'s cogwheel!</span>", "<span class='notice'>You firmly tighten [src]'s cogwheel into place.</span>")
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
construction_state = GEAR_SECURE
|
||||
return 1
|
||||
return TRUE
|
||||
else if(I.tool_behaviour == TOOL_CROWBAR)
|
||||
if(construction_state == GEAR_SECURE)
|
||||
to_chat(user, "<span class='warning'>[src]'s cogwheel is too tightly secured! Your [I.name] can't reach under it!</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
else if(construction_state == GEAR_LOOSE)
|
||||
user.visible_message("<span class='notice'>[user] begins slowly lifting off [src]'s cogwheel...</span>", "<span class='notice'>You slowly begin lifting off [src]'s cogwheel...</span>")
|
||||
if(!I.use_tool(src, user, 75, volume=50) || construction_state != GEAR_LOOSE)
|
||||
return 1
|
||||
return TRUE
|
||||
user.visible_message("<span class='notice'>[user] lifts off [src]'s cogwheel, causing it to fall apart!</span>", \
|
||||
"<span class='notice'>You lift off [src]'s cogwheel, causing it to fall apart!</span>")
|
||||
deconstruct(TRUE)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/airlock/clockwork/brass
|
||||
glass = TRUE
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
// linked door is open/closed (by density) then opens it/closes it.
|
||||
/obj/machinery/door_timer/proc/timer_start()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
activation_time = REALTIMEOFDAY
|
||||
timing = TRUE
|
||||
@@ -98,12 +98,12 @@
|
||||
continue
|
||||
C.locked = TRUE
|
||||
C.update_icon()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door_timer/proc/timer_end(forced = FALSE)
|
||||
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(!forced)
|
||||
Radio.set_frequency(FREQ_SECURITY)
|
||||
@@ -127,7 +127,7 @@
|
||||
C.locked = FALSE
|
||||
C.update_icon()
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/machinery/door_timer/proc/time_left(seconds = FALSE)
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
/obj/machinery/door_timer/proc/set_timer(value)
|
||||
var/new_time = clamp(value,0,MAX_TIMER)
|
||||
. = new_time == timer_duration //return 1 on no change
|
||||
. = new_time == timer_duration //return TRUE on no change
|
||||
timer_duration = new_time
|
||||
|
||||
/obj/machinery/door_timer/ui_interact(mob/user, datum/tgui/ui)
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/obj/machinery/door/proc/checkForMultipleDoors()
|
||||
if(!src.loc)
|
||||
return 0
|
||||
return FALSE
|
||||
for(var/obj/machinery/door/D in src.loc)
|
||||
if(!istype(D, /obj/machinery/door/window) && D.density && D != src)
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/turf/closed/wall/proc/checkForMultipleDoors()
|
||||
if(!src.loc)
|
||||
return 0
|
||||
return FALSE
|
||||
for(var/obj/machinery/door/D in locate(src.x,src.y,src.z))
|
||||
if(!istype(D, /obj/machinery/door/window) && D.density)
|
||||
return 0
|
||||
return FALSE
|
||||
//There are no false wall checks because that would be fucking
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
@@ -222,13 +222,13 @@
|
||||
/obj/machinery/door/attackby(obj/item/I, mob/user, params)
|
||||
if(user.a_intent != INTENT_HARM && (I.tool_behaviour == TOOL_CROWBAR || istype(I, /obj/item/fireaxe)))
|
||||
try_to_crowbar(I, user)
|
||||
return 1
|
||||
return TRUE
|
||||
else if(I.tool_behaviour == TOOL_WELDER)
|
||||
try_to_weld(I, user)
|
||||
return 1
|
||||
return TRUE
|
||||
else if(!(I.item_flags & NOBLUDGEON) && user.a_intent != INTENT_HARM)
|
||||
try_to_activate_door(user)
|
||||
return 1
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
/obj/machinery/door/proc/open()
|
||||
if(!density)
|
||||
return 1
|
||||
return TRUE
|
||||
if(operating)
|
||||
return
|
||||
operating = TRUE
|
||||
@@ -302,7 +302,7 @@
|
||||
if(autoclose)
|
||||
spawn(autoclose)
|
||||
close()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/proc/close()
|
||||
if(density)
|
||||
@@ -335,7 +335,7 @@
|
||||
CheckForMobs()
|
||||
else if(!(flags_1 & ON_BORDER_1))
|
||||
crush()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/proc/CheckForMobs()
|
||||
if(locate(/mob/living) in get_turf(src))
|
||||
@@ -380,7 +380,7 @@
|
||||
addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE)
|
||||
|
||||
/obj/machinery/door/proc/requiresID()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/door/proc/hasPower()
|
||||
return !(stat & NOPOWER)
|
||||
@@ -391,8 +391,8 @@
|
||||
|
||||
/obj/machinery/door/BlockThermalConductivity() // All non-glass airlocks block heat, this is intended.
|
||||
if(opacity || heat_proof)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/morgue
|
||||
icon = 'icons/obj/doors/doormorgue.dmi'
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
for(var/T2 in T.atmos_adjacent_turfs)
|
||||
turfs[T2] = 1
|
||||
if(turfs.len <= 10)
|
||||
return 0 // not big enough to matter
|
||||
return FALSE // not big enough to matter
|
||||
return start_point.air.return_pressure() < 20 ? -1 : 1
|
||||
|
||||
/obj/machinery/door/firedoor/border_only/CanAllowThrough(atom/movable/mover, turf/target)
|
||||
|
||||
@@ -73,4 +73,4 @@
|
||||
return
|
||||
|
||||
/obj/machinery/door/password/wave_ex_act(power, datum/wave_explosion/explosion, dir)
|
||||
return 0 //no.
|
||||
return FALSE //no.
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
/obj/machinery/door/poddoor/Bumped(atom/movable/AM)
|
||||
if(density)
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
if(get_dir(loc, T) == dir)
|
||||
return !density
|
||||
else
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
//used in the AStar algorithm to determinate if the turf the door is on is passable
|
||||
/obj/machinery/door/window/CanAStarPass(obj/item/card/id/ID, to_dir)
|
||||
@@ -144,13 +144,13 @@
|
||||
|
||||
/obj/machinery/door/window/open(forced=0)
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return 0
|
||||
return FALSE
|
||||
if(!forced)
|
||||
if(!hasPower())
|
||||
return 0
|
||||
return FALSE
|
||||
if(forced < 2)
|
||||
if(obj_flags & EMAGGED)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!src.operating) //in case of emag
|
||||
operating = TRUE
|
||||
do_animate("opening")
|
||||
@@ -171,13 +171,13 @@
|
||||
|
||||
/obj/machinery/door/window/close(forced=0)
|
||||
if (src.operating)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!forced)
|
||||
if(!hasPower())
|
||||
return 0
|
||||
return FALSE
|
||||
if(forced < 2)
|
||||
if(obj_flags & EMAGGED)
|
||||
return 0
|
||||
return FALSE
|
||||
operating = TRUE
|
||||
do_animate("closing")
|
||||
playsound(src.loc, 'sound/machines/windowdoor.ogg', 100, 1)
|
||||
@@ -423,8 +423,8 @@
|
||||
|
||||
/obj/machinery/door/window/clockwork/allowed(mob/M)
|
||||
if(is_servant_of_ratvar(M))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/door/window/northleft
|
||||
dir = NORTH
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
set waitfor = FALSE
|
||||
if(A.density)
|
||||
goIdle()
|
||||
return 0
|
||||
return FALSE
|
||||
update_icon()
|
||||
A.unbolt()
|
||||
. = 1
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
memory["processing"] = state != target_state
|
||||
//sensor_pressure = null //not sure if we can comment this out. Uncomment in case of problems -rastaf0
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/machinery/embedded_controller/radio/airlock_controller
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return null
|
||||
|
||||
/datum/computer/file/embedded_program/process()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/embedded_controller
|
||||
var/datum/computer/file/embedded_program/program
|
||||
@@ -44,7 +44,7 @@
|
||||
/obj/machinery/embedded_controller/proc/return_text()
|
||||
|
||||
/obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/embedded_controller/receive_signal(datum/signal/signal)
|
||||
if(istype(signal) && program)
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
/obj/machinery/embedded_controller/Topic(href, href_list)
|
||||
if(..())
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(program)
|
||||
program.receive_user_command(href_list["command"])
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
)))
|
||||
|
||||
/datum/computer/file/embedded_program/simple_vent_controller/process()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
|
||||
/obj/machinery/embedded_controller/radio/simple_vent_controller
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
/obj/machinery/flasher/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if(damage_flag == MELEE && damage_amount < 10) //any melee attack below 10 dmg does nothing
|
||||
return 0
|
||||
return FALSE
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/flasher/proc/flash()
|
||||
@@ -126,7 +126,7 @@
|
||||
if(flashed)
|
||||
bulb.times_used++
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/machinery/flasher/emp_act(severity)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
var/turf/location = src.loc
|
||||
if (isturf(location))
|
||||
location.hotspot_expose(700,10,1)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/igniter/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -127,7 +127,7 @@
|
||||
var/turf/location = src.loc
|
||||
if (isturf(location))
|
||||
location.hotspot_expose(1000,100,1)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/sparker/emp_act(severity)
|
||||
. = ..()
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
|
||||
/obj/machinery/pipedispenser/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
var/mob/living/L = usr
|
||||
if(!anchored || !istype(L) || !CHECK_MOBILITY(L, MOBILITY_USE))
|
||||
usr << browse(null, "window=pipedispenser")
|
||||
return 1
|
||||
return TRUE
|
||||
usr.set_machine(src)
|
||||
add_fingerprint(usr)
|
||||
if(href_list["makepipe"])
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
/obj/machinery/pipedispenser/disposal/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
usr.set_machine(src)
|
||||
add_fingerprint(usr)
|
||||
if(href_list["dmake"])
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
/obj/machinery/pipedispenser/disposal/transit_tube/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
usr.set_machine(src)
|
||||
add_fingerprint(usr)
|
||||
if(wait < world.time)
|
||||
|
||||
@@ -513,7 +513,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
var/atom/movable/M = pick(targets)
|
||||
targets -= M
|
||||
if(target(M))
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/porta_turret/proc/popUp() //pops the turret up
|
||||
set waitfor = FALSE
|
||||
@@ -566,8 +566,8 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
if(turret_flags & TURRET_FLAG_AUTH_WEAPONS) //check for weapon authorization
|
||||
if(isnull(perp.wear_id) || istype(perp.wear_id.GetID(), /obj/item/card/id/syndicate))
|
||||
|
||||
if(allowed(perp)) //if the perp has security access, return 0
|
||||
return 0
|
||||
if(allowed(perp)) //if the perp has security access, return FALSE
|
||||
return FALSE
|
||||
if(perp.is_holding_item_of_type(/obj/item/gun) || perp.is_holding_item_of_type(/obj/item/melee/baton))
|
||||
threatcount += 4
|
||||
|
||||
@@ -585,7 +585,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
|
||||
// If we aren't shooting heads then return a threatcount of 0
|
||||
if (!(turret_flags & TURRET_FLAG_SHOOT_HEADS) && (perp.get_assignment() in GLOB.command_positions))
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
return threatcount
|
||||
|
||||
@@ -600,7 +600,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
popUp() //pop the turret up if it's not already up.
|
||||
setDir(get_dir(base, target))//even if you can't shoot, follow the target
|
||||
INVOKE_ASYNC(src, .proc/shootAt, target)
|
||||
return 1
|
||||
return TRUE
|
||||
return
|
||||
|
||||
/obj/machinery/porta_turret/proc/shootAt(atom/movable/target, stagger_enabled = FALSE)
|
||||
@@ -840,7 +840,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
faction = list("neutral","silicon","turret") //Minebots, medibots, etc that should not be shot.
|
||||
|
||||
/obj/machinery/porta_turret/aux_base/assess_perp(mob/living/carbon/human/perp)
|
||||
return 0 //Never shoot humanoids. You are on your own if Ashwalkers or the like attack!
|
||||
return FALSE //Never shoot humanoids. You are on your own if Ashwalkers or the like attack!
|
||||
|
||||
/obj/machinery/porta_turret/aux_base/setup()
|
||||
return
|
||||
@@ -874,7 +874,7 @@ DEFINE_BITFIELD(turret_flags, list(
|
||||
AddElement(/datum/element/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES)
|
||||
|
||||
/obj/machinery/porta_turret/centcom_shuttle/assess_perp(mob/living/carbon/human/perp)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/porta_turret/centcom_shuttle/setup()
|
||||
return
|
||||
|
||||
@@ -80,27 +80,27 @@
|
||||
if(allowed)
|
||||
if(anchored)
|
||||
if(charging || panel_open)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
//Checks to make sure he's not in space doing it, and that the area got proper power.
|
||||
var/area/a = get_area(src)
|
||||
if(!a || !a.powered(EQUIP))
|
||||
to_chat(user, "<span class='notice'>[src] blinks red as you try to insert [G].</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if (istype(G, /obj/item/gun/energy))
|
||||
var/obj/item/gun/energy/E = G
|
||||
if(!E.can_charge)
|
||||
to_chat(user, "<span class='notice'>Your gun has no external power connector.</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if(!user.transferItemToLoc(G, src))
|
||||
return 1
|
||||
return TRUE
|
||||
setCharging(G)
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] isn't connected to anything!</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if(anchored && !charging)
|
||||
if(default_deconstruction_screwdriver(user, "recharger", "recharger", G))
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
if(occupant)
|
||||
process_occupant()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/recharge_station/relaymove(mob/user)
|
||||
if(user.stat)
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
if(electrocute_mob(user, src, src, 1, TRUE))
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/suit_storage_unit/relaymove(mob/user)
|
||||
if(locked)
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
if(buckled_mobs.len > 1)
|
||||
var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs
|
||||
if(user_unbuckle_mob(unbuckled,user))
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
if(user_unbuckle_mob(buckled_mobs[1],user))
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/atom/movable/attackby(obj/item/attacking_item, mob/user, params)
|
||||
if(!can_buckle || !istype(attacking_item, /obj/item/riding_offhand) || !user.Adjacent(src))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
. = 1
|
||||
if(!target)
|
||||
qdel(src)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
if(prob(5))
|
||||
playsound(loc, 'sound/items/welder.ogg', 100, 1)
|
||||
@@ -51,7 +51,7 @@
|
||||
acid_level = max(acid_level - (5 + 2*round(sqrt(acid_level))), 0)
|
||||
if(acid_level <= 0)
|
||||
qdel(src)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/effect/acid/Crossed(AM as mob|obj)
|
||||
. = ..()
|
||||
|
||||
@@ -169,14 +169,14 @@
|
||||
|
||||
/obj/effect/particle_effect/foam/proc/foam_mob(mob/living/L)
|
||||
if(lifetime<1)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!istype(L))
|
||||
return 0
|
||||
return FALSE
|
||||
var/fraction = 1/initial(reagent_divisor)
|
||||
if(lifetime % reagent_divisor)
|
||||
reagents.reaction(L, VAPOR, fraction)
|
||||
lifetime--
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/effect/particle_effect/foam/proc/spread_foam()
|
||||
var/turf/t_loc = get_turf(src)
|
||||
|
||||
@@ -49,23 +49,23 @@
|
||||
lifetime--
|
||||
if(lifetime < 1)
|
||||
kill_smoke()
|
||||
return 0
|
||||
return FALSE
|
||||
for(var/mob/living/L in range(0,src))
|
||||
smoke_mob(L)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/effect/particle_effect/smoke/proc/smoke_mob(mob/living/carbon/C)
|
||||
if(!istype(C))
|
||||
return 0
|
||||
return FALSE
|
||||
if(lifetime<1)
|
||||
return 0
|
||||
return FALSE
|
||||
if(C.internal != null || C.has_smoke_protection())
|
||||
return 0
|
||||
return FALSE
|
||||
if(C.smoke_delay)
|
||||
return 0
|
||||
return FALSE
|
||||
C.smoke_delay++
|
||||
addtimer(CALLBACK(src, .proc/remove_smoke_delay, C), 10)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C)
|
||||
if(C)
|
||||
@@ -131,7 +131,7 @@
|
||||
M.drop_all_held_items()
|
||||
M.adjustOxyLoss(1)
|
||||
M.emote("cough")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/effect/particle_effect/smoke/bad/Crossed(atom/movable/AM, oldloc)
|
||||
. = ..()
|
||||
@@ -210,7 +210,7 @@
|
||||
if(..())
|
||||
M.Sleeping(200)
|
||||
M.emote("cough")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/effect_system/smoke_spread/sleeping
|
||||
effect_type = /obj/effect/particle_effect/smoke/sleeping
|
||||
@@ -235,20 +235,20 @@
|
||||
reagents.reaction(AM, TOUCH, fraction)
|
||||
|
||||
reagents.reaction(T, TOUCH, fraction)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/effect/particle_effect/smoke/chem/smoke_mob(mob/living/carbon/M)
|
||||
if(lifetime<1)
|
||||
return 0
|
||||
return FALSE
|
||||
if(!istype(M))
|
||||
return 0
|
||||
return FALSE
|
||||
var/mob/living/carbon/C = M
|
||||
if(C.internal != null || C.has_smoke_protection())
|
||||
return 0
|
||||
return FALSE
|
||||
var/fraction = 1/initial(lifetime)
|
||||
reagents.copy_to(C, fraction*reagents.total_volume)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
/obj/effect/particle_effect/water/Move(turf/newloc)
|
||||
if (--src.life < 1)
|
||||
qdel(src)
|
||||
return 0
|
||||
return FALSE
|
||||
if(newloc.density)
|
||||
return 0
|
||||
return FALSE
|
||||
.=..()
|
||||
|
||||
/obj/effect/particle_effect/water/Bump(atom/A)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
return
|
||||
|
||||
/obj/effect/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/effect/experience_pressure_difference()
|
||||
return
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/effect/singularity_act()
|
||||
qdel(src)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/effect/ConveyorMove()
|
||||
return
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
return newDir
|
||||
|
||||
floor = 1
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* Causes the glowshroom to decay by decreasing its endurance.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
anchored = TRUE
|
||||
|
||||
/obj/effect/step_trigger/proc/Trigger(atom/movable/A)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/effect/step_trigger/Crossed(H as mob|obj)
|
||||
..()
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
if(distance != 0) //please dont divide by 0
|
||||
severity = min(max((max_distance / distance^0.3) * (100/max_distance), 1),100) //if it goes below 1 or above 100 stuff gets bad
|
||||
T.emp_act(severity)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/proc/empulse_using_range(turf/epicenter, range, log=0) //make an emp using range instead of power
|
||||
var/power_from_range = (7*(range^(1/0.7)))
|
||||
|
||||
@@ -242,9 +242,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
|
||||
/obj/item/proc/check_allowed_items(atom/target, not_inside, target_self)
|
||||
if(((src in target) && !target_self) || (!isturf(target.loc) && !isturf(target) && not_inside))
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/blob_act(obj/structure/blob/B)
|
||||
if(B && B.loc == loc)
|
||||
@@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't.
|
||||
//the mob M is attempting to equip this item into the slot passed through as 'slot'. return TRUE if it can do this and 0 if it can't.
|
||||
//if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise.
|
||||
//If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen.
|
||||
//Set disable_warning to TRUE if you wish it to not give you outputs.
|
||||
@@ -838,12 +838,12 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
return SEND_SIGNAL(src, COMSIG_ATOM_HITBY, AM, skipcatch, hitpush, blocked, throwingdatum)
|
||||
|
||||
/obj/item/attack_hulk(mob/living/carbon/human/user)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/attack_animal(mob/living/simple_animal/M)
|
||||
if (obj_flags & CAN_BE_HIT)
|
||||
return ..()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/burn()
|
||||
if(!QDELETED(src))
|
||||
@@ -1039,7 +1039,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
|
||||
|
||||
// Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped
|
||||
/obj/item/proc/get_part_rating()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
//Can this item be given to people?
|
||||
/obj/item/proc/can_give()
|
||||
|
||||
@@ -115,7 +115,7 @@ AI MODULES
|
||||
to_chat(law_datum.owner, "It would be in your best interest to play along with [sender.real_name] that:")
|
||||
for(var/failedlaw in laws)
|
||||
to_chat(law_datum.owner, "[failedlaw]")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
for(var/templaw in laws)
|
||||
if(law_datum.owner)
|
||||
@@ -162,7 +162,7 @@ AI MODULES
|
||||
/obj/item/ai_module/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user)
|
||||
if(!targetName)
|
||||
to_chat(user, "No name detected on module, please enter one.")
|
||||
return 0
|
||||
return FALSE
|
||||
..()
|
||||
|
||||
/obj/item/ai_module/supplied/safeguard/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow)
|
||||
@@ -188,7 +188,7 @@ AI MODULES
|
||||
/obj/item/ai_module/zeroth/oneHuman/install(datum/ai_laws/law_datum, mob/user)
|
||||
if(!targetName)
|
||||
to_chat(user, "No name detected on module, please enter one.")
|
||||
return 0
|
||||
return FALSE
|
||||
..()
|
||||
|
||||
/obj/item/ai_module/zeroth/oneHuman/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow)
|
||||
@@ -251,7 +251,7 @@ AI MODULES
|
||||
/obj/item/ai_module/supplied/freeform/install(datum/ai_laws/law_datum, mob/user)
|
||||
if(laws[1] == "")
|
||||
to_chat(user, "No law detected on module, please create one.")
|
||||
return 0
|
||||
return FALSE
|
||||
..()
|
||||
|
||||
|
||||
|
||||
@@ -106,9 +106,9 @@ RLD
|
||||
matter += value*amount_to_use
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You insert [amount_to_use] [S.name] sheets into [src]. </span>")
|
||||
return 1
|
||||
return TRUE
|
||||
to_chat(user, "<span class='warning'>You can't insert any more [S.name] sheets into [src]!</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/construction/proc/activate()
|
||||
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
@@ -575,12 +575,12 @@ RLD
|
||||
|
||||
/obj/item/construction/rcd/borg/useResource(amount, mob/user)
|
||||
if(!iscyborg(user))
|
||||
return 0
|
||||
return FALSE
|
||||
var/mob/living/silicon/robot/borgy = user
|
||||
if(!borgy.cell)
|
||||
if(user)
|
||||
to_chat(user, no_ammo_message)
|
||||
return 0
|
||||
return FALSE
|
||||
. = borgy.cell.use(amount * energyfactor) //borgs get 1.3x the use of their RCDs
|
||||
if(!. && user)
|
||||
to_chat(user, no_ammo_message)
|
||||
@@ -588,12 +588,12 @@ RLD
|
||||
|
||||
/obj/item/construction/rcd/borg/checkResource(amount, mob/user)
|
||||
if(!iscyborg(user))
|
||||
return 0
|
||||
return FALSE
|
||||
var/mob/living/silicon/robot/borgy = user
|
||||
if(!borgy.cell)
|
||||
if(user)
|
||||
to_chat(user, no_ammo_message)
|
||||
return 0
|
||||
return FALSE
|
||||
. = borgy.cell.charge >= (amount * energyfactor)
|
||||
if(!. && user)
|
||||
to_chat(user, no_ammo_message)
|
||||
@@ -750,7 +750,7 @@ RLD
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, decondelay, target = A))
|
||||
if(!useResource(deconcost, user))
|
||||
return 0
|
||||
return FALSE
|
||||
activate()
|
||||
qdel(A)
|
||||
return TRUE
|
||||
@@ -811,9 +811,9 @@ RLD
|
||||
playsound(src.loc, 'sound/effects/light_flicker.ogg', 50, 1)
|
||||
if(do_after(user, floordelay, target = A))
|
||||
if(!istype(F))
|
||||
return 0
|
||||
return FALSE
|
||||
if(!useResource(floorcost, user))
|
||||
return 0
|
||||
return FALSE
|
||||
activate()
|
||||
var/destination = get_turf(A)
|
||||
var/obj/machinery/light/floor/FL = new /obj/machinery/light/floor(destination)
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
log_game("[key_name(usr)] has renamed [prevname] to [str]")
|
||||
A.update_areasize()
|
||||
interact()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/item/areaeditor/proc/set_area_machinery_title(area/A,title,oldtitle)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/item/chrono_eraser/item_action_slot_check(slot, mob/user, datum/action/A)
|
||||
if(slot == ITEM_SLOT_BACK)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/gun/energy/chrono_gun
|
||||
name = "T.E.D. Projection Apparatus"
|
||||
@@ -108,9 +108,9 @@
|
||||
var/turf/currentpos = get_turf(src)
|
||||
var/mob/living/user = src.loc
|
||||
if((currentpos == startpos) && (field in view(CHRONO_BEAM_RANGE, currentpos)) && !user.lying && (user.stat == CONSCIOUS))
|
||||
return 1
|
||||
return TRUE
|
||||
field_disconnect(F)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/gun/energy/chrono_gun/proc/pass_mind(datum/mind/M)
|
||||
if(TED)
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
refill()
|
||||
else
|
||||
if(check_empty(user, amount, requires_full))
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
. = min(charges_left, amount)
|
||||
charges_left -= .
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
qdel(src)
|
||||
return credits
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/holochip/attackby(obj/item/I, mob/user, params)
|
||||
..()
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
|
||||
/obj/item/defibrillator/item_action_slot_check(slot, mob/user, datum/action/A)
|
||||
if(slot == user.getBackSlot())
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/defibrillator/proc/remove_paddles(mob/user) //this fox the bug with the paddles when other player stole you the defib when you have the paddles equiped
|
||||
if(ismob(paddles.loc))
|
||||
|
||||
@@ -62,15 +62,15 @@
|
||||
/obj/item/camera_bug/check_eye(mob/user)
|
||||
if ( loc != user || user.incapacitated() || user.eye_blind || !current )
|
||||
user.unset_machine()
|
||||
return 0
|
||||
return FALSE
|
||||
var/turf/T_user = get_turf(user.loc)
|
||||
var/turf/T_current = get_turf(current)
|
||||
if(T_user.z != T_current.z || !current.can_use())
|
||||
to_chat(user, "<span class='danger'>[src] has lost the signal.</span>")
|
||||
current = null
|
||||
user.unset_machine()
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
/obj/item/camera_bug/on_unset_machine(mob/user)
|
||||
user.reset_perspective(null)
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/dogborg/sleeper/Exit(atom/movable/O)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/dogborg/sleeper/proc/get_host()
|
||||
if(!loc)
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
/obj/item/lightreplacer/proc/Use(mob/user)
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
AddUses(-1)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
// Negative numbers will subtract
|
||||
/obj/item/lightreplacer/proc/AddUses(amount = 1)
|
||||
@@ -239,9 +239,9 @@
|
||||
/obj/item/lightreplacer/proc/CanUse(mob/living/user)
|
||||
src.add_fingerprint(user)
|
||||
if(uses > 0)
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity)
|
||||
. = ..()
|
||||
|
||||
@@ -236,11 +236,11 @@
|
||||
|
||||
/datum/action/item_action/toggle_multitool/Trigger()
|
||||
if(!..())
|
||||
return 0
|
||||
return FALSE
|
||||
if(target)
|
||||
var/obj/item/multitool/ai_detect/M = target
|
||||
M.toggle_hud(owner)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/multitool/cyborg
|
||||
name = "multitool"
|
||||
|
||||
@@ -217,7 +217,7 @@ effective or pretty fucking useless.
|
||||
|
||||
/obj/item/shadowcloak/item_action_slot_check(slot, mob/user, datum/action/A)
|
||||
if(slot == ITEM_SLOT_BELT)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/shadowcloak/proc/Activate(mob/living/carbon/human/user)
|
||||
if(!user)
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
/obj/item/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up
|
||||
if(wielded)
|
||||
to_chat(user, "<span class='warning'>You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/dualsaber/process()
|
||||
if(wielded)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
if(reagents.total_volume == reagents.maximum_volume)
|
||||
to_chat(user, "<span class='warning'>\The [src] is already full!</span>")
|
||||
safety = safety_save
|
||||
return 1
|
||||
return TRUE
|
||||
var/obj/structure/reagent_dispensers/W = target //will it work?
|
||||
var/transferred = W.reagents.trans_to(src, max_water)
|
||||
if(transferred > 0)
|
||||
@@ -130,9 +130,9 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [W] is empty!</span>")
|
||||
safety = safety_save
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/extinguisher/afterattack(atom/target, mob/user , flag)
|
||||
. = ..()
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
|
||||
|
||||
//What does the implant do upon injection?
|
||||
//return 1 if the implant injects
|
||||
//return 0 if there is no room for implant / it fails
|
||||
//return TRUE if the implant injects
|
||||
//return FALSE if there is no room for implant / it fails
|
||||
/obj/item/implant/proc/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)
|
||||
if(SEND_SIGNAL(src, COMSIG_IMPLANT_IMPLANTING, args) & COMPONENT_STOP_IMPLANTING)
|
||||
return
|
||||
@@ -99,7 +99,7 @@
|
||||
var/mob/living/carbon/human/H = source
|
||||
H.sec_hud_set_implants()
|
||||
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/Destroy()
|
||||
if(imp_in)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
/obj/item/implant/chem/activate(cause)
|
||||
. = ..()
|
||||
if(!cause || !imp_in)
|
||||
return 0
|
||||
return FALSE
|
||||
var/mob/living/carbon/R = imp_in
|
||||
var/injectamount = null
|
||||
if (cause == "action_button")
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
imp_e.weak += weak
|
||||
imp_e.delay += delay
|
||||
qdel(src)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
L.sec_hud_set_implants()
|
||||
if(target.stat != DEAD && !silent)
|
||||
to_chat(target, "<span class='boldnotice'>Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.</span>")
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/implanter/mindshield
|
||||
name = "implanter (mindshield)"
|
||||
|
||||
@@ -158,11 +158,11 @@
|
||||
|
||||
/obj/machinery/implantchair/genepurge/implant_action(mob/living/carbon/human/H,mob/user)
|
||||
if(!istype(H))
|
||||
return 0
|
||||
return FALSE
|
||||
H.set_species(/datum/species/human, 1)//lizards go home
|
||||
purrbation_remove(H)//remove cats
|
||||
H.dna.remove_all_mutations()//hulks out
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/machinery/implantchair/brainwash
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
if(src.l_leg && src.r_leg)
|
||||
if(src.chest && src.head)
|
||||
SSblackbox.record_feedback("amount", "cyborg_frames_built", 1)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/robot_suit/wrench_act(mob/living/user, obj/item/I) //Deconstucts empty borg shell. Flashes remain unbroken because they haven't been used yet
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if (usr.stat || usr.restrained() || src.loc != usr)
|
||||
return
|
||||
if (!ishuman(usr))
|
||||
return 1
|
||||
return TRUE
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(H.is_holding(src))
|
||||
H.set_machine(src)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
pixel_y = rand(-5, 5)
|
||||
|
||||
/obj/item/stack/ore/bluespace_crystal/get_part_rating()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/stack/ore/bluespace_crystal/attack_self(mob/user)
|
||||
user.visible_message("<span class='warning'>[user] crushes [src]!</span>", "<span class='danger'>You crush [src]!</span>")
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/item/stack/use(used, transfer = FALSE, check = TRUE) // return 0 = borked; return 1 = had enough
|
||||
/obj/item/stack/use(used, transfer = FALSE, check = TRUE) // return FALSE = borked; return TRUE = had enough
|
||||
if(check && zero_amount())
|
||||
return FALSE
|
||||
if (is_cyborg)
|
||||
|
||||
@@ -53,16 +53,16 @@
|
||||
return SHAME
|
||||
|
||||
/obj/item/proc/can_be_package_wrapped() //can the item be wrapped with package wrapper into a delivery package
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/storage/can_be_package_wrapped()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/storage/box/can_be_package_wrapped()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/smallDelivery/can_be_package_wrapped()
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/stack/packageWrap/afterattack(obj/target, mob/user, proximity)
|
||||
. = ..()
|
||||
|
||||
@@ -25,7 +25,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
var/obj/item/storage/book/bible/B = locate() in src
|
||||
if(is_holding(B))
|
||||
return B
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
/obj/item/storage/book/bible
|
||||
name = "bible"
|
||||
@@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
var/obj/item/bodypart/BP = X
|
||||
if(BP.is_robotic_limb())
|
||||
to_chat(user, "<span class='warning'>[src.deity_name] refuses to heal this metallic taint!</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/heal_amt = 5
|
||||
var/list/hurt_limbs = H.get_damaged_bodyparts(1, 1)
|
||||
@@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
to_chat(H, "<span class='boldnotice'>May the power of [deity_name] compel you to be healed!</span>")
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/storage/book/bible/attack(mob/living/M, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1, heal_mode = TRUE)
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
/obj/item/storage/box/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/packageWrap))
|
||||
return 0
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
//Disk boxes
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
src.rotation = rotation
|
||||
// end animations
|
||||
animate(atom, time = 0, flags = ANIMATION_END_NOW)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// grab source
|
||||
var/rel_x = (destination.x - relative_to.x) * world.icon_size + src.dist * sin(src.angle)
|
||||
@@ -458,7 +458,7 @@
|
||||
/datum/summon_weapon/proc/Rotate(degrees, time, rotation)
|
||||
. = time
|
||||
if(!dist)
|
||||
return 0
|
||||
return FALSE
|
||||
var/matrix/M = ConstructMatrix(angle + degrees, dist, rotation || src.rotation)
|
||||
if(rotation)
|
||||
src.rotation = rotation
|
||||
|
||||
@@ -247,19 +247,19 @@
|
||||
air_contents.merge(giver)
|
||||
|
||||
check_status()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/tank/assume_air_moles(datum/gas_mixture/giver, moles)
|
||||
giver.transfer_to(air_contents, moles)
|
||||
|
||||
check_status()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/tank/assume_air_ratio(datum/gas_mixture/giver, ratio)
|
||||
giver.transfer_ratio_to(air_contents, ratio)
|
||||
|
||||
check_status()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/tank/proc/remove_air_volume(volume_to_return)
|
||||
if(!air_contents)
|
||||
@@ -281,7 +281,7 @@
|
||||
//Handle exploding, leaking, and rupturing of the tank
|
||||
|
||||
if(!air_contents)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/pressure = air_contents.return_pressure()
|
||||
var/temperature = air_contents.return_temperature()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/item/watertank/item_action_slot_check(slot, mob/user, datum/action/A)
|
||||
if(slot == user.getBackSlot())
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/watertank/proc/toggle_mister(mob/living/user)
|
||||
if(!istype(user))
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/item/watertank/attackby(obj/item/W, mob/user, params)
|
||||
if(W == noz)
|
||||
remove_noz()
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -349,7 +349,7 @@
|
||||
|
||||
/obj/item/reagent_containers/chemtank/item_action_slot_check(slot, mob/user, datum/action/A)
|
||||
if(slot == ITEM_SLOT_BACK)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/reagent_containers/chemtank/proc/toggle_injection()
|
||||
var/mob/living/carbon/human/user = usr
|
||||
|
||||
@@ -212,8 +212,8 @@
|
||||
if(get_fuel() <= 0 && welding)
|
||||
switched_on(user)
|
||||
update_icon()
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
//Switches the welder on
|
||||
/obj/item/weldingtool/proc/switched_on(mob/user)
|
||||
|
||||
@@ -160,10 +160,10 @@
|
||||
if(istype(A, /obj/item/toy/ammo/gun))
|
||||
if (src.bullets >= 7)
|
||||
to_chat(user, "<span class='warning'>It's already fully loaded!</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
if (A.amount_left <= 0)
|
||||
to_chat(user, "<span class='warning'>There are no more caps!</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
if (A.amount_left < (7 - src.bullets))
|
||||
src.bullets += A.amount_left
|
||||
to_chat(user, text("<span class='notice'>You reload [] cap\s.</span>", A.amount_left))
|
||||
@@ -173,7 +173,7 @@
|
||||
A.amount_left -= 7 - src.bullets
|
||||
src.bullets = 7
|
||||
A.update_icon()
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
//returns the damage value of the attack after processing the obj's various armor protections
|
||||
/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0)
|
||||
if(damage_flag == MELEE && damage_amount < damage_deflection) // TODO: Refactor armor datums and types entirely jfc
|
||||
return 0
|
||||
return FALSE
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
if(BURN)
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
var/armor_protection = 0
|
||||
if(damage_flag)
|
||||
armor_protection = armor.getRating(damage_flag)
|
||||
@@ -107,8 +107,8 @@
|
||||
else
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
take_damage(hulk_damage(), BRUTE, MELEE, 0, get_dir(src, user))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/blob_act(obj/structure/blob/B)
|
||||
if(isturf(loc))
|
||||
@@ -135,7 +135,7 @@
|
||||
return
|
||||
if(!M.melee_damage_upper && !M.obj_damage)
|
||||
M.emote("custom", message = "[M.friendly_verb_continuous] [src].")
|
||||
return 0
|
||||
return FALSE
|
||||
else
|
||||
var/play_soundeffect = 1
|
||||
if(M.environment_smash)
|
||||
@@ -187,7 +187,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
/obj/acid_act(acidpwr, acid_volume)
|
||||
if(!(resistance_flags & UNACIDABLE) && acid_volume)
|
||||
AddComponent(/datum/component/acid, acidpwr, acid_volume)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
//called when the obj is destroyed by acid.
|
||||
/obj/proc/acid_melt()
|
||||
@@ -201,7 +201,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
if(acid)
|
||||
return acid.level
|
||||
else
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
//// FIRE
|
||||
|
||||
@@ -216,7 +216,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
resistance_flags |= ON_FIRE
|
||||
SSfire_burning.processing[src] = src
|
||||
update_icon()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
//called when the obj is destroyed by fire
|
||||
/obj/proc/burn()
|
||||
@@ -232,7 +232,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
|
||||
/obj/zap_act(power, zap_flags, shocked_targets)
|
||||
if(QDELETED(src))
|
||||
return 0
|
||||
return FALSE
|
||||
obj_flags |= BEING_SHOCKED
|
||||
addtimer(CALLBACK(src, .proc/reset_shocked), 10)
|
||||
return power / 2
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
. = !density
|
||||
|
||||
/obj/proc/check_uplink_validity()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/vv_get_dropdown()
|
||||
. = ..()
|
||||
|
||||
@@ -414,8 +414,8 @@ That prevents a few funky behaviors.
|
||||
if(istype(card))
|
||||
if(card.flush)
|
||||
to_chat(user, "<span class='boldannounce'>ERROR</span>: AI flush is in progress, cannot execute transfer protocol.")
|
||||
return 0
|
||||
return 1
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/structure/ai_core/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
|
||||
if(state != AI_READY_CORE || !..())
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
R.loaded = src
|
||||
forceMove(R)
|
||||
user.visible_message("[user] collects [src].", "<span class='notice'>You collect [src].</span>")
|
||||
return 1
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -95,9 +95,9 @@
|
||||
. = ..()
|
||||
if(over_object == usr && Adjacent(usr))
|
||||
if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE))
|
||||
return 0
|
||||
return FALSE
|
||||
if(has_buckled_mobs())
|
||||
return 0
|
||||
return FALSE
|
||||
usr.visible_message("[usr] collapses \the [src.name].", "<span class='notice'>You collapse \the [src.name].</span>")
|
||||
var/obj/structure/bed/roller/B = new foldabletype(get_turf(src))
|
||||
usr.put_in_hands(B)
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
if(user in src)
|
||||
return
|
||||
if(src.tool_interact(W,user))
|
||||
return 1 // No afterattack
|
||||
return TRUE // No afterattack
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -396,7 +396,7 @@
|
||||
close()
|
||||
else
|
||||
O.forceMove(T)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/structure/closet/relaymove(mob/living/user, direction)
|
||||
if(user.stat || !isturf(loc))
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
/obj/structure/closet/body_bag/close()
|
||||
if(..())
|
||||
density = FALSE
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/structure/closet/body_bag/handle_lock_addition()
|
||||
return
|
||||
@@ -59,11 +59,11 @@
|
||||
. = ..()
|
||||
if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src)))
|
||||
if(!ishuman(usr))
|
||||
return 0
|
||||
return FALSE
|
||||
if(opened)
|
||||
return 0
|
||||
return FALSE
|
||||
if(contents.len)
|
||||
return 0
|
||||
return FALSE
|
||||
visible_message("<span class='notice'>[usr] folds up [src].</span>")
|
||||
var/obj/item/bodybag/B = new foldedbag_path(get_turf(src))
|
||||
usr.put_in_hands(B)
|
||||
@@ -83,15 +83,15 @@
|
||||
. = ..()
|
||||
if(over_object == usr && Adjacent(usr) && (in_range(src, usr) || usr.contents.Find(src)))
|
||||
if(!ishuman(usr))
|
||||
return 0
|
||||
return FALSE
|
||||
if(opened)
|
||||
return 0
|
||||
return FALSE
|
||||
if(contents.len >= mob_storage_capacity / 2)
|
||||
to_chat(usr, "<span class='warning'>There are too many things inside of [src] to fold it up!</span>")
|
||||
return 0
|
||||
return FALSE
|
||||
for(var/obj/item/bodybag/bluespace/B in src)
|
||||
to_chat(usr, "<span class='warning'>You can't recursively fold bluespace body bags!</span>" )
|
||||
return 0
|
||||
return FALSE
|
||||
visible_message("<span class='notice'>[usr] folds up [src].</span>")
|
||||
var/obj/item/bodybag/B = new foldedbag_path(get_turf(src))
|
||||
usr.put_in_hands(B)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/structure/closet/cardboard/open()
|
||||
if(opened || !can_open())
|
||||
return 0
|
||||
return FALSE
|
||||
var/list/alerted = null
|
||||
if(egged < world.time)
|
||||
var/mob/living/Snake = null
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if(damage_flag == MELEE && damage_amount < melee_min_damage)
|
||||
return 0
|
||||
return FALSE
|
||||
. = ..()
|
||||
|
||||
// Exists to work around the minimum 700 cr price for goodies / small items / materials
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
qdel(src)
|
||||
|
||||
else
|
||||
if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return 0 or just end it.
|
||||
if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return FALSE or just end it.
|
||||
return ..() //Stops it from opening and turning invisible when items are used on it.
|
||||
|
||||
else
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
|
||||
if(damage_flag == MELEE && damage_amount < 25)
|
||||
return 0
|
||||
return FALSE
|
||||
. = ..()
|
||||
|
||||
/obj/structure/closet/crate/secure/update_overlays()
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
if(break_sound)
|
||||
playsound(src, break_sound, 50, 1)
|
||||
qdel(src)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
@@ -753,7 +753,7 @@
|
||||
|
||||
/datum/action/toggle_dead_chat_mob/Trigger()
|
||||
if(!..())
|
||||
return 0
|
||||
return FALSE
|
||||
var/mob/M = target
|
||||
if(HAS_TRAIT_FROM(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT))
|
||||
REMOVE_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user