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

Active mutation expansion/bugfix #8962

Merged
merged 6 commits into from Sep 22, 2014

Conversation

Projects
None yet
5 participants
@KA101
Copy link
Contributor

commented Sep 13, 2014

This makes a few more mutations Active: the Retractable Claws, Insect Wings, and combat tails. Also fixes #8959.

KA101 added some commits Sep 13, 2014

Active mutation changeover
Some mutations seem to work better as active ones.  Let's get things
moving.
Tweaks & bugfix
This teaks a few things, adds a very important TODO (active mutations
are Exploitable without it) and fixes #8959.

@KA101 KA101 changed the title Active muttation expansion/bugfix Active mutation expansion/bugfix Sep 13, 2014

if (valid.size() == 0) {
add_msg(m_bad, _("You focus, but are too hemmed in to birth a new slimespring!"));
return;
}

This comment has been minimized.

Copy link
@KA101

KA101 Sep 13, 2014

Author Contributor

Fix for #8959 here.


// TODO: Active mutations need processed here.
// Appears to need a fundamental overhaul of their handling,
// which I'm not gonna start at 3 AM. -KA101.

This comment has been minimized.

Copy link
@KA101

KA101 Sep 13, 2014

Author Contributor

Specifically, that for loop at 5556 that processes bionic charge, doesn't wanna be adapted for mutations. Without an analogue, mutations only ever drain charge on activation. Issue with adapting appears to be variable/vector syntax.

This comment has been minimized.

Copy link
@kevingranade

kevingranade Sep 14, 2014

Member

I think you're looking for something like:

    for( auto mut : my_mutations ) {
        if( !traits[mut].powered ) {
            continue;
        }
        u.fatigue += traits[mut].cost;
        add_msg( "%s is active, and costing %d fatigue.", mut.c_str(), traits[mut].cost );
    }

Obviously not exactly that, I'm not totally sure how the values hook up.

This comment has been minimized.

Copy link
@KA101

KA101 Sep 14, 2014

Author Contributor

OK, so just porting it over from mutation.cpp.

@Snaaty

This comment has been minimized.

Copy link
Contributor

commented Sep 13, 2014

yaay!

@kevingranade kevingranade self-assigned this Sep 13, 2014

"category" : ["MUTCAT_FELINE"],
"active" : true,
"cost" : 0,
"time" : 100

This comment has been minimized.

Copy link
@kevingranade

kevingranade Sep 13, 2014

Member

This seems like a pretty long time for retracting claws, it's nearly instantaneous with housecats.

This comment has been minimized.

Copy link
@KA101

KA101 Sep 13, 2014

Author Contributor

Ah. That's supposed to be the amount of time they stay extended. Kinda like the furnace and battery-drain CBMs, they're supposed to time out (or, back in) after a while.

This comment has been minimized.

Copy link
@Barhandar

Barhandar Sep 14, 2014

Contributor

From my experience with both CBMs, the time after them is activation time, they stay active forever (and being energy-sources, even if you zero out on power) after you spend so-and-so turns to activate them.

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Sep 14, 2014

Member

It's time-per-cost. The 'time' slot is how many turns before you have to pay the cost again or else it deactivates. If it has no cost, it never deactivates until you tell it to do so. But that's just CBMs.

This comment has been minimized.

Copy link
@KA101

KA101 Sep 14, 2014

Author Contributor

And for the record, if it has 0 time, it never activates at all. But changing the on/off status for a given mutation is instant/takes no time, and I'm content with that.

Carnivore nutrition
KarmaChimera and Grizzlyadamz made a good point on the IRC: tough to get
Healthy food for Carnivores.

This helps take the edge off total vitamin dependence, since obligate
carnivores in the wild seem to live reasonably non-diseased lives.

@kevingranade kevingranade removed their assignment Sep 15, 2014

KA101 added some commits Sep 21, 2014

Gets active mutations charging properly
Porting was straightforward once I had some time to sit down and grapple
with it.  Thanks for the start-off pointer, Kevin.
Clean up unused code
So far as I can tell this would never actually get reached.  :-/  Sorry,
BeigeSand.
Activates Vine Sprouter
As implied in the description, you can now make long-rope equivalents
pretty much at will.  Costs 10 nutrition/thirst, and vine-descending is
synchronized therewith.

Plant people with IT and MI are now pretty much the best damn vehicle
folks around.
@KA101

This comment has been minimized.

Copy link
Contributor Author

commented Sep 21, 2014

Time-based actives are charging properly on my end (and at least one more mutation is active and functioning properly). May as well get this in seeing as there's a bugfix included.

@KA101 KA101 added the ready label Sep 21, 2014

@Rivet-the-Zombie Rivet-the-Zombie self-assigned this Sep 21, 2014

@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Sep 22, 2014

Everything looks to be working perfectly.

Rivet-the-Zombie added a commit that referenced this pull request Sep 22, 2014

Merge pull request #8962 from KA101/activemut
Active mutation expansion/bugfix

@Rivet-the-Zombie Rivet-the-Zombie merged commit 3f5adbf into CleverRaven:master Sep 22, 2014

1 check passed

default
Details

@KA101 KA101 deleted the KA101:activemut branch Sep 22, 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.