Page 1 of 1

A playable race thats a small creature inside a human-sized robot suit

Posted: Thu Feb 20, 2020 7:16 pm
by hiynastrike
This is something I've been rolling in my head for a little while, but pretty much a race of very small creatures, (octopi, rodent, worm, humanoid, ect.) That have to depend on a robotic suit, as their physical bodies are incredibly fragile.

ORGAN SUGGESTIONS:
Brain - The creature itself: being in open air may be hazardous and may kill the creature, or damage it over time to the point of death. Can't be inserted in an MMI or anything other than another robot suit (not mechs or cyborg bodies)
Heart - Miniature Nuclear Battery/High-Energy Power Cell: the nuclear battery could be pilfered and rigged as an explosive, or used as a really effective battery in other electronics, otherwise the suit is left in a state of crit until a new power source is inserted.
Lungs - Life Support Nodes: they could either just be a lungs equivalent or a "natural" internals system allowing the creature to survive in areas without oxygen
Liver - Internal Purifier: liver equivalent or an on-board surgical computer that heals brain (creature) damage
Stomach - Sustenance Chamber: Stores food in the form of a thick liquid which is dispensed to the creature in the head

DIET:
Without jaws on the suit, the creature has to have all food turned into a drinkable liquid to consume it. that said, they can only eat produce (fruits and vegetables)
eating meat or junk food causes toxin damage

THE SUIT:
Holds up better to Brute and Burn damage, but sucks against Toxin or Suffocation
if a certain Brute threshold is met, the suit could be breached, causing slow, agonizing brain damage until it's fixed
can be injected
can be hollowed out entirely, stolen, and worn as armor or a disguise by other races
can have clothes worn over it, like jumpsuits and labcoats.

Main Benefits:
-get healed on the spot with welders and wires like other robot bodies
-internal lights and welding shields (potentially oxygen too)
-(potential low-pressure environment resistance)
-never vomit

Drawbacks
-everyone will want you dead for your cool suit
-straight radiation or diseases will probably kill you
-you'll have to annoy the chef to juice your food
-you can't self repair

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Thu Feb 20, 2020 8:45 pm
by PKPenguin321
crag had literally this idea a few years ago but the small creature was a monkey and i looked at coding it and it was too complicated :cry:

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Sat Feb 22, 2020 7:07 am
by Super Aggro Crag
PKPenguin321 wrote:crag had literally this idea a few years ago but the small creature was a monkey and i looked at coding it and it was too complicated :cry:
i honestly dont remember having this idea, was i drunk

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Sat Feb 22, 2020 7:11 am
by bobbahbrown
Super Aggro Crag wrote:
PKPenguin321 wrote:crag had literally this idea a few years ago but the small creature was a monkey and i looked at coding it and it was too complicated :cry:
i honestly dont remember having this idea, was i drunk
i love crag

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Sat Feb 22, 2020 7:17 am
by Super Aggro Crag
bobbahbrown wrote:
Super Aggro Crag wrote:
PKPenguin321 wrote:crag had literally this idea a few years ago but the small creature was a monkey and i looked at coding it and it was too complicated :cry:
i honestly dont remember having this idea, was i drunk
i love crag
:oops:

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Sat Feb 22, 2020 8:02 am
by hiynastrike
if you guys could walk me through race coding, I could try my hand at it, I copy and pasted a plasmaman as a base, and got this far
Spoiler:
/datum/species/pupiloid
name = "Pupiloid"
id = "pupiloid"
say_mod = "states"
sexes = 0
meat = /obj/item/stack/sheet/mineral/plasma
species_traits = list(NOBLOOD,NOTRANSSTING)
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_NOHUNGER,TRAIT_ALWAYS_CLEAN)
inherent_biotypes = MOB_HUMANOID|MOB_MINERAL
mutantlungs = /obj/item/organ/lungs/plasmaman
mutanttongue = /obj/item/organ/tongue/bone/plasmaman
mutantliver = /obj/item/organ/liver/plasmaman
mutantstomach = /obj/item/organ/stomach/plasmaman
burnmod = 1.5
heatmod = 1.5
brutemod = 1.5
breathid = "tox"
damage_overlay_type = ""//let's not show bloody wounds or burns over bones.
var/internal_fire = FALSE //If the bones themselves are burning clothes won't help you much
disliked_food = FRUIT
liked_food = VEGETABLES
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC
outfit_important_for_life = /datum/outfit/plasmaman
species_language_holder = /datum/language_holder/skeleton

// Body temperature for Plasmen is much lower human as they can handle colder environments
bodytemp_normal = (BODYTEMP_NORMAL - 40)
// The minimum amount they stabilize per tick is reduced making hot areas harder to deal with
bodytemp_autorecovery_min = 2
// They are hurt at hot temps faster as it is harder to hold their form
bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT - 20) // about 40C
// This effects how fast body temp stabilizes, also if cold resit is lost on the mob
bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 50) // about -50c

/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
var/datum/gas_mixture/environment = H.loc.return_air()
var/atmos_sealed = FALSE
if (H.wear_suit && H.head && istype(H.wear_suit, /obj/item/clothing) && istype(H.head, /obj/item/clothing))
var/obj/item/clothing/CS = H.wear_suit
var/obj/item/clothing/CH = H.head
if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE)
atmos_sealed = TRUE
if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed)
if(environment)
if(environment.total_moles())
if(environment.gases[/datum/gas/oxygen] && (environment.gases[/datum/gas/oxygen][MOLES]) >= 1) //Same threshhold that extinguishes fire
H.adjust_fire_stacks(0.5)
if(!H.on_fire && H.fire_stacks > 0)
H.visible_message("<span class='danger'>[H]'s body reacts with the atmosphere and bursts into flames!</span>","<span class='userdanger'>Your body reacts with the atmosphere and bursts into flame!</span>")
H.IgniteMob()
internal_fire = TRUE
else
if(H.fire_stacks)
var/obj/item/clothing/under/plasmaman/P = H.w_uniform
if(istype(P))
P.Extinguish(H)
internal_fire = FALSE
else
internal_fire = FALSE
H.update_fire()

/datum/species/plasmaman/handle_fire(mob/living/carbon/human/H, no_protection)
if(internal_fire)
no_protection = TRUE
. = ..()

/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
var/current_job = J.title
var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
switch(current_job)
if("Chaplain")
O = new /datum/outfit/plasmaman/chaplain

if("Curator")
O = new /datum/outfit/plasmaman/curator

if("Janitor")
O = new /datum/outfit/plasmaman/janitor

if("Botanist")
O = new /datum/outfit/plasmaman/botany

if("Bartender", "Lawyer")
O = new /datum/outfit/plasmaman/bar

if("Cook")
O = new /datum/outfit/plasmaman/chef

if("Prisoner")
O = new /datum/outfit/plasmaman/prisoner

if("Security Officer")
O = new /datum/outfit/plasmaman/security

if("Detective")
O = new /datum/outfit/plasmaman/detective

if("Warden")
O = new /datum/outfit/plasmaman/warden

if("Cargo Technician", "Quartermaster")
O = new /datum/outfit/plasmaman/cargo

if("Shaft Miner")
O = new /datum/outfit/plasmaman/mining

if("Medical Doctor")
O = new /datum/outfit/plasmaman/medical

if("Paramedic")
O = new /datum/outfit/plasmaman/paramedic

if("Chemist")
O = new /datum/outfit/plasmaman/chemist

if("Geneticist")
O = new /datum/outfit/plasmaman/genetics

if("Roboticist")
O = new /datum/outfit/plasmaman/robotics

if("Virologist")
O = new /datum/outfit/plasmaman/viro

if("Scientist")
O = new /datum/outfit/plasmaman/science

if("Station Engineer")
O = new /datum/outfit/plasmaman/engineering

if("Atmospheric Technician")
O = new /datum/outfit/plasmaman/atmospherics

if("Mime")
O = new /datum/outfit/plasmaman/mime

if("Clown")
O = new /datum/outfit/plasmaman/clown

H.equipOutfit(O, visualsOnly)
H.internal = H.get_item_for_held_index(2)
H.update_internals_hud_icon(1)
return 0

/datum/species/plasmaman/random_name(gender,unique,lastname)
if(unique)
return random_unique_plasmaman_name()

var/randname = plasmaman_name()

if(lastname)
randname += " [lastname]"

return randname

/datum/species/plasmaman/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
. = ..()
if(chem.type == /datum/reagent/consumable/milk)
if(chem.volume > 10)
H.reagents.remove_reagent(chem.type, chem.volume - 10)
to_chat(H, "<span class='warning'>The excess milk is dripping off your bones!</span>")
H.heal_bodypart_damage(1.5,0, 0)
H.reagents.remove_reagent(chem.type, chem.metabolization_rate)
return TRUE
if(chem.type == /datum/reagent/toxin/bonehurtingjuice)
H.adjustStaminaLoss(7.5, 0)
H.adjustBruteLoss(0.5, 0)
if(prob(20))
switch(rand(1, 3))
if(1)
H.say(pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = /datum/reagent/toxin/bonehurtingjuice)
if(2)
H.emote("me", 1, pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt."))
if(3)
to_chat(H, "<span class='warning'>Your bones hurt!</span>")
if(chem.overdosed)
if(prob(4) && iscarbon(H)) //big oof
var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly.
var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood
if(bp)
playsound(H, get_sfx("desceration"), 50, TRUE, -1) //You just want to socialize
H.visible_message("<span class='warning'>[H] rattles loudly and flails around!!</span>", "<span class='danger'>Your bones hurt so much that your missing muscles spasm!!</span>")
H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice)
bp.receive_damage(200, 0, 0) //But I don't think we should
else
to_chat(H, "<span class='warning'>Your missing arm aches from wherever you left it.</span>")
H.emote("sigh")
H.reagents.remove_reagent(chem.type, chem.metabolization_rate)
return TRUE
I didn't get very far as if it's not obviously stated like "Name = Plasmaman", I don't know what a line does or mean

Otherwise I did some stuff that I'm actually good at, some art: https://i.imgur.com/Ec9LuhZ.png the naked suit, feel free to steal it and restyle it for your own purposes

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Wed Feb 26, 2020 12:17 pm
by Tarchonvaagh
You need a maintainer's approval for race changes

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Thu Apr 30, 2020 3:05 am
by Armhulen
I've managed to get a subtype of a monkey that is a brain when it inserts itself into a specific species (through a targetted spell) and otherwise acts like a monkey. I don't know how much more i'm going to mess around with this idea, but it is really cool to think of the idea of the pupiloid roboticists building augmented shells all around the station for their tiny species to jump into whenever

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Thu Apr 30, 2020 11:40 pm
by Dr_bee
This is honestly the kind of race additions that should be accepted, it is both mechanically different from humans as well as unique flavor-wise compared to the existing races. Much better than "insert-animal-here" person that usually is suggested.

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Thu Apr 30, 2020 11:50 pm
by Armhulen
Well, I've just been messing around. I don't think I could put any serious effort into this unless a maintainer greenlit it

Re: A playable race thats a small creature inside a human-sized robot suit

Posted: Sun Jul 05, 2020 6:04 am
by hiynastrike
I haven't checked back here in a while and I'm honestly excited someone more competent at coding has shown interest in my idea. I understand it needs to get consideration from higher ups but I can make more graphics if you need them. Otherwise here's some concept art I made a while ago, going for the Octopi look:
Spoiler:
Image