Skip to content

Commit

Permalink
Fix apc.dm, change prefix ships.
Browse files Browse the repository at this point in the history
Add old merge - [Needs Testmerge] Guestbook, from Mojave Sun (shiptest-ss13#2770)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

This thing sucks to port, I'm going to be real with you.

TODO:
* [x] Make it sort of work
* [x] Fix an error where adding a guest name doesn't work
* [ ] ~~Make it so reading IDs only work at close range~~ out of scope
* [x] Make it so you automatically know your ship's crewmates ~~and
captains know other faction members~~
* [x] Something with ERTs
* [ ] ~~Make the guestbook save across rounds~~ asked to not

![imagen](https://github.com/shiptest-ss13/Shiptest/assets/75212565/8943246e-145d-44b2-8284-3539fb09b565)

![imagen](https://github.com/shiptest-ss13/Shiptest/assets/75212565/8966bff4-8688-466e-88fa-2d73f71d2572)

![imagen](https://github.com/shiptest-ss13/Shiptest/assets/75212565/24e680be-e994-4aed-af3e-f4333d9b4a8d)

This pull request ports the following:
* Mojave-Sun/mojave-sun-13#2415
* Mojave-Sun/mojave-sun-13#2433

These PRs change how examining someone works. You have to walk up to
someone and remember their face in order to recognize their voice. Names
will still be displayed with people's IDs

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
* The current anonymity system sucks for stealthy shit. You immediately
know someone's real name. An improved system allows for more roleplay
possibilities.
* Kansatsu is more reliable.
* You can rob people with a knife and a balaclava at the outpost, and
they won't know who you are!

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->
:cl:
tweak: Identification Cards are now Access Cards. The only real
difference is that your name only shows up on a double examine.
refactor: Anonymous mechanics. Characters no longer instantly recognize
each other, and need to properly memorize each other in order. You can
recognize an unmasked person by ctrl-shift-clicking them.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Signed-off-by: meem <[email protected]>
Signed-off-by: Mark Suckerberg <[email protected]>
Co-authored-by: Mark Suckerberg <[email protected]>
Co-authored-by: goober3 <[email protected]>
  • Loading branch information
3 people authored and MysticalFaceLesS committed Jun 3, 2024
1 parent 2c6c114 commit 8522865
Show file tree
Hide file tree
Showing 51 changed files with 765 additions and 298 deletions.
34 changes: 22 additions & 12 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -224,19 +224,29 @@
#define COMSIG_LIVING_GET_PULLED "living_start_pulled"

/////////////////

#define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
#define COMSIG_EXIT_AREA "exit_area" //from base of area/Exited(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.

#define COMSIG_CLICK "atom_click" //from base of atom/Click(): (location, control, params, mob/user)
#define COMSIG_CLICK_SHIFT "shift_click" //from base of atom/ShiftClick(): (/mob)
#define COMPONENT_ALLOW_EXAMINATE 1 //Allows the user to examinate regardless of client.eye.
#define COMSIG_CLICK_CTRL "ctrl_click" //from base of atom/CtrlClickOn(): (/mob)
#define COMSIG_CLICK_ALT "alt_click" //from base of atom/AltClick(): (/mob)
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" //from base of atom/CtrlShiftClick(/mob)
#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto" //from base of atom/MouseDrop(): (/atom/over, /mob/user)
//from base of area/Entered(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
#define COMSIG_ENTER_AREA "enter_area"
//from base of area/Exited(): (/area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
#define COMSIG_EXIT_AREA "exit_area"
//from base of atom/Click(): (location, control, params, mob/user)
#define COMSIG_CLICK "atom_click"
//from base of atom/ShiftClick(): (/mob)
#define COMSIG_CLICK_SHIFT "shift_click"
//Allows the user to examinate regardless of client.eye.
#define COMPONENT_ALLOW_EXAMINATE 1
//from base of atom/CtrlClickOn(): (/mob)
#define COMSIG_CLICK_CTRL "ctrl_click"
//from base of atom/AltClick(): (/mob)
#define COMSIG_CLICK_ALT "alt_click"
//from base of atom/CtrlShiftClick(/mob)
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click"
///from base of atom/CtrlShiftRightClick(/mob)
#define COMSIG_CLICK_CTRL_SHIFT_RIGHT "ctrl_shift_right_click"
//from base of atom/MouseDrop(): (/atom/over, /mob/user)
#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto"
#define COMPONENT_NO_MOUSEDROP 1
#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto" //from base of atom/MouseDrop_T: (/atom/from, /mob/user)
//from base of atom/MouseDrop_T: (/atom/from, /mob/user)
#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto"

///from base of area/proc/power_change(): ()
#define COMSIG_AREA_POWER_CHANGE "area_power_change"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@
#define SHADOW_SPECIES_LIGHT_THRESHOLD 0.2

//MINOR TWEAKS/MISC
#define AGE_MIN 17 //youngest a character can be
#define AGE_MIN 18 //youngest a character can be
#define AGE_MAX 85 //oldest a character can be
#define AGE_MINOR 20 //legal age of space drinking and smoking
#define WIZARD_AGE_MIN 30 //youngest a wizard can be
Expand Down
2 changes: 1 addition & 1 deletion code/__HELPERS/_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#define LAZYCLEARLIST(L) if(L) L.Cut()
#define SANITIZE_LIST(L) (islist(L) ? L : list())
#define reverseList(L) reverseRange(L.Copy())
#define LAZYADDASSOC(L, K, V) if(!L) { L = list(); } L[K] += list(V);
#define LAZYADDASSOC(L, K, V) if(!L) { L = list(); } L[K] += V;
#define LAZYADDASSOCLIST(L, K, V) if(!L) { L = list(); } L[K] += list(V);
#define LAZYREMOVEASSOC(L, K, V) if(L) { if(L[K]) { L[K] -= V; if(!length(L[K])) L -= K; } if(!length(L)) L = null; }
#define LAZYACCESSASSOC(L, I, K) L ? L[I] ? L[I][K] ? L[I][K] : null : null : null
Expand Down
6 changes: 6 additions & 0 deletions code/__HELPERS/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,12 @@ GLOBAL_LIST_INIT(skin_tones, sortList(list(
"african2"
)))

/proc/pick_species_adjective(mob/living/carbon/human/H)
if(isipc(H))
return pick(GLOB.ipc_preference_adjectives)
else
return pick(GLOB.preference_adjectives)

GLOBAL_LIST_EMPTY(species_list)

/proc/age2agedescription(age)
Expand Down
145 changes: 47 additions & 98 deletions code/__HELPERS/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -237,106 +237,55 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex)
else
. += ", "

#define FACTION_SYNDICATE "Syndicate"
#define FACTION_NGR "New Gorlex Republic"
#define FACTION_CYBERSUN "CyberSun"
#define FACTION_SUNS "Student-Union of Naturalistic Sciences"
#define FACTION_SOLGOV "SolGov"
#define FACTION_SRM "Saint-Roumain Militia"
#define FACTION_INTEQ "Inteq Risk Management Group"
#define FACTION_CLIP "CLIP Minutemen"
#define FACTION_NT "Nanotrasen"
#define FACTION_NS_LOGI "N+S Logistics"
#define FACTION_VIGILITAS "Vigilitas Interstellar"
#define FACTION_FRONTIER "Frontiersmen Fleet"
#define FACTION_PGF "Pan-Gezenan Federation"
#define FACTION_INDEPENDENT "Independent"

#define PREFIX_SYNDICATE list("SEV", "SSV")
#define PREFIX_NGR list("NGRV")
#define PREFIX_CYBERSUN list("CSSV")
#define PREFIX_SUNS list("SUNS")
#define PREFIX_SOLGOV list("SCSV")
#define PREFIX_SRM list("SRSV")
#define PREFIX_INTEQ list("IRMV")
#define PREFIX_CLIP list("CMSV", "CMGSV")
#define PREFIX_NT list("NTSV")
#define PREFIX_NS_LOGI list("NSSV")
#define PREFIX_VIGILITAS list("VISV")
#define PREFIX_FRONTIER list("FFV")
#define PREFIX_PGF list("PGF", "PGFMC", "PGFN")
#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV")
// [CELADON-REMOVE] - PREFIXES - (Перемещено в code/__DEFINES/~mods/prefixes.dm)
// #define FACTION_SYNDICATE "Syndicate"
// #define FACTION_NGR "New Gorlex Republic"
// #define FACTION_CYBERSUN "CyberSun"
// #define FACTION_SUNS "Student-Union of Naturalistic Sciences"
// #define FACTION_SOLGOV "SolGov"
// #define FACTION_SRM "Saint-Roumain Militia"
// #define FACTION_INTEQ "Inteq Risk Management Group"
// #define FACTION_CLIP "CLIP Minutemen"
// #define FACTION_NT "Nanotrasen"
// #define FACTION_NS_LOGI "N+S Logistics"
// #define FACTION_VIGILITAS "Vigilitas Interstellar"
// #define FACTION_FRONTIER "Frontiersmen Fleet"
// #define FACTION_PGF "Pan-Gezenan Federation"
// #define FACTION_INDEPENDENT "Independent"

// #define PREFIX_SYNDICATE list("SEV", "SSV")
// #define PREFIX_NGR list("NGRV")
// #define PREFIX_CYBERSUN list("CSSV")
// #define PREFIX_SUNS list("SUNS")
// #define PREFIX_SOLGOV list("SCSV")
// #define PREFIX_SRM list("SRSV")
// #define PREFIX_INTEQ list("IRMV")
// #define PREFIX_CLIP list("CMSV", "CMGSV")
// #define PREFIX_NT list("NTSV")
// #define PREFIX_NS_LOGI list("NSSV")
// #define PREFIX_VIGILITAS list("VISV")
// #define PREFIX_FRONTIER list("FFV")
// #define PREFIX_PGF list("PGF", "PGFMC", "PGFN")
// #define PREFIX_INDEPENDENT list("SV", "IMV", "ISV")

/// List of all ship factions to their prefixes.
/* GLOBAL_LIST_INIT(ship_faction_to_prefixes, list(
"Syndicate" = list(
"SEV",
"SSV",
),
"New Gorlex Republic" = list(
"NGRV",
),
"CyberSun" = list(
"CSSV",
),
"Student-Union of Naturalistic Sciences" = list(
"SUNS",
),
"SolGov" = list(
"SCSV",
),
"Saint-Roumain Militia" = list(
"SRSV",
),
"Independent" = list(
"SV",
"IMV",
"ISV",
"XSV",
),
"Inteq Risk Management Group" = list(
"IRMV",
),
"CLIP Minutemen" = list(
"CMSV",
"CMGSV",
),
"CLIP Government" = list(
"LGSV",
"CGSV",
),
"Nanotrasen" = list(
"NTSV",
),
"N+S Logistics" = list(
"NSSV",
),
"Vigilitas Interstellar" = list(
"VISV",
),
"Frontiersmen Fleet" = list(
"FFV",
),
"Saint-Roumaine Militia" = list(
"SRSV",
),
)) */
GLOBAL_LIST_INIT(ship_faction_to_prefixes, list(
FACTION_SYNDICATE = PREFIX_SYNDICATE,
FACTION_NGR = PREFIX_NGR,
FACTION_CYBERSUN = PREFIX_CYBERSUN,
FACTION_SUNS = PREFIX_SUNS,
FACTION_SOLGOV = PREFIX_SOLGOV,
FACTION_SRM = PREFIX_SRM,
FACTION_INTEQ = PREFIX_INTEQ,
FACTION_CLIP = PREFIX_CLIP,
FACTION_NT = PREFIX_NT,
FACTION_NS_LOGI = PREFIX_NS_LOGI,
FACTION_VIGILITAS = PREFIX_VIGILITAS,
FACTION_FRONTIER = PREFIX_FRONTIER,
FACTION_PGF = PREFIX_PGF,
FACTION_INDEPENDENT = PREFIX_INDEPENDENT
))
// GLOBAL_LIST_INIT(ship_faction_to_prefixes, list(
// FACTION_SYNDICATE = PREFIX_SYNDICATE,
// FACTION_NGR = PREFIX_NGR,
// FACTION_CYBERSUN = PREFIX_CYBERSUN,
// FACTION_SUNS = PREFIX_SUNS,
// FACTION_SOLGOV = PREFIX_SOLGOV,
// FACTION_SRM = PREFIX_SRM,
// FACTION_INTEQ = PREFIX_INTEQ,
// FACTION_CLIP = PREFIX_CLIP,
// FACTION_NT = PREFIX_NT,
// FACTION_NS_LOGI = PREFIX_NS_LOGI,
// FACTION_VIGILITAS = PREFIX_VIGILITAS,
// FACTION_FRONTIER = PREFIX_FRONTIER,
// FACTION_PGF = PREFIX_PGF,
// FACTION_INDEPENDENT = PREFIX_INDEPENDENT
// ))
// [CELADON-REMOVE]

/proc/ship_prefix_to_faction(prefix)
for(var/faction in GLOB.ship_faction_to_prefixes)
Expand Down
2 changes: 2 additions & 0 deletions code/_globalvars/lists/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt"))
GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt"))
GLOBAL_LIST_INIT(adverbs, world.file2list("strings/names/adverbs.txt"))
GLOBAL_LIST_INIT(adjectives, world.file2list("strings/names/adjectives.txt"))
GLOBAL_LIST_INIT(preference_adjectives, world.file2list("strings/preference_adjectives.txt"))
GLOBAL_LIST_INIT(ipc_preference_adjectives, world.file2list("strings/ipc_preference_adjectives.txt"))
GLOBAL_LIST_INIT(dream_strings, world.file2list("strings/dreamstrings.txt"))
//loaded on startup because of "
//would include in rsc if ' was used
Expand Down
1 change: 0 additions & 1 deletion code/_onclick/click.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,6 @@

/**
* Control+Shift click
* Unused except for AI
*/
/mob/proc/CtrlShiftClickOn(atom/A)
A.CtrlShiftClick(src)
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/pai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ SUBSYSTEM_DEF(pai)
continue
if(!(ROLE_PAI in G.client.prefs.be_special))
continue
to_chat(G, "<span class='ghostalert'>[user] is requesting a pAI personality! Use the pAI button to submit yourself as one.</span>")
to_chat(G, "<span class='ghostalert'>[user.real_name] is requesting a pAI personality! Use the pAI button to submit yourself as one.</span>")
addtimer(CALLBACK(src, PROC_REF(spam_again)), spam_delay)
var/list/available = list()
for(var/datum/paiCandidate/c in SSpai.candidates)
Expand Down
1 change: 0 additions & 1 deletion code/controllers/subsystem/traumas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/under/rank/command/head_of_personnel, /obj/item/clothing/under/rank/rnd/research_director,
/obj/item/clothing/under/rank/security/head_of_security/alt,
/obj/item/clothing/under/rank/rnd/research_director/alt, /obj/item/clothing/under/rank/rnd/research_director/turtleneck,
/obj/item/clothing/under/rank/command/captain/parade,
/obj/item/clothing/under/rank/security/head_of_security/parade,
/obj/item/clothing/under/rank/security/head_of_security/parade/female, //WS Edit - Better Command Uniforms
/obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/melee/baton/abductor,
Expand Down
2 changes: 1 addition & 1 deletion code/datums/chatmessage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
message.maptext = complete_text

// View the message
LAZYADDASSOC(owned_by.seen_messages, message_loc, src)
LAZYADDASSOCLIST(owned_by.seen_messages, message_loc, src)
owned_by.images |= message
animate(message, alpha = 255, time = CHAT_MESSAGE_SPAWN_TIME)

Expand Down
Loading

0 comments on commit 8522865

Please sign in to comment.