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
Rhials committed Mar 8, 2024
2 parents d1bf7a4 + e218d94 commit 5489802
Show file tree
Hide file tree
Showing 206 changed files with 5,436 additions and 1,045 deletions.
4 changes: 2 additions & 2 deletions _maps/map_files/IceBoxStation/IceBoxStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -47339,7 +47339,7 @@
start_active = 1
},
/turf/open/misc/asteroid/snow/icemoon,
/area/station/ai_monitored/turret_protected/aisat/maint)
/area/icemoon/surface/outdoors/nospawn)
"oxB" = (
/obj/machinery/door/airlock/maintenance,
/obj/effect/mapping_helpers/airlock/abandoned,
Expand Down Expand Up @@ -56034,7 +56034,7 @@
start_active = 1
},
/turf/open/misc/asteroid/snow/icemoon,
/area/station/ai_monitored/turret_protected/aisat/maint)
/area/icemoon/surface/outdoors/nospawn)
"rbs" = (
/obj/effect/turf_decal/tile/yellow,
/obj/machinery/light/directional/east,
Expand Down
17 changes: 17 additions & 0 deletions code/__DEFINES/ai/pets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,20 @@
/// key that holds items we arent interested in hoarding
#define BB_IGNORE_ITEMS "ignore_items"

//virtual pet keys
///the last PDA message we must relay
#define BB_LAST_RECIEVED_MESSAGE "last_recieved_message"
///our current virtual pet level
#define BB_VIRTUAL_PET_LEVEL "virtual_pet_level"
///the target we will play with
#define BB_NEARBY_PLAYMATE "nearby_playmate"
///cooldown till we search for playmates
#define BB_NEXT_PLAYDATE "next_playdate"
///our ability to trigger lights
#define BB_LIGHTS_ABILITY "lights_ability"
///our ability to capture images
#define BB_PHOTO_ABILITY "photo_ability"
///the name of our trick
#define BB_TRICK_NAME "trick_name"
///the sequence of our trick
#define BB_TRICK_SEQUENCE "trick_sequence"
13 changes: 13 additions & 0 deletions code/__DEFINES/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@
/// JSON string file for all of our heretic influence flavors
#define HERETIC_INFLUENCE_FILE "antagonist_flavor/heretic_influences.json"

/// JSON file containing spy objectives
#define SPY_OBJECTIVE_FILE "antagonist_flavor/spy_objective.json"

///employers that are from the syndicate
GLOBAL_LIST_INIT(syndicate_employers, list(
"Animal Rights Consortium",
Expand Down Expand Up @@ -265,6 +268,8 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list(
#define OBJECTIVE_ITEM_TYPE_NORMAL "normal"
/// Only appears in traitor objectives
#define OBJECTIVE_ITEM_TYPE_TRAITOR "traitor"
/// Only appears for spy bounties
#define OBJECTIVE_ITEM_TYPE_SPY "spy"

// Progression traitor defines

Expand Down Expand Up @@ -379,3 +384,11 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list(
#define BATON_MODES 4

#define FREEDOM_IMPLANT_CHARGES 4

// Spy bounty difficulties
/// Can easily be accomplished by any job without any specialized tools, people won't really miss these things
#define SPY_DIFFICULTY_EASY "Easy"
/// Requires some specialized tools, knowledge, or access to accomplish, may require getting into conflict with the crew
#define SPY_DIFFICULTY_MEDIUM "Medium"
/// Very difficult to accomplish, almost guaranteed to require crew conflict
#define SPY_DIFFICULTY_HARD "Hard"
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals/signals_action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,6 @@

/// From /datum/action/cooldown/manual_heart/Activate(): ()
#define COMSIG_HEART_MANUAL_PULSE "heart_manual_pulse"

/// From /datum/action/cooldown/mob_cooldown/capture_photo/Activate():
#define COMSIG_ACTION_PHOTO_CAPTURED "action_photo_captured"
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,8 @@
#define COMSIG_ATOM_GERM_UNEXPOSED "atom_germ_unexposed"
/// signal sent to puzzle pieces by activator
#define COMSIG_PUZZLE_COMPLETED "puzzle_completed"

/// From /datum/compomnent/cleaner/clean()
#define COMSIG_ATOM_PRE_CLEAN "atom_pre_clean"
///cancel clean
#define COMSIG_ATOM_CANCEL_CLEAN (1<<0)
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,6 @@
#define COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY "movable_edit_unique_submerge_overlay"
/// From base of area/Exited(): (area/left, direction)
#define COMSIG_MOVABLE_EXITED_AREA "movable_exited_area"

/// Sent to movables when they are being stolen by a spy: (mob/living/spy, datum/spy_bounty/bounty)
#define COMSIG_MOVABLE_SPY_STEALING "movable_spy_stealing"
10 changes: 10 additions & 0 deletions code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
#define COMSIG_LIVING_EXTINGUISHED "living_extinguished"
///from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act"
/// Block the electrocute_act() proc from proceeding
#define COMPONENT_LIVING_BLOCK_SHOCK (1<<0)
///sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
#define COMSIG_LIVING_SHOCK_PREVENTED "living_shock_prevented"
///sent by stuff like stunbatons and tasers: ()
Expand Down Expand Up @@ -253,3 +255,11 @@
/// Sent to a mob grabbing another mob: (mob/living/grabbing)
#define COMSIG_LIVING_GRAB "living_grab"
// Return COMPONENT_CANCEL_ATTACK_CHAIN / COMPONENT_SKIP_ATTACK_CHAIN to stop the grab

/// From /datum/element/basic_eating/try_eating()
#define COMSIG_MOB_PRE_EAT "mob_pre_eat"
///cancel eating attempt
#define COMSIG_MOB_CANCEL_EAT (1<<0)

/// From /datum/element/basic_eating/finish_eating()
#define COMSIG_MOB_ATE "mob_ate"
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/signals/signals_object.dm
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,11 @@
///from /datum/action/vehicle/sealed/headlights/vim/Trigger(): (headlights_on)
#define COMSIG_VIM_HEADLIGHTS_TOGGLED "vim_headlights_toggled"

///from /datum/computer_file/program/messenger/proc/receive_message
#define COMSIG_COMPUTER_RECIEVED_MESSAGE "computer_recieved_message"
///from /datum/computer_file/program/virtual_pet/proc/handle_level_up
#define COMSIG_VIRTUAL_PET_LEVEL_UP "virtual_pet_level_up"

// /obj/vehicle/sealed/mecha signals

/// sent if you attach equipment to mecha
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
#define ui_building "EAST-4:22,SOUTH:21"
#define ui_language_menu "EAST-4:6,SOUTH:21"
#define ui_navigate_menu "EAST-4:22,SOUTH:5"
#define ui_floor_menu "EAST-4:14,SOUTH:37"

//Upper-middle right (alerts)
#define ui_alert1 "EAST-1:28,CENTER+5:27"
Expand Down Expand Up @@ -143,6 +144,7 @@
#define ui_borg_alerts "CENTER+4:21,SOUTH:5"
#define ui_borg_language_menu "CENTER+4:19,SOUTH+1:6"
#define ui_borg_navigate_menu "CENTER+4:19,SOUTH+1:6"
#define ui_borg_floor_menu "CENTER+4:-13,SOUTH+1:6"

//Aliens
#define ui_alien_health "EAST,CENTER-1:15"
Expand All @@ -151,6 +153,7 @@
#define ui_alien_storage_r "CENTER+1:18,SOUTH:5"
#define ui_alien_language_menu "EAST-4:20,SOUTH:5"
#define ui_alien_navigate_menu "EAST-4:20,SOUTH:5"
#define ui_alien_floor_menu "EAST-4:-12,SOUTH:5"

//AI
#define ui_ai_core "BOTTOM:6,RIGHT-4"
Expand All @@ -159,6 +162,7 @@
#define ui_ai_state_laws "BOTTOM:6,RIGHT-1"
#define ui_ai_mod_int "BOTTOM:6,RIGHT"
#define ui_ai_language_menu "BOTTOM+1:8,RIGHT-1:30"
#define ui_ai_floor_menu "BOTTOM+1:8,RIGHT-1:14"

#define ui_ai_crew_monitor "BOTTOM:6,CENTER-1"
#define ui_ai_crew_manifest "BOTTOM:6,CENTER"
Expand Down Expand Up @@ -200,6 +204,7 @@
#define ui_ghost_pai "SOUTH: 6, CENTER+1:24"
#define ui_ghost_minigames "SOUTH: 6, CENTER+2:24"
#define ui_ghost_language_menu "SOUTH: 22, CENTER+3:8"
#define ui_ghost_floor_menu "SOUTH: 6, CENTER+3:8"

//Blobbernauts
#define ui_blobbernaut_overmind_health "EAST-1:28,CENTER+0:19"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ GLOBAL_LIST_INIT(book_types, typecacheof(list(
#define is_captain_job(job_type) (istype(job_type, /datum/job/captain))
#define is_chaplain_job(job_type) (istype(job_type, /datum/job/chaplain))
#define is_clown_job(job_type) (istype(job_type, /datum/job/clown))
#define is_mime_job(job_type) (istype(job_type, /datum/job/mime))
#define is_detective_job(job_type) (istype(job_type, /datum/job/detective))
#define is_scientist_job(job_type) (istype(job_type, /datum/job/scientist))
#define is_security_officer_job(job_type) (istype(job_type, /datum/job/security_officer))
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@
#define LOG_CATEGORY_UPLINK_HERETIC "uplink-heretic"
#define LOG_CATEGORY_UPLINK_MALF "uplink-malf"
#define LOG_CATEGORY_UPLINK_SPELL "uplink-spell"
#define LOG_CATEGORY_UPLINK_SPY "uplink-spy"

// PDA categories
#define LOG_CATEGORY_PDA "pda"
Expand Down
14 changes: 14 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -969,3 +969,17 @@ GLOBAL_LIST_INIT(layers_to_offset, list(

/// Types of bullets that mining mobs take full damage from
#define MINING_MOB_PROJECTILE_VULNERABILITY list(BRUTE)

// Sprites for photocopying butts
#define BUTT_SPRITE_HUMAN_MALE "human_male"
#define BUTT_SPRITE_HUMAN_FEMALE "human_female"
#define BUTT_SPRITE_LIZARD "lizard"
#define BUTT_SPRITE_QR_CODE "qr_code"
#define BUTT_SPRITE_XENOMORPH "xeno"
#define BUTT_SPRITE_DRONE "drone"
#define BUTT_SPRITE_CAT "cat"
#define BUTT_SPRITE_FLOWERPOT "flowerpot"
#define BUTT_SPRITE_GREY "grey"
#define BUTT_SPRITE_PLASMA "plasma"
#define BUTT_SPRITE_FUZZY "fuzzy"
#define BUTT_SPRITE_SLIME "slime"
2 changes: 2 additions & 0 deletions code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#define ROLE_OPERATIVE "Operative"
#define ROLE_TRAITOR "Traitor"
#define ROLE_WIZARD "Wizard"
#define ROLE_SPY "Spy"

// Midround roles
#define ROLE_ABDUCTOR "Abductor"
Expand Down Expand Up @@ -128,6 +129,7 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_REV_HEAD = 14,
ROLE_TRAITOR = 0,
ROLE_WIZARD = 14,
ROLE_SPY = 0,

// Midround
ROLE_ABDUCTOR = 0,
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_NO_THROW_HITPUSH "no_throw_hitpush"
///Added to mob or mind, changes the icons of the fish shown in the minigame UI depending on the possible reward.
#define TRAIT_REVEAL_FISH "reveal_fish"
///This trait gets you a list of fishes that can be caught when examining a fishing spot.
#define TRAIT_EXAMINE_FISHING_SPOT "examine_fishing_spot"

/// Added to a mob, allows that mob to experience flavour-based moodlets when examining food
#define TRAIT_REMOTE_TASTING "remote_tasting"
Expand Down
12 changes: 12 additions & 0 deletions code/__DEFINES/uplink.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,22 @@
/// This item is purchasable to infiltrators (midround traitors)
#define UPLINK_INFILTRATORS (1 << 3)

/// Can be randomly given to spies for their bounties
#define UPLINK_SPY (1 << 4)

/// Progression gets turned into a user-friendly form. This is just an abstract equation that makes progression not too large.
#define DISPLAY_PROGRESSION(time) round(time/60, 0.01)

/// Traitor discount size categories
#define TRAITOR_DISCOUNT_BIG "big_discount"
#define TRAITOR_DISCOUNT_AVERAGE "average_discount"
#define TRAITOR_DISCOUNT_SMALL "small_discount"

/// Typepath used for uplink items which don't actually produce an item (essentially just a placeholder)
/// Future todo: Make this not necessary / make uplink items support item-less items natively
#define ABSTRACT_UPLINK_ITEM /obj/effect/gibspawner/generic

/// Lower threshold for which an uplink items's TC cost is considered "low" for spy bounties picking rewards
#define SPY_LOWER_COST_THRESHOLD 5
/// Upper threshold for which an uplink items's TC cost is considered "high" for spy bounties picking rewards
#define SPY_UPPER_COST_THRESHOLD 12
4 changes: 4 additions & 0 deletions code/__HELPERS/logging/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@
/// Logging for wizard powers learned
/proc/log_spellbook(text, list/data)
logger.Log(LOG_CATEGORY_UPLINK_SPELL, text, data)

/// Logs bounties completed by spies and their rewards
/proc/log_spy(text, list/data)
logger.Log(LOG_CATEGORY_UPLINK_SPY, text, data)
1 change: 1 addition & 0 deletions code/_globalvars/lists/maintenance_loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items
/obj/item/pen/survival = 1,
/obj/item/restraints/handcuffs = 1,
/obj/item/shield/buckler = 1,
/obj/item/shield/improvised = 1,
/obj/item/throwing_star = 1,
/obj/item/weldingtool/hugetank = 1,
/obj/item/fishing_rod/telescopic/master = 1,
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_EMOTEMUTE" = TRAIT_EMOTEMUTE,
"TRAIT_EMPATH" = TRAIT_EMPATH,
"TRAIT_ENTRAILS_READER" = TRAIT_ENTRAILS_READER,
"TRAIT_EXAMINE_FISHING_SPOT" = TRAIT_EXAMINE_FISHING_SPOT,
"TRAIT_EXPANDED_FOV" = TRAIT_EXPANDED_FOV,
"TRAIT_EXTROVERT" = TRAIT_EXTROVERT,
"TRAIT_FAKEDEATH" = TRAIT_FAKEDEATH,
Expand Down
5 changes: 5 additions & 0 deletions code/_onclick/hud/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,11 @@
using.screen_loc = ui_ai_language_menu
static_inventory += using

// Z-level floor change
using = new /atom/movable/screen/floor_menu(null, src)
using.screen_loc = ui_ai_floor_menu
static_inventory += using

//AI core
using = new /atom/movable/screen/ai/aicore(null, src)
using.screen_loc = ui_ai_core
Expand Down
6 changes: 5 additions & 1 deletion code/_onclick/hud/alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@
using.screen_loc = ui_alien_language_menu
static_inventory += using

using = new /atom/movable/screen/floor_menu(null, src)
using.screen_loc = ui_alien_floor_menu
static_inventory += using

using = new /atom/movable/screen/navigate(null, src)
using.screen_loc = ui_alien_navigate_menu
static_inventory += using
Expand All @@ -87,7 +91,7 @@
pull_icon.update_appearance()
pull_icon.screen_loc = ui_above_movement
static_inventory += pull_icon

rest_icon = new /atom/movable/screen/rest(null, src)
rest_icon.icon = ui_style
rest_icon.screen_loc = ui_above_intent
Expand Down
4 changes: 4 additions & 0 deletions code/_onclick/hud/alien_larva.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
using.screen_loc = ui_alien_language_menu
static_inventory += using

using = new /atom/movable/screen/floor_menu(null, src)
using.screen_loc = ui_alien_floor_menu
static_inventory += using

using = new /atom/movable/screen/navigate(null, src)
using.screen_loc = ui_alien_navigate_menu
static_inventory += using
Expand Down
10 changes: 10 additions & 0 deletions code/_onclick/hud/ghost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,16 @@
using.icon = ui_style
static_inventory += using

using = new /atom/movable/screen/language_menu(null, src)
using.screen_loc = ui_ghost_language_menu
using.icon = ui_style
static_inventory += using

using = new /atom/movable/screen/floor_menu(null, src)
using.screen_loc = ui_ghost_floor_menu
using.icon = ui_style
static_inventory += using

/datum/hud/ghost/show_hud(version = 0, mob/viewmob)
// don't show this HUD if observing; show the HUD of the observee
var/mob/dead/observer/O = mymob
Expand Down
4 changes: 4 additions & 0 deletions code/_onclick/hud/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@
using.icon = ui_style
static_inventory += using

using = new /atom/movable/screen/floor_menu(null, src)
using.icon = ui_style
static_inventory += using

action_intent = new /atom/movable/screen/combattoggle/flashy(null, src)
action_intent.icon = ui_style
action_intent.screen_loc = ui_combat_toggle
Expand Down
6 changes: 6 additions & 0 deletions code/_onclick/hud/robot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
var/mob/living/silicon/robot/robit = mymob
var/atom/movable/screen/using

// Language
using = new/atom/movable/screen/language_menu(null, src)
using.screen_loc = ui_borg_language_menu
static_inventory += using
Expand All @@ -86,6 +87,11 @@
using.screen_loc = ui_borg_navigate_menu
static_inventory += using

// Z-level floor change
using = new /atom/movable/screen/floor_menu(null, src)
using.screen_loc = ui_borg_floor_menu
static_inventory += using

//Radio
using = new /atom/movable/screen/robot/radio(null, src)
using.screen_loc = ui_borg_radio
Expand Down
27 changes: 27 additions & 0 deletions code/_onclick/hud/screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,33 @@
/atom/movable/screen/language_menu/Click()
usr.get_language_holder().open_language_menu(usr)

/atom/movable/screen/floor_menu
name = "change floor"
icon = 'icons/hud/screen_midnight.dmi'
icon_state = "floor_change"
screen_loc = ui_floor_menu

/atom/movable/screen/floor_menu/Initialize(mapload)
. = ..()
register_context()

/atom/movable/screen/floor_menu/add_context(atom/source, list/context, obj/item/held_item, mob/user)
. = ..()

context[SCREENTIP_CONTEXT_LMB] = "Go up a floor"
context[SCREENTIP_CONTEXT_RMB] = "Go down a floor"
return CONTEXTUAL_SCREENTIP_SET

/atom/movable/screen/floor_menu/Click(location,control,params)
var/list/modifiers = params2list(params)

if(LAZYACCESS(modifiers, RIGHT_CLICK) || LAZYACCESS(modifiers, ALT_CLICK))
usr.down()
return

usr.up()
return

/atom/movable/screen/inventory
/// The identifier for the slot. It has nothing to do with ID cards.
var/slot_id
Expand Down
Loading

0 comments on commit 5489802

Please sign in to comment.