inherit "/std/room";
mapping nummem, maxmem;
mapping spells, memspells;
void create()
{
spells=([ ]);
memspells=([ ]);
nummem=([ ]);
maxmem=([ ]);
::create();
}
int query_num_mem(int level) { return nummem[level]; }
int query_max_mem(int level) { return maxmem[level]; }
int adjust_num_mem(int level, int i)
{
nummem[level]+=i;
return i;
}
int add_mem_spell(string name, int level)
{
int i;
mapping tmp;
if(pointerp(memspells))
{
tmp=([ ]);
for (i=0;i<sizeof(memspells);i+=2)
tmp[memspells[i]]=memspells[i+1];
memspells=tmp;
}
if(!mappingp(memspells))
memspells=([ ]);
memspells[name]=level;
return 1;
}
int set_max_routine(int level)
{
int spelllvl;
int a;
int i;
spelllvl=level/2+1;
a=level % 2;
if(a=0)
{
maxmem[1]=level/2;
maxmem[2]=level/2;
for(i=3;i<=spelllvl;i++)
maxmem[i]=maxmem[i-1]-1;
}
else
{
maxmem[1]=level/2+1;
for(i=2;i<=spelllvl;i++)
maxmem[i]=maxmem[i-1]-1;
}
return 1;
}