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

[BOUNTY] Nanotrasen Representative #3864

Merged
merged 30 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
535c477
plasmacore first pass
SirNightKnight Oct 12, 2024
8050f0f
please tick
SirNightKnight Oct 12, 2024
ea81920
thanks Riku
SirNightKnight Oct 12, 2024
022d49b
plasmacore done
SirNightKnight Oct 12, 2024
ef2f02e
cashing changes before switching branches help it's 2 am
SirNightKnight Oct 13, 2024
2d5c658
hope this works
SirNightKnight Oct 14, 2024
b52e873
gah
SirNightKnight Oct 14, 2024
864029d
boop
SirNightKnight Oct 14, 2024
3650a11
let's see if i knock out the clothing first try, minus the flavour th…
SirNightKnight Oct 15, 2024
6e739f3
gah
SirNightKnight Oct 15, 2024
3c40fd4
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
SirNightKnight Oct 18, 2024
ccf10bd
digi sprites + item flavouring
SirNightKnight Oct 20, 2024
7309cb3
grammar
SirNightKnight Oct 20, 2024
0ab9acc
"Glorty"
SirNightKnight Oct 20, 2024
103c69a
punctuation
SirNightKnight Oct 20, 2024
f1ee944
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
SirNightKnight Oct 20, 2024
c192ef8
job changes , garment bags, and locker
SirNightKnight Oct 20, 2024
b0b388f
antags and maps next
SirNightKnight Oct 20, 2024
1250d29
removes NT rep from all antag selection... i hope
SirNightKnight Oct 20, 2024
c316eab
mapping stuff for later
SirNightKnight Oct 20, 2024
feb4eb3
moves icons to icons folder instead of inside the module
SirNightKnight Oct 21, 2024
1efc388
bleh
SirNightKnight Oct 21, 2024
67f1369
moved plasmacore icons cus i forgot
SirNightKnight Oct 21, 2024
1d7c77c
blueshield answers to NT rep and CC
SirNightKnight Oct 21, 2024
404a49c
lil things
SirNightKnight Oct 21, 2024
f3fc0fa
NT rep takes 20 central command hours now which is only given by the …
SirNightKnight Oct 22, 2024
c6c0c2f
Merge branch 'master' of https://github.com/Monkestation/Monkestation…
SirNightKnight Oct 25, 2024
fe66217
fuck dmi conflicts
SirNightKnight Oct 25, 2024
cc480ac
QRS
SirNightKnight Oct 25, 2024
01a0669
oh fuck it's testmerged and this didnt make it in
SirNightKnight Oct 25, 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
1 change: 1 addition & 0 deletions code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@

#define JOB_DISPLAY_ORDER_ASSISTANT 1
#define JOB_DISPLAY_ORDER_CAPTAIN 2
#define JOB_DISPLAY_ORDER_NANOTRASEN_REPRESENTATIVE 2.25 //monkestation edit: nanotrasen representative
#define JOB_DISPLAY_ORDER_BLUESHIELD 2.5 // monkestation edit: blueshield
#define JOB_DISPLAY_ORDER_HEAD_OF_PERSONNEL 3
#define JOB_DISPLAY_ORDER_BARTENDER 4
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/~monkestation/dcs/signals/signals_component.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/// From base of /datum/component/proc/crank_gun/gun_crank(): (user)
#define COMSIG_GUN_CRANKED "gun_cranked"
#define COMSIG_GUN_CRANKING "gun_cranking"
1 change: 1 addition & 0 deletions code/__DEFINES/~monkestation/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@

#define JOB_SIGNAL_TECHNICIAN "Signal Technician"

#define JOB_NANOTRASEN_REPRESENTATIVE "Nanotrasen Representative"
/// Whether this job is enabled/disabled by the spooktober config
#define JOB_SPOOKTOBER (1<<16)
3 changes: 3 additions & 0 deletions code/datums/components/gun_crank.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,13 @@
COOLDOWN_START(src, charge_sound_cooldown, charge_sound_cooldown_time)
playsound(source, charge_sound, 40)
source.balloon_alert(user, "charging...")
SEND_SIGNAL(source, COMSIG_GUN_CRANKING, user) // monkestation edit
if(!do_after(user, cooldown_time, source, interaction_key = DOAFTER_SOURCE_CHARGE_GUNCRANK))
is_charging = FALSE
return
charging_cell.give(charge_amount)
source.update_appearance()
is_charging = FALSE
SEND_SIGNAL(source, COMSIG_GUN_CRANKED, user) // monkestation edit
source.balloon_alert(user, "charged")

1 change: 1 addition & 0 deletions code/game/machinery/computer/crew.dm
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
JOB_ERT_DEATHSQUAD = 227,
JOB_NT_REP = 230,
JOB_BLUESHIELD = 231,
JOB_NANOTRASEN_REPRESENTATIVE = 230,

// ANYTHING ELSE = UNKNOWN_JOB_ID, Unknowns/custom jobs will appear after civilians, and before assistants
JOB_PRISONER = 998,
Expand Down
Binary file modified icons/mob/landmarks.dmi
Binary file not shown.
114 changes: 114 additions & 0 deletions monkestation/code/modules/NTrep/NTrep.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
/datum/job/nanotrasen_representative
title = JOB_NANOTRASEN_REPRESENTATIVE
description = "Ensure company interests and Standard Operating Procedure is upheld onboard the station, and get out as soon as you can when it inevitably falls apart."
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
department_head = list("CentCom")
faction = FACTION_STATION
total_positions = 1
spawn_positions = 1
supervisors = "Central Command"
req_admin_notify = 1
minimal_player_age = 30
exp_requirements = 3000
exp_required_type = EXP_TYPE_CREW
exp_required_type_department = EXP_TYPE_CENTRAL_COMMAND
exp_granted_type = EXP_TYPE_CREW
config_tag = "NANOTRASEN_REPRESENTATIVE"

allow_bureaucratic_error = FALSE
allow_overflow = FALSE

outfit = /datum/outfit/job/nanotrasen_representative
plasmaman_outfit = /datum/outfit/plasmaman/centcom_official

paycheck = PAYCHECK_COMMAND
paycheck_department = ACCOUNT_CMD

liver_traits = list(TRAIT_PRETENDER_ROYAL_METABOLISM)

display_order = JOB_DISPLAY_ORDER_NANOTRASEN_REPRESENTATIVE
bounty_types = CIV_JOB_BASIC
departments_list = list(
/datum/job_department/central_command,
/datum/job_department/command,
)

family_heirlooms = list(/obj/item/pen/fountain, /obj/item/lighter, /obj/item/reagent_containers/cup/glass/flask)

mail_goodies = list(
/obj/item/pen/fountain = 30,
/obj/item/food/moonfish_caviar = 25,
/obj/item/clothing/mask/cigarette/cigar/havana = 20,
/obj/item/storage/fancy/cigarettes/cigars/havana = 15,
/obj/item/reagent_containers/cup/glass/bottle/champagne = 15,
/obj/item/reagent_containers/cup/glass/bottle/champagne/cursed = 5,
)
exclusive_mail_goodies = TRUE
rpg_title = "Diplomat"
job_flags = STATION_JOB_FLAGS | JOB_BOLD_SELECT_TEXT | JOB_CANNOT_OPEN_SLOTS

voice_of_god_power = 1.4 //Command staff has authority

alt_titles = list(
"Corporate Liaison",
"Nanotrasen Fax Operater",
"Nanotrasen Official",
"Nanotrasen Informant",
)
job_tone = "incoming message"

/datum/outfit/job/nanotrasen_representative
name = "Nanotrasen Representative"
jobtype = /datum/job/nanotrasen_representative
id = /obj/item/card/id/advanced/centcom
id_trim = /datum/id_trim/job/nanotrasen_representative
uniform = /obj/item/clothing/under/rank/centcom/nanotrasen_representative
suit = /obj/item/clothing/suit/armor/vest/nanotrasen_representative
head = /obj/item/clothing/head/hats/nanotrasen_representative
backpack_contents = list(
/obj/item/stamp/centcom = 1,
/obj/item/melee/baton/telescopic = 1,
/obj/item/folder/blue = 1,
)
belt = /obj/item/gun/energy/laser/plasmacore
shoes = /obj/item/clothing/shoes/laceup
l_pocket = /obj/item/pen/fountain
r_pocket = /obj/item/modular_computer/pda/heads
l_hand = /obj/item/storage/secure/briefcase/cash
glasses = /obj/item/clothing/glasses/sunglasses
ears = /obj/item/radio/headset/headset_cent
gloves = /obj/item/clothing/gloves/color/black
shoes = /obj/item/clothing/shoes/laceup

chameleon_extras = list(
/obj/item/gun/energy/laser/plasmacore,
/obj/item/stamp/centcom,
)

implants = list(/obj/item/implant/mindshield)
pda_slot = ITEM_SLOT_RPOCKET
skillchips = list(
/obj/item/skillchip/disk_verifier,
)

/datum/id_trim/job/nanotrasen_representative
assignment = "Nanotrasen Representative"
trim_state = "trim_centcom"
department_color = COLOR_CENTCOM_BLUE
subdepartment_color = COLOR_CENTCOM_BLUE
sechud_icon_state = SECHUD_CENTCOM
minimal_access = list(
ACCESS_BRIG_ENTRANCE,
ACCESS_COMMAND,
ACCESS_MAINT_TUNNELS,
ACCESS_WEAPONS,
ACCESS_CENT_GENERAL,
ACCESS_CENT_LIVING,
)
extra_access = list(
ACCESS_BAR,
)
template_access = list(
)
job = /datum/job/nanotrasen_representative

15 changes: 15 additions & 0 deletions monkestation/code/modules/NTrep/NTrep_locker.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/obj/structure/closet/secure_closet/nanotrasen_representative
name = "Nanotrasen representative's locker"
req_access = list(ACCESS_CENT_GENERAL)
icon_state = "cc"
icon = 'monkestation/code/modules/blueshift/icons/obj/closet.dmi'

/obj/structure/closet/secure_closet/nanotrasen_representative/PopulateContents()
..()
new /obj/item/storage/bag/garment/stolen(src)
new /obj/item/storage/backpack/satchel/leather(src)
new /obj/item/storage/photo_album/personal(src)
new /obj/item/assembly/flash(src)
new /obj/item/bedsheet/centcom(src)
new /obj/item/storage/bag/garment/nanotrasen_representative(src)
new /obj/item/circuitboard/machine/fax(src)
3 changes: 3 additions & 0 deletions monkestation/code/modules/NTrep/NTrep_spawn.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/obj/effect/landmark/start/nanotrasen_representative
name = "Nanotrasen Representative"
icon_state = "Nanotrasen Representative"
92 changes: 92 additions & 0 deletions monkestation/code/modules/NTrep/clothing/NTrep_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
/obj/item/clothing/under/rank/centcom/nanotrasen_representative
name = "representative's suit"
desc = "Worn by those who work for the company. But don't let that fool you, they are pretty okay."
inhand_icon_state = "dg_suit"
icon = 'monkestation/icons/obj/clothing/jobs/nanotrasen_representative_clothing_item.dmi'
worn_icon = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing.dmi'
worn_icon_digitigrade = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing-digi.dmi'
icon_state = "representative_jumpsuit"
can_adjust = FALSE


/obj/item/clothing/under/rank/centcom/nanotrasen_representative/skirt
name = "representative's suitskirt"
desc = "Worn by those who work for the company. But don't let that fool you, they are pretty okay."
inhand_icon_state = "dg_suit"
icon = 'monkestation/icons/obj/clothing/jobs/nanotrasen_representative_clothing_item.dmi'
worn_icon = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing.dmi'
icon_state = "representative_jumpskirt"
body_parts_covered = CHEST|GROIN|ARMS
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON

/obj/item/clothing/head/hats/nanotrasen_representative
name = "representative's hat"
desc = "Born to be obsessive and snotty."
icon = 'monkestation/icons/obj/clothing/jobs/nanotrasen_representative_clothing_item.dmi'
worn_icon = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing.dmi'
icon_state = "representative_hat"

/obj/item/clothing/suit/armor/vest/nanotrasen_representative
name = "representative's armored vest"
desc = "The pen is mightier than the sword but a sword still hurts."
icon = 'monkestation/icons/obj/clothing/jobs/nanotrasen_representative_clothing_item.dmi'
worn_icon = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing.dmi'
icon_state = "representative_vest"

/obj/item/clothing/suit/armor/vest/nanotrasen_representative/Initialize(mapload)
. = ..()
AddComponent(/datum/component/toggle_icon)


/obj/item/clothing/suit/armor/vest/nanotrasen_representative/bathrobe
name = "representative's bathrobe"
desc = "For those who are lazy and fit right in this time and place."
inhand_icon_state = "dg_suit"
icon = 'monkestation/icons/obj/clothing/jobs/nanotrasen_representative_clothing_item.dmi'
worn_icon = 'monkestation/icons/mob/clothing/jobs/nanotrasen_representative_clothing.dmi'
icon_state = "representative_bathrobe"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
armor_type = /datum/armor/nanotrasen_representative_bathrobe

/datum/armor/nanotrasen_representative_bathrobe
melee = 25
bullet = 10
energy = 10
bomb = 10
fire = -10 //more flammable
acid = 10
wound = 10

/obj/item/storage/secure/briefcase/cash
// LOADSAMONEY
/obj/item/storage/secure/briefcase/cash/PopulateContents()
..()
for(var/iterator in 1 to 5)
new /obj/item/stack/spacecash/c500(src)

/obj/item/storage/bag/garment/nanotrasen_representative
name = "representative's garment bag"
desc = "A bag for storing extra clothes and shoes. This one belongs to the Nanotrasen representative."

/obj/item/storage/bag/garment/nanotrasen_representative/PopulateContents()
new /obj/item/clothing/under/rank/centcom/nanotrasen_representative(src)
new /obj/item/clothing/under/rank/centcom/nanotrasen_representative/skirt(src)
new /obj/item/clothing/head/hats/nanotrasen_representative(src)
new /obj/item/clothing/suit/armor/vest/nanotrasen_representative/bathrobe(src)
new /obj/item/clothing/suit/armor/vest/nanotrasen_representative(src)
new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/shoes/laceup(src)

/obj/item/storage/bag/garment/stolen
name = "stolen garment bag"
desc = "Somewhere a CentCom commander is livid about their drycleaning going missing."

/obj/item/storage/bag/garment/stolen/PopulateContents()
new /obj/item/clothing/head/hats/centhat(src)
new /obj/item/clothing/under/rank/centcom/commander(src)
new /obj/item/clothing/suit/armor/centcom_formal(src)
new /obj/item/clothing/gloves/tackler/combat(src)
new /obj/item/clothing/shoes/laceup(src)



49 changes: 49 additions & 0 deletions monkestation/code/modules/NTrep/coolgun/plasmacore.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/obj/item/gun/energy/laser/plasmacore
name = "PlasmaCore-6e"
desc = "The PlasmaCore-6e is the newest gun in Nanotrasen's cutting edge line of laser weaponry. Featuring an experimental plasma based cell that can be mechanically recharged. Glory to Nanotrasen."
icon = 'monkestation/icons/obj/weapons/guns/plasmacoresixe.dmi'
icon_state = "plasma_core_six"
charge_sections = 6
cell_type = /obj/item/stock_parts/cell/plasmacore
w_class = WEIGHT_CLASS_NORMAL
ammo_type = list(/obj/item/ammo_casing/energy/laser/hellfire)
can_charge = FALSE
verb_say = "states"
var/cranking = FALSE


/obj/item/gun/energy/laser/plasmacore/Initialize(mapload)
. = ..()
AddComponent( \
/datum/component/gun_crank, \
charging_cell = get_cell(), \
charge_amount = 100, \
cooldown_time = 1.5 SECONDS, \
charge_sound = 'sound/weapons/laser_crank.ogg', \
charge_sound_cooldown_time = 1.3 SECONDS, \
)
mutable_appearance(icon, "plasma_core_six_cell_backwards")
RegisterSignal(src, COMSIG_GUN_CRANKING, PROC_REF(on_cranking))
RegisterSignal(src, COMSIG_GUN_CRANKED, PROC_REF(on_cranked))

/obj/item/gun/energy/laser/plasmacore/proc/on_cranking(datum/source, mob/user)
cranking = TRUE
update_icon(UPDATE_OVERLAYS)

/obj/item/gun/energy/laser/plasmacore/proc/on_cranked(datum/source, mob/user)
SIGNAL_HANDLER
if(cell.charge == cell.maxcharge)
say("Glory to Nanotrasen")
cranking = FALSE
update_icon(UPDATE_OVERLAYS)

/obj/item/gun/energy/laser/plasmacore/update_overlays()
. = ..()
. += "plasma_core_six_cell_[cranking ? "forwards" : "backwards"]"

/obj/item/stock_parts/cell/plasmacore
name = "PlasmaCore-6e experimental cell"
maxcharge = 600 //same as the secborg cell but i'm not reusing that here
icon = 'icons/obj/power.dmi'
icon_state = "icell"
custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*0.4, /datum/material/plasma=SMALL_MATERIAL_AMOUNT)
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ GLOBAL_DATUM_INIT(blueshield_crewmonitor, /datum/crewmonitor/blueshield, new)
JOB_ERT_CHAPLAIN = 225,
JOB_ERT_JANITOR = 226,
JOB_ERT_DEATHSQUAD = 227,
JOB_NT_REP = 230,
JOB_NANOTRASEN_REPRESENTATIVE = 230,
JOB_BLUESHIELD = 231,
)

Expand Down
2 changes: 1 addition & 1 deletion monkestation/code/modules/blueshield/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
faction = FACTION_STATION
total_positions = 1
spawn_positions = 1
supervisors = "the Heads of Staff"
supervisors = "the Nanotrasen Representative and Central Command"
minimal_player_age = 30
exp_requirements = 7200
exp_required_type = EXP_TYPE_CREW
Expand Down
2 changes: 1 addition & 1 deletion monkestation/code/modules/blueshift/areas/station.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

// NT Consultant area
/area/station/command/heads_quarters/nt_rep
name = "Nanotrasen Consultant's Office"
name = "Nanotrasen Representative's Office"
icon = 'monkestation/code/modules/blueshift/icons/areas/areas_station.dmi'
icon_state = "nt_rep"

Expand Down
10 changes: 5 additions & 5 deletions monkestation/code/modules/blueshift/structures/locker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@

/obj/structure/closet/secure_closet/nanotrasen_consultant
name = "nanotrasen consultant's locker"
req_access = list(ACCESS_CAPTAIN)
req_access = list(ACCESS_CENT_GENERAL)
icon_state = "cc"
icon = 'monkestation/code/modules/blueshift/icons/obj/closet.dmi'

/obj/structure/closet/secure_closet/nanotrasen_consultant/PopulateContents()
..()
new /obj/item/storage/bag/garment/stolen(src)
new /obj/item/storage/backpack/satchel/leather(src)
new /obj/item/clothing/neck/petcollar(src)
new /obj/item/pet_carrier(src)
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/computer_disk/command/captain(src)
new /obj/item/storage/photo_album/personal(src)
new /obj/item/assembly/flash(src)
new /obj/item/bedsheet/centcom(src)
new /obj/item/storage/bag/garment/nanotrasen_representative(src)
new /obj/item/circuitboard/machine/fax(src)

/obj/structure/closet/preopen
opened = TRUE
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
restricted_roles = list(
JOB_AI,
JOB_CAPTAIN,
JOB_NANOTRASEN_REPRESENTATIVE,
JOB_BLUESHIELD,
JOB_CHAPLAIN,
JOB_CYBORG,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
antag_datum = /datum/antagonist/bloodsucker
protected_roles = list(
JOB_CAPTAIN,
JOB_NANOTRASEN_REPRESENTATIVE,
JOB_BLUESHIELD,
JOB_HEAD_OF_PERSONNEL,
JOB_CHIEF_ENGINEER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
protected_roles = list(
JOB_CAPTAIN,
JOB_BLUESHIELD,
JOB_NANOTRASEN_REPRESENTATIVE,
JOB_HEAD_OF_PERSONNEL,
JOB_CHIEF_ENGINEER,
JOB_CHIEF_MEDICAL_OFFICER,
Expand Down
Loading
Loading