View previous topic :: View next topic |
Author |
Message |
Memfis MemfisWatt
Joined: 29 Oct 2011
|
Posted: Fri May 27, 2016 12:10 pm Post subject: How does the invis sphere work in ZDaemon? |
|
|
It seems to kind of make you really invisible (as opposed to the vanilla behavior) but not fully I think as sometimes some monsters still notice you? How does it work exactly? This would be very useful to know in some situations where you want to sneak by a scary cyberdemon or whatever. |
|
Back to top |
|
|
Memfis MemfisWatt
Joined: 29 Oct 2011
|
|
Back to top |
|
|
TheCupboard Generic Title
Joined: 25 Feb 2007 Location: USA
|
Posted: Sat May 28, 2016 4:45 am Post subject: |
|
|
So I need to tap the CAPSLOCK to stop running/strafing when I pick up the invisibility sphere... Kind of interesting that you could move a little bit undetected albeit slower than normal. Seems like you could not keep moving at a constant rate though, because you would gain velocity too quickly before triggering some monsters
I do always recall that monsters kind of wake up randomly when you have the sphere enabled, so it's cool to see an explanation of why this happens |
|
Back to top |
|
|
phenex2 Unstoppable!
Joined: 10 Jan 2008
|
Posted: Sat May 28, 2016 5:17 pm Post subject: |
|
|
WTF am i reading?
It seems that indeed we use the following code in the function P_LookForPlayers:
Code: | if ((player->powers[pw_invisibility]) || (player->powers[pw_ghost]))
{
if ((P_AproxDistance (player->mo->x - actor->x,
player->mo->y - actor->y) > 2*MELEERANGE)
&& P_AproxDistance (player->mo->momx, player->mo->momy)
< 5*FRACUNIT)
{
// Player is sneaking - can't detect
return false;
}
if (P_Random() < 225)
{
// Player isn't sneaking, but still didn't detect
return false;
}
} |
Did a bit of research and it seems that this behaviour comes from Heretic and is also used in Hexen.
From Heretics p_enemy.c:
Code: | if(player->mo->flags&MF_SHADOW)
{ // Player is invisible
if((P_AproxDistance(player->mo->x-actor->x,
player->mo->y-actor->y) > 2*MELEERANGE)
&& P_AproxDistance(player->mo->momx, player->mo->momy)
< 5*FRACUNIT)
{ // Player is sneaking - can't detect
return(false);
}
if(P_Random() < 225)
{ // Player isn't sneaking, but still didn't detect
return(false);
}
} |
In Doom the invisibility sphere only affected the A_FaceTarget and P_SpawnMissile functions if i did not miss another spot.
Maybe this additional behaviour needs a dmflag to restore doom vanilla invisibility.
But given this heretic style behaviour i really wonder why we have not seen any Thief like gameplay mods yet. Maybe we will see them now |
|
Back to top |
|
|
Oxyde Dominating!
Joined: 01 Feb 2012 Location: France (67) Host: Zero Dawn
|
Posted: Sat May 28, 2016 6:25 pm Post subject: |
|
|
phenex2 wrote: | Maybe this additional behaviour needs a dmflag to restore doom vanilla invisibility. |
I noticed this quite some time ago and thought it was intentional! |
|
Back to top |
|
|
phenex2 Unstoppable!
Joined: 10 Jan 2008
|
Posted: Sat May 28, 2016 6:38 pm Post subject: |
|
|
It was probably intentionally added by zdoom and we just inherited from the zdoom base that zdaemom was built on.
But i was not aware of that behaviour and i don't remeber anyone mentioning it before. |
|
Back to top |
|
|
Memfis MemfisWatt
Joined: 29 Oct 2011
|
Posted: Sun May 29, 2016 6:51 pm Post subject: |
|
|
Haha, you of all people didn't know about this? That's cute. I agree a dmflag would be nice. In some situations this can change a lot I think.
Also would be nice to have a dmflag for monsters opening/not opening fast doors... (in vanilla they can't open fast ones) |
|
Back to top |
|
|
TheCupboard Generic Title
Joined: 25 Feb 2007 Location: USA
|
Posted: Sun May 29, 2016 7:04 pm Post subject: |
|
|
ZDoom behavior is better than Brutal Doom. Brutal Doom, I think you're invisible until you do damage to a monster or if you get REALLY close and shoot your gun. If you are far away enough and fire your gun, monsters do not see you. If you are standing in front of Brutal Doom monster and shoot, I believe they will hear you most of the time
I have to say tho, I remember some people REALLY complaining that ZDoom broke some maps because of the invisibility sphere modification. Maps where you fight in an arena and pick up a sphere right away, it gives you a lot of time to choose where to begin the fight and pick up all the items you need before waking up monsters
Myself, I do not care either way. I think the Heretic/Hexen behavior that phenex2 pointed out is pretty awesome in fact it makes a lot more sense than Doom 2. I never really understood as a kid "why do these guys even see me from 1 kilometer away if I'm partially invisible?" |
|
Back to top |
|
|
|