mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
amazing truely amazing
This commit is contained in:
@@ -412,7 +412,7 @@
|
||||
STR.max_combined_w_class = 200
|
||||
STR.max_items = 25
|
||||
STR.insert_preposition = "in"
|
||||
STR.can_hold = typecacheof(list(/obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/food/snacks/deadmouse, /obj/item/reagent_containers/food/snacks/monkeycube, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/bodypart))
|
||||
STR.can_hold = typecacheof(list(/obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/food/snacks/deadmouse, /obj/item/reagent_containers/food/snacks/cube, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/bodypart))
|
||||
STR.cant_hold = typecacheof(list(/obj/item/organ/brain, /obj/item/organ/liver/cybernetic, /obj/item/organ/heart/cybernetic, /obj/item/organ/lungs/cybernetic, /obj/item/organ/tongue/cybernetic, /obj/item/organ/ears/cybernetic, /obj/item/organ/eyes/robotic, /obj/item/organ/cyberimp))
|
||||
|
||||
/obj/item/storage/bag/bio/holding
|
||||
|
||||
@@ -454,11 +454,11 @@
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 7
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/cube/monkey))
|
||||
|
||||
/obj/item/storage/box/monkeycubes/PopulateContents()
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/reagent_containers/food/snacks/monkeycube(src)
|
||||
new /obj/item/reagent_containers/food/snacks/cube/monkey(src)
|
||||
|
||||
/obj/item/storage/box/ids
|
||||
name = "box of spare IDs"
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
desc = "Need some meat? With this do-it-yourself kit you'll be swimming in it! Contains a monkey cube, an IV drip, and some cryoxadone!"
|
||||
cost = 2150
|
||||
contraband = TRUE
|
||||
contains = list(/obj/item/reagent_containers/food/snacks/monkeycube,
|
||||
contains = list(/obj/item/reagent_containers/food/snacks/cube/monkey,
|
||||
/obj/item/restraints/handcuffs/cable,
|
||||
/obj/machinery/iv_drip,
|
||||
/obj/item/reagent_containers/glass/beaker/cryoxadone,
|
||||
|
||||
@@ -222,36 +222,6 @@
|
||||
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
|
||||
foodtype = MEAT
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/monkeycube
|
||||
name = "monkey cube"
|
||||
desc = "Just add water!"
|
||||
icon_state = "monkeycube"
|
||||
bitesize = 12
|
||||
list_reagents = list(/datum/reagent/consumable/nutriment = 2)
|
||||
filling_color = "#CD853F"
|
||||
tastes = list("the jungle" = 1, "bananas" = 1)
|
||||
foodtype = MEAT | SUGAR
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/monkeycube/On_Consume(mob/living/carbon/M)
|
||||
if(iscarbon(M))
|
||||
M.visible_message("[src] bursts out of [M]!</span>")
|
||||
M.emote("scream")
|
||||
M.DefaultCombatKnockdown(40)
|
||||
M.adjustBruteLoss(60)
|
||||
Expand()
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/monkeycube/proc/Expand()
|
||||
var/mob/spammer = get_mob_by_key(fingerprintslast)
|
||||
var/mob/living/carbon/monkey/bananas = new(drop_location(), TRUE, spammer)
|
||||
if (!QDELETED(bananas))
|
||||
visible_message("<span class='notice'>[src] expands!</span>")
|
||||
bananas.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK)
|
||||
else if (!spammer) // Visible message in case there are no fingerprints
|
||||
visible_message("<span class='notice'>[src] fails to expand!</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/enchiladas
|
||||
name = "enchiladas"
|
||||
desc = "Viva La Mexico!"
|
||||
@@ -372,3 +342,69 @@
|
||||
bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
|
||||
tastes = list("meat" = 3, "smokey sauce" = 1)
|
||||
foodtype = MEAT
|
||||
|
||||
////////////// Cubes //////////
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube
|
||||
name = "debug cube"
|
||||
desc = "Just add water!"
|
||||
icon_state = "monkeycube"
|
||||
bitesize = 12
|
||||
list_reagents = list(/datum/reagent/consumable/nutriment = 2)
|
||||
filling_color = "#CD853F"
|
||||
tastes = list("broken" = 1, "code" = 1)
|
||||
foodtype = MEAT | SUGAR
|
||||
var/dried_being = /mob/living/carbon/monkey //What the cube will spawn mob wise
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/On_Consume(mob/living/carbon/M)
|
||||
if(iscarbon(M))
|
||||
M.visible_message("[src] bursts out of [M]!</span>")
|
||||
M.emote("scream")
|
||||
M.DefaultCombatKnockdown(40)
|
||||
M.adjustBruteLoss(60)
|
||||
Expand()
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/proc/Expand()
|
||||
var/mob/spammer = get_mob_by_key(fingerprintslast)
|
||||
var/mob/living/water = new dried_being(drop_location(), TRUE, spammer)
|
||||
if (!QDELETED(water))
|
||||
visible_message("<span class='notice'>[src] expands!</span>")
|
||||
water.log_message("Spawned via [src] at [AREACOORD(src)], Last attached mob: [key_name(spammer)].", LOG_ATTACK)
|
||||
else if (!spammer) // Visible message in case there are no fingerprints
|
||||
visible_message("<span class='notice'>[src] fails to expand!</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/monkey
|
||||
name = "monkey cube"
|
||||
desc = "Just add water!"
|
||||
tastes = list("the jungle" = 1, "bananas" = 1)
|
||||
dried_being = /mob/living/carbon/monkey
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/beno
|
||||
name = "alien cube"
|
||||
desc = "Just add water and run!"
|
||||
tastes = list("the jungle" = 1, "acid" = 1)
|
||||
dried_being = /mob/living/carbon/alien
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/goat
|
||||
name = "goat cube"
|
||||
tastes = list("grass" = 1)
|
||||
dried_being = /mob/living/simple_animal/hostile/retaliate/goat
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/cow
|
||||
name = "cow cube"
|
||||
tastes = list("milk" = 1, "beef" = 1)
|
||||
dried_being = /mob/living/simple_animal/cow
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/cube/egg //Well eggs normally are able to hatch into small birds, this one does not. \
|
||||
Also in order to have a normal egg hatch you need a hen ontop of it for it to hatch, meaning this one is for on-demand hen needs.
|
||||
name = "egg cube thing"
|
||||
desc = "Just add water, hey wait a second..."
|
||||
icon_state = "egg"
|
||||
filling_color = "#F0E68C"
|
||||
cooked_type = /obj/item/reagent_containers/food/snacks/boiledegg
|
||||
list_reagents = list(/datum/reagent/consumable/eggyolk = 5)
|
||||
tastes = list("dried eggs" = 1, "confusion" = 1)
|
||||
dried_being = /mob/living/simple_animal/chicken
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1)
|
||||
grinded -= required_grind
|
||||
for(var/i = 0, i < cube_production, i++)
|
||||
new /obj/item/reagent_containers/food/snacks/monkeycube(src.loc)
|
||||
new /obj/item/reagent_containers/food/snacks/cube/monkey(src.loc)
|
||||
to_chat(user, "<span class='notice'>The machine's display flashes that it has [grinded] monkeys worth of material left.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='danger'>The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded].</span>")
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
/datum/reagent/consumable/sodiumchloride = 1,
|
||||
/datum/reagent/consumable/blackpepper = 1,
|
||||
/obj/item/reagent_containers/glass/bowl = 1,
|
||||
/obj/item/reagent_containers/food/snacks/monkeycube = 1,
|
||||
/obj/item/reagent_containers/food/snacks/cube/monkey = 1,
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana = 1
|
||||
)
|
||||
result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
prize_list += list(
|
||||
new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250),
|
||||
new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250),
|
||||
new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300),
|
||||
new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/cube/monkey, 300),
|
||||
new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350),
|
||||
new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/bedsheet/rd/royal_cape, 500),
|
||||
new /datum/data/mining_equipment("Grey Slime Extract", /obj/item/slime_extract/grey, 1000),
|
||||
|
||||
@@ -271,9 +271,9 @@
|
||||
/datum/reagent/water/reaction_obj(obj/O, reac_volume)
|
||||
O.extinguish()
|
||||
O.acid_level = 0
|
||||
// Monkey cube
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
// cubes
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/cube))
|
||||
var/obj/item/reagent_containers/food/snacks/cube/cube = O
|
||||
cube.Expand()
|
||||
|
||||
// Dehydrated carp
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
||||
new /obj/item/reagent_containers/food/snacks/cube/monkey(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Green
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
id = "mcube"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/reagent_containers/food/snacks/monkeycube
|
||||
build_path = /obj/item/reagent_containers/food/snacks/cube/monkey
|
||||
category = list("initial", "Food")
|
||||
|
||||
/datum/design/smeat
|
||||
|
||||
@@ -624,9 +624,9 @@ datum/status_effect/stabilized/blue/on_remove()
|
||||
O.extinguish() //All shamelessly copied from water's reaction_obj, since I didn't seem to be able to get it here for some reason.
|
||||
O.acid_level = 0
|
||||
// Monkey cube
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/cube))
|
||||
to_chat(owner, "<span class='warning'>[linked_extract] kept your hands wet! It makes [O] expand!</span>")
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
var/obj/item/reagent_containers/food/snacks/cube/cube = O
|
||||
cube.Expand()
|
||||
|
||||
// Dehydrated carp
|
||||
|
||||
@@ -53,7 +53,7 @@ Industrial extracts:
|
||||
|
||||
/obj/item/slimecross/industrial/grey
|
||||
colour = "grey"
|
||||
itempath = /obj/item/reagent_containers/food/snacks/monkeycube
|
||||
itempath = /obj/item/reagent_containers/food/snacks/cube/monkey
|
||||
itemamount = 5
|
||||
|
||||
/obj/item/slimecross/industrial/orange
|
||||
|
||||
@@ -19,14 +19,14 @@ Reproductive extracts:
|
||||
return
|
||||
if(istype(O, /obj/item/storage/bag/bio))
|
||||
var/list/inserted = list()
|
||||
SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted)
|
||||
SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/cube/monkey, src, 1, null, null, user, inserted)
|
||||
if(inserted.len)
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1]
|
||||
var/obj/item/reagent_containers/food/snacks/cube/monkey/M = inserted[1]
|
||||
if(istype(M))
|
||||
eat_cube(M, user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There are no monkey cubes in the bio bag!</span>")
|
||||
if(istype(O,/obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
if(istype(O,/obj/item/reagent_containers/food/snacks/cube/monkey))
|
||||
eat_cube(O, user)
|
||||
if(cubes_eaten >= 3)
|
||||
var/cores = rand(1,4)
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] already has the contents of [O] installed!</span>")
|
||||
return
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube) && (upgradetier & XENOBIO_UPGRADE_MONKEYS)) //CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/cube/monkey) && (upgradetier & XENOBIO_UPGRADE_MONKEYS)) //CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS
|
||||
monkeys++
|
||||
to_chat(user, "<span class='notice'>You feed [O] to [src]. It now has [monkeys] monkey cubes stored.</span>")
|
||||
qdel(O)
|
||||
@@ -155,7 +155,7 @@
|
||||
var/obj/item/storage/P = O
|
||||
var/loaded = FALSE
|
||||
for(var/obj/G in P.contents)
|
||||
if(istype(G, /obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
if(istype(G, /obj/item/reagent_containers/food/snacks/cube/monkey))
|
||||
loaded = TRUE
|
||||
monkeys++
|
||||
qdel(G)
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
/obj/item/slime_extract/grey/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
|
||||
switch(activation_type)
|
||||
if(SLIME_ACTIVATE_MINOR)
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/M = new
|
||||
var/obj/item/reagent_containers/food/snacks/cube/monkey/M = new
|
||||
if(!user.put_in_active_hand(M))
|
||||
M.forceMove(user.drop_location())
|
||||
playsound(user, 'sound/effects/splat.ogg', 50, 1)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
/obj/item/reagent_containers/food/condiment/saltshaker = 5,
|
||||
/obj/item/reagent_containers/food/condiment/peppermill = 5)
|
||||
contraband = list(
|
||||
/obj/item/reagent_containers/food/snacks/monkeycube = 1,
|
||||
/obj/item/reagent_containers/food/snacks/cube/monkey= 1,
|
||||
/obj/item/kitchen/knife/butcher = 2,
|
||||
/obj/item/reagent_containers/syringe = 3)
|
||||
premium = list(
|
||||
|
||||
Reference in New Issue
Block a user