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

Ports A LOT of Paxilmaniac content + Space Sappers #33

Merged
merged 28 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
128e51d
initial
carpotoxin Sep 6, 2024
1622ee0
porting some dependencies
carpotoxin Sep 6, 2024
e0ada34
https://github.com/tgstation/tgstation/issues/85150
carpotoxin Sep 6, 2024
98bb92b
Merge branch 'main' into space-sappers
carpotoxin Sep 6, 2024
31bd25f
gunsets
carpotoxin Sep 6, 2024
de97816
prevents the creation of 'master_files'
carpotoxin Sep 6, 2024
255803f
extend commit desc
carpotoxin Sep 6, 2024
fd88d4d
Merge branch 'main' into space-sappers
carpotoxin Sep 6, 2024
248d05e
extend commit desc
carpotoxin Sep 6, 2024
151bea7
extend commit desc
carpotoxin Sep 6, 2024
2267a84
CI spare me
carpotoxin Sep 6, 2024
7e6a5d0
the plushie was my bane
carpotoxin Sep 6, 2024
b05dc49
not porting the electric welder but the arc welder is close enough
carpotoxin Sep 6, 2024
6adff4c
handful of fixes
carpotoxin Sep 6, 2024
c064607
Merge branch 'main' into space-sappers
carpotoxin Sep 7, 2024
ba4669a
why do i have to do this manually tho
carpotoxin Sep 7, 2024
8ad4b90
.dme aaargh
carpotoxin Sep 7, 2024
e64851e
one more
carpotoxin Sep 7, 2024
7c9685b
one more
carpotoxin Sep 7, 2024
b41c54c
Merge remote-tracking branch 'origin/space-sappers' into space-sappers
carpotoxin Sep 7, 2024
36aa35a
this sucks
carpotoxin Sep 7, 2024
19a9321
TIL i hate the .dme
carpotoxin Sep 7, 2024
fd6daa3
Merge branch 'main' into space-sappers
carpotoxin Sep 9, 2024
94126aa
forgot
carpotoxin Sep 9, 2024
350b3b2
fix sappie mask
carpotoxin Sep 9, 2024
39effa6
Merge branch 'master' into space-sappers
Ephemeralis Sep 9, 2024
23d3627
Merge branch 'main' into space-sappers
carpotoxin Sep 10, 2024
6f9dbb1
review & fix
carpotoxin Sep 10, 2024
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
702 changes: 702 additions & 0 deletions _maps/shuttles/~doppler_shuttles/pirate_sapper.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions code/__DEFINES/antagonists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list(
/datum/antagonist/nukeop,
/datum/antagonist/pirate,
/datum/antagonist/wizard,
/datum/antagonist/sapper, // DOPPLER ADDITION - sapper gang antag ⚡
))

/// Returns true if the given mob has an antag datum which is assigned to a human antagonist who doesn't spawn on the space station
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/machines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@
#define AWAY_IMPRINTER (1<<9)
/// For wiremod/integrated circuits. Uses various minerals.
#define COMPONENT_PRINTER (1<<10)
// DOPPLER EDIT ADDITION
/// Can be made by the orderable colony fabricator
#define COLONY_FABRICATOR (1<<11)
// DOPPLER EDIT END

#define HYPERTORUS_INACTIVE 0 // No or minimal energy
#define HYPERTORUS_NOMINAL 1 // Normal operation
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,9 @@ GLOBAL_LIST_INIT(human_heights_to_offsets, list(
#define DAMAGE_LAYER 28
/// Jumpsuit clothing layer
#define UNIFORM_LAYER 27
/// DOPPLER SHIFT ADDITION BEGIN
#define BANDAGE_LAYER 26.5
/// DOPPLER SHIFT ADDITION END
/// ID card layer
#define ID_LAYER 26
/// ID card layer (might be deprecated)
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,9 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_SPY = 0,

// Midround
/* DOPPLER STATION ADDITIONS START */
ROLE_SPACE_SAPPER = 0,
/* DOPPLER STATION ADDITIONS END */
ROLE_ABDUCTOR = 0,
ROLE_ALIEN = 0,
ROLE_BLOB = 0,
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/wounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,11 @@ GLOBAL_LIST_INIT(bio_state_anatomy, list(
/// Cranial fissure wound.
#define WOUND_SERIES_CRANIAL_FISSURE "wound_series_cranial_fissure"

// NOVA EDIT ADDITION BEGIN - MUSCLE AND SYNTH WOUNDS
// Have to put it here so I can use it in the global list of wound series
/// See muscle.dm and robotic_blunt.dm
#define WOUND_SERIES_MUSCLE_DAMAGE "nova_wound_series_muscle_damage"

/// A assoc list of (wound typepath -> wound_pregen_data instance). Every wound should have a pregen data.
GLOBAL_LIST_INIT_TYPED(all_wound_pregen_data, /datum/wound_pregen_data, generate_wound_static_data())

Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/~doppler_defines/DNA.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
//Defines for processing reagents, for synths, IPC's and Vox
#define PROCESS_ORGANIC 1 //Only processes reagents with "ORGANIC" or "ORGANIC | SYNTHETIC"
#define PROCESS_SYNTHETIC 2 //Only processes reagents with "SYNTHETIC" or "ORGANIC | SYNTHETIC"

#define REAGENT_ORGANIC 1
#define REAGENT_SYNTHETIC 2
11 changes: 11 additions & 0 deletions code/__DEFINES/~doppler_defines/access.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

/* Access is broken down by department, department special functions/rooms, and departmental roles
* The first access for the department will always be its general access function
* Please try to make the strings for any new accesses as close to the name of the define as possible
* If you are going to add an access to the list, make sure to also add it to its respective region further below
* If you're varediting on the map, it uses the string. If you're editing the object directly, use the define name
*/

/// - - - ANTAGONIST - - -
/// PLUTONIAN
#define ACCESS_SAPPER_SHIP "sapper_ship"
8 changes: 8 additions & 0 deletions code/__DEFINES/~doppler_defines/armor_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#define ARMOR_LEVEL_TINY 10
#define ARMOR_LEVEL_WEAK 30
#define ARMOR_LEVEL_MID 50
#define ARMOR_LEVEL_INSANE 90

#define WOUND_ARMOR_WEAK 10
#define WOUND_ARMOR_STANDARD 20
#define WOUND_ARMOR_HIGH 30
8 changes: 8 additions & 0 deletions code/__DEFINES/~doppler_defines/atom_hud.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// for secHUDs and medHUDs and variants. The number is the location of the image on the list hud_list
// note: if you add more HUDs, even for non-human atoms, make sure to use unique numbers for the defines!
// /datum/atom_hud expects these to be unique
// these need to be strings in order to make them associative lists

/// - - - ANTAGONIST - - -
/// PLUTONIAN
#define SECHUD_SAPPER "hudsapper"
13 changes: 13 additions & 0 deletions code/__DEFINES/~doppler_defines/cells.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//General defines for items that use power and the cell component.
/// The minimal amount of power an item can use.
#define POWER_CELL_USE_MINIMUM 1
/// For items that barely use any power at all.
#define POWER_CELL_USE_VERY_LOW 10
/// For items that generally wouldn't use very much power.
#define POWER_CELL_USE_LOW 30
/// For items that use a average amount of power.
#define POWER_CELL_USE_NORMAL 50
/// For items that use a high amount of power.
#define POWER_CELL_USE_HIGH 70
/// For items that use A LOT OF POWER.
#define POWER_CELL_USE_INSANE 100
44 changes: 44 additions & 0 deletions code/__DEFINES/~doppler_defines/colony_fabricator_misc.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/// Category for clothing in the organics printer
#define RND_CATEGORY_AKHTER_CLOTHING "Clothing"
/// Category for equipment like belts and bags in the organics printer
#define RND_CATEGORY_AKHTER_EQUIPMENT "Equipment"
/// Category for resources made by the organics printer
#define RND_CATEGORY_AKHTER_RESOURCES "Resources"

/// Category for ingredients in the ration printer
#define RND_CATEGORY_AKHTER_FOODRICATOR_INGREDIENTS "Ingredients"
/// Category for bags and containers of reagents in the ration printer
#define RND_CATEGORY_AKHTER_FOODRICATOR_BAGS "Containers"
/// Category for snacks in the ration printer
#define RND_CATEGORY_AKHTER_FOODRICATOR_SNACKS "Luxuries"
/// Category for utensils and whatnot in the ration printer
#define RND_CATEGORY_AKHTER_FOODRICATOR_UTENSILS "Utensils"
/// Category for the seeds the organics printer can make
#define RND_CATEGORY_AKHTER_SEEDS "Synthesized Seeds"

/// Medical items in the deforest medstation
#define RND_CATEGORY_DEFOREST_MEDICAL "Emergency Medical"
/// Blood and blood bags
#define RND_CATEGORY_DEFOREST_BLOOD "Synthesized Blood"

/// The items the frontier clothing can hold
GLOBAL_LIST_INIT(colonist_suit_allowed, list(
/obj/item/ammo_box,
/obj/item/ammo_casing,
/obj/item/flashlight,
/obj/item/gun,
/obj/item/melee,
/obj/item/tank/internals,
/obj/item/storage/belt/holster,
/obj/item/construction,
/obj/item/fireaxe,
/obj/item/pipe_dispenser,
/obj/item/storage/bag,
/obj/item/pickaxe,
/obj/item/resonator,
/obj/item/t_scanner,
/obj/item/analyzer,
/obj/item/storage/medkit,
/obj/item/fireaxe/metal_h2_axe,
/obj/item/forging/reagent_weapon,
))
4 changes: 4 additions & 0 deletions code/__DEFINES/~doppler_defines/declarations.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/// Trait that changes the ending effects of twitch leaving your system
#define TRAIT_TWITCH_ADAPTED "twitch_adapted"
/// Given to the detective, if they have this, they can see syndicate special descriptions.
#define TRAIT_DETECTIVE "detective_ability"
14 changes: 14 additions & 0 deletions code/__DEFINES/~doppler_defines/examinemore.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
These are the defines for controlling what conditions are required to display
an items special description.

See the examinemore module for information.
*/

#define EXAMINE_CHECK_NONE "none" //Displays the special_desc regardless if it's set.
#define EXAMINE_CHECK_SYNDICATE "syndicate" //For displaying descriptors for those with the SYNDICATE faction assigned.
#define EXAMINE_CHECK_SYNDICATE_TOY "syndicate_toy" //Ditto, only instead of displaying nothing for heathens, it shows "The src looks like a toy, not the real thing."
#define EXAMINE_CHECK_MINDSHIELD "mindshield" //For displaying descriptors for those with a mindshield implant.
#define EXAMINE_CHECK_ROLE "role" //For displaying description information based on a specific ROLE, e.g. traitor. Remember to set the special_desc_role var on the item.
#define EXAMINE_CHECK_JOB "job" //For displaying descriptors for specific jobs, e.g scientist. Remember to set the special_desc_job var on the item.
#define EXAMINE_CHECK_FACTION "faction" //For displaying descriptors for mob factions, e.g. a zombie, or... turrets. Or syndicate. Remember to set special_desc_factions.
30 changes: 30 additions & 0 deletions code/__DEFINES/~doppler_defines/manufacturer_strings.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Text for what examine blurb will come up when used with /datum/element/manufacturer_examine
// Very loosely grouped based on what company makes what mainly for your viewing pleasure

#define COMPANY_DONK "It has a <b>[span_green("Donk Corporation")]</b> label visible on it."
#define COMPANY_BOLT "It has <b>[span_yellow("Bolt Fabrications")]</b> stamped onto it."
#define COMPANY_NANOTRASEN "It has <b>[span_blue("Nanotrasen Armories")]</b> etched into it."

#define COMPANY_CARWO "It has a small <b>[span_cyan("four pointed star")]</b> alongside <b>[span_cyan("Carwo Defense Systems")]</b> etched into it."
#define COMPANY_TRAPPISTE "It has a small <b>[span_red("pattern of five squares")]</b> alongside <b>[span_red("Trappiste Fabriek")]</b> etched into it."

#define COMPANY_CYBERSUN "It has a <b>[span_red("red circle")]</b> broken by a <b>hexagonal flower</b> alongside <b>[span_red("Cybersun Industries")]</b> in Konjin etched into it."
#define COMPANY_SCARBOROUGH "It has <b>[span_orange("Scarborough Arms")]</b> stamped onto it."
#define COMPANY_INTERDYNE "It has <b>[span_cyan("Interdyne Pharmaceuticals")]</b> stamped onto it."

#define COMPANY_ALLSTAR "It has <b>[span_red("Allstar Lasers Inc.")]</b> stamped onto it."
#define COMPANY_MICRON "It has <b>[span_cyan("Micron Control Sys.")]</b> cut into it."

#define COMPANY_NAKAMURA "It has <b>[span_orange("Nakamura Engineering")]</b> embossed onto it."
#define COMPANY_BLACKSTEEL "It bears the <b>[span_grey("crossed sword and hammer")]</b> crafter's mark of the <b>[span_grey("Jarnsmiour Blacksteel Foundation")]</b> upon its fore."

#define COMPANY_SZOT "It has a small <b>[span_engradio("three point crown")]</b> alongside <b>[span_engradio("Szot Dynamica")]</b> cut into it."
#define COMPANY_SAKHNO "It has <b>[span_green("Sakhno Concern")]</b> stamped onto it."
#define COMPANY_XHIHAO "It has <b>[span_purple("Xhihao Light Arms")]</b> etched into it."

#define COMPANY_ABDUCTOR "It has <b>[span_abductor("✌︎︎♌︎︎♎︎︎◆︎︎♍︎︎⧫︎︎❄︎♏︎♍︎♒︎")]</b> engraved into it."

#define COMPANY_FRONTIER "It has a small label with <b>[span_engradio("Akhter Company Frontier Equipment")]</b> printed on it, alongside various xerxian proof-marks."
#define COMPANY_KAHRAMAN "It has a <b>[span_red("red label")] with <b>[span_red("K - A - S")]</b> printed on it, alongside various xerxian proof-marks.</b>"

#define COMPANY_REMOVED "It has had <b>[span_grey("all identifying marks scrubbed off")].</b>"
5 changes: 5 additions & 0 deletions code/__DEFINES/~doppler_defines/mobfactions.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Contains mob factions that are not handled by special role defines (for example, viscerators having ROLE_SYNDICATE)

/// - - - ANTAGONIST - - -
/// PLUTONIAN
#define FACTION_SAPPER "sapper"
9 changes: 9 additions & 0 deletions code/__DEFINES/~doppler_defines/role_preferences.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
//Values for antag preferences, event roles, etc. unified here



//These are synced with the Database, if you change the values of the defines
//then you MUST update the database!

// Midround roles
#define ROLE_SPACE_SAPPER "Space Sapper"
8 changes: 8 additions & 0 deletions code/__DEFINES/~doppler_defines/signals.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
///Fired in combat_indicator.dm, used for syncing CI between mech and pilot
#define COMSIG_MOB_CI_TOGGLED "mob_ci_toggled"

// Power signals
/// Sent when an obj/item calls item_use_power: (use_amount, user, check_only)
#define COMSIG_ITEM_POWER_USE "item_use_power"
#define NO_COMPONENT NONE
#define COMPONENT_POWER_SUCCESS (1<<0)
#define COMPONENT_NO_CELL (1<<1)
#define COMPONENT_NO_CHARGE (1<<2)
5 changes: 5 additions & 0 deletions code/__DEFINES/~doppler_defines/span.dm
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
#define span_italics(str) ("<span class='italics'>" + str + "</span>")
#define span_pink(str) ("<span class='pink'>" + str + "</span>")
#define span_brown(str) ("<span class='brown'>" + str + "</span>")
#define span_cyan(str) ("<span class='cyan'>" + str + "</span>")
#define span_orange(str) ("<span class='orange'>" + str + "</span>")
#define span_yellow(str) ("<span class='yellow'>" + str + "</span>")
2 changes: 2 additions & 0 deletions code/__DEFINES/~doppler_defines/wounds.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// If this wound, when bandaged, will cause a splint overlay to generate rather than a bandage overlay.
#define SPLINT_OVERLAY (1<<200) // we use a big number since tg realistically wouldnt go to it
6 changes: 4 additions & 2 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -678,12 +678,14 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_TURF_IGNORE_SLIPPERY" = TRAIT_TURF_IGNORE_SLIPPERY,
"TRAIT_TURF_IGNORE_SLOWDOWN" = TRAIT_TURF_IGNORE_SLOWDOWN,
),
// DOPPLER EDIT ADDITION START - DOPPLER TRAITS
/obj/item/clothing/suit/jacket/doppler = list(
// DOPPLER EDIT ADDITION START - MODULAR TRAITS
/obj/item/toy/plush/modular = list(
"TRAIT_CURRENTLY_GLASSBLOWING" = TRAIT_CURRENTLY_GLASSBLOWING,
"TRAIT_FELINE" = TRAIT_FELINE,
"TRAIT_GLASSBLOWING" = TRAIT_GLASSBLOWING,
"TRAIT_XENOARCH_QUALIFIED" = TRAIT_XENOARCH_QUALIFIED,
"TRAIT_DETECTIVE" = TRAIT_DETECTIVE,
"TRAIT_TWITCH_ADAPTED" = TRAIT_TWITCH_ADAPTED,
),
// DOPPLER EDIT ADDITION END
))
Expand Down
6 changes: 4 additions & 2 deletions code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -369,12 +369,14 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
/obj/item/organ/internal/lungs = list(
"TRAIT_SPACEBREATHING" = TRAIT_SPACEBREATHING,
),
// DOPPLER EDIT ADDITION START - DOPPLER TRAITS
/obj/item/clothing/suit/jacket/doppler = list(
// DOPPLER EDIT ADDITION START - MODULAR TRAITS
/obj/item/toy/plush/modular = list(
"TRAIT_CURRENTLY_GLASSBLOWING" = TRAIT_CURRENTLY_GLASSBLOWING,
"TRAIT_FELINE" = TRAIT_FELINE,
"TRAIT_GLASSBLOWING" = TRAIT_GLASSBLOWING,
"TRAIT_XENOARCH_QUALIFIED" = TRAIT_XENOARCH_QUALIFIED,
"TRAIT_DETECTIVE" = TRAIT_DETECTIVE,
"TRAIT_TWITCH_ADAPTED" = TRAIT_TWITCH_ADAPTED,
),
// DOPPLER EDIT ADDITION END
))
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/carbon_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -561,11 +561,11 @@
if (!IS_ORGANIC_LIMB(limb))
. += (limb.brute_dam * limb.body_damage_coeff) + (limb.burn_dam * limb.body_damage_coeff)

/mob/living/carbon/grabbedby(mob/living/user, supress_message = FALSE)
/mob/living/carbon/grabbedby(mob/living/user, supress_message = FALSE, grabbed_part) // DOPPLER EDIT CHANGE - ORIGINAL: /mob/living/carbon/grabbedby(mob/living/user, supress_message = FALSE)
if(user != src)
return ..()

var/obj/item/bodypart/grasped_part = get_bodypart(zone_selected)
var/obj/item/bodypart/grasped_part = grabbed_part ? grabbed_part : get_bodypart(zone_selected) // DOPPLER EDIT CHANGE - ORIGINAL: var/obj/item/bodypart/grasped_part = get_bodypart(zone_selected)
if(!grasped_part?.can_be_grasped())
return
var/starting_hand_index = active_hand_index
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/living_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@
/**
* Called when this mob is grabbed by another mob.
*/
/mob/living/proc/grabbedby(mob/living/user, supress_message = FALSE)
/mob/living/proc/grabbedby(mob/living/user, supress_message = FALSE, grabbed_part) // DOPPLER EDIT CHANGE - ORIGINAL: /mob/living/proc/grabbedby(mob/living/user, supress_message = FALSE)
if(user == src || anchored || !isturf(user.loc))
return FALSE

Expand Down
2 changes: 1 addition & 1 deletion code/modules/research/machinery/_production.dm
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@
* * path - the design path to check for
*/
/obj/machinery/rnd/production/proc/build_efficiency(path)
PRIVATE_PROC(TRUE)
PROTECTED_PROC(TRUE) // DOPPLER EDIT CHANGE - ORIGINAL: PRIVATE_PROC(TRUE)
SHOULD_BE_PURE(TRUE)

if(ispath(path, /obj/item/stack/sheet) || ispath(path, /obj/item/stack/ore/bluespace_crystal))
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading