Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-adds vampire bat form, disallows vampires from entering other departments without permission #369

Merged
merged 3 commits into from
Nov 8, 2023
Merged
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
2 changes: 2 additions & 0 deletions maplestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -5558,6 +5558,7 @@
#include "maplestation_modules\code\modules\jobs\job_types\asset_protection.dm"
#include "maplestation_modules\code\modules\jobs\job_types\assistant.dm"
#include "maplestation_modules\code\modules\jobs\job_types\bridge_officer.dm"
#include "maplestation_modules\code\modules\jobs\job_types\captain.dm"
#include "maplestation_modules\code\modules\jobs\job_types\lawyer.dm"
#include "maplestation_modules\code\modules\jobs\job_types\ordnance_tech.dm"
#include "maplestation_modules\code\modules\jobs\job_types\psychologist.dm"
Expand Down Expand Up @@ -5653,6 +5654,7 @@
#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\skrell.dm"
#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\species.dm"
#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synths.dm"
#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\vampire.dm"
#include "maplestation_modules\code\modules\mob\living\silicon\robot\robot_defines.dm"
#include "maplestation_modules\code\modules\mob\living\simple_animal\corpse.dm"
#include "maplestation_modules\code\modules\mod\mod_control.dm"
Expand Down
8 changes: 8 additions & 0 deletions maplestation_modules/code/__DEFINES/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@

/// Item generating their worn icon
#define COMSIG_ITEM_WORN_ICON_MADE "item_worn_icon_made"

/// Entering or exiting a vent.
#define COMSIG_HANDLE_VENTCRAWLING "handle_ventcrawl"
/// Return to block entrance / exit
#define COMPONENT_NO_VENT (1<<0)

/// A carbon is being flashed - actually being blinded and taking (eye) damage
#define COMSIG_CARBON_FLASH_ACT "carbon_flash_act"
143 changes: 143 additions & 0 deletions maplestation_modules/code/game/area/space_station_13_areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
name = "Bridge Officer's Office"
icon = 'maplestation_modules/icons/turf/areas.dmi'
icon_state = "bo_office"
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SECURITY
associated_department = DEPARTMENT_COMMAND

//AP Office, possibly going unused? We're adding it anyway, fuck you
/area/station/command/ap_office
Expand All @@ -20,6 +22,8 @@

/area/station/service/hydroponics/park
name = "Park"
associated_department_flags = NONE
associated_department = null

/area/station/service/bar/lower
name = "Lower Bar"
Expand All @@ -29,11 +33,15 @@
name = "\improper Abandoned Robotics"
icon_state = "abandoned_sci"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
associated_department_flags = NONE
associated_department = null

/area/station/service/kitchen/abandoned
name = "\improper Abandoned Kitchen"
icon_state = "kitchen"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
associated_department_flags = NONE
associated_department = null

/area/station/maintenance/starboard/lower
name = "Lower Starboard Maintenance"
Expand Down Expand Up @@ -78,3 +86,138 @@
name = "\improper Baseball Locker Room"
icon = 'maplestation_modules/icons/turf/areas.dmi'
icon_state = "baseball_locker"

/area/station
/// All department flags that are associated with this department
var/associated_department_flags = NONE
/// The PRIMARY department this area may be located in
var/associated_department

/area/station/security
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY
associated_department = DEPARTMENT_SECURITY

/area/station/security/checkpoint/medical
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY|DEPARTMENT_BITFLAG_MEDICAL
associated_department = DEPARTMENT_MEDICAL

/area/station/security/checkpoint/medical/medsci
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY|DEPARTMENT_BITFLAG_MEDICAL|DEPARTMENT_BITFLAG_SCIENCE

/area/station/security/checkpoint/science
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY|DEPARTMENT_BITFLAG_SCIENCE
associated_department = DEPARTMENT_SCIENCE

/area/station/security/checkpoint/engineering
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY|DEPARTMENT_BITFLAG_ENGINEERING
associated_department = DEPARTMENT_ENGINEERING

/area/station/security/checkpoint/supply
associated_department_flags = DEPARTMENT_BITFLAG_SECURITY|DEPARTMENT_BITFLAG_COMMAND
associated_department = DEPARTMENT_COMMAND

/area/station/medical
associated_department_flags = DEPARTMENT_BITFLAG_MEDICAL
associated_department = DEPARTMENT_MEDICAL

/area/station/medical/abandoned
associated_department_flags = NONE
associated_department = null

/area/station/science
associated_department_flags = DEPARTMENT_BITFLAG_SCIENCE
associated_department = DEPARTMENT_SCIENCE

/area/station/science/research/abandoned
associated_department_flags = NONE
associated_department = null

/area/station/service
associated_department_flags = DEPARTMENT_BITFLAG_SERVICE
associated_department = DEPARTMENT_SERVICE

/area/station/service/electronic_marketing_den
associated_department_flags = NONE
associated_department = null

/area/station/service/abandoned_gambling_den
associated_department_flags = NONE
associated_department = null

/area/station/service/abandoned_gambling_den/gaming
associated_department_flags = NONE
associated_department = null

/area/station/service/theater/abandoned
associated_department_flags = NONE
associated_department = null

/area/station/service/library/abandoned
associated_department_flags = NONE
associated_department = null

/area/station/service/hydroponics/garden/abandoned
associated_department_flags = NONE
associated_department = null

/area/station/engineering
associated_department_flags = DEPARTMENT_BITFLAG_ENGINEERING
associated_department = DEPARTMENT_ENGINEERING

/area/station/supply
associated_department_flags = DEPARTMENT_BITFLAG_CARGO
associated_department = DEPARTMENT_CARGO

/area/station/command
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND
associated_department = DEPARTMENT_COMMAND

/area/station/command/heads_quarters/captain
associated_department_flags = DEPARTMENT_BITFLAG_CAPTAIN

/area/station/command/heads_quarters/cmo
associated_department = DEPARTMENT_MEDICAL

/area/station/command/heads_quarters/ce
associated_department = DEPARTMENT_ENGINEERING

/area/station/command/heads_quarters/rd
associated_department = DEPARTMENT_SCIENCE

/area/station/command/heads_quarters/hos
associated_department = DEPARTMENT_SECURITY

/area/station/ai_monitored
associated_department_flags = DEPARTMENT_BITFLAG_SILICON

/area/station/ai_monitored/command
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_COMMAND

/area/station/ai_monitored/security
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SECURITY
associated_department = DEPARTMENT_BITFLAG_SECURITY

/area/station/ai_monitored/aisat
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON

/area/station/ai_monitored/turret_protected/ai
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON

/area/station/ai_monitored/turret_protected/aisat
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON

/area/station/ai_monitored/turret_protected/aisat_interior
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON

/area/station/ai_monitored/turret_protected/ai_upload
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON

/area/station/ai_monitored/turret_protected/ai_upload_foyer
associated_department_flags = DEPARTMENT_BITFLAG_COMMAND|DEPARTMENT_BITFLAG_SILICON
associated_department = DEPARTMENT_SILICON
45 changes: 7 additions & 38 deletions maplestation_modules/code/modules/events/solar_flare.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,45 +99,14 @@
/**
* Get all areas associated with a department.
*/
/datum/round_event/solar_flare/proc/get_areas(department, area_path)
/datum/round_event/solar_flare/proc/get_areas(department, area/station/area_path)
RETURN_TYPE(/list)
. = subtypesof(area_path)

// There's much more OOP ways to do this, but whatever
switch(department)
if(DEPARTMENT_SECURITY)
. -= typesof(/area/station/security/checkpoint)
. -= /area/station/security/detectives_office/bridge_officer_office

if(DEPARTMENT_COMMAND)
. -= /area/station/command/gateway
. += /area/station/security/detectives_office/bridge_officer_office

if(DEPARTMENT_SERVICE)
. -= /area/station/service/electronic_marketing_den
. -= /area/station/service/abandoned_gambling_den
. -= /area/station/service/abandoned_gambling_den/gaming
. -= /area/station/service/theater/abandoned
. -= /area/station/service/library/abandoned
. -= /area/station/service/hydroponics/garden/abandoned

if(DEPARTMENT_CARGO)
. += /area/station/security/checkpoint/supply

if(DEPARTMENT_ENGINEERING)
. -= /area/station/engineering/supermatter
. -= /area/station/engineering/supermatter/room
. -= /area/station/engineering/gravity_generator
. += /area/station/security/checkpoint/engineering

if(DEPARTMENT_SCIENCE)
. -= /area/station/science/research/abandoned
. += /area/station/security/checkpoint/science
. += /area/station/security/checkpoint/science/research

if(DEPARTMENT_MEDICAL)
. -= /area/station/medical/abandoned
. += /area/station/security/checkpoint/medical
var/list/area_pool = list()
for(var/area/station/area_type as anything in subtypesof(area_path))
if(initial(area_type.associated_department) != department)
continue
area_pool += area_type
return area_pool

// Solar flare. Causes a diamond of fire centered on the initial turf.
/obj/effect/solar_flare
Expand Down
2 changes: 2 additions & 0 deletions maplestation_modules/code/modules/jobs/job_types/assistant.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// -- Assistant Changes --
/datum/job/assistant
departments_bitflags = DEPARTMENT_BITFLAG_ASSISTANT

// This is done for loadouts, otherwise unique uniforms would be deleted.
/datum/outfit/job/assistant
Expand Down
2 changes: 2 additions & 0 deletions maplestation_modules/code/modules/jobs/job_types/captain.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/datum/job/captain
departments_bitflags = DEPARTMENT_BITFLAG_CAPTAIN
Loading
Loading