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

Suddenly reviving corpses #8371

Merged
merged 7 commits into from Jul 31, 2014

Conversation

Projects
None yet
3 participants
@HuXTUS
Copy link
Contributor

commented Jul 29, 2014

Now corpses can make you a surprise. No, they are not any smarter and not ambushes. They just can lie idle, and wakes up when you will Wake them with his presence. As in horror movies when the corpse suddenly grabs your leg.

This applies to zombies killed by you, and some corpses generated by game.


This feature increases suspense and horrify.

HuXTUS added some commits Jul 29, 2014

@HuXTUS HuXTUS changed the title [WIP] Suddenly reviving corpses [CR] Suddenly reviving corpses Jul 29, 2014

@KA101

This comment has been minimized.

Copy link
Contributor

commented Jul 29, 2014

Looks like this makes placed-corpses reanimate as generic zeds. Since there are a fair amount of special corpses (scientists/soldiers), they should probably reanimate as such.

(And with this in mind, I'd either remove the chance to have pre-raised zeds around the map_special, or remove/reduce the nethercritters.)

The difficulty-seekers'll love this.

@HuXTUS

This comment has been minimized.

Copy link
Contributor Author

commented Jul 30, 2014

I don't touched special corpses. The code block that generated this corpses leave untouched.

add_corpse is just placed mon_null (usual human), and I add here chance to create active zombie-corpse i.e. human-zombie-corpse. Like this human killed and infected by zombie.

Also zombies you killed (and not pulped) just have chance to gain flag REVIVE_SPECIAL. Nothing more.


point p = g->find_item(this);

const int distance = sqrt((p.x - g->u.posx) * (p.x - g->u.posx) + (p.y - g->u.posy) * (p.y - g->u.posy));

This comment has been minimized.

Copy link
@kevingranade

kevingranade Jul 30, 2014

Member

Use the rl_dist() helper here. The way we handle distance is set in an option, so to be consistent we need to always use rl_dist().

This comment has been minimized.

Copy link
@HuXTUS

HuXTUS Jul 30, 2014

Author Contributor

Thanks.

@@ -1675,6 +1677,21 @@ bool item::ready_to_revive()
int rez_factor = 48 - age_in_hours;
if (age_in_hours > 6 && (rez_factor <= 0 || one_in(rez_factor)))
{
const bool isReviveSpecial = has_flag("REVIVE_SPECIAL");

This comment has been minimized.

Copy link
@kevingranade

kevingranade Jul 30, 2014

Member

A comment here would be nice.
// If we're a special revival zombie, wait to get up until the player is nearby.

@HuXTUS HuXTUS changed the title [CR] Suddenly reviving corpses Suddenly reviving corpses Jul 30, 2014

@KA101 KA101 self-assigned this Jul 31, 2014

@KA101 KA101 merged commit ca9d4b9 into CleverRaven:master Jul 31, 2014

1 check passed

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

@HuXTUS HuXTUS deleted the HuXTUS:suddenly-revive branch Jul 31, 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.