Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…l-Station-13-RP into xenodomes
  • Loading branch information
TheLordME committed Sep 23, 2024
2 parents 36b5ff6 + bc4d484 commit 2ef7e9a
Show file tree
Hide file tree
Showing 481 changed files with 382,986 additions and 2,534 deletions.
5 changes: 5 additions & 0 deletions _mapload/victory.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#ifdef FORCE_MAP
#error Duplicate FORCE_MAP, what are you doing!?
#endif

#define FORCE_MAP "victory"
62 changes: 47 additions & 15 deletions citadel.dme
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@
#include "code\__HELPERS\files\walk.dm"
#include "code\__HELPERS\game\depth.dm"
#include "code\__HELPERS\game\combat\arc.dm"
#include "code\__HELPERS\game\turfs\blocks.dm"
#include "code\__HELPERS\game\turfs\line.dm"
#include "code\__HELPERS\game\turfs\offsets.dm"
#include "code\__HELPERS\graphs\astar.dm"
Expand Down Expand Up @@ -1089,6 +1090,10 @@
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\supplies.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\vehicles.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\voidsuits.dm"
#include "code\game\content\factions\derelict\derelict.dm\derelict_flora.dm"
#include "code\game\content\factions\derelict\derelict.dm\derelict_horrors.dm"
#include "code\game\content\factions\derelict\derelict.dm\derelict_props.dm"
#include "code\game\content\factions\derelict\derelict.dm\derelict_structures.dm"
#include "code\game\content\factions\orion\iwl\armor.dm"
#include "code\game\content\factions\orion\iwl\guns.dm"
#include "code\game\content\factions\orion\iwl\head.dm"
Expand Down Expand Up @@ -2273,6 +2278,7 @@
#include "code\modules\asset_cache\assets\legacy_nanomaps.dm"
#include "code\modules\asset_cache\assets\legacy_nanoui.dm"
#include "code\modules\asset_cache\assets\loadout.dm"
#include "code\modules\asset_cache\assets\logos.dm"
#include "code\modules\asset_cache\assets\materials.dm"
#include "code\modules\asset_cache\assets\moods.dm"
#include "code\modules\asset_cache\assets\notes.dm"
Expand Down Expand Up @@ -3317,11 +3323,9 @@
#include "code\modules\maps\overmap\space\talon\talon_areas.dm"
#include "code\modules\maps\overmap\space\trade_station\trade_station.dm"
#include "code\modules\maps\overmap\space\trade_station\trade_station_jobs.dm"
#include "code\modules\maps\overmap\space\triumph\triumph.dm"
#include "code\modules\maps\templates\badmin_misc\fun.dm"
#include "code\modules\maps\templates\badmin_misc\templates.dm"
#include "code\modules\maps\templates\misc_presets\rift_shuttle_landmarks.dm"
#include "code\modules\maps\templates\misc_presets\triumph_shuttle_landmarks.dm"
#include "code\modules\maps\templates\shuttles\admin_spawn\_generic_shuttles.dm"
#include "code\modules\maps\templates\shuttles\admin_spawn\abductor.dm"
#include "code\modules\maps\templates\shuttles\admin_spawn\bearcat.dm"
Expand Down Expand Up @@ -3496,10 +3500,10 @@
#include "code\modules\mob\logout.dm"
#include "code\modules\mob\mob-damage.dm"
#include "code\modules\mob\mob-defense.dm"
#include "code\modules\mob\mob-iff.dm"
#include "code\modules\mob\mob-keybind-triggers.dm"
#include "code\modules\mob\mob.dm"
#include "code\modules\mob\mob_defines.dm"
#include "code\modules\mob\mob-iff.dm"
#include "code\modules\mob\mob_helpers.dm"
#include "code\modules\mob\mob_transformation_simple.dm"
#include "code\modules\mob\mobility.dm"
Expand Down Expand Up @@ -4484,33 +4488,38 @@
#include "code\modules\projectiles\guns\projectile\sniper.dm"
#include "code\modules\projectiles\guns\projectile\caseless\pellet.dm"
#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm"
#include "code\modules\projectiles\projectile\arc.dm"
#include "code\modules\projectiles\projectile\helpers.dm"
#include "code\modules\projectiles\projectile\projectile-hitscan_visuals.dm"
#include "code\modules\projectiles\projectile\projectile-physics.dm"
#include "code\modules\projectiles\projectile\projectile-tracing.dm"
#include "code\modules\projectiles\projectile\projectile.dm"
#include "code\modules\projectiles\projectile\projectile_effect.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation\legacy_emp.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation\legacy_explosion.dm"
#include "code\modules\projectiles\projectile\subtypes\arc.dm"
#include "code\modules\projectiles\projectile\subtypes\blob.dm"
#include "code\modules\projectiles\projectile\subtypes\beam.dm"
#include "code\modules\projectiles\projectile\subtypes\bullets.dm"
#include "code\modules\projectiles\projectile\subtypes\bullets_vr.dm"
#include "code\modules\projectiles\projectile\subtypes\change.dm"
#include "code\modules\projectiles\projectile\subtypes\energy.dm"
#include "code\modules\projectiles\projectile\subtypes\energy_vr.dm"
#include "code\modules\projectiles\projectile\subtypes\explosive.dm"
#include "code\modules\projectiles\projectile\subtypes\force.dm"
#include "code\modules\projectiles\projectile\subtypes\hook.dm"
#include "code\modules\projectiles\projectile\subtypes\magic.dm"
#include "code\modules\projectiles\projectile\subtypes\magnetic.dm"
#include "code\modules\projectiles\projectile\subtypes\forcebolt.dm"
#include "code\modules\projectiles\projectile\subtypes\ion.dm"
#include "code\modules\projectiles\projectile\subtypes\pellet.dm"
#include "code\modules\projectiles\projectile\subtypes\reusable.dm"
#include "code\modules\projectiles\projectile\subtypes\scatter.dm"
#include "code\modules\projectiles\projectile\subtypes\special.dm"
#include "code\modules\projectiles\projectile\subtypes\trace.dm"
#include "code\modules\projectiles\projectile\subtypes\unsorted.dm"
#include "code\modules\projectiles\projectile\subtypes\arc\arc.dm"
#include "code\modules\projectiles\projectile\subtypes\beam\beams.dm"
#include "code\modules\projectiles\projectile\subtypes\beam\beams_vr.dm"
#include "code\modules\projectiles\projectile\subtypes\beam\blaster.dm"
#include "code\modules\projectiles\projectile\subtypes\bullet\bullets.dm"
#include "code\modules\projectiles\projectile\subtypes\bullet\bullets_vr.dm"
#include "code\modules\projectiles\projectile\subtypes\bullet\magnetic.dm"
#include "code\modules\projectiles\projectile\subtypes\bullet\reusable.dm"
#include "code\modules\projectiles\projectile\subtypes\bullet\srmrocket.dm"
#include "code\modules\projectiles\projectile\subtypes\energy\blob.dm"
#include "code\modules\projectiles\projectile\subtypes\energy\energy.dm"
#include "code\modules\projectiles\projectile\subtypes\energy\energy_vr.dm"
#include "code\modules\projectiles\projectile\subtypes\energy\hook.dm"
#include "code\modules\projectiles\targeting\targeting_client.dm"
#include "code\modules\projectiles\targeting\targeting_gun.dm"
#include "code\modules\projectiles\targeting\targeting_mob.dm"
Expand Down Expand Up @@ -4699,6 +4708,13 @@
#include "code\modules\shuttles\shuttles_vr.dm"
#include "code\modules\shuttles\shuttles_web.dm"
#include "code\modules\shuttles\web_datums.dm"
#include "code\modules\shuttles\effects\shuttle_landing.dm"
#include "code\modules\shuttles\shuttle\shuttle.dm"
#include "code\modules\shuttles\shuttle\shuttle_anchor.dm"
#include "code\modules\shuttles\shuttle\shuttle_area.dm"
#include "code\modules\shuttles\shuttle\shuttle_descriptor.dm"
#include "code\modules\shuttles\shuttle\shuttle_port.dm"
#include "code\modules\shuttles\shuttle\shuttle_template.dm"
#include "code\modules\species\abilites.dm"
#include "code\modules\species\character_species.dm"
#include "code\modules\species\physiology.dm"
Expand Down Expand Up @@ -5283,6 +5299,8 @@
#include "maps\sectors\virgo4_140\virgo4_140.dm"
#include "maps\sectors\wasteland_140\wasteland_140.dm"
#include "maps\sectors\wasteland_192\wasteland_192.dm"
#include "maps\shuttles\factions\corporations\nanotrasen\drone_prototype.dm"
#include "maps\shuttles\factions\corporations\nanotrasen\sci_vector.dm"
#include "maps\submaps\_helpers.dm"
#include "maps\submaps\_readme.dm"
#include "maps\submaps\level_specific\debrisfield_vr\debrisfield_things.dm"
Expand All @@ -5296,5 +5314,19 @@
#include "maps\triumph\sectors.dm"
#include "maps\triumph\shuttles.dm"
#include "maps\triumph\telecomms.dm"
#include "maps\triumph\triumph-overmap.dm"
#include "maps\triumph\triumph-sectors.dm"
#include "maps\triumph\triumph-shuttle-landmarks.dm"
#include "maps\triumph\triumph-turbolifts.dm"
#include "maps\triumph\triumph.dm"
#include "maps\victory\engines.dm"
#include "maps\victory\sectors.dm"
#include "maps\victory\shuttles.dm"
#include "maps\victory\telecomms.dm"
#include "maps\victory\victory-areas.dm"
#include "maps\victory\victory-overmap.dm"
#include "maps\victory\victory-sectors.dm"
#include "maps\victory\victory-shuttle-landmarks.dm"
#include "maps\victory\victory-turbolifts.dm"
#include "maps\victory\victory.dm"
// END_INCLUDE
4 changes: 2 additions & 2 deletions code/__DEFINES/_flags/turf_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/// This is used in literally one place, turf.dm, to block ethwereal jaunt.
#define NO_JAUNT (1<<0)
/// Unused reservation turf
#define UNUSED_RESERVATION_TURF (1<<2)
#define TURF_FLAG_UNUSED_RESERVATION (1<<2)
/// queued for planet turf addition
#define TURF_PLANET_QUEUED (1<<3)
/// registered to a planet
Expand All @@ -28,7 +28,7 @@

DEFINE_BITFIELD(turf_flags, list(
BITFIELD(NO_JAUNT),
BITFIELD(UNUSED_RESERVATION_TURF),
BITFIELD(TURF_FLAG_UNUSED_RESERVATION),
BITFIELD(TURF_PLANET_QUEUED),
BITFIELD(TURF_PLANET_REGISTERED),
BITFIELD(TURF_ZONE_REBUILD_QUEUED),
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/_planes+layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@
*/
#define DEBUG_PLANE 23
#define DEBUG_LAYER_AREA_OVERLAYS 100
#define DEBUG_LAYER_SHUTTLE_MARKERS 500

/**
*! -- Ghost Plane
Expand Down
4 changes: 3 additions & 1 deletion code/__DEFINES/combat/damage.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station Developers *//

//? damage types
//? damage types

//* direct damage types; maps to most systems in the game *//

Expand Down Expand Up @@ -42,6 +42,8 @@
/// pulse lasers, etc, basically blows a crater
#define DAMAGE_MODE_ABLATING (1<<2)
/// specifically highly-piercing weapons like bullets, even worse than sharp.
///
/// * for pierce-ness checks, 'sharp withot edge' is fine. having this flag is pretty much second tier of piercing.
#define DAMAGE_MODE_PIERCE (1<<3)
/// messy, shredded wounds instead of a clean cut / pierce. strong.
#define DAMAGE_MODE_SHRED (1<<4)
Expand Down
83 changes: 83 additions & 0 deletions code/__HELPERS/game/turfs/blocks.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station Developers *//

/**
* get turfs bordering a block of turfs
*
* * returned list will be empty if distance = 0
* * returned list will have all nulls incurred by turfs being outside world border
* * returned list **has no particular order.**
*
* @params
* * ll_x - lowerleft x
* * ll_y - lowerleft y
* * ur_x - upperright x
* * ur_y - upperright y
* * z - z level
* * distance - border distance
*
* @return list() if distance = 0, list of turfs otherwise. turfs outside of world border will be null.
*/
/proc/border_of_turf_block(ll_x, ll_y, ur_x, ur_y, z, distance)
if(distance <= 0)
return list()
. = block(
ll_x - distance,
ll_y - distance,
z,
ll_x - 1,
ur_y + distance,
) + block(
ur_x + 1,
ll_y - distance,
z,
ur_x + distance,
ur_y + distance,
) + block(
ll_x,
ur_y + 1,
z,
ur_x,
ur_y + distance,
) + block(
ll_x,
ll_y - distance,
z,
ur_x,
ll_y - 1,
)

/**
* get turfs bordering a block of turfs
*
* * returned list will be empty if distance = 0
* * returned list will have all nulls incurred by turfs being outside world border
* * returned list is in clockwise order from the **upper left** turf, spiralling outwards from there.
*
* @params
* * ll_x - lowerleft x
* * ll_y - lowerleft y
* * ur_x - upperright x
* * ur_y - upperright y
* * z - z level
* * distance - border distance
*
* @return list() if distance = 0, list of turfs otherwise. turfs outside of world border will be null.
*/
/proc/border_of_turf_block_spiral_outwards_clockwise(ll_x, ll_y, ur_x, ur_y, z, distance)
if(distance <= 0)
return list()
. = list()
for(var/radius in distance)
// gather top left to right
for(var/x in (ll_x - radius) to (ur_x + radius))
. += locate(x, ur_y + radius, z)
// gather right top to bottom excluding top and bottom turf
for(var/y in (ur_y + radius - 1) to (ll_y - radius + 1) step -1)
. += locate(ur_x + radius, y, z)
// gather bottom right to left
for(var/x in (ur_x + radius) to (ll_x - radius) step -1)
. += locate(x, ll_y - radius, z)
// gather left bottom to top excluding top and bottom turf
for(var/y in (ll_y - radius + 1) to (ur_y + radius - 1))
. += locate(ll_x - radius, y, z)
2 changes: 1 addition & 1 deletion code/__HELPERS/game/turfs/line.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 silicons *//
//* Copyright (c) 2024 Citadel Station Developers *//

/**
* line drawing algorithm
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/game/turfs/offsets.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 silicons *//
//* Copyright (c) 2024 Citadel Station Developers *//

/**
* get coordinate and direction tuple when entity is moved relative with a 'block' movement,
Expand Down
22 changes: 11 additions & 11 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1003,36 +1003,36 @@
return FALSE

/// Whether or not the given item counts as sharp in terms of dealing damage.
// todo: deprecrated
/proc/is_sharp(obj/O as obj)
if(!O)
return FALSE
if(O.sharp)
return TRUE
if(O.edge)
return TRUE
if(isitem(O))
var/obj/item/I = O
if(I.damage_mode & DAMAGE_MODE_SHARP)
return TRUE
return I.damage_mode & (DAMAGE_MODE_SHARP | DAMAGE_MODE_EDGE)
else if(istype(O, /obj/projectile))
var/obj/projectile/proj = O
return proj.damage_mode & (DAMAGE_MODE_SHARP | DAMAGE_MODE_EDGE)
return FALSE

/// Whether or not the given item counts as cutting with an edge in terms of removing limbs.
// todo: deprecrated
/proc/has_edge(obj/O as obj)
if(!O)
return FALSE
if(O.edge)
return TRUE
if(isitem(O))
var/obj/item/I = O
if(I.damage_mode & DAMAGE_MODE_EDGE)
return TRUE
return I.damage_mode & (DAMAGE_MODE_EDGE)
else if(istype(O, /obj/projectile))
var/obj/projectile/proj = O
return proj.damage_mode & (DAMAGE_MODE_EDGE)
return FALSE

/// Returns 1 if the given item is capable of popping things like balloons, inflatable barriers, or cutting police tape.
/proc/can_puncture(obj/item/W as obj) //For the record, WHAT THE HELL IS THIS METHOD OF DOING IT?
if(!W)
return FALSE
if(W.sharp)
if(W.damage_mode & DAMAGE_MODE_SHARP)
return TRUE
return ( \
W.is_screwdriver() || \
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/mapping/reservations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
/datum/controller/subsystem/mapping/proc/reserve_turfs(list/turf/turfs)
for(var/turf/T as anything in turfs)
T.empty(RESERVED_TURF_TYPE, RESERVED_TURF_TYPE)
T.turf_flags |= UNUSED_RESERVATION_TURF
T.turf_flags |= TURF_FLAG_UNUSED_RESERVATION
CHECK_TICK
// todo: area.assimilate_turfs?
reservation_unallocated_area.contents.Add(turfs)
Expand Down
7 changes: 0 additions & 7 deletions code/game/area/Off Station Areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,13 +160,6 @@
name = "\improper Reading Room"
/area/triumph/surfacebase/vacant_site
name = "\improper Vacant Site"
//Shuttle crashes
/area/shuttle/triumph/crash1
name = "\improper Crash Site 1"
icon_state = "shuttle2"
/area/shuttle/triumph/crash2
name = "\improper Crash Site 2"
icon_state = "shuttle2"

// Class D world areas
/area/class_d
Expand Down
3 changes: 0 additions & 3 deletions code/game/area/Space Station 13 areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -997,9 +997,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Tool Storage Maintenance"
icon_state = "maint_tool_storage"

/area/maintenance/triumph_midpoint
name = "\improper Triumph Midpoint Maint"

/area/maintenance/locker_room
name = "\improper Locker Room Maintenance"

Expand Down
4 changes: 4 additions & 0 deletions code/game/area/area.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
/// default initial gas mix
var/initial_gas_mix = GAS_STRING_STP

//* Identity *//
/// player-facing name, overrides name when / if necessary.
var/display_name

//? nightshift
/// nightshift level
/// in general, nightshift must be at or above this level for it to proc on areas.
Expand Down
Loading

0 comments on commit 2ef7e9a

Please sign in to comment.