mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
[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:
co-authored by
TiviPlus
Azarak
parent
5db797b9a3
commit
7979f4d1b0
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user