Skip to content

Commit

Permalink
Merge pull request #33 from honkpocket/space-sappers
Browse files Browse the repository at this point in the history
Ports A LOT of Paxilmaniac content + Space Sappers
  • Loading branch information
CliffracerX authored Sep 10, 2024
2 parents 9b7ce8d + 6f9dbb1 commit 45355fa
Show file tree
Hide file tree
Showing 249 changed files with 11,099 additions and 28 deletions.
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

0 comments on commit 45355fa

Please sign in to comment.