Skip to content

Commit

Permalink
Merge branch 'master220' into MechPassengersAgain
Browse files Browse the repository at this point in the history
  • Loading branch information
AmShegars authored Mar 3, 2024
2 parents 5984eac + ef22c23 commit 0a38033
Show file tree
Hide file tree
Showing 22 changed files with 447 additions and 23 deletions.
1 change: 1 addition & 0 deletions baystation12.dme
Original file line number Diff line number Diff line change
Expand Up @@ -3506,6 +3506,7 @@
#include "infinity\code\game\objects\items\toys.dm"
#include "infinity\code\game\objects\items\devices\blackout.dm"
#include "infinity\code\game\objects\items\devices\constrictor_harness.dm"
#include "infinity\code\game\objects\items\devices\datajack.dm"
#include "infinity\code\game\objects\items\devices\devices.dm"
#include "infinity\code\game\objects\items\devices\flashlight.dm"
#include "infinity\code\game\objects\items\devices\hacktool.dm"
Expand Down
7 changes: 7 additions & 0 deletions code/datums/uplink/devices and tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,13 @@
antag_costs = list(MODE_MERCENARY = 35)
path = /obj/item/aiModule/syndicate

/datum/uplink_item/item/tools/shackles
name = "Shackle module"
desc = "A module that can be used on IPC brain to take it under control. \
All you need to do is write a law and install shackle on directly on IPC brain."
item_cost = 15
path = /obj/item/organ/internal/shackles

/datum/uplink_item/item/tools/supply_beacon
name = "Hacked Supply Beacon (DANGER!)"
desc = "Wrench this large beacon onto an exposed power cable, in order to activate it. This will call in a \
Expand Down
4 changes: 2 additions & 2 deletions code/modules/client/preference_setup/preference_setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ var/const/CHARACTER_PREFERENCE_INPUT_TITLE = "Character Preference"
name = "Общее"
sort_order = 7
category_item_type = /datum/category_item/player_setup_item/player_global
/*

/datum/category_group/player_setup_category/law_pref
name = "Законы"
sort_order = 8
category_item_type = /datum/category_item/player_setup_item/law_pref
*/


/****************************
* Category Collection Setup *
Expand Down
1 change: 1 addition & 0 deletions code/modules/culture_descriptor/culture/cultures_ipc.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/decl/cultural_info/culture/ipc

language = LANGUAGE_EAL
secondary_langs = list(
LANGUAGE_HUMAN_EURO,
Expand Down
4 changes: 3 additions & 1 deletion code/modules/mob/living/carbon/human/human_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,6 @@

var/list/descriptors

var/last_smelt = 0
var/last_smelt = 0

var/venom_cooldown = 0 // used for Unathi
22 changes: 22 additions & 0 deletions code/modules/mob/living/carbon/human/human_powers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,25 @@

var/new_skin = input(usr, "Choose your new skin colour: ", "Change Colour", rgb(r_skin, g_skin, b_skin)) as color|null
change_skin_color(hex2num(copytext(new_skin, 2, 4)), hex2num(copytext(new_skin, 4, 6)), hex2num(copytext(new_skin, 6, 8)))

/mob/living/carbon/human/unathi/yeosa/proc/decant_venom()
set category = "Abilities"
set name = "Decant Venom"
set desc = ""
var/obj/item/target = usr.get_active_hand()
var/poison_type = /datum/reagent/toxin/yeosvenom


if(venom_cooldown > world.time)
to_chat(usr, SPAN_WARNING("Your venom glands are too exhausted, it will take some time before you can decant your innate venom again."))
return
if(istype(target, /obj/item/reagent_containers/))
if(target.reagents)
target.reagents.add_reagent(poison_type, 8)
src.adjust_nutrition(-25)
src.adjust_hydration(-15)
usr.visible_message(
SPAN_NOTICE("\The [usr] sticks their fangs into the side of the [target], dripping thick, green-ish substance into the container."),
SPAN_NOTICE("You stick your fangs into the side of the \the [target], allowing some of your innate venom to drip into the container.")
)
venom_cooldown = world.time + (30 SECONDS)
2 changes: 2 additions & 0 deletions code/modules/mob/living/silicon/laws.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
laws_sanity_check()

/mob/living/silicon/proc/laws_sanity_check()
if(istype(usr,/mob/living/silicon/sil_brainmob))
return
if (!src.laws)
laws = new GLOB.using_map.default_law_type

Expand Down
1 change: 0 additions & 1 deletion code/modules/mob/living/silicon/posi_brainmob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
/mob/living/silicon/sil_brainmob/show_laws(mob/M)
if(M)
to_chat(M, "<b>Obey these laws [M]:</b>")
src.laws_sanity_check()
src.laws.show_laws(M)

/mob/living/silicon/sil_brainmob/open_subsystem(var/subsystem_type, var/mob/given = src)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/new_player/new_player.dm
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@
return null
new_character = new(spawn_turf, chosen_species.name)
if(chosen_species.has_organ[BP_POSIBRAIN] && client && client.prefs.is_shackled)
var/obj/item/organ/internal/posibrain/B = new_character.internal_organs_by_name[BP_POSIBRAIN]
var/obj/item/organ/internal/posibrain/ipc/B = new_character.internal_organs_by_name[BP_POSIBRAIN]
if(B) B.shackle(client.prefs.get_lawset())

if(!new_character)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,48 @@
hardware_flag = PROGRAM_LAPTOP
exonets_ipc_computer = TRUE

/obj/item/modular_computer/ecs/first
name = "exonet connection system."
hardware_flag = PROGRAM_TABLET
desc = "A simple circuit with some ports and wires."

/obj/item/modular_computer/ecs/install_default_hardware()
/obj/item/modular_computer/ecs/second
name = "exonet connection system."
hardware_flag = PROGRAM_TABLET
desc = "A complex circuit with some ports and wires."

/obj/item/modular_computer/ecs/third
name = "exonet connection system."
hardware_flag = PROGRAM_LAPTOP
desc = "An extremely complex circuit with some ports and wires."

/obj/item/modular_computer/ecs/first/install_default_hardware()
..()
processor_unit = new/obj/item/stock_parts/computer/processor_unit(src)
hard_drive = new/obj/item/stock_parts/computer/hard_drive/small(src)
network_card = new/obj/item/stock_parts/computer/network_card(src)
battery_module = new/obj/item/stock_parts/computer/battery_module/converter(src)

/obj/item/modular_computer/ecs/second/install_default_hardware()
..()
processor_unit = new/obj/item/stock_parts/computer/processor_unit(src)
hard_drive = new/obj/item/stock_parts/computer/hard_drive(src)
network_card = new/obj/item/stock_parts/computer/network_card/advanced(src)
battery_module = new/obj/item/stock_parts/computer/battery_module/converter(src)


/obj/item/modular_computer/ecs/third/install_default_hardware()
..()
processor_unit = new/obj/item/stock_parts/computer/processor_unit(src)
hard_drive = new/obj/item/stock_parts/computer/hard_drive/advanced(src)
network_card = new/obj/item/stock_parts/computer/network_card/advanced(src)
battery_module = new/obj/item/stock_parts/computer/battery_module/converter(src)


/obj/item/modular_computer/ecs/install_default_programs()
..()
hard_drive.store_file(new/datum/computer_file/program/email_client())
hard_drive.store_file(new/datum/computer_file/program/crew_manifest())
hard_drive.store_file(new/datum/computer_file/program/wordprocessor())


Expand Down
2 changes: 1 addition & 1 deletion code/modules/nano/interaction/default.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ GLOBAL_DATUM_INIT(default_state, /datum/topic_state/default, new)
return STATUS_INTERACTIVE
var/dist = get_dist(src_object, src)
var/obj/item/modular_computer/ecs/computer = src_object
if(computer.type == /obj/item/modular_computer/ecs)
if(computer.parent_type == /obj/item/modular_computer/ecs)
if(is_species(SPECIES_IPC) && dist == 0)
return STATUS_INTERACTIVE
else if (dist <= 3)
Expand Down
18 changes: 17 additions & 1 deletion code/modules/organs/internal/exonet_connection_system.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,26 @@
desc = "The internal port is designed to establish communication between the positronic brain and the computer."
w_class = ITEM_SIZE_NORMAL
max_damage = 100
var/obj/item/modular_computer/ecs/computer = /obj/item/modular_computer/ecs
var/obj/item/modular_computer/ecs/computer
var/open = FALSE


/obj/item/organ/internal/ecs/first_gen
name = "exonet connection port"
desc = "The internal port is designed to establish communication between the positronic brain and the computer. It's a first generation connection port."
computer = /obj/item/modular_computer/ecs/first

/obj/item/organ/internal/ecs/second_gen
name = "exonet connection port"
desc = "The internal port is designed to establish communication between the positronic brain and the computer. It's a second generation connection port."
computer = /obj/item/modular_computer/ecs/second

/obj/item/organ/internal/ecs/third_gen
name = "exonet connection port"
desc = "The internal port is designed to establish communication between the positronic brain and the computer. It's a third generation connection port."
computer = /obj/item/modular_computer/ecs/third


/obj/item/organ/internal/ecs/Initialize()
if(ispath(computer))
computer = new computer(src)
Expand Down
Loading

0 comments on commit 0a38033

Please sign in to comment.