-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Ports a character customization option: Quirks #28388
base: master
Are you sure you want to change the base?
Conversation
Reminder for my tomorrow self to add a semicolon to the end of the SQL statement |
I'd personally suggest removing or tweaking Foreigner, as NT Hiring an employee that cannot speak the company standard language doesn't make sense. |
Wake me up when the most optimized op build is found |
I like the idea. A bit barebones at the moment, but more stuff can be added later on. |
How does Freerunner effect people with CQC or the chef in bar/kitchen vaulting over things? |
CQC doesn't get table leap, but it decreases bartender/chef vault time from 0.5 seconds to 0.4 |
Can we let IPCs take Glutton anyway? They rarely become overweight, but when they do it's actually impossible to get rid of without having Robotics make them a new body to sleeve their brain into. All it takes is getting shocked to death, and then getting shocked a couple more times, and suddenly you have an obese IPC for the rest of the round. |
@@ -93,7 +94,7 @@ GLOBAL_DATUM_INIT(major_announcement, /datum/announcer, new(config_type = /datum | |||
if(!istype(M) || !M.client || M.stat || !M.can_hear()) | |||
receivers -= M | |||
continue | |||
if(!M.say_understands(null, message_language)) | |||
if(!force_translation && !M.say_understands(null, message_language)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you might want to modify this check in some way to make sure these force-translated announcements don't get heard by like xenomorphs or something. Maybe add/check a trait on mobs for it?
@@ -172,6 +172,22 @@ | |||
return TRUE | |||
return (!density) | |||
|
|||
/obj/structure/closet/Bumped(atom/movable/AM) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious if this would have any kind of weird interaction with shove_impact
@@ -218,6 +216,9 @@ | |||
if(broken) | |||
to_chat(user, "<span class='warning'>The crate appears to be broken.</span>") | |||
return FALSE | |||
if(user.loc == src) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but what if they have tk?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if they have TK, being able to accidentally lock yourself in a crate is a pretty miserable time. I'd rather force someone to need another player's help in getting completely stuck.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah, I wasn't really thinking about the locking side of things, moreso being able to unlock from inside.
desc = "You can't handle liquor very well, and get drunker quicker." | ||
cost = -1 | ||
alcohol_modifier = 1.3 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just for consistency```suggestion
/// If only organic characters can have it | ||
var/organic_only = FALSE | ||
/// If only IPC characters can have it | ||
var/machine_only = FALSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps a bitflag like
QUIRK_COMPATIBLE_ORGANIC = (1<<1)
QUIRK_COMPATIBLE_MACHINE = (1<<2)
And then just use one field and OR it
/// If this quirk needs to do something every life cycle | ||
var/processes = FALSE | ||
/// If this quirk applies a trait, what trait should be applied. | ||
var/trait_to_apply |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of these fields might make sense as lists for the future, in case you need to give them multiple traits, multiple organs, etc.
/datum/quirk/alcohol_tolerance | ||
var/alcohol_modifier = 1 | ||
|
||
/datum/quirk/alcohol_tolerance/apply_quirk_effects(mob/living/quirky) | ||
..() | ||
owner.physiology.alcohol_mod *= alcohol_modifier | ||
|
||
/datum/quirk/alcohol_tolerance/remove_quirk_effects() | ||
..() | ||
owner.physiology.alcohol_mod /= alcohol_modifier |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be moved out into one of the other quirks files
Lewc quick suggestions Co-authored-by: Luc <[email protected]> Signed-off-by: BiancaWilkson <[email protected]>
People already have characters that do this, or barely speak it, the only issue I could see with a quirk like this is not being able to understand and hear Galactic Common. Not being able to speak it is probably fine? |
What Does This PR Do
This PR adds a new section to the character creator, quirks. Quirks are additional traits you can apply to your character that can have more significant changes than something like the loadout. Everyone would have a quirk balance that starts at 0, and you can adjust what quirks your character has given that the balance never goes above 0. You'll have points subtracted for negative quirks, and points added for positive quirks.
Here's a full list of the quirks I'm initially adding, with the idea that there are plenty of examples to work off of. If one has a * by its name then you cannot take a security or command position with it.
### PositiveNegative
Why It's Good For The Game
I've always thought quirks were something that Para was really missing. They let you add just a little bit of mechanical backing to your characters' unique personality traits. I specifically tried to make it so adding new quirks would be easy, and prospective coders would have plenty of unique examples of what can be done.
Images of changes
Thank you Burza for doing most of the work in making this menu look good.

Testing
Whoo boy, a lot.
Saved/Loaded the quirk menu in a bunch of different ways and places until the JSON format was consistently converted correctly.
Tested asthma's thresholds for what might trigger a lethal asthma attack
Made sure items were spawned into the player's backpack correctly.
Made sure skittish worked with crates
Made sure organs were properly added/removed and it didn't deleted someone's lungs or something
Made sure that the list of quirks was being properly passed from character save to character
Made sure admin only commands added/removed quirks properly
A lot more I promise but it's getting late
Declaration
Changelog
🆑 Burza, Wilkson
add: Quirks, A new (to Paradise) character customization option for giving your spaceman unique traits at roundstart.
/:cl: