Hard upstream sync (#6951)
* maps - none of our changes included yet i'll get them in after i finish up the rest of the sync * sync part 1 - underscore folders in code * controllers folder * datums folder * game folder * cmon, work * modules - admin to awaymissions * cargo to events * fields to lighting * mapping > ruins * rest of the code folder * rest of the folders in the root directory * DME * fixes compiling errors. it compiles so it works * readds map changes * fixes dogborg module select * fixes typo in moduleselect_alternate_icon filepath
This commit is contained in:
@@ -56,11 +56,13 @@
|
||||
..()
|
||||
|
||||
/obj/item/organ/cyberimp/arm/emp_act(severity)
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(prob(15/severity) && owner)
|
||||
to_chat(owner, "<span class='warning'>[src] is hit by EMP!</span>")
|
||||
// give the owner an idea about why his implant is glitching
|
||||
Retract()
|
||||
..()
|
||||
|
||||
/obj/item/organ/cyberimp/arm/proc/Retract()
|
||||
if(!holder || (holder in src))
|
||||
@@ -134,6 +136,9 @@
|
||||
|
||||
|
||||
/obj/item/organ/cyberimp/arm/gun/emp_act(severity)
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(prob(30/severity) && owner && !crit_fail)
|
||||
Retract()
|
||||
owner.visible_message("<span class='danger'>A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!</span>")
|
||||
@@ -143,8 +148,6 @@
|
||||
owner.IgniteMob()
|
||||
owner.adjustFireLoss(25)
|
||||
crit_fail = 1
|
||||
else // The gun will still discharge anyway.
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/organ/cyberimp/arm/gun/laser
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
synthesizing = FALSE
|
||||
|
||||
/obj/item/organ/cyberimp/chest/nutriment/emp_act(severity)
|
||||
if(!owner)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
owner.reagents.add_reagent("bad_food", poison_amount / severity)
|
||||
to_chat(owner, "<span class='warning'>You feel like your insides are burning.</span>")
|
||||
@@ -89,7 +90,8 @@
|
||||
revive_cost += 40
|
||||
|
||||
/obj/item/organ/cyberimp/chest/reviver/emp_act(severity)
|
||||
if(!owner)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
|
||||
if(reviving)
|
||||
@@ -198,4 +200,3 @@
|
||||
|
||||
toggle(silent = TRUE)
|
||||
return 0
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/organ/cyberimp/brain/emp_act(severity)
|
||||
if(!owner)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
var/stun_amount = 200/severity
|
||||
owner.Stun(stun_amount)
|
||||
to_chat(owner, "<span class='warning'>Your body seizes up!</span>")
|
||||
return stun_amount
|
||||
|
||||
|
||||
/obj/item/organ/cyberimp/brain/anti_drop
|
||||
@@ -70,13 +70,13 @@
|
||||
|
||||
|
||||
/obj/item/organ/cyberimp/brain/anti_drop/emp_act(severity)
|
||||
if(!owner)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
var/range = severity ? 10 : 5
|
||||
var/atom/A
|
||||
if(active)
|
||||
release_items()
|
||||
..()
|
||||
for(var/obj/item/I in stored_items)
|
||||
A = pick(oview(range))
|
||||
I.throw_at(A, range, 2)
|
||||
@@ -113,11 +113,11 @@
|
||||
owner.SetKnockdown(STUN_SET_AMOUNT)
|
||||
|
||||
/obj/item/organ/cyberimp/brain/anti_stun/emp_act(severity)
|
||||
if(crit_fail)
|
||||
. = ..()
|
||||
if(crit_fail || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
crit_fail = TRUE
|
||||
addtimer(CALLBACK(src, .proc/reboot), 90 / severity)
|
||||
..()
|
||||
|
||||
/obj/item/organ/cyberimp/brain/anti_stun/proc/reboot()
|
||||
crit_fail = FALSE
|
||||
@@ -135,12 +135,13 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/organ/cyberimp/mouth/breathing_tube/emp_act(severity)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(prob(60/severity))
|
||||
to_chat(owner, "<span class='warning'>Your breathing tube suddenly closes!</span>")
|
||||
owner.losebreath += 2
|
||||
|
||||
|
||||
|
||||
//BOX O' IMPLANTS
|
||||
|
||||
/obj/item/storage/box/cyber_implants
|
||||
|
||||
@@ -89,11 +89,11 @@
|
||||
status = ORGAN_ROBOTIC
|
||||
|
||||
/obj/item/organ/eyes/robotic/emp_act(severity)
|
||||
if(!owner)
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
if(prob(10 * severity))
|
||||
return
|
||||
if(severity > 1)
|
||||
if(prob(10 * severity))
|
||||
return
|
||||
to_chat(owner, "<span class='warning'>Static obfuscates your vision!</span>")
|
||||
owner.flash_act(visual = 1)
|
||||
|
||||
@@ -232,9 +232,11 @@
|
||||
owner.cut_overlay(mob_overlay)
|
||||
|
||||
/obj/item/organ/eyes/robotic/glow/emp_act()
|
||||
if(active)
|
||||
deactivate(silent = TRUE)
|
||||
|
||||
. = ..()
|
||||
if(!active || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
deactivate(silent = TRUE)
|
||||
|
||||
/obj/item/organ/eyes/robotic/glow/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = FALSE)
|
||||
. = ..()
|
||||
if (mobhook && mobhook.parent != M)
|
||||
|
||||
@@ -152,6 +152,9 @@
|
||||
synthetic = TRUE
|
||||
|
||||
/obj/item/organ/heart/cybernetic/emp_act()
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
Stop()
|
||||
|
||||
/obj/item/organ/heart/freedom
|
||||
@@ -167,4 +170,4 @@
|
||||
to_chat(owner, "<span class='userdanger'>You feel yourself dying, but you refuse to give up!</span>")
|
||||
owner.heal_overall_damage(15, 15)
|
||||
if(owner.reagents.get_reagent_amount("ephedrine") < 20)
|
||||
owner.reagents.add_reagent("ephedrine", 10)
|
||||
owner.reagents.add_reagent("ephedrine", 10)
|
||||
|
||||
@@ -27,10 +27,9 @@
|
||||
|
||||
if(filterToxins && !owner.has_trait(TRAIT_TOXINLOVER))
|
||||
//handle liver toxin filtration
|
||||
var/static/list/toxinstypecache = typecacheof(/datum/reagent/toxin)
|
||||
for(var/I in C.reagents.reagent_list)
|
||||
var/datum/reagent/pickedreagent = I
|
||||
if(is_type_in_typecache(pickedreagent, toxinstypecache))
|
||||
if(istype(pickedreagent, /datum/reagent/toxin))
|
||||
var/thisamount = C.reagents.get_reagent_amount(initial(pickedreagent.id))
|
||||
if (thisamount <= toxTolerance && thisamount)
|
||||
C.reagents.remove_reagent(initial(pickedreagent.id), 1)
|
||||
@@ -78,6 +77,9 @@
|
||||
toxLethality = 0.008 //20% less damage than a normal liver
|
||||
|
||||
/obj/item/organ/liver/cybernetic/emp_act(severity)
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
switch(severity)
|
||||
if(1)
|
||||
damage+=100
|
||||
|
||||
@@ -346,6 +346,9 @@
|
||||
synthetic = TRUE
|
||||
|
||||
/obj/item/organ/lungs/cybernetic/emp_act()
|
||||
. = ..()
|
||||
if(. & EMP_PROTECT_SELF)
|
||||
return
|
||||
owner.losebreath = 20
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user