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

Mutant wildlife expansions: Spiders and snakes #15085

Merged
merged 7 commits into from Jan 30, 2016

Conversation

Projects
None yet
4 participants
@chaosvolt
Copy link
Contributor

commented Jan 30, 2016

As mentioned, two ideas I'd mentioned as minor ways to diversify a couple of areas other than the typical city horde that gets the most Fun.

  • Giant cellar spiders. If normal cellar spiders existed in Cataclysm, they would be adorable. Giant ones, not so much. Meant to be fragile-speedster types relative to giant black widows.
  • Spiderling variant of giant cellar spiders. Shows up as the egg sack alternative for cellar spider cella-erm, basements.
  • Giant rattlesnakes. Hiss...hiss...this is snek. Somewhat higher aggression, but hopefully not severely tougher than normal ones.
  • Eggsacks for giant cellar spiders.

Chaosvolt added some commits Jan 30, 2016

Chaosvolt
Mutant wildlife expansions: Spiders and snakes
* Giant cellar spiders. If normal cellar spiders existed in Cataclysm,
they would be adorable. Giant ones, not so much. Meant to be
fragile-speedster types relative to giant black widows.
* Spiderling variant of giant cellar spiders. Shows up as the egg sack
alternative for cellar spider cella-erm, basements.
* Giant rattlesnakes. Hiss...hiss...this is snek. Somewhat higher
aggression, but hopefully not severely tougher than normal ones.
Chaosvolt
Adds the egg sack
* Oh derp. Would help to not forget that.
Chaosvolt
@Rivet-the-Zombie

This comment has been minimized.

Copy link
Member

commented Jan 30, 2016

Neat!

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Just a few minor mistakes to sort out first. :V

Chaosvolt
@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Swiggity swooty. Just minor forgotten things, this time I didn't make the source code self-destruct. o3o

}
}
}
m->place_items("rare", 60, 0, 0, SEEX * 2 - 1, SEEY * 2 - 1, false, turn);

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Jan 30, 2016

Contributor

Is that entire block a total copy+paste of the block above?
If so, you should just roll spider and egg type at start of the block (just after } else if( one_in( 150 ) ) {) and then use that.
Like this:

auto spider_type = mon_spider_widow_giant;
auto egg_type = f_egg_sackbw;
if( one_in(2) ) {
    spider_type = mon_spider_cellar_giant;
    egg_type = f_egg_sackcs;
}

Then later in the function, instead of m->add_spawn(mon_spider_cellar_giant, rng(1, 2), i, j); you'd use m->add_spawn(spider_type, rng(1, 2), i, j); and instead of m->furn_set(i, j, f_egg_sackcs); use m->furn_set(i, j, egg_type);

This comment has been minimized.

Copy link
@chaosvolt

chaosvolt Jan 30, 2016

Author Contributor

Hmm. That would be more efficient, yes.

if( one_in( 30 ) && m->passable( i, j ) ) {
m->furn_set(i, j, f_egg_sackcs);
m->add_spawn(mon_spider_cellar_giant, rng(3, 6), i, j); //enjoy a barrel full of nope
m->remove_field({i, j, m->get_abs_sub().z}, fd_web);

This comment has been minimized.

Copy link
@Coolthulhu

Coolthulhu Jan 30, 2016

Contributor

Same for this block.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

Does it work? I can't find the place where egg id is set in mapdata.cpp
Make sure to test it before marking it as ready. As testing mapgen crap is tedious, you can set that spider basement chance to one_in(1) instead of 150, just make sure to revert it at the end.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Ah. Still need to set the path for the compiler on my laptop. I'll set up the changes you suggested, then compile-test spider basements.

EDIT: Compiling, slowly but steadily.

EDIT 2: It's past mapgen_functions.o, so this is good sign.

EDIT 3: Compiled after 20 minutes, yaaay.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Could not find iexamine for the eggsack. Scheisse.

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

Try to find how it's done for the other eggsack.
Find where it is referenced in sources. Here's a guide on searching sources:
http://www.wiki.cataclysmdda.com/index.php?title=How_to_search_the_sources

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Aye. New problem though.

Got lucky with the first basement I found. It spawned a mixture of giant cellar spiders and black widows.

maximum nope

@Coolthulhu

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

Push the changes, I can't see what you did there.
You probably roll spiders per critter rather than per basement.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Ack. Need to re-do it as I'd discarded the changes. Will do so along with fixing eggsacks.

Chaosvolt
Basement alterations, fixes egg sacks
* Few things I missed pertaining to egg sacks.
* Adding the changes as proposed by Coolthulhu, I might have fixed it
correctly to not spawn mixtures of spiders.
@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

There we go. I might've placed them lower in the function originally, so it SHOULD work in this instance.

Will have to head out soon, but when I'm next on I'll compile again to see if it got fixed.

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

...did I seriously derp and link to the wrong PR? >_<

@Zireael07

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

Wow, cool!

Chaosvolt
Assorted buffs
* Giant cellar spider given 150 speed (same as giant wolf spider), 7 melee skill (1 higher than highest spider's value), 8 dodge (same as giant jumping spider), and "PUSH_MON" flag.
* Giant rattlesnake given increased aggression, melee skill, armor, and health. Also given a penetrating bite attack.
@@ -35,6 +35,7 @@ const mtype_id mon_dark_wyrm( "mon_dark_wyrm" );
const mtype_id mon_fungal_blossom( "mon_fungal_blossom" );
const mtype_id mon_spider_web_s( "mon_spider_web_s" );
const mtype_id mon_spider_widow_giant_s( "mon_spider_widow_giant_s" );
const mtype_id mon_spider_cellar_giant_s( "mon_spider_widow_giant_s" );

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Jan 30, 2016

Member

Copy+paste error?

This comment has been minimized.

Copy link
@chaosvolt

chaosvolt Jan 30, 2016

Author Contributor

Yep. Doh. >.<

Chaosvolt
"hp":48,
"death_function":"NORMAL",
"special_attacks":[
["RATTLE", 6],

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Jan 30, 2016

Member

I think the big snake could be louder when it rattles. What do you think, @chaosvolt?

This comment has been minimized.

Copy link
@chaosvolt

chaosvolt Jan 30, 2016

Author Contributor

Hmm, right. How best to add that though? o.o

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Jan 30, 2016

Member

Use the PARROT function instead of the RATTLE one and give it an appropriate entry in the speech.json file - you can adjust the volume in that file at the same time.

I haven't tested this idea; it may not work as described.

This comment has been minimized.

Copy link
@chaosvolt

chaosvolt Jan 30, 2016

Author Contributor

Ah right. I'd assumed that the rattle only seems to occur when the player gets close enough though, suggesting it's used like a special attack. Whereas parroting might occur automatically, I think? Unless there's a way to make parrot only occur when close enough.

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Jan 30, 2016

Member

Good point, so let's skip this!


This kind of discussion is the sort of silly little stuff that slows good PRs down. Don't sweat the volume; it's good just the way it is now.

This comment has been minimized.

Copy link
@chaosvolt

chaosvolt Jan 30, 2016

Author Contributor

Ah, true. Can always be added another day. XP

Rivet-the-Zombie added a commit that referenced this pull request Jan 30, 2016

Merge pull request #15085 from chaosvolt/moar-mutants
Mutant wildlife expansions: Spiders and snakes

@Rivet-the-Zombie Rivet-the-Zombie merged commit 1b5eda4 into CleverRaven:master Jan 30, 2016

1 check passed

default This has been rescheduled for testing as the 'master' branch has been updated.
@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 30, 2016

Meep. And thank you for the merge.

@chaosvolt chaosvolt deleted the chaosvolt:moar-mutants branch Jan 30, 2016

@chaosvolt

This comment has been minimized.

Copy link
Contributor Author

commented Jan 31, 2016

Hmm. Giant rattlesnakes at least seem to steadily aggro if the player lingers. Giant cellar spiders seem to be hopelessly non-aggresive though. They should at least start off neutral but still be able to discourage sticking around, so giving them "PLAYER_CLOSE" as an anger trigger might work.

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.