Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
printz

Why can't I add new monsters to the BOSS_SPAWNER_TYPES block?

Recommended Posts

Whenever I add new monsters to that block, Eternity halts at startup with this message: "E_ProcessBossTypes: x boss types, y boss probs", even when x equals y, which should be true. What gives? Note that I haven't forgot of BOSS_SPAWNER_PROBS. Also, sorry if this has already been issued and fixed in the Phoenix.

Share this post


Link to post

Not fixed in EE 3.33.50 RC1

Here's a modified MISC.EDF excerpt. Whatever's bold is added by me:

boss_spawner_types =
{
  DoomImp, Demon, Spectre, PainElemental, Cacodemon, Archvile,
  Revenant, Arachnotron, Mancubus, HellKnight, BaronOfHell,cyberdemon
}

boss_spawner_probs =
{
 23,23,23, 23,23,23, 23,23,23, 23,24,2
}
It stops at startup with:
E_ProcessBossTypes: 12 boss types, 12 boss probs
It doesn't like me adding or taking monsters to the list.

Share this post


Link to post
TheDarkArchon said:

Have you tried "Cyberdemon" (note the capital letter)?

Yes. Same result. Even if it would have worked that way (and with a space before), I'd still have pointed it out.

Share this post


Link to post

Mnemonics are case insensitive anyway. Cyberdemon and CyBeRDeMoN are the same to EDF. There's something clearly wrong with the logic in the boss types processing code. It should only be causing an error if numbosstypes != numbossprobs. Here they're equal, which is correct, and it's exiting anyway. A clear bug, probably something very simple.

Share this post


Link to post
Quasar said:

It should only be causing an error if numbosstypes != numbossprobs. Here they're equal, which is correct, and it's exiting anyway. A clear bug, probably something very simple.

Does it show something like (numbosstypes != 11 || numbossprobs != numbosstypes) ?

Share this post


Link to post

   // haleyjd 11/19/03: allow defaults for boss spawn probs
   if(!numProbs)
      useProbs = false;

   if((useProbs && numTypes != numProbs) || numTypes != 11)
   {
      E_EDFLoggedErr(2, 
         "E_ProcessBossTypes: %d boss types, %d boss probs\n",
         numTypes, useProbs ? numProbs : 11);
   }
Woops. I see the error. The OR falls into the second condition, and it should not do that. Pure simple logic error :P

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×