mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-05 06:05:58 +01:00
50b37c8c7f
## About The Pull Request Quite a lot of mobs had faction defines as a string, which always has a chance for error. For example, the clown mob spawner had their faction written as "clown", when the official faction name was "clowns", and a define existed for it anyways! This PR moves every single string based factions over here. No references or special role factions. Hopefully I didn't miss anything. I also moved a global define used for picking your uplink provider's flavour to the only file that used it, datum_traitor.dm, and renamed them a bit to avoid confusion. I have also noticed that the mimic faction was assigned to the petrified player with += instead of |=. |= would ensure no duplicate factions, so I have changed it. Future improvement: I have noticed that there is a lot of bloat with factions that contain only one or two entries (examples: gnomes, floating eyeballs, penguins, the pet lizards), and some always appear in pairs (vines and plants, the rare exceptions being killer tomatoes and strange reagent spawned pine trees), but trimming consolidating them is a matter for a different time. ## Why It's Good For The Game Makes assigning factions a bit less error prone. I can finally remove the ```/// Later all mob factions will be moved here and their current factions replaced with faction defines.``` comment. Later is NOW. ## Changelog Nothing player facing
79 lines
2.8 KiB
Plaintext
79 lines
2.8 KiB
Plaintext
/mob/living/simple_animal/pet/gondola/gondolapod
|
|
name = "gondola"
|
|
real_name = "gondola"
|
|
desc = "The silent walker. This one seems to be part of a delivery agency."
|
|
response_help_continuous = "pets"
|
|
response_help_simple = "pet"
|
|
response_disarm_continuous = "bops"
|
|
response_disarm_simple = "bop"
|
|
response_harm_continuous = "kicks"
|
|
response_harm_simple = "kick"
|
|
faction = list(FACTION_GONDOLA)
|
|
turns_per_move = 10
|
|
icon = 'icons/obj/supplypods.dmi'
|
|
icon_state = "gondola"
|
|
icon_living = "gondola"
|
|
SET_BASE_PIXEL(-16, -5) //2x2 sprite
|
|
layer = TABLE_LAYER//so that deliveries dont appear underneath it
|
|
loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/food/meat/slab/gondola = 2)
|
|
//Gondolas aren't affected by cold.
|
|
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
|
minbodytemp = 0
|
|
maxbodytemp = 1500
|
|
maxHealth = 200
|
|
health = 200
|
|
del_on_death = TRUE
|
|
var/opened = FALSE
|
|
var/obj/structure/closet/supplypod/centcompod/linked_pod
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/Initialize(mapload, pod)
|
|
if(!pod)
|
|
stack_trace("Gondola pod created with no pod")
|
|
return INITIALIZE_HINT_QDEL
|
|
linked_pod = pod
|
|
name = linked_pod.name
|
|
desc = linked_pod.desc
|
|
. = ..()
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/update_overlays()
|
|
. = ..()
|
|
if(opened)
|
|
. += "[icon_state]_open"
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/verb/deliver()
|
|
set name = "Release Contents"
|
|
set category = "Gondola"
|
|
set desc = "Release any contents stored within your vast belly."
|
|
linked_pod.open_pod(src, forced = TRUE)
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/examine(mob/user)
|
|
. = ..()
|
|
if (contents.len)
|
|
. += span_notice("It looks like it hasn't made its delivery yet.</b>")
|
|
else
|
|
. += span_notice("It looks like it has already made its delivery.</b>")
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/verb/check()
|
|
set name = "Count Contents"
|
|
set category = "Gondola"
|
|
set desc = "Take a deep look inside youself, and count up what's inside"
|
|
var/total = contents.len
|
|
if (total)
|
|
to_chat(src, span_notice("You detect [total] object\s within your incredibly vast belly."))
|
|
else
|
|
to_chat(src, span_notice("A closer look inside yourself reveals... nothing."))
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/setOpened()
|
|
opened = TRUE
|
|
update_appearance()
|
|
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, setClosed)), 50)
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/setClosed()
|
|
opened = FALSE
|
|
update_appearance()
|
|
|
|
/mob/living/simple_animal/pet/gondola/gondolapod/death()
|
|
QDEL_NULL(linked_pod) //Will cause the open() proc for the linked supplypod to be called with the "broken" parameter set to true, meaning that it will dump its contents on death
|
|
qdel(src)
|
|
..()
|