Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Chip11-n committed Oct 11, 2022
2 parents 751c5f6 + 0a41dbf commit fb4790c
Show file tree
Hide file tree
Showing 537 changed files with 260,020 additions and 7,989 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
map_name: Gamma Station
- map_meta: falcon
map_name: Falcon Station
- map_meta: prometheus
map_name: Prometheus Station
steps:
- uses: actions/checkout@v2
- name: Setup Cache
Expand Down
76 changes: 76 additions & 0 deletions code/__DEFINES/colors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,79 @@
0.0, \
0.0 \
)


// FILTER EFFECTS
/* #define EFFECT_FILTER list(1, 0, 0, 0, \
0, 1, 0, 0, \
0, 0, 1, 0, \
0, 0, 0, 1, \
0, 0, 0, 0) */

#define LOMO_FILTER list(1.6, 0.1, 0.95, 0, \
-0.2, 0.7, 0, 0, \
0.2, 0.2, -0.35, 0.5, \
0, 0, -0.35, 1, \
0, 0, 0, 0)

#define POSTERIZATION_FILTER list(5, -2.5, -2.5, 0, \
-2.5, 5, -2.5, 0, \
-2.5, -2.5, 5, 0, \
0, 0, 0, 1, \
0, 0, 0, 0)


#define GRAYSCALE_FILTER list(0.33, 0.33, 0.33, 0, \
0.59, 0.59, 0.59, 0, \
0.11, 0.11, 0.11, 0, \
0, 0, 0, 1, \
0, 0, 0, 0)

#define INVERT_FILTER list(-1, 0, 0, 0, \
0,-1, 0, 0, \
0, 0,-1, 0, \
0, 0, 0, 1, \
1, 1, 1, 0)

#define SEPIA_FILTER list(0.393, 0.349, 0.272, 0, \
0.769, 0.686, 0.534, 0, \
0.189, 0.168, 0.131, 0, \
0, 0, 0, 1, \
0, 0, 0, 0)

#define BLACKANDWHITE_FILTER list(1.5, 1.5, 1.5, 0, \
1.5, 1.5, 1.5, 0, \
1.5, 1.5, 1.5, 0, \
0, 0, 0, 1, \
-1, -1, -1, 0)

#define POLAROID_FILTER list(1.438, -0.062, -0.062, 0, \
-0.122, 1.378, -0.122, 0, \
-0.016, -0.016, 1.483, 0, \
0, 0, 0, 1, \
-0.03, 0.05, -0.02, 0)

#define OLD_1_FILTER list(0.25, 0.25, 0.25, 0, \
0.5, 0.5, 0.5, 0, \
0.125, 0.125, 0.125, 0, \
0, 0, 0, 1, \
0.2, 0.2, 0.2, 0)

#define OLD_2_FILTER list(3, 0, 0, 0, \
0, 3, 0, 0, \
0, 0, 3, 0, \
0, 0, 0, 1, \
-0.5, -0.5, -0.5, 0)

#define XRAY_FILTER list(0.95, 0, 0, 0, \
0, 0.95, 0, 0, \
0, 0, 1.05, -0.5, \
0, 0, 0, 1, \
-0.1, -0.1, -0.1, 0)

#define NUDE_FILTER list(1.2, 0, 0, 0, \
0, 1, 0, 0, \
0, 0, 1, 0, \
0, 0, 0, 1, \
0, 0, 0, 0)

29 changes: 28 additions & 1 deletion code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,31 @@
#define CLONE "clone"
#define HALLOSS "halloss"

//Damage flag defines //
/// Involves a melee attack or a thrown object.
#define MELEE "melee"
/// Involves a solid projectile.
#define BULLET "bullet"
/// Involves a laser.
#define LASER "laser"
/// Involves an EMP or energy-based projectile.
#define ENERGY "energy"
/// Involves a shockwave, usually from an explosion.
#define BOMB "bomb"
/// Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.
#define BIO "bio"
/// Involves fire or temperature extremes.
#define FIRE "fire"
/// Involves corrosive substances.
#define ACID "acid"
/// Involved in checking the likelyhood of applying a wound to a mob.
#define WOUND "wound"
/// Involves being eaten
#define CONSUME "consume"

#define CUT "cut"
#define BRUISE "bruise"
#define PIERCE "pierce"
#define LASER "laser"

#define STUN "stun"
#define WEAKEN "weaken"
Expand All @@ -32,11 +53,17 @@
#define ATTACK_EFFECT_DISARM "disarm"
#define ATTACK_EFFECT_SLIME "glomp"

//the define for visible message range in combat
#define COMBAT_MESSAGE_RANGE 3

// Damage flags
#define DAM_SHARP 1
#define DAM_EDGE 2
#define DAM_LASER 4

//We will round to this value in damage calculations.
#define DAMAGE_PRECISION 0.1

// These control the amount of blood lost from burns. The loss is calculated so
// that dealing just enough burn damage to kill the player will cause the given
// proportion of their max blood volume to be lost
Expand Down
11 changes: 11 additions & 0 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,8 @@
/// from base of obj/item/attack_self(): (/mob/user)
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self"
#define COMPONENT_NO_INTERACT 1
///from base of obj/item/attack_atom(): (atom/attacked_atom, mob/living/user, params)
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj"
///from base of obj/item/pickup(): (/mob/user)
#define COMSIG_ITEM_PICKUP "item_pickup"
#define COMPONENT_ITEM_NO_PICKUP 1
Expand All @@ -220,6 +222,8 @@
/// from base of mob/MiddleClickOn(): (atom/target, mob/user)
#define COMSIG_ITEM_MIDDLECLICKWITH "item_middleclickwith"
#define COMSIG_ITEM_CANCEL_CLICKWITH 1
/// from base of obj/item/CtrlShiftClick()
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click"
/// from base of atom/MouseDrop(): (/atom/over, /atom/dropping, /mob/user)
#define COMSIG_ITEM_MOUSEDROP_ONTO "item_mousedrop_onto"
// #define COMPONENT_NO_MOUSEDROP 1
Expand Down Expand Up @@ -312,6 +316,13 @@
#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands"
#define COMPONENT_BLOCK_SWAP 1

/// from /datum/action/changeling/transform/sting_action(): (mob/living/carbon/human/user)
#define COMSIG_CHANGELING_TRANSFORM "changeling_transform"
/// from /mob/living/carbon/proc/finish_monkeyize()
#define COMSIG_HUMAN_MONKEYIZE "human_monkeyize"
/// from /mob/living/carbon/proc/finish_humanize(): (species)
#define COMSIG_MONKEY_HUMANIZE "monkey_humanize"

// simple_animal/hostile signals
/// from simple_animal/hostile/proc/AttackingTarget(): (atom/target)
#define COMSIG_MOB_HOSTILE_ATTACKINGTARGET "mob_hostile_attackingtarget"
Expand Down
12 changes: 12 additions & 0 deletions code/__DEFINES/dcs/signals_atom/signals_atom_attack.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/// from /atom/proc/atom_break: (damage_flag)
#define COMSIG_ATOM_BREAK "atom_break"
/// from base of [/atom/proc/atom_fix]: ()
#define COMSIG_ATOM_FIX "atom_fix"
/// from base of [/atom/proc/atom_destruction]: (damage_flag)
#define COMSIG_ATOM_DESTRUCTION "atom_destruction"
///from base of [/atom/proc/update_integrity]: (old_value, new_value)
#define COMSIG_ATOM_INTEGRITY_CHANGED "atom_integrity_changed"
///from base of [/atom/proc/take_damage]: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)
#define COMSIG_ATOM_TAKE_DAMAGE "atom_take_damage"
/// Return bitflags for the above signal which prevents the atom taking any damage.
#define COMPONENT_NO_TAKE_DAMAGE (1<<0)
19 changes: 19 additions & 0 deletions code/__DEFINES/flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ var/global/list/bitflags = list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define HEAR_PASS_SAY (1<<21) // temp for say code, for objects that need to pass SAY to inner mobs through get_listeners()
#define HEAR_TA_SAY (1<<22) // temp for talking_atoms

#define IN_INVENTORY (1<<23)
#define IN_STORAGE (1<<23) // reuse of last bit we have

/* Secondary atom flags, for the flags_2 var, denoted with a _2 */
#define HOLOGRAM_2 (1<<0)
/// atom queued to SSoverlay
Expand Down Expand Up @@ -128,6 +131,22 @@ var/global/list/bitflags = list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define PASSCRAWL 16
#define PASSMOB 32

//Fire and Acid stuff, for resistance_flags
#define LAVA_PROOF (1<<0)
/// 100% immune to fire damage (but not necessarily to lava or heat)
#define FIRE_PROOF (1<<1)
#define FLAMMABLE (1<<2)
/// acid can't even appear on it, let alone melt it.
#define UNACIDABLE (1<<4)
/// acid stuck on it doesn't melt it.
#define ACID_PROOF (1<<5)
/// doesn't take damage
#define INDESTRUCTIBLE (1<<6)
/// can be hit with melee (mb change to CANT_BE_HIT)
#define CAN_BE_HIT (1<<7)

#define FULL_INDESTRUCTIBLE INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

//turf-only flags
#define NOSTEPSOUND 1

Expand Down
40 changes: 40 additions & 0 deletions code/__DEFINES/human_layers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//Human Overlays Indexes/////////
#define FIRE_LOWER_LAYER 28
#define BODY_LAYER 27
#define EXTERNAL_APPEARANCE 26
#define MUTATIONS_LAYER 25
#define DAMAGE_LAYER 24
#define SURGERY_LAYER 23 //bs12 specific.
#define BANDAGE_LAYER 22
#define UNIFORM_LAYER 21
#define ID_LAYER 20
#define SHOES_LAYER 19
#define TAIL_LAYER 18 //bs12 specific. this hack is probably gonna come back to haunt me
#define GLOVES_LAYER 17
#define EARS_LAYER 16
#define SUIT_LAYER 15
#define GLASSES_LAYER 14
#define BELT_LAYER 13 //Possible make this an overlay of somethign required to wear a belt?
#define SUIT_STORE_LAYER 12
#define BACK_LAYER 11
#define HAIR_LAYER 10 //TODO: make part of head layer?
#define FACEMASK_LAYER 9
#define HEAD_LAYER 8
#define COLLAR_LAYER 7
#define HANDCUFF_LAYER 6
#define LEGCUFF_LAYER 5
#define L_HAND_LAYER 4
#define R_HAND_LAYER 3
#define FIRE_UPPER_LAYER 2
#define TARGETED_LAYER 1 //BS12: Layer for the target overlay from weapon targeting system
#define TOTAL_LAYERS 28
//////////////////////////////////
//Human Limb Overlays Indexes/////
#define LIMB_HEAD_LAYER 7
#define LIMB_TORSO_LAYER 6
#define LIMB_L_ARM_LAYER 5
#define LIMB_R_ARM_LAYER 4
#define LIMB_GROIN_LAYER 3
#define LIMB_L_LEG_LAYER 2
#define LIMB_R_LEG_LAYER 1
#define TOTAL_LIMB_LAYERS 7
4 changes: 4 additions & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@

#define isessence(A) (istype(A, /mob/living/parasite/essence))

#define isshade(A) (istype(A, /mob/living/simple_animal/shade))

#define isconstruct(A) istype(A, /mob/living/simple_animal/construct)

#define isgod(A) (istype(A, /mob/living/simple_animal/shade/god))

// MOB
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/maps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#define ZTRAIT_SPACE_RUINS "Space Ruins"
#define ZTRAIT_LAVA_RUINS "Lava Ruins"
#define ZTRAIT_JUNKYARD "Junkyard"
#define ZTRAIT_SNOWSTORM "Snowstorm"

// number - bombcap is multiplied by this before being applied to bombs
#define ZTRAIT_BOMBCAP_MULTIPLIER "Bombcap Multiplier"
Expand All @@ -33,7 +34,7 @@
// enum - environment type
#define ZTRAIT_ENV_TYPE "Environment Type"
// ENV_TYPE_SPACE if absent - no environment generation
#define ENV_TYPE_SPACE null
#define ENV_TYPE_SPACE "Space"
// ENV_TYPE_SNOW - snow environment generation
#define ENV_TYPE_SNOW "Snow"

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/religion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
#define RTECH_BUILD_EVERYWHERE "Build Everywhere"
#define RTECH_MORE_RUNES "More Runes"
#define RTECH_MIRROR_SHIELD "Mirror Shield"
#define RTECH_IMPROVED_PYLONS "Improved Pylons"

/*
* ENCYCLOPEDIA
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,9 @@
#define TRAIT_GREASY_FINGERS "greasy_fingers"
#define TRAIT_ANATOMIST "anatomist"
#define TRAIT_SOULSTONE_IMMUNE "soulstone_immune"
#define TRAIT_CULT_EYES "cult_eyes"
#define TRAIT_CULT_HALO "cult_halo"
#define TRAIT_HEALS_FROM_PYLONS "heals_from_pylons"

/*
* Used for movables that need to be updated, via COMSIG_ENTER_AREA and COMSIG_EXIT_AREA, when transitioning areas.
Expand Down
4 changes: 2 additions & 2 deletions code/_globalvars/lists/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ var/global/static/list/stock_parts_increase_list = list(
)

var/global/static/list/radial_question = list(
"Yes" = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_confirm"),
"No" = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_cancel")
"Yes" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_confirm"),
"No" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_cancel")
)

// Alternate version of color_by_hex
Expand Down
2 changes: 1 addition & 1 deletion code/_globalvars/lists/objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var/global/list/closet_list = list() //guess what? closets! /obj/structur
var/global/list/crematorium_list = list() //list if all /obj/structure/crematorium
var/global/list/implant_list = list() //list of all /obj/item/weapon/implant
var/global/list/ladder_list = list() //|====| <- /obj/structure/ladder
var/global/list/landmarks_list = list() //list of all landmarks created
var/global/list/list/landmarks_list = list()//assoc list of all landmarks created (name -> list of landmarks)
var/global/list/mecha_tracking_list = list()//list of all /obj/item/mecha_parts/mecha_tracking
var/global/list/surgery_steps = list() //list of all surgery steps |BS12
var/global/list/crafting_recipes = list() //list of all personal craft recipes
Expand Down
6 changes: 0 additions & 6 deletions code/_globalvars/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,10 @@ var/global/list/global_map = null
//3 - AI satellite
//5 - empty space

var/global/shuttle_z = 2 //default
var/global/airtunnel_start = 68 // default
var/global/airtunnel_stop = 68 // default
var/global/airtunnel_bottom = 72 // default
var/global/list/monkeystart = list()
var/global/list/wizardstart = list()
var/global/list/newplayer_start = list()
var/global/list/latejoin = list()
var/global/list/prisonwarp = list() //prisoners go to these
var/global/list/holdingfacility = list() //captured people go here
var/global/list/xeno_spawn = list()//Aliens spawn at these.
var/global/list/tdome1 = list()
var/global/list/tdome2 = list()
Expand Down
5 changes: 4 additions & 1 deletion code/_globalvars/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,11 @@ var/global/datum/religion/chaplain/chaplain_religion
var/global/datum/religion/cult/cult_religion
var/global/list/datum/religion/all_religions = list()

var/global/wizard_shades_count = 0
//Used for global activation of pylons
var/global/list/pylons = list()

var/global/wizard_shades_count = 0
var/global/peacekeeper_shields_count = 0
var/global/timezoneOffset = 0 // The difference betwen midnight (of the host computer) and 0 world.ticks.
var/global/gametime_offset = 12 HOURS //Deciseconds to add to world.time for station time.

Expand Down
6 changes: 4 additions & 2 deletions code/_onclick/click.dm
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,9 @@
return

/atom/movable/CtrlClick(mob/user)
if(Adjacent(user))
if(user.pulling == src)
user.stop_pulling()
else if(Adjacent(user))
user.start_pulling(src)

/*
Expand Down Expand Up @@ -417,7 +419,7 @@
C.cob.remove_build_overlay(C)

/atom/movable/screen/click_catcher
icon = 'icons/mob/screen_gen.dmi'
icon = 'icons/hud/screen_gen.dmi'
icon_state = "click_catcher"
plane = CLICKCATCHER_PLANE
mouse_opacity = MOUSE_OPACITY_OPAQUE
Expand Down
4 changes: 2 additions & 2 deletions code/_onclick/hud/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
var/processing = 0
var/active = 0
var/atom/movable/screen/movable/action_button/button = null
var/button_icon = 'icons/mob/actions.dmi'
var/button_icon = 'icons/hud/actions.dmi'
var/button_icon_state = "default"
var/background_icon_state = "bg_default"
var/transparent_when_unavailable = TRUE
Expand Down Expand Up @@ -214,7 +214,7 @@
//Hide/Show Action Buttons ... Button
/atom/movable/screen/movable/action_button/hide_toggle
name = "Hide Buttons"
icon = 'icons/mob/actions.dmi'
icon = 'icons/hud/actions.dmi'
icon_state = "bg_default"
var/hidden = 0

Expand Down
Loading

0 comments on commit fb4790c

Please sign in to comment.