Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions cev_eris.dme
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
// BEGIN_INCLUDE
#include "code\_compile_options.dm"
#include "code\client_macros.dm"
#include "code\global.dm"
#include "code\stylesheet.dm"
#include "code\world.dm"
#include "code\__DEFINES\_bitfields.dm"
Expand Down Expand Up @@ -120,6 +119,7 @@
#include "code\__DEFINES\verb_manager.dm"
#include "code\__DEFINES\vv.dm"
#include "code\__DEFINES\weapons.dm"
#include "code\__DEFINES\wires.dm"
#include "code\__DEFINES\world.dm"
#include "code\__DEFINES\ZAS.dm"
#include "code\__DEFINES\dcs\flags.dm"
Expand Down Expand Up @@ -1441,8 +1441,6 @@
#include "code\game\verbs\looc.dm"
#include "code\game\verbs\ooc.dm"
#include "code\game\verbs\who.dm"
#include "code\js\byjax.dm"
#include "code\js\menus.dm"
#include "code\modules\aberrants\_defines.dm"
#include "code\modules\aberrants\_modification.dm"
#include "code\modules\aberrants\organs\holders.dm"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -199,3 +199,5 @@ GLOBAL_LIST_INIT(weapon_aspects_blacklist, list(GUN_UPGRADE_SILENCER, GUN_UPGRAD
#define ITEM_BLOCKING_SLOWDOWN 1
#define SHIELD_BLOCKING_SLOWDOWN 1.5
#define HVY_SHIELD_BLOCKING_SLOWDOWN 2

#define NO_EMAG_ACT -50
148 changes: 127 additions & 21 deletions code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/// Used when the `get_job_unavailable_error_message` proc can't make sense of a given code.
#define GENERIC_JOB_UNAVAILABLE_ERROR "Error: Unknown job availability."

#define ASSISTANT_TITLE "Vagabond"
#define JOB_ASSISTANT "Vagabond"

/**
* =======================
Expand All @@ -26,32 +26,138 @@
*/

//Jobs depatment lists for use in constant expressions
#define JOBS_SECURITY "Ironhammer Commander","Ironhammer Gunnery Sergeant","Ironhammer Inspector","Ironhammer Medical Specialist","Ironhammer Operative"
#define JOBS_ARMORY "Captain","First Officer","Ironhammer Commander","Ironhammer Gunnery Sergeant"
#define JOBS_COMMAND "Captain","First Officer","Ironhammer Commander","Guild Merchant","Technomancer Exultant","Moebius Biolab Officer","Moebius Expedition Overseer","NeoTheology Preacher"
#define JOBS_ENGINEERING "Technomancer Exultant","Technomancer"
#define JOBS_MEDICAL "Moebius Biolab Officer","Moebius Doctor","Moebius Psychiatrist","Moebius Chemist","Moebius Paramedic","Moebius Bio-Engineer"
#define JOBS_SCIENCE "Moebius Expedition Overseer","Moebius Scientist","Moebius Roboticist"
#define JOBS_MOEBIUS "Moebius Biolab Officer","Moebius Doctor","Moebius Psychiatrist","Moebius Chemist","Moebius Paramedic","Moebius Bio-Engineer","Moebius Expedition Overseer","Moebius Scientist","Moebius Roboticist"
#define JOBS_CARGO "Guild Merchant","Guild Technician","Guild Miner",
#define JOBS_CIVILIAN "Club Manager","Club Worker","Club Artist",ASSISTANT_TITLE
#define JOBS_CHURCH "NeoTheology Preacher","NeoTheology Acolyte","NeoTheology Agrolyte","NeoTheology Custodian"
#define JOBS_NONHUMAN "AI","Robot","pAI"
#define JOB_IRONHAMMER_COMMANDER "Ironhammer Commander"
#define JOB_IRONHAMMER_GUNNERY_SERGEANT "Ironhammer Gunnery Sergeant"
#define JOB_IRONHAMMER_INSPECTOR "Ironhammer Inspector"
#define JOB_IRONHAMMER_MEDICAL_SPECIALIST "Ironhammer Medical Specialist"
#define JOB_IRONHAMMER_OPERATIVE "Ironhammer Operative"

#define JOB_CAPTAIN "Captain"
#define JOB_FIRST_OFFICER "First Officer"

#define JOB_GUILD_MERCHANT "Guild Merchant"
#define JOB_GUILD_TECHNICIAN "Guild Technician"
#define JOB_GUILD_MINER "Guild Miner"

#define JOB_TECHNOMANCER_EXULTANT "Technomancer Exultant"
#define JOB_TECHNOMANCER "Technomancer"

#define JOB_MOEBIUS_BIOLAB_OFFICER "Moebius Biolab Officer"
#define JOB_MOEBIUS_DOCTOR "Moebius Doctor"
#define JOB_MOEBIUS_PSYCHIATRIST "Moebius Psychiatrist"
#define JOB_MOEBIUS_CHEMIST "Moebius Chemist"
#define JOB_MOEBIUS_PARAMEDIC "Moebius Paramedic"
#define JOB_MOEBIUS_BIO_ENGINEER "Moebius Bio-Engineer"
#define JOB_MOEBIUS_EXPEDITION_OVERSEER "Moebius Expedition Overseer"
#define JOB_MOEBIUS_SCIENTIST "Moebius Scientist"
#define JOB_MOEBIUS_ROBOTICIST "Moebius Roboticist"

#define JOB_CLUB_MANAGER "Club Manager"
#define JOB_CLUB_WORKER "Club Worker"
#define JOB_CLUB_ARTIST "Club Artist"

#define JOB_NEOTHEOLOGY_PREACHER "NeoTheology Preacher"
#define JOB_NEOTHEOLOGY_ACOLYTE "NeoTheology Acolyte"
#define JOB_NEOTHEOLOGY_AGROLYTE "NeoTheology Agrolyte"
#define JOB_NEOTHEOLOGY_CUSTODIAN "NeoTheology Custodian"

#define JOB_AI "AI"
#define JOB_ROBOT "Robot"
#define JOB_PAI "pAI"

#define JOBS_SECURITY JOB_IRONHAMMER_COMMANDER, JOB_IRONHAMMER_GUNNERY_SERGEANT, JOB_IRONHAMMER_INSPECTOR, JOB_IRONHAMMER_MEDICAL_SPECIALIST, JOB_IRONHAMMER_OPERATIVE

#define JOBS_ARMORY JOB_CAPTAIN, JOB_FIRST_OFFICER, JOB_IRONHAMMER_COMMANDER, JOB_IRONHAMMER_GUNNERY_SERGEANT

#define JOBS_COMMAND JOB_CAPTAIN, JOB_FIRST_OFFICER, JOB_IRONHAMMER_COMMANDER, JOB_GUILD_MERCHANT, JOB_TECHNOMANCER_EXULTANT, JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_NEOTHEOLOGY_PREACHER

#define JOBS_ENGINEERING JOB_TECHNOMANCER_EXULTANT, JOB_TECHNOMANCER

#define JOBS_MEDICAL JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_DOCTOR, JOB_MOEBIUS_PSYCHIATRIST, JOB_MOEBIUS_CHEMIST, JOB_MOEBIUS_PARAMEDIC, JOB_MOEBIUS_BIO_ENGINEER

#define JOBS_SCIENCE JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_MOEBIUS_SCIENTIST, JOB_MOEBIUS_ROBOTICIST

#define JOBS_MOEBIUS JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_DOCTOR, JOB_MOEBIUS_PSYCHIATRIST, JOB_MOEBIUS_CHEMIST, JOB_MOEBIUS_PARAMEDIC, JOB_MOEBIUS_BIO_ENGINEER, JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_MOEBIUS_SCIENTIST, JOB_MOEBIUS_ROBOTICIST

#define JOBS_CARGO JOB_GUILD_MERCHANT, JOB_GUILD_TECHNICIAN, JOB_GUILD_MINER

#define JOBS_CIVILIAN JOB_CLUB_MANAGER, JOB_CLUB_WORKER, JOB_CLUB_ARTIST, JOB_ASSISTANT

#define JOBS_CHURCH JOB_NEOTHEOLOGY_PREACHER, JOB_NEOTHEOLOGY_ACOLYTE, JOB_NEOTHEOLOGY_AGROLYTE, JOB_NEOTHEOLOGY_CUSTODIAN

#define JOBS_NONHUMAN JOB_AI, JOB_ROBOT, JOB_PAI

#define CREDITS "¢"
#define CREDS "¢"


#define DEPARTMENT_COMMAND "Command"
#define DEPARTMENT_MEDICAL "Medical"
#define DEPARTMENT_COMMAND "Command"
#define DEPARTMENT_MEDICAL "Medical"
#define DEPARTMENT_ENGINEERING "Engineering"
#define DEPARTMENT_SCIENCE "Science"
#define DEPARTMENT_SECURITY "Security"
#define DEPARTMENT_GUILD "Guild"
#define DEPARTMENT_CIVILIAN "Civilian"
#define DEPARTMENT_CHURCH "Church"
#define DEPARTMENT_OFFSHIP "Offship"
#define DEPARTMENT_SILICON "Silicon"
#define DEPARTMENT_SCIENCE "Science"
#define DEPARTMENT_SECURITY "Security"
#define DEPARTMENT_GUILD "Guild"
#define DEPARTMENT_CIVILIAN "Civilian"
#define DEPARTMENT_CHURCH "Church"
#define DEPARTMENT_OFFSHIP "Offship"
#define DEPARTMENT_SILICON "Silicon"


// Department Bitfields (dawg these are so unorganized i dont even know what is what)
#define ENGINEERING (1<<0)
#define IRONHAMMER (1<<1)
#define MEDICAL (1<<2)
#define SCIENCE (1<<3)
#define CIVILIAN (1<<4)
#define COMMAND (1<<5)
#define MISC (1<<6)
#define SERVICE (1<<7)
#define GUILD (1<<8)
#define CHURCH (1<<9)

#define ENGSEC (1<<0)

#define CAPTAIN (1<<0)
#define IHC (1<<1)
#define GUNSERG (1<<2)
#define INSPECTOR (1<<3)
#define IHOPER (1<<4)
#define MEDSPEC (1<<5)
#define EXULTANT (1<<6)
#define TECHNOMANCER (1<<7)
#define AI (1<<8)
#define CYBORG (1<<9)


#define MEDSCI (1<<1)

#define MEO (1<<0)
#define SCIENTIST (1<<1)
#define CHEMIST (1<<2)
#define MBO (1<<3)
#define DOCTOR (1<<4)
#define PSYCHIATRIST (1<<5)
#define ROBOTICIST (1<<6)
#define PARAMEDIC (1<<7)
#define BIOENGINEER (1<<8)


#define FIRSTOFFICER (1<<0)
#define CLUBMANAGER (1<<1)
#define CLUBWORKER (1<<2)
#define MERCHANT (1<<3)
#define GUILDTECH (1<<4)
#define MINER (1<<5)
#define ARTIST (1<<6)
#define ASSISTANT (1<<7)


#define CHAPLAIN (1<<0)
#define ACOLYTE (1<<1)
#define JANITOR (1<<2)
#define BOTANIST (1<<3)

// exp

#define EXP_TYPE_LIVING "Living"
#define EXP_TYPE_CREW "Crew"
Expand Down
2 changes: 0 additions & 2 deletions code/__DEFINES/machinery.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called manually after an event.

#define CELLRATE 0.002 // Multiplier for watts per tick <> cell storage (e.g., 0.02 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
// It's a conversion constant. power_used*CELLRATE = charge_provided, or charge_used/CELLRATE = power_provided

Expand Down
8 changes: 4 additions & 4 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,10 @@

#define TABLE_BRITTLE_MATERIAL_MULTIPLIER 4 // Amount table damage is multiplied by if it is made of a brittle material (e.g. glass)

#define BOMBCAP_DVSTN_RADIUS (max_explosion_range/4)
#define BOMBCAP_HEAVY_RADIUS (max_explosion_range/2)
#define BOMBCAP_LIGHT_RADIUS max_explosion_range
#define BOMBCAP_FLASH_RADIUS (max_explosion_range*1.5)
#define BOMBCAP_DVSTN_RADIUS (GLOB.max_explosion_range/4)
#define BOMBCAP_HEAVY_RADIUS (GLOB.max_explosion_range/2)
#define BOMBCAP_LIGHT_RADIUS GLOB.max_explosion_range
#define BOMBCAP_FLASH_RADIUS (GLOB.max_explosion_range*1.5)
// NTNet module-configuration values. Do not change these. If you need to add another use larger number (5..6..7 etc)
#define NTNET_SOFTWAREDOWNLOAD 1 // Downloads of software from NTNet
#define NTNET_PEERTOPEER 2 // P2P transfers of files between devices
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -285,3 +285,9 @@ GLOBAL_LIST_INIT(voice_type2sound_ref, voice_type2sound)
* increased by 10 each time you fail to extract an item
*/
#define BUTCHERING_HAZARD_CHANCE 5

// Observer/Ghost stuff
#define GHOST_IMAGE_NONE 0
#define GHOST_IMAGE_DARKNESS 1
#define GHOST_IMAGE_SIGHTLESS 2
#define GHOST_IMAGE_ALL ~GHOST_IMAGE_NONE
7 changes: 7 additions & 0 deletions code/__DEFINES/movement.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
#define MOVE_DELAY_BASE 1.1
#define MOVE_DELAY_VENTCRAWL MOVE_DELAY_BASE //Ventcrawling has a static speed for all mobs

#define MOVEMENT_HANDLED 0x0001 // If no further movement handling should occur after this
#define MOVEMENT_REMOVE 0x0002

#define MOVEMENT_PROCEED 0x0004
#define MOVEMENT_STOP 0x0008


//Glidesize
#define FRACTIONAL_GLIDESIZES 1
#ifdef FRACTIONAL_GLIDESIZES
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@
#define JOB_LEVEL_LOW 3
#define JOB_LEVEL_MEDIUM 2
#define JOB_LEVEL_HIGH 1

#define CHARACTER_PREFERENCE_INPUT_TITLE "Character Preference"
14 changes: 14 additions & 0 deletions code/__DEFINES/wires.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//wire defines that really everything should go in here but thats a lot of work.

#define VENDING_WIRE_THROW (1 << 0)
#define VENDING_WIRE_CONTRABAND (1 << 1)
#define VENDING_WIRE_ELECTRIFY (1 << 2)
#define VENDING_WIRE_IDSCAN (1 << 3)

#define VENDING_INT_WIRE_THROW (1 << 0)
#define VENDING_INT_WIRE_ELECTRIFY (1 << 1)
#define VENDING_INT_WIRE_IDSCAN (1 << 2)
#define VENDING_INT_WIRE_SIGNAL (1 << 3)
#define VENDING_INT_WIRE_CONTRABAND (1 << 4)
#define VENDING_INT_WIRE_GROUND (1 << 5)
#define VENDING_INT_WIRE_POWER (1 << 6)
2 changes: 1 addition & 1 deletion code/__HELPERS/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ var/syndicate_code_response//Code response for contractors.
var/locations[] = SSmapping.teleportlocs.len ? SSmapping.teleportlocs : drinks//if null, defaults to drinks instead.

var/names[] = list()
for(var/datum/data/record/t in data_core.general)//Picks from crew manifest.
for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest.
names += t.fields["name"]

var/maxwords = words//Extra var to check for duplicates.
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ Turf and target are seperate in case you want to teleport some distance from a t

if(oldname)
//update the datacore records! This is goig to be a bit costly.
for(var/list/L in list(data_core.general, data_core.medical, data_core.security, data_core.locked))
for(var/list/L in list(GLOB.data_core.general, GLOB.data_core.medical, GLOB.data_core.security, GLOB.data_core.locked))
for(var/datum/data/record/R in L)
if(R.fields["name"] == oldname)
R.fields["name"] = newname
Expand Down
19 changes: 18 additions & 1 deletion code/_global_vars/configuration.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
GLOBAL_REAL(config, /datum/controller/configuration)

GLOBAL_DATUM_INIT(revdata,/datum/getrev, new)
GLOBAL_DATUM_INIT(db_search, /datum/DB_search, new)
GLOBAL_DATUM_INIT(universe, /datum/universal_state, new)
GLOBAL_DATUM_INIT(data_core, /datum/datacore, new)

GLOBAL_VAR(host)
GLOBAL_VAR_INIT(changelog_hash, "")
GLOBAL_VAR_INIT(hub_visibility, FALSE)

Expand All @@ -8,5 +14,16 @@ GLOBAL_VAR_INIT(looc_allowed, TRUE)
GLOBAL_VAR_INIT(dooc_allowed, TRUE)
GLOBAL_VAR_INIT(dsay_allowed, TRUE)
GLOBAL_VAR_INIT(enter_allowed, TRUE)

GLOBAL_VAR_INIT(master_storyteller, "shitgenerator")
GLOBAL_VAR_INIT(gravity_is_on, 1)
// Bomb cap!
GLOBAL_VAR_INIT(max_explosion_range, 14)
GLOBAL_VAR_INIT(diagonal_movement, FALSE)

GLOBAL_VAR(href_logfile)
GLOBAL_VAR(custom_event_msg)

// Reference list for disposal sort junctions. Filled up by sorting junction's New()
GLOBAL_LIST_EMPTY(tagger_locations)
GLOBAL_LIST_EMPTY(admin_log)

2 changes: 1 addition & 1 deletion code/controllers/evacuation/evacuation_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
if(!isnull(evac_called_at))
return FALSE

if (!universe.OnShuttleCall(null))
if (!GLOB.universe.OnShuttleCall(null))
return FALSE

if(SSticker.excelsior_hijacking == 1)
Expand Down
26 changes: 11 additions & 15 deletions code/controllers/subsystems/alarm.dm
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
// We manually initialize the alarm handlers instead of looping over all existing types
// to make it possible to write: camera.triggerAlarm() rather than alarm_manager.managers[datum/alarm_handler/camera].triggerAlarm() or a variant thereof.
var/global/datum/alarm_handler/atmosphere/atmosphere_alarm
var/global/datum/alarm_handler/camera/camera_alarm
var/global/datum/alarm_handler/fire/fire_alarm
var/global/datum/alarm_handler/motion/motion_alarm
var/global/datum/alarm_handler/power/power_alarm
GLOBAL_DATUM_INIT(atmosphere_alarm, /datum/alarm_handler/atmosphere, new)
GLOBAL_DATUM_INIT(camera_alarm, /datum/alarm_handler/camera, new)
GLOBAL_DATUM_INIT(fire_alarm, /datum/alarm_handler/fire, new)
GLOBAL_DATUM_INIT(motion_alarm, /datum/alarm_handler/motion, new)
GLOBAL_DATUM_INIT(power_alarm, /datum/alarm_handler/power, new)

SUBSYSTEM_DEF(alarm)
name = "Alarm"
Expand All @@ -17,15 +15,13 @@ SUBSYSTEM_DEF(alarm)
var/tmp/list/current = list()
var/tmp/list/active_alarm_cache = list()

/datum/controller/subsystem/alarm/PreInit()
atmosphere_alarm = new()
camera_alarm = new()
fire_alarm = new()
motion_alarm = new()
power_alarm = new()

/datum/controller/subsystem/alarm/Initialize(start_timeofday)
all_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, motion_alarm, power_alarm)
all_handlers = list(
GLOB.atmosphere_alarm, \
GLOB.camera_alarm, \
GLOB.fire_alarm, \
GLOB.motion_alarm, \
GLOB.power_alarm)
return ..()

/datum/controller/subsystem/alarm/fire(resumed = FALSE)
Expand Down
8 changes: 4 additions & 4 deletions code/controllers/subsystems/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ SUBSYSTEM_DEF(job)
if(job.minimum_character_age && (player.client.prefs.age < job.minimum_character_age))
continue

if(istype(job, GetJob(ASSISTANT_TITLE))) // We don't want to give him assistant, that's boring!
if(istype(job, GetJob(JOB_ASSISTANT))) // We don't want to give him assistant, that's boring!
continue

if(job in command_positions) //If you want a command position, select it!
Expand Down Expand Up @@ -398,7 +398,7 @@ SUBSYSTEM_DEF(job)
Debug("AC1, Candidates: [length(assistant_candidates)]")
for(var/mob/new_player/player in assistant_candidates)
Debug("AC1 pass, Player: [player]")
AssignRole(player, ASSISTANT_TITLE)
AssignRole(player, JOB_ASSISTANT)
assistant_candidates -= player
Debug("DO, AC1 end")

Expand Down Expand Up @@ -462,7 +462,7 @@ SUBSYSTEM_DEF(job)
for(var/mob/new_player/player in unassigned)
if(player.client.prefs.alternate_option == BE_ASSISTANT)
Debug("AC2 Assistant located, Player: [player]")
AssignRole(player, ASSISTANT_TITLE)
AssignRole(player, JOB_ASSISTANT)

//For ones returning to lobby
for(var/mob/new_player/player in unassigned)
Expand Down Expand Up @@ -756,7 +756,7 @@ SUBSYSTEM_DEF(job)
/datum/controller/subsystem/job/proc/ShouldCreateRecords(title)
if(!title) return 0
var/datum/job/job = GetJob(title)
if(!job || job == ASSISTANT_TITLE)
if(!job || job == JOB_ASSISTANT)
return FALSE
return job.create_record

Expand Down
Loading
Loading