From 178cddcf9d01e124925e686a84729952902ef315 Mon Sep 17 00:00:00 2001 From: Enric Gabriel <43283559+SandPoot@users.noreply.github.com> Date: Mon, 22 Jun 2020 16:48:34 -0300 Subject: [PATCH] some stuff from all around --- sandcode/code/datums/traits/neutral.dm | 13 +++ .../living/simple_animal/friendly/doges.dm | 81 ++++++++++++++++++ .../research/designs/machine_designs.dm | 8 ++ .../shuttle/spaceship_navigation_beacon.dm | 69 +++++++++++++++ sandcode/icons/mob/doges.dmi | Bin 0 -> 7864 bytes sandcode/icons/obj/machines/NavBeacon.dmi | Bin 0 -> 2488 bytes tgstation.dme | 1 + 7 files changed, 172 insertions(+) create mode 100644 sandcode/code/datums/traits/neutral.dm create mode 100644 sandcode/code/modules/mob/living/simple_animal/friendly/doges.dm create mode 100644 sandcode/code/modules/shuttle/spaceship_navigation_beacon.dm create mode 100644 sandcode/icons/mob/doges.dmi create mode 100644 sandcode/icons/obj/machines/NavBeacon.dmi diff --git a/sandcode/code/datums/traits/neutral.dm b/sandcode/code/datums/traits/neutral.dm new file mode 100644 index 0000000000..415ec9aab1 --- /dev/null +++ b/sandcode/code/datums/traits/neutral.dm @@ -0,0 +1,13 @@ +/datum/quirk/hypnotic_stupor //straight from skyrat + name = "Hypnotic Stupor" + desc = "Your prone to episodes of extreme stupor that leaves you extremely suggestible." + value = 0 + human_only = TRUE + gain_text = null // Handled by trauma. + lose_text = null + medical_record_text = "Patient has an untreatable condition with their brain, wiring them to be extreamly suggestible..." + +/datum/quirk/hypnotic_stupor/add() + var/datum/brain_trauma/severe/hypnotic_stupor/T = new() + var/mob/living/carbon/human/H = quirk_holder + H.gain_trauma(T, TRAUMA_RESILIENCE_ABSOLUTE) diff --git a/sandcode/code/modules/mob/living/simple_animal/friendly/doges.dm b/sandcode/code/modules/mob/living/simple_animal/friendly/doges.dm new file mode 100644 index 0000000000..adcb569265 --- /dev/null +++ b/sandcode/code/modules/mob/living/simple_animal/friendly/doges.dm @@ -0,0 +1,81 @@ + +//Borrowed from Skyrat, this is not sandstorm original content + +//cheems, the true cargo pet +//note: will probably add hat and fluff functionality later +//note 2: will probably get a better sprite later +//note 3: ignore note 2 the sprite is actually good now +/mob/living/simple_animal/pet/dog/cheems + name = "\proper Cheems" + desc = "Cargo's overfed and slightly greasy disposal bin." + icon = 'sandcode/icons/mob/doges.dmi' + icon_state = "cheems" + icon_dead = "cheems_dead" + icon_living = "cheems" + speak = list("Borf!", "Boof!", "Bork!") + butcher_results = list(/obj/item/reagent_containers/food/snacks/burger/cheese = 1, /obj/item/reagent_containers/food/snacks/meat/slab = 2, /obj/item/trash/syndi_cakes = 1) + faction = list("dog", "doge") + animal_species = /mob/living/simple_animal/pet/dog + gold_core_spawnable = FRIENDLY_SPAWN + +/mob/living/simple_animal/pet/dog/cheems/Move(atom/newloc, direct) + . = ..() + if(.) + for(var/obj/item/reagent_containers/food/snacks/burger/burbger in view(1, src)) + visible_message("\The [src] consumes the [burbger]!") + qdel(burbger) + revive(full_heal = 1) + +/mob/living/simple_animal/pet/dog/cheems/attacked_by(obj/item/I, mob/living/user) + . = ..() + if(.) + if(istype(I, /obj/item/reagent_containers/food/snacks/burger)) + qdel(I) + if(stat == DEAD) + visible_message("\The [src] stands right back up after nibbling the [I]!") + else + visible_message("\The [src] swallows the [I] whole!") + revive(full_heal = 1) + +//cheemgularity +/* disabled for now because error: maximum number of internal arrays exceeded (65535) +/obj/singularity/proc/consume(atom/A) + var/gain = A.singularity_act(current_size, src) + src.energy += gain + if(istype(A, /obj/machinery/power/supermatter_crystal) && !consumedSupermatter) + desc = "[initial(desc)] It glows fiercely with inner fire." + name = "supermatter-charged [initial(name)]" + consumedSupermatter = 1 + set_light(10) + if(istype(A, /mob/living/simple_animal/pet/dog/cheems)) + new /obj/singularity/cheemgularity(get_turf(src)) + qdel(src) + +/obj/singularity/cheemgularity + name = "cheemgularity" + desc = "Praise cheem." + icon = 'sandcode/icons/obj/singularity.dmi' + icon_state = "cheemgulo_s1" + +/obj/singularity/cheemgularity/expand(force_size) + ..() + switch(force_size) + if(STAGE_ONE to STAGE_TWO) + icon = initial(icon) + icon_state = "cheemgulo_s1" + if(STAGE_TWO to STAGE_THREE) + icon = 'sandcode/icons/effects/96x96.dmi' + icon_state = "cheemgulo_s3" + if(STAGE_THREE to STAGE_FOUR) + icon = 'sandcode/icons/effects/160x160.dmi' + icon_state = "cheemgulo_s5" + if(STAGE_FOUR to STAGE_FIVE) + icon = 'sandcode/icons/effects/224x224.dmi' + icon_state = "cheemgulo_s7" + if(STAGE_FIVE to STAGE_SIX) + icon = 'sandcode/icons/effects/288x288.dmi' + icon_state = "cheemgulo_s9" + if(STAGE_SIX) + icon = 'sandcode/icons/effects/352x352.dmi' + icon_state = "cheemgulo_s11" +*/ diff --git a/sandcode/code/modules/research/designs/machine_designs.dm b/sandcode/code/modules/research/designs/machine_designs.dm index de22ade33c..a0b2b97f6b 100644 --- a/sandcode/code/modules/research/designs/machine_designs.dm +++ b/sandcode/code/modules/research/designs/machine_designs.dm @@ -31,3 +31,11 @@ build_path = /obj/item/circuitboard/machine/pacman/mclunky category = list("initial", "Electronics") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/board/spaceship_navigation_beacon + name = "Machine Design (Bluespace Navigation Gigabeacon)" + desc = "The circuit board for a Bluespace Navigation Gigabeacon." + id = "spaceship_navigation_beacon" + build_path = /obj/item/circuitboard/machine/spaceship_navigation_beacon + category = list ("Teleportation Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE diff --git a/sandcode/code/modules/shuttle/spaceship_navigation_beacon.dm b/sandcode/code/modules/shuttle/spaceship_navigation_beacon.dm new file mode 100644 index 0000000000..d21f971ea3 --- /dev/null +++ b/sandcode/code/modules/shuttle/spaceship_navigation_beacon.dm @@ -0,0 +1,69 @@ +/obj/item/circuitboard/machine/spaceship_navigation_beacon + name = "Bluespace Navigation Gigabeacon (Machine Board)" + build_path = /obj/machinery/spaceship_navigation_beacon + req_components = list() + + +/obj/machinery/spaceship_navigation_beacon + name = "Bluespace Navigation Gigabeacon" + desc = "A device that creates a bluespace anchor that allow ships jump near to it." + icon = 'sandcode/icons/obj/machines/NavBeacon.dmi' + icon_state = "beacon-item" + use_power = IDLE_POWER_USE + idle_power_usage = 0 + density = TRUE + circuit = /obj/item/circuitboard/machine/spaceship_navigation_beacon + light_power = 2 + + var/locked = FALSE //Locked beacons don't allow to jump to it. + + +/obj/machinery/spaceship_navigation_beacon/Initialize() + . = ..() + SSshuttle.beacons |= src + +obj/machinery/spaceship_navigation_beacon/emp_act() + locked = TRUE + +/obj/machinery/spaceship_navigation_beacon/Destroy() + SSshuttle.beacons -= src + return ..() + +// update the icon_state +/obj/machinery/spaceship_navigation_beacon/update_icon() + if(powered()) + icon_state = "beacon-active" + set_light(1) + if(panel_open) + icon_state = "beacon-open" + set_light(0) + else + icon_state = "beacon-inactive" + set_light(0) + +/obj/machinery/spaceship_navigation_beacon/power_change() + . = ..() + update_icon() + +/obj/machinery/spaceship_navigation_beacon/multitool_act(mob/living/user, obj/item/multitool/I) + if(panel_open) + var/new_name = "Beacon_[input("Enter the custom name for this beacon", "It be Beacon ..your input..") as text]" + if(new_name && Adjacent(user)) + name = new_name + to_chat(user, "You change beacon name to [name].") + else + locked = !locked + to_chat(user, "You [locked ? "" : "un"]lock [src].") + return TRUE + +/obj/machinery/spaceship_navigation_beacon/examine() + . = ..() + . += "Status: [locked ? "LOCKED" : "Stable"] " + +/obj/machinery/spaceship_navigation_beacon/attackby(obj/item/W, mob/user, params) + if(default_deconstruction_screwdriver(user, "beacon-open", "beacon-active", W)) + return + if(default_deconstruction_crowbar(W)) + return + + return ..() diff --git a/sandcode/icons/mob/doges.dmi b/sandcode/icons/mob/doges.dmi new file mode 100644 index 0000000000000000000000000000000000000000..99f90f403ecdb9159bedff9289a476b630425f70 GIT binary patch literal 7864 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index a489cb6340..92ad5491f2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3478,6 +3478,7 @@ #include "modular_citadel\code\modules\reagents\objects\items.dm" #include "sandcode\code\__DEFINES\traits.dm" #include "sandcode\code\datums\traits\negative.dm" +#include "sandcode\code\datums\traits\neutral.dm" #include "sandcode\code\game\area\ship_area.dm" #include "sandcode\code\game\mecha\mech_fabricator.dm" #include "sandcode\code\game\objects\effects\contraband.dm"