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

[Ready] More mutations #5411

Merged
merged 20 commits into from Jan 12, 2014

Conversation

Projects
None yet
5 participants
@KA101
Copy link
Contributor

commented Jan 5, 2014

Time to start expanding things.

This pass:
A needed upgrade to the debug-mutation code (it currently can't handle threshold-granting or post-threshold traits; this lets you grant/revoke thresholds manually)
The long-promised Ectothermic (like Cold-blooded, but now should grant bonus speed above 65F, needs Lizard)
Alpha gets a few more mundane traits to improve odds of getting Prime
Threshold safety-lock (no, it's not supposed to be a valid downgrade target)
Mutagen addiction, with Extra Bonus trait to make it nastier!
Post-threshold upgrade for Cattle: Ruminant->Grazer, letting you eat grass for minor (2 or 5) hunger boost
Restricts the Insanely stat-buffs to post-Threshold
Upgraded Masochist for the Medical category post-threshold
Pain-blocker for the Medical category post-threshold
Nastier venom for Arachnids (Yeah, I'll put in extra legs for 'em and for Insects once I work out what good they'd do)
Substance Tolerance, for those of us who don't mind less mileage per hit
Alcohol Metabolism, Subterranean boost (less Drunk, less Depressant, more Nutrition!)
Non-purifiable traits ought to resist not-in-category cancellation (75% chance to not be marked for deletion)
Enhanced statboosters for Prime folks
Cenobite lengthened out to a two-mutation run (total of three, counting Masochist); they now get noticeably lighter Pain debuffs (but they look horrid in the bargain, not that it matters much ATM)

Went through and apparently no actual merge conflicts with this. Whenever you're ready, I guess.

KA101 added some commits Jan 5, 2014

[WIP] More mutations
OK, so far the major gain here is the debug menu properly handling
Threshold mutations.  (It doesn't award the Thresholds since it emulates
natural mutation.  You'll need to cross manually, but it's free.)

Added an Ectothermic beyond Cold-Blooded: gives a speed bonus for temps
above 65F.  Should work BUT since based on ambient ATM (before fire,
lava etc.) I've not formally seen it work.

More forthcoming.
Alpha buff
As it was there wasn't much room to gain Prime.  Though that's
understandable (being a pinnacle of human potential isn't easy) there
ought to be some chance.  So I gave it two of Rivet's, moving the total
traits from 9 to 11.
Threshold safety-check
No, you shouldn't be able to lose a Threshold through mutagen
category-enforcement.  Fixed!
Mutagen-addiction, pass 1
This probably needs some tweaking and more thorough testing than I can
give now (I'm looking to have the stuff generally not addictive unless
you're talking a gallon of it).

But the infrastructure's there.
addiction-tweaking
OK, looks like it's working more or less as intended.  Dialed back the
morale bonuses too.
More tweaks
Makes Raptor talons require Raptor serum and cleans up some stuff in the
addiction.
Adds Grazer
Post-Thresh upgrade for Cattle: can eat grass.  Doesn't do much for
nutrition (5 points for removing the grass, 2 points if you're not
hungry or pass your IN check) but means you'll be able to find food and
prepare fields more efficiently.

Fixes a missed tag-change too.
Draft: Infection Resist/Immune
Should work, but Cata fails to load.  Committing to change branches and
test-compile the master branch.
"points" : 0,
"visibility" : 0,
"ugliness" : 0,
"description" : "Just thinking of mutagen (such a lovely word! 'mutagen'. Perfect!) makes you thirsty. And you so love your new parts...you simply must have more mutagen.",

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 6, 2014

Member

I think you should put a space here: "new parts...you", isn't?

if ((has_trait("COLDBLOOD") || has_trait("COLDBLOOD2") ||
has_trait("COLDBLOOD3") || has_trait("COLDBLOOD4")) &&
g->get_temperature() < 65) {
if (has_trait("COLDBLOOD3") || has_trait("COLDBLOOD4"))

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 6, 2014

Member

can you but brackets after each if here, since you're working with this file?

KA101 added some commits Jan 6, 2014

Infection-proofing
Glitch-spotting thanks to Voker57.
Adds Cenobite mutation
Not for everyone, but then if you weren't up for a
little...experimentation, you shouldn't have breached THRESH_MEDICAL.
Adds Deadened mutation
Get this one and you'll never feel pain again.

At least from any source of this world.
if (one_in(600 - 50 * in)) {
g->add_msg(rng(0, 6) < in ? _("You so miss the exquisite rainbow of post-humanity.") :
_("Your body is SOO booorrrring. Just a little sip to liven things up?"));
g->u.add_morale(MORALE_CRAVING_MUTAGEN, -20, -200);

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

g->add_msg(rng(0, 6) < in ? _("You haven't had any mutagen lately.") :
_("You could use some new parts..."));
g->u.add_morale(MORALE_CRAVING_MUTAGEN, -5, -50);
}

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

return string_format(_(
"Strength - %d; Perception - 1; Dexterity - 1;\n"
"Depression. Frequent cravings. Vomiting."), strpen);
}
else return string_format(_(

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

no brackets

@@ -10308,6 +10311,19 @@ void game::eat(int pos)
add_msg(_("You eat the underbrush."));
return;
}
if (u.has_trait("GRAZER") && m.ter(u.posx, u.posy) == t_grass &&
query_yn(_("Graze?"))) {
u.moves -= 400;

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

if ((u.hunger < 10) || one_in(20 - u.int_cur)) {
add_msg(_("You eat some of the taller grass, careful to leave some growing."));
u.hunger -= 2;
}

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

else { add_msg(_("You eat the grass."));
u.hunger -= 5;
m.ter_set(u.posx, u.posy, t_dirt);
}

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

@@ -1175,7 +1216,12 @@ int iuse::mut_iv(player *p, item *it, bool) {
g->add_msg_if_player(p, _("Mmm...the *special* venom."));
mutation_category = "MUTCAT_SPIDER";
} else if( it->has_flag("MUTAGEN_SLIME") ) {
if(p->has_trait("MUT_JUNKIE")) {
g->add_msg_if_player(p, _("Maybe if you drank enough, you'd become mutagen..."));

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

if(p->has_trait("MUT_JUNKIE")) {
g->add_msg_if_player(p, _("Maybe if you drank enough, you'd become mutagen..."));
}
else if(!(p->has_trait("MUT_JUNKIE"))) {
g->add_msg_if_player(p, _("This stuff takes you back. Downright primordial!"));

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

g->add_msg_if_player(p,_("Images of your past life flash before you."));
p->add_disease("stunned", rng(2, 3));
if (g->u.has_trait("NOPAIN")) {
g->add_msg_if_player(p,_("You feel Bugged."));

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

p->add_disease("stunned", rng(2, 3));
if (g->u.has_trait("NOPAIN")) {
g->add_msg_if_player(p,_("You feel Bugged."));
}

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent

@@ -5262,7 +5300,9 @@ void player::suffer()
// Negative bionics effects
if (has_bionic("bio_dis_shock") && one_in(1200)) {
g->add_msg(_("You suffer a painful electrical discharge!"));
if (!(has_trait("NOPAIN"))) {
pain++;

This comment has been minimized.

Copy link
@illi-kun

illi-kun Jan 7, 2014

Member

wrong indent. Astyle usually helps with issues like that.

@illi-kun

This comment has been minimized.

Copy link
Member

commented Jan 7, 2014

Thanks, looks fine now!

@KA101

This comment has been minimized.

Copy link
Contributor Author

commented Jan 7, 2014

Feel free to comment on the merits, too. ;-)

@illi-kun

This comment has been minimized.

Copy link
Member

commented Jan 7, 2014

Haha, I'll if I find something to say, but for the moment I have only bunch of noisy comments about indents.

Venom-upgrade
Much nastier venom for Arachnids.

If the new effect-handing code was working properly, that is.
@Cenobite000

This comment has been minimized.

Copy link

commented Jan 8, 2014

Oh! Just noticed the Cenobite mutation line. This is great. Snicker

@KA101

This comment has been minimized.

Copy link
Contributor Author

commented Jan 8, 2014

-Well, it doesn't actually stop the negative effects, though... snickers back-

Actually, now it does. Just takes another mutation.

KA101 added some commits Jan 9, 2014

Substance-tol & Alcohol-metabolizing
Tolerance is available at chargen and is basically the reverse of
Lightweight.

Troglobites can eventually develop the ability to largely metabolize
alcohol.  Somebody called for Dwarves?
Tweak
Was one thing when it was restricted to alcohol.  Now that it's broader,
yeah, no longer made obsolete by the upgrade so not removed.
Added Prime statboosts
Here's a reason to go Prime: above-average stat set to 15, below-average
stat set to 11.  Post-threshold for Alpha, requires Alpha mutagen, and
branches off of their normal statups.

Sound good?
Lengthens Cenobite branch
Now it's a more proper Cenobite: much less negative effects from pain.
Too bad that they also recover from pain awfully fast ;)
@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Jan 12, 2014

Something seems to be amiss here. Having the cenobite trait seems to make it so pain bleedoff takes hours. I think that somehow it's not calculating the faster pain recovery perks once you have it, but I may be mistaken. Also, the description says you adore pain, yet it seems that it's possible to have the cenobite mutation and not have the masochist mutation, in which case it still doesn't allow you to solder your own flesh for kicks.

Everything else seems to be okay though.

@KA101

This comment has been minimized.

Copy link
Contributor Author

commented Jan 12, 2014

I'll fix that as soon as I can get a working connection at the room. Thanks.

(Streak was gonna end on Friday anyway when I fly to Florida.)

// Metabolizing it cancels out the depressant
// except for Irish coffee, which already
// has a postive stim value
if (!(it->type->id == "irish_coffee")) {

This comment has been minimized.

Copy link
@kevingranade

kevingranade Jan 12, 2014

Member

How about making this test based on food->stim < 0 instead of calling out the specific item?

This comment has been minimized.

Copy link
@KA101

KA101 Jan 12, 2014

Author Contributor

Sure, just as soon as I can actually push code again I'll get on that. Leaving the library shortly.

:-(

@kevingranade kevingranade merged commit cee67a6 into CleverRaven:master Jan 12, 2014

@kevingranade

This comment has been minimized.

Copy link
Member

commented Jan 12, 2014

Pulled without seeing the tail of the discussion, sorry about that.
I'll take a look at the issues since you're short on time.

@KA101 KA101 deleted the KA101:moar-mutations branch Jan 13, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.