mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Autodoc for XB and Research defines (#49575)
* Adds some auto documentation for Xenobiology * Fixes spacing
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
|
||||
///Defines for the R&D console, see: [/modules/research/rdconsole][rdconsole]
|
||||
#define RDCONSOLE_UI_MODE_NORMAL 1
|
||||
#define RDCONSOLE_UI_MODE_EXPERT 2
|
||||
#define RDCONSOLE_UI_MODE_LIST 3
|
||||
|
||||
//RDSCREEN screens
|
||||
#define RDSCREEN_MENU 0
|
||||
#define RDSCREEN_TECHDISK 1
|
||||
#define RDSCREEN_DESIGNDISK 20
|
||||
@@ -27,6 +26,7 @@
|
||||
|
||||
#define RDSCREEN_NOBREAK "<NO_HTML_BREAK>"
|
||||
|
||||
///Sanity check defines for when these devices aren't connected or no disk is inserted
|
||||
#define RDSCREEN_TEXT_NO_PROTOLATHE "<div><h3>No Protolathe Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_IMPRINTER "<div><h3>No Circuit Imprinter Linked!</h3></div><br>"
|
||||
#define RDSCREEN_TEXT_NO_DECONSTRUCT "<div><h3>No Destructive Analyzer Linked!</h3></div><br>"
|
||||
@@ -43,12 +43,14 @@
|
||||
#define RDSCREEN_UI_SNODE_CHECK if(!selected_node) { return RDSCREEN_TEXT_NO_SNODE }
|
||||
#define RDSCREEN_UI_SDESIGN_CHECK if(!selected_design) { return RDSCREEN_TEXT_NO_SDESIGN }
|
||||
|
||||
///Defines for the Protolathe screens, see: [/modules/research/machinery/protolathe][Protolathe]
|
||||
#define RESEARCH_FABRICATOR_SCREEN_MAIN 1
|
||||
#define RESEARCH_FABRICATOR_SCREEN_CHEMICALS 2
|
||||
#define RESEARCH_FABRICATOR_SCREEN_MATERIALS 3
|
||||
#define RESEARCH_FABRICATOR_SCREEN_SEARCH 4
|
||||
#define RESEARCH_FABRICATOR_SCREEN_CATEGORYVIEW 5
|
||||
|
||||
///Department flags for techwebs. Defines which department can print what from each protolathe so Cargo can't print guns, etc.
|
||||
#define DEPARTMENTAL_FLAG_SECURITY (1<<0)
|
||||
#define DEPARTMENTAL_FLAG_MEDICAL (1<<1)
|
||||
#define DEPARTMENTAL_FLAG_CARGO (1<<2)
|
||||
@@ -56,28 +58,28 @@
|
||||
#define DEPARTMENTAL_FLAG_ENGINEERING (1<<4)
|
||||
#define DEPARTMENTAL_FLAG_SERVICE (1<<5)
|
||||
#define DEPARTMENTAL_FLAG_ALL (1<<6) //NO THIS DOESN'T ALLOW YOU TO PRINT EVERYTHING, IT'S FOR ALL DEPARTMENTS!
|
||||
//#define DEPARTMENTAL_FLAG_MINING (1<<7)
|
||||
//#define DEPARTMENTAL_FLAG_MINING (1<<7) //I swear I'm actually going to use this eventually leave it here
|
||||
|
||||
#define DESIGN_ID_IGNORE "IGNORE_THIS_DESIGN"
|
||||
#define DESIGN_ID_IGNORE "IGNORE_THIS_DESIGN" ///For instances where we don't want a design showing up due to it being for debug/sanity purposes
|
||||
|
||||
#define RESEARCH_MATERIAL_RECLAMATION_ID "__materials"
|
||||
|
||||
//When adding new types, update the list below!
|
||||
///Techweb names for new point types. Can be used to define specific point values for specific types of research (science, security, engineering, etc.)
|
||||
#define TECHWEB_POINT_TYPE_GENERIC "General Research"
|
||||
#define TECHWEB_POINT_TYPE_NANITES "Nanite Research"
|
||||
|
||||
#define TECHWEB_POINT_TYPE_DEFAULT TECHWEB_POINT_TYPE_GENERIC
|
||||
|
||||
//defined here so people don't forget to change this!
|
||||
///Associative names for techweb point values, see: [/modules/research/techweb/all_nodes][all_nodes]
|
||||
#define TECHWEB_POINT_TYPE_LIST_ASSOCIATIVE_NAMES list(\
|
||||
TECHWEB_POINT_TYPE_GENERIC = "General Research",\
|
||||
TECHWEB_POINT_TYPE_NANITES = "Nanite Research"\
|
||||
)
|
||||
|
||||
#define TECHWEB_BOMB_POINTCAP 50000 //Adjust as needed; Stops toxins from nullifying RND progression mechanics. Current Value Cap Radius: 100
|
||||
|
||||
//research point values for slime extracts
|
||||
///R&D point value for a maxcap bomb. Can be adjusted if need be. Current Value Cap Radius: 100
|
||||
#define TECHWEB_BOMB_POINTCAP 50000
|
||||
|
||||
///Research point values for slime extracts, see: [/modules/research/xenobiology/xenobio_camera][xenobio_camera]
|
||||
#define SLIME_RESEARCH_TIER_0 100
|
||||
#define SLIME_RESEARCH_TIER_1 500
|
||||
#define SLIME_RESEARCH_TIER_2 1000
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
grind_results = list()
|
||||
var/Uses = 1 // uses before it goes inert
|
||||
var/qdel_timer = null // deletion timer, for delayed reactions
|
||||
var/effectmod
|
||||
var/list/activate_reagents = list() //Reagents required for activation
|
||||
var/Uses = 1 ///uses before it goes inert
|
||||
var/qdel_timer = null ///deletion timer, for delayed reactions
|
||||
var/effectmod ///Which type of crossbred
|
||||
var/list/activate_reagents = list() ///Reagents required for activation
|
||||
var/recurring = FALSE
|
||||
var/research //Research point value
|
||||
var/research ///Research point value for slime cores. These are defines stored in [/__DEFINES/research] - the actual values are updated there.
|
||||
|
||||
/obj/item/slime_extract/examine(mob/user)
|
||||
. = ..()
|
||||
@@ -45,12 +45,24 @@
|
||||
if(Uses)
|
||||
grind_results[/datum/reagent/toxin/slimejelly] = 20
|
||||
|
||||
//Effect when activated by a Luminescent. Separated into a minor and major effect. Returns cooldown in deciseconds.
|
||||
/**
|
||||
* Effect when activated by a Luminescent.
|
||||
*
|
||||
* This proc is called whenever a Luminescent consumes a slime extract. Each one is separated into major and minor effects depending on the extract. Cooldown is measured in deciseconds.
|
||||
*
|
||||
* * arg1 - The mob absorbing the slime extract.
|
||||
* * arg2 - The valid species for the absorbtion. Should always be a Luminescent unless something very major has changed.
|
||||
* * arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple.
|
||||
*/
|
||||
/obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
|
||||
to_chat(user, "<span class='warning'>Nothing happened... This slime extract cannot be activated this way.</span>")
|
||||
return 0
|
||||
|
||||
//Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.
|
||||
/**
|
||||
* Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.
|
||||
*
|
||||
* By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross.
|
||||
*/
|
||||
/obj/item/slime_extract/attack(mob/living/simple_animal/slime/M, mob/user)
|
||||
if(!isslime(M))
|
||||
return ..()
|
||||
@@ -628,6 +640,16 @@
|
||||
|
||||
////Slime-derived potions///
|
||||
|
||||
/**
|
||||
* #Slime potions
|
||||
*
|
||||
* Feed slimes potions either by hand or using the slime console.
|
||||
*
|
||||
* Slime potions either augment the slime's behavior, its extract output, or its intelligence. These all come either from extract effects or cross cores.
|
||||
* A few of the more powerful ones can modify someone's equipment or gender.
|
||||
* New ones should probably be accessible only through cross cores as all the normal core types already have uses. Rule of thumb is 'stronger effects go in cross cores'.
|
||||
*/
|
||||
|
||||
/obj/item/slimepotion
|
||||
name = "slime potion"
|
||||
desc = "A hard yet gelatinous capsule excreted by a slime, containing mysterious substances."
|
||||
@@ -1001,6 +1023,8 @@
|
||||
imp.implant(M, user)
|
||||
qdel(src)
|
||||
|
||||
///Definitions for slime products that don't have anywhere else to go (Floor tiles, blueprints).
|
||||
|
||||
/obj/item/stack/tile/bluespace
|
||||
name = "bluespace floor tile"
|
||||
singular_name = "floor tile"
|
||||
|
||||
Reference in New Issue
Block a user