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

Zom-animals #6801

Merged
merged 26 commits into from Mar 27, 2014

Conversation

Projects
None yet
@Lain-
Copy link
Contributor

commented Mar 20, 2014

So I hear the zoose was added? This PR add two new zom-animals: Zomwolf and Zomcougar

Zomwolf spawns in pack and will howl to alert other zombies (most likely other zom-animals), similar to the shrieker zombie but with smaller volume.
Zomcougar will leap around like their living counterpart (and better at combat too).

I also added the relevant entries about new monsters to mtype.h and tile_id_data.h (as instructed in the doc) for tile.

  • Add the howling attack to zombie dog too? (Probably not, people already hate zombie dog as is)

@Lain- Lain- changed the title Zom-animals [WIP]Zom-animals Mar 20, 2014

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 20, 2014

Gonna point out that the zombear spawns kick in as normal bear spawns drop off. You'll need to ensure that your zombie-critters do the same. (That was one thing we missed with the zoose.)

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2014

Oh so that's what the "start" and "end" mean, am I right?

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 20, 2014

Oh so that's what the "start" and "end" mean, am I right?

That's my understanding and they're in hours from game start, IIRC. So over the first week, spawns fall offf and are replaced with zed-spawns.

Lain- added some commits Mar 20, 2014

@Lain- Lain- changed the title [WIP]Zom-animals Zom-animals Mar 20, 2014

Lain- added some commits Mar 20, 2014

@Robik81

This comment has been minimized.

Copy link
Contributor

commented Mar 20, 2014

Silly question, what we will eat when every specie will end in Z form? I also hope all Z animals share common spawn pool, interruptions are annoying as it is already.

@@ -137,6 +137,7 @@ void MonsterGenerator::init_death()

/* Currently Unimplemented */
//death_map["SHRIEK"] = &mdeath::shriek;// Screams loudly
//death_map["HOWL"] = &mdeath::shriek;// Wolf's howling

This comment has been minimized.

Copy link
@Rivet-the-Zombie

Rivet-the-Zombie Mar 20, 2014

Member

Looks like you got the howl action and the shriek action crossed here.

This comment has been minimized.

Copy link
@Lain-

Lain- Mar 20, 2014

Author Contributor

Yeah, my bad.

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2014

@Robik81 Well then you gotta find another food source >:)
In serious though the animals spawn does not vanish completely, so normal animal will still spawn but with reduced number.

@Zireael07

This comment has been minimized.

Copy link
Contributor

commented Mar 20, 2014

eyes shining oh wow, more zed animals!

@@ -87,6 +87,17 @@ void mattack::shriek(monster *z)
g->sound(z->posx(), z->posy(), 50, _("a terrible shriek!"));
}

void mattack::howl(monster *z)
{
int j;

This comment has been minimized.

Copy link
@illi-kun

illi-kun Mar 20, 2014

Member

please use 4 spaces as indent

void mattack::howl(monster *z)
{
int j;
if (rl_dist(z->posx(), z->posy(), g->u.posx, g->u.posy) > 4 ||

This comment has been minimized.

Copy link
@illi-kun

illi-kun Mar 20, 2014

Member

usage of the bracket is mandatory rule even for 1-line conditions.

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2014

I'm inclined to leave it as it is, partly because my own shortcoming in coding, and also because that code was copied directly from above so I'm unsure whether I should mess with the legacy stuff.

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor

commented Mar 20, 2014

I wonder, why "zomwolf" and "zomcougar", when "zolf" and "zougar" are just as good? The "zombear" is called that because of the "zombe" part.

By that logic though, we should probably add a "zombeaver". :P

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2014

Zolf if ok though "zougar" sounds weird IMO. I think "Zombear" in this case is the rule, not exception so that's why I follow the "zom+animal name" scheme.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 21, 2014

There's no direct-quote function, annoyingly enough. @Rivet-the-Zombie clued me in to Git's using the right-arrow (default "go down" in DDA) to quote. Just stick it before the text you want to quote, and double-return after.

@KA101
That final 90 days, what percentage of wildlife we are talking about?

Also, I want my meat and FAT! Is this some sort of vegetarian simulator? First, there should be meat+fat alternative available for the player (animal farm?) before you screw him over with destroying wildlife...

Hmm, how do I actually reply to some post, please?

And you get that. As for your questions, during the period between Winter and the 90th day, you're looking at 4 ways to spawn bears (mostly at night) and 3 shots to get zombears. However, Bears don't show up in winter (the whole hibernation thing) and they're much more likely to show up at night.
To put it in perhaps a more accurate light, there's 20 points of "frequency" allotted to bears at game start. 16 of that will flip to zombears over that time period, 4 points shifting at each interval. However, Bears won't show up in Winter and are more likely to show up at night (1 point anytime, 3 points night) whilst each zombear slot is 4 points, anytime.

Zombears are the most involved of the replacements; bear in mind that not all players are male, and I don't think giant insects became inedible. Ka'lol hunted giant spiders when I was last playing.

@Robik81

This comment has been minimized.

Copy link
Contributor

commented Mar 21, 2014

Thanks.

Nothing against eating insect, but I would still prefer to have more options than setting the camp near anthill. Or end up on vegie.

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 21, 2014

More tweaks, namely the name change (zolf & zougar) and the [FAT] flag for zoose ('cause moose has this too). Unless anything come up, this should be ready to go.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2014

Gonna object to the FAT tag on a zombie critter. Probably rancid or otherwise not useful. (Zombears don't have FAT, but bears do.)

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 22, 2014

That's make sense, yea gonna do that.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2014

I'm not sure when all the frequency changes happened and don't have a lot of time ATM, but that got an eyebrow-raise. Apart from those I'd think this would be ready to go.

@RadaRadaRada

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2014

Frequencies for both animals and their zombie variants seem funky: 60% of bear population are left unaccounted for. Same applies to both moose and cougar. Not certain of intention, but spawn conditions for moose and cougar seem to be messed up.

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

@KA101 The frequency change was to account for the zombified variants, especially the zombear frequency was reduced because now there are more zom-animal roaming around so the player has to deal with more threat.

@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

@RadaRadaRada The moose and cougar spawn was extended so that they can gradually be replaced by the zombified variant, not instantly vanish over night.
Bear also spawn in cave and yea that was not accounted for, not sure if I should extend that and give some to zom-animals. Probably later though.

@@ -17,15 +17,25 @@
{ "monster" : "mon_bear", "freq" : 1, "cost_multiplier" : 10, "ends" : 2160, "conditions" : ["SPRING", "SUMMER", "AUTUMN"] },
{ "monster" : "mon_bear", "freq" : 3, "cost_multiplier" : 10, "ends" : 2160, "conditions" : ["NIGHT", "SPRING", "SUMMER", "AUTUMN"] },

This comment has been minimized.

Copy link
@RadaRadaRada

RadaRadaRada Mar 23, 2014

Contributor

Total frequency of mon_bear spawns is 20 (This translates as a 2% chance as spawning). As time goes on the frequency falls like this 20/16/12/8/4. Now, the mon_zombear frequency scheme is 0/1/2/3/4. Only 4 points of mon_bear population are accounted for (and "replaced" with) zombified versions of them. So, 12 frequency points of mon_bear population are "lost". If this was an oversight and not an intentional design choice, one should redo whole mon_bear block to accommodate population leak:

    { "monster" : "mon_bear", "freq" :  4, "cost_multiplier" : 10,                "conditions" : ["SPRING", "SUMMER", "AUTUMN"] },
    { "monster" : "mon_bear", "freq" : 12, "cost_multiplier" : 10,                "conditions" : ["NIGHT", "SPRING", "SUMMER", "AUTUMN"] },
    { "monster" : "mon_bear", "freq" :  1, "cost_multiplier" : 10, "ends" :   72, "conditions" : ["SPRING", "SUMMER", "AUTUMN"] },
    { "monster" : "mon_bear", "freq" :  1, "cost_multiplier" : 10, "ends" :  168, "conditions" : ["NIGHT", "SPRING", "SUMMER", "AUTUMN"] },
    { "monster" : "mon_bear", "freq" :  1, "cost_multiplier" : 10, "ends" :  672, "conditions" : ["SPRING", "SUMMER", "AUTUMN"] },
    { "monster" : "mon_bear", "freq" :  1, "cost_multiplier" : 10, "ends" : 2160, "conditions" : ["SPRING", "SUMMER", "AUTUMN"] },

This comment has been minimized.

Copy link
@KA101

KA101 Mar 23, 2014

Contributor

RadaRadaRada's right, you're taking a net loss of bears there. I'd much prefer to see a straight conversion. If you're arguing that some bears die such that the goo can't rez 'em, that should be 1-2 points of frequency at most: that's "blown apart by land mine or shotgun trap" level of damage.

(Player (non-)actions should be separate code, in case anyone's thinking "excessively hunted by the player". For starters, butchering an animal guarantees it won't rez, so hunting kills should count against zom-critter growth too.)

{ "monster" : "mon_zombear", "freq" : 1, "cost_multiplier" : 10, "starts" : 72 },
{ "monster" : "mon_zombear", "freq" : 1, "cost_multiplier" : 10, "starts" : 168 },
{ "monster" : "mon_zombear", "freq" : 1, "cost_multiplier" : 10, "starts" : 672 },
{ "monster" : "mon_zombear", "freq" : 1, "cost_multiplier" : 10, "starts" : 2160 },

This comment has been minimized.

Copy link
@RadaRadaRada

RadaRadaRada Mar 23, 2014

Contributor

For the sake of convenience, readability and general cleanliness, I would suggest to transfer zombie moose, wolf and cougar data blocks right beneath their respective animal/population data blocks: mon_zoose block would go under mon_moose and mon_zomcougar would go right under mon_cougar entry.

Edit.: consider moving zombie wolf data block right beneath dog zombie data block. They draw their populations from all of the canines (including mon_wolf), so you would need to just slice some frequency from mon_dog_zombie spawns. Take note how much frequency mon_wolf loses as the time goes on. Conform to or re-balance rates at your discretion.

{ "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3, "ends" : 672 },
{ "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "ends" : 2160, "conditions" : ["DAY"] },
{ "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3 },
{ "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "conditions" : ["DAY"] },

This comment has been minimized.

Copy link
@RadaRadaRada

RadaRadaRada Mar 23, 2014

Contributor

Funky spawn conditions. Format this for sake of readability. Try to keep day/night spawn rations in mind, then dispersing frequencies through out the time.

  { "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3                 },
  { "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3,                "conditions" : ["DAY"] },
  { "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3, "ends" :   72  },
  { "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "ends" :   72, "conditions" : ["DAY"] },
  { "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3, "ends" :  168  },
  { "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "ends" :  168, "conditions" : ["DAY"] },
  { "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3, "ends" :  672  },
  { "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "ends" :  672, "conditions" : ["DAY"] },
  { "monster" : "mon_moose", "freq" : 1, "cost_multiplier" : 3, "ends" : 2160  },
  { "monster" : "mon_moose", "freq" : 2, "cost_multiplier" : 3, "ends" : 2160, "conditions" : ["DAY"] },
{ "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 2, "ends" : 168},
{ "monster" : "mon_cougar", "freq" : 5, "cost_multiplier" : 2, "ends" : 168, "conditions" : ["DAWN", "DUSK"] },
{ "monster" : "mon_cougar", "freq" : 3, "cost_multiplier" : 2},
{ "monster" : "mon_cougar", "freq" : 5, "cost_multiplier" : 2, "conditions" : ["DAWN", "DUSK"] },

This comment has been minimized.

Copy link
@RadaRadaRada

RadaRadaRada Mar 23, 2014

Contributor

Funky spawn conditions. Format this for sake of readability. Try to keep day/night spawn rations in mind, then dispersing frequencies through out the time.

  { "monster" : "mon_cougar", "freq" : 1, "cost_multiplier" : 3                 },
  { "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 3,                "conditions" : ["DAWN", "DUSK"] },
  { "monster" : "mon_cougar", "freq" : 1, "cost_multiplier" : 3, "ends" :   72  },
  { "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 3, "ends" :   72, "conditions" : ["DAWN", "DUSK"] },
  { "monster" : "mon_cougar", "freq" : 1, "cost_multiplier" : 3, "ends" :  168  },
  { "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 3, "ends" :  168, "conditions" : ["DAWN", "DUSK"] },
  { "monster" : "mon_cougar", "freq" : 1, "cost_multiplier" : 3, "ends" :  672  },
  { "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 3, "ends" :  672, "conditions" : ["DAWN", "DUSK"] },
  { "monster" : "mon_cougar", "freq" : 1, "cost_multiplier" : 3, "ends" : 2160  },
  { "monster" : "mon_cougar", "freq" : 2, "cost_multiplier" : 3, "ends" : 2160, "conditions" : ["DAWN", "DUSK"] },
@Lain-

This comment has been minimized.

Copy link
Contributor Author

commented Mar 24, 2014

Yeah I see what you are getting at. I'll take a look into it when I have some time to spare.

@KA101 KA101 self-assigned this Mar 26, 2014

"id" : "mon_zolf",
"name": "zolf",
"species":"ZOMBIE",
"symbol":"d",

This comment has been minimized.

Copy link
@KA101

KA101 Mar 26, 2014

Contributor

Should probably change these to "w" per the wolf change.

"special_freq":0,
"death_function":"NORMAL",
"special_attack":"LEAP",
"description":"An otherwise normal-looking cougar, except that its hind legs are swollen and its eyes bulged with black goo.",

This comment has been minimized.

Copy link
@KA101

KA101 Mar 26, 2014

Contributor

swollen, and its eyes bulge with black goo.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2014

Just some stye points left, and I can fix those in the merge if need be.

@KA101 KA101 merged commit d02b460 into CleverRaven:master Mar 27, 2014

1 check passed

default
Details

@Lain- Lain- deleted the Lain-:zom-animals branch Mar 28, 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.