[MIRROR] Fully removes devil and affiliated shitcode (#922)

* Fully removes devil and affiliated shitcode (#53612)

Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.

* Fully removes devil and affiliated shitcode

* weh

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
This commit is contained in:
SkyratBot
2020-09-23 10:00:29 +01:00
committed by GitHub
co-authored by TiviPlus Azarak
parent 5db797b9a3
commit 7979f4d1b0
85 changed files with 128 additions and 2965 deletions
@@ -129,7 +129,7 @@
return FALSE
if(iscarbon(M))
// disallowed carbons
if(isalien(M) || istruedevil(M))
if(isalien(M))
return FALSE
var/mob/living/carbon/target = M
// gotta have a head to be implanted (no changelings or sentient plants)
-3
View File
@@ -898,9 +898,6 @@
if (suiciding)
return DEFIB_FAIL_SUICIDE
if (hellbound)
return DEFIB_FAIL_HELLBOUND
if (HAS_TRAIT(src, TRAIT_HUSK))
return DEFIB_FAIL_HUSK
@@ -550,14 +550,10 @@
else
to_chat(src, "<span class='warning'>Your eyes are really starting to hurt. This can't be good for you!</span>")
if(has_bane(BANE_LIGHT))
mind.disrupt_spells(-500)
return 1
else if(damage == 0) // just enough protection
if(prob(20))
to_chat(src, "<span class='notice'>Something bright flashes in the corner of your vision!</span>")
if(has_bane(BANE_LIGHT))
mind.disrupt_spells(0)
/mob/living/carbon/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15)
@@ -39,8 +39,6 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
if(SSticker.HasRoundStarted())
SSblackbox.ReportDeath(src)
log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK)
if(is_devil(src))
INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src)
to_chat(src, "<span class='warning'>You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.</span>")
@@ -122,8 +122,6 @@
if(!just_sleeping)
if(suiciding)
. += "<span class='warning'>[t_He] appear[p_s()] to have committed suicide... there is no hope of recovery.</span>"
if(hellbound)
. += "<span class='warning'>[t_His] soul seems to have been ripped out of [t_his] body. Revival is impossible.</span>"
. += ""
if(getorgan(/obj/item/organ/brain) && !key && !get_ghost(FALSE, TRUE))
. += "<span class='deadsay'>[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed...</span>"
@@ -922,11 +922,6 @@
dna.remove_mutation(HM.name)
return ..()
/mob/living/carbon/human/check_weakness(obj/item/weapon, mob/living/attacker)
. = ..()
if (dna && dna.species)
. += dna.species.check_species_weakness(weapon, attacker)
/mob/living/carbon/human/is_literate()
return TRUE
@@ -1083,7 +1083,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
chem.overdosed = TRUE
/datum/species/proc/check_species_weakness(obj/item, mob/living/attacker)
return 0 //This is not a boolean, it's the multiplier for the damage that the user takes from the item.It is added onto the check_weakness value of the mob, and then the force of the item is multiplied by this value
return 1 //This is not a boolean, it's the multiplier for the damage that the user takes from the item. The force of the item is multiplied by this value
/**
* Equip the outfit required for life. Replaces items currently worn.
@@ -1425,7 +1425,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if((I.item_flags & SURGICAL_TOOL) && user.a_intent == INTENT_HELP && (H.mobility_flags & ~MOBILITY_STAND) && (LAZYLEN(H.surgeries) > 0))
Iwound_bonus = CANT_WOUND
var/weakness = H.check_weakness(I, user)
var/weakness = check_species_weakness(I, user)
H.send_item_attack_message(I, user, hit_area, affecting)
@@ -30,8 +30,8 @@
/datum/species/fly/check_species_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 30 //Flyswatters deal 30x damage to flypeople.
return 1
/obj/item/organ/heart/fly
desc = "You have no idea what the hell this is, or how it manages to keep something alive in any capacity."
@@ -724,7 +724,7 @@
/obj/structure/cloth_pile/proc/revive(full_heal = FALSE, admin_revive = FALSE)
if(QDELETED(src) || QDELETED(cloth_golem)) //QDELETED also checks for null, so if no cloth golem is set this won't runtime
return
if(cloth_golem.suiciding || cloth_golem.hellbound)
if(cloth_golem.suiciding)
QDEL_NULL(cloth_golem)
return
@@ -63,8 +63,8 @@
/datum/species/moth/check_species_weakness(obj/item/weapon, mob/living/attacker)
if(istype(weapon, /obj/item/melee/flyswatter))
return 9 //flyswatters deal 10x damage to moths
return 0
return 10 //flyswatters deal 10x damage to moths
return 1
/datum/species/moth/space_move(mob/living/carbon/human/H)
. = ..()
@@ -61,8 +61,8 @@
/datum/species/vampire/check_species_weakness(obj/item/weapon, mob/living/attacker)
if(istype(weapon, /obj/item/nullrod/whip))
return 1 //Whips deal 2x damage to vampires. Vampire killer.
return 0
return 2 //Whips deal 2x damage to vampires. Vampire killer.
return 1
/obj/item/organ/tongue/vampire
name = "vampire tongue"
-7
View File
@@ -80,11 +80,4 @@
if (client)
client.move_delay = initial(client.move_delay)
for(var/s in ownedSoullinks)
var/datum/soullink/S = s
S.ownerDies(gibbed)
for(var/s in sharedSoullinks)
var/datum/soullink/S = s
S.sharerDies(gibbed)
return TRUE
-37
View File
@@ -34,16 +34,6 @@
remove_from_all_data_huds()
GLOB.mob_living_list -= src
QDEL_LIST(diseases)
for(var/s in ownedSoullinks)
var/datum/soullink/S = s
S.ownerDies(FALSE)
qdel(s) //If the owner is destroy()'d, the soullink is destroy()'d
ownedSoullinks = null
for(var/s in sharedSoullinks)
var/datum/soullink/S = s
S.sharerDies(FALSE)
S.removeSoulsharer(src) //If a sharer is destroy()'d, they are simply removed
sharedSoullinks = null
return ..()
/mob/living/onZImpact(turf/T, levels)
@@ -1054,33 +1044,6 @@
/mob/living/carbon/alien/update_stamina()
return
/mob/living/proc/owns_soul()
if(mind)
return mind.soulOwner == mind
return TRUE
/mob/living/proc/return_soul()
hellbound = 0
if(mind)
var/datum/antagonist/devil/devilInfo = mind.soulOwner.has_antag_datum(/datum/antagonist/devil)
if(devilInfo)//Not sure how this could be null, but let's just try anyway.
devilInfo.remove_soul(mind)
mind.soulOwner = mind
/mob/living/proc/has_bane(banetype)
var/datum/antagonist/devil/devilInfo = is_devil(src)
return devilInfo && banetype == devilInfo.bane
/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 //This is not a boolean, it's the multiplier for the damage the weapon does.
/mob/living/proc/check_acedia()
if(mind && mind.has_objective(/datum/objective/sintouched/acedia))
return TRUE
return FALSE
/mob/living/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE)
stop_pulling()
. = ..()
@@ -97,8 +97,6 @@
var/list/guaranteed_butcher_results = null ///these will always be yielded from butchering
var/butcher_difficulty = 0 ///effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
var/hellbound = 0 ///People who've signed infernal contracts are unrevivable.
var/list/weather_immunities
var/stun_absorption = null ///converted to a list of stun absorption sources this mob has when one is added
@@ -138,9 +136,6 @@
var/slowed_by_drag = TRUE ///Whether the mob is slowed down when dragging another prone mob
var/list/ownedSoullinks //soullinks we are the owner of
var/list/sharedSoullinks //soullinks we are a/the sharer of
/// List of changes to body temperature, used by desease symtoms like fever
var/list/body_temp_changes = list()
+2 -1
View File
@@ -959,7 +959,7 @@
return
else if(mind)
soullink(/datum/soullink/sharedbody, src, target)
RegisterSignal(target, COMSIG_MOB_DEATH, .proc/disconnect_shell)
deployed_shell = target
target.deploy_init(src)
mind.transfer_to(target)
@@ -997,6 +997,7 @@
if(deployed_shell) //Forcibly call back AI in event of things such as damage, EMP or power loss.
to_chat(src, "<span class='danger'>Your remote connection has been reset!</span>")
deployed_shell.undeploy()
UnregisterSignal(deployed_shell, COMSIG_MOB_DEATH)
diag_hud_set_deployed()
/mob/living/silicon/ai/resist()
-10
View File
@@ -19,11 +19,6 @@
addtimer(CALLBACK(src, .proc/deadchat_lawchange), 0)
last_lawchange_announce = world.time
/mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE)
laws_sanity_check()
laws.set_law_sixsixsix(law)
post_lawchange(announce)
/mob/living/silicon/proc/set_zeroth_law(law, law_borg, announce = TRUE)
laws_sanity_check()
laws.set_zeroth_law(law, law_borg)
@@ -93,8 +88,3 @@
laws_sanity_check()
laws.clear_zeroth_law(force)
post_lawchange(announce)
/mob/living/silicon/proc/clear_law_sixsixsix(force, announce = TRUE)
laws_sanity_check()
laws.clear_law_sixsixsix(force)
post_lawchange(announce)
@@ -48,12 +48,6 @@
var/datum/ai_laws/master = connected_ai?.laws
var/temp
if (master)
laws.devillaws.len = master.devillaws.len
for (var/index = 1, index <= master.devillaws.len, index++)
temp = master.devillaws[index]
if (length(temp) > 0)
laws.devillaws[index] = temp
laws.ion.len = master.ion.len
for (var/index = 1, index <= master.ion.len, index++)
temp = master.ion[index]
@@ -31,7 +31,6 @@
var/lawcheck[1]
var/ioncheck[1]
var/hackedcheck[1]
var/devillawcheck[5]
///Are our siliconHUDs on? TRUE for yes, FALSE for no.
var/sensors_on = TRUE
@@ -202,15 +201,6 @@
hackedcheck[L] = "Yes"
checklaws()
if (href_list["lawdevil"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite
var/L = text2num(href_list["lawdevil"])
switch(devillawcheck[L])
if ("Yes")
devillawcheck[L] = "No"
if ("No")
devillawcheck[L] = "Yes"
checklaws()
if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite
statelaws()
@@ -233,13 +223,6 @@
var/number = 1
sleep(10)
if (laws.devillaws && laws.devillaws.len)
for(var/index = 1, index <= laws.devillaws.len, index++)
if (force || devillawcheck[index] == "Yes")
say("[radiomod] 666. [laws.devillaws[index]]")
sleep(10)
if (laws.zeroth)
if (force || lawcheck[1] == "Yes")
say("[radiomod] 0. [laws.zeroth]")
@@ -285,12 +268,6 @@
var/list = "<b>Which laws do you want to include when stating them for the crew?</b><br><br>"
if (laws.devillaws && laws.devillaws.len)
for(var/index = 1, index <= laws.devillaws.len, index++)
if (!devillawcheck[index])
devillawcheck[index] = "No"
list += {"<A href='byond://?src=[REF(src)];lawdevil=[index]'>[devillawcheck[index]] 666:</A> <font color='#cc5500'>[laws.devillaws[index]]</font><BR>"}
if (laws.zeroth)
if (!lawcheck[1])
lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite
@@ -528,11 +528,6 @@
"<span class='cult big bold'>DELICIOUS SOULS</span>")
playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE)
narsie_act()
if(P.mind)
if(P.mind.hasSoul)
P.mind.hasSoul = FALSE //Nars-Ian ate your soul; you don't have one anymore
else
visible_message("<span class='cult big bold'>... Aw, someone beat me to this one.</span>")
P.gib()
/mob/living/simple_animal/pet/dog/corgi/narsie/update_corgi_fluff()
-4
View File
@@ -59,8 +59,6 @@
if(suiciding)
O.set_suicide(suiciding)
if(hellbound)
O.hellbound = hellbound
O.a_intent = INTENT_HARM
//keep viruses?
@@ -238,8 +236,6 @@
if(suiciding)
O.set_suicide(suiciding)
if(hellbound)
O.hellbound = hellbound
//keep viruses?
if (tr_flags & TR_KEEPVIRUS)