mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +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
@@ -314,7 +314,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
//objects with the stationloving component (nuke disk) respawn here.
|
||||
//also blobs that have their spawn forcemoved (running out of time when picking their spawn spot), santa and respawning devils
|
||||
//also blobs that have their spawn forcemoved (running out of time when picking their spawn spot) and santa
|
||||
/obj/effect/landmark/blobstart
|
||||
name = "blobstart"
|
||||
icon_state = "blob_start"
|
||||
|
||||
@@ -49,7 +49,7 @@ AI MODULES
|
||||
//Handle the lawcap
|
||||
if(law_datum)
|
||||
var/tot_laws = 0
|
||||
for(var/lawlist in list(law_datum.devillaws, law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws))
|
||||
for(var/lawlist in list(law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws))
|
||||
for(var/mylaw in lawlist)
|
||||
if(mylaw != "")
|
||||
tot_laws++
|
||||
|
||||
@@ -39,68 +39,3 @@
|
||||
|
||||
/obj/item/pitchfork/update_icon_state()
|
||||
icon_state = "pitchfork0"
|
||||
|
||||
/obj/item/pitchfork/demonic
|
||||
name = "demonic pitchfork"
|
||||
desc = "A red pitchfork, it looks like the work of the devil."
|
||||
force = 19
|
||||
throwforce = 24
|
||||
light_system = MOVABLE_LIGHT
|
||||
light_range = 3
|
||||
light_power = 6
|
||||
light_color = COLOR_SOFT_RED
|
||||
|
||||
|
||||
/obj/item/pitchfork/demonic/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/two_handed, force_unwielded=19, force_wielded=25)
|
||||
|
||||
/obj/item/pitchfork/demonic/greater
|
||||
force = 24
|
||||
throwforce = 50
|
||||
|
||||
/obj/item/pitchfork/demonic/greater/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/two_handed, force_unwielded=24, force_wielded=34)
|
||||
|
||||
/obj/item/pitchfork/demonic/ascended
|
||||
force = 100
|
||||
throwforce = 100
|
||||
|
||||
/obj/item/pitchfork/demonic/ascended/ComponentInitialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/two_handed, force_unwielded=100, force_wielded=500000) // Kills you DEAD
|
||||
|
||||
/obj/item/pitchfork/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] impales [user.p_them()]self in [user.p_their()] abdomen with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/pitchfork/demonic/pickup(mob/living/user)
|
||||
. = ..()
|
||||
if(isliving(user) && user.mind && user.owns_soul() && !is_devil(user))
|
||||
var/mob/living/U = user
|
||||
U.visible_message("<span class='warning'>As [U] picks [src] up, [U]'s arms briefly catch fire.</span>", \
|
||||
"<span class='warning'>\"As you pick up [src] your arms ignite, reminding you of all your past sins.\"</span>")
|
||||
if(ishuman(U))
|
||||
var/mob/living/carbon/human/H = U
|
||||
H.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
|
||||
else
|
||||
U.adjustFireLoss(rand(force/2,force))
|
||||
|
||||
/obj/item/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user)
|
||||
if(user.mind && user.owns_soul() && !is_devil(user))
|
||||
to_chat(user, "<span class='warning'>[src] burns in your hands.</span>")
|
||||
user.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
|
||||
..()
|
||||
|
||||
/obj/item/pitchfork/demonic/ascended/afterattack(atom/target, mob/user, proximity)
|
||||
. = ..()
|
||||
if(!proximity || !wielded)
|
||||
return
|
||||
if(iswallturf(target))
|
||||
var/turf/closed/wall/W = target
|
||||
user.visible_message("<span class='danger'>[user] blasts \the [target] with \the [src]!</span>")
|
||||
playsound(target, 'sound/magic/disintegrate.ogg', 100, TRUE)
|
||||
W.break_wall()
|
||||
W.ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
|
||||
return
|
||||
|
||||
@@ -599,6 +599,7 @@
|
||||
icon_state = "demonomicon"
|
||||
lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi'
|
||||
messages = list("You must challenge the devil to a dance-off!", "The devils true name is Ian", "The devil hates salt!", "Would you like infinite power?", "Would you like infinite wisdom?", " Would you like infinite healing?")
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
recharge_time = 60
|
||||
|
||||
@@ -608,16 +609,6 @@
|
||||
"<span class='notice'>You press the button on \the [src].</span>",
|
||||
"<span class='notice'>You hear a soft click.</span>")
|
||||
|
||||
/obj/item/toy/talking/codex_gigas/generate_messages()
|
||||
var/datum/fake_devil/devil = new
|
||||
var/list/messages = list()
|
||||
messages += "Some fun facts about: [devil.truename]"
|
||||
messages += "[GLOB.lawlorify[LORE][devil.bane]]"
|
||||
messages += "[GLOB.lawlorify[LORE][devil.obligation]]"
|
||||
messages += "[GLOB.lawlorify[LORE][devil.ban]]"
|
||||
messages += "[GLOB.lawlorify[LORE][devil.banish]]"
|
||||
return messages
|
||||
|
||||
/obj/item/toy/talking/owl
|
||||
name = "owl action figure"
|
||||
desc = "An action figure modeled after 'The Owl', defender of justice."
|
||||
|
||||
@@ -413,60 +413,7 @@
|
||||
|
||||
/obj/effect/mob_spawn/human/hotel_staff/Destroy()
|
||||
new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src))
|
||||
..()
|
||||
|
||||
/obj/effect/mob_spawn/human/demonic_friend
|
||||
name = "Essence of friendship"
|
||||
desc = "Oh boy! Oh boy! A friend!"
|
||||
mob_name = "Demonic friend"
|
||||
icon = 'icons/obj/cardboard_cutout.dmi'
|
||||
icon_state = "cutout_basic"
|
||||
outfit = /datum/outfit/demonic_friend
|
||||
death = FALSE
|
||||
roundstart = FALSE
|
||||
random = TRUE
|
||||
id_job = "SuperFriend"
|
||||
id_access = "assistant"
|
||||
var/obj/effect/proc_holder/spell/targeted/summon_friend/spell
|
||||
var/datum/mind/owner
|
||||
assignedrole = "SuperFriend"
|
||||
|
||||
/obj/effect/mob_spawn/human/demonic_friend/Initialize(mapload, datum/mind/owner_mind, obj/effect/proc_holder/spell/targeted/summon_friend/summoning_spell)
|
||||
. = ..()
|
||||
owner = owner_mind
|
||||
flavour_text = "You have been given a reprieve from your eternity of torment, to be [owner.name]'s friend for [owner.p_their()] short mortal coil."
|
||||
important_info = "Be aware that if you do not live up to [owner.name]'s expectations, they can send you back to hell with a single thought. [owner.name]'s death will also return you to hell."
|
||||
var/area/A = get_area(src)
|
||||
if(!mapload && A)
|
||||
notify_ghosts("\A friendship shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE)
|
||||
objectives = "Be [owner.name]'s friend, and keep [owner.name] alive, so you don't get sent back to hell."
|
||||
spell = summoning_spell
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/human/demonic_friend/special(mob/living/L)
|
||||
if(!QDELETED(owner.current) && owner.current.stat != DEAD)
|
||||
L.fully_replace_character_name(null,"[owner.name]'s best friend")
|
||||
soullink(/datum/soullink/oneway, owner.current, L)
|
||||
spell.friend = L
|
||||
spell.charge_counter = spell.charge_max
|
||||
L.mind.hasSoul = FALSE
|
||||
var/mob/living/carbon/human/H = L
|
||||
var/obj/item/worn = H.wear_id
|
||||
var/obj/item/card/id/id = worn.GetID()
|
||||
id.registered_name = L.real_name
|
||||
id.update_label()
|
||||
else
|
||||
to_chat(L, "<span class='userdanger'>Your owner is already dead! You will soon perish.</span>")
|
||||
addtimer(CALLBACK(L, /mob.proc/dust, 150)) //Give em a few seconds as a mercy.
|
||||
|
||||
/datum/outfit/demonic_friend
|
||||
name = "Demonic Friend"
|
||||
uniform = /obj/item/clothing/under/misc/assistantformal
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
r_pocket = /obj/item/radio/off
|
||||
back = /obj/item/storage/backpack
|
||||
implants = list(/obj/item/implant/mindshield) //No revolutionaries, he's MY friend.
|
||||
id = /obj/item/card/id
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/syndicate
|
||||
name = "Syndicate Operative"
|
||||
|
||||
@@ -188,7 +188,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
|
||||
|
||||
for(var/mob/living/M in compiled)
|
||||
var/mob/living/mob_occupant = get_mob_or_brainmob(M)
|
||||
if(mob_occupant.client && !mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)) && !mob_occupant.hellbound)
|
||||
if(mob_occupant.client && !mob_occupant.suiciding && !(HAS_TRAIT(mob_occupant, TRAIT_BADDNA)))
|
||||
icon_state = "morgue4" // Revivable
|
||||
if(mob_occupant.stat == DEAD && beeper)
|
||||
if(world.time > next_beep)
|
||||
|
||||
Reference in New Issue
Block a user