Login
User Name:

Password:



Register

Forgot your password?
 void nanny_get_new_race -- comm.c
Mar 13, 2025 7:08 am
By Elwood
IPv6
Jan 25, 2025 10:45 pm
By Samson
mudstrlcpy and mudstrlcat
Jan 18, 2025 5:23 pm
By Samson
I3 and IMC
Jan 17, 2025 9:35 pm
By Samson
AFKMud 2.5.1
Jan 17, 2025 2:22 pm
By Samson
SmaugFUSS 1.9.7
Author: Various
Submitted by: Samson
AFKMud 2.5.1
Author: AFKMud Team
Submitted by: Samson
Kayle's Weather Code for AFKMud
Author: Kayle
Submitted by: Samson
AFKMud 2.5.0
Author: AFKMud Team
Submitted by: Samson
SWFotEFUSS 1.5.2
Author: Various
Submitted by: Samson
Users Online
Anthropic, Meta, DotBot, Bing

Members: 0
Guests: 14
Stats
Files
Topics
Posts
Members
Newest Member
503
3,812
19,720
592
BiancaLowr

» SmaugMuds » Bugfix Lists » SWR FUSS Bugfix List » [Bug] is_valid_vnum fails to ...
Forum Rules | Mark all | Recent Posts

[Bug] is_valid_vnum fails to check through build areas
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Feb 6, 2010 3:05 pm   
Go to the top of the page
Go to the bottom of the page

InfiniteAxis
Off the Edge of the Map
GroupAdministrators
Posts1,199
JoinedMar 21, 2006

 
Bug: is_valid_vnum fails to check through build areas
Danger: Major - Builder's will be unable to enter their areas.
Found by: Kayle
Fixed by: Kayle

---

build.c, is_valid_vnum

Replace the whole function with:
/* Is valid vnum checks to make sure an area has the valid vnum for any type
   types: 0=room, 1=obj, 2=mob                     -->Keberus 12/03/08 */
bool is_valid_vnum( int vnum, short type )
{
   AREA_DATA *area;
   int low_value =-1, hi_value =-1;
   bool isValid = FALSE;

   if( (type < VCHECK_ROOM) || (type > VCHECK_MOB) )
   {
       bug( "is_valid_vnum: bad type %d", type );
       return FALSE;
   }
   for( area = first_area; area; area = area->next )
   {
        if( type == VCHECK_ROOM )
        {
            low_value = area->low_r_vnum;
            hi_value = area->hi_r_vnum;
        }
        else if( type == VCHECK_OBJ )
        {
            low_value = area->low_o_vnum;
            hi_value = area->hi_o_vnum;
        }
        else
        {
            low_value = area->low_m_vnum;
            hi_value = area->hi_m_vnum;
        }

        if( (vnum >= low_value) && (vnum <= hi_value ) )
        {
            isValid = TRUE;
            break;
        }
   }
   for( area = first_build; area; area = area->next )
   {
      if( type == VCHECK_ROOM )
      {
         low_value = area->low_r_vnum;
         hi_value = area->hi_r_vnum;
      }
      else if( type == VCHECK_OBJ )
      {
         low_value = area->low_o_vnum;
         hi_value = area->hi_o_vnum;
      }
      else
      {
         low_value = area->low_m_vnum;
         hi_value = area->hi_m_vnum;
      }

      if( ( vnum >= low_value ) && ( vnum <= hi_value ) )
      {
         isValid = TRUE;
         break;
      }
   }
   return isValid;
}

Pages:<< prev 1 next >>