[Fixed] Just Second Macil Version Bug
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
-
- Posts: 317
- Joined: Wed Nov 03, 2004 10:17 am
[98] Just Second Macil Version Bug
The Oracle is supposed to be invulnerable until you have completed the Bishop quest.
In ZDoom, you can kill the Oracle even before ever talking to him...
Edit: Changed title to reflect new information.
Edit2: Changed it again....
In ZDoom, you can kill the Oracle even before ever talking to him...
Edit: Changed title to reflect new information.
Edit2: Changed it again....
Last edited by Deathlike2 on Tue Jan 31, 2006 1:07 pm, edited 2 times in total.
-
- Posts: 317
- Joined: Wed Nov 03, 2004 10:17 am
This is half true.Graf Zahl wrote:I think the same is true for the second version of Macil.
I did a little more experimenting.. and this is what I came up with.
The Oracle is invulnerable to every possible weapon, including the 1st Sigil piece. This is not true until you have the 2nd Sigil piece. He is very much vulnerable to everything once you have acquired it. This is a check to what Sigil level you have.. not necessarily whether or not you have completed the Bishop quest (well, you'd have to cheat to have found that out).
For the second Macil version, this is different altogether.
If you understood the fact that Macil is a "Specter".. then the following applies. He is invulnerable to every weapon. This is different because ALL WEAPONS, including the 1st Sigil piece pass through him (The specters are not immune to the 1st piece, but all other weapons pass through them). Since you know that you need to have at least the 2nd Sigil piece before an important fork in the story occurs, you at minimum will need the 2nd Sigil piece in order to kill him (which is instant since the Sigil is too powerful anyhow). In essense, Macil is a modified Spectre that is just immune to the 1st Sigil piece and is able to talk to you... The interesting thing about Specter is that although you are unable to hit them with weapons other than a Sigil, you can phyiscally touch them (as in you are able to bump into them).
So... I hope you understand now how it works...
Last edited by Deathlike2 on Tue Jan 31, 2006 12:41 pm, edited 1 time in total.
- TheDarkArchon
- Posts: 7656
- Joined: Sat Aug 07, 2004 5:14 am
- Location: Some cold place
-
- Posts: 317
- Joined: Wed Nov 03, 2004 10:17 am
Well, that depends what you are using it for. For essentially every enemy other than the Specters and Entities, then no. Otherwise, you are correct.TheDarkArchon wrote:Deathlike2 wrote: (which is instant since the Sigil is too powerful anyhow).Aside from the first part, I think the Sigil is mostly underpowered.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49234
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Deathlike2 wrote: If you understood the fact that Macil is a "Specter".. then the following applies. He is invulnerable to every weapon. This is different because ALL WEAPONS, including the 1st Sigil piece pass through him (The specters are not immune to the 1st piece, but all other weapons pass through them). Since you know that you need to have at least the 2nd Sigil piece before an important fork in the story occurs, you at minimum will need the 2nd Sigil piece in order to kill him (which is instant since the Sigil is too powerful anyhow). In essense, Macil is a modified Spectre that is just immune to the 1st Sigil piece and is able to talk to you... The interesting thing about Specter is that although you are unable to hit them with weapons other than a Sigil, you can phyiscally touch them (as in you are able to bump into them).
Which in terms of coding is precisely the same as the Oracle. He can only be hurt when the player has the second piece of the Sigil. The rest is taken care of automatically by the SPECTRAL flag.
-
- Posts: 317
- Joined: Wed Nov 03, 2004 10:17 am
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49234
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
That should do it:
Code: Select all
//============================================================================
//
// AMacil2 :: TakeSpecialDamage
//
// The second version of Macil can only be hurt by the second sigil stage or higher
//
//============================================================================
int AMacil2::TakeSpecialDamage (AActor *inflictor, AActor *source, int damage, int damagetype)
{
ASigil * sigil = source->FindInventory<ASigil>();
if (!sigil || sigil->NumPieces<2) return -1;
return damage;
}