Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Xander3359 committed Feb 2, 2024
2 parents 4460804 + a55ccbb commit 7207277
Show file tree
Hide file tree
Showing 138 changed files with 1,561 additions and 1,060 deletions.
1,203 changes: 589 additions & 614 deletions _maps/map_files/Arachne/TGS_Arachne.dmm

Large diffs are not rendered by default.

13 changes: 3 additions & 10 deletions _maps/map_files/Orion_Military_Outpost/orionoutpost.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7715,13 +7715,6 @@
dir = 10
},
/area/orion_outpost/surface/building/tadpolepad)
"NF" = (
/obj/machinery/light{
dir = 4
},
/obj/structure/bed/bunkbed,
/turf/open/floor/wood,
/area/orion_outpost/surface/building/barracks)
"NG" = (
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/ground/concrete/lines{
Expand Down Expand Up @@ -19336,7 +19329,7 @@ Zl
xi
Zl
xi
NF
Zl
Jd
Qu
VA
Expand All @@ -19350,7 +19343,7 @@ Zl
xi
Zl
xi
NF
Zl
Jd
tS
hX
Expand Down Expand Up @@ -20788,7 +20781,7 @@ Zl
xi
Zl
xi
NF
Zl
Jd
in
in
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/colors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ Important note: colors can end up significantly different from the basic html pi
#define COLOR_AMMO_TACTICAL_SMOKE "#2F7B00"
#define COLOR_AMMO_SMOKE "#0F98BD"
#define COLOR_AMMO_TANGLEFOOT "#AA1FDC"
#define COLOR_AMMO_ACID "#25dc1f"
#define COLOR_AMMO_RAZORBURN "#FBF236"
#define COLOR_AMMO_HIGH_EXPLOSIVE "#b02323"

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/cooldowns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#define COOLDOWN_RAVAGER_FLAMER_ACT "cooldown_ravager_flamer_act"
#define COOLDOWN_DROPPOD_TARGETTING "cooldown_droppod_targetting"
#define COOLDOWN_TRY_TTS "cooldown_try_tts"
#define COOLDOWN_EVASION_ACTIVATION "cooldown_evasion_activation"

//Mecha cooldowns
#define COOLDOWN_MECHA "mecha"
Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@
#define COMSIG_GLOB_CAMPAIGN_DROPBLOCKER_DISABLED "!campaign_dropblocker_disabled"
///Override code for NT base rescue mission
#define COMSIG_GLOB_CAMPAIGN_NT_OVERRIDE_CODE "!campaign_nt_override_code"

///Campaign asset obtained for the first time
#define COMSIG_CAMPAIGN_NEW_ASSET "campaign_new_asset"
///Campaign asset activation successful
#define COMSIG_CAMPAIGN_ASSET_ACTIVATION "campaign_asset_activation"
///Campaign asset disabler activated
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@
#define TRAIT_AXE_EXPERT "axe_expert"
///You swing sword good
#define TRAIT_SWORD_EXPERT "sword_expert"
///Pain reduction light
#define TRAIT_LIGHT_PAIN_RESIST "light_pain_resist"
///Pain reduction medium
#define TRAIT_MEDIUM_PAIN_RESIST "medium_pain_resist"


/// Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
#define TRAIT_HANDS_BLOCKED "handsblocked"
Expand Down
33 changes: 32 additions & 1 deletion code/_globalvars/lists/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,37 @@ GLOBAL_LIST_INIT(campaign_perk_icon_types, list(
"smartguns",
"firearms",
"overclock",
"sword",
"axe",
))

GLOBAL_LIST_INIT(campaign_loadout_item_icon_types, list(
"light_armour_shield",
"medium_armour_shield",
"heavy_armour_shield",
"light_armour",
"medium_armour",
"heavy_armour",
"gorgon",
"medkit",
"materials",
"tyr",
"lorica",
"riot_shield",
"grenade",
"shotgun",
"scout",
"ballistic",
"lasergun",
"volkite",
"smartgun",
"helmet",
"boots",
"machete",
"axe",
"pistol",
"smg",
"construction",
))

GLOBAL_LIST_INIT(minimap_icons, init_minimap_icons())
Expand Down Expand Up @@ -273,6 +304,6 @@ GLOBAL_LIST_INIT(campaign_loadout_item_icons, init_campaign_loadout_item_icons()
/proc/init_campaign_loadout_item_icons()
. = list()
var/list/colours = list("green", "orange", "grey", "red", "blue")
for(var/icon_state in GLOB.campaign_asset_icon_types) //placeholder
for(var/icon_state in GLOB.campaign_loadout_item_icon_types)
for(var/colour in colours)
. += "[icon_state]_[colour]"
2 changes: 1 addition & 1 deletion code/_onclick/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
SSblackbox.record_feedback("tally", "round_statistics", 1, "xeno_unarmed_attacks")


/atom/proc/attack_alien(mob/living/carbon/xenomorph/X, damage_amount = X.xeno_caste.melee_damage, damage_type = BRUTE, damage_flag = "", effects = TRUE, armor_penetration = 0, isrightclick = FALSE)
/atom/proc/attack_alien(mob/living/carbon/xenomorph/X, damage_amount = X.xeno_caste.melee_damage, damage_type = BRUTE, damage_flag = "", effects = TRUE, armor_penetration = X.xeno_caste.melee_ap, isrightclick = FALSE)
return


Expand Down
16 changes: 16 additions & 0 deletions code/controllers/configuration/config_entry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,22 @@
config_entry_value = text2num(trim(str_val)) != 0
return TRUE

/// List config entry, used for configuring a list of strings
/datum/config_entry/str_list
abstract_type = /datum/config_entry/str_list
default = list()
dupes_allowed = TRUE
/// whether the string elements will be lowercased on ValidateAndSet or not.
var/lowercase = FALSE

/datum/config_entry/str_list/ValidateAndSet(str_val)
if (!VASProcCallGuard(str_val))
return FALSE
str_val = trim(str_val)
if (str_val != "")
config_entry_value += lowercase ? lowertext(str_val) : str_val
return TRUE

/datum/config_entry/number_list
abstract_type = /datum/config_entry/number_list
config_entry_value = list()
Expand Down
4 changes: 0 additions & 4 deletions code/datums/actions/item_action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,6 @@
/datum/action/item_action/toggle/suit_toggle
keybinding_signals = list(KEYBINDING_NORMAL = COMSIG_KB_SUITLIGHT)

/datum/action/item_action/toggle/motion_detector/action_activate()
. = ..()
update_button_icon()

/datum/action/item_action/firemode
// just here so players see what key is it bound to
keybinding_signals = list(
Expand Down
4 changes: 2 additions & 2 deletions code/datums/components/beacon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@

if(!ishuman(user))
return

if(length(user.do_actions))
user.balloon_alert(user, "Busy!")
return
Expand Down Expand Up @@ -118,7 +118,7 @@
user.dropItemToGround(source)
beacon_cam = BC
source.anchored = TRUE
source.layer = ABOVE_FLY_LAYER
source.layer = ABOVE_OBJ_LAYER
source.set_light(2, 1)
var/marker_flags = GLOB.faction_to_minimap_flag[user.faction]
if(!marker_flags)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/fire_support.dm
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@
start_visual = /obj/effect/temp_visual/dropship_flyby/som
uses = 2
///Base strength of the rad effects
var/rad_strength = 30
var/rad_strength = 25
///Range for the maximum rad effects
var/inner_range = 3
///Range for the moderate rad effects
Expand Down
7 changes: 5 additions & 2 deletions code/datums/gamemodes/campaign/campaign_assets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,12 @@
///Feedback message if this asset is unusable during this mission
var/blacklist_message = "Unavailable during this mission."

/datum/campaign_asset/New(datum/faction_stats/winning_faction)
/datum/campaign_asset/New(datum/faction_stats/new_faction)
. = ..()
faction = winning_faction
if(!istype(new_faction))
return qdel(src)
SEND_SIGNAL(new_faction, COMSIG_CAMPAIGN_NEW_ASSET, src)
faction = new_faction
if(asset_flags & ASSET_IMMEDIATE_EFFECT)
immediate_effect()
if(asset_flags & ASSET_PASSIVE_EFFECT)
Expand Down
56 changes: 35 additions & 21 deletions code/datums/gamemodes/campaign/individual_stats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,35 +87,49 @@
new_perk.apply_perk(user)

///Unlocks a loadout item for use
/datum/individual_stats/proc/unlock_loadout_item(item_type, job_type, mob/user, cost_override)
for(var/datum/loadout_item/item AS in GLOB.campaign_loadout_items_by_role[job_type])
if(!istype(item, item_type))
/datum/individual_stats/proc/unlock_loadout_item(item_type, job_type_or_types, mob/user, cost_override, job_req_override = FALSE)
if(!islist(job_type_or_types))
job_type_or_types = list(job_type_or_types)
var/datum/loadout_item/item = GLOB.campaign_loadout_item_type_list[item_type]
if(!istype(item))
return FALSE
var/insufficient_credits = use_funds(isnum(cost_override) ? cost_override : item.unlock_cost)
if(insufficient_credits)
to_chat(user, span_warning("Requires [insufficient_credits] more credits."))
return FALSE
for(var/job_type in job_type_or_types)
if(!job_req_override && !(job_type in item.jobs_supported))
continue
var/insufficient_credits = use_funds(isnum(cost_override) ? cost_override : item.unlock_cost)
if(insufficient_credits)
to_chat(user, span_warning("Requires [insufficient_credits] more credits."))
return
if(!loadouts[job_type].unlock_new_option(item))
return
return TRUE
loadouts[job_type]?.unlock_new_option(item)
return TRUE

///Adds an item to the unlockable list for a job
/datum/individual_stats/proc/make_available_loadout_item(item_type, job_type, mob/user)
for(var/datum/loadout_item/item AS in GLOB.campaign_loadout_items_by_role[job_type])
if(!istype(item, item_type))
/datum/individual_stats/proc/make_available_loadout_item(item_type, job_type_or_types, mob/user, job_req_override = FALSE)
if(!islist(job_type_or_types))
job_type_or_types = list(job_type_or_types)
var/datum/loadout_item/item = GLOB.campaign_loadout_item_type_list[item_type]
if(!istype(item))
return FALSE
for(var/job_type in job_type_or_types)
if(!job_req_override && !(job_type in item.jobs_supported))
continue
loadouts[job_type].allow_new_option(item)
return
loadouts[job_type]?.allow_new_option(item)
return TRUE

///Adds and equips a loadout item, replacing another
/datum/individual_stats/proc/replace_option(new_item, removed_item, job_type)
for(var/datum/loadout_item/item AS in GLOB.campaign_loadout_items_by_role[job_type])
if(!istype(item, new_item))
/datum/individual_stats/proc/replace_loadout_option(new_item, removed_item, job_type_or_types, job_req_override = TRUE)
if(!islist(job_type_or_types))
job_type_or_types = list(job_type_or_types)
var/datum/loadout_item/item = GLOB.campaign_loadout_item_type_list[new_item]
if(!istype(item))
return FALSE
for(var/job_type in job_type_or_types)
if(!job_req_override && !(job_type in item.jobs_supported))
continue
loadouts[job_type].unlock_new_option(item)
if(loadouts[job_type].remove_option(GLOB.campaign_loadout_item_type_list[removed_item]))
loadouts[job_type]?.unlock_new_option(item)
if(loadouts[job_type]?.remove_option(GLOB.campaign_loadout_item_type_list[removed_item]))
loadouts[job_type].attempt_equip_loadout_item(item)
return
return TRUE

///Applies all perks to a mob
/datum/individual_stats/proc/apply_perks()
Expand Down
4 changes: 2 additions & 2 deletions code/datums/gamemodes/campaign/loadout_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#define LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE (1<<2)

GLOBAL_LIST_INIT(campaign_loadout_slots, list(ITEM_SLOT_OCLOTHING, ITEM_SLOT_ICLOTHING, ITEM_SLOT_GLOVES, ITEM_SLOT_EYES, ITEM_SLOT_EARS, \
ITEM_SLOT_MASK, ITEM_SLOT_HEAD, ITEM_SLOT_FEET, ITEM_SLOT_ID, ITEM_SLOT_BELT, ITEM_SLOT_BACK, ITEM_SLOT_R_POCKET, ITEM_SLOT_L_POCKET, ITEM_SLOT_SUITSTORE))
ITEM_SLOT_MASK, ITEM_SLOT_HEAD, ITEM_SLOT_FEET, ITEM_SLOT_ID, ITEM_SLOT_BELT, ITEM_SLOT_BACK, ITEM_SLOT_L_POCKET, ITEM_SLOT_R_POCKET, ITEM_SLOT_SUITSTORE))

//List of all loadout_item datums
GLOBAL_LIST_INIT_TYPED(campaign_loadout_item_type_list, /datum/loadout_item, init_glob_loadout_item_list())
Expand Down Expand Up @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(campaign_loadout_items_by_role, init_campaign_loadout_items_by_
///Typepath of the actual item this datum represents
var/obj/item/item_typepath
///UI icon for this item
var/ui_icon = "b18" //placeholder
var/ui_icon = "heavy_armour" //placeholder
///inventory slot it is intended to go into
var/item_slot
///Behavior flags for loadout items
Expand Down
15 changes: 12 additions & 3 deletions code/datums/gamemodes/campaign/loadout_items/SOM/back_slot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/datum/loadout_item/back/som_combat_pack
name = "Mining rucksack"
desc = "A rucksack with origins dating back to the mining colonies. Has the storage capacity of a backpack but no draw delay."
purchase_cost = 50
purchase_cost = 25
item_typepath = /obj/item/storage/backpack/lightpack/som
jobs_supported = list(SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN)

Expand All @@ -25,6 +25,14 @@
jobs_supported = list(SOM_SQUAD_MARINE)
item_whitelist = list(/obj/item/weapon/gun/flamer/som/mag_harness = ITEM_SLOT_SUITSTORE)

/datum/loadout_item/back/som_flamer_tank/x_fuel
name = "X-fuel tank"
desc = "A specialized fuel tank of ultra thick napthal type X, known for its extreme heat and slow burn rate, as well as it's distinct blue flames. For use with the V-62 incinerator."
item_typepath = /obj/item/ammo_magazine/flamer_tank/backtank/X
purchase_cost = 25
unlock_cost = 200
loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE

/datum/loadout_item/back/blinkdrive
name = "Blink drive"
desc = "A portable Bluespace Displacement Drive, otherwise known as a blink drive. \
Expand All @@ -44,8 +52,8 @@
desc = "A powerful close quarters tool when someone wants something more suited for close range than most people. A powerful secondary weapon to devastate opponents at close range. \
Supplied with an addition box of buckshot, provided you have somewhere to store the shells. \
Uses 12 gauge shells. Requires a pump, which is the Unique Action key."
ui_icon = "ballistic"
purchase_cost = 100
ui_icon = "shotgun"
purchase_cost = 25
item_typepath = /obj/item/weapon/gun/shotgun/som/standard
jobs_supported = list(SOM_SQUAD_MARINE)
loadout_item_flags = NONE
Expand Down Expand Up @@ -79,6 +87,7 @@
/datum/loadout_item/back/boarding_axe
name = "Boarding axe"
desc = "A SOM boarding axe, effective at breaching doors as well as skulls. When wielded it can be used to block as well as attack."
ui_icon = "axe"
item_typepath = /obj/item/weapon/twohanded/fireaxe/som
jobs_supported = list(SOM_SQUAD_MARINE, SOM_SQUAD_VETERAN, SOM_FIELD_COMMANDER)
item_blacklist = list(/obj/item/weapon/twohanded/fireaxe/som = ITEM_SLOT_SUITSTORE)
Expand Down
Loading

0 comments on commit 7207277

Please sign in to comment.