mirror of
https://github.com/Sandstorm-Station/Sandstorm-Station-13.git
synced 2026-08-21 12:18:11 +01:00
some stuff from all around
This commit is contained in:
@@ -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("<span class='danger'><b>\The [src]</b> consumes the [burbger]!</span>")
|
||||
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("<b>\The [src]</b> stands right back up after nibbling the [I]!")
|
||||
else
|
||||
visible_message("<b>\The [src]</b> 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"
|
||||
*/
|
||||
@@ -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
|
||||
|
||||
@@ -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, "<span class='notice'>You change beacon name to [name].</span>")
|
||||
else
|
||||
locked = !locked
|
||||
to_chat(user, "<span class='notice'>You [locked ? "" : "un"]lock [src].</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/spaceship_navigation_beacon/examine()
|
||||
. = ..()
|
||||
. += "<span class='[locked ? "warning" : "nicegreen"]'>Status: [locked ? "LOCKED" : "Stable"] </span>"
|
||||
|
||||
/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 ..()
|
||||
Reference in New Issue
Block a user