Added four new slime types (sprites by Reisyn, SuperElement, and LePinkyFace)

Fixed the backwards pumps in misc research, shuffled the xenobio surgical area around to be easier to use.

Fixed being able to strip items with canremove = 0

Added a new mutantrace that ties into the new slime extracts (sprites by SuperElement)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5490 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Kortgstation@gmail.com
2013-01-07 21:22:44 +00:00
parent 1434a0154c
commit 0983ee8912
19 changed files with 4404 additions and 4052 deletions

View File

@@ -352,6 +352,41 @@ datum
human.update_mutantrace()
..()
return
aslimetoxin
name = "Advanced Mutation Toxin"
id = "amutationtoxin"
description = "An advanced corruptive toxin produced by slimes."
reagent_state = LIQUID
color = "#13BC5E" // rgb: 19, 188, 94
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(istype(M, /mob/living/carbon) && M.stat != DEAD)
M << "\red Your flesh rapidly mutates!"
if(M.monkeyizing) return
M.monkeyizing = 1
M.canmove = 0
M.icon = null
M.overlays.Cut()
M.invisibility = 101
for(var/obj/item/W in M)
if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something
del(W)
continue
W.layer = initial(W.layer)
W.loc = M.loc
W.dropped(M)
var/mob/living/carbon/slime/new_mob = new /mob/living/carbon/slime(M.loc)
new_mob.a_intent = "hurt"
if(M.mind)
M.mind.transfer_to(new_mob)
else
new_mob.key = M.key
del(M)
..()
return
stoxin
name = "Sleep Toxin"
id = "stoxin"

View File

@@ -1222,6 +1222,65 @@ datum
P.loc = get_turf_loc(holder.my_atom)
//Black
slimemutate2
name = "Advanced Mutation Toxin"
id = "mutationtoxin2"
result = "amutationtoxin"
required_reagents = list("plasma" = 5)
result_amount = 1
required_other = 1
required_container = /obj/item/slime_extract/black
//Oil
slimeexplosion
name = "Slime Explosion"
id = "m_explosion"
result = null
required_reagents = list("plasma" = 5)
result_amount = 1
required_container = /obj/item/slime_extract/oil
required_other = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf_loc(holder.my_atom), null))
O.show_message(text("\red The slime extract begins to vibrate violently !"), 1)
sleep(50)
holder.clear_reagents()
explosion(get_turf_loc(holder.my_atom), 1 ,3, 6)
del (holder)
//Light Pink
slimepotion2
name = "Slime Potion 2"
id = "m_potion2"
result = null
result_amount = 1
required_container = /obj/item/slime_extract/lightpink
required_other = 1
on_reaction(var/datum/reagents/holder)
var/obj/item/weapon/slimepotion2/P = new /obj/item/weapon/slimepotion2
P.loc = get_turf_loc(holder.my_atom)
//Adamantine
slimegolem
name = "Slime Golem"
id = "m_golem"
result = null
result_amount = 1
required_container = /obj/item/slime_extract/adamantine
required_other = 1
on_reaction(var/datum/reagents/holder)
var/mob/living/carbon/human/G = new /mob/living/carbon/human
G.dna.mutantrace = "adamantine"
G.name = text("Adamantine Golem ([rand(1, 1000)])")
G.equip_to_slot_or_del(new /obj/item/clothing/under/golem(G), slot_w_uniform)
G.equip_to_slot_or_del(new /obj/item/clothing/suit/golem(G), slot_wear_suit)
G.equip_to_slot_or_del(new /obj/item/clothing/shoes/golem(G), slot_shoes)
G.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/golem(G), slot_wear_mask)
G.equip_to_slot_or_del(new /obj/item/clothing/gloves/golem(G), slot_gloves)
G.loc = get_turf_loc(holder.my_atom)
var/list/candidates = get_alien_candidates()
var/candidate = pick(candidates)
G.key = candidate
G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve the one created you, and assist them in completing their goals at any cost."
//////////////////////////////////////////FOOD MIXTURES////////////////////////////////////

View File

@@ -144,10 +144,6 @@
user << "\red [target] is full."
return
if(istype(target, /obj/item/slime_extract))
var/obj/item/slime_extract/core = target
core.Flush = 30 // reset flush counter
if(ismob(target) && target != user)
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red <B>[] is trying to inject []!</B>", user, target), 1)