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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPC Booze and their ability to drink. #3664

Merged
merged 14 commits into from
Feb 24, 2016
Merged

IPC Booze and their ability to drink. #3664

merged 14 commits into from
Feb 24, 2016

Conversation

FlattestGuitar
Copy link
Contributor

馃啈
rscadd: Adds IPC alcohol and a few derivative drinks
tweak: IPCs can now drink and be fed from glasses
/:cl:

This will make deconverting IPC cultists just that short trip to brig medbay easier, so there's your balance change.

Considering IPCs can already be fed using droppers, there isn't much sense in making it impossible for them to drink from glasses.

Currently alkasine can be found in cans in a booze-o-mat or made by combining space lube, welding fuel and plasma.

Alkasine functions similarly to normal alcohol, with a few differences:

  • an IPC can't pass out, they'll just use the 'collapse' emote from time to time if they're really drunk,
  • they'll take small amounts of brain damage if really drunk, to discourage chugging a few glasses of the stuff at once,
  • they'll spark, because it's fun

how2Markdown

...enjoy?

Notes on the code: I wasn't sure how to take care of the IPCs drinking, as there's the check_has_mouth() proc that works on many more things than just IPCs, plus it's also used for food and pills. I've just added an if statement that goes through with drinking if it's a Machine. How bad is that?

@TheeErikos
Copy link

馃嵑 X 100 = 馃憤

@TullyBurnalot
Copy link
Contributor

My one gripe is, how exactly are you supposed to feed something with a glass when that something has no mouth?

Splash it on the monitor?

@FlattestGuitar
Copy link
Contributor Author

Using the droppers to feed an IPC is described as splashing the liquid on their eyes. The same eyes that are located behind the glass screen inside their head.

Officially my code says it's "pouring it into a connection port" so I guess that's how.

@Regen1
Copy link
Contributor

Regen1 commented Feb 21, 2016

uhm, seems okay, but what if an organic drinks this?
Shouldn't there be some sort of effect for them

@TullyBurnalot
Copy link
Contributor

Maybe some amount of Toxin damage? Seeing as something like this should rightfully be toxic to organics.

EDIT: Connector port seems alright, maybe make it take 1-2 seconds to pour it in?

// WOOO!


/datum/reagent/alkasine //Gloriously copied over from ethanol
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this level of copy-pasta...yeah, that's not going to fly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, there's a lot of stuff changed in relation to ethanol, not sure what else I should have done here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Fox-McCloud , what do you mean by this? Should anything specific be changed?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better if you just used a subtype of ethanol that could be processed by synthetics.

Also, I don't recommend the name Alkasine---it's realllllyyy close to Alkysine, an old reagent that cured brain damage (and a StarTrek chem). A name that has zero associations with old chems would be best, to avoid confusion to players (especially ones migrating over from Bay codebases).

@FlattestGuitar
Copy link
Contributor Author

I was thinking about it, but considering many people won't notice a drink isn't for organics, this might lead to a massive amount of people with toxic damage at medbay. I'd hold off on that for now. As it stands there are absolutely no effects of this on an organic as the reagent won't metabolise.

@ScratKnapp
Copy link

"they'll take small amounts of brain damage if really drunk, to discourage chugging a few glasses of the stuff at once,"

How will they repair it when normal meds dont work?

@FlattestGuitar
Copy link
Contributor Author

Liquid solder works like mannitol on IPCs, plus you can use nanopaste or a screwdriver to perform organ repair surgery. This is pretty standard stuff.

user << "Where do you intend to put \the [src]? You don't have a mouth!"
return
else
M << "\blue You pour a bit of liquid from [src] into your connection port."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spans

@Fox-McCloud Fox-McCloud added the Feature This PR is a new addition to the game label Feb 22, 2016
@Fox-McCloud
Copy link
Member

Another problem; this will allow IPCs to fill themselves up, completely, with various chems, then remove it from themselves when they want to, since IPCs don't process something like 99% of reagents. While this can technically be done with a dropper, it's insanely time consuming to do so, where as a glass is incredibly quick and trivial to do.

And before someone asks, yes, players were actively abusing that fact when it was still around.

@marlyn-x86
Copy link
Member

@Fox-McCloud The reagents still deplete, even if the processing flag doesn't match.

@Fox-McCloud
Copy link
Member

@Crazylemon64

Ahh! Thanks for correcting me.

@FalseIncarnate
Copy link
Contributor

Yea, I specifically made the reagents still filter out of the body even if they can't be processed, specifically to avoid IPCs loading up on like water or humans stacking liquid solder as an anti-chem defense, and to avoid people becoming full of reagents and requiring medbay to spend time hooking them up to dialysis in sleepers to clear the 330-ish reagents they can hold.

@FlattestGuitar
Copy link
Contributor Author

Now it's called Synthanol. A bit more cringey, but I was out of ideas and that's the best thing Discord was able to come up with.

@ghost
Copy link

ghost commented Feb 22, 2016

It's a cute name.

@FalseIncarnate
Copy link
Contributor

If you REALLY wanted to go for a Futurama reference, you could reverse the effects of antihol and ethanol for robots, where the booze "sobers" them up and the antihol renders them drunk messes.

But silliness aside, this addition is okay by me, though I probably won't drink it much on my characters. Personal preferences, nothing against the idea.

user << "Where do you intend to put \the [src]? You don't have a mouth!"
return
else
M << "<span class = 'notice'> You pour a bit of liquid from [src] into your connection port.</span>"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd change this to something like fuel or lubricant or liquid-intake port. Connector ports sound purely electronic like a VGA cable connection, and would not transfer liquids into the systems (or shouldn't, at least)

Synthanol is now a child of ethanol. Cheers!

// make all the synthanol children work together
for(var/datum/reagent/ethanol/synthanol/A in holder.reagent_list)
if(isnum(A.data)) d += A.data
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure everything above here is covered in parent. May want to test to be sure.

@@ -23,7 +23,7 @@
var/fillevel = gulp_size

if(!R.total_volume || !R)
user << "\red None of [src] left, oh no!"
user << "<span class = 'warning'> None of [src] left, oh no!</span>"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<span class='warning'> instead of <span class = 'warning'>, the spaces matter if you're trying to grep or mass-replace something, so everything must use no spaces to be consistent with span classes that are already present.

@FlattestGuitar
Copy link
Contributor Author

Coding hard.
Serves me right for using the GitHub editor.

Changed can to synthanol.
@Fox-McCloud
Copy link
Member

I...don't recommend using the github editor for coding.

@FlattestGuitar
Copy link
Contributor Author

Shhhh....

Nothing happened here.

@FlattestGuitar
Copy link
Contributor Author

There. I fixed all the issues @Fox-McCloud and @TheDZD found so far. Thanks for the sacrifice and reading all of my crappy code. 鉂わ笍


/datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien)

var/d = data
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this even needed since ethanol tracks it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It needs the d defined here, apparently. It's throwing compile errors if I remove it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, did you test it out to make sure that IPCs are actually collapsing, gaining drunken brawl, etc?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, just compiled the branch and tested to make sure. Everything works.

Fox-McCloud added a commit that referenced this pull request Feb 24, 2016
IPC Booze and their ability to drink.
@Fox-McCloud Fox-McCloud merged commit f97ee28 into ParadiseSS13:master Feb 24, 2016
TheDZD added a commit that referenced this pull request Feb 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature This PR is a new addition to the game
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants