mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Adds slime cores, replicator, extractor.
Replicator and extractor circuits currently need to be adjusted, as they require origin tech and components. This commit is being added simply to save any headaches that may occur do to data loss.
This commit is contained in:
@@ -1,115 +0,0 @@
|
||||
//Important definitions for xenos, traits datum.
|
||||
|
||||
//Definitions for gene grouping.
|
||||
#define GENE_XENO_BIOCHEMISTRY "biochemistry"
|
||||
#define GENE_XENO_HEALTH "health"
|
||||
#define GENE_XENO_RESISTANCES "resistances"
|
||||
#define GENE_XENO_INTERNAL "internal"
|
||||
#define GENE_XENO_COLOR "color"
|
||||
#define GENE_XENO_LEARN "learn"
|
||||
#define GENE_XENO_SPEAK "speak"
|
||||
#define GENE_XENO_SPEED "speed"
|
||||
#define GENE_XENO_SPECIAL "special"
|
||||
|
||||
//Definitions for traits.
|
||||
|
||||
#define TRAIT_XENO_COLOR "color"
|
||||
#define TRAIT_XENO_CHEMISTRY "chems"
|
||||
#define TRAIT_XENO_CHEMVOL "chem_vol"
|
||||
#define TRAIT_XENO_HEALTH "health"
|
||||
#define TRAIT_XENO_HUNGER "hunger"
|
||||
#define TRAIT_XENO_STARVEDAMAGE "starvedamage"
|
||||
#define TRAIT_XENO_EATS "eats"
|
||||
#define TRAIT_XENO_CHROMATIC "chrom"
|
||||
#define TRAIT_XENO_HOSTILE "hostile"
|
||||
#define TRAIT_XENO_BIOLUMESCENT "biolum"
|
||||
#define TRAIT_XENO_BIO_COLOR "biocolor"
|
||||
#define TRAIT_XENO_GLOW_STRENGTH "biostrength"
|
||||
#define TRAIT_XENO_GLOW_RANGE "biorange"
|
||||
#define TRAIT_XENO_TOXIC_CHEMS "tox_chems"
|
||||
#define TRAIT_XENO_NUTRITIONAL_CHEMS "nutr_chems"
|
||||
#define TRAIT_XENO_HEALING_CHEMS "heal_chems"
|
||||
#define TRAIT_XENO_MUTATING_CHEMS "mut_chems"
|
||||
#define TRAIT_XENO_SPEED "speed"
|
||||
#define TRAIT_XENO_COLDRES "cold_resistance"
|
||||
#define TRAIT_XENO_HEATRES "heat_resistance"
|
||||
#define TRAIT_XENO_LEARNCHANCE "learn_chance"
|
||||
#define TRAIT_XENO_CANLEARN "can_learn"
|
||||
#define TRAIT_XENO_SPEAKCHANCE "speak_chance"
|
||||
#define TRAIT_XENO_CANSPEAK "can_speak"
|
||||
#define TRAIT_XENO_STRENGTH "melee_strength"
|
||||
#define TRAIT_XENO_STR_RANGE "melee_range"
|
||||
|
||||
//Maleability defines.
|
||||
#define MAX_MALEABLE 2
|
||||
#define MINOR_MALEABLE 1
|
||||
#define MIN_MALEABLE 0
|
||||
|
||||
var/global/list/xenoChemList = list("mutationtoxin",
|
||||
"psilocybin",
|
||||
"mindbreaker",
|
||||
"impedrezene",
|
||||
"cryptobiolin",
|
||||
"serotronium",
|
||||
"space_drugs",
|
||||
"chloralhydrate",
|
||||
"stoxin",
|
||||
"mutagen",
|
||||
"lexorin",
|
||||
"pacid",
|
||||
"cyanide",
|
||||
"phoron",
|
||||
"plasticide",
|
||||
"amatoxin",
|
||||
"carbon",
|
||||
"radium",
|
||||
"sacid",
|
||||
"sugar",
|
||||
"kelotane",
|
||||
"dermaline",
|
||||
"anti_toxin",
|
||||
"dexalin",
|
||||
"synaptizine",
|
||||
"alkysine",
|
||||
"imidazoline",
|
||||
"peridaxon",
|
||||
"rezadone")
|
||||
|
||||
/datum/xeno/traits
|
||||
var/list/traits = list()
|
||||
var/list/chemlist = list()
|
||||
var/obj/chems
|
||||
|
||||
/datum/xeno/traits/proc/set_trait(var/trait, var/newval)
|
||||
traits["[trait]"] = newval
|
||||
return
|
||||
|
||||
/datum/xeno/traits/proc/get_trait(var/trait)
|
||||
var/val = traits["[trait]"]
|
||||
return val
|
||||
|
||||
/datum/xeno/traits/New()
|
||||
..()
|
||||
set_trait(TRAIT_XENO_COLOR, "#CACACA")
|
||||
set_trait(TRAIT_XENO_CHEMVOL, 100)
|
||||
set_trait(TRAIT_XENO_HEALTH, 20)
|
||||
set_trait(TRAIT_XENO_HUNGER, 2)
|
||||
set_trait(TRAIT_XENO_STARVEDAMAGE, 0)
|
||||
set_trait(TRAIT_XENO_EATS, 1)
|
||||
set_trait(TRAIT_XENO_CHROMATIC, 0)
|
||||
set_trait(TRAIT_XENO_HOSTILE, 0)
|
||||
set_trait(TRAIT_XENO_BIOLUMESCENT, 0)
|
||||
set_trait(TRAIT_XENO_BIO_COLOR, "#CACACA")
|
||||
set_trait(TRAIT_XENO_GLOW_STRENGTH, 0)
|
||||
set_trait(TRAIT_XENO_GLOW_RANGE, 0)
|
||||
set_trait(TRAIT_XENO_SPEED, 4)
|
||||
set_trait(TRAIT_XENO_COLDRES, 20)
|
||||
set_trait(TRAIT_XENO_HEATRES, 20)
|
||||
set_trait(TRAIT_XENO_LEARNCHANCE, 100)
|
||||
set_trait(TRAIT_XENO_CANLEARN, 1)
|
||||
set_trait(TRAIT_XENO_SPEAKCHANCE, 1)
|
||||
set_trait(TRAIT_XENO_CANSPEAK, 1)
|
||||
set_trait(TRAIT_XENO_STRENGTH, 0)
|
||||
set_trait(TRAIT_XENO_STR_RANGE, 0)
|
||||
chems = new()
|
||||
chems.create_reagents(traits[TRAIT_XENO_CHEMVOL])
|
||||
@@ -31,9 +31,9 @@ Slime definitions, Life and New live here.
|
||||
universal_speak = 1
|
||||
speak_chance = 1
|
||||
speak = list("Hello?",
|
||||
"Where's this going?",
|
||||
"What's that?",
|
||||
"What's in the box?",
|
||||
"Where is this going?",
|
||||
"What is that?",
|
||||
"What is in the box?",
|
||||
"Cargo.",
|
||||
"Transport?",
|
||||
"Special?",
|
||||
@@ -81,4 +81,5 @@ Slime definitions, Life and New live here.
|
||||
languages += L
|
||||
speak += "[station_name()]?"
|
||||
GenerateChild()
|
||||
return 1
|
||||
return 1
|
||||
|
||||
10
code/modules/xenobio2/mob/slime/slime_core.dm
Normal file
10
code/modules/xenobio2/mob/slime/slime_core.dm
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
Slime core lives here, and related procs.
|
||||
*/
|
||||
/obj/item/slime/core
|
||||
name = "slime core"
|
||||
desc = "Gooey."
|
||||
icon = 'icons/mob/slime2.dmi'
|
||||
icon_state = "slime extract"
|
||||
var/datum/xeno/traits/slimetraits
|
||||
|
||||
@@ -118,11 +118,13 @@ Procs for targeting
|
||||
return
|
||||
if(learned_message) //Is it understood?
|
||||
var/complete_message = ",[language.key] [message]"
|
||||
speech_buffer.Add(complete_message)
|
||||
log_debug("Added '[complete_message]'.")
|
||||
if(!(complete_message in speak))
|
||||
speech_buffer.Add(complete_message)
|
||||
log_debug("Added '[complete_message]'.")
|
||||
else
|
||||
*/
|
||||
speech_buffer.Add(message)
|
||||
if(!(message in speak))
|
||||
speech_buffer.Add(message)
|
||||
..(message,verb,language,alt_name,italics,speaker)
|
||||
|
||||
/mob/living/simple_animal/xeno/proc/ProcessSpeechBuffer()
|
||||
|
||||
@@ -73,19 +73,8 @@ Also includes Life and New
|
||||
return 1 //Everything worked okay.
|
||||
|
||||
/mob/living/simple_animal/xeno/New()
|
||||
var/traits
|
||||
if(istype(loc, /mob/living/simple_animal/xeno))
|
||||
var/mob/living/simple_animal/xeno/X = loc
|
||||
traits = X.traitdat
|
||||
/*
|
||||
if(istype(loc, /obj/machinery/xenobio/replicator))
|
||||
var/obj/machinery/xenobio/replicator/R = loc
|
||||
traits = R.connected.traitdat
|
||||
*/
|
||||
if(!traits)
|
||||
traitdat = new()
|
||||
else
|
||||
traitdat = traits
|
||||
|
||||
traitdat = new()
|
||||
|
||||
ProcessTraits()
|
||||
|
||||
@@ -99,4 +88,5 @@ Also includes Life and New
|
||||
for(var/R in default_chems)
|
||||
traitdat.chems.reagents.add_reagent("[R]", default_chems[R])
|
||||
if(!health)
|
||||
stat = DEAD
|
||||
stat = DEAD
|
||||
|
||||
Reference in New Issue
Block a user