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
@@ -169,10 +169,10 @@
/mob/dead/new_player/Topic(href, href_list[])
if(src != usr)
return 0
return FALSE
if(!client)
return 0
return FALSE
//don't let people get to this unless they are specifically not verified
if(href_list["Month"] && (CONFIG_GET(flag/age_verification) && !check_rights_for(client, R_ADMIN) && !(client.ckey in GLOB.bunker_passthrough)))
@@ -727,7 +727,7 @@
src << browse(dat, "window=manifest;size=387x420;can_close=1")
/mob/dead/new_player/Move()
return 0
return FALSE
/mob/dead/new_player/proc/close_spawn_windows()
+11 -11
View File
@@ -461,7 +461,7 @@
return
pollid = text2num(pollid)
if (!pollid || pollid < 0)
return 0
return FALSE
//validate the poll is actually the right type of poll and its still active
var/datum/db_query/query_validate_poll = SSdbcore.NewQuery({"
SELECT id
@@ -473,12 +473,12 @@
))
if(!query_validate_poll.warn_execute())
qdel(query_validate_poll)
return 0
return FALSE
if (!query_validate_poll.NextRow())
qdel(query_validate_poll)
return 0
return FALSE
qdel(query_validate_poll)
return 1
return TRUE
/**
* Processes vote form data and saves results to the database for an IRV type poll.
@@ -501,7 +501,7 @@
if(!QDELETED(client) && client.holder)
admin_rank = client.holder.rank.name
if (!vote_valid_check(pollid, client?.holder, POLLTYPE_IRV))
return 0
return FALSE
var/list/special_columns = list(
"datetime" = "NOW()",
@@ -544,7 +544,7 @@
return
//validate the poll
if (!vote_valid_check(pollid, client.holder, POLLTYPE_OPTION))
return 0
return FALSE
var/voted = poll_check_voted(pollid)
if(isnull(voted) || voted) //Failed or already voted.
return
@@ -567,7 +567,7 @@
qdel(query_option_vote)
if(!QDELETED(usr))
usr << browse(null,"window=playerpoll")
return 1
return TRUE
/mob/dead/new_player/proc/log_text_poll_reply(pollid, replytext)
if(!SSdbcore.Connect())
@@ -581,7 +581,7 @@
return
//validate the poll
if (!vote_valid_check(pollid, client.holder, POLLTYPE_TEXT))
return 0
return FALSE
if(!replytext)
to_chat(usr, "The text you entered was blank. Please correct the text and submit again.")
return
@@ -611,7 +611,7 @@
qdel(query_text_vote)
if(!QDELETED(usr))
usr << browse(null,"window=playerpoll")
return 1
return TRUE
/mob/dead/new_player/proc/vote_on_numval_poll(pollid, optionid, rating)
if(!SSdbcore.Connect())
@@ -625,7 +625,7 @@
return
//validate the poll
if (!vote_valid_check(pollid, client.holder, POLLTYPE_RATING))
return 0
return FALSE
var/datum/db_query/query_numval_hasvoted = SSdbcore.NewQuery({"
SELECT id
FROM [format_table_name("poll_vote")]
@@ -655,7 +655,7 @@
qdel(query_numval_vote)
if(!QDELETED(usr))
usr << browse(null,"window=playerpoll")
return 1
return TRUE
/**
* Processes vote form data and saves results to the database for a multiple choice type poll.
+11 -11
View File
@@ -233,7 +233,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
var/g_val
var/color_format = length(input_color)
if(color_format != length_char(input_color))
return 0
return FALSE
if(color_format == 3)
r_val = hex2num(copytext(input_color, 1, 2)) * 16
g_val = hex2num(copytext(input_color, 2, 3)) * 16
@@ -243,7 +243,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
g_val = hex2num(copytext(input_color, 3, 5))
b_val = hex2num(copytext(input_color, 5, 7))
else
return 0 //If the color format is not 3 or 6, you're using an unexpected way to represent a color.
return FALSE //If the color format is not 3 or 6, you're using an unexpected way to represent a color.
r_val += (255 - r_val) * 0.4
if(r_val > 255)
@@ -693,32 +693,32 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/mob/living/target = input("Your new life begins today!", "Possess Mob", null, null) as null|anything in possessible
if(!target)
return 0
return FALSE
if(ismegafauna(target))
to_chat(src, "<span class='warning'>This creature is too powerful for you to possess!</span>")
return 0
return FALSE
if(can_reenter_corpse && mind && mind.current)
if(alert(src, "Your soul is still tied to your former life as [mind.current.name], if you go forward there is no going back to that life. Are you sure you wish to continue?", "Move On", "Yes", "No") == "No")
return 0
return FALSE
if(target.key)
to_chat(src, "<span class='warning'>Someone has taken this body while you were choosing!</span>")
return 0
return FALSE
transfer_ckey(target, FALSE)
target.AddElement(/datum/element/ghost_role_eligibility, penalize_on_ghost = FALSE, free_ghosting = TRUE)
target.faction = list("neutral")
return 1
return TRUE
//this is a mob verb instead of atom for performance reasons
//see /mob/verb/examinate() in mob.dm for more info
//overridden here and in /mob/living for different point span classes and sanity checks
/mob/dead/observer/pointed(atom/A as mob|obj|turf in fov_view())
if(!..())
return 0
return FALSE
usr.visible_message("<span class='deadsay'><b>[src]</b> points to [A].</span>")
return 1
return TRUE
/mob/dead/observer/verb/view_manifest()
set name = "View Crew Manifest"
@@ -839,7 +839,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return IsAdminGhost(usr)
/mob/dead/observer/is_literate()
return 1
return TRUE
/mob/dead/observer/vv_edit_var(var_name, var_value)
. = ..()
@@ -947,7 +947,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
// Ghosts have no momentum, being massless ectoplasm
/mob/dead/observer/Process_Spacemove(movement_dir)
return 1
return TRUE
/mob/dead/observer/vv_edit_var(var_name, var_value)
. = ..()
+3 -3
View File
@@ -379,7 +379,7 @@
//returns 0 if it cannot, 1 if successful
/mob/proc/equip_to_appropriate_slot(obj/item/W, clothing_check = FALSE)
if(!istype(W))
return 0
return FALSE
var/slot_priority = W.slot_equipment_priority
if(!slot_priority)
@@ -396,9 +396,9 @@
for(var/slot in slot_priority)
if(equip_to_slot_if_possible(W, slot, FALSE, TRUE, TRUE, FALSE, clothing_check)) //qdel_on_fail = 0; disable_warning = 1; redraw_mob = 1
return 1
return TRUE
return 0
return FALSE
/**
* Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)
+5 -5
View File
@@ -33,7 +33,7 @@
//entry when holding them
// literally only an option for carbons though
to_chat(C, "<span class='warning'>You may not hold items while blood crawling!</span>")
return 0
return FALSE
var/obj/item/bloodcrawl/B1 = new(C)
var/obj/item/bloodcrawl/B2 = new(C)
B1.icon_state = "bloodhand_left"
@@ -45,7 +45,7 @@
spawn(0)
bloodpool_sink(B)
src.mob_transforming = FALSE
return 1
return TRUE
/mob/living/proc/bloodpool_sink(obj/effect/decal/cleanable/B)
var/turf/mobloc = get_turf(src.loc)
@@ -89,7 +89,7 @@
var/success = bloodcrawl_consume(victim)
if(!success)
to_chat(src, "<span class='danger'>You happily devour... nothing? Your meal vanished at some point!</span>")
return 1
return TRUE
/mob/living/proc/bloodcrawl_consume(mob/living/victim)
to_chat(src, "<span class='danger'>You begin to feast on [victim]. You can not move while you are doing this.</span>")
@@ -161,7 +161,7 @@
/mob/living/proc/phasein(obj/effect/decal/cleanable/B)
if(src.mob_transforming)
to_chat(src, "<span class='warning'>Finish eating first!</span>")
return 0
return FALSE
B.visible_message("<span class='warning'>[B] starts to bubble...</span>")
if(!do_after(src, 20, target = B))
return
@@ -178,4 +178,4 @@
qdel(BC)
qdel(src.holder)
src.holder = null
return 1
return TRUE
+1 -1
View File
@@ -64,7 +64,7 @@
/mob/living/brain/can_be_revived()
. = 1
if(!container || health <= HEALTH_THRESHOLD_DEAD)
return 0
return FALSE
/mob/living/brain/fully_replace_character_name(oldname,newname)
..()
@@ -93,7 +93,7 @@
clear_alert("alien_fire")
/mob/living/carbon/alien/reagent_check(datum/reagent/R) //can metabolize all reagents
return 0
return FALSE
/mob/living/carbon/alien/IsAdvancedToolUser()
return has_fine_manipulation
@@ -136,7 +136,7 @@ Des: Removes all infected images from the alien.
return
/mob/living/carbon/alien/canBeHandcuffed()
return 1
return TRUE
/mob/living/carbon/alien/get_standard_pixel_y_offset(lying = 0)
return initial(pixel_y)
@@ -123,7 +123,7 @@ In all, this is a lot like the monkey code. /N
adjustEarDamage(15,60)
/mob/living/carbon/alien/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15)
return 0
return FALSE
/mob/living/carbon/alien/acid_act(acidpwr, acid_volume)
return 0//aliens are immune to acid.
@@ -1,6 +1,6 @@
/mob/living/carbon/alien/getToxLoss(toxins_type = TOX_OMNI)
return 0
return FALSE
/mob/living/carbon/alien/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE, toxins_type = TOX_DEFAULT) //alien immune to tox damage
return FALSE
@@ -32,7 +32,7 @@ Doesn't work on other aliens/AI.*/
return
/obj/effect/proc_holder/alien/fire(mob/living/carbon/user)
return 1
return TRUE
/obj/effect/proc_holder/alien/get_panel_text()
. = ..()
@@ -72,10 +72,10 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/weeds/node) in get_turf(user))
to_chat(user, "There's already a weed node here.")
return 0
return FALSE
user.visible_message("<span class='alertalien'>[user] has planted some alien weeds!</span>")
new/obj/structure/alien/weeds/node(user.loc)
return 1
return TRUE
/obj/effect/proc_holder/alien/whisper
name = "Whisper"
@@ -89,7 +89,7 @@ Doesn't work on other aliens/AI.*/
options += Ms
var/mob/living/M = input("Select who to whisper to:","Whisper to?",null) as null|mob in options
if(!M)
return 0
return FALSE
if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
to_chat(user, "<span class='noticealien'>As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.</span>")
return FALSE
@@ -108,8 +108,8 @@ Doesn't work on other aliens/AI.*/
var/follow_link_whispee = FOLLOW_LINK(ded, M)
to_chat(ded, "[follow_link_user] <span class='name'>[user]</span> <span class='alertalien'>Alien Whisper --> </span> [follow_link_whispee] <span class='name'>[M]</span> <span class='noticealien'>[msg]</span>")
else
return 0
return 1
return FALSE
return TRUE
/obj/effect/proc_holder/alien/transfer
name = "Transfer Plasma"
@@ -124,7 +124,7 @@ Doesn't work on other aliens/AI.*/
aliens_around.Add(A)
var/mob/living/carbon/M = input("Select who to transfer to:","Transfer plasma to?",null) as mob in aliens_around
if(!M)
return 0
return FALSE
var/amount = input("Amount:", "Transfer Plasma to [M]") as num
if (amount)
amount = min(abs(round(amount)), user.getPlasma())
@@ -153,21 +153,21 @@ Doesn't work on other aliens/AI.*/
if(target in oview(1,user))
if(target.acid_act(200, 100))
user.visible_message("<span class='alertalien'>[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!</span>")
return 1
return TRUE
else
to_chat(user, "<span class='noticealien'>You cannot dissolve this object.</span>")
return 0
return FALSE
else
to_chat(src, "<span class='noticealien'>[target] is too far away.</span>")
return 0
return FALSE
/obj/effect/proc_holder/alien/acid/fire(mob/living/carbon/alien/user)
var/O = input("Select what to dissolve:","Dissolve",null) as obj|turf in oview(1,user)
if(!O || user.incapacitated())
return 0
return FALSE
else
return corrode(O,user)
@@ -320,21 +320,21 @@ Doesn't work on other aliens/AI.*/
/mob/living/carbon/proc/getPlasma()
var/obj/item/organ/alien/plasmavessel/vessel = getorgan(/obj/item/organ/alien/plasmavessel)
if(!vessel)
return 0
return FALSE
return vessel.storedPlasma
/mob/living/carbon/proc/adjustPlasma(amount)
var/obj/item/organ/alien/plasmavessel/vessel = getorgan(/obj/item/organ/alien/plasmavessel)
if(!vessel)
return 0
return FALSE
vessel.storedPlasma = max(vessel.storedPlasma + amount,0)
vessel.storedPlasma = min(vessel.storedPlasma, vessel.max_plasma) //upper limit of max_plasma, lower limit of 0
for(var/X in abilities)
var/obj/effect/proc_holder/alien/APH = X
if(APH.has_action)
APH.action.UpdateButtons()
return 1
return TRUE
/mob/living/carbon/alien/adjustPlasma(amount)
. = ..()
@@ -343,6 +343,6 @@ Doesn't work on other aliens/AI.*/
/mob/living/carbon/proc/usePlasma(amount)
if(getPlasma() >= amount)
adjustPlasma(-amount)
return 1
return TRUE
return 0
return FALSE
@@ -27,18 +27,18 @@
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Players are Murphy's Law. We may not expect there to ever be a living xeno with no hivenode, but they _WILL_ make it happen.
to_chat(user, "<span class='danger'>Without the hivemind, you can't possibly hold the responsibility of leadership!</span>")
return 0
return FALSE
if(node.recent_queen_death)
to_chat(user, "<span class='danger'>Your thoughts are still too scattered to take up the position of leadership.</span>")
return 0
return FALSE
if(!isturf(user.loc))
to_chat(user, "<span class='notice'>You can't evolve here!</span>")
return 0
return FALSE
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal))
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new (user.loc)
user.alien_evolve(new_xeno)
return 1
return TRUE
else
to_chat(user, "<span class='notice'>We already have a living royal!</span>")
return 0
return FALSE
@@ -29,14 +29,14 @@
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Just in case this particular Praetorian gets violated and kept by the RD as a replacement for Lamarr.
to_chat(user, "<span class='danger'>Without the hivemind, you would be unfit to rule as queen!</span>")
return 0
return FALSE
if(node.recent_queen_death)
to_chat(user, "<span class='danger'>You are still too burdened with guilt to evolve into a queen.</span>")
return 0
return FALSE
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen))
var/mob/living/carbon/alien/humanoid/royal/queen/new_xeno = new (user.loc)
user.alien_evolve(new_xeno)
return 1
return TRUE
else
to_chat(user, "<span class='notice'>We already have an alive queen.</span>")
return 0
return FALSE
@@ -19,7 +19,7 @@
playsound(loc, "punch", 25, 1, -1)
visible_message("<span class='danger'>[user] has [hitverb] [src]!</span>", \
"<span class='userdanger'>[user] has [hitverb] [src]!</span>", null, COMBAT_MESSAGE_RANGE)
return 1
return TRUE
/mob/living/carbon/alien/humanoid/on_attack_hand(mob/living/carbon/human/M)
. = ..()
@@ -20,7 +20,7 @@
var/alt_inhands_file = 'icons/mob/alienqueen.dmi'
/mob/living/carbon/alien/humanoid/royal/can_inject(mob/user, error_msg, target_zone, penetrate_thick = FALSE, bypass_immunity = FALSE)
return 0
return FALSE
/mob/living/carbon/alien/humanoid/royal/queen
name = "alien queen"
@@ -90,20 +90,20 @@
var/obj/item/queenpromote/prom
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/))
to_chat(user, "<span class='noticealien'>You already have a Praetorian!</span>")
return 0
return FALSE
else
for(prom in user)
to_chat(user, "<span class='noticealien'>You discard [prom].</span>")
qdel(prom)
return 0
return FALSE
prom = new (user.loc)
if(!user.put_in_active_hand(prom, 1))
to_chat(user, "<span class='warning'>You must empty your hands before preparing the parasite.</span>")
return 0
return FALSE
else //Just in case telling the player only once is not enough!
to_chat(user, "<span class='noticealien'>Use the royal parasite on one of your children to promote her to Praetorian!</span>")
return 0
return FALSE
/obj/item/queenpromote
name = "\improper royal parasite"
@@ -30,7 +30,7 @@
"<span class='userdanger'>[user] has pummeled [src]!</span>", null, COMBAT_MESSAGE_RANGE)
adjustBruteLoss(5 + rand(1,9))
new /datum/forced_movement(src, get_step_away(user,src, 30), 1)
return 1
return TRUE
/mob/living/carbon/alien/larva/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
if(!no_effect && !visual_effect_icon)
@@ -17,7 +17,7 @@
user.layer = MOB_LAYER
user.visible_message("[user] slowly peeks up from the ground...", \
"<span class='noticealien'>You stop hiding.</span>")
return 1
return TRUE
/obj/effect/proc_holder/alien/larva_evolve
@@ -57,7 +57,7 @@
new_xeno = new /mob/living/carbon/alien/humanoid/drone(L.loc)
L.alien_evolve(new_xeno)
return 0
return FALSE
else
to_chat(user, "<span class='danger'>You are not fully grown.</span>")
return 0
return FALSE
+1 -1
View File
@@ -9,7 +9,7 @@
if(!breath || (breath.total_moles() == 0))
//Aliens breathe in vaccuum
return 0
return FALSE
var/toxins_used = 0
var/tox_detect_threshold = 0.02
@@ -97,12 +97,12 @@
/obj/item/clothing/mask/facehugger/on_found(mob/finder)
if(stat == CONSCIOUS)
return HasProximity(finder)
return 0
return FALSE
/obj/item/clothing/mask/facehugger/HasProximity(atom/movable/AM as mob|obj)
if(CanHug(AM) && Adjacent(AM))
return Leap(AM)
return 0
return FALSE
/obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
if(!..())
@@ -256,7 +256,7 @@
return FALSE
if(ismonkey(M))
return 1
return TRUE
var/mob/living/carbon/C = M
if(ishuman(C) && !(ITEM_SLOT_MASK in C.dna.species.no_equip))
+3 -3
View File
@@ -227,7 +227,7 @@
. = (handcuffed || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_AGGRESSIVE))
/mob/living/carbon/proc/canBeHandcuffed()
return 0
return FALSE
/mob/living/carbon/Topic(href, href_list)
..()
@@ -450,7 +450,7 @@
/mob/living/carbon/attack_ui(slot)
if(!has_hand_for_held_index(active_hand_index))
return 0
return FALSE
return ..()
/mob/living/carbon/proc/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, vomit_type = VOMIT_TOXIC, harm = TRUE, force = FALSE, purge_ratio = 0.1)
@@ -891,7 +891,7 @@
/mob/living/carbon/can_be_revived()
. = ..()
if(!getorgan(/obj/item/organ/brain) && (!mind || !mind.has_antag_datum(/datum/antagonist/changeling)))
return 0
return FALSE
/mob/living/carbon/harvest(mob/living/user)
if(QDELETED(src))
@@ -7,24 +7,24 @@
/mob/living/carbon/Process_Spacemove(movement_dir = 0)
if(..())
return 1
return TRUE
if(!isturf(loc))
return 0
return FALSE
// Do we have a jetpack implant (and is it on)?
var/obj/item/organ/cyberimp/chest/thrusters/T = getorganslot(ORGAN_SLOT_THRUSTERS)
if(istype(T) && movement_dir && T.allow_thrust(0.01))
return 1
return TRUE
var/obj/item/I = get_jetpack()
if(istype(I, /obj/item/tank/jetpack))
var/obj/item/tank/jetpack/J = I
if((movement_dir || J.stabilizers) && J.allow_thrust(0.01, src))
return 1
return TRUE
else if(istype(I, /obj/item/mod/module/jetpack))
var/obj/item/mod/module/jetpack/J = I
if((movement_dir || J.stabilizers) && J.allow_thrust())
return 1
return TRUE
/mob/living/carbon/Moved()
. = ..()
@@ -13,7 +13,7 @@
/mob/living/carbon/regenerate_icons()
if(mob_transforming)
return 1
return TRUE
update_inv_hands()
update_inv_handcuffed()
update_inv_legcuffed()
@@ -4,7 +4,7 @@
SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone)
var/hit_percent = (100-blocked)/100
if(!forced && hit_percent <= 0)
return 0
return FALSE
var/obj/item/bodypart/BP = null
if(!spread_damage)
@@ -478,17 +478,17 @@
return
if(is_mouth_covered())
to_chat(src, "<span class='warning'>Remove your mask first!</span>")
return 0
return FALSE
if(C.is_mouth_covered())
to_chat(src, "<span class='warning'>Remove [p_their()] mask first!</span>")
return 0
return FALSE
if(C.cpr_time < world.time + 30)
visible_message("<span class='notice'>[src] is trying to perform CPR on [C.name]!</span>", \
"<span class='notice'>You try to perform CPR on [C.name]... Hold still!</span>")
if(!do_mob(src, C))
to_chat(src, "<span class='warning'>You fail to perform CPR on [C]!</span>")
return 0
return FALSE
var/they_breathe = !HAS_TRAIT(C, TRAIT_NOBREATH)
var/they_lung = C.getorganslot(ORGAN_SLOT_LUNGS)
@@ -671,7 +671,7 @@
"<span class='userdanger'>You try to throw up, but there's nothing in your stomach!</span>")
if(stun)
DefaultCombatKnockdown(200)
return 1
return TRUE
..()
/mob/living/carbon/human/vv_get_dropdown()
@@ -1,6 +1,6 @@
/mob/living/carbon/human/getarmor(def_zone, type)
if(HAS_TRAIT(src, TRAIT_ARMOR_BROKEN)) //trait that makes it act as if you have no armor at all, you take natural damage from all sources
return 0
return FALSE
var/armorval = 0
var/organnum = 0
@@ -22,7 +22,7 @@
/mob/living/carbon/human/proc/checkarmor(obj/item/bodypart/def_zone, d_type)
if(!d_type || !def_zone)
return 0
return FALSE
var/protection = 0
var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor)
for(var/bp in body_parts)
@@ -93,7 +93,7 @@
/mob/living/carbon/human/attacked_by(obj/item/I, mob/living/user, attackchain_flags = NONE, damage_multiplier = 1)
if(!I || !user)
return 0
return FALSE
var/obj/item/bodypart/affecting
if(user == src)
@@ -125,7 +125,7 @@
"<span class='userdanger'>[user] [hulk_verb_continous] you!</span>", null, COMBAT_MESSAGE_RANGE, null, user,
"<span class='danger'>You [hulk_verb_simple] [src]!</span>")
apply_damage(15, BRUTE, wound_bonus=10)
return 1
return TRUE
/mob/living/carbon/human/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
. = ..()
@@ -168,7 +168,7 @@
if(..()) //successful monkey bite, this handles disease contraction.
var/damage = rand(1, 3)
apply_damage(damage, BRUTE, affecting, run_armor_check(affecting, MELEE))
return 1
return TRUE
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M)
. = ..()
@@ -183,7 +183,7 @@
visible_message("<span class='danger'>[M] has lunged at [src]!</span>", \
"<span class='userdanger'>[M] has lunged at you!</span>", target = M, \
target_message = "<span class='danger'>You have lunged at [src]!</span>")
return 0
return FALSE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.zone_selected))
if(!affecting)
affecting = get_bodypart(BODY_ZONE_CHEST)
@@ -195,7 +195,7 @@
target_message = "<span class='danger'>You have slashed at [src]!</span>")
log_combat(M, src, "attacked")
if(!dismembering_strike(M, M.zone_selected)) //Dismemberment successful
return 1
return TRUE
apply_damage(damage, BRUTE, affecting, armor_block)
if(M.a_intent == INTENT_DISARM) //Always drop item in hand, if no item, get stun instead.
@@ -252,7 +252,7 @@
var/dam_zone = dismembering_strike(M, pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
if(!dam_zone) //Dismemberment successful
return 1
return TRUE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
@@ -529,7 +529,7 @@
for(var/obj/item/I in inventory_items_to_kill)
I.acid_act(acidpwr, acid_volume)
return 1
return TRUE
/mob/living/carbon/human/singularity_act()
var/gain = 20
@@ -103,11 +103,11 @@
/mob/living/carbon/human/can_track(mob/living/user)
if(wear_id && istype(wear_id.GetID(), /obj/item/card/id/syndicate))
return 0
return FALSE
if(istype(head, /obj/item/clothing/head))
var/obj/item/clothing/head/hat = head
if(hat.blockTracking)
return 0
return FALSE
return ..()
@@ -11,14 +11,14 @@
/mob/living/carbon/human/slip(knockdown_amount, obj/O, lube)
if(HAS_TRAIT(src, TRAIT_NOSLIPALL))
return 0
return FALSE
if (!(lube & GALOSHES_DONT_HELP))
if(HAS_TRAIT(src, TRAIT_NOSLIPWATER))
return 0
return FALSE
if(shoes && istype(shoes, /obj/item/clothing))
var/obj/item/clothing/CS = shoes
if (CS.clothing_flags & NOSLIP)
return 0
return FALSE
if (lube & SLIDE_ICE)
if(shoes && istype(shoes, /obj/item/clothing))
var/obj/item/clothing/CS = shoes
@@ -32,7 +32,7 @@
if(shoes && istype(shoes, /obj/item/clothing))
var/obj/item/clothing/S = shoes
if (S.clothing_flags & NOSLIP)
return 0
return FALSE
return ..()
/mob/living/carbon/human/mob_has_gravity()
@@ -12,7 +12,7 @@
var/mob/living/carbon/human/H = owner
var/list/limbs_to_heal = H.get_missing_limbs()
if(limbs_to_heal.len < 1)
return 0
return FALSE
var/mode = H.get_ability_property(INNATE_ABILITY_LIMB_REGROWTH, PROPERTY_LIMB_REGROWTH_USAGE_TYPE)
switch(mode)
if(REGROWTH_USES_BLOOD)
@@ -20,7 +20,7 @@
return TRUE
else
return FALSE
return 0
return FALSE
/datum/action/innate/ability/limb_regrowth/Activate()
var/mob/living/carbon/human/H = owner
@@ -282,9 +282,9 @@
else
O = outfit
if(!istype(O))
return 0
return FALSE
if(!O)
return 0
return FALSE
return O.equip(src, visualsOnly, preference_source)
+2 -2
View File
@@ -223,7 +223,7 @@
if(cold)
//CITADEL EDIT Mandatory for vore code.
if(istype(loc, /obj/item/dogborg/sleeper) || isbelly(loc) || ismob(loc))
return 1 //freezing to death in sleepers ruins fun.
return TRUE //freezing to death in sleepers ruins fun.
//END EDIT
temperature = max(temperature, 2.7) //There is an occasional bug where the temperature is miscalculated in ares with a small amount of gas on them, so this is necessary to ensure that that bug does not affect this calculation. Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K.
var/thermal_protection_flags = cold ? get_cold_protection_flags(temperature) : get_heat_protection_flags(temperature)
@@ -254,7 +254,7 @@
if(missing_body_parts_flags & HAND_RIGHT)
max_protection -= THERMAL_PROTECTION_HAND_RIGHT
if(max_protection == 0) //Is it even a man if it doesn't have a body at all? Early return to avoid division by zero.
return 1
return TRUE
var/thermal_protection = 0
if(thermal_protection_flags)
+1 -1
View File
@@ -84,7 +84,7 @@
ears.talk_into(src, message, message_mode, spans, language)
return ITALICS | REDUCE_RANGE
return 0
return FALSE
/mob/living/carbon/human/get_alt_name()
if(name != GetVoice())
+12 -12
View File
@@ -321,8 +321,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
//Please override this locally if you want to define when what species qualifies for what rank if human authority is enforced.
/datum/species/proc/qualifies_for_rank(rank, list/features) //SPECIES JOB RESTRICTIONS
//if(rank in GLOB.command_positions) Left as an example: The format qualifies for rank takes.
// return 0 //It returns false when it runs the proc so they don't get jobs from the global list.
return 1 //It returns 1 to say they are a-okay to continue.
// return FALSE //It returns false when it runs the proc so they don't get jobs from the global list.
return TRUE //It returns 1 to say they are a-okay to continue.
/**
* Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.
@@ -1589,7 +1589,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
H.throw_alert("nutrition", /atom/movable/screen/alert/starving)
/datum/species/proc/update_health_hud(mob/living/carbon/human/H)
return 0
return FALSE
/datum/species/proc/handle_mutations_and_radiation(mob/living/carbon/human/H)
. = FALSE
@@ -1645,7 +1645,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
target.help_shake_act(user)
if(target != user)
log_combat(user, target, "shaked")
return 1
return TRUE
else
var/we_breathe = !HAS_TRAIT(user, TRAIT_NOBREATH)
var/we_lung = user.getorganslot(ORGAN_SLOT_LUNGS)
@@ -1661,12 +1661,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(target.check_martial_melee_block())
target.visible_message("<span class='warning'>[target] blocks [user]'s grab attempt!</span>", target = user, \
target_message = "<span class='warning'>[target] blocks your grab attempt!</span>")
return 0
return FALSE
if(attacker_style && attacker_style.grab_act(user,target))
return 1
return TRUE
else
target.grabbedby(user)
return 1
return TRUE
/datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style, attackchain_flags = NONE)
if(!attacker_style && HAS_TRAIT(user, TRAIT_PACIFISM))
@@ -1929,11 +1929,11 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(user != H)
var/list/block_return = list()
if(H.mob_run_block(I, totitemdamage, "the [I.name]", ((attackchain_flags & ATTACK_IS_PARRY_COUNTERATTACK)? ATTACK_TYPE_PARRY_COUNTERATTACK : NONE) | ATTACK_TYPE_MELEE, I.armour_penetration, user, affecting.body_zone, block_return) & BLOCK_SUCCESS)
return 0
return FALSE
totitemdamage = block_calculate_resultant_damage(totitemdamage, block_return)
if(H.check_martial_melee_block())
H.visible_message("<span class='warning'>[H] blocks [I]!</span>")
return 0
return FALSE
var/hit_area
@@ -1958,7 +1958,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
I.do_stagger_action(H, user, totitemdamage)
if(!totitemdamage)
return 0 //item force is zero
return FALSE //item force is zero
var/bloody = 0
if(((I.damtype == BRUTE) && I.force && prob(25 + (I.force * 2))))
@@ -2167,7 +2167,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/hit_percent = (100-(blocked+armor))/100
hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100
if(!forced && hit_percent <= 0)
return 0
return FALSE
var/obj/item/bodypart/BP = null
if(!spread_damage)
@@ -2224,7 +2224,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(BRAIN)
var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.brain_mod
H.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount)
return 1
return TRUE
/datum/species/proc/on_hit(obj/item/projectile/P, mob/living/carbon/human/H)
// called when hit by a projectile
@@ -43,7 +43,7 @@
/datum/species/arachnid/check_weakness(obj/item/weapon, mob/living/attacker)
if(istype(weapon, /obj/item/melee/flyswatter))
return 9 //flyswatters deal 10x damage to arachnids
return 0
return FALSE
/datum/species/arachnid/on_species_gain(mob/living/carbon/human/H, datum/species/old_species)
. = ..()
@@ -37,4 +37,4 @@
/datum/species/fly/check_weakness(obj/item/weapon, mob/living/attacker)
if(istype(weapon, /obj/item/melee/flyswatter))
return 29 //Flyswatters deal 30x damage to flypeople.
return 0
return FALSE
@@ -421,7 +421,7 @@
I = AM
var/mob/thrown_by = I.thrownby?.resolve()
if(thrown_by == H) //No throwing stuff at yourself to trigger the teleport
return 0
return FALSE
else
reactive_teleport(H)
@@ -463,8 +463,8 @@
/datum/action/innate/unstable_teleport/IsAvailable(silent = FALSE)
if(..())
if(world.time > last_teleport + cooldown)
return 1
return 0
return TRUE
return FALSE
/datum/action/innate/unstable_teleport/Activate()
var/mob/living/carbon/human/H = owner
@@ -546,7 +546,7 @@
if(istype(AM, /obj/item))
I = AM
if(I.thrownby == H) //No throwing stuff at yourself to make bananas
return 0
return FALSE
else
new/obj/item/grown/bananapeel/specialpeel(get_turf(H))
last_banana = world.time
@@ -183,8 +183,8 @@
if(..())
var/mob/living/carbon/human/H = owner
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
return 1
return 0
return TRUE
return FALSE
/datum/action/innate/split_body/Activate()
var/mob/living/carbon/human/H = owner
@@ -70,7 +70,7 @@
H.equipOutfit(O, visualsOnly)
H.internal = H.get_item_for_held_index(2)
H.update_internals_hud_icon(1)
return 0
return FALSE
/datum/species/plasmaman/random_name(gender,unique,lastname)
if(unique)
@@ -129,7 +129,7 @@
return ..()
/obj/item/organ/heart/nightmare/Stop()
return 0
return FALSE
/obj/item/organ/heart/nightmare/on_death()
if(!owner)
+9 -9
View File
@@ -156,7 +156,7 @@
failed_last_breath = 1
throw_alert("not_enough_oxy", /atom/movable/screen/alert/not_enough_oxy)
return 0
return FALSE
var/safe_oxy_min = 16
var/safe_oxy_max = 50
@@ -312,7 +312,7 @@
//BREATH TEMPERATURE
handle_breath_temperature(breath)
return 1
return TRUE
//Fourth and final link in a breath chain
/mob/living/carbon/proc/handle_breath_temperature(datum/gas_mixture/breath)
@@ -660,7 +660,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
//used in human and monkey handle_environment()
/mob/living/carbon/proc/natural_bodytemperature_stabilization()
if(HAS_TRAIT(src, TRAIT_COLDBLOODED) || HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM))
return 0 //Return 0 as your natural temperature. Species proc handle_environment() will adjust your temperature based on this.
return FALSE //return FALSE as your natural temperature. Species proc handle_environment() will adjust your temperature based on this.
var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature
switch(bodytemperature)
@@ -675,7 +675,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
/mob/living/carbon/proc/get_cooling_efficiency()
if(!HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM))
return 1
return TRUE
var/integration_bonus = min(blood_volume * SYNTH_INTEGRATION_COOLANT_CAP, integrating_blood * SYNTH_INTEGRATION_COOLANT_PENALTY) //Integration blood somewhat helps, though only at 40% impact and to a cap of 25% of current blood level.
var/blood_effective_volume = blood_volume + integration_bonus
@@ -691,7 +691,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
return suitlink //If you are wearing full EVA or lavaland hazard gear (on lavaland), assume it has been made to accomodate your cooling needs.
var/datum/gas_mixture/environment = loc.return_air()
if(!environment)
return 0
return FALSE
var/pressure = environment.return_pressure()
var/heat = environment.return_temperature()
@@ -711,18 +711,18 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
var/turf/T = get_turf(src)
if(istype(head_item, /obj/item/clothing/head/helmet/space) && istype(suit_item, /obj/item/clothing/suit/space))
return 1
return TRUE
if(istype(head_item, /obj/item/clothing/head/mod) && istype(suit_item, /obj/item/clothing/suit/mod))
var/obj/item/clothing/suit/mod/modsuit = suit_item
var/obj/item/mod/control/mod_control = modsuit.mod
if(mod_control && mod_control.active)
return 1
return TRUE
if(T && is_mining_level(T.z) && istype(head_item, /obj/item/clothing/head/hooded/explorer) && istype(suit_item, /obj/item/clothing/suit/hooded/explorer))
return 1
return TRUE
return 0
return FALSE
/////////
//LIVER//
@@ -27,7 +27,7 @@
// taken from /mob/living/carbon/human/interactive/
/mob/living/carbon/monkey/proc/walk2derpless(target)
if(!target || IsStandingStill())
return 0
return FALSE
if(myPath.len <= 0)
myPath = get_path_to(src, target, 250, 1)
@@ -39,14 +39,14 @@
if(myPath.len >= 1)
walk_to(src,myPath[1],0,5)
myPath -= myPath[1]
return 1
return TRUE
// failed to path correctly so just try to head straight for a bit
walk_to(src,get_turf(target),0,5)
sleep(1)
walk_to(src,0)
return 0
return FALSE
// taken from /mob/living/carbon/human/interactive/
/mob/living/carbon/monkey/proc/IsDeadOrIncap(checkDead = TRUE)
@@ -137,7 +137,7 @@
/mob/living/carbon/monkey/has_smoke_protection()
if(wear_mask)
if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT)
return 1
return TRUE
/mob/living/carbon/monkey/handle_fire()
. = ..()
@@ -171,8 +171,8 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list(
/mob/living/carbon/monkey/IsVocal()
if(!getorganslot(ORGAN_SLOT_LUNGS))
return 0
return 1
return FALSE
return TRUE
/mob/living/carbon/monkey/can_use_guns(obj/item/G)
return TRUE
@@ -114,7 +114,7 @@
if(!affecting)
affecting = get_bodypart(BODY_ZONE_CHEST)
if(!dismembering_strike(M, affecting.body_zone)) //Dismemberment successful
return 1
return TRUE
apply_damage(damage, BRUTE, affecting)
else
@@ -159,7 +159,7 @@
damage = rand(20, 40)
var/dam_zone = dismembering_strike(M, pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
if(!dam_zone) //Dismemberment successful
return 1
return TRUE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
affecting = get_bodypart(BODY_ZONE_CHEST)
+2 -2
View File
@@ -9,9 +9,9 @@
/mob/living/carbon/can_speak_vocal(message)
if(silent)
return 0
return FALSE
if(get_selected_language() == /datum/language/signlanguage && handcuffed)
return 0
return FALSE
return ..()
/mob/living/carbon/could_speak_language(datum/language/language)
+8 -8
View File
@@ -17,7 +17,7 @@
/mob/living/proc/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE)
var/hit_percent = (100-blocked)/100
if(!damage || (hit_percent <= 0))
return 0
return FALSE
var/damage_amount = forced ? damage : damage * hit_percent
switch(damagetype)
if(BRUTE)
@@ -32,7 +32,7 @@
adjustCloneLoss(damage_amount, forced = forced)
if(STAMINA)
adjustStaminaLoss(damage_amount, forced = forced)
return 1
return TRUE
/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs
switch(damagetype)
@@ -67,7 +67,7 @@
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0)
if(blocked >= 100)
return 0
return FALSE
if(brute)
apply_damage(brute, BRUTE, def_zone, blocked)
if(burn)
@@ -82,12 +82,12 @@
apply_damage(stamina, STAMINA, def_zone, blocked)
if(brain)
apply_damage(brain, BRAIN, def_zone, blocked)
return 1
return TRUE
/mob/living/proc/apply_effect(effect = 0,effecttype = EFFECT_STUN, blocked = FALSE, knockdown_stamoverride, knockdown_stammax)
var/hit_percent = (100-blocked)/100
if(!effect || (hit_percent <= 0))
return 0
return FALSE
switch(effecttype)
if(EFFECT_STUN)
Stun(effect * hit_percent)
@@ -109,7 +109,7 @@
if(EFFECT_JITTER)
if((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE))
jitteriness = max(jitteriness,(effect * hit_percent))
return 1
return TRUE
/mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = 0, stamina = 0, jitter = 0, kd_stamoverride, kd_stammax)
@@ -163,7 +163,7 @@
/mob/living/proc/setOxyLoss(amount, updating_health = TRUE, forced = FALSE)
if(status_flags & GODMODE)
return 0
return FALSE
oxyloss = amount
if(updating_health)
updatehealth()
@@ -179,7 +179,7 @@
affected_by = TOX_SYSCORRUPT
if(toxins_type != affected_by)
return 0
return FALSE
else
return toxloss
+1 -1
View File
@@ -133,7 +133,7 @@
if(fire_stacks < 0) //If we've doused ourselves in water to avoid fire, dry off slowly
fire_stacks = min(0, fire_stacks + 1)//So we dry ourselves back to default, nonflammable.
if(!on_fire)
return 1
return TRUE
if(fire_stacks > 0)
adjust_fire_stacks(-0.1) //the fire is slowly consumed
else
+12 -12
View File
@@ -243,7 +243,7 @@
// If there's no dir_to_target then the player is on the same turf as the atom they're trying to push.
// This can happen when a player is stood on the same turf as a directional window. All attempts to push
// the window will fail as get_dir will return 0 and the player will be unable to move the window when
// the window will fail as get_dir will return FALSE and the player will be unable to move the window when
// it should be pushable.
// In this scenario, we will use the facing direction of the /mob/living attempting to push the atom as
// a fallback.
@@ -683,7 +683,7 @@
/mob/living/proc/can_be_revived()
. = 1
if(health <= HEALTH_THRESHOLD_DEAD)
return 0
return FALSE
/mob/living/proc/update_damage_overlays()
return
@@ -1051,27 +1051,27 @@
//basic fast checks go first. When overriding this proc, I recommend calling ..() at the end.
var/turf/T = get_turf(src)
if(!T)
return 0
return FALSE
if(is_centcom_level(T.z)) //dont detect mobs on centcom
return 0
return FALSE
if(is_away_level(T.z))
return 0
return FALSE
if(user != null && src == user)
return 0
return FALSE
if(invisibility || alpha == 0)//cloaked
return 0
return FALSE
if(digitalcamo || digitalinvis)
return 0
return FALSE
// Now, are they viewable by a camera? (This is last because it's the most intensive check)
if(!near_camera(src))
return 0
return FALSE
return 1
return TRUE
//used in datum/reagents/reaction() proc
/mob/living/proc/get_permeability_protection(list/target_zones)
return 0
return FALSE
/mob/living/proc/harvest(mob/living/user) //used for extra objects etc. in butchering
return
@@ -1120,7 +1120,7 @@
/mob/living/proc/check_weakness(obj/item/weapon, mob/living/attacker)
if(mind && mind.has_antag_datum(/datum/antagonist/devil))
return check_devil_bane_multiplier(weapon, attacker)
return 1
return TRUE
/mob/living/proc/check_acedia()
if(mind && mind.has_objective(/datum/objective/sintouched/acedia))
+13 -13
View File
@@ -20,15 +20,15 @@
/mob/living/proc/getarmor(def_zone, type)
return 0
return FALSE
//this returns the mob's protection against eye damage (number between -1 and 2) from bright lights
/mob/living/proc/get_eye_protection()
return 0
return FALSE
//this returns the mob's protection against ear damage (0:no protection; 1: some ear protection; 2: has no ears)
/mob/living/proc/get_ear_protection()
return 0
return FALSE
/mob/living/proc/is_mouth_covered(head_only = 0, mask_only = 0)
return FALSE
@@ -96,7 +96,7 @@
return P.on_hit(src, final_percent, def_zone) ? BULLET_ACT_HIT : BULLET_ACT_BLOCK
/mob/living/proc/check_projectile_dismemberment(obj/item/projectile/P, def_zone)
return 0
return FALSE
/obj/item/proc/get_volume_by_throwforce_and_or_w_class()
if(throwforce && w_class)
@@ -104,7 +104,7 @@
else if(w_class)
return clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100
else
return 0
return FALSE
/mob/living/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked = FALSE, datum/thrownthing/throwingdatum)
if(!isitem(AM))
@@ -202,11 +202,11 @@
if(GRAB_NECK)
log_combat(user, src, "attempted to strangle", addition="kill grab")
if(!do_mob(user, src, grab_upgrade_time))
return 0
return FALSE
if(!user.pulling || user.pulling != src || user.grab_state != old_grab_state || user.a_intent != INTENT_GRAB)
return 0
return FALSE
if(user.voremode && user.grab_state == GRAB_AGGRESSIVE)
return 0
return FALSE
user.setGrabState(user.grab_state + 1)
switch(user.grab_state)
if(GRAB_AGGRESSIVE)
@@ -240,7 +240,7 @@
if(!buckled && !density)
Move(user.loc)
user.set_pull_offsets(src, grab_state)
return 1
return TRUE
/mob/living/on_attack_hand(mob/user, act_intent = user.a_intent, attackchain_flags)
..() //Ignoring parent return value here.
@@ -302,7 +302,7 @@
M.visible_message("<span class='notice'>\The [M] [M.friendly_verb_continuous] [src]!</span>",
"<span class='notice'>You [M.friendly_verb_simple] [src]!</span>", target = src,
target_message = "<span class='notice'>\The [M] [M.friendly_verb_continuous] you!</span>")
return 0
return FALSE
else
if(HAS_TRAIT(M, TRAIT_PACIFISM))
to_chat(M, "<span class='notice'>You don't want to hurt anyone!</span>")
@@ -310,7 +310,7 @@
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
var/list/return_list = list()
if(mob_run_block(M, damage, "the [M.name]", ATTACK_TYPE_MELEE, M.armour_penetration, M, check_zone(M.zone_selected), return_list) & BLOCK_SUCCESS)
return 0
return FALSE
damage = block_calculate_resultant_damage(damage, return_list)
if(M.attack_sound)
playsound(src, M.attack_sound, 50, 1, 1)
@@ -418,7 +418,7 @@
/mob/living/acid_act(acidpwr, acid_volume)
take_bodypart_damage(acidpwr * min(1, acid_volume * 0.1))
return 1
return TRUE
///As the name suggests, this should be called to apply electric shocks.
/mob/living/proc/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE)
@@ -518,7 +518,7 @@
//called when the mob receives a loud bang
/mob/living/proc/soundbang_act()
return 0
return FALSE
//to damage the clothes worn by a mob
/mob/living/proc/damage_clothes(damage_amount, damage_type = BRUTE, damage_flag = 0, def_zone)
+1 -1
View File
@@ -81,7 +81,7 @@
if (!buckled.anchored)
return buckled.Move(newloc, direct)
else
return 0
return FALSE
var/old_direction = dir
var/turf/T = loc
+13 -13
View File
@@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(radio_return & REDUCE_RANGE)
message_range = 1
if(radio_return & NOPASS)
return 1
return TRUE
//No screams in space, unless you're next to someone.
var/turf/T = get_turf(src)
@@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
succumb()
to_chat(src, compose_message(src, language, message, null, spans, message_mode))
return 1
return TRUE
/mob/living/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, face_name = FALSE, atom/movable/source)
. = ..()
@@ -358,23 +358,23 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
/mob/living/can_speak(message) //For use outside of Say()
if(can_speak_basic(message) && can_speak_vocal(message))
return 1
return TRUE
/mob/living/proc/can_speak_basic(message, ignore_spam = FALSE) //Check BEFORE handling of xeno and ling channels
if(client)
if(client.prefs.muted & MUTE_IC)
to_chat(src, "<span class='danger'>You cannot speak in IC (muted).</span>")
return 0
return FALSE
if(!ignore_spam && client.handle_spam_prevention(message,MUTE_IC))
return 0
return FALSE
return 1
return TRUE
/mob/living/proc/can_speak_vocal(message) //Check AFTER handling of xeno and ling channels
var/obj/item/bodypart/leftarm = get_bodypart(BODY_ZONE_L_ARM)
var/obj/item/bodypart/rightarm = get_bodypart(BODY_ZONE_R_ARM)
if(HAS_TRAIT(src, TRAIT_MUTE) && get_selected_language() != /datum/language/signlanguage)
return 0
return FALSE
if (get_selected_language() == /datum/language/signlanguage)
var/left_disabled = FALSE
@@ -390,15 +390,15 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
else
right_disabled = TRUE
if (left_disabled && right_disabled) // We want this to only return false if both arms are either missing or disabled since you could technically sign one-handed.
return 0
return FALSE
if(is_muzzled())
return 0
return FALSE
if(!IsVocal())
return 0
return FALSE
return 1
return TRUE
/mob/living/proc/get_key(message)
var/key = message[1]
@@ -468,9 +468,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
return ITALICS | REDUCE_RANGE
if(MODE_BINARY)
return ITALICS | REDUCE_RANGE //Does not return 0 since this is only reached by humans, not borgs or AIs.
return ITALICS | REDUCE_RANGE //Does not return FALSE since this is only reached by humans, not borgs or AIs.
return 0
return FALSE
/mob/living/say_mod(input, message_mode)
. = ..()
+2 -2
View File
@@ -618,7 +618,7 @@
queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, home.name), class)
if (viewalerts)
ai_alerts()
return 1
return TRUE
/mob/living/silicon/ai/freeCamera(area/home, obj/machinery/camera/cam)
for(var/class in alarms)
@@ -906,7 +906,7 @@
to_chat(user, "<span class='boldnotice'>Transfer successful</span>: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
/mob/living/silicon/ai/can_buckle()
return 0
return FALSE
/mob/living/silicon/ai/incapacitated(ignore_restraints, ignore_grab)
if(aiRestorePowerRoutine)
@@ -12,8 +12,8 @@
if (stat != DEAD)
adjustBruteLoss(60)
updatehealth()
return 1
return 0
return TRUE
return FALSE
/mob/living/silicon/ai/emp_act(severity)
. = ..()
@@ -177,8 +177,8 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new)
if(chunk.changed)
chunk.hasChanged(1) // Update now, no matter if it's visible or not.
if(chunk.visibleTurfs[position])
return 1
return 0
return TRUE
return FALSE
/datum/cameranet/proc/stat_entry()
if(!statclick)
@@ -115,7 +115,7 @@
return TRUE
/mob/camera/aiEye/Move()
return 0
return FALSE
/mob/camera/aiEye/proc/GetViewerClient()
if(ai)
+2 -2
View File
@@ -187,8 +187,8 @@
SEND_SOUND(M, voice)
else
SEND_SOUND(only_listener, voice)
return 1
return 0
return TRUE
return FALSE
#undef VOX_DELAY
#endif
@@ -2,14 +2,14 @@
/mob/living/silicon/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = SHARP_NONE)
var/hit_percent = (100-blocked)/100
if(!damage || (!forced && hit_percent <= 0))
return 0
return FALSE
var/damage_amount = forced ? damage : damage * hit_percent
switch(damagetype)
if(BRUTE)
adjustBruteLoss(damage_amount, forced = forced)
if(BURN)
adjustFireLoss(damage_amount, forced = forced)
return 1
return TRUE
/mob/living/silicon/apply_effect(effect = 0,effecttype = EFFECT_STUN, blocked = FALSE)
+1 -1
View File
@@ -230,7 +230,7 @@
/datum/action/innate/pai/Trigger()
if(!ispAI(owner))
return 0
return FALSE
P = owner
/datum/action/innate/pai/software
@@ -12,7 +12,7 @@
/datum/paiCandidate/proc/savefile_save(mob/user)
if(IsGuestKey(user.key))
return 0
return FALSE
var/savefile/F = new /savefile(src.savefile_path(user))
@@ -24,7 +24,7 @@
WRITE_FILE(F["version"], 1)
return 1
return TRUE
// loads the savefile corresponding to the mob's ckey
// if silent=true, report incompatible savefiles
@@ -33,12 +33,12 @@
/datum/paiCandidate/proc/savefile_load(mob/user, silent = TRUE)
if (IsGuestKey(user.key))
return 0
return FALSE
var/path = savefile_path(user)
if (!fexists(path))
return 0
return FALSE
var/savefile/F = new /savefile(path)
@@ -52,10 +52,10 @@
fdel(path)
if (!silent)
alert(user, "Your savefile was incompatible with this version and was deleted.")
return 0
return FALSE
F["name"] >> src.name
F["description"] >> src.description
F["role"] >> src.role
F["comments"] >> src.comments
return 1
return TRUE
@@ -206,12 +206,12 @@
var/count = 0
while(!isliving(M))
if(!M || !M.loc)
return 0 //For a runtime where M ends up in nullspace (similar to bluespace but less colourful)
return FALSE //For a runtime where M ends up in nullspace (similar to bluespace but less colourful)
M = M.loc
count++
if(count >= 6)
to_chat(src, "You are not being carried by anyone!")
return 0
return FALSE
spawn CheckDNA(M, src)
if("pdamessage")
@@ -351,7 +351,7 @@
if(module_active)
return held_items.Find(module_active)
return 0
return FALSE
/**
* Selects the module in the slot module_num.
@@ -271,7 +271,7 @@
if(source.z != z)
return
if(stat == DEAD)
return 1
return TRUE
var/list/our_sort = alarms[class]
for(var/areaname in our_sort)
if (areaname == home.name)
@@ -279,7 +279,7 @@
var/list/sources = alarm[3]
if (!(source in sources))
sources += source
return 1
return TRUE
var/obj/machinery/camera/cam = null
var/list/our_cams = null
@@ -979,7 +979,7 @@
ionpulse = FALSE
revert_shell()
return 1
return TRUE
/mob/living/silicon/robot/proc/has_module()
if(!module || module.type == /obj/item/robot_module)
@@ -1302,7 +1302,7 @@
switch(choice)
if("Resting")
update_icons()
return 0
return FALSE
if("Sitting")
sitting = 1
if("Belly up")
@@ -1128,10 +1128,10 @@
if (energy >= amount)
energy -= amount
if (energy == 0)
return 1
return TRUE
return 2
else
return 0
return FALSE
/datum/robot_energy_storage/proc/add_charge(amount)
energy = min(energy + amount, max_energy)
@@ -1,6 +1,6 @@
/mob/living/silicon/robot/Process_Spacemove(movement_dir = 0)
if(ionpulse())
return 1
return TRUE
return ..()
/mob/living/silicon/robot/mob_negates_gravity()
+3 -3
View File
@@ -24,10 +24,10 @@
to_chat(M, "<span class='binarysay'>[link] [rendered]</span>")
/mob/living/silicon/binarycheck()
return 1
return TRUE
/mob/living/silicon/lingcheck()
return 0 //Borged or AI'd lings can't speak on the ling channel.
return FALSE //Borged or AI'd lings can't speak on the ling channel.
/mob/living/silicon/radio(message, message_mode, list/spans, language)
. = ..()
@@ -44,7 +44,7 @@
radio.talk_into(src, message, message_mode, spans, language)
return ITALICS | REDUCE_RANGE
return 0
return FALSE
/mob/living/silicon/get_message_mode(message)
. = ..()
+3 -3
View File
@@ -364,12 +364,12 @@
to_chat(src, "<span class='notice'>Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]</span>")
/mob/living/silicon/put_in_hand_check() // This check is for borgs being able to receive items, not put them in others' hands.
return 0
return FALSE
// The src mob is trying to place an item on someone
// But the src mob is a silicon!! Disable.
/mob/living/silicon/stripPanelEquip(obj/item/what, mob/who, slot)
return 0
return FALSE
/mob/living/silicon/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //Secbots won't hunt silicon units
@@ -434,7 +434,7 @@
return ..()
/mob/living/silicon/is_literate()
return 1
return TRUE
/mob/living/silicon/get_inactive_held_item()
return FALSE
@@ -95,7 +95,7 @@
for(var/mob/living/M in buckled_mobs)
unbuckle_mob(M)
M.electrocute_act(shock_damage/100, source, siemens_coeff, flags) //Hard metal shell conducts!
return 0 //So borgs they don't die trying to fix wiring
return FALSE //So borgs they don't die trying to fix wiring
/mob/living/silicon/emp_act(severity)
. = ..()
@@ -57,7 +57,7 @@
if(.) //successful larva bite
var/damage = rand(1, 3)
attack_threshold_check(damage)
return 1
return TRUE
if (M.a_intent == INTENT_HELP)
if (health > 0)
visible_message("<span class='notice'>[M.name] [response_help_continuous] [src].</span>", \
@@ -349,8 +349,8 @@
/mob/living/simple_animal/bot/ed209/proc/check_for_weapons(var/obj/item/slot_item)
if(slot_item && (slot_item.item_flags & NEEDS_PERMIT))
return 1
return 0
return TRUE
return FALSE
/mob/living/simple_animal/bot/ed209/explode()
walk_to(src,0)
@@ -284,9 +284,9 @@
/mob/living/simple_animal/bot/floorbot/proc/is_hull_breach(turf/t) //Ignore space tiles not considered part of a structure, also ignores shuttle docking areas.
var/area/t_area = get_area(t)
if(t_area && (t_area.name == "Space" || findtext(t_area.name, "huttle")))
return 0
return FALSE
else
return 1
return TRUE
//Floorbots, having several functions, need sort out special conditions here.
/mob/living/simple_animal/bot/floorbot/process_scan(scan_target)
@@ -279,17 +279,17 @@
if(isconstruct(A)) //is it a construct?
var/mob/living/simple_animal/hostile/construct/C = A
if(C.health < C.maxHealth) //is it hurt? let's go heal it if it is
return 1
return TRUE
else
return 0
return FALSE
else
return 0
return FALSE
/mob/living/simple_animal/hostile/construct/builder/CanAttack(atom/the_target)
if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it
return 0
return FALSE
if(Found(the_target) || ..()) //If we Found it or Can_Attack it normally, we Can_Attack it as long as it wasn't invisible
return 1 //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs
return TRUE //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs
/mob/living/simple_animal/hostile/construct/builder/MoveToTarget(var/list/possible_targets)
..()
@@ -297,7 +297,7 @@
var/mob/living/L = target
if(isconstruct(L) && L.health >= L.maxHealth) //is this target an unhurt construct? stop trying to heal it
LoseTarget()
return 0
return FALSE
if(L.health <= melee_damage_lower+melee_damage_upper) //ey bucko you're hurt as fuck let's go hit you
retreat_distance = null
minimum_distance = 1
@@ -670,7 +670,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
vocal_pitch = 0.6
/mob/living/simple_animal/pet/dog/corgi/puppy/void/Process_Spacemove(movement_dir = 0)
return 1 //Void puppies can navigate space.
return TRUE //Void puppies can navigate space.
//LISA! SQUEEEEEEEEE~
@@ -276,7 +276,7 @@
return ..()
/mob/living/simple_animal/drone/mob_negates_gravity()
return 1
return TRUE
/mob/living/simple_animal/drone/mob_has_gravity()
return ..() || mob_negates_gravity()
@@ -286,10 +286,10 @@
/mob/living/simple_animal/drone/bee_friendly()
// Why would bees pay attention to drones?
return 1
return TRUE
/mob/living/simple_animal/drone/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE)
return 0 //So they don't die trying to fix wiring
return FALSE //So they don't die trying to fix wiring
/mob/living/simple_animal/drone/can_see_reagents()
. = ..()
@@ -176,7 +176,7 @@
/mob/living/simple_animal/drone/cogscarab/get_armor_effectiveness()
if(GLOB.ratvar_awakens)
return 1
return TRUE
return ..()
/mob/living/simple_animal/drone/cogscarab/triggerAlarm(class, area/A, O, obj/alarmsource)
@@ -85,7 +85,7 @@
return (armorval * get_armor_effectiveness()) //armor is reduced for tiny fragile drones
/mob/living/simple_animal/drone/proc/get_armor_effectiveness()
return 0 //multiplier for whatever head armor you wear as a drone
return FALSE //multiplier for whatever head armor you wear as a drone
/mob/living/simple_animal/drone/proc/update_drone_hack(hack, clockwork)
if(!istype(src) || !mind)
@@ -15,22 +15,22 @@
if(I == internal_storage)
internal_storage = null
update_inv_internal_storage()
return 1
return 0
return TRUE
return FALSE
/mob/living/simple_animal/drone/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, clothing_check = FALSE, list/return_warning)
switch(slot)
if(ITEM_SLOT_HEAD)
if(head)
return 0
return FALSE
if(!((I.slot_flags & ITEM_SLOT_HEAD) || (I.slot_flags & ITEM_SLOT_MASK)))
return 0
return 1
return FALSE
return TRUE
if(ITEM_SLOT_DEX_STORAGE)
if(internal_storage)
return 0
return 1
return FALSE
return TRUE
..()
@@ -95,7 +95,7 @@
/mob/living/simple_animal/hostile/retaliate/goat/attackby(obj/item/O, mob/user, params)
if(stat == CONSCIOUS && istype(O, /obj/item/reagent_containers/glass))
udder.milkAnimal(O, user)
return 1
return TRUE
else
return ..()
@@ -159,7 +159,7 @@
/mob/living/simple_animal/cow/attackby(obj/item/O, mob/user, params)
if(stat == CONSCIOUS && istype(O, /obj/item/reagent_containers/glass))
udder.milkAnimal(O, user)
return 1
return TRUE
else
return ..()
@@ -228,7 +228,7 @@ GLOBAL_LIST(bad_gremlin_items)
return ..()
/mob/living/simple_animal/hostile/gremlin/IsAdvancedToolUser()
return 1
return TRUE
/mob/living/simple_animal/hostile/gremlin/proc/divide()
//Health is halved and then reduced by 2. A new gremlin is spawned with the same health as the parent
@@ -47,15 +47,15 @@
if(I == internal_storage)
internal_storage = null
update_inv_internal_storage()
return 1
return 0
return TRUE
return FALSE
/mob/living/simple_animal/hostile/guardian/dextrous/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, clothing_check = FALSE, list/return_warning)
switch(slot)
if(ITEM_SLOT_DEX_STORAGE)
if(internal_storage)
return 0
return 1
return FALSE
return TRUE
..()
/mob/living/simple_animal/hostile/guardian/dextrous/equip_to_slot(obj/item/I, slot)
@@ -29,7 +29,7 @@
/mob/living/simple_animal/hostile/guardian/protector/ToggleMode()
if(cooldown > world.time)
return 0
return FALSE
cooldown = world.time + 10
if(toggle)
cut_overlays()
@@ -246,7 +246,7 @@
/mob/living/simple_animal/hostile/poison/giant_spider/handle_automated_action()
if(!..()) //AIStatus is off
return 0
return FALSE
if(AIStatus == AI_IDLE)
//1% chance to skitter madly away
if(!busy && prob(1))
@@ -255,7 +255,7 @@
spawn(50)
stop_automated_movement = 0
walk(src,0)
return 1
return TRUE
/mob/living/simple_animal/hostile/poison/giant_spider/nurse/proc/GiveUp(C)
spawn(100)
@@ -418,7 +418,7 @@
else
message = "<span class='notice'>You prepare to wrap something in a cocoon. <B>Left-click your target to start wrapping!</B></span>"
add_ranged_ability(user, message, TRUE)
return 1
return TRUE
/obj/effect/proc_holder/wrap/InterceptClickOn(mob/living/caller, params, atom/target)
if(..())
@@ -450,11 +450,11 @@
/datum/action/innate/spider/lay_eggs/IsAvailable(silent = FALSE)
if(..())
if(!istype(owner, /mob/living/simple_animal/hostile/poison/giant_spider/nurse))
return 0
return FALSE
var/mob/living/simple_animal/hostile/poison/giant_spider/nurse/S = owner
if(S.fed)
return 1
return 0
return TRUE
return FALSE
/datum/action/innate/spider/lay_eggs/Activate()
if(!istype(owner, /mob/living/simple_animal/hostile/poison/giant_spider/nurse))
@@ -86,7 +86,7 @@
/mob/living/simple_animal/hostile/handle_automated_action()
if(AIStatus == AI_OFF)
return 0
return FALSE
var/list/possible_targets = ListTargets() //we look around for potential targets and make it a list for later use.
if(environment_smash)
@@ -98,7 +98,7 @@
if(!MoveToTarget(possible_targets)) //if we lose our target
if(AIShouldSleep(possible_targets)) // we try to acquire a new one
toggle_ai(AI_IDLE) // otherwise we go idle
return 1
return TRUE
/mob/living/simple_animal/hostile/handle_automated_movement()
. = ..()
@@ -273,7 +273,7 @@
if(target != null)
GainPatience()
Aggro()
return 1
return TRUE
//What we do after closing in
/mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE)
@@ -295,12 +295,12 @@
stop_automated_movement = 1
if(!target || !CanAttack(target))
LoseTarget()
return 0
return FALSE
if(target in possible_targets)
var/turf/T = get_turf(src)
if(target.z != T.z)
LoseTarget()
return 0
return FALSE
var/target_distance = get_dist(targets_from,target)
if(ranged) //We ranged? Shoot at em
if(!target.Adjacent(targets_from) && ranged_cooldown <= world.time) //But make sure they're not in range for a melee attack and our range attack is off cooldown
@@ -310,7 +310,7 @@
return TRUE
if(!Process_Spacemove()) //Drifting
walk(src,0)
return 1
return TRUE
if(retreat_distance != null) //If we have a retreat distance, check if we need to run from our target
if(target_distance <= retreat_distance) //If target's closer than our retreat distance, run
walk_away(src,target,retreat_distance,move_to_delay)
@@ -325,8 +325,8 @@
if(rapid_melee > 1 && target_distance <= melee_queue_distance)
MeleeAction(FALSE)
in_melee = FALSE //If we're just preparing to strike do not enter sidestep mode
return 1
return 0
return TRUE
return FALSE
if(environment_smash)
if(target.loc != null && get_dist(targets_from, target.loc) <= vision_range) //We can't see our target, but he's in our vision range still
if(ranged_ignores_vision && ranged_cooldown <= world.time) //we can't see our target... but we can fire at them!
@@ -334,12 +334,12 @@
if((environment_smash & ENVIRONMENT_SMASH_WALLS) || (environment_smash & ENVIRONMENT_SMASH_RWALLS)) //If we're capable of smashing through walls, forget about vision completely after finding our target
Goto(target,move_to_delay,minimum_distance)
FindHidden()
return 1
return TRUE
else
if(FindHidden())
return 1
return TRUE
LoseTarget()
return 0
return FALSE
/mob/living/simple_animal/hostile/proc/Goto(target, delay, minimum_distance)
if(target == src.target)
@@ -530,7 +530,7 @@
Goto(A,move_to_delay,minimum_distance)
if(A.Adjacent(targets_from))
A.attack_animal(src)
return 1
return TRUE
/mob/living/simple_animal/hostile/RangedAttack(atom/A, params) //Player firing
if(ranged && ranged_cooldown <= world.time)
@@ -70,7 +70,7 @@
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/enter_mecha(obj/vehicle/sealed/mecha/M)
if(!M)
return 0
return FALSE
target = null //Target was our mecha, so null it out
M.aimob_enter_mech(src)
targets_from = M
@@ -95,7 +95,7 @@
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/exit_mecha(obj/vehicle/sealed/mecha/M)
if(!M)
return 0
return FALSE
mecha.aimob_exit_mech(src)
allow_movement_on_non_turfs = FALSE
@@ -280,7 +280,7 @@
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/EscapeConfinement()
if(mecha && loc == mecha)
return 0
return FALSE
..()
@@ -153,7 +153,7 @@ Difficulty: Hard
if(is_enraged())
visible_message("<span class='danger'>[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!</span>", "<span class='userdanger'>You deflect the projectile!</span>")
playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 300, 1)
return 0
return FALSE
return ..()
/mob/living/simple_animal/hostile/megafauna/bubblegum/ex_act(severity, target, origin)
@@ -203,7 +203,7 @@ Difficulty: Medium
if(!any_attack)
for(var/obj/effect/temp_visual/drakewall/D in drakewalls)
qdel(D)
return 0 // nothing to attack in the arena time for enraged attack if we still have a target
return FALSE // nothing to attack in the arena time for enraged attack if we still have a target
for(var/turf/T in turfs)
if(!(T in empty))
new /obj/effect/temp_visual/lava_warning(T)
@@ -211,7 +211,7 @@ Difficulty: Medium
new /obj/effect/temp_visual/lava_safe(T)
amount--
sleep(24)
return 1 // attack finished completely
return TRUE // attack finished completely
/mob/living/simple_animal/hostile/megafauna/dragon/proc/arena_escape_enrage() // you ran somehow / teleported away from my arena attack now i'm mad fucker
SetRecoveryTime(80)
@@ -143,8 +143,8 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
/mob/living/simple_animal/hostile/mimic/copy/proc/CheckObject(obj/O)
if((isitem(O) || isstructure(O)) && !is_type_in_list(O, GLOB.protected_objects))
return 1
return 0
return TRUE
return FALSE
/mob/living/simple_animal/hostile/mimic/copy/proc/CopyObject(obj/O, mob/living/user, destroy_original = 0)
if(destroy_original || CheckObject(O))
@@ -176,7 +176,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
faction += "[REF(creator)]" // very unique
if(destroy_original)
qdel(O)
return 1
return TRUE
/mob/living/simple_animal/hostile/mimic/copy/DestroySurroundings()
if(destroy_objects)
@@ -197,11 +197,11 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
/mob/living/simple_animal/hostile/mimic/copy/machine/CanAttack(atom/the_target)
if(the_target == creator) // Don't attack our creator AI.
return 0
return FALSE
if(iscyborg(the_target))
var/mob/living/silicon/robot/R = the_target
if(R.connected_ai == creator) // Only attack robots that aren't synced to our creator AI.
return 0
return FALSE
return ..()
/mob/living/simple_animal/hostile/mimic/copy/ranged
@@ -39,7 +39,7 @@
for(var/mob/living/simple_animal/hostile/retaliate/H in around)
if(faction_check_mob(H) && !attack_same && !H.attack_same)
H.enemies |= enemies
return 0
return FALSE
/mob/living/simple_animal/hostile/retaliate/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
. = ..()
@@ -36,7 +36,7 @@
faction = list("shark")
/mob/living/simple_animal/hostile/shark/Process_Spacemove(var/movement_dir = 0)
return 1 //No drifting in space for space sharks....either!
return TRUE //No drifting in space for space sharks....either!
/mob/living/simple_animal/hostile/shark/FindTarget()
. = ..()
@@ -78,7 +78,7 @@
if(can_be_seen(NewLoc))
if(client)
to_chat(src, "<span class='warning'>You cannot move, there are eyes on you!</span>")
return 0
return FALSE
return ..()
/mob/living/simple_animal/hostile/statue/BiologicalLife(delta_time, times_fired)
@@ -136,7 +136,7 @@
// Cannot talk
/mob/living/simple_animal/hostile/statue/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
return 0
return FALSE
// Turn to dust when gibbed
@@ -150,7 +150,7 @@
if(isliving(the_target))
var/mob/living/L = the_target
if(!L.client && !L.ckey)
return 0
return FALSE
return ..()
// Don't attack your creator if there is one
@@ -228,4 +228,4 @@
/mob/living/simple_animal/hostile/statue/restrained(ignore_grab)
. = ..()
if(can_be_seen(loc))
return 1
return TRUE
+11 -11
View File
@@ -188,7 +188,7 @@
ears.talk_into(src, message, message_mode, spans, language)
return ITALICS | REDUCE_RANGE
return 0
return FALSE
GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
/datum/strippable_item/parrot_headset,
@@ -627,12 +627,12 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
parrot_state = PARROT_WANDER
parrot_stuck = 0
parrot_lastmove = null
return 1
return TRUE
else
parrot_lastmove = null
else
parrot_lastmove = src.loc
return 0
return FALSE
/mob/living/simple_animal/parrot/proc/attempt_item_theft()
//Search for item to steal
@@ -710,7 +710,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(held_item)
to_chat(src, "<span class='warning'>You are already holding [held_item]!</span>")
return 1
return TRUE
for(var/obj/item/I in view(1,src))
//Make sure we're not already holding it and it's small enough
@@ -726,7 +726,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return held_item
to_chat(src, "<span class='warning'>There is nothing of interest to take!</span>")
return 0
return FALSE
/mob/living/simple_animal/parrot/proc/steal_from_mob()
set name = "Steal from mob"
@@ -738,7 +738,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(held_item)
to_chat(src, "<span class='warning'>You are already holding [held_item]!</span>")
return 1
return TRUE
var/obj/item/stolen_item = null
@@ -755,7 +755,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return held_item
to_chat(src, "<span class='warning'>There is nothing of interest to take!</span>")
return 0
return FALSE
/mob/living/simple_animal/parrot/verb/drop_held_item_player()
set name = "Drop held item"
@@ -780,7 +780,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(!held_item)
if(src == usr) //So that other mobs wont make this message appear when they're bludgeoning you.
to_chat(src, "<span class='danger'>You have nothing to drop!</span>")
return 0
return FALSE
//parrots will eat crackers instead of dropping them
@@ -790,7 +790,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(health < maxHealth)
adjustBruteLoss(-10)
emote("me", EMOTE_VISIBLE, "[src] eagerly downs the cracker.")
return 1
return TRUE
if(!drop_gently)
@@ -800,13 +800,13 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
G.prime()
to_chat(src, "You let go of [held_item]!")
held_item = null
return 1
return TRUE
to_chat(src, "You drop [held_item].")
held_item.forceMove(drop_location())
held_item = null
return 1
return TRUE
/mob/living/simple_animal/parrot/proc/perch_player()
set name = "Sit"
@@ -215,7 +215,7 @@
if(Process_Spacemove(anydir))
Move(get_step(src, anydir), anydir)
turns_since_move = 0
return 1
return TRUE
/mob/living/simple_animal/proc/handle_automated_speech(var/override)
set waitfor = FALSE
@@ -620,11 +620,11 @@
/mob/living/simple_animal/slime/proc/will_hunt(hunger = -1) // Check for being stopped from feeding and chasing
if (docile)
return 0
return FALSE
if (hunger == 2 || rabid || attacked)
return 1
return TRUE
if (Leader)
return 0
return FALSE
if (holding_still)
return 0
return 1
return FALSE
return TRUE
@@ -16,16 +16,16 @@
var/mob/living/simple_animal/slime/S = owner
if(needs_growth == GROWTH_NEEDED)
if(S.amount_grown >= SLIME_EVOLUTION_THRESHOLD)
return 1
return 0
return 1
return TRUE
return FALSE
return TRUE
/mob/living/simple_animal/slime/verb/Feed()
set category = "Slime"
set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process."
if(stat)
return 0
return FALSE
var/list/choices = list()
for(var/mob/living/C in fov_view(1,src))
@@ -34,10 +34,10 @@
var/mob/living/M = input(src,"Who do you wish to feed on?") in null|choices
if(!M)
return 0
return FALSE
if(CanFeedon(M))
Feedon(M)
return 1
return TRUE
/datum/action/innate/slime/feed
name = "Feed"
@@ -326,7 +326,7 @@
if(M.a_intent == INTENT_HELP || M.a_intent == INTENT_DISARM)
for(var/datum/surgery/S in surgeries)
if(S.next_step(M,M.a_intent))
return 1
return TRUE
if(..()) //successful attack
attacked += 10
@@ -343,7 +343,7 @@
if(user.a_intent == INTENT_HELP || user.a_intent == INTENT_DISARM)
for(var/datum/surgery/S in surgeries)
if(S.next_step(user,user.a_intent))
return 1
return TRUE
if(istype(W, /obj/item/stack/sheet/mineral/plasma) && !stat) //Let's you feed slimes plasma.
if (user in Friends)
++Friends[user]
@@ -478,10 +478,10 @@
docile = 1
/mob/living/simple_animal/slime/can_unbuckle()
return 0
return FALSE
/mob/living/simple_animal/slime/can_buckle()
return 0
return FALSE
/mob/living/simple_animal/slime/get_mob_buckling_height(mob/seat)
if(..())
+8 -8
View File
@@ -29,7 +29,7 @@
var/datum/status_effect/incapacitating/stun/S = IsStun()
if(S)
return S.duration - world.time
return 0
return FALSE
/mob/living/proc/Stun(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -86,7 +86,7 @@
var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown()
if(K)
return K.duration - world.time
return 0
return FALSE
/mob/living/proc/Knockdown(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -142,7 +142,7 @@
var/datum/status_effect/incapacitating/immobilized/I = IsImmobilized()
if(I)
return I.duration - world.time
return 0
return FALSE
/mob/living/proc/Immobilize(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -198,7 +198,7 @@
var/datum/status_effect/incapacitating/paralyzed/P = IsParalyzed(FALSE)
if(P)
return P.duration - world.time
return 0
return FALSE
/mob/living/proc/Paralyze(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -254,7 +254,7 @@
var/datum/status_effect/incapacitating/dazed/I = IsDazed()
if(I)
return I.duration - world.time
return 0
return FALSE
/mob/living/proc/Daze(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_DAZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -310,7 +310,7 @@
var/datum/status_effect/staggered/I = IsStaggered()
if(I)
return I.duration - world.time
return 0
return FALSE
/mob/living/proc/Stagger(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STAGGER, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -417,7 +417,7 @@
var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious()
if(U)
return U.duration - world.time
return 0
return FALSE
/mob/living/proc/Unconscious(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
@@ -464,7 +464,7 @@
var/datum/status_effect/incapacitating/sleeping/S = IsSleeping()
if(S)
return S.duration - world.time
return 0
return FALSE
/mob/living/proc/Sleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration
if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN)
+6 -6
View File
@@ -62,7 +62,7 @@
set hidden = 1
if(!loc)
return 0
return FALSE
var/datum/gas_mixture/environment = loc.return_air()
@@ -677,7 +677,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
return
/mob/proc/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) //For sec bot threat assessment
return 0
return FALSE
/mob/proc/get_ghost(even_if_they_cant_reenter = 0)
if(mind)
@@ -750,7 +750,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
if(isliving(seat))
var/mob/living/L = seat
if(L.mob_size <= MOB_SIZE_SMALL) //being on top of a small mob doesn't put you very high.
return 0
return FALSE
return 9
//can the mob be buckled to something by default?
@@ -804,7 +804,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
/mob/proc/fully_replace_character_name(oldname,newname)
log_message("[src] name changed from [oldname] to [newname]", LOG_OWNERSHIP)
if(!newname)
return 0
return FALSE
real_name = newname
name = newname
if(mind)
@@ -822,7 +822,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
// Only update if this player is a target
if(obj.target && obj.target.current && obj.target.current.real_name == name)
obj.update_explanation_text()
return 1
return TRUE
//Updates GLOB.data_core records with new name , see mob/living/carbon/human
/mob/proc/replace_records_name(oldname,newname)
@@ -881,7 +881,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
client.mouse_pointer_icon = client.mouse_override_icon
/mob/proc/is_literate()
return 0
return FALSE
/mob/proc/can_hold_items()
return FALSE
+7 -7
View File
@@ -38,9 +38,9 @@
/proc/above_neck(zone)
var/list/zones = list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)
if(zones.Find(zone))
return 1
return TRUE
else
return 0
return FALSE
/**
* Convert random parts of a passed in message to stars
@@ -269,7 +269,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
var/mob/M = i
if(M.real_name == msg)
return M
return 0
return FALSE
/mob/proc/first_name()
var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace or "-"
@@ -364,7 +364,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return FALSE
/mob/proc/reagent_check(datum/reagent/R) // utilized in the species code
return 1
return TRUE
/proc/notify_ghosts(message, ghost_sound, enter_link, atom/source, mutable_appearance/alert_overlay, action = NOTIFY_JUMP, flashwindow = TRUE, ignore_mapload = TRUE, ignore_key, ignore_dnr_observers = FALSE, header) //Easy notification of ghosts.
if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load
@@ -407,7 +407,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
H.update_damage_overlays()
user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].", \
"<span class='notice'>You fix some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].</span>")
return 1 //successful heal
return TRUE //successful heal
else
to_chat(user, "<span class='warning'>[affecting] is already in good condition!</span>")
@@ -478,9 +478,9 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
/mob/proc/is_flying(mob/M = src)
if(M.movement_type & FLYING)
return 1
return TRUE
else
return 0
return FALSE
/mob/proc/click_random_mob()
var/list/nearby_mobs = list()
+1 -1
View File
@@ -154,7 +154,7 @@
return TRUE
/mob/proc/hivecheck()
return 0
return FALSE
/mob/proc/lingcheck()
return LINGHIVE_NONE
+2 -2
View File
@@ -128,7 +128,7 @@ global procs
handle_inherent_channels(message, message_mode)
If message_mode is MODE_BINARY, MODE_ALIEN or MODE_CHANGELING (or, for AIs, MODE_HOLOPAD), this will
handle speaking in those modes. Return 1 to exit say().
handle speaking in those modes. return TRUE to exit say().
treat_message(message)
What it says on the tin. Treats the message according to masks, mutantraces, mutations, etc.
@@ -143,7 +143,7 @@ global procs
ITALICS = add italics to the message
REDUCE_RANGE = reduce the message range to one tile.
Return 0 if no radio was spoken into.
return FALSE if no radio was spoken into.
IMPORTANT: remember to call ..() and check for ..()'s return value properly!
============================RADIOS=============================
+13 -13
View File
@@ -603,35 +603,35 @@
//Bad mobs! - Remember to add a comment explaining what's wrong with the mob
if(!MP)
return 0 //Sanity, this should never happen.
return FALSE //Sanity, this should never happen.
if(ispath(MP, /mob/living/simple_animal/hostile/construct))
return 0 //Verbs do not appear for players.
return FALSE //Verbs do not appear for players.
//Good mobs!
if(ispath(MP, /mob/living/simple_animal/pet/cat))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/pet/dog/corgi))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/crab))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/hostile/carp))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/hostile/mushroom))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/hostile/construct/shade))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/hostile/killertomato))
return 1
return TRUE
if(ispath(MP, /mob/living/simple_animal/mouse))
return 1 //It is impossible to pull up the player panel for mice (Fixed! - Nodrak)
return TRUE //It is impossible to pull up the player panel for mice (Fixed! - Nodrak)
if(ispath(MP, /mob/living/simple_animal/hostile/bear))
return 1 //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak)
return TRUE //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak)
if(ispath(MP, /mob/living/simple_animal/parrot))
return 1 //Parrots are no longer unfinished! -Nodrak
return TRUE //Parrots are no longer unfinished! -Nodrak
//Not in here? Must be untested!
return 0
return FALSE
#undef TRANSFORMATION_DURATION