drm/player/
act_comm.c:2:/***************************************************************************
act_comm.c:17: **************************************************************************/
act_comm.c:19:/***************************************************************************
act_comm.c:26:*	ROM license, in the file Rom24/doc/rom.license			   *
act_comm.c:27:***************************************************************************/
act_comm.c:29:/***************************************************************************
act_comm.c:32:*       ROT license, in the file doc/rot.license                           *
act_comm.c:33:***************************************************************************/
act_comm.c:35:/***************************************************************************
act_comm.c:40:*       DRM license, in the file doc/DRM.license                           *
act_comm.c:43:***************************************************************************/
act_comm.c:48:#include <sys/types.h>
act_comm.c:49:#include <sys/time.h>
act_comm.c:61:/* command procedures needed */
act_comm.c:68:/* RT code to delete yourself */
act_comm.c:130: char arg1[MAX_INPUT_LENGTH]; /* weapon class */
act_comm.c:131: char arg2[MAX_INPUT_LENGTH]; /* damage type  */
act_comm.c:132: char flag[3][MAX_INPUT_LENGTH]; /* first/second/third flag */
act_comm.c:156: if(arg1[0]=='\0'/*||arg2[0]=='\0'||flag[0][0]=='\0'||flag[1][0]=='\0'||
act_comm.c:157:     flag[2][0]=='\0'*/)
act_comm.c:243: obj->value[1]=ch->level/7;
act_comm.c:244: obj->value[2]=ch->level/10;
act_comm.c:247: obj->weight=ch->level/5;
act_comm.c:255:    af.modifier    = ch->level/5;
act_comm.c:259:    af.modifier    =ch->level/5;   
act_comm.c:271:    af.modifier    =ch->level/8;
act_comm.c:279: //printf_log("%s forges a %s (%s/%s) at %d.",
act_comm.c:280:   //ch->name,weapon_class[wc].name,attack_table[dt].name,
act_comm.c:281:    //flag_string(weapon_type2,flags),ch->in_room->vnum);   
act_comm.c:331:                        ch->qps += amount/20;
act_comm.c:438:			/* Make sure ctier is not greater or less than number tiers in tier_table */
act_comm.c:456:			/*
act_comm.c:458:			 */
act_comm.c:486:			/*
act_comm.c:488:			*/
act_comm.c:492:			/*
act_comm.c:498:			*/
act_comm.c:532:	/* NOTE: these next two statements needed as a catch-all *
act_comm.c:534:	********************************************************/
act_comm.c:633:/* show suppression settings - Gregor Stipicic aka Fade, 2001 */
act_comm.c:647:   printf_to_char(ch,"{CW{ceapon flags{D  :   %s\n\r{CD{codge/etc.  {D  :   %s{x\n\r",
act_comm.c:714:  send_to_char("{cSyntax{D: {CVerbose {cweapon{D/{cflags{D/{cdodge{D/{cobject{D/{cshields{x\n\r",ch);
act_comm.c:719:/* RT code to display channel status */
act_comm.c:725:    /* lists all channels and their status */
act_comm.c:770:/*
act_comm.c:776:*/
act_comm.c:783:    send_to_char("{WQ/A           {x",ch);
act_comm.c:870:/* RT deaf blocks out all shouts */
act_comm.c:887:/* RT quiet blocks out all communication */
act_comm.c:902:/*
act_comm.c:926:}*/
act_comm.c:928:/* afk command */
act_comm.c:1065:    else  /* flame message sent, turn gossip on if it isn't already */
act_comm.c:1122:/* RT ooc rewritten in ROM style */
act_comm.c:1142:    else  /* ooc message sent, turn ooc on if it is off */
act_comm.c:1199:/* RT chat replaced with ROM gossip */
act_comm.c:1219:    else  /* gossip message sent, turn gossip on if it isn't already */
act_comm.c:1264://GOSSIP DRUNKNESS YAYAAA 
act_comm.c:1267://END
act_comm.c:1292://MORE DRUNK
act_comm.c:1295://END
act_comm.c:1331:    else  /* qgossip message sent, turn qgossip on if it isn't already */
act_comm.c:1437:    else  /* grats message sent, turn grats on if it isn't already */
act_comm.c:1536:    else  /* quote message sent, turn quote on if it isn't already */
act_comm.c:1908:/*    if ( ch->pcdata->condition[COND_DRUNK] > 0 )
act_comm.c:1909:       { argument = makedrunk (ch, argument); } */
act_comm.c:1916:/* RT ask channel */
act_comm.c:1927:        send_to_char("Q/A channel is now ON.\n\r",ch);
act_comm.c:1932:        send_to_char("Q/A channel is now OFF.\n\r",ch);
act_comm.c:1936:    else  /* ask sent, turn Q/A on if it isn't already */
act_comm.c:2016:/* RT answer channel - uses same line as asks */
act_comm.c:2027:        send_to_char("Q/A channel is now ON.\n\r",ch);
act_comm.c:2032:        send_to_char("Q/A channel is now OFF.\n\r",ch);
act_comm.c:2036:    else  /* answer sent, turn Q/A on if it isn't already */
act_comm.c:2116:/* RT music channel */
act_comm.c:2136:    else  /* music sent, turn music on if it isn't already */
act_comm.c:2290:/*
act_comm.c:2293: */
act_comm.c:2304:	/* Make the words drunk if needed */
act_comm.c:2305:/*	if (IS_DRUNK(ch))
act_comm.c:2306:*/	argument = makedrunk(argument,ch);
act_comm.c:2310:   /*
act_comm.c:2314:    */
act_comm.c:2318:        /* 'something!' = exclaim */
act_comm.c:2324:		/* 'something!!!' = screams */
act_comm.c:2333:        /* 'something?!' = boggles */
act_comm.c:2339:        /* 'something?' = asks */
act_comm.c:2345:		/* 'something??' = confusedly asks */
act_comm.c:2352:    /* 'something...' = mutter */
act_comm.c:2360:    /* '=), :) = chuckles */
act_comm.c:2367:    /* '=(, :( = sulks */
act_comm.c:2374:    /* '=P, :P = smirks */
act_comm.c:2381:    /* ';) = leers */
act_comm.c:2388:    /* '=O, :O = sings */
act_comm.c:2395:    /* Add more punctuations with another else if statement here */
act_comm.c:2396:    else /* Any other punctuation */
act_comm.c:2416:/*void do_say( CHAR_DATA *ch, char *argument )
act_comm.c:2439:}*/
act_comm.c:2553:    /*
act_comm.c:2556:     */
act_comm.c:2591:/* Removed..Vengeance */
act_comm.c:2592:/*
act_comm.c:2598:*/
act_comm.c:2711:/* Removed...Vengeance */
act_comm.c:2712:/*
act_comm.c:2718:*/
act_comm.c:2727:/* Removed....Vengeance */
act_comm.c:2728:/*
act_comm.c:2734:*/
act_comm.c:2930:/*
act_comm.c:2932: */
act_comm.c:3274:    level = UMIN( ch->level, sizeof(pose_table) / sizeof(pose_table[0]) - 1 );
act_comm.c:3277:    if (ch->class < MAX_CLASS/2)
act_comm.c:3282:	act( pose_table[pose].message[2*(ch->class-(MAX_CLASS/2))+0], ch, NULL, NULL, TO_CHAR );
act_comm.c:3283:	act( pose_table[pose].message[2*(ch->class-(MAX_CLASS/2))+1], ch, NULL, NULL, TO_ROOM );
act_comm.c:3318:/* 
act_comm.c:3321: */
act_comm.c:3381:     /*do_qquote (ch);*/
act_comm.c:3383:    /*printf_to_char(ch,"\n\r\n\r{WWe hate to see your leaving.{x\n\r");
act_comm.c:3386:    */WAIT_STATE(ch,25 * PULSE_VIOLENCE);
act_comm.c:3394:    /*
act_comm.c:3396:     */
act_comm.c:3404:    /* toast evil cheating bastards */
act_comm.c:3456:    /*
act_comm.c:3458:     */
act_comm.c:3466:    /* toast evil cheating bastards */
act_comm.c:3491: //   WAIT_STATE(ch,4 * PULSE_VIOLENCE);
act_comm.c:3499:/* RT changed to allow unlimited following and follow the NOFOLLOW rules */
act_comm.c:3613:/* nukes charmed monsters and pets */
act_comm.c:3771:		"[%2d %s] %-16s %ld/%ld hp %ld/%ld mana %ld/%ld mv %5ld xp\n\r",
act_comm.c:3855:/*
act_comm.c:3857: */
act_comm.c:3920:    share_platinum   = amount_platinum / members;
act_comm.c:3924:    share_gold   = amount_gold / members;
act_comm.c:3928:    share_silver = amount_silver / members;
act_comm.c:4050:    /*
act_comm.c:4052:     */
act_comm.c:4065:/*
act_comm.c:4070: */
act_comm.c:4081:/*
act_comm.c:4083: */
act_comm.c:4281:	    send_to_char( "question/answer channel set.\n\r",ch); 
act_comm.c:4296:	    send_to_char( "shout/yell channel set.\n\r",ch); 
act_comm.c:4301:	    send_to_char( "tell/reply channel set.\n\r",ch); 
act_comm.c:4358:/********************************************************************
act_comm.c:4364:* so that it can get the victim's name/etc in and then send it to   *
act_comm.c:4368:********************************************************************/
act_comm.c:4370:/********************************************************************
act_comm.c:4376:********************************************************************/
act_comm.c:4665:   /*WAIT_STATE(ch,4 * PULSE_VIOLENCE);*/
act_enter.c:1:/***************************************************************************
act_enter.c:16: ***************************************************************************/
act_enter.c:18:/***************************************************************************
act_enter.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
act_enter.c:26:***************************************************************************/
act_enter.c:28:/*************************************************************************** 
act_enter.c:31:*       ROT license, in the file doc/rot.license                           * 
act_enter.c:32:***************************************************************************/
act_enter.c:34:/***************************************************************************
act_enter.c:39:*       DRM license, in the file doc/DRM.license                           *
act_enter.c:42:***************************************************************************/
act_enter.c:48:#include <sys/types.h>
act_enter.c:49:#include <sys/time.h>
act_enter.c:56:/* command procedures needed */
act_enter.c:60:/* random room generation procedure */
act_enter.c:84:/* RT Enter portals */
act_enter.c:92:    /* nifty portal stuff */
act_enter.c:127:	    portal->value[3] = location->vnum; /* for record keeping :) */
act_enter.c:161:	if (IS_SET(portal->value[2],GATE_GOWITH)) /* take the gate along */
act_enter.c:174:	/* charges */
act_enter.c:182:	/* protect against circular follows */
act_enter.c:191:	    /* no following through dead portals */
act_enter.c:231:	/* 
act_enter.c:234:	 */
act_info.c:1:/***************************************************************************
act_info.c:16: ***************************************************************************/
act_info.c:18:/***************************************************************************
act_info.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
act_info.c:26:***************************************************************************/
act_info.c:28:/*************************************************************************** 
act_info.c:31:*       ROT license, in the file doc/rot.license                           * 
act_info.c:32:***************************************************************************/
act_info.c:37:#include <sys/types.h>
act_info.c:38:#include <sys/time.h>
act_info.c:52:/* command procedures needed */
act_info.c:98:/*	 1,  2,  3,  4,  5, 25, 26,
act_info.c:102:	0*/
act_info.c:108:/* for do_count */
act_info.c:113:/*
act_info.c:115: */
act_info.c:193:/*
act_info.c:196: */
act_info.c:210:    /*
act_info.c:212:     */
act_info.c:221:    /*
act_info.c:223:     */
act_info.c:234:		/*
act_info.c:237:		 */
act_info.c:249:	    /*
act_info.c:251:	     */
act_info.c:261:    /*
act_info.c:263:     */
act_info.c:295:    /*
act_info.c:297:     */
act_info.c:314:    vict_condition = victim->hit * 100 / victim->max_hit;
act_info.c:375:    // make sure victim is an NPC - M.
act_info.c:376:/*	if (!IS_NPC(ch) && is_gqmob(ch, victim->pIndexData->vnum) != -1)
act_info.c:380:*/
act_info.c:563:	percent = ( 100 * victim->hit ) / victim->max_hit;
act_info.c:768:/* changes your scroll */
act_info.c:816:/* RT does socials */
act_info.c:840:/* RT Commands to replace news, motd, imotd, etc from ROM */
act_info.c:862:/* RT this following section holds all the auto commands from ROM, as well as
act_info.c:863:   replacements for config */
act_info.c:867:    /* lists most player flags */
act_info.c:1157:      strcpy( buf, "{W<{r%h{W/{R%H{whp {m%m{W/{M%M{wm {y%v{W/{Y%V{wmv {g({B%X{wtnl{g){W>{x");
act_info.c:1159:      strcpy(buf,"{c({r%h{c/{R%H{chp {b%m{c/{B%M{cm {y%v{c/{Y%V{cmv{C ({g%X{ctnl{C){c>{x");
act_info.c:1168:     strcpy(buf,"{Y({x%z{Y)({x%r{Y)({x%e{Y){x%c{Y({r%h{Y/{R%H{Dhp{Y){x");
act_info.c:1179:     strcpy(buf,"{g({x%z{g)({x%r{g){x%c{g({r%h{g/{R%H {Dhp{b %m{g/{B%M {Dmn{g){x");
act_info.c:1348:	/* 'look' or 'look auto' */
act_info.c:1388:	/* 'look in' */
act_info.c:1415:		obj->value[1] <     obj->value[0] / 4
act_info.c:1417:		obj->value[1] < 3 * obj->value[0] / 4
act_info.c:1453:	{  /* player can see object */
act_info.c:1546:    /* 'look direction' */
act_info.c:1578:/* RT added back for the hell of it */
act_info.c:1696://    sprintf( buf, "Wear bits: %s\n\rExtra bits: %s\n\r",
act_info.c:1698://        wear_bit_name(obj->wear_flags), 
act_info.c:1702:    sprintf( buf, "Weight: %d\n\r", obj->weight / 10);
act_info.c:1709:    /* now give out vital statistics as per identify */
act_info.c:1788:                    send_to_char("spear/staff\n\r",ch);
act_info.c:1791:                    send_to_char("mace/club\n\r",ch);
act_info.c:1812:                    (1 + obj->value[2]) * obj->value[1] / 2);
act_info.c:1816:                    ( obj->value[1] + obj->value[2] ) / 2 );
act_info.c:1819:      /*      sprintf(buf,"Weapon type is %s.\n\r",
act_info.c:1824:*/
act_info.c:1825:            if (obj->value[4])  /* weapon flags */
act_info.c:1970:/*
act_info.c:1972: */
act_info.c:2138:/* New score function copyright of Loki of Death Rising.
act_info.c:2139:If you use this score you must leave this header intact.*/
act_info.c:2149:printf_to_char(ch,"{Y| {cRace {x:{g %-9s{Y| {cAQP{x :{g %-8ld{Y| {cHP{x     :{g %-6ld{x/{G%ld
act_info.c:2150:{Y| {cAge  {x:{g %-9d{Y| {cIQP{x :{g %-8d{Y| {cMN{x     :{g %-6ld{x/{G%ld           
act_info.c:2151:{Y| {cSex  {x:{g %-9s{Y| {cDamr{x:{g %-8d{Y| {cMV{x     :{g %-6ld{x/{G%ld
act_info.c:2152:{Y| {cLevel{x:{g %-9d{Y| {cHitr{x:{g %-8d{Y| {cItems{x  :{g %-6d{x/{G%d
act_info.c:2153:{Y| {cClass{x:{g %-9s{Y| {cPlat{x:{g %-8ld{Y| {cWeight{x :{g %-6ld{x/{G%d
act_info.c:2160:class_table[ch->class].name,ch->platinum,get_carry_weight(ch) / 10, can_carry_w(ch) /10,
act_info.c:2164:/*stats*/
act_info.c:2178:    /*AC*/
act_info.c:2199:    /* RT wizinvis and holy light */
act_info.c:2255:    double rooms = top_room, percent = (double) rcnt / (rooms / 100);
act_info.c:2256:    double arooms = (double) (arearooms (ch)), apercent = (double) arcnt / (arooms / 100);
act_info.c:2258:	     "{Y| {cExplored: {g%4d{c/{G%4d{c rooms. ({W%5.2f%%{c of the world) ({W%5.2f%%{c of current area)\n\r{x",
act_info.c:2267:/* This is NEW score listing for The Mage's Lair */
act_info.c:2285:		 ( ch->played + (int) (current_time - ch->logon) ) / 3600);
act_info.c:2323:		 "{cHP: {W%5ld/%-5ld                             {cPracs: {W%d \n\r",
act_info.c:2328:		 "{cMANA: {W%5ld/%-5ld                           {cTrains: {W%d \n\r",
act_info.c:2332:		 "{cMOVE: {W%5ld/%-5ld                           {cItems: {W%d/%d \n\r",
act_info.c:2336:		 "{cAQP: {W%-9ld                            {cWeight: {W%ld/%d \n\r",
act_info.c:2338:		 get_carry_weight(ch) / 10, can_carry_w(ch) /10 );
act_info.c:2340:  /*
act_info.c:2343:   */
act_info.c:2344:  if (IS_NPC(ch))             /* NPC's have no bank balance and shares */
act_info.c:2345:    {                           /* and don't level !!       -- Maniac -- */
act_info.c:2351:  if (!IS_NPC(ch))            /* PC's do level and can have bank accounts */
act_info.c:2352:    {                           /* HERO's don't level anymore               */
act_info.c:2410:  /* print AC values */
act_info.c:2463:  /* RT wizinvis and holy light */
act_info.c:2515:   /* int i;*/
act_info.c:2548:	"        HP: %ld/%ld  Mana: %ld/%ld    MV: %ld/%ld\n\r",
act_info.c:2602:	"{WYou have {r%ld{W/{R%ld{W hitpoints, {b%ld{W/{B%ld{W mana, {y%ld{W/{Y%ld{W movement.{x\n\r",
act_info.c:2612:   /* if (is_clan(ch))
act_info.c:2619:    }*/
act_info.c:2621:	"{WYou are carrying {g%d{x/{G%d{W items with weight {g%ld{x/{G%d{W pounds.{x\n\r",
act_info.c:2623:	get_carry_weight(ch) / 10, can_carry_w(ch) /10 );
act_info.c:2715:    /* print AC values */
act_info.c:2771:    /* RT wizinvis and holy light */
act_info.c:3017:    }/*
act_info.c:3034:    }*/
act_info.c:3125:/*
act_info.c:3170:*/
act_info.c:3185:    /* this parts handles help a b so that it returns help 'a b' */
act_info.c:3237:            else if(pHelp->level!=-2/*strcmp(argall,"motd") && strcmp(argall,"imotd")*/)
act_info.c:3247:	    /*
act_info.c:3249:	     */
act_info.c:3250:	    /*if ( pHelp->text[0] == '.' )
act_info.c:3253:		page_to_char( pHelp->text  , ch );*/
act_info.c:3273:/* whois command */
act_info.c:3311:	    /* work out the printing */
act_info.c:3380:	    /* a little formatting */
act_info.c:3413://                ON_GQUEST(wch) ? "(GQuest)" : "",
act_info.c:3437:/*
act_info.c:3439: */
act_info.c:3468:    /*
act_info.c:3470:     */
act_info.c:3480:    /*
act_info.c:3482:     */
act_info.c:3508:            /*
act_info.c:3510:             */
act_info.c:3558:    /*
act_info.c:3560:     */
act_info.c:3572:        /*
act_info.c:3575:         */
act_info.c:3604:        /*
act_info.c:3606:	 */
act_info.c:3666:	/*
act_info.c:3668:	 */
act_info.c:3708://                ON_GQUEST(wch) ? "(GQuest)" : "",
act_info.c:3728://                ON_GQUEST(wch) ? "(GQuest)" : "",
act_info.c:3749:        /*
act_info.c:3752:         */
act_info.c:3785:        /*
act_info.c:3787:	 */
act_info.c:3831:/*	if (wch->class < MAX_CLASS/2)
act_info.c:3842:	}*/
act_info.c:3844:	/*
act_info.c:3846:	 */
act_info.c:3886://                ON_GQUEST(wch) ? "(GQuest)" : "",
act_info.c:3905:                //ON_GQUEST(wch) ? "(GQuest)" : "",
act_info.c:3940:    }/*
act_info.c:3944: */
act_info.c:4157:		value1 = 4 * (ch->level/3);
act_info.c:4167:		value2 = 4 * (ch->level/3);
act_info.c:4302:	ch->move -= move/2;
act_info.c:4347:	    ch->move -= move/2;
act_info.c:4396:    ch->move -= move/2;
act_info.c:4404://    BUFFER *output;
act_info.c:4430:    diff = ((victim->hit / 50) - (ch->hit / 50));
act_info.c:4448:sprintf( buf, "Hp: %ld/%ld  Mana: %ld/%ld  Lv: %d  Align: %d\n\r", 
act_info.c:4570:                    if (!found)  /* back it up */
act_info.c:4576:                    else /* found the second one */
act_info.c:4629:	"You say '{SI have %ld/%ld hp %ld/%ld mana %ld/%ld mv %ld xp.{x'\n\r",
act_info.c:4637:    sprintf( buf, "$n says '{SI have %ld/%ld hp %ld/%ld mana %ld/%ld mv %ld xp.{x'",
act_info.c:4668:	      || ch->pcdata->learned[sn] < 1 /* skill is not known */)
act_info.c:4673:	/*skill_table[sn].name, ch->pcdata->learned[sn] );*/
act_info.c:4718: 	||    ch->pcdata->learned[sn] < 1 /* skill is not known */
act_info.c:4737:		int_app[get_curr_stat(ch,STAT_INT)].learn / 
act_info.c:4761:/*
act_info.c:4763: */
act_info.c:4773:	wimpy = ch->max_hit / 5;
act_info.c:4783:    if ( wimpy > ch->max_hit/2 )
act_info.c:4809:    /*
act_info.c:4812:     */
act_info.c:4871:    /*
act_info.c:4873:     */
act_info.c:4915: /*
act_info.c:4917: */
act_info.c:4924: /*
act_info.c:4926: */
act_info.c:4957: /*
act_info.c:4959: */
act_info.c:4962:	sprintf( buf, "{GName           {DRace{w/{YClass   {gPosition      {mLevel  {R%%hps {w[{yVnum{w]{x\n\r");
act_info.c:4981: 		hptemp = (wch->hit*100)/wch->max_hit;
act_info.c:4989:	sprintf( buf, "{G%-14s {D%6s{w/{Y%3s    {g%-15s {m%-3d   {R%3d%%   {w[{y%ld{w]{x\n\r",
act_info.c:5000:/*
act_info.c:5002: */
act_info.c:5023:    //sprintf( result,"{c************************************************************{x\n\r");
act_info.c:5033://    sprintf( result,"{c************************************************************{x\n\r");
act_move.c:1:/***************************************************************************
act_move.c:16: ***************************************************************************/
act_move.c:18:/***************************************************************************
act_move.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
act_move.c:26:***************************************************************************/
act_move.c:28:/*************************************************************************** 
act_move.c:31:*       ROT license, in the file doc/rot.license                           * 
act_move.c:32:***************************************************************************/
act_move.c:38:#include <sys/types.h>
act_move.c:39:#include <sys/time.h>
act_move.c:46:/* command procedures needed */
act_move.c:52:/*
act_move.c:54: */
act_move.c:76:     /*
act_move.c:78:     */
act_move.c:192:	    /*
act_move.c:194:	     */
act_move.c:220:        move /= 2;  /* i.e. the average */
act_move.c:223:	/* conditional effects */
act_move.c:225:	    move /= 2;
act_move.c:283:    if (in_room == to_room) /* no circular follows */
act_move.c:314:    /* 
act_move.c:317:     */
act_move.c:326:/* RW Enter movable exits */
act_move.c:335:    /* nifty portal stuff */
act_move.c:405:		/*
act_move.c:407:		*/
act_move.c:432:            move /= 2;  /* i.e. the average */
act_move.c:435:	    /* conditional effects */
act_move.c:437:		move /= 2;
act_move.c:495:	/* protect against circular follows */
act_move.c:658: 	/* open portal */
act_move.c:685:	/* 'open object' */
act_move.c:704:	/* 'open door' */
act_move.c:719:	/* open the other side */
act_move.c:753:	/* portal stuff */
act_move.c:776:	/* 'close object' */
act_move.c:793:	/* 'close door' */
act_move.c:806:	/* close the other side */
act_move.c:855:	/* portal stuff */
act_move.c:894:	/* 'lock object' */
act_move.c:915:	/* 'lock door' */
act_move.c:934:	/* lock the other side */
act_move.c:964: 	/* portal stuff */
act_move.c:1003:	/* 'unlock object' */
act_move.c:1024:	/* 'unlock door' */
act_move.c:1043:	/* unlock the other side */
act_move.c:1074:    /* look for guards */
act_move.c:1094:	/* portal stuff */
act_move.c:1132:	/* 'pick object' */
act_move.c:1154:	/* 'pick door' */
act_move.c:1174:	/* pick the other side */
act_move.c:1303:    /* okay, now that we know we can rest, find an object to rest on */
act_move.c:1339:/* MUSKA */ 
act_move.c:1437:    /* okay, now that we know we can sit, find an object to sit on */
act_move.c:1471:/* MUSKA */
act_move.c:1565:	else  /* find an object and sleep on it */
act_move.c:1641: /*   if ( IS_AFFECTED(victim, AFF_SLEEP) )
act_move.c:1643:*/
act_move.c:1698:        af.duration  = ch->level/20;
act_move.c:1730:        af.duration  = ch->level/5;
act_move.c:1745:/*
act_move.c:1747: */
act_move.c:1819:	if ( number_percent() < 80 * skill / 100 )
act_move.c:1839:		ch->hit -= (ch->hit/4);
act_move.c:1888:    /*
act_move.c:1892:    do_goto(ch->pet,ch->master->name);*/
act_move.c:1910:    /*
act_move.c:1912:     */
act_move.c:2005:	    /*
act_move.c:2007:	     */
act_obj.c:1:/***************************************************************************
act_obj.c:16: ***************************************************************************/
act_obj.c:18:/***************************************************************************
act_obj.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
act_obj.c:26:***************************************************************************/
act_obj.c:27:/*************************************************************************** 
act_obj.c:30:*       ROT license, in the file doc/rot.license                           * 
act_obj.c:31:***************************************************************************/
act_obj.c:37:#include <sys/types.h>
act_obj.c:38:#include <sys/time.h>
act_obj.c:48:/* command procedures needed */
act_obj.c:57:/*
act_obj.c:59: */
act_obj.c:73:/* RT part of the corpse looting code */
act_obj.c:118:    /* variables for AUTOSPLIT */
act_obj.c:186:	/*	sprintf(buf, "$N has found %s, their questobject.", obj->short_descr);
act_obj.c:187:		wiznet(buf, ch, NULL, WIZ_QUESTS, 0, 0);*/
act_obj.c:195:	&&  ( ch->class < MAX_CLASS/2 )
act_obj.c:198:	&&  ( ch->class >= MAX_CLASS/2 )
act_obj.c:233:        { /* AUTOSPLIT code */
act_obj.c:289:    /* Get type. */
act_obj.c:301:	    /* 'get obj' */
act_obj.c:315:	    /* 'get all' or 'get all.obj' */
act_obj.c:344:	/* 'get ... container' */
act_obj.c:392:	    /* 'get obj container' */
act_obj.c:407:	    /* 'get all container' or 'get all.obj container' */
act_obj.c:521:/*
act_obj.c:528:    }*/
act_obj.c:705:	/* 'put obj container' */
act_obj.c:797:	/* 'put all container' or 'put all.obj container' */
act_obj.c:798:	/* check for gem or cubic pouches first */
act_obj.c:970:	/* 'drop NNNN coins' */
act_obj.c:1094:	/* 'drop obj' */
act_obj.c:1121:	/* 'drop all' or 'drop all.obj' */
act_obj.c:1189:	/* 'give NNNN coins victim' */
act_obj.c:1296:    	/*
act_obj.c:1298:	 */
act_obj.c:1332:		change = (95 * silver / 100 / 100);
act_obj.c:1336:		change = (95 * gold / 100 / 100);
act_obj.c:1361:		    (95 * amount / 100 - change * 100),
act_obj.c:1453:    /*
act_obj.c:1455:     */
act_obj.c:1467:/* for poisoning weapons and food/drink */
act_obj.c:1474:    /* find out what */
act_obj.c:1503:	if (number_percent() < skill)  /* success! */
act_obj.c:1556:            af.level     = ch->level * percent / 100;
act_obj.c:1557:            af.duration  = ch->level/2 * percent / 100;
act_obj.c:1874:	amount * liq_table[liquid].liq_affect[COND_DRUNK] / 36 );
act_obj.c:1876:	amount * liq_table[liquid].liq_affect[COND_FULL] / 4 );
act_obj.c:1878:	amount * liq_table[liquid].liq_affect[COND_THIRST] / 10 );
act_obj.c:1880:	amount * liq_table[liquid].liq_affect[COND_HUNGER] / 2 );
act_obj.c:1895:	ch->hit += ch->max_hit/20;
act_obj.c:1897:	ch->mana += ch->max_mana/15;
act_obj.c:1899:	ch->move += ch->max_move/15;
act_obj.c:1905:	/* The drink was poisoned ! */
act_obj.c:2059:	    /* The food was poisoned! */
act_obj.c:2090:/*
act_obj.c:2092: */
act_obj.c:2126:/*
act_obj.c:2130: */
act_obj.c:2137:	&&  ( ch->class < MAX_CLASS/2 )
act_obj.c:2140:	&&  ( ch->class >= MAX_CLASS/2 )
act_obj.c:2694:    /* variables for AUTOSPLIT */
act_obj.c:2811:    { /* AUTOSPLIT code */
act_obj.c:2942:    if (number_percent() >= 20 + get_skill(ch,gsn_scrolls) * 4/5)
act_obj.c:3003:	||   number_percent() >= 20 + get_skill(ch,gsn_staves) * 4/5)
act_obj.c:3129:	||  number_percent() >= 20 + get_skill(ch,gsn_wands) * 4/5) 
act_obj.c:3239:	/*
act_obj.c:3241:	 */
act_obj.c:3286:	gold = victim->gold * number_range(1, ch->level) / 60;
act_obj.c:3287:	silver = victim->silver * number_range(1,ch->level) / 60;
act_obj.c:3346:/*
act_obj.c:3348: */
act_obj.c:3368:    /*
act_obj.c:3370:     */
act_obj.c:3378:    /*
act_obj.c:3380:     */
act_obj.c:3393:    /*
act_obj.c:3395:     */
act_obj.c:3405:/* insert an object at the right spot for the keeper */
act_obj.c:3410:    /* see if any duplicates are found */
act_obj.c:3418:	    /* if this is an unlimited item, destroy the new one */
act_obj.c:3424:	    obj->cost = t_obj->cost; /* keep it standard */
act_obj.c:3447:/* get an object from a shopkeeper's list */
act_obj.c:3467:	    /* skip other objects of the same name */
act_obj.c:3488:	cost = obj->cost * pShop->profit_buy  / 100;
act_obj.c:3500:		cost = obj->cost * pShop->profit_sell / 100;
act_obj.c:3512:			cost /= 2;
act_obj.c:3514:                    	cost = cost * 3 / 4;
act_obj.c:3522:	    cost /= 4;
act_obj.c:3524:	    cost = cost * obj->value[2] / obj->value[1];
act_obj.c:3559:	/* hack to make new thalos pets work */
act_obj.c:3603:	/* haggle */
act_obj.c:3607:	    cost -= cost / 2 * roll / 100;
act_obj.c:3710:	    &&  ( ch->class < MAX_CLASS/2 )
act_obj.c:3713:	    &&  ( ch->class >= MAX_CLASS/2 )
act_obj.c:3734:	/* haggle */
act_obj.c:3739:	    cost -= obj->cost / 2 * roll / 100;
act_obj.c:3822:        /* hack to make new thalos pets work */
act_obj.c:3971:    /* haggle */
act_obj.c:3976:        cost += obj->cost / 2 * roll / 100;
act_obj.c:3977:        cost = UMIN(cost,95 * get_cost(keeper,obj,TRUE) / 100);
act_obj.c:4084:/* wear object as a secondary weapon */
act_obj.c:4089:    char buf[MAX_STRING_LENGTH]; /* overkill, but what the heck */
act_obj.c:4096:    if (argument[0] == '\0') /* empty */
act_obj.c:4102:    obj = get_obj_carry (ch, argument); /* find the obj withing ch's inventory */
act_obj.c:4115:    /* check if the char is using a shield or a held weapon */
act_obj.c:4129:	&&  ( ch->class < MAX_CLASS/2 )
act_obj.c:4132:	&&  ( ch->class >= MAX_CLASS/2 )
act_obj.c:4143:/* check that the character is using a first weapon at all */
act_obj.c:4144:    if (get_eq_char (ch, WEAR_WIELD) == NULL) /* oops - != here was a bit wrong :) */
act_obj.c:4162:/* check for str - secondary weapons have to be lighter */
act_obj.c:4169:/* check if the secondary weapon is heavier than the primary weapon */
act_obj.c:4176:/* at last - the char uses the weapon */
act_obj.c:4178:    if (!remove_obj(ch, WEAR_SECONDARY, TRUE)) /* remove the current weapon if any */
act_obj.c:4179:        return;                                /* remove obj tells about any no_remove */
act_obj.c:4181:/* char CAN use the item! that didn't take long at aaall */
act_obj.c:4197:    skill = ((get_weapon_skill(ch,sn)*get_skill(ch,gsn_dual_wield))/100);
act_obj.c:4229:    /*
act_obj.c:4231:     */
act_wiz.c:1:/***************************************************************************
act_wiz.c:16: ***************************************************************************/
act_wiz.c:18:/***************************************************************************
act_wiz.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
act_wiz.c:26:***************************************************************************/
act_wiz.c:28:/*************************************************************************** 
act_wiz.c:31:*       ROT license, in the file doc/rot.license                           * 
act_wiz.c:32:***************************************************************************/
act_wiz.c:38:#include <sys/types.h>
act_wiz.c:39:#include <sys/time.h>
act_wiz.c:54:/* command procedures needed */
act_wiz.c:80:/*
act_wiz.c:82: */
act_wiz.c:119:    /* show wiznet status */
act_wiz.c:142:    /* list of all wiznet options */
act_wiz.c:201:	||  (d->character->class >= MAX_CLASS/2))
act_wiz.c:273:/* equips a character */
act_wiz.c:313:    /* do the weapon thing */
act_wiz.c:317:    	vnum = OBJ_VNUM_SCHOOL_SWORD; /* just in case! */
act_wiz.c:359:/* RT nochannels command, for those spammers */
act_wiz.c:996:    /*
act_wiz.c:998:     */
act_wiz.c:1245:    /*
act_wiz.c:1248:     */
act_wiz.c:1408:/* RT to replace the 3 stat commands */
act_wiz.c:1447:   /* do it the old way */
act_wiz.c:1615:    sprintf( buf, "Number: %d/%d  Weight: %d/%d/%d (10th pounds)\n\r",
act_wiz.c:1639:    /* now give out vital statistics as per identify */
act_wiz.c:1718:		    send_to_char("spear/staff\n\r",ch);
act_wiz.c:1721:		    send_to_char("mace/club\n\r",ch);	
act_wiz.c:1747:		    (1 + obj->value[2]) * obj->value[1] / 2);
act_wiz.c:1751:	    	    ( obj->value[1] + obj->value[2] ) / 2 );
act_wiz.c:1759:	    if (obj->value[4])  /* weapon flags */
act_wiz.c:2002:    sprintf( buf, "Hp: %ld/%ld  Mana: %ld/%ld  Move: %ld/%ld  Practices: %d\n\r",
act_wiz.c:2058:	victim->carry_number, get_carry_weight(victim) / 10 );
act_wiz.c:2066:	    (int) (victim->played + current_time - victim->logon) / 3600, 
act_wiz.c:2139:    sprintf( buf, "Security: %d.\n\r", victim->pcdata->security ); /* OLC */
act_wiz.c:2140:    send_to_char( buf, ch );					   /* OLC */
act_wiz.c:2198:/* ofind and mfind replaced with vnum, vnum skill also added */
act_wiz.c:2244:	iAreaHalf = (top_area + 1) / 2;
act_wiz.c:2267:    /* do both */
act_wiz.c:2292:    fAll	= FALSE; /* !str_cmp( arg, "all" ); */
act_wiz.c:2297:    /*
act_wiz.c:2302:     */
act_wiz.c:2351:    fAll	= FALSE; /* !str_cmp( arg, "all" ); */
act_wiz.c:2356:    /*
act_wiz.c:2361:     */
act_wiz.c:2464:	/* show characters logged */
act_wiz.c:2538:/*void do_reboot( CHAR_DATA *ch, char *argument )
act_wiz.c:2559:}*/
act_wiz.c:2617:   // save_gquest_data();
act_wiz.c:2657:    //save_gquest_data();
act_wiz.c:2853:    /* change communications to match */
act_wiz.c:2895:/* trust levels for load and clone */
act_wiz.c:2908:/* for clone, to insure that cloning goes many levels deep */
act_wiz.c:2926:/* command that is similar to load */
act_wiz.c:2962:    else /* find both */
act_wiz.c:2973:    /* clone an object */
act_wiz.c:3048:/* RT to replace the two load commands */
act_wiz.c:3083:    /* echo syntax */
act_wiz.c:3134:    level = get_trust(ch); /* default */
act_wiz.c:3136:    if ( arg2[0] != '\0')  /* load with a level */
act_wiz.c:3262:	/* 'purge' */
act_wiz.c:3270:	    &&   victim != ch /* safety precaution */ )
act_wiz.c:3376:    /*
act_wiz.c:3382:     */
act_wiz.c:3442:   /* if (!IS_SET(ch->act, PLR_KEY))
act_wiz.c:3446:    }*/
act_wiz.c:3502:   /* if (!IS_SET(ch->act, PLR_KEY))
act_wiz.c:3506:    }*/
act_wiz.c:3606:    /* cure room */
act_wiz.c:3638:    /* cure all */
act_wiz.c:3934:    /*
act_wiz.c:3936:     */
act_wiz.c:4141:/* RT anti-newbie code */
act_wiz.c:4185:	    sprintf( buf, "{cSn{x: {Y%3d  {cSlot{x:{Y %3d{c  Skill{x/{cSpell{x: '{Y%s{x'{x\n\r",
act_wiz.c:4198:	sprintf( buf, "Sn: %3d  Slot: %3d  Skill/spell: '%s'\n\r",
act_wiz.c:4206:/* RT set replaces sset, mset, oset, and rset */
act_wiz.c:4248:    /* echo syntax */
act_wiz.c:4296:    /*
act_wiz.c:4298:     */
act_wiz.c:4364:    /* clear zones for mobs */
act_wiz.c:4367:    /*
act_wiz.c:4369:     */
act_wiz.c:4372:    /*
act_wiz.c:4374:     */
act_wiz.c:4389:   if ( !str_cmp( arg2, "security" ) )	/* OLC */
act_wiz.c:4770:    /*
act_wiz.c:4772:     */
act_wiz.c:4813:	/* clear zone for mobs */
act_wiz.c:4816:	/* string something */
act_wiz.c:4833:	    && (victim->class < MAX_CLASS/2))
act_wiz.c:4972:    	/* string an obj */
act_wiz.c:5030:    /* echo bad use message */
act_wiz.c:5113:    /*
act_wiz.c:5115:     */
act_wiz.c:5118:    /*
act_wiz.c:5120:     */
act_wiz.c:5229:    /*
act_wiz.c:5231:     */
act_wiz.c:5273:    /*
act_wiz.c:5275:     */
act_wiz.c:5283:    /*
act_wiz.c:5285:     */
act_wiz.c:5298:    /*
act_wiz.c:5300:     */
act_wiz.c:5328:           /* NB: You may need to edit the CON_ values */
act_wiz.c:5353:           /* Format "login" value... */
act_wiz.c:5387:/*
act_wiz.c:5389: */
act_wiz.c:5535:/*
act_wiz.c:5537: */
act_wiz.c:5543:    /* RT code for taking a level argument */
act_wiz.c:5547:    /* take the default path */
act_wiz.c:5576:    /* do the level thing */
act_wiz.c:5609:    /* RT code for taking a level argument */
act_wiz.c:5613:    /* take the default path */
act_wiz.c:5629:    /* do the level thing */
act_wiz.c:5655:    /* RT code for taking a level argument */
act_wiz.c:5659:    /* take the default path */
act_wiz.c:5675:    /* do the level thing */
act_wiz.c:5717:/* prefix command: it will put the string typed on each line typed */
act_wiz.c:5878:    af.modifier  = 0 * (105 / 5);
act_wiz.c:6033:    /*
act_wiz.c:6035:     */
act_wiz.c:6157:     /* make a new dupe */
act_wiz.c:6189:printf_to_char(ch,"{Y| {cRace {x:{g %-9s{Y| {cAQP{x :{g %-8ld{Y| {cHP{x     :{g %-6ld{x/{G%ld
act_wiz.c:6190:{Y| {cAge  {x:{g %-9d{Y| {cIQP{x :{g %-8d{Y| {cMN{x     :{g %-6ld{x/{G%ld
act_wiz.c:6191:{Y| {cSex  {x:{g %-9s{Y| {cDamr{x:{g %-8d{Y| {cMV{x     :{g %-6ld{x/{G%ld
act_wiz.c:6192:{Y| {cLevel{x:{g %-9d{Y| {cHitr{x:{g %-8d{Y| {cItems{x  :{g %-6d{x/{G%d
act_wiz.c:6193:{Y| {cClass{x:{g %-9s{Y| {cPlat{x:{g %-8ld{Y| {cWeight{x :{g %-6ld{x/{G%d
act_wiz.c:6201:class_table[victim->class].name,victim->platinum,get_carry_weight(victim) / 10, can_carry_w(victim) /10,
act_wiz.c:6203:victim->wimpy,victim->silver,victim->pcdata->balance, (int) (victim->played + current_time - victim->logon) / 3600);
act_wiz.c:6205:/*stats*/
act_wiz.c:6219:    /*AC*/
act_wiz.c:6240:    /* RT wizinvis and holy light */
act_wiz.c:6296:    double rooms = top_room, percent = (double) rcnt / (rooms / 100);
act_wiz.c:6297:    double arooms = (double) (arearooms (victim)), apercent = (double) arcnt / (arooms / 100);
act_wiz.c:6298:    printf_to_char (ch,"{Y| {cExplored: {g%4d{c/{G%4d{c rooms. ({W%5.2f%%{c of the world) ({W%5.2f%%{c of current area)\n\r{x",
act_wiz.c:6334:    /*
act_wiz.c:6336:     */
act_wiz.c:6446:    /*
act_wiz.c:6448:     */
act_wiz.c:6528:/* Vape command by Lucas Clav of Ash Planet (206.28.93.8:4000), you may use these commands
act_wiz.c:6529:as long as this header remains in tact. */
act_wiz.c:6701:/** Function: do_pload
act_wiz.c:6707:  * Written : v1.0 12/97
act_wiz.c:6709:  */
act_wiz.c:6725:  /* Dont want to load a second copy of a player who's allready online! */
act_wiz.c:6732:  isChar = load_char_obj(&d, name); /* char pfile exists? */
act_wiz.c:6746:  /* bring player to imm */
act_wiz.c:6749:    char_to_room( d.character, ch->in_room); /* put in room imm is in */
act_wiz.c:6763:/** Function: do_punload
act_wiz.c:6769:  * Written : v1.0 12/97
act_wiz.c:6771:  */
act_wiz.c:6785:  /** Person is legitametly logged on... was not ploaded.
act_wiz.c:6786:   */
act_wiz.c:6793:  if (victim->was_in_room != NULL) /* return player and pet to orig room */
act_wiz.c:6894:	/* create the affect */
act_wiz.c:6905:		/* make table work with skill_lookup */		
act_wiz.c:6954:/*
act_wiz.c:6961: */
act_wiz.c:7170:/*  if (IS_SET(victim->act,PLR_QUESTOR))
act_wiz.c:7177:*/
act_wiz.c:7266:void do_update( CHAR_DATA *ch, char *argument )         /* by Maniac */
act_wiz.c:7268:        if ( argument[0] == '\0' )      /* No options ??? */
act_wiz.c:7277:	 /*   if ( time_info.hour < 9 || time_info.hour > 17 )
act_wiz.c:7281:	    }*/
act_wiz.c:7290:/* Written by takeda (takeda@mathlab.sunysb.edu) *//*
act_wiz.c:7382:*/
alias.c:1:/***************************************************************************
alias.c:16: ***************************************************************************/
alias.c:18:/***************************************************************************
alias.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
alias.c:26:***************************************************************************/
alias.c:28:/*************************************************************************** 
alias.c:31:*       ROT license, in the file doc/rot.license                           * 
alias.c:32:***************************************************************************/
alias.c:37:#include <sys/types.h>
alias.c:44:/* does aliasing and other fun stuff */
alias.c:56:    /* check for prefix */
alias.c:78:    for (alias = 0; alias < MAX_ALIAS; alias++)	 /* go through the aliases */
alias.c:193:	if (!str_cmp(arg,rch->pcdata->alias[pos])) /* redefine an alias */
alias.c:209:     /* make a new alias */
arena.c:8:#include <sys/types.h>
arena.c:10:#include <sys/time.h>
arena.c:34:/*=======================================================================*
arena.c:42: *=======================================================================*/
arena.c:58:/* == First make all invalid checks == */
arena.c:155:/*
arena.c:165:*/
arena.c:222:/* == Now for the challenge == */
arena.c:271:/*=======================================================================*
arena.c:279: *=======================================================================*/
arena.c:307: /*== the room VNUM's for our arena.are ==*/
arena.c:309: /* we use 1051 thru 1066 for a 4x4 arena */
arena.c:317:/* == first make all invalid checks == */
arena.c:409:/* == now get to business == */
arena.c:415:/* == announce the upcoming event == */
arena.c:421:odd1 = ( lvl1 / lvl2 );
arena.c:423:odd2 = ( lvl2 / lvl1 );
arena.c:461:/* == now move them both to an arena for the fun == */
arena.c:471:// SET_BIT(ch->act,PLR_SILENCE);
arena.c:473:// SET_BIT(ch->act,PLR_NO_TELL);
arena.c:483:// SET_BIT(victim->act,PLR_SILENCE);
arena.c:485:// SET_BIT(victim->act,PLR_NO_TELL);
arena.c:495:/*=======================================================================*
arena.c:503: *=======================================================================*/
arena.c:519:/*== make all invalid checks == */
arena.c:581:/*== now actually decline == */
arena.c:625:/*======================================================================*
arena.c:633: *======================================================================*/
arena.c:677:/*== disable the actual fighters from betting ==*/
arena.c:695:/*== make sure the choice is valid ==*/
arena.c:735:/*== do away with the negative number trickery ==*/
arena.c:765:/*== make sure they have the cash ==*/
arena.c:779:/*== now set the info ==*/
auction.c:2:/* Auction.c */
auction.c:6:#include <sys/types.h>
auction.c:33:	/* Requesting info on the item */
auction.c:59:	} /* Aborting the auction */
auction.c:84:                {/*
auction.c:86:                   */     return;
auction.c:89:/* Listing the items for sale */
auction.c:119:	}/* Bidding on an item */
auction.c:159:		/*if ( ch->gold < bid )*/
auction.c:201:	/* Putting up an item for sale */
auction.c:329:	auction_list->owner->gold += (auction_list->gold_held * 9) / 10;
auction.c:331:	sprintf(temp, "You recieve %ld goldcoin%s.\n\r", ((auction_list->gold_held * 9) / 10) > 0 ? (auction_list->gold_held * 9) / 10:0,((auction_list->gold_held * 9) / 10) != 1 ? "s":"");
auction.c:374:    sprintf(buf1, "\n\r%s %s", iauc ? "{8({!I{1mmauctio{!n{8){x": "{8({7Au{&cti{7on{8){x", msg ); /* Add
auction.c:375:color if you wish */
auction.c:451:	obj->weight / 10,
auction.c:538:	    case(WEAPON_SPEAR)	: send_to_char("{^spear{/{^staff{6.{x\n\r",ch);	break;
auction.c:539:	    case(WEAPON_MACE) 	: send_to_char("{^mace{/{^club6.{x\n\r",ch);	break;
auction.c:549:		(1 + obj->value[2]) * obj->value[1] / 2);
auction.c:553:	    	( obj->value[1] + obj->value[2] ) / 2 );
auction.c:555:        if (obj->value[4])  /* weapon flags */
ban.c:1:/***************************************************************************   
ban.c:16: ***************************************************************************/
ban.c:18:/***************************************************************************
ban.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
ban.c:26:***************************************************************************/
ban.c:28:/*************************************************************************** 
ban.c:31:*       ROT license, in the file doc/rot.license                           * 
ban.c:32:***************************************************************************/
ban.c:38:#include <sys/types.h>
ban.c:39:#include <sys/time.h>
ban.c:218:    /* find out what type of ban */
ban.c:277:    /* set ban type */
bit.c:1:/***************************************************************************
bit.c:12: ***************************************************************************/
bit.c:13:/*
bit.c:18: */
bit.c:25:#include <sys/types.h>
bit.c:43:/*****************************************************************************
bit.c:49: ****************************************************************************/
bit.c:52:/*  {	structure		stat	}, */
bit.c:70:/* ROM specific flags: */
bit.c:89:/*****************************************************************************
bit.c:94: ****************************************************************************/
bit.c:110:/*
bit.c:112: * All code copyright (C) Russ Taylor, permission to use and/or distribute
bit.c:114: */
bit.c:115:/*****************************************************************************
bit.c:120: ****************************************************************************/
bit.c:135:/*****************************************************************************
bit.c:139: ****************************************************************************/
bit.c:157:    /*
bit.c:159:     */
bit.c:182:/*****************************************************************************
bit.c:183: Name:		flag_string( table, flags/stat )
bit.c:186: ****************************************************************************/
clans.c:1:/***************************************************************************
clans.c:16: ***************************************************************************/
clans.c:18:/***************************************************************************
clans.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
clans.c:26:***************************************************************************/
clans.c:28:/*************************************************************************** 
clans.c:31:*       ROT license, in the file doc/rot.license                           * 
clans.c:32:***************************************************************************/
clans.c:38:#include <sys/types.h>
clans.c:39:#include <sys/time.h>
clans.c:56:/*	name,		who entry,
clans.c:67:*/
clans.c:429:    else  /* cgossip message sent, turn cgossip on if it isn't already */
clans.c:604:/*	    if (IS_IMMORTAL(ch))
clans.c:605:	    {*/
clans.c:608:/*		for ( ; ; )
clans.c:615:*/		add_buf(output,buf);
clans.c:873:/* do_clanwho: hack of do_who to return everyone in your clan */
clans.c:907:    /*
clans.c:910:     */
clans.c:926:        /*
clans.c:931:         */
clans.c:949:	/*
clans.c:952:	 */
clans.c:955:	/*
clans.c:957:	 */
clans.c:1026:    /*if ( !is_clead(ch))
clans.c:1030:    }*/
clans.c:1099:                        ch->pcdata->clan_data->cbalance =+ value/20;
class.c:1:/* Online setting of skill/spell levels, 
class.c:4: */
class.c:6:#include "include.h" /* This includes all the usual include files */
class.c:8:/* 
class.c:10:  Class table levels loading/saving
class.c:12:*/
class.c:14:/* Save this class */
class.c:21:	sprintf (buf, "%sclasses/%s", DATA_DIR, class_table[num].name);
class.c:41:	fprintf (fp, "-1"); /* EOF -1 */
class.c:56:/* Load a class */
class.c:63:	sprintf (buf, "%sclasses/%s", DATA_DIR, class_table[num].name);
class.c:76:		fscanf (fp, " %[^\n]\n", buf); /* read name of skill into buf */
class.c:78:		n = skill_lookup (buf); /* find index */
class.c:139:		strcpy ( buf, "There is no such spell/skill as " );
comm.c:1:/***************************************************************************
comm.c:19: ***************************************************************************/
comm.c:21:/***************************************************************************
comm.c:28:*	ROM license, in the file Rom24/doc/rom.license			   *
comm.c:29:***************************************************************************/
comm.c:31:/*************************************************************************** 
comm.c:34:*       ROT license, in the file doc/rot.license                           * 
comm.c:35:***************************************************************************/
comm.c:37:/*
comm.c:39: *   startup, signals, BSD sockets for tcp/ip, i/o, timing.
comm.c:50: */
comm.c:55:#include <sys/types.h>
comm.c:56:#include <sys/time.h>
comm.c:72:/* command procedures needed */
comm.c:86:/*
comm.c:88: */
comm.c:101:/*
comm.c:105: */
comm.c:120:/*
comm.c:121: * Socket and TCP/IP stuff.
comm.c:122: */
comm.c:132:#include <netinet/in.h>
comm.c:133:#include <sys/socket.h>
comm.c:143:/*
comm.c:145: */
comm.c:147:#include <sys/select.h>
comm.c:148:/*int	accept		args( ( int s, struct sockaddr *addr, int *addrlen
comm.c:149:) );*/
comm.c:150:/*int	bind		args( ( int s, struct sockaddr *name, int namelen
comm.c:151:) );*/
comm.c:168:/*int	accept		args( ( int s, void *addr, int *addrlen ) );*/
comm.c:169:/*int	bind		args( ( int s, const void *addr, int addrlen )
comm.c:170:);*/
comm.c:182:#include <net/errno.h>
comm.c:183:#include <sys/fnctl.h>
comm.c:185:/*
comm.c:187://int	accept		args( ( int s, struct sockaddr *addr, int *addrlen ) );
comm.c:188://int	bind		args( ( int s, struct sockaddr *name, int namelen ) );
comm.c:200:*/
comm.c:243:/*int	accept		args( ( int s, struct sockaddr *addr, int *addrlen
comm.c:244:) );*/
comm.c:245:/*int	bind		args( ( int s, struct sockaddr *name, int namelen
comm.c:246:) );*/
comm.c:268:/* This includes Solaris Sys V as well */
comm.c:312:/*
comm.c:314: */
comm.c:315:DESCRIPTOR_DATA *   descriptor_list;	/* All open descriptors		*/
comm.c:316:DESCRIPTOR_DATA *   d_next;		/* Next descriptor in loop	*/
comm.c:317:FILE *		    fpReserve;		/* Reserved file handle		*/
comm.c:318:bool		    god;		/* All new chars are gods!	*/
comm.c:319:bool		    merc_down;		/* Shutdown			*/
comm.c:320:bool		    wizlock;		/* Game is wizlocked		*/
comm.c:321:bool		    newlock;		/* Game is newlocked		*/
comm.c:323:time_t		    current_time;	/* time of this pulse */	
comm.c:325:bool		    MOBtrigger = TRUE;  /* act() switch                 */
comm.c:330:/*
comm.c:332: */
comm.c:351:/*
comm.c:353: */
comm.c:365:/* Needs to be global because of do_copyover */
comm.c:373:    /*
comm.c:375:     */
comm.c:380:    /*
comm.c:382:     */
comm.c:387:    /*
comm.c:389:     */
comm.c:397:    /*
comm.c:399:     */
comm.c:407:        /*
comm.c:409:     */
comm.c:453:    /*
comm.c:455:     */
comm.c:481:    /*
comm.c:483:     */
comm.c:565:    /*
comm.c:567:     */
comm.c:576:    dcon.pEdit		= NULL;			/* OLC */
comm.c:577:    dcon.pString	= NULL;			/* OLC */
comm.c:578:    dcon.editor		= 0;			/* OLC */
comm.c:582:    /*
comm.c:584:     */
comm.c:642:    /* Main loop */
comm.c:647:	/*
comm.c:649:	 */
comm.c:686:	/* OLC */
comm.c:711:	/*
comm.c:713:	 */
comm.c:718:	/*
comm.c:720:	 */
comm.c:739:	/*
comm.c:742:	 */
comm.c:769:	    if ( delta >= 1000000 / PULSE_PER_SECOND )
comm.c:792:    /* Main loop */
comm.c:806:	/*
comm.c:808:	 */
comm.c:828:	/*
comm.c:830:	 */
comm.c:856:	/*
comm.c:858:	 */
comm.c:873:	/*
comm.c:875:	 */
comm.c:911:		/* OLC */
comm.c:936:	/*
comm.c:938:	 */
comm.c:943:	/*
comm.c:945:	 */
comm.c:965:	/*
comm.c:967:	 * Sleep( last_time + 1/PULSE_PER_SECOND - now ).
comm.c:969:	 */
comm.c:977:			+ 1000000 / PULSE_PER_SECOND;
comm.c:1013:/*void game_loop_unix( int control )
comm.c:1022:   */ /* Main loop *//*
comm.c:1036:      */	/*
comm.c:1038:	 *//*
comm.c:1057:*/
comm.c:1058:	/*
comm.c:1060:	 *//*
comm.c:1085:*/
comm.c:1086:	/*
comm.c:1088:	 *//*
comm.c:1102:*/
comm.c:1103:	/*
comm.c:1105:	 *//*
comm.c:1141:	*/	/* OLC *//*
comm.c:1165:*/
comm.c:1166:	/*
comm.c:1168:	 *//*
comm.c:1172:*/
comm.c:1173:	/*
comm.c:1175:	 *//*
comm.c:1195:*/	/*
comm.c:1197:	 * Sleep( last_time + 1/PULSE_PER_SECOND - now ).
comm.c:1199:	 *//*
comm.c:1207:			+ 1000000 / PULSE_PER_SECOND;
comm.c:1241:#endif*/
comm.c:1273:    /*
comm.c:1275:     */
comm.c:1276:/*   
comm.c:1284:*/
comm.c:1285:    dnew = new_descriptor(); /* new_descriptor now also allocates things */
comm.c:1287:    dnew->pEdit		= NULL;			/* OLC */
comm.c:1288:    dnew->pString	= NULL;			/* OLC */
comm.c:1289:    dnew->editor	= 0;			/* OLC */
comm.c:1299:	/*
comm.c:1302:	 */
comm.c:1317:    /*
comm.c:1324:     */
comm.c:1333:    /*
comm.c:1335:     */
comm.c:1339:    /*
comm.c:1341:     */
comm.c:1449:    /*
comm.c:1451:     */
comm.c:1469:	/*
comm.c:1472:	 */
comm.c:1510:        /*
comm.c:1513:         */
comm.c:1541:        /*
comm.c:1543:	 */
comm.c:1546:	/*
comm.c:1548:	 */
comm.c:1641:    /*        if ( IS_SET(ch->act2,PLR2_CHALLENGER) && arena == 0 )
comm.c:1652:         }*/
comm.c:1679:    /* Hold horses if pending command already. */
comm.c:1683:    /* Check for overflow. */
comm.c:1694:    /* Snarf input. */
comm.c:1745:/*
comm.c:1747: */
comm.c:1752:    /*
comm.c:1754:     */
comm.c:1758:    /*
comm.c:1760:     */
comm.c:1767:    /*
comm.c:1769:     */
comm.c:1776:	    /* skip the rest of the line */
comm.c:1793:    /*
comm.c:1795:     */
comm.c:1800:    /*
comm.c:1802:     */
comm.c:1850:    /*
comm.c:1852:     */
comm.c:1858:    /*
comm.c:1860:     */
comm.c:1870:/** Function: process_ansi_output
comm.c:1873:* Returns : TRUE/FALSE based on success of output to descriptor
comm.c:1874:* Syntax  : (N/A)
comm.c:1875:* Written : v1.0 5/98
comm.c:1877:*/
comm.c:1888:  /*
comm.c:1890:   */
comm.c:1894:  /*
comm.c:1896:   */
comm.c:1904:	{			/*
comm.c:1906:				 */
comm.c:1910:	    break;		/* problems...  */
comm.c:1913:	  counter = output;	/* increment counter  */
comm.c:1922:      /*
comm.c:1924:       */
comm.c:1925:      /*
comm.c:1927:       */
comm.c:1930:      clcode[0] = '\0';		/* Initialize buffer  */
comm.c:2059:	case 'A':	/* Auction Channel */
comm.c:2065:	case 'E':	/* Clan Gossip Channel */
comm.c:2071:	case 'F':	/* Clan Talk Channel */
comm.c:2077:	case 'H':	/* Gossip Channel */
comm.c:2083:	case 'J':	/* Grats Channel */
comm.c:2089:	case 'K':	/* Group Tell Channel */
comm.c:2095:	case 'L':	/* Immortal Talk Channel */
comm.c:2101:	case 'N':	/* Music Channel */
comm.c:2107:	case 'P':	/* Question+Answer Channel */
comm.c:2113:	case 'Q':	/* Quote Channel */
comm.c:2119:	case 'S':	/* Say Channel */
comm.c:2125:	case 'T':	/* Shout+Yell Channel */
comm.c:2131:	case 'U':	/* Tell+Reply Channel */
comm.c:2137:	case 'V':	/* Wiznet Messages */
comm.c:2143:	case 'a':	/* Mobile Talk */
comm.c:2149:	case 'e':	/* Room Title */
comm.c:2155:	case 'f':	/* Opponent Condition */
comm.c:2161:	case 'h':	/* Fight Actions */
comm.c:2167:	case 'i':	/* Opponents Fight Actions */
comm.c:2173:	case 'j':	/* Disarm Messages */
comm.c:2179:	case 'k':	/* Witness Messages */
comm.c:2185:	case 'l':	/* Quest Gossip */
comm.c:2196:      /*
comm.c:2198:       */
comm.c:2199:      work++;			/* pass the ansi request code  */
comm.c:2201:      /*
comm.c:2203:       */
comm.c:2217:/*
comm.c:2219: */
comm.c:2224:    /*
comm.c:2226:     */
comm.c:2241:        /* battle prompt */
comm.c:2249:                percent = victim->hit * 100 / victim->max_hit;
comm.c:2286:                percent = ch->hit * 100 / ch->max_hit;
comm.c:2314:/*            write_to_buffer( d, buf, 0); */
comm.c:2330:    /*
comm.c:2332:     */
comm.c:2336:    /*
comm.c:2338:     */
comm.c:2350:/*
comm.c:2354: */
comm.c:2437:    }/*
comm.c:2443:*/	    
comm.c:2486:    if( IS_IMMORTAL( ch))// && ch->in_room != NULL) )
comm.c:2497:    if( IS_IMMORTAL( ch ))// && ch->in_room != NULL ))
comm.c:2513:/*
comm.c:2515: */
comm.c:2518:    /*
comm.c:2520:     */
comm.c:2524:    /*
comm.c:2526:     */
comm.c:2534:    /*
comm.c:2536:     */
comm.c:2554:    /*
comm.c:2556:     */
comm.c:2564:/*
comm.c:2569: */
comm.c:2596:/*
comm.c:2598: */
comm.c:2663:/*
comm.c:2670:*/
comm.c:2698:	    /* Old player */
comm.c:2706:	    /* New player */
comm.c:2722:	    sprintf( buf, "Did I get that right, %s (Y/N)? ", argument );
comm.c:2754:/*	if (IS_SET(ch->act, PLR_REROLL ) )
comm.c:2790:OLD REROLL DUDE! */
comm.c:2792:       /*if ( IS_IMMORTAL(ch) )
comm.c:2796: 	}*/
comm.c:2848:/* RT code for breaking link */
comm.c:2987:    write_to_buffer(d,  "{gWould you like to turn {Yoff{g ANSI Colour now? ({WY{g/{RN{g){x",0);
comm.c:3072:	/* initialize stats */
comm.c:3085:	/* add skills */
comm.c:3092:	/* add cost */
comm.c:3105:/*
comm.c:3106:        write_to_buffer(d,  "{WWhat is your sex {w({BM{x/{MF{x/{RN{w){W?{x ", 0 );
comm.c:3107:        d->connected = CON_GET_NEW_SEX;*/
comm.c:3130:	write_to_buffer( d, echo_on_str, 0 );/*
comm.c:3142:	d->connected = CON_GET_NEW_CLASS;*/
comm.c:3144:        write_to_buffer(d,  "{WWhich alignment {w({BG{w/{GN{w/{DE{x){W?{x ",0);
comm.c:3169:	write_to_buffer( d, "\n\r", 2 );/*
comm.c:3171:	write_to_buffer(d,  "{WWhich alignment {w({BG{w/{GN{w/{DE{x){W?{x ",0);
comm.c:3172:	d->connected = CON_GET_ALIGNMENT;*/
comm.c:3173:        write_to_buffer(d,  "{WWhat is your sex {w({BM{x/{MF{x/{RN{w){W?{x ", 0 );
comm.c:3185:		write_to_buffer(d, "Which alignment (G/N/E)? ",0);
comm.c:3196:	write_to_buffer(d, "{WCustomize {w({YY{w/{RN{w){W?{x ",0);
comm.c:3230:            write_to_buffer(d,  "{WPlease answer {w({YY{w/{RN{w){W?{x ", 0 );
comm.c:3269:		ch->train = (40 - ch->pcdata->points + 1) / 2;
comm.c:3341:                                {WIP/Host: {c%s{x\n\r\n\r\n\r", 
comm.c:3350:/* add this while initializing all the racial stuff for new characters */
comm.c:3359:            ch->pcdata->plr_wager    = 0; /* arena betting amount */
comm.c:3360:            ch->pcdata->awins        = 0; /* arena wins           */
comm.c:3361:            ch->pcdata->alosses      = 0; /* arena losses         */
comm.c:3376:/*	    do_help(ch,"NEWBIE INFO");*/
comm.c:3424:/*
comm.c:3426: */
comm.c:3430:    /*
comm.c:3432:     */
comm.c:3442:    /*
comm.c:3444:     */
comm.c:3463:    /*
comm.c:3465:     */
comm.c:3480:    /*
comm.c:3483:     */
comm.c:3495:	    if ( isupper(*pc)) /* ugly anti-caps hack */
comm.c:3512:	if (cleancaps || (total_caps > (strlen(name)) / 2 && strlen(name) < 3))
comm.c:3516:    /*
comm.c:3518:     */
comm.c:3536:    /*
comm.c:3539:     */
comm.c:3568:/*
comm.c:3570: */
comm.c:3626:/*
comm.c:3628: */
comm.c:3643:	    write_to_buffer( d, "Do you wish to connect anyway (Y/N)?",0);
comm.c:3678:/*
comm.c:3680: */
comm.c:3703:/* string pager */
comm.c:3758:/* quick sex fixer */
comm.c:3768:/*
comm.c:3770: */
comm.c:4095:	case 'A':	/* Auction Channel */
comm.c:4105:	case 'E':	/* Clan Gossip Channel */
comm.c:4115:	case 'F':	/* Clan Talk Channel */
comm.c:4125:	case 'H':	/* Gossip Channel */
comm.c:4135:	case 'J':	/* Grats Channel */
comm.c:4145:	case 'K':	/* Group Tell Channel */
comm.c:4155:	case 'L':	/* Immortal Talk Channel */
comm.c:4165:	case 'N':	/* Music Channel */
comm.c:4175:	case 'P':	/* Question+Answer Channel */
comm.c:4185:	case 'Q':	/* Quote Channel */
comm.c:4195:	case 'S':	/* Say Channel */
comm.c:4205:	case 'T':	/* Shout+Yell Channel */
comm.c:4215:	case 'U':	/* Tell+Reply Channel */
comm.c:4225:	case 'V':	/* Wiznet Messages */
comm.c:4235:	case 'a':	/* Mobile Talk */
comm.c:4245:	case 'e':	/* Room Title */
comm.c:4255:	case 'f':	/* Opponent Condition */
comm.c:4265:	case 'h':	/* Fight Actions */
comm.c:4275:	case 'i':	/* Opponents Fight Actions */
comm.c:4285:	case 'j':	/* Disarm Messages */
comm.c:4295:	case 'k':	/* Witness Messages */
comm.c:4305:	case 'l':	/* Quest Gossip */
comm.c:4324:/*
comm.c:4326: */
comm.c:4516:    /* to be compatible with older code */
comm.c:4519:/*
comm.c:4525:}*/
comm.c:4617:/*
comm.c:4619: */
comm.c:4640:/* source: EOD, by John Booth <???> */
comm.c:4658:    spaces=(columns-strlen(argument))/2;
comm.c:4673:    /* top border */
comm.c:4680:    /* middle */
comm.c:4691:    /* bottom border */
comm.c:4711:/*
comm.c:4722:*/
comm.c:4727:/* This file holds the copyover data */
comm.c:4730:/* This is the executable file */
comm.c:4731:#define EXE_FILE	  "../src/rot"
comm.c:4733:/*
comm.c:4735:telnet://areth.com:4000
comm.c:4736:*/
comm.c:4740:/*  Copyover - Original idea: Fusion of MUD++
comm.c:4742: *  http://pip.dknet.dk/~pip1773
comm.c:4744: */
comm.c:4751:	extern int port, wwwport, control, wwwcontrol; /* db.c */
comm.c:4764:  /* Consider changing all saved areas here, if you use OLC */
comm.c:4765:  do_asave (NULL, "changed");	/* - autosave changed areas */
comm.c:4766:  //save_gquest_data();
comm.c:4770:	/* For each playing descriptor, save its state */
comm.c:4774:		d_next = d->next; /* We delete from the list , so need to save this */
comm.c:4776:		if (!d->character || d->connected > CON_PLAYING) /* drop those logging on */
comm.c:4779:			close_socket (d); /* throw'em out */
comm.c:4791:	/* Close reserve and other always-open files and release other resources */
comm.c:4795:	/* exec - descriptors are inherited */
comm.c:4805:	/* Failed - sucessful exec will not return */
comm.c:4809:	/* Here you might want to reopen fpReserve */
comm.c:4814:/* Recover from a copyover - load players */
comm.c:4828:	if (!fp) /* there are some descriptors open which will hang forever then ? */
comm.c:4835:	unlink (COPYOVER_FILE); /* In case something crashes - doesn't prevent reading	*/
comm.c:4843:		/* Write something, and check if it goes error-free */		
comm.c:4846:			close (desc); /* nope */
comm.c:4856:		d->connected = CON_COPYOVER_RECOVER; /* -15, so close_socket frees the char */
comm.c:4859:		/* Now, find the pfile */
comm.c:4863:		if (!fOld) /* Player file not found?! */
comm.c:4868:		else /* ok! */
comm.c:4872:			/* Just In Case */
comm.c:4876:			/* Insert in the char_list */
const.c:1:/***************************************************************************
const.c:16: ***************************************************************************/
const.c:18:/***************************************************************************
const.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
const.c:26:***************************************************************************/
const.c:28:/*************************************************************************** 
const.c:31:*       ROT license, in the file doc/rot.license                           * 
const.c:32:***************************************************************************/
const.c:37:#include <sys/types.h>
const.c:62:/* item type list */
const.c:102:/* weapon selection table */
const.c:118:/* wiznet table and prototype for future flag setting */
const.c:145:/* attack table  -- not very organized :(
const.c:148: */
const.c:151:    { 	"none",		"hit",		-1		},  /*  0 */
const.c:156:    {   "claw",		"claw",		DAM_SLASH	},  /*  5 */
const.c:161:    {	"bite",		"bite",		DAM_PIERCE	},  /* 10 */
const.c:166:    {	"charge",	"charge",	DAM_BASH	},  /* 15 */
const.c:171:    {   "divine",	"divine power",	DAM_HOLY	},  /* 20 */
const.c:176:    {   "chop",		"chop",		DAM_SLASH	},  /* 25 */
const.c:181:    {	"frbite",	"freezing bite", DAM_COLD	},  /* 30 */
const.c:191:    {   "typo",		"typo",		DAM_SLASH	}, /* 40 */
const.c:195:/* race table */
const.c:198:/*
const.c:210:*/
const.c:698:/*
const.c:710:*/
const.c:788:/*
const.c:801:*/
const.c:939:/*
const.c:951:*/
const.c:1434:/*
const.c:1436: */
const.c:1440:/*
const.c:1446:*/
const.c:1673:/*
const.c:1675: */
const.c:1679:/*	Mage	*/
const.c:1796:/*	Cleric	*/
const.c:1913:/*	Thief	*/
const.c:2030:/*	Warrior	*/
const.c:2147:/*	Ranger	*/
const.c:2264:/*	Druid	*/
const.c:2381:/*	Revenant	*/
const.c:2498:/*	Wizard	*/
const.c:2615:/*	Priest	*/
const.c:2732:/*	Mercenary	*/
const.c:2849:/*	Gladiator	*/
const.c:2966:/*	Strider	*/
const.c:3083:/*	Sage	*/
const.c:3200:/*	Vampire	*/
const.c:3315:/*	Sorcerer	*/
const.c:3432:  /*  Bishop	*/
const.c:3550:/*Assassin*/
const.c:3669:/*Berserker Class*/
const.c:3786:/*	Elder	*/
const.c:3904:/*lich*/
const.c:4020:/*	Mage	*/
const.c:4137:/*	Cleric	*/
const.c:4254:/*	Thief	*/
const.c:4371:/*	Warrior	*/
const.c:4488:/*	Ranger	*/
const.c:4605:/*	Druid	*/
const.c:4722:/*	Revenant	*/
const.c:4841:/*
const.c:4843: */
const.c:4846:    { -5, -4,   0,  0 },  /* 0  */
const.c:4847:    { -5, -4,   3,  1 },  /* 1  */
const.c:4849:    { -3, -1,  10,  3 },  /* 3  */
const.c:4851:    { -2, -1,  55,  5 },  /* 5  */
const.c:4856:    {  0,  0, 115, 10 }, /* 10  */
const.c:4859:    {  0,  0, 130, 13 }, /* 13  */
const.c:4861:    {  1,  1, 150, 15 }, /* 15  */
const.c:4864:    {  2,  3, 200, 25 }, /* 18  */
const.c:4866:    {  3,  5, 250, 35 }, /* 20  */
const.c:4871:    {  6,  9, 500, 60 }  /* 25   */
const.c:4878:    {  3 },	/*  0 */
const.c:4879:    {  5 },	/*  1 */
const.c:4881:    {  8 },	/*  3 */
const.c:4883:    { 10 },	/*  5 */
const.c:4888:    { 32 },	/* 10 */
const.c:4893:    { 70 },	/* 15 */
const.c:4896:    { 88 },	/* 18 */
const.c:4898:    { 98 },	/* 20 */
const.c:4903:    { 114 }	/* 25 */
const.c:4910:    { 0 },	/*  0 */
const.c:4911:    { 0 },	/*  1 */
const.c:4913:    { 0 },	/*  3 */
const.c:4915:    { 1 },	/*  5 */
const.c:4920:    { 1 },	/* 10 */
const.c:4925:    { 2 },	/* 15 */
const.c:4928:    { 3 },	/* 18 */
const.c:4930:    { 3 },	/* 20 */
const.c:4935:    { 5 }	/* 25 */
const.c:4942:    {   60 },   /* 0 */
const.c:4943:    {   50 },   /* 1 */
const.c:4947:    {   20 },   /* 5 */
const.c:4952:    {    0 },   /* 10 */
const.c:4957:    { - 10 },   /* 15 */
const.c:4962:    { - 50 },   /* 20 */
const.c:4967:    { -120 }    /* 25 */
const.c:4973:    {  0, 20 },   /*  0 */
const.c:4974:    {  1, 25 },   /*  1 */
const.c:4976:    {  3, 35 },	  /*  3 */
const.c:4978:    {  5, 45 },   /*  5 */
const.c:4983:    { 10, 70 },   /* 10 */
const.c:4988:    { 15, 90 },   /* 15 */
const.c:4991:    { 18, 100 },   /* 18 */
const.c:4993:    { 20, 110 },   /* 20 */
const.c:4998:    { 60, 160 }    /* 25 */
const.c:5003:/*
const.c:5008: */
const.c:5011:/*    name			color	proof, full, thirst, food, ssize */
const.c:5061:/*
const.c:5064: */
const.c:5070:/*
const.c:5072: */
const.c:5074:/*
const.c:5086:	NAME		Name of Spell/Skill
const.c:5087:	SKILL_LEVELS	Levels to obtain spell/skill per class
const.c:5092:	MIN_POSTITION	Position for caster/user
const.c:5104:*/
const.c:7259:/*
const.c:7261: */
const.c:7337:/*
const.c:7339:*/
const.c:7666:/*
const.c:7667: * Spells for mega1.are from Glop/Erkenbrand.
const.c:7668: */
const.c:7698:/* combat and weapons skills */
const.c:8316:/* non-combat skills */
const.c:8778:/*
const.c:8787:*/
const.c:9303:    },/*
const.c:9322:    },*/
curse.c:1:/***************************************************************************
curse.c:16: ***************************************************************************/
curse.c:18:/***************************************************************************
curse.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
curse.c:26:***************************************************************************/
curse.c:28:/*************************************************************************** 
curse.c:31:*       ROT license, in the file doc/rot.license                           * 
curse.c:32:***************************************************************************/
curse.c:38:#include <sys/types.h>
curse.c:39:#include <sys/time.h>
curse.c:55:    /* check for priest */
curse.c:72:        /* display price list */
curse.c:137:	deduct_cost(ch,cost/5,VALUE_SILVER);
curse.c:146:    if (spell == NULL)  /* Decrease alignment toward evil */
db.c:1:/***************************************************************************
db.c:16: ***************************************************************************/
db.c:18:/***************************************************************************
db.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
db.c:26:***************************************************************************/
db.c:28:/*************************************************************************** 
db.c:31:*       ROT license, in the file doc/rot.license                           * 
db.c:32:***************************************************************************/
db.c:45:#include <sys/types.h>
db.c:46:#include <sys/time.h>
db.c:47:#include <sys/resource.h>
db.c:63://long random();
db.c:70:/* externals for counting purposes */
db.c:77:/*
db.c:79: */
db.c:108://GQUEST gquest_info;
db.c:151:/* new gsns */
db.c:191:/*
db.c:193: */
db.c:216:int                     top_vnum_room;		/* OLC */
db.c:217:int                     top_vnum_mob;		/* OLC */
db.c:218:int                     top_vnum_obj;		/* OLC */
db.c:219:int			top_mprog_index;	/* OLC */
db.c:226:/*
db.c:230: */
db.c:248:/*
db.c:250: */
db.c:257:/*
db.c:259:*/
db.c:262:void    new_load_area   args( ( FILE *fp ) );   /* OLC */
db.c:271:/*void 	load_socials	args( ( FILE *fp ) );
db.c:272:*/
db.c:285:/*
db.c:287: */
db.c:291:    /*
db.c:293:     */
db.c:308:    /*
db.c:310:     */
db.c:320:    /*
db.c:322:     */
db.c:330:			/ (PULSE_TICK / PULSE_PER_SECOND);
db.c:333:	lday		= lhour  / 24;
db.c:335:	lmonth		= lday   / 35;
db.c:338:	time_info.year	= lmonth / 17;
db.c:360:    /* reboot counter */
db.c:361:	reboot_counter = 1440;	/* 12 hours */
db.c:366:    /*
db.c:368:     */
db.c:382:    /*
db.c:384:     */
db.c:435:/* OLC */     else if ( !str_cmp( word, "AREADATA" ) ) new_load_area(fpArea);
db.c:445:	/*	else if ( !str_cmp( word, "SOCIALS"  ) ) load_socials (fpArea);*/
db.c:461:    /*
db.c:466:     */
db.c:474:        convert_objects( );           /* ROM OLC */
db.c:500:    //log_string("Loading Gquest Data.");
db.c:501:      //  load_gquest_data();     
db.c:519:/*
db.c:521: */
db.c:527:   /*  pArea->reset_first	= NULL;
db.c:528:    pArea->reset_last	= NULL; */
db.c:532:    pArea->area_flags   = AREA_LOADING;         /* OLC */
db.c:533:    pArea->security     = 9;                    /* OLC */ /* 9 -- Hugin */
db.c:534:    pArea->builders     = str_dup( "None" );    /* OLC */
db.c:535:    pArea->vnum         = top_area;             /* OLC */
db.c:550:   REMOVE_BIT(area_last->area_flags, AREA_LOADING);        /* OLC */
db.c:558:/*
db.c:563: */
db.c:587:/* OLC
db.c:596: */
db.c:610:    pArea->security     = 9;                    /* 9 -- Hugin */
db.c:615:/*  pArea->recall       = ROOM_VNUM_TEMPLE;        ROM OLC */
db.c:663:/*
db.c:665: */
db.c:680:/*
db.c:682: */
db.c:725:/*
db.c:727: */
db.c:731:    /* for race updating */
db.c:735:    if ( !area_last )   /* OLC */
db.c:768:      pMobIndex->area                 = area_last;               /* OLC */
db.c:785:	/*
db.c:788:	 */
db.c:789:					  fread_number( fp );	/* Unused */
db.c:790:					  fread_number( fp );	/* Unused */
db.c:791:					  fread_number( fp );	/* Unused */
db.c:792:	/* 'd'		*/		  fread_letter( fp );	/* Unused */
db.c:793:					  fread_number( fp );	/* Unused */
db.c:794:	/* '+'		*/		  fread_letter( fp );	/* Unused */
db.c:795:					  fread_number( fp );	/* Unused */
db.c:796:					  fread_number( fp );	/* Unused */
db.c:797:	/* 'd'		*/		  fread_letter( fp );	/* Unused */
db.c:798:					  fread_number( fp );	/* Unused */
db.c:799:	/* '+'		*/		  fread_letter( fp );	/* Unused */
db.c:800:					  fread_number( fp );	/* Unused */
db.c:801:        pMobIndex->wealth               = fread_number( fp )/20;	
db.c:802:	/* xp can't be used! */		  fread_number( fp );	/* Unused */
db.c:803:	pMobIndex->start_pos		= fread_number( fp );	/* Unused */
db.c:804:	pMobIndex->default_pos		= fread_number( fp );	/* Unused */
db.c:811:	/*
db.c:813:	 */
db.c:816:    	/* compute the race BS */
db.c:821:            /* fill in with blanks */
db.c:849:      	convert_mobile( pMobIndex );                           /* ROM OLC */
db.c:855:       top_vnum_mob = top_vnum_mob < vnum ? vnum : top_vnum_mob;  /* OLC */
db.c:856:        assign_area_vnum( vnum );                                  /* OLC */
db.c:863:/*
db.c:865: */
db.c:870:      if ( !area_last )   /* OLC */
db.c:903:      pObjIndex->area                 = area_last;            /* OLC */
db.c:909:	/* Action description */	  fread_string( fp );
db.c:926:	pObjIndex->cost			= fread_number( fp );	/* Unused */
db.c:927:	/* Cost per day */		  fread_number( fp );
db.c:951:		paf->level		= 20; /* RT temp fix */
db.c:980:        /* fix armors */
db.c:987:	/*
db.c:989:	 */
db.c:1011:        top_vnum_obj = top_vnum_obj < vnum ? vnum : top_vnum_obj;   /* OLC */
db.c:1012:        assign_area_vnum( vnum );                                   /* OLC */
db.c:1018:/*
db.c:1021: */
db.c:1050:/*
db.c:1052: */
db.c:1083:	/* if_flag */	  fread_number( fp );
db.c:1092:	/*
db.c:1095:	 */
db.c:1189:/*
db.c:1191: */
db.c:1240:	/* Area number *///		  fread_number( fp );
db.c:1243:	/* horrible hack */
db.c:1246://	if ( 20000 <= vnum && vnum < 21000)
db.c:1247:	//   SET_BIT(pRoomIndex->room_flags,ROOM_NOWHERE);
db.c:1253:	/* defaults */
db.c:1264:	    if ( letter == 'H') /* healing room */
db.c:1267:	    else if ( letter == 'M') /* mana room */
db.c:1270:	   else if ( letter == 'C') /* clan */
db.c:1297:             pexit->rs_flags         = 0;                    /* OLC */
db.c:1301:            	pexit->orig_door	= door;			/* OLC */
db.c:1354:       top_vnum_room = top_vnum_room < vnum ? vnum : top_vnum_room; /* OLC */
db.c:1355:        assign_area_vnum( vnum );                                    /* OLC */
db.c:1361:/*
db.c:1363: */
db.c:1413:/*
db.c:1415: */
db.c:1444:/*
db.c:1446: */
db.c:1484:/*
db.c:1486: */
db.c:1522:/*
db.c:1526: */
db.c:1529:/*    extern const sh_int rev_dir [];
db.c:1530:    char buf[MAX_STRING_LENGTH]; */
db.c:1532:/*    ROOM_INDEX_DATA *to_room; */
db.c:1534:/*    EXIT_DATA *pexit_rev; */
db.c:1567:/*
db.c:1595:*/
db.c:1602:/*
db.c:1604: */
db.c:1617:	/*
db.c:1620:	 */
db.c:1647:/*		pRoomIndex = get_room_index( ROOM_VNUM_CLANS );*/
db.c:1664:/* OLC
db.c:1666: */
db.c:1689:	  /*  && !IS_SET( pExit->exit_info, EX_BASHED )   ROM OLC */ )  
db.c:1695:                /* nail the other side */
db.c:1734:/* */
db.c:1750:/* */
db.c:1753:            /*
db.c:1755:             */
db.c:1759:            /*
db.c:1761:             */
db.c:1776:            level  = URANGE( 0, pMob->level - 2, LEVEL_ANCIENT - 1 ); /* -1 ROM */
db.c:1807:	   pObj = create_object( pObjIndex,              /* UMIN - ROM OLC */
db.c:1826:            if (pReset->arg2 > 50) /* old format */
db.c:1828:            else if (pReset->arg2 == -1) /* no limit */
db.c:1836:              || ( pObjIndex->count >= limit /* && number_range(0,4) != 0 */ )
db.c:1842:                                          /* lastObj->level  -  ROM */
db.c:1853:	    /* fix object lock state! */
db.c:1878:	     if ( LastMob->pIndexData->pShop )   /* Shop-keeper? */
db.c:1903:	    olevel = UMAX(0,(olevel * 3 / 4) - 2);
db.c:1909:                /* ROM patch weapon, treasure */
db.c:1913:#if 0 /* envy version */
db.c:1918:#endif /* envy version */
db.c:1924:		SET_BIT( pObj->extra_flags, ITEM_INVENTORY );  /* ROM OLC */
db.c:1926:#if 0 /* envy version */
db.c:1929:#endif /* envy version */
db.c:1933:	    else   /* ROM OLC else version */
db.c:1936:		if (pReset->arg2 > 50 )  /* old format */
db.c:1938:		else if ( pReset->arg2 == -1 || pReset->arg2 == 0 )  /* no limit */
db.c:1947:		    /* error message if it is too high */
db.c:1948:/*
db.c:1959:*/
db.c:1965:#if 0 /* envy else version */
db.c:1970:#endif /* envy else version */
db.c:2009:	 /* OLC
db.c:2011: */
db.c:2026:/*
db.c:2028: */
db.c:2047:    mob->name		= str_dup( pMobIndex->player_name );    /* OLC */
db.c:2048:    mob->short_descr	= str_dup( pMobIndex->short_descr );    /* OLC */
db.c:2049:    mob->long_descr	= str_dup( pMobIndex->long_descr );     /* OLC */
db.c:2050:    mob->description	= str_dup( pMobIndex->description );    /* OLC */
db.c:2065:	wealth = number_range(pMobIndex->wealth/2, 3 * pMobIndex->wealth/2);
db.c:2066:	mob->gold = number_range(wealth/200,wealth/100);
db.c:2071:    /* load in new style */
db.c:2073:	/* read from prototype */
db.c:2098:                case (1): mob->dam_type = 3;        break;  /* slash */
db.c:2099:                case (2): mob->dam_type = 7;        break;  /* pound */
db.c:2100:                case (3): mob->dam_type = 11;       break;  /* pierce */
db.c:2111:        if (mob->sex == 3) /* random sex */
db.c:2121:	/* computed on the spot */
db.c:2124:            mob->perm_stat[i] = UMIN(25,11 + mob->level/4);
db.c:2179:        mob->perm_stat[STAT_CON] += (mob->size - SIZE_MEDIUM) / 2;
db.c:2181:	/* let's get some spell action */
db.c:2231:    else /* read in old format and convert */
db.c:2241:					mob->level * mob->level/4,
db.c:2249:	    case (1): mob->dam_type = 3; 	break;  /* slash */
db.c:2250:	    case (2): mob->dam_type = 7;	break;  /* pound */
db.c:2251:	    case (3): mob->dam_type = 11;	break;  /* pierce */
db.c:2272:            mob->perm_stat[i] = 11 + mob->level/4;
db.c:2278:    /* link the mob to the world list */
db.c:2285:/* duplicate a mobile exactly -- except inventory */
db.c:2294:    /* start fixing values */ 
db.c:2358:    /* now add the affects */
db.c:2366:/*
db.c:2368: */
db.c:2393:    obj->name		= str_dup( pObjIndex->name );           /* OLC */
db.c:2394:    obj->short_descr	= str_dup( pObjIndex->short_descr );    /* OLC */
db.c:2395:    obj->description	= str_dup( pObjIndex->description );    /* OLC */
db.c:2415:    /*
db.c:2417:     */
db.c:2448:	    obj->cost /= 5;
db.c:2485:	    obj->value[1] = number_fuzzy( number_fuzzy( 1 * level / 4 + 2 ) );
db.c:2486:	    obj->value[2] = number_fuzzy( number_fuzzy( 3 * level / 4 + 6 ) );
db.c:2493:	    obj->value[0]	= number_fuzzy( level / 5 + 3 );
db.c:2494:	    obj->value[1]	= number_fuzzy( level / 5 + 3 );
db.c:2495:	    obj->value[2]	= number_fuzzy( level / 5 + 3 );
db.c:2522:/* duplicate an object exactly -- except contents */
db.c:2532:    /* start fixing the object */
db.c:2550:    /* affects */
db.c:2556:    /* extended desc */
db.c:2570:/*
db.c:2572: */
db.c:2606:/*
db.c:2608: */
db.c:2631:/*
db.c:2634: */
db.c:2658:/*
db.c:2661: */
db.c:2685:/*
db.c:2688: */
db.c:2712:/*
db.c:2714: */
db.c:2730:/*
db.c:2732: */
db.c:2780:/*
db.c:2782: */
db.c:2891:	bitsum = 67108864; /* 2^26 */
db.c:2902:/*
db.c:2909: */
db.c:2922:    /*
db.c:2925:     */
db.c:2937:        /*
db.c:2941:         */
db.c:2950:	/* temp fix */
db.c:2953:            /* exit( 1 ); */
db.c:3034:    /*
db.c:3037:     */
db.c:3113:/*
db.c:3115: */
db.c:3138:/*
db.c:3140: */
db.c:3181:/*
db.c:3184: */
db.c:3224:/*
db.c:3227: */
db.c:3265:/*
db.c:3269: */
db.c:3303:/*
db.c:3306: */
db.c:3324:/*
db.c:3328: */
db.c:3341:/*
db.c:3359:    iAreaHalf = (top_area + 1) / 2;
db.c:3386:*/
db.c:3389:/* Code by Nebseni of Clandestine MUD */
db.c:3406:/* Code by Nebseni of Clandestine MUD ...
db.c:3407:   thanks to Erwin Andreasan for help with sscanf */
db.c:3408:/* Returns long (MAX_LEVEL + 1)*low-level + high-level */
db.c:3409:/* Example: Area with credits line: 
db.c:3412:   returns 221*10 + 25 = 2235 */
db.c:3413:/* Use modulo arithmetic for individual numbers, e.g.,
db.c:3414:   lo_level = get_area_level(Area) / (MAX_LEVEL+1);
db.c:3415:   hi_level = get_area_level(Area) % (MAX_LEVEL+1); */
db.c:3433:/* Code by Nebseni of Clandestine MUD */
db.c:3434:/* Creates a linked list starting with area_first_sorted, linking
db.c:3435:   on pArea->next_sort. Sorted on get_area_level. */
db.c:3446:  /* if only one area it is already sorted! */
db.c:3450:  /* iterate through the rest of the areas */
db.c:3456:    /* this area goes at head of sorted list */
db.c:3462:    /* iterate through list and insert appropriately */
db.c:3484:/*
db.c:3513:    if ( (get_area_level(pArea) / (MAX_LEVEL+1) <= hi_level) &&
db.c:3542:*/
db.c:3572:    if ( (get_area_level(pArea) / (MAX_LEVEL+1) <= hi_level) &&
db.c:3650:    /* open file */
db.c:3654:    /* report use of data structures */
db.c:3659:    /* mobile prototypes */
db.c:3663:    /* mobs */
db.c:3679:    /* pcdata */
db.c:3687:    /* descriptors */
db.c:3697:    /* object prototypes */
db.c:3710:    /* objects */
db.c:3724:    /* affects */
db.c:3732:    /* rooms */
db.c:3736:     /* exits */
db.c:3742:    /* start printing out mobile data */
db.c:3758:    /* start printing out object data */
db.c:3773:    /* close file */
db.c:3780:/*
db.c:3782: */
db.c:3796:/*
db.c:3798: */
db.c:3821:/*
db.c:3823: */
db.c:3836:/*
db.c:3838: */
db.c:3857:/*
db.c:3862: */
db.c:3864:/* I noticed streaking with this random number generator, so I switched
db.c:3866:   define OLD_RAND to use the old system -- Alander */
db.c:3926:/*
db.c:3928: */
db.c:3948:/*
db.c:3950: */
db.c:3953:    return value_00 + level * (value_32 - value_00) / 32;
db.c:3958:/*
db.c:3961: */
db.c:3975:/*
db.c:3979: */
db.c:4005:/*
db.c:4009: */
db.c:4033:/*
db.c:4037: */
db.c:4061:/*
db.c:4065: */
db.c:4089:/*
db.c:4093: */
db.c:4117:/*
db.c:4120: */
db.c:4138:/* make sure we don't start an infinite loop */
db.c:4178:/*
db.c:4181: */
db.c:4199:/* make sure we don't start an infinite loop */
db.c:4240:/*
db.c:4244: */
db.c:4260:/*
db.c:4262: */
db.c:4276:/*
db.c:4278: */
db.c:4305:/*
db.c:4307: */
db.c:4335:/* RT removed because we don't want bugs shutting the mud 
db.c:4341:*/
db.c:4347:/* RT removed due to bug-file spamming 
db.c:4355:*/
db.c:4362:/*
db.c:4364: */
db.c:4377:/*
db.c:4390: */
db.c:4605:/*
db.c:4608: */
db2.c:1:/***************************************************************************
db2.c:16: ***************************************************************************/
db2.c:18:/***************************************************************************
db2.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
db2.c:26:***************************************************************************/
db2.c:28:/*************************************************************************** 
db2.c:31:*       ROT license, in the file doc/rot.license                           * 
db2.c:32:***************************************************************************/
db2.c:43:#include <sys/types.h>
db2.c:44:#include <sys/time.h>
db2.c:54:/* values for db2.c */
db2.c:55:/*
db2.c:58:*/
db2.c:59:/* snarf a socials file */
db2.c:60:/*
db2.c:189:  */  
db2.c:195:/*
db2.c:197: */
db2.c:202:     if ( !area_last )   /* OLC */
db2.c:235:         pMobIndex->area                 = area_last;               /* OLC */
db2.c:262:	/* read hit dice */
db2.c:264:        /* 'd'          */                fread_letter( fp ); 
db2.c:266:        /* '+'          */                fread_letter( fp );   
db2.c:269: 	/* read mana dice */
db2.c:276:	/* read damage dice */
db2.c:284:	/* read armor class */
db2.c:290:	/* read flags and add in data from the race table */
db2.c:300:	/* vital statistics */
db2.c:311:	/* size */
db2.c:396:         top_vnum_mob = top_vnum_mob < vnum ? vnum : top_vnum_mob;  /* OLC */
db2.c:397:        assign_area_vnum( vnum );                                  /* OLC */
db2.c:404:/*
db2.c:406: */
db2.c:411:    if ( !area_last )   /* OLC */
db2.c:444:        pObjIndex->area                 = area_last;            /* OLC */
db2.c:510:        /* condition */
db2.c:597:	   else if ( letter == 'C') /* clan */
db2.c:623:	   else if ( letter == 'G') /* guild */
db2.c:644:         top_vnum_obj = top_vnum_obj < vnum ? vnum : top_vnum_obj;   /* OLC */
db2.c:645:        assign_area_vnum( vnum );                                   /* OLC */
db2.c:651:/*****************************************************************************
db2.c:661:*****************************************************************************/
db2.c:671:    if ( newobjs == top_obj_index ) return; /* all objects in new format */
db2.c:779:		} /* switch ( pReset->command ) */
db2.c:784:    /* do the conversion: */
db2.c:797:/*****************************************************************************
db2.c:803: ****************************************************************************/
db2.c:807:    int number, type;  /* for dice-conversion */
db2.c:813:    pObjIndex->level    = UMAX( 0, pObjIndex->level ); /* just to be sure */
db2.c:847:	    /*
db2.c:870:	     */
db2.c:872:	    number = UMIN(level/4 + 1, 5);
db2.c:873:	    type   = (level + 7)/number;
db2.c:880:            pObjIndex->value[0] = level / 5 + 3;
db2.c:903:/*****************************************************************************
db2.c:909: ****************************************************************************/
db2.c:922:    /*
db2.c:946:     */
db2.c:947:    type   = level*level*27/40;
db2.c:948:    number = UMIN(type/40 + 1, 10); /* how do they get 11 ??? */
db2.c:949:    type   = UMAX(2, type/number);
db2.c:960:    /*
db2.c:963:     */
db2.c:964:    type   = level*7/4;
db2.c:965:    number = UMIN(type/8 + 1, 5);
db2.c:966:    type   = UMAX(2, type/number);
db2.c:967:    bonus  = UMAX(0, level*9/4 - number*type);
db2.c:975:        case (1): pMobIndex->dam_type =  3;       break;  /* slash  */
db2.c:976:        case (2): pMobIndex->dam_type =  7;       break;  /* pound  */
db2.c:977:        case (3): pMobIndex->dam_type = 11;       break;  /* pierce */
db2.c:982:    pMobIndex->ac[3]             = interpolate( level, 100, 0);    /* exotic */
db2.c:984:    pMobIndex->wealth           /= 100;
drunk.c:1:/***************************************************************************
drunk.c:16: ***************************************************************************/
drunk.c:18:/***************************************************************************
drunk.c:25:*	ROM license, in the file Delicate02/doc/rom.license                *
drunk.c:26:***************************************************************************/
drunk.c:31:#include <sys/types.h>
drunk.c:40:/* How to make a string look drunk... by Apex (robink@htsa.hva.nl) */
drunk.c:41:/* Modified and enhanced for envy(2) by the Maniac from Mythran */
drunk.c:42:/* Further mods/upgrades for ROM 2.4 by Kohl Desenee */
drunk.c:46:/* This structure defines all changes for a character */
drunk.c:109:  /* Check how drunk a person is... */
drunk.c:143:      buf[pos] = '\0';          /* Mark end of the string... */
economy.c:1:/*
economy.c:14: *              -Follow the envy/merc/diku license
economy.c:17: * All my snippets can be found on http://www.hhs.nl/~v942346/snippets.html
economy.c:19: */
economy.c:25:#include <sys/types.h>
economy.c:26:#include <sys/time.h>
economy.c:40:int     share_value = SHARE_VALUE;      /* External share_value by Maniac */
economy.c:46:        /* The Mythran mud economy system (bank and trading)
economy.c:56:        * 18/05/96:     Added the transfer option, enables chars to transfer
economy.c:58:        * 18/05/96:     Big bug detected, can deposit/withdraw/transfer
economy.c:62:        * 21/06/96:     Fixed a bug in transfer (transfer to MOBS)
economy.c:64:        * 21/06/96:     Started on the invest option, so players can invest
economy.c:66:        *               Finished version 1.0 releasing it monday 24/06/96
economy.c:67:        * 24/06/96:     Mythran Mud Economy System V1.0 released by Maniac
economy.c:69:        */
economy.c:70:	/*
economy.c:72:	* 23/07/97:	Make it less screwy in general by fixing it so that
economy.c:75:	*/
economy.c:88:        /* Check for mob with act->banker */
economy.c:94:		if ( IS_NPC(mob) )/*
economy.c:96:               */ if (IS_SET(mob->act2, ACT2_BANKER ) )
economy.c:126:        /* Now work out what to do... */
economy.c:170:        /* We only allow transfers if this is true... so define it... */
economy.c:251:        /* If you want to have an invest option... define BANK_INVEST */
economy.c:354:        do_bank( ch, "" );              /* Generate Instructions */
effects.c:1:/***************************************************************************
effects.c:16: ***************************************************************************/
effects.c:18:/***************************************************************************
effects.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
effects.c:26:***************************************************************************/
effects.c:28:/*************************************************************************** 
effects.c:31:*       ROT license, in the file doc/rot.license                           * 
effects.c:32:***************************************************************************/
effects.c:37:#include <sys/types.h>
effects.c:48:    if (target == TARGET_ROOM) /* nail objects on the floor */
effects.c:61:    if (target == TARGET_CHAR)  /* do the effect on a victim */
effects.c:66:	/* let's toast some gear */
effects.c:75:    if (target == TARGET_OBJ) /* toast an object */
effects.c:87:	chance = level / 4 + dam / 10;
effects.c:90:	    chance = (chance - 25) / 2 + 25;
effects.c:92:	    chance = (chance - 50) / 2 + 50;
effects.c:136:	if (obj->item_type == ITEM_ARMOR)  /* etch it */
effects.c:157:            /* needs a new affect */
effects.c:177:	/* get rid of the object */
effects.c:178:	if (obj->contains)  /* dump contents */
effects.c:194:		acid_effect(t_obj,level/2,dam/2,TARGET_OBJ);
effects.c:208:    if (target == TARGET_ROOM) /* nail objects on the floor */
effects.c:221:    if (target == TARGET_CHAR) /* whack a character */
effects.c:230:	/* hunger! (warmth sucked out */
effects.c:232:	    gain_condition(victim,COND_HUNGER,dam/20);
effects.c:234:	/* let's toast some gear */
effects.c:243:   if (target == TARGET_OBJ) /* toast an object */
effects.c:254:	chance = level / 4 + dam / 10;
effects.c:257:	    chance = (chance - 25) / 2 + 25;
effects.c:259:	    chance = (chance - 50) / 2 + 50;
effects.c:298:    if (target == TARGET_ROOM)  /* nail objects on the floor */
effects.c:311:    if (target == TARGET_CHAR)   /* do the effect on a victim */
effects.c:315:/*
effects.c:318:	&&  !saves_spell(level / 4 + dam / 20, victim,DAM_FIRE))
effects.c:328:            af.duration     = number_range(0,level/10);
effects.c:330:            af.modifier     = level/-10;
effects.c:334:	}*/
effects.c:336:	/* getting thirsty */
effects.c:338:	    gain_condition(victim,COND_THIRST,dam/20);
effects.c:340:	/* let's toast some gear! */
effects.c:350:    if (target == TARGET_OBJ)  /* toast an object */
effects.c:362:        chance = level / 4 + dam / 10;
effects.c:365:            chance = (chance - 25) / 2 + 25;
effects.c:367:            chance = (chance - 50) / 2 + 50;
effects.c:415:            /* dump the contents */
effects.c:430:		fire_effect(t_obj,level/2,dam/2,TARGET_OBJ);
effects.c:441:    if (target == TARGET_ROOM)  /* nail objects on the floor */
effects.c:454:    if (target == TARGET_CHAR)   /* do the effect on a victim */
effects.c:459:	/* chance of poisoning */
effects.c:460:        if (!saves_spell(level / 4 + dam / 20,victim,DAM_POISON))
effects.c:471:            af.duration  = level / 2;
effects.c:478:	/* equipment */
effects.c:487:    if (target == TARGET_OBJ)  /* do some poisoning */
effects.c:498:	chance = level / 4 + dam / 10;
effects.c:500:	    chance = (chance - 25) / 2 + 25;
effects.c:502:	    chance = (chance - 50) / 2 + 50;
effects.c:549:	/* daze and confused? */
effects.c:550:	if (!saves_spell(level/4 + dam/20,victim,DAM_LIGHTNING))
effects.c:553:	    DAZE_STATE(victim,UMAX(12,level/4 + dam/20));
effects.c:556:	/* toast some gear */
effects.c:576:	chance = level / 4 + dam / 10;
effects.c:579:	    chance = (chance - 25) / 2 + 25;
effects.c:581:	    chance = (chance - 50) /2 + 50;
explore.c:76:  explored[index / 8] |= 1 << (index % 8);
explore.c:82:  return (IS_SET (explored[index / 8], 1 << (index % 8)) != 0);
explore.c:131:	explored[index / 8] |= 1 << (index % 8);
explore.c:160:    double rooms = top_room, percent = (double) rcnt / (rooms / 100);
explore.c:172:    double percent = (double) rcnt / (rooms / 100);
fight.c:1:/***************************************************************************
fight.c:16: ***************************************************************************/
fight.c:18:/***************************************************************************
fight.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
fight.c:26:***************************************************************************/
fight.c:28:/*************************************************************************** 
fight.c:31:*       ROT license, in the file doc/rot.license                           * 
fight.c:32:***************************************************************************/
fight.c:37:#include <sys/types.h>
fight.c:47:/* command procedures needed */
fight.c:71:/*
fight.c:73: */
fight.c:101:/*
fight.c:104: */
fight.c:129:	/*
fight.c:131:	 */
fight.c:146:/* for auto assisting */
fight.c:158:	    /* quick check for ASSIST_PLAYER */
fight.c:168:	    /* PCs next */
fight.c:180:	    /* now check the NPC cases */
fight.c:233:/*
fight.c:235: */
fight.c:240:    /* decrement the wait */
fight.c:248:    /* no attacks for stunnies -- just a check */
fight.c:273:	chance = (get_skill(ch,gsn_dual_wield)/3)*2;
fight.c:301:    chance = get_skill(ch,gsn_second_attack)/2;
fight.c:304:	chance /= 2;
fight.c:317:    chance = get_skill(ch,gsn_third_attack)/2;
fight.c:320:	chance /= 2;
fight.c:333:    chance = get_skill(ch, gsn_fourth_attack)/2;
fight.c:336:	chance /= 3;
fight.c:349:    chance = get_skill(ch, gsn_fifth_attack)/2;
fight.c:362:chance = get_skill(ch, gsn_sixth_attack)/2;
fight.c:371:chance = get_skill(ch, gsn_seventh_attack)/2;
fight.c:385:/* procedure for all mobile attacks */
fight.c:399:    /* Area attack -- BALLS nasty! */
fight.c:416:	chance = (get_skill(ch,gsn_dual_wield)/3)*2;
fight.c:434:    chance = get_skill(ch,gsn_second_attack)/2;
fight.c:437:	chance /= 2;
fight.c:444:	chance = get_skill(ch,gsn_third_attack)/2;
fight.c:447:	    chance /= 2;
fight.c:455:	    chance = get_skill(ch, gsn_fourth_attack)/2;
fight.c:458:		chance /= 3;
fight.c:466:		chance = get_skill(ch, gsn_fifth_attack)/2;
fight.c:478:                chance = get_skill(ch, gsn_sixth_attack)/2;
fight.c:490:                chance = get_skill(ch, gsn_seventh_attack)/2;
fight.c:505:    /* oh boy!  Fun stuff! */
fight.c:514:	/*  { mob_cast_mage(ch,victim); return; } */ ;
fight.c:519:	/* { mob_cast_cleric(ch,victim); return; } */ ;
fight.c:522:    /* now for the skills */
fight.c:561:	    /* do_tail(ch,"") */ ;
fight.c:573:	    /* do_crush(ch,"") */ ;
fight.c:585:/*
fight.c:587: */
fight.c:605:    /* just in case */
fight.c:609:    /*
fight.c:612:     */
fight.c:616:    /*
fight.c:619:     */
fight.c:644:    /* get the weapon skill */
fight.c:648:    /*
fight.c:650:     */
fight.c:654:	thac0_32 = -4;   /* as good as a thief */ 
fight.c:678:        thac0 = thac0/2;
fight.c:681:        thac0 = -5 + (thac0 + 5) / 2;
fight.c:683:    thac0 -= GET_HITROLL(ch) * skill/100;
fight.c:684:    thac0 += 5 * (100 - skill) / 100;
fight.c:705:	case(DAM_PIERCE):victim_ac = GET_AC(victim,AC_PIERCE)/10;	break;
fight.c:706:	case(DAM_BASH):	 victim_ac = GET_AC(victim,AC_BASH)/10;		break;
fight.c:707:	case(DAM_SLASH): victim_ac = GET_AC(victim,AC_SLASH)/10;	break;
fight.c:708:	default:	 victim_ac = GET_AC(victim,AC_EXOTIC)/10;	break;
fight.c:712:	victim_ac = (victim_ac + 15) / 5 - 15;
fight.c:723:    /*
fight.c:725:     */
fight.c:732:	/* Miss. */
fight.c:738:    /*
fight.c:741:     */
fight.c:745:	    dam = number_range( ch->level / 2, ch->level * 3 / 2 );
fight.c:747:	    	dam += dam / 2;
fight.c:760:		dam = dice(ch->level/3,3) * skill/100;
fight.c:764:		    dam = dice(wield->value[1],wield->value[2]) * skill/100;
fight.c:766:	    	    dam = number_range( wield->value[1] * skill/100, 
fight.c:767:				wield->value[2] * skill/100);
fight.c:770:	    if (get_eq_char(ch,WEAR_SHIELD) == NULL)  /* no shield = more */
fight.c:771:		dam = dam * 11/10;
fight.c:773:	    /* sharpness! */
fight.c:778:		if ((percent = number_percent()) <= (skill / 8))
fight.c:779:		    dam = 2 * dam + (dam * 2 * percent / 100);
fight.c:785:                if ((percent = number_percent()) <= (skill / 8))
fight.c:786:                    dam = 3 * dam + (dam * 3 * percent / 105);
fight.c:793:	    dam = number_range( 1 + 4 * skill/100, 2 * ch->level/3 * skill/100);
fight.c:796:    /*
fight.c:798:     */
fight.c:805:            dam += 2 * ( dam * diceroll/300);
fight.c:809:         dam += dam * ((number_percent()/2+get_skill(ch,gsn_critical))/2) / 50;
fight.c:814:	dam = dam * 3 / 2;
fight.c:819:	    dam *= 2 + (ch->level / 10); 
fight.c:821:	    dam *= 2 + (ch->level / 8);
fight.c:826:	    dam *= 5 + (ch->level / 12); 
fight.c:828:	    dam *= 5 + (ch->level / 10);
fight.c:832:            dam *= 2 + (ch->level / 10);
fight.c:834:            dam *= 2 + (ch->level / 8);
fight.c:850:         dam *= 2 + (ch->level / 9);
fight.c:853:         dam *= 2 + (ch->level / 8);
fight.c:861:      dam *= (ch->level / 33); /* max * 3 */
fight.c:864:      dam *= 2 + (ch->level/50); /* max * 4 */
fight.c:866:    dam += GET_DAMROLL(ch) * UMIN(100,skill) /100;
fight.c:871:/*    result = damage( ch, victim, dam, dt, dam_type, TRUE );*/
fight.c:879:    /* but do we have a funky weapon? */
fight.c:894:	    if (!saves_spell(level / 2,victim,DAM_POISON)) 
fight.c:903:    		af.level     = level * 3/4;
fight.c:904:    		af.duration  = level / 2;
fight.c:911:	    /* weaken the poison if it's temporary */
fight.c:929:            ch->mana += dam/2;
fight.c:942:	    ch->hit += dam/2;
fight.c:947:	    dam = number_range(1,wield->level / 4 + 1);
fight.c:950:	    fire_effect( (void *) victim,wield->level/2,dam,TARGET_CHAR);
fight.c:956:	    dam = number_range(1,wield->level / 6 + 2);
fight.c:960:	    cold_effect(victim,wield->level/2,dam,TARGET_CHAR);
fight.c:966:	    dam = number_range(1,wield->level/5 + 2);
fight.c:971:	    shock_effect(victim,wield->level/2,dam,TARGET_CHAR);
fight.c:1072:/*
fight.c:1074: */
fight.c:1091:    /* just in case */
fight.c:1095:    /*
fight.c:1098:     */
fight.c:1102:    /*
fight.c:1105:     */
fight.c:1130:    /* get the weapon skill */
fight.c:1134:    /*
fight.c:1136:     */
fight.c:1140:	thac0_32 = -4;   /* as good as a thief */ 
fight.c:1164:        thac0 = thac0/2;
fight.c:1167:        thac0 = -5 + (thac0 + 5) / 2;
fight.c:1169:    thac0 -= GET_HITROLL(ch) * skill/100;
fight.c:1170:    thac0 += 5 * (100 - skill) / 100;
fight.c:1187:	case(DAM_PIERCE):victim_ac = GET_AC(victim,AC_PIERCE)/10;	break;
fight.c:1188:	case(DAM_BASH):	 victim_ac = GET_AC(victim,AC_BASH)/10;		break;
fight.c:1189:	case(DAM_SLASH): victim_ac = GET_AC(victim,AC_SLASH)/10;	break;
fight.c:1190:	default:	 victim_ac = GET_AC(victim,AC_EXOTIC)/10;	break;
fight.c:1194:	victim_ac = (victim_ac + 15) / 5 - 15;
fight.c:1205:    /*
fight.c:1207:     */
fight.c:1214:	/* Miss. */
fight.c:1220:    /*
fight.c:1223:     */
fight.c:1227:	    dam = number_range( ch->level / 2, ch->level * 3 / 2 );
fight.c:1229:	    	dam += dam / 2;
fight.c:1242:		dam = dice(ch->level/3,3) * skill/100;
fight.c:1246:		    dam = dice(wield->value[1],wield->value[2]) * skill/100;
fight.c:1248:	    	    dam = number_range( wield->value[1] * skill/100, 
fight.c:1249:				wield->value[2] * skill/100);
fight.c:1252:	    if (get_eq_char(ch,WEAR_SHIELD) == NULL)  /* no shield = more */
fight.c:1253:		dam = dam * 11/10;
fight.c:1255:	    /* sharpness! */
fight.c:1260:		if ((percent = number_percent()) <= (skill / 8))
fight.c:1261:		    dam = 2 * dam + (dam * 2 * percent / 100);
fight.c:1267:	    dam = number_range( 1 + 4 * skill/100, 2 * ch->level/3 * skill/100);
fight.c:1270:    /*
fight.c:1272:     */
fight.c:1279:            dam += 2 * ( dam * diceroll/300);
fight.c:1289:	dam = dam * 3 / 2;
fight.c:1294:	    dam *= 2 + (ch->level / 10); 
fight.c:1296:	    dam *= 2 + (ch->level / 8);
fight.c:1301:	    dam *= 2 + (ch->level / 12); 
fight.c:1303:	    dam *= 2 + (ch->level / 10);
fight.c:1308:            dam *= 2 + (ch->level / 12);
fight.c:1310:            dam *= 2 + (ch->level / 7);    
fight.c:1325:         dam *= 2 + (ch->level / 9);
fight.c:1328:         dam *= 2 + (ch->level / 8);
fight.c:1336:      dam *= (ch->level / 33); /* max * 3 */
fight.c:1338:    dam += GET_DAMROLL(ch) * UMIN(100,skill) /100;
fight.c:1360:/*
fight.c:1363: */
fight.c:1377:	/*
fight.c:1380:	 */
fight.c:1403:	/*
fight.c:1405:	 */
fight.c:1409:    /*
fight.c:1411:     */
fight.c:1421:    /*
fight.c:1423:     */
fight.c:1427:	dam = 9 * dam / 10;
fight.c:1430:	dam /= 2;
fight.c:1434:	dam -= dam / 4;
fight.c:1439:/*    if ( (dam > 1) && (dt>0) && (dt < TYPE_HIT) &&
fight.c:1443:      && (number_percent() < (50-(ch->level/5)+(victim->level/10))))
fight.c:1444:       dam= dam/5;
fight.c:1445:    }*/
fight.c:1450:    /*
fight.c:1452:     */
fight.c:1467:      dam += dam * ((number_percent()/2+get_skill(ch,gsn_critical))/2) / 50;
fight.c:1475:	/*dam += dam * number_range(0,get_skill(ch,gsn_critical)/2)/100;*/
fight.c:1476:        dam += dam * ((number_percent()/2+get_skill(ch,gsn_critical))/2) / 100;
fight.c:1487:	    dam -= dam/3;
fight.c:1490:	    dam += dam/2;
fight.c:1493:    /* damage reduction */
fight.c:1495:	dam = (dam - 35)/2 + 35;
fight.c:1497:	dam = (dam - 80)/2 + 80; 
fight.c:1515:      int absorb=(dam/10)*number_range(1,4);
fight.c:1534:    /*
fight.c:1537:     */
fight.c:1546:	ch->hit = UMIN(ch->hit+((dam/3)*2), ch->max_hit);
fight.c:1588:	if ( dam > victim->max_hit / 4 )
fight.c:1590:	if ( victim->hit < victim->max_hit / 4 )
fight.c:1595:    /*
fight.c:1597:     */
fight.c:1610:    /*
fight.c:1612:     */
fight.c:1627:	    /*
fight.c:1629:	     * 2/3 way back to previous level.
fight.c:1630:	     */
fight.c:1634:			         * victim->level - victim->exp)/6) + 50 );
fight.c:1647:     	/*
fight.c:1649:	 */
fight.c:1658:        /* dump the flags */
fight.c:1666:        /* RT new auto commands */
fight.c:1675:		 corpse && corpse->contains) /* exists and not empty */
fight.c:1679:	        corpse && corpse->contains  && /* exists and not empty */
fight.c:1688:		return dam;  /* leave if corpse has treasure */
fight.c:1699:    /*
fight.c:1701:     */
fight.c:1711:    /*
fight.c:1713:     */
fight.c:1714:    if ( IS_NPC(victim) && dam > 0 && victim->wait < PULSE_VIOLENCE / 2)
fight.c:1717:	&&   victim->hit < victim->max_hit / 5) 
fight.c:1726:    &&   victim->wait < PULSE_VIOLENCE / 2 )
fight.c:1733:/*
fight.c:1735: */
fight.c:1748:	dam = (dam - 35)/2 + 35;
fight.c:1750:	dam = (dam - 80)/2 + 80; 
fight.c:1753:    /*
fight.c:1755:     */
fight.c:1759:	dam = 9 * dam / 10;
fight.c:1762:	dam /= 2;
fight.c:1766:	dam -= dam / 4;
fight.c:1778:	    dam -= dam/3;
fight.c:1781:	    dam += dam/2;
fight.c:1844:    /* ARENA room checking */
fight.c:1850:    /* killing mobiles */
fight.c:1854:	/* safe room? */
fight.c:1867:	/* no killing healers, trainers, etc */
fight.c:1881:	    /* no pets */
fight.c:1889:	    /* no charmed creatures unless owner */
fight.c:1897:    /* killing players */
fight.c:1900:	/* NPC doing the killing */
fight.c:1903:	    /* safe room check */
fight.c:1910:	    /* charmed mobs and pets cannot attack players while owned */
fight.c:1918:	/* player doing the killing */
fight.c:1925:	    || ((victim->class >= MAX_CLASS/2)
fight.c:1974:         }/*
fight.c:1977:   */
fight.c:1978:/*         if (!IS_NPC(victim))
fight.c:1980:*/    }
fight.c:2003:           lvalue=ch->level/11;
fight.c:2005:        lvalue=ch->level/10;
fight.c:2083:    /* ARENA room checking */
fight.c:2091:    /* killing mobiles */
fight.c:2094:	/* safe room? */
fight.c:2101:	/* no killing healers, trainers, etc */
fight.c:2112:	    /* no pets */
fight.c:2116:	    /* no charmed creatures unless owner */
fight.c:2120:	    /* legal kill? -- cannot hit mob fighting non-group member */
fight.c:2126:	    /* area effect spells do not hit other mobs */
fight.c:2131:    /* killing players */
fight.c:2137:	/* NPC doing the killing */
fight.c:2140:	    /* charmed mobs and pets cannot attack players while owned */
fight.c:2145:	    /* safe room? */
fight.c:2149:	    /* legal kill? -- mobs only hit players grouped with opponent*/
fight.c:2154:	/* player doing the killing */
fight.c:2156:	{/*
fight.c:2159:*/
fight.c:2164:	    || ((victim->class >= MAX_CLASS/2)
fight.c:2193:	    if ( ( ( ch->class < MAX_CLASS/2 )
fight.c:2194:	    && ( victim->class < MAX_CLASS/2 ) )
fight.c:2195:	    || ( ( ch->class >= MAX_CLASS/2 )
fight.c:2196:	    && ( victim->class >= MAX_CLASS/2 ) ) )
fight.c:2221: chance = get_skill(ch, gsn_critical) / 6;
fight.c:2226:   chance /= 2;
fight.c:2240:/*
fight.c:2242: */
fight.c:2250:    chance = get_skill(victim,gsn_parry) / 2;
fight.c:2255:	    chance /= 2;
fight.c:2262:/*
fight.c:2264:	chance /= 2;
fight.c:2265:*/
fight.c:2268:/*
fight.c:2271:*/
fight.c:2278:/*
fight.c:2280: */
fight.c:2297:    chance = get_skill(victim,gsn_shield_block) / 5 + 3;
fight.c:2299:      chance = (chance+(get_skill(victim,gsn_shield_levitation)/5+3))/2;
fight.c:2309:/*
fight.c:2313:  */
fight.c:2325:/*
fight.c:2327: */
fight.c:2335:    chance = get_skill(victim,gsn_dodge) / 2;
fight.c:2338:	chance /= 2;
fight.c:2345:/*
fight.c:2348:  */
fight.c:2358:/*
fight.c:2360: */
fight.c:2391:/*
fight.c:2393: */
fight.c:2414:/*
fight.c:2416: */
fight.c:2445:/*
fight.c:2447: */
fight.c:2518:		obj_to_obj(create_money(ch->platinum/2, ch->gold / 2, ch->silver/2), corpse);
fight.c:2519:		ch->platinum -= ch->platinum/2;
fight.c:2520:		ch->gold -= ch->gold/2;
fight.c:2521:		ch->silver -= ch->silver/2;
fight.c:2561:	    if (IS_OBJ_STAT(obj,ITEM_ROT_DEATH)) /* get rid of it! */
fight.c:2600:/*
fight.c:2602: */
fight.c:2889:   /* tattoo = get_eq_char(victim, WEAR_TATTOO);  
fight.c:2890:    if (tattoo != NULL) obj_from_char(tattoo);*/
fight.c:2891:    if ((tattoo = get_eq_char(victim, WEAR_TATTOO)) != NULL)	/* keep tattoo */
fight.c:2893:    if ((ctattoo = get_eq_char(victim, WEAR_CTATTOO)) != NULL)    /* keep tattoo */
fight.c:2939:/*  save_char_obj( victim ); we're stable enough to not need this :) */
fight.c:2958:    /*
fight.c:2962:     */
fight.c:2973:	    group_levels += IS_NPC(gch) ? gch->level / 2 : gch->level;
fight.c:3006:/*
fight.c:3015:	    if (chance((MAX_GQUEST_MOB - gquest_info.mob_count) / 2 + gquest_info.mob_count))
fight.c:3030: */
fight.c:3086:/*
fight.c:3090:*/
fight.c:3105:  /* compute the base exp */
fight.c:3158:      if(IS_NPC(victim) )/* at max a mob with all worth 5 level above his own*/
fight.c:3161:            base_exp = (base_exp * 130) / 100;
fight.c:3164:            base_exp = (base_exp * 120) / 100;
fight.c:3166:            base_exp = (base_exp * 120) / 100;
fight.c:3168:            base_exp = (base_exp * 120) / 100;
fight.c:3170:            base_exp = (base_exp * 110) / 100;
fight.c:3172:            base_exp = (base_exp * 110) / 100;
fight.c:3183:             base_exp = (base_exp * 125) / 100;
fight.c:3189:                base_exp = (base_exp * 120) / 100;
fight.c:3192:                base_exp = (base_exp * 110) / 100;
fight.c:3195:    /*    back to normal code    -------------------- */
fight.c:3197:  /* do alignment computations */
fight.c:3203:    /* no change */
fight.c:3206:  else if (align > 500)		/* monster is more good than slayer */
fight.c:3208:    change = (align - 500) * base_exp / 500 * gch->level / total_levels;
fight.c:3215:  else if (align < -500)	/* monster is more evil than slayer */
fight.c:3217:    change = (-1 * align - 500) * base_exp / 500 * gch->level / total_levels;
fight.c:3225:    /* improve this someday */
fight.c:3227:    change = gch->alignment * base_exp / 500 * gch->level / total_levels;
fight.c:3233:  /* calculate exp multiplier for align */
fight.c:3237:  else if (gch->alignment > 500)	/* for goodie two shoes */
fight.c:3240:      xp = (base_exp * 4) / 3;
fight.c:3243:      xp = (base_exp * 5) / 4;
fight.c:3246:      xp = base_exp / 4;
fight.c:3249:      xp = base_exp / 2;
fight.c:3252:      xp = (base_exp * 3) / 4;
fight.c:3258:  else if (gch->alignment < -500)	/* for baddies */
fight.c:3261:      xp = (base_exp * 5) / 4;
fight.c:3264:      xp = (base_exp * 11) / 10;
fight.c:3267:      xp = base_exp / 2;
fight.c:3270:      xp = (base_exp * 3) / 4;
fight.c:3273:      xp = (base_exp * 9) / 10;
fight.c:3279:  else if (gch->alignment > 200)	/* a little good */
fight.c:3283:      xp = (base_exp * 6) / 5;
fight.c:3286:      xp = base_exp / 2;
fight.c:3289:      xp = (base_exp * 3) / 4;
fight.c:3295:  else if (gch->alignment < -200)	/* a little bad */
fight.c:3298:      xp = (base_exp * 6) / 5;
fight.c:3301:      xp = base_exp / 2;
fight.c:3304:      xp = (base_exp * 3) / 4;
fight.c:3311:    /* neutral */
fight.c:3315:      xp = (base_exp * 4) / 3;
fight.c:3318:      xp = base_exp / 2;
fight.c:3324:/*(   
fight.c:3326:    	xp = 10 * xp / (gch->level + 20);
fight.c:3330:	xp =  10 * xp / (gch->level - 60 );
fight.c:3331:*/
fight.c:3333:     xp= 90 * xp / gch->level;
fight.c:3334:  /* randomize the rewards */
fight.c:3335:  xp = number_range (xp * 8 / 5, xp * 9 / 5);
fight.c:3337:  xp90 = 90 * xp / 100;		/* 90% limit for one grouped player   */
fight.c:3339:  /* adjust for grouping */
fight.c:3340:  xp = xp * gch->level / (UMAX (1, total_levels - 1));
fight.c:3342:  /* modified for groups of more than 1 -- Elrac */
fight.c:3345:    xp = 120 * xp / 100;	/* everyone gets a 20% bonus for grouping */
fight.c:3347:      xp = xp90;		/* but no more than the single grouped player limit */
fight.c:3430:/*    else
fight.c:3443:*/
fight.c:3512:/*
fight.c:3515: */
fight.c:3550:/*
fight.c:3554:*/      
fight.c:3588:    /* modifiers */
fight.c:3590:    /* fighting */
fight.c:3594:    /* damage -- below 50% of hp helps, above hurts */
fight.c:3595:    hp_percent = 100 * ch->hit/ch->max_hit;
fight.c:3596:    chance += 25 - hp_percent/2;
fight.c:3604:	ch->move /= 2;
fight.c:3606:	/* heal a little damage */
fight.c:3617:	af.duration	= number_fuzzy(ch->level / 8);
fight.c:3618:	af.modifier	= UMAX(1,ch->level/5);
fight.c:3627:	af.modifier	= UMAX(10,10 * (ch->level/5));
fight.c:3636:	ch->move /= 2;
fight.c:4007:    /* modifiers */
fight.c:4009:    /* size  and weight */
fight.c:4010:    chance += ch->carry_weight / 250;
fight.c:4011:    chance -= victim->carry_weight / 200;
fight.c:4019:    /* stats */
fight.c:4021:    chance -= (get_curr_stat(victim,STAT_DEX) * 4)/3;
fight.c:4022:    chance += GET_AC(victim,AC_BASH) /25;
fight.c:4023:    /* speed */
fight.c:4029:    /* level */
fight.c:4034:    {	/*
fight.c:4038:        return;*/
fight.c:4042:    /* now the attack */
fight.c:4056:	damage(ch,victim,number_range(2,2 + 2 * ch->size + chance/20),gsn_bash,
fight.c:4058:	chance = (get_skill(ch,gsn_stun)/5);
fight.c:4061:	    chance = (get_skill(ch,gsn_stun)/5);
fight.c:4087:	WAIT_STATE(ch,skill_table[gsn_bash].beats * 3/2); 
fight.c:4167:    /* modifiers */
fight.c:4169:    /* dexterity */
fight.c:4173:    /* speed  */
fight.c:4179:    /* level */
fight.c:4182:    /* sloppy hack to prevent false zeroes */
fight.c:4186:    /* terrain */
fight.c:4208:    /* now the attack */
fight.c:4312:    /* modifiers */
fight.c:4314:    /* dexterity */
fight.c:4318:    /* speed  */
fight.c:4324:    /* level */
fight.c:4327:    /* sloppy hack to prevent false zeroes */
fight.c:4331:    /* now the attack */
fight.c:4445:    /* modifiers */
fight.c:4447:    /* size */
fight.c:4449:        chance += (ch->size - victim->size) * 10;  /* bigger = harder to trip */
fight.c:4451:    /* dex */
fight.c:4453:    chance -= get_curr_stat(victim,STAT_DEX) * 3 / 2;
fight.c:4455:    /* speed */
fight.c:4461:    /* level */
fight.c:4465:    /* now the attack */
fight.c:4482:	WAIT_STATE(ch,skill_table[gsn_trip].beats*2/3);
fight.c:4726:    if ( victim->hit < victim->max_hit / 1.5)
fight.c:4829:    if ( victim->hit < victim->max_hit / 1.5)
fight.c:4860:/* Create Wednesday November 8th 2000 by Belmakor for Kindred Spirits. 
fight.c:4861:  Any usage must retain this header */ 
fight.c:4915:   if ( victim->hit < victim->max_hit / 4) 
fight.c:4930:   /* dexterity */ 
fight.c:4934:   /* speed  */ 
fight.c:4940:   /* level */ 
fight.c:4943:   /* sloppy hack to prevent false zeroes */ 
fight.c:4947:   /* now the attack */ 
fight.c:4959:       /* Leave the garrote on the choke the shit out of em */ 
fight.c:5032:    /* level */
fight.c:5035:    /* sloppy hack to prevent false zeroes */
fight.c:5048://	act("Someone whacks $n upside the head, $n is knocked out cold!",victim,NULL,NULL,TO_ROOM);
fight.c:5051:/* This damaged the victim too, but i couldnt get it the numbers right.
fight.c:5054:*/
fight.c:5062:	af.duration	= ch->level/40;
fight.c:5073:/* Another try
fight.c:5076:*/
fight.c:5107:    if ( victim->hit < victim->max_hit / 3)
fight.c:5126:    WAIT_STATE( ch, skill_table[gsn_circle].beats/2 );
fight.c:5169:        chance = get_skill(victim,gsn_counter) / 6;
fight.c:5170:        chance += ( victim->level - ch->level ) / 2;
fight.c:5204:    damage(victim,ch,dam/2, gsn_counter , dam_type ,TRUE ); /* DAM MSG NUMBER!! */
fight.c:5230:        /* Now, if it passed all the tests... */
fight.c:5257:    if ( victim->hit < victim->max_hit / 6)
fight.c:5271:    if ( number_percent( ) < get_skill(ch,gsn_feed)/3
fight.c:5278:	dam=number_range( (((ch->level/2)+(victim->level/2))/3),
fight.c:5279:		(((ch->level/2)+(victim->level/2))/3)*2 );
fight.c:5334:            if( ( (ch->class == 2) || (ch->class == (MAX_CLASS/2)+1) )
fight.c:5335:            && (number_percent() < 3*(ch->level/2) ) )
fight.c:5344:                    ch->hit -= (ch->hit/8);
fight.c:5352:                    ch->hit -= (ch->hit/4);
fight.c:5532:    /* find weapon skills */
fight.c:5537:    /* modifiers */
fight.c:5539:    /* skill */
fight.c:5541:	chance = chance * hth/150;
fight.c:5543:	chance = chance * ch_weapon/100;
fight.c:5545:    chance += (ch_vict_weapon/2 - vict_weapon) / 2; 
fight.c:5547:    /* dex vs. strength */
fight.c:5551:    /* level */
fight.c:5554:    chance /= 2;
fight.c:5556:    /* and now the attack */
fight.c:5568:	if (number_percent() > (chance/5)*4)
fight.c:5714:   WAIT_STATE(ch,skill_table[gsn_rub].beats/2);
fight.c:5718:/* Coded by Shinji - mudnet.net:7000 */
fight.c:5780:        damage( ch, ch, ch->hit / 10, gsn_sharpen, WEAR_NONE, DAM_ENERGY );
fight.c:5791:     /*   if (chance(10))
fight.c:5798:       */
fight.c:5847:        WAIT_STATE( ch, skill_table[gsn_rampage].beats/2 );
fight.c:5944:   af.duration = ch->level/5;
fight.c:6004:/* STAKE skill by The Mage */
fight.c:6054:    /*    if (IS_NPC(victim) && (!IS_SET(victim->act,ACT_UNDEAD)))
fight.c:6059:    */
fight.c:6083:    /* modifiers */
fight.c:6091:    /* stats */
fight.c:6092:    chance -= GET_AC(victim,AC_PIERCE) /25;
fight.c:6093:    /* speed */
fight.c:6099:    /* level */
fight.c:6102:    /* now the attack */
fight.c:6117:	damage(ch,victim,((ch->level*(dice((int)ch->level/4,6))) + ch->level),gsn_stake,
fight.c:6132:	WAIT_STATE(ch,skill_table[gsn_stake].beats * 3/2); 
fight.c:6292:    WAIT_STATE( ch, skill_table[gsn_thrust].beats/2 );
fight.c:6318:/*
fight.c:6323:    }*/
fight.c:6343:        /* one_hit( ch, pChar, gsn_whirlwind, FALSE );*/
fight.c:6350:        /* one_hit( ch, pChar, gsn_whirlwind, FALSE );*/
fight.c:6407:  af.duration  = ch->level / 5;
fight.c:6416:  af.duration  = ch->level / 5;
fight.c:6418:  af.modifier  = ch->level / 3;
fight.c:6425:  af.duration  = ch->level / 5;
fight.c:6427:  af.modifier  = ch->level / 3;
fight.c:6436:    DESCRIPTOR_DATA *d; /* needed for Arena bet checking */
fight.c:6461:    odds = ( lvl2 / lvl1 );
fight.c:6473:             /* reset the betting info */
fight.c:6491:               /* d->character->pcdata->quest -= tmp;*/
fight.c:6493:             /* reset the betting info */
fight.c:6500:    /* now move both fighters out of arena and back
fight.c:6502:       ROOM_VNUM_AWINNER and ROOM_VNUM_ALOSER */
fight.c:6531:   /* REMOVE_BIT(ch->act, PLR_SILENCE);
fight.c:6534:    REMOVE_BIT(victim->act,PLR_NO_TELL);*/
fight.c:6536:    arena = FIGHT_OPEN; /* clear the arena */
finger.c:1:/***************************************************************************
finger.c:16: ***************************************************************************/
finger.c:18:/***************************************************************************
finger.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
finger.c:26:***************************************************************************/
finger.c:28:/*************************************************************************** 
finger.c:31:*       ROT license, in the file doc/rot.license                           * 
finger.c:32:***************************************************************************/
finger.c:37:#include <sys/types.h>
finger.c:38:#include <sys/time.h>
flags.c:1:/***************************************************************************
flags.c:16: ***************************************************************************/
flags.c:18:/***************************************************************************
flags.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
flags.c:26:***************************************************************************/
flags.c:28:/*************************************************************************** 
flags.c:31:*       ROT license, in the file doc/rot.license                           * 
flags.c:32:***************************************************************************/
flags.c:38:#include <sys/types.h>
flags.c:39:#include <sys/time.h>
flags.c:324:/* Mobiles and Characters */
flags.c:333:        /* select a flag to set */
flags.c:345:        /* select a flag to set */
flags.c:466:        /* mark the words */
flags.c:517:/* Objects */
flags.c:558:        /* mark the words */
flags.c:609:/* Rooms */
flags.c:633:        /* mark the words */
forge.c:1:/***************************************************************************
forge.c:6: ***************************************************************************/
forge.c:8:/***************************************************************************
forge.c:23: **************************************************************************/
forge.c:25:/***************************************************************************
forge.c:32:*       ROM license, in the file Rom24/doc/rom.license                     *
forge.c:33:***************************************************************************/
forge.c:35:#include <sys/types.h>
forge.c:474:    af.level    = level/2;
forget.c:1:/***************************************************************************
forget.c:16: ***************************************************************************/
forget.c:18:/***************************************************************************
forget.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
forget.c:26:***************************************************************************/
forget.c:28:/*************************************************************************** 
forget.c:31:*       ROT license, in the file doc/rot.license                           * 
forget.c:32:***************************************************************************/
forget.c:37:#include <sys/types.h>
forget.c:149:     /* make a new forget */
games.c:1:/*
games.c:4:Snippets of mine can be found at http://www.ncinter.net/~bert/mud/
games.c:6:*/
games.c:11:#include <sys/types.h>
games.c:76:    "{YGold Coin{x",               /* 1 */
games.c:78:    "{DVengeance{x",               /* 3 */
games.c:80:    "{CElf Sword{x",               /* 5 */
games.c:85:    "{BMudSchool{x",              /* 10 */
games.c:165:      send_to_char("{g////------------{MSlot Machine{g------------\\\\\\\\{x\n\r", ch);
games.c:169:      send_to_char("{g\\\\\\\\------------------------------------////{x\n\r", ch);
games.c:173:      send_to_char("{g////-----------------------{MSlot Machine{g----------------------\\\\\\\\{x\n\r", ch);
games.c:177:      send_to_char("{g\\\\\\\\---------------------------------------------------------////{x\n\r", ch);
games.c:189:          winnings = jackpot;  /* they won the jackpot, make it */
games.c:190:          won = TRUE;          /* worth their while!            */
games.c:191:          slotMachine->value[1] = cost*75;   /* put it back to something */
games.c:204:          winnings = jackpot;  /* if no partial, better have a  */
games.c:205:          won = TRUE;          /* kick butt jackpot for them    */
games.c:236:              winnings += cost/2;
games.c:247:                  winnings += cost/2;
games.c:258:                  winnings += cost/2;
games.c:287:                slotMachine->value[1] -= (cost*7)/2;
games.c:293:                slotMachine->value[1] -= (cost*5)/2;
games.c:298:              winnings += cost/2;
games.c:300:                slotMachine->value[1] += cost/2;
games.c:318:	// had to change cost to winnings here- Markanth
games.c:386:// changed by Markanth
gquest.c:1:/**************************************************************************
gquest.c:5:*  Website: <http://spaceservices.net/~markanth/>                         *
gquest.c:7:***************************************************************************/
gquest.c:101:    //CLOSE_RESERVE(fpReserve);
gquest.c:132:	case '#':		// comment identifier 
gquest.c:191:    //OPEN_RESERVE(fpReserve);
gquest.c:280:    cost = 5 + (mobs / 5);
gquest.c:324:    int middle = LEVEL_HERO / 2, maxlvl = 0;
gquest.c:345:    /* all this is basically so level ranges aren't to far apart */
gquest.c:349:    half = ((maxlvl - minlvl) / 2);
gquest.c:573:	/* slight hack here */
gquest.c:595:	/* hack to prevent coming back */
gquest.c:752:    gquest_info.next = number_range(70, 100);	// in minutes
handler.c:1:/**************************************************************************r
handler.c:16: ***************************************************************************/
handler.c:18:/***************************************************************************
handler.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
handler.c:26:***************************************************************************/
handler.c:28:/*************************************************************************** 
handler.c:31:*       ROT license, in the file doc/rot.license                           * 
handler.c:32:***************************************************************************/
handler.c:37:#include <sys/types.h>
handler.c:48:/* command procedures needed */
handler.c:53:/*
handler.c:55: */
handler.c:58:/* friend stuff -- for NPC's mostly */
handler.c:102:/* returns number of people on an object */
handler.c:118:/* returns material number */
handler.c:124:/* returns race number */
handler.c:230:/* returns a flag for wiznet */
handler.c:245:/* returns class number */
handler.c:263:/* for immunity, vulnerabiltiy, and resistant
handler.c:265:   three other cases -- wood, silver, and iron -- are checked in fight.c */
handler.c:287:    else /* magical attack */
handler.c:297:    /* set bits to check -- VULN etc. must ALL be the same or this will fail */
handler.c:393:/* checks mob format */
handler.c:403:/* for returning skill information */
handler.c:408:    if (sn == -1) /* shorthand for level based skills */
handler.c:410:	skill = ch->level * 5 / 2;
handler.c:427:    else /* mobiles */
handler.c:447:	    skill = 10 + 3 * (ch->level/2);
handler.c:456:	    skill = 10 + 3 * (ch->level/2);
handler.c:459:	    skill = 10 + 3 * (ch->level/2);
handler.c:463:	    skill = ch->level/2;
handler.c:470:	    skill = 20 + 3 * (ch->level/2);
handler.c:473:	    skill = 3 * (ch->level/2);
handler.c:476:	    skill = 10 + 3 * (ch->level/2);
handler.c:490:	    skill = ch->level/4;
handler.c:493:	    skill = 40 + (ch->level/2);
handler.c:503:	    skill = 40 + 5 * (ch->level/2) / 2;
handler.c:512:	    skill /= 2;
handler.c:514:	    skill = 2 * skill / 3;
handler.c:518:	skill = 9 * skill / 10;
handler.c:523:/* for returning weapon information */
handler.c:551:     /* -1 is exotic */
handler.c:559:	    skill = 40 + 5 * ch->level / 2;
handler.c:574:/* used to de-screw characters */
handler.c:590:    /* do a FULL reset */
handler.c:626:	/* now reset the permanent stats */
handler.c:630:	ch->pcdata->last_level	= ch->played/3600;
handler.c:640:    /* now restore the character to his/her true condition */
handler.c:658:    /* now start adding back the effects */
handler.c:731:    /* now add back spell effects */
handler.c:763:    /* make sure sex is RIGHT!!!! */
handler.c:769:/*
handler.c:771: */
handler.c:787:/*
handler.c:789: */
handler.c:792:    return 17 + ( ch->played + (int) (current_time - ch->logon) ) / 72000;
handler.c:795:/* command for retrieving stats */
handler.c:819:/* command for returning max training score */
handler.c:840:/*
handler.c:842: */
handler.c:856:/*
handler.c:858: */
handler.c:872:/*
handler.c:874: */
handler.c:875:/*
handler.c:889:*/
handler.c:896:  /* fix crash on NULL namelist */
handler.c:900:  /* fixed to prevent is_name on "" returning TRUE */
handler.c:905:    /* we need ALL parts of string to match part of namelist */
handler.c:906:    for ( ; ; )  /* start parsing string */
handler.c:913:	/* check to see if this is part of namelist */
handler.c:915:	for ( ; ; )  /* start parsing namelist */
handler.c:918:	    if (name[0] == '\0')  /* this name was not found */
handler.c:922:		return TRUE; /* full pattern match */
handler.c:937:    /* we need ALL parts of string to match part of namelist */
handler.c:938:    for ( ; ; )  /* start parsing string */
handler.c:945:        /* check to see if this is part of namelist */
handler.c:947:        for ( ; ; )  /* start parsing namelist */
handler.c:950:            if (name[0] == '\0')  /* this name was not found */
handler.c:954:                return TRUE; /* full pattern match */
handler.c:962:/* enchanted stuff for eq */
handler.c:965:    /* okay, move all the old flags into new vectors if we have to */
handler.c:1079:    /*
handler.c:1082:     */
handler.c:1103:/* find an effect in an affect list */
handler.c:1117:/* fix object affects when removing one */
handler.c:1208:/*
handler.c:1210: */
handler.c:1225:/* give an affect to an object */
handler.c:1236:    /* apply any affect vectors to the object's extra_flags */
handler.c:1255:/*
handler.c:1257: */
handler.c:1318:    /* remove flags from the object if needed */
handler.c:1364:/*
handler.c:1366: */
handler.c:1384:/*
handler.c:1386: */
handler.c:1402:/*
handler.c:1404: */
handler.c:1415:	    paf->level = (paf->level += paf_old->level) / 2;
handler.c:1429:/*
handler.c:1431: */
handler.c:1474:    ch->on 	     = NULL;  /* sanity check! */
handler.c:1485:/*
handler.c:1487: */
handler.c:1578:/*
handler.c:1580: */
handler.c:1596:/*
handler.c:1598: */
handler.c:1642:/*
handler.c:1644: */
handler.c:1654:	case AC_PIERCE:	return ((level/6)+5);
handler.c:1655:	case AC_BASH:	return ((level/6)+5);
handler.c:1656:	case AC_SLASH:	return ((level/6)+5);
handler.c:1657:	case AC_EXOTIC:	return (level/6);
handler.c:1695:/*
handler.c:1697: */
handler.c:1716:/*
handler.c:1718: */
handler.c:1730:    /*
handler.c:1733:     */
handler.c:1742:	    /*
handler.c:1744:	     */
handler.c:1785:/*
handler.c:1787: */
handler.c:1865:/*
handler.c:1867: */
handler.c:1885:/*
handler.c:1887: */
handler.c:1934:/*
handler.c:1936: */
handler.c:1949:/*
handler.c:1951: */
handler.c:1968:		* WEIGHT_MULT(obj_to) / 100;
handler.c:1977:/*
handler.c:1979: */
handler.c:2023:		* WEIGHT_MULT(obj_from) / 100;
handler.c:2032:/*
handler.c:2034: */
handler.c:2084:/*
handler.c:2086: */
handler.c:2097:/*
handler.c:2099: */
handler.c:2103:    ch->pet = NULL; /* just in case */
handler.c:2119:    /* Death room is set in the clan table now */
handler.c:2179:/*
handler.c:2181: */
handler.c:2209:/*
handler.c:2211: */
handler.c:2237:/*
handler.c:2239: */
handler.c:2259:/*
handler.c:2262: */
handler.c:2277:/*
handler.c:2279: */
handler.c:2307:/*
handler.c:2309: */
handler.c:2331:/*
handler.c:2333: */
handler.c:2355:/*
handler.c:2357: */
handler.c:2383:/*
handler.c:2385: */
handler.c:2411:/*
handler.c:2413: */
handler.c:2433:/*
handler.c:2435: */
handler.c:2460:/* deduct cost from a character */
handler.c:2533:/* add cost to a character */
handler.c:2582:/*
handler.c:2584: */
handler.c:2619:	obj->weight		= platinum/20;
handler.c:2629:	obj->weight		= gold/20;
handler.c:2639:	obj->weight		= silver/20;
handler.c:2649:	obj->weight		= (platinum + gold + silver)/20;
handler.c:2657:/*
handler.c:2660: */
handler.c:2679:/*
handler.c:2681: */
handler.c:2689:	weight += get_obj_weight( tobj ) * WEIGHT_MULT(obj) / 100;
handler.c:2705:/*
handler.c:2707: */
handler.c:2736:/*
handler.c:2738: */
handler.c:2773:/* visibility on a room -- for entering and exits */
handler.c:2804:/*
handler.c:2806: */
handler.c:2809:/* RT changed so that WIZ_INVIS has levels */
handler.c:2828:/*
handler.c:2832:*/
handler.c:2843:    /* sneaking */
handler.c:2850:	chance += get_curr_stat(victim,STAT_DEX) * 3/2;
handler.c:2852:	chance -= ch->level - victim->level * 3/2;
handler.c:2871:/*
handler.c:2873: */
handler.c:2910:/*
handler.c:2912: */
handler.c:2926:/*
handler.c:2928: */
handler.c:2971:/*
handler.c:2973: */
handler.c:3010:/*
handler.c:3012: */
handler.c:3044:/*
handler.c:3046: */
handler.c:3067:/*
handler.c:3069: */
handler.c:3106:/* return ascii name of an act vector */
handler.c:3164:/* return ascii name of an act vector */
handler.c:3177:/* return ascii name of an act vector */
handler.c:3188://    if (act2_flags & PLR2_BLAH	) strcat(buf, " blah");
handler.c:3480:/*
handler.c:3511:}*/
healer.c:1:/***************************************************************************
healer.c:16: ***************************************************************************/
healer.c:18:/***************************************************************************
healer.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
healer.c:26:***************************************************************************/
healer.c:28:/*************************************************************************** 
healer.c:31:*       ROT license, in the file doc/rot.license                           * 
healer.c:32:***************************************************************************/
healer.c:38:#include <sys/types.h>
healer.c:39:#include <sys/time.h>
healer.c:55:    /* check for healer */
healer.c:72:        /* display price list */
healer.c:84: //       send_to_char("  acid   : acidshield             4 plat\n\r",ch);
healer.c:85://	send_to_char("  shock  : shockshield            3 plat\n\r",ch); 
healer.c:86://        send_to_char("  fire   : fireshield             2 plat\n\r",ch);
healer.c:87://        send_to_char("  ice    : iceshield              1 plat\n\r",ch);
healer.c:88://        send_to_char("  pshield: poisonshield          50 gold\n\r",ch);
healer.c:184:/*
healer.c:219:    }*/
healer.c:239:    if (spell == NULL)  /* restore mana trap...kinda hackish */
healer.c:241:	ch->mana += dice(2,8) + mob->level / 3;
homes.c:1:/***************************************************************************
homes.c:6: ***************************************************************************/
homes.c:8:/* Begin homes.c */
homes.c:13:#include <sys/types.h>
homes.c:21:/* Thanks to Kyndig and Sandi Fallon for assisting with arguments - Dalsor.
homes.c:24: */
homes.c:26:/* Homes uses aspects of OLC, and it should be installed, or the necessary
homes.c:28: */
homes.c:30:/* Damn, this is a lot of defines :(
homes.c:33: */
homes.c:34:#define HOME_ITEM_1   11800 /* fish */
homes.c:35:#define HOME_ITEM_2   11801 /* turtle */
homes.c:36:#define HOME_ITEM_3   11802 /* snake */
homes.c:37:#define HOME_ITEM_4   11803 /* spider */
homes.c:38:#define HOME_ITEM_5   11804 /* carved chair */
homes.c:39:#define HOME_ITEM_6   11805 /* highback chair */
homes.c:40:#define HOME_ITEM_7   11806 /* hard chair */
homes.c:41:#define HOME_ITEM_8   11807 /* sturdy chair */
homes.c:42:#define HOME_ITEM_9   11808 /* oak desk */
homes.c:43:#define HOME_ITEM_10  11809 /* pine desk */
homes.c:44:#define HOME_ITEM_11  11810 /* carved desk */
homes.c:45:#define HOME_ITEM_12  11811 /* polished desk */
homes.c:46:#define HOME_ITEM_13  11812 /* teak desk */
homes.c:47:#define HOME_ITEM_14  11813 /* plain desk */
homes.c:48:#define HOME_ITEM_15  11814 /* plush sofa */
homes.c:49:#define HOME_ITEM_16  11815 /* padded sofa */
homes.c:50:#define HOME_ITEM_17  11816 /* wood bench */
homes.c:51:#define HOME_ITEM_18  11817 /* fluffed sofa */
homes.c:52:#define HOME_ITEM_19  11818 /* comfy sofa */
homes.c:53:#define HOME_ITEM_25  11824 /* oak dining table */
homes.c:54:#define HOME_ITEM_26  11825 /* pine table */
homes.c:55:#define HOME_ITEM_27  11826 /* carved table */
homes.c:56:#define HOME_ITEM_28  11827 /* polished table */
homes.c:57:#define HOME_ITEM_29  11828 /* teak table */
homes.c:58:#define HOME_ITEM_30  11829 /* comfy recliner */
homes.c:59:#define HOME_ITEM_31  11830 /* lamp */
homes.c:60:#define HOME_ITEM_32  11831 /* lantern */
homes.c:61:#define HOME_ITEM_33  11832 /* torch */
homes.c:62:#define HOME_ITEM_34  11833 /* oak dresser */
homes.c:63:#define HOME_ITEM_35  11834 /* pine dresser */
homes.c:64:#define HOME_ITEM_36  11835 /* carved dresser */
homes.c:65:#define HOME_ITEM_37  11836 /* polished dresser */
homes.c:66:#define HOME_ITEM_38  11837 /* teak dresser */
homes.c:67:#define HOME_ITEM_58  11857 /* oak book */
homes.c:68:#define HOME_ITEM_59  11858 /* pine book */
homes.c:69:#define HOME_ITEM_60  11859 /* carved book */
homes.c:70:#define HOME_ITEM_61  11860 /* polished book */
homes.c:71:#define HOME_ITEM_62  11861 /* teak book */
homes.c:72:#define HOME_ITEM_70  11869 /* royalbed */
homes.c:73:#define HOME_ITEM_71  11870 /* cot */
homes.c:74:#define HOME_ITEM_72  11871 /* featherbed */
homes.c:75:#define HOME_ITEM_73  11872 /* canopybed */
homes.c:76:#define HOME_ITEM_74  11873 /* postedbed */
homes.c:77:#define HOME_ITEM_75  11874 /* twinbed */
homes.c:132:	/* Find out what the argument is, if any */
homes.c:137:	/* Home furnish was left in here because I didn't feel like
homes.c:139:	 */
homes.c:793:		/* Thanks to Edwin and Kender for the help with killing
homes.c:797:		 */
interp.c:1:/***************************************************************************
interp.c:16: ***************************************************************************/
interp.c:18:/***************************************************************************
interp.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
interp.c:26:***************************************************************************/
interp.c:28:/*************************************************************************** 
interp.c:31:*       ROT license, in the file doc/rot.license                           * 
interp.c:32:***************************************************************************/
interp.c:37:#include <sys/types.h>
interp.c:55:/*
interp.c:57: */
interp.c:63:/*
interp.c:65: */
interp.c:71:/*
interp.c:73: */
interp.c:76:    /*
interp.c:78:     */
interp.c:86:    /*
interp.c:89:     */
interp.c:94:/*    { "ooc",            do_ooc,         POS_SLEEPING,    0,  1,LOG_NORMAL, 1 },*/
interp.c:123:    /*
interp.c:125:     */
interp.c:140:/*  { "groups",		do_groups,	POS_SLEEPING,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:153://    { "nscore",         do_score_new,   POS_DEAD,        0,  1,  LOG_NORMAL, 1 },
interp.c:169:/*
interp.c:171: */
interp.c:177:    /*
interp.c:179:     */
interp.c:192:/*  { "channels",	do_channels,	POS_DEAD,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:211:    /*
interp.c:213:     */
interp.c:217:   /* { "auction",	do_auction,	POS_SLEEPING,	 0,  1,  LOG_NORMAL, 1 }, 
interp.c:218:   */ { "deaf",		do_deaf,	POS_DEAD,	 0,  1,  LOG_NORMAL, 1 },
interp.c:231:/*  { "music",		do_music,	POS_SLEEPING,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:251:    /*
interp.c:253:     */
interp.c:281:/*  { "unlock",		do_unlock,	POS_RESTING,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:287:    /*
interp.c:289:     */
interp.c:322:    /*
interp.c:324:     */
interp.c:327:    /*
interp.c:329:     */
interp.c:334:/*  { "group",		do_group,	POS_SLEEPING,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:340:/*  { "practice",	do_practice,	POS_SLEEPING,	 0,  1,  LOG_NORMAL, 1 }, */
interp.c:344:    { "/",		do_recall,	POS_FIGHTING,	 0,  1,  LOG_NORMAL, 0 },
interp.c:369: /*   { "slots",          do_slots,       POS_STANDING,    0,  1,  LOG_NORMAL, 1 },*/
interp.c:370:/*    { "highdice",       do_high_dice,   POS_STANDING,    0,  1,  LOG_NORMAL, 1 },*/
interp.c:372:    //{ "gquest",         do_gquest,      POS_RESTING,     0,  1,  LOG_NORMAL,  1 },
interp.c:379:    /*
interp.c:381:     */
interp.c:406:/*  { "sockets",	do_sockets,	POS_DEAD,	L2,  1,  LOG_NORMAL, 1 }, */
interp.c:433:/*  { "at",		do_at,		POS_DEAD,	L6,  1,  LOG_NORMAL, 1 }, */
interp.c:437:/*  { "goto",		do_goto,	POS_DEAD,	L8,  1,  LOG_NORMAL, 1 }, */
interp.c:488:  /*{ "sever",          do_sever,       POS_DEAD,       IM,  1,  LOG_NORMAL, 1},*/
interp.c:503:    /*    
interp.c:505:     */
interp.c:518:    /*
interp.c:520:     */
interp.c:528:    /*
interp.c:530:     */
interp.c:537:/*
interp.c:540: */
interp.c:549:    /*
interp.c:552:     */
interp.c:555:    /*
interp.c:557:     */
interp.c:563:    /*
interp.c:565:     */
interp.c:568:    /*
interp.c:570:     */
interp.c:577:    /*
interp.c:581:     */
interp.c:596:    /*
interp.c:598:     */
interp.c:611:	    } else if (ch->class >= MAX_CLASS/2)
interp.c:623:    /*
interp.c:625:     */
interp.c:648:	/*
interp.c:650:	 */
interp.c:656:    /*
interp.c:658:     */
interp.c:696:    /*
interp.c:698:     */
interp.c:750:	/*
interp.c:753:	 */
interp.c:816:/*
interp.c:818: */
interp.c:839:/*
interp.c:841: */
interp.c:863:/* 
interp.c:865:*/
interp.c:889:/*
interp.c:892: */
interp.c:942:	    } else if (ch->class >= MAX_CLASS/2)
interp.c:972:    if ( ( ch->class < MAX_CLASS/2 )
lookup.c:1:/***************************************************************************
lookup.c:16: ***************************************************************************/
lookup.c:18:/***************************************************************************
lookup.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
lookup.c:26:***************************************************************************/
lookup.c:28:/*************************************************************************** 
lookup.c:31:*       ROT license, in the file doc/rot.license                           * 
lookup.c:32:***************************************************************************/
lookup.c:37:#include <sys/types.h>
magic.c:1:/***************************************************************************
magic.c:16: ***************************************************************************/
magic.c:18:/***************************************************************************
magic.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
magic.c:26:***************************************************************************/
magic.c:28:/*************************************************************************** 
magic.c:31:*       ROT license, in the file doc/rot.license                           * 
magic.c:32:***************************************************************************/
magic.c:37:#include <sys/types.h>
magic.c:48:/* command procedures needed */
magic.c:52:/*
magic.c:54: */
magic.c:57:/* imported functions */
magic.c:63:/*
magic.c:65: */
magic.c:84:    /* finds a spell the character can cast if possible */
magic.c:109:/*
magic.c:112: */
magic.c:138:/*
magic.c:140: */
magic.c:221:/*
magic.c:224: */
magic.c:231:	save += victim->level/2;
magic.c:241:	save = 9 * save / 10;
magic.c:246:/* RT save for dispels */
magic.c:254:      /* very hard to dispel permanent effects */
magic.c:261:/* co-routine for dispel magic and cancellation */
magic.c:291:/* for finding mana costs -- temporary version */
magic.c:296:    return UMAX(min_mana,(100/(2 + ch->level - level)));
magic.c:301:/*
magic.c:303: */
magic.c:319:    /*
magic.c:321:     */
magic.c:361:	    100 / ( 2 + ch->level - skill_table[sn].skill_level[ch->class] ) );
magic.c:366:    /*
magic.c:368:     */
magic.c:400:/*
magic.c:406:*/
magic.c:514:	if (target == TARGET_CHAR) /* check the sanity of the attack */
magic.c:657:	    ch->mana -= mana / 3;
magic.c:665:	    ch->mana -= mana / 3;
magic.c:673:	    ch->mana -= mana / 2;
magic.c:708:	ch->mana -= mana / 2;
magic.c:714:	/* class has spells */
magic.c:717:            (*skill_table[sn].spell_fun) (sn, 3 * ch->level/4, ch, vo,target);
magic.c:744:/*
magic.c:746: */
magic.c:890:/*
magic.c:892: */
magic.c:906:    dam = level+level/5+dice(50,50);
magic.c:908:	dam /= 1.5;
magic.c:914:    dam /= 1.5;
magic.c:957:    /* deal with the object case first */
magic.c:1001:    /* character target */
magic.c:1019:    af.modifier  = level / 2;
magic.c:1024:    af.modifier  = 0 - level / 2;
magic.c:1085:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:1087:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:1089:	dam /= 2;
magic.c:1114:    dam = dice(level/2, 8);
magic.c:1137:		? dam / 2 : dam, sn,DAM_LIGHTNING,TRUE);
magic.c:1151:/* RT calm spell stops all fighting in the room */
magic.c:1162:    /* get sum of all mobile levels in the room */
magic.c:1171:	      mlevel += vch->level/2;
magic.c:1176:    /* compute chance of stopping combat */
magic.c:1179:    if (IS_IMMORTAL(ch)) /* always works */
magic.c:1182:    if (number_range(0, chance) >= mlevel)  /* hard to stop large fights */
magic.c:1203:	    af.duration = level/4;
magic.c:1233:    /* unlike dispel magic, the victim gets NO save */
magic.c:1235:    /* begin running through the spells */
magic.c:1401:    damage_old( ch, victim, dice(1, 8) + level / 3, sn,DAM_HARM,TRUE);
magic.c:1433:    damage_old( ch, victim, dice(2, 8) + level / 2, sn,DAM_HARM,TRUE);
magic.c:1444:    /* first strike */
magic.c:1462: 	dam /= 3;
magic.c:1465:    level -= 4;   /* decrement damage */
magic.c:1467:    /* new targets */
magic.c:1484:		dam /= 3;
magic.c:1486:	    level -= 4;  /* decrement damage */
magic.c:1488:	}   /* end target searching loop */
magic.c:1490:	if (!found) /* no target found, hit the caster */
magic.c:1495:	  if (last_vict == ch) /* no double hits */
magic.c:1508:	    dam /= 3;
magic.c:1510:	  level -= 4;  /* decrement damage */
magic.c:1514:    /* now go back and find more targets */
magic.c:1588:    af.duration  = number_fuzzy( level / 4 );
magic.c:1629:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:1631:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:1637:        af.level     = level/2;
magic.c:1646:	dam /= 2;
magic.c:1681:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:1683:    dam		= number_range( dam_each[level] / 2,  dam_each[level] * 2 );
magic.c:1685:	dam /= 2;
magic.c:1688:	    level/2,ch,(void *) victim,TARGET_CHAR);
magic.c:1707:    if (target_name[0] != '\0')  /* do a glow on some object */
magic.c:1740:	weather_info.change += dice( level / 3, 4 );
magic.c:1742:	weather_info.change -= dice( level / 3, 4 );
magic.c:1757:    mushroom->value[0] = level / 2;
magic.c:1869:/* RT added to cure plague */
magic.c:1899:    heal = dice(2, 8) + level / 3;
magic.c:1937:    heal = dice(3, 8) + level /2 ;
magic.c:1954:    /* deal with the object case first */
magic.c:1998:    /* character curses */
magic.c:2008:    af.modifier  = -1 * (level / 8);
magic.c:2013:    af.modifier  = level / 8;
magic.c:2022:/* RT replacement demonfire spell */
magic.c:2056:        dam /= 2;
magic.c:2058:    spell_curse(gsn_curse, 3 * level / 4, ch, (void *) victim,TARGET_CHAR);
magic.c:2253:	dam /= 2;
magic.c:2291:        dam /= 2;
magic.c:2304:/* modified for enhanced use */
magic.c:2318:    /* begin running through the spells */ 
magic.c:2560:    /* this means they have no bonus */
magic.c:2562:    fail = 25;	/* base 25% chance of failure */
magic.c:2564:    /* find the bonuses */
magic.c:2576:	    else  /* things get a little harder */
magic.c:2589:	else /* things get a little harder */
magic.c:2593:    /* apply other modifiers */
magic.c:2605:    /* the moment of truth */
magic.c:2606:    if (result < (fail / 5))  /* item destroyed */
magic.c:2614:    if (result < (fail / 3)) /* item disenchanted */
magic.c:2622:	/* remove all affects */
magic.c:2630:	/* clear all flags */
magic.c:2635:    if ( result <= fail )  /* failed, no bad result */
magic.c:2641:    /* okay, move all the old flags into new vectors if we have to */
magic.c:2664:    if (result <= (90 - level/5))  /* success! */
magic.c:2672:    else  /* exceptional enchant */
magic.c:2681:    /* now add the enchantments */ 
magic.c:2698:    else /* add a new affect */
magic.c:2744:    /* this means they have no bonus */
magic.c:2747:    fail = 25;	/* base 25% chance of failure */
magic.c:2749:    /* find the bonuses */
magic.c:2768:	    else  /* things get a little harder */
magic.c:2788:	else /* things get a little harder */
magic.c:2792:    /* apply other modifiers */
magic.c:2793:    fail -= 3 * level/2;
magic.c:2804:    /* the moment of truth */
magic.c:2805:    if (result < (fail / 5))  /* item destroyed */
magic.c:2813:    if (result < (fail / 2)) /* item disenchanted */
magic.c:2821:	/* remove all affects */
magic.c:2829:	/* clear all flags */
magic.c:2834:    if ( result <= fail )  /* failed, no bad result */
magic.c:2840:    /* okay, move all the old flags into new vectors if we have to */
magic.c:2863:    if (result <= (100 - level/5))  /* success! */
magic.c:2871:    else  /* exceptional enchant */
magic.c:2880:    /* now add the enchantments */ 
magic.c:2899:    else /* add a new affect */
magic.c:2928:    else /* add a new affect */
magic.c:2946:/*
magic.c:2949: */
magic.c:2975:	gain_exp( victim, 0 - number_range( level/2, 3 * level / 2 ) );
magic.c:2976:	victim->mana	/= 2;
magic.c:2977:	victim->move	/= 2;
magic.c:3017:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:3019:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:3021:	dam /= 2;
magic.c:3048:    af.duration  = number_fuzzy(level / 4);
magic.c:3073:    dam = dice(6 + level / 2, 8);
magic.c:3075:	dam /= 2;
magic.c:3144:    disc->value[0]	= ch->level * 10; /* 10 pounds per level capacity */
magic.c:3145:    disc->value[3]	= ch->level * 5; /* 5 pounds per level max per item */
magic.c:3146:    disc->timer		= ch->level * 2 - number_range(0,level / 2); 
magic.c:3182:/* RT clerical berserking spell */
magic.c:3220:    af.duration	 = level / 3;
magic.c:3221:    af.modifier  = level / 6;
magic.c:3230:    af.modifier  = 10 * (level / 12);
magic.c:3238:/* RT ROM-style gate */
magic.c:3254:    //|| (IS_NPC(victim) && is_gqmob(ch, victim->pIndexData->vnum) != -1) 
magic.c:3259:    ||   (!IS_NPC(victim) && victim->level >= LEVEL_ANCIENT)  /* NOT trust */ 
magic.c:3341:	dam = UMIN( 50, dam / 2 );
magic.c:3347:/* RT haste spell */
magic.c:3382:      af.duration  = level/2;
magic.c:3384:      af.duration  = level/4;
magic.c:3401:    victim->hit = UMIN( victim->hit + level/10*18, victim->max_hit );
magic.c:3432:		if (obj_lose->wear_loc != -1) /* remove the item */
magic.c:3435:		    &&  (obj_lose->weight / 10) < 
magic.c:3443:			dam += (number_range(1,obj_lose->level) / 3);
magic.c:3448:		    else /* stuck on the body! ouch! */
magic.c:3457:		else /* drop it if we can */
magic.c:3465:                        dam += (number_range(1,obj_lose->level) / 6);
magic.c:3470:		    else /* cannot drop */
magic.c:3474:                        dam += (number_range(1,obj_lose->level) / 2);
magic.c:3480:		if (obj_lose->wear_loc != -1) /* try to drop it */
magic.c:3498:		    else /* YOWCH! */
magic.c:3506:                else /* drop it if we can */
magic.c:3514:                        dam += (number_range(1,obj_lose->level) / 6);
magic.c:3519:                    else /* cannot drop */
magic.c:3523:                        dam += (number_range(1,obj_lose->level) / 2);
magic.c:3537:    else /* damage! */
magic.c:3547:	    dam = 2 * dam / 3;
magic.c:3552:/* RT really nasty high-level attack spell */
magic.c:3610:            spell_curse(curse_num,level/2,ch,(void *) vch,TARGET_CHAR);
magic.c:3620:    ch->hit /= 2;
magic.c:3635:	obj->weight / 10,
magic.c:3723:	    case(WEAPON_SPEAR)	: send_to_char("spear/staff.\n\r",ch);	break;
magic.c:3724:	    case(WEAPON_MACE) 	: send_to_char("mace/club.\n\r",ch);	break;
magic.c:3739:		(1 + obj->value[2]) * obj->value[1] / 2);
magic.c:3743:	    	( obj->value[1] + obj->value[2] ) / 2 );
magic.c:3746:        if (obj->value[4])  /* weapon flags */
magic.c:3921:    /* object invisibility */
magic.c:3945:    /* character invisibility */
magic.c:4008:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:4010:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:4012:	dam /= 2;
magic.c:4107:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:4109:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:4111:	dam /= 2;
magic.c:4158:    	af.level     = level/2;
magic.c:4197:    af.duration  = number_fuzzy( level / 4 );
magic.c:4207:/* RT plague spell, very nasty */
magic.c:4226:    af.level	  = level * 3/4;
magic.c:4285:	    af.level	 = level / 2;
magic.c:4286:	    af.duration	 = level/8;
magic.c:4412:        dam /= 2;
magic.c:4418:	align = -1000 + (align + 1000) / 3;
magic.c:4420:    dam = (dam * align * align) / 1000000;
magic.c:4431:	3 * level / 4, ch, (void *) victim,TARGET_CHAR);
magic.c:4446:    if (obj->value[3] >= 3 * level / 2)
magic.c:4460:    chance -= obj->value[3]; /* harder to do high-level spells */
magic.c:4464:    chance = UMAX(level/2,chance);
magic.c:4468:    if (percent < chance / 2)
magic.c:4487:	    chargeback = UMAX(1,chargemax * percent / 100);
magic.c:4496:    else if (percent <= UMIN(95, 3 * chance / 2))
magic.c:4504:    else /* whoops! */
magic.c:4531:    /* do object cases first */
magic.c:4557:    /* characters */
magic.c:4570:        {   /* attempt to remove curse */
magic.c:4613:    af.duration  = level / 2;
magic.c:4673:    level	= UMIN(level, sizeof(dam_each)/sizeof(dam_each[0]) - 1);
magic.c:4675:    dam		= number_range( dam_each[level] / 2, dam_each[level] * 2 );
magic.c:4677:	dam /= 2;
magic.c:4762:    af.duration  = level/2;
magic.c:4817: //   || (IS_NPC(victim) && is_gqmob(ch, victim->pIndexData->vnum) != -1) 
magic.c:4949:    af.duration  = level / 2;
magic.c:4951:    af.modifier  = -2 * (level / 5);
magic.c:4961:/* RT recall spell is back */
magic.c:4998:    ch->move /= 2;
magic.c:5006:/*
magic.c:5008: */
magic.c:5019:    hp_dam = number_range(hpch/11 + 1, hpch/6);
magic.c:5022:    dam = UMAX(hp_dam + dice_dam/10,dice_dam + hp_dam/10);
magic.c:5033:	acid_effect(victim,level/2,dam/4,TARGET_CHAR);
magic.c:5034:	damage_old(ch,victim,dam/2,sn,DAM_ACID,TRUE);
magic.c:5057:    hp_dam  = number_range( hpch/9+1, hpch/5 );
magic.c:5060:    dam = UMAX(hp_dam + dice_dam /10, dice_dam + hp_dam / 10);
magic.c:5061:    fire_effect(victim->in_room,level,dam/2,TARGET_ROOM);
magic.c:5072:	if (vch == victim) /* full damage */
magic.c:5083:		fire_effect(vch,level/2,dam/4,TARGET_CHAR);
magic.c:5084:		damage_old(ch,vch,dam/2,sn,DAM_FIRE,TRUE);
magic.c:5092:	else /* partial damage */
magic.c:5096:		fire_effect(vch,level/4,dam/8,TARGET_CHAR);
magic.c:5097:		damage_old(ch,vch,dam/4,sn,DAM_FIRE,TRUE);
magic.c:5101:		fire_effect(vch,level/2,dam/4,TARGET_CHAR);
magic.c:5102:		damage_old(ch,vch,dam/2,sn,DAM_FIRE,TRUE);
magic.c:5120:    hp_dam = number_range(hpch/11 + 1, hpch/6);
magic.c:5123:    dam = UMAX(hp_dam + dice_dam/10,dice_dam + hp_dam/10);
magic.c:5124:    cold_effect(victim->in_room,level,dam/2,TARGET_ROOM); 
magic.c:5135:	if (vch == victim) /* full damage */
magic.c:5146:		cold_effect(vch,level/2,dam/4,TARGET_CHAR);
magic.c:5147:		damage_old(ch,vch,dam/2,sn,DAM_COLD,TRUE);
magic.c:5159:		cold_effect(vch,level/4,dam/8,TARGET_CHAR);
magic.c:5160:		damage_old(ch,vch,dam/4,sn,DAM_COLD,TRUE);
magic.c:5164:		cold_effect(vch,level/2,dam/4,TARGET_CHAR);
magic.c:5165:		damage_old(ch,vch,dam/2,sn,DAM_COLD,TRUE);
magic.c:5182:    hp_dam = number_range(hpch/15+1,8);
magic.c:5185:    dam = UMAX(hp_dam + dice_dam/10,dice_dam + hp_dam/10);
magic.c:5206:	    poison_effect(vch,level/2,dam/4,TARGET_CHAR);
magic.c:5207:	    damage_old(ch,vch,dam/2,sn,DAM_POISON,TRUE);
magic.c:5227:    hp_dam = number_range(hpch/9+1,hpch/5);
magic.c:5230:    dam = UMAX(hp_dam + dice_dam/10,dice_dam + hp_dam/10);
magic.c:5241:	shock_effect(victim,level/2,dam/4,TARGET_CHAR);
magic.c:5242:	damage_old(ch,victim,dam/2,sn,DAM_LIGHTNING,TRUE);
magic.c:5251:/*
magic.c:5252: * Spells for mega1.are from Glop/Erkenbrand.
magic.c:5253: */
magic.c:5261:        dam /= 2;
magic.c:5280:        dam /= 2;
magic.c:5300:    af.duration  = level/20; /* Feel free to give more or less */
magic.c:5317:    dam = dice(level, level/10);
magic.c:5319:        dam /= 2;
magic2.c:1:/***************************************************************************
magic2.c:16: ***************************************************************************/
magic2.c:18:/***************************************************************************
magic2.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
magic2.c:26:***************************************************************************/
magic2.c:28:/*************************************************************************** 
magic2.c:31:*       ROT license, in the file doc/rot.license                           * 
magic2.c:32:***************************************************************************/
magic2.c:37:#include <sys/types.h>
magic2.c:111://    || (IS_NPC(victim) && is_gqmob(ch, victim->pIndexData->vnum) != -1) 
magic2.c:113:    ||   (!IS_NPC(victim) && victim->level >= LEVEL_ANCIENT)  /* NOT trust */
magic2.c:145:    portal->timer = 2 + level / 25; 
magic2.c:172://    || (IS_NPC(victim) && is_gqmob(ch, victim->pIndexData->vnum) != -1)  
magic2.c:174:    ||   (!IS_NPC(victim) && victim->level >= LEVEL_ANCIENT)  /* NOT trust */
magic2.c:205:    /* portal one */ 
magic2.c:207:    portal->timer = 1 + level / 10;
magic2.c:215:    /* no second portal if rooms are the same */
magic2.c:219:    /* portal two */
magic2.c:221:    portal->timer = 1 + level/10;
magic2.c:263:	    100 / ( 2 + ch->level - skill_table[sn].skill_level[ch->class] ) );
magic2.c:270:	    100 / ( 2 + ch->level - skill_table[new_sn].skill_level[ch->class] ) );
magic2.c:359:    pet->level = UMAX(1, UMIN(109, ((ch->level/2)+(obj->level/2))));
magic2.c:362:    pet->armor[0] = pet->level/6;
magic2.c:363:    pet->armor[1] = pet->level/6;
magic2.c:364:    pet->armor[2] = pet->level/6;
magic2.c:365:    pet->armor[3] = pet->level/8;
magic2.c:448:    pet->armor[0] = pet->level/2;
magic2.c:449:    pet->armor[1] = pet->level/2;
magic2.c:450:    pet->armor[2] = pet->level/2;
magic2.c:451:    pet->armor[3] = pet->level/3;
magic2.c:524:/*
magic2.c:534:*/
magic2.c:571:/*
magic2.c:581:*/
magic2.c:619:/*
magic2.c:629:*/
magic2.c:781:        dam /= 2;
magic2.c:823:	dam /= 1.5;
magic2.c:825:        dam /= 1.5;
magic2.c:877:/*
magic2.c:887:*/
magic2.c:919:   af.duration  = level / 1.5; 
magic2.c:923:   af.modifier  = level / 3.5; 
magic2.c:927:   af.modifier  = level / 3.5; 
magic2.c:961:    af.duration  = ch->level / 6;
magic2.c:970:    af.duration  = ch->level / 6;
magic2.c:979:    af.duration  = ch->level / 6;
magic2.c:981:    af.modifier  = ch->level / 7;
magic2.c:988:    af.duration  = ch->level / 6;
magic2.c:990:    af.modifier  = ch->level / 7;
magic2.c:1015:    af.duration  = level / 1.5;     
magic2.c:1019:    af.modifier  = level / 6;
magic2.c:1023:    af.modifier  = level / 6;
magic2.c:1027:    af.modifier  = 0 - level / 8;
magic2.c:1031:    af.modifier  = 0 - level/1.5;
magic2.c:1066:/*1*/
magic2.c:1068:	CHAR_DATA *victim = (CHAR_DATA*)vo;/*2a*/
magic2.c:1069:	AFFECT_DATA af;/*2b*/
magic2.c:1071:	if (is_affected(ch,sn))/*3*/
magic2.c:1074:		send_to_char("You are already angry\n\r",ch);/*4*/
magic2.c:1076:		act("$N is filled with anger.",ch,NULL,victim,TO_CHAR);/*5*/
magic2.c:1080:	af.where = TO_AFFECTS;/*6*/
magic2.c:1085:	af.modifier = level/4.5;
magic2.c:1094:	af.modifier = level/4.5;
magic2.c:1174:	af.modifier = 0 - ch->level/20;
magic2.c:1183:	af.modifier = 0 - ch->level/20;
magic2.c:1192:	af.modifier = 0 - ch->level/30;
magic2.c:1238:	af.modifier = level/.75;
magic2.c:1247:        af.modifier  = 1+level/25;
magic2.c:1303:   /* if (IS_OBJ_STAT(obj,ITEM_EVIL)) 
magic2.c:1322:    }*/ 
magic2.c:1331:    af.modifier    = level/6; 
magic2.c:1335:    af.modifier    = level/6; 
magic2.c:1370:	/*send_to_char("You are invigorated!\n\r",ch);*/
magic2.c:1381:   bed->value[3] = level;/*hp heal rate*/
magic2.c:1382:   bed->value[4] = level;/*mana heal rate*/
magic2.c:1383:   bed->timer = level/5; 
magic2.c:1453:    /* Make the mace, and have it decay after time */
magic2.c:1455:    mace->timer = level / 3;
magic2.c:1457:    /* Add the hitroll based on level */
magic2.c:1460:    pAf->modifier   =   (ch->level / 3);
magic2.c:1470:    /* Now for the level based damage roll */
magic2.c:1473:    pAf->modifier   =   (ch->level / 3.5);
magic2.c:1483:    /* Now for the Hitpoints of the weapon */
magic2.c:1496:    /* Now for the weapons mana bonus */
magic2.c:1509:    /* Now add the damage dice of the weapon*/
magic2.c:1510:    mace->value[1] = ch->level / 12;
magic2.c:1511:    mace->value[2] = ch->level / 10;
magic2.c:1514:    /* Now drain the caster of Hp and mana */
magic2.c:1557:/*
magic2.c:1561:  */
magic2.c:1562:  familiar->max_hit    = IS_NPC(ch)? ch->max_hit : ch->pcdata->perm_hit/2;
magic2.c:1564:  familiar->max_mana   = IS_NPC(ch)? ch->max_mana : ch->pcdata->perm_mana/2;
magic2.c:1576:  familiar->damage[DICE_NUMBER] = number_range(level/15, level/10);   
magic2.c:1577:  familiar->damage[DICE_TYPE]   = number_range(level/3, level/2);
magic2.c:1578:  familiar->damage[DICE_BONUS]  = number_range(level/8, level/6);
magic2.c:1633:    af.modifier  = level / 10;
magic2.c:1637:    af.modifier  = level / 10;
magic2.c:1641:    af.modifier  = 0 - level / 7;
magic2.c:1645:    af.modifier  = 0 - level/2;
magic2.c:1670:    af.level     = level/8;
magic2.c:1671:    af.duration  = ch->level / 8;
magic2.c:1680:    af.duration  = ch->level / 8;
magic2.c:1698:/*
magic2.c:1705:    }*/
magic2.c:1710:	dam /= 2;
magic3.c:1:/***************************************************************************
magic3.c:14: *  5) Finally any improvements/bugs you find or make please share them
magic3.c:28: ***************************************************************************/
magic3.c:31:/***************************************************************************
magic3.c:46: ***************************************************************************/
magic3.c:48:/***************************************************************************
magic3.c:55:*	ROM license, in the file Rom24/doc/rom.license			   *
magic3.c:56:***************************************************************************/
magic3.c:61:#include <sys/types.h>
magic3.c:73:/* SPELLS BY TAKA     */
magic3.c:74:/* Stone Meld */
magic3.c:102:/* smoke screen */
magic3.c:122:    af.modifier  = (-20 * (level / 26));
magic3.c:131:/*
magic3.c:133: */
magic3.c:145:			dam /= 2;
magic3.c:158:/*
magic3.c:160: */
magic3.c:172:			dam /= 2;
magic3.c:184:/*
magic3.c:186: */
magic3.c:195:		dam = dice( (level / 2), 8 );
magic3.c:198:			dam /= 2;
magic3.c:210:/*
magic3.c:212: */
magic3.c:221:		dam = dice( (level / 2), 8 );
magic3.c:224:			dam /= 2;
magic3.c:237:/*
magic3.c:239: */
magic3.c:248:		dam = dice( (level / 2), 8 );
magic3.c:251:			dam /= 2;
magic3.c:263:/*
magic3.c:265: */
magic3.c:468:    af.duration  = 4 + (level/3);
magic3.c:470:    af.modifier  = -10 - (level / 8);
magic3.c:493:    dam = 150 + dice( level/4, 12 );
magic3.c:496:      dam = (dam * 100) / 120;
magic3.c:511:    dam = 150 + dice( level/4, 12 );
magic3.c:514:      dam = (dam * 100) / 120;
magic3.c:529:    dam = 150 + dice( level/4, 12 );
magic3.c:532:      dam = (dam * 100) / 120;
magic3.c:547:    dam = 150 + dice( level/4, 12 );
magic3.c:550:      dam = (dam * 100) / 120;
magic3.c:567:      dam         = ( level /2 )
magic3.c:568:                    +dice( ( level/6 ), 10 )
magic3.c:569:                    +dice( ( level/6 ), 10 );
magic3.c:574:  		dam /= 2;
magic3.c:591:      dam         = ( level /2 )
magic3.c:592:                    +dice( ( level/6 ), 10 )
magic3.c:593:                    +dice( ( level/6 ), 10 );
magic3.c:598:  		dam /= 2;
magic3.c:614:      dam         = ( level /2 )
magic3.c:615:                    +dice( ( level/6 ), 10 )
magic3.c:616:                    +dice( ( level/6 ), 10 );
magic3.c:621:  		dam /= 2;
magic3.c:637:      dam         = ( level /2 )
magic3.c:638:                    +dice( ( level/6 ), 10 )
magic3.c:639:                    +dice( ( level/6 ), 10 );
magic3.c:644:  		dam /= 2;
magic3.c:660:      dam         = ( level /2 )
magic3.c:661:                    +dice( ( level/6 ), 10 )
magic3.c:662:                    +dice( ( level/6 ), 10 );
magic3.c:667:  		dam /= 2;
magic3.c:730:   af.duration  = level/5;
magic3.c:740:/*original writer unkown, out of paradox codebase RoT1.4/1.5 diriv*/
magic3.c:766:    af.duration  = level/22;
magic3.c:784:		dam /= 1.25;
magic3.c:786:	ch->hit += dam/20;
marry.c:1:/***************************************************************************
marry.c:16: ***************************************************************************/
marry.c:18:/***************************************************************************
marry.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
marry.c:26:***************************************************************************/
marry.c:27:/***************************************************************************
marry.c:30:*	Email questions/comments to ryouga@jessi.indstate.edu		   *
marry.c:31:***************************************************************************/
marry.c:36:#include <sys/types.h>
marry.c:204:    else  /* message sent */
math.c:5:#include <sys/types.h>
math.c:6:#include <sys/time.h>
mem.c:1:/***************************************************************************
mem.c:12: ***************************************************************************/
mem.c:19:#include <sys/types.h>
mem.c:28:/*
mem.c:30: */
mem.c:109:/*    pArea->recall           =   ROOM_VNUM_TEMPLE;      ROM OLC */
mem.c:118:    pArea->empty            =   TRUE;              /* ROM patch */
mem.c:157:    pExit->u1.to_room   =   NULL;                  /* ROM OLC */
mem.c:159:/*  pExit->vnum         =   0;                        ROM OLC */
mem.c:328:    pObj->material      =   str_dup( "unknown" );      /* ROM */
mem.c:329:    pObj->condition     =   100;                        /* ROM */
mem.c:330:    for ( value = 0; value < 5; value++ )               /* 5 - ROM */
mem.c:333:    pObj->new_format    = TRUE; /* ROM */
mem.c:399:    pMob->race          =   race_lookup( "human" ); /* - Hugin */
mem.c:400:    pMob->form          =   0;           /* ROM patch -- Hugin */
mem.c:401:    pMob->parts         =   0;           /* ROM patch -- Hugin */
mem.c:402:    pMob->imm_flags     =   0;           /* ROM patch -- Hugin */
mem.c:403:    pMob->res_flags     =   0;           /* ROM patch -- Hugin */
mem.c:404:    pMob->vuln_flags    =   0;           /* ROM patch -- Hugin */
mem.c:405:    pMob->material      =   str_dup("unknown"); /* -- Hugin */
mem.c:406:    pMob->off_flags     =   0;           /* ROM patch -- Hugin */
mem.c:407:    pMob->size          =   SIZE_MEDIUM; /* ROM patch -- Hugin */
mem.c:408:    pMob->ac[AC_PIERCE]	=   0;           /* ROM patch -- Hugin */
mem.c:409:    pMob->ac[AC_BASH]	=   0;           /* ROM patch -- Hugin */
mem.c:410:    pMob->ac[AC_SLASH]	=   0;           /* ROM patch -- Hugin */
mem.c:411:    pMob->ac[AC_EXOTIC]	=   0;           /* ROM patch -- Hugin */
mem.c:412:    pMob->hit[DICE_NUMBER]	=   0;   /* ROM patch -- Hugin */
mem.c:413:    pMob->hit[DICE_TYPE]	=   0;   /* ROM patch -- Hugin */
mem.c:414:    pMob->hit[DICE_BONUS]	=   0;   /* ROM patch -- Hugin */
mem.c:415:    pMob->mana[DICE_NUMBER]	=   0;   /* ROM patch -- Hugin */
mem.c:416:    pMob->mana[DICE_TYPE]	=   0;   /* ROM patch -- Hugin */
mem.c:417:    pMob->mana[DICE_BONUS]	=   0;   /* ROM patch -- Hugin */
mem.c:418:    pMob->damage[DICE_NUMBER]	=   0;   /* ROM patch -- Hugin */
mem.c:419:    pMob->damage[DICE_TYPE]	=   0;   /* ROM patch -- Hugin */
mem.c:420:    pMob->damage[DICE_NUMBER]	=   0;   /* ROM patch -- Hugin */
mem.c:421:    pMob->start_pos             =   POS_STANDING; /*  -- Hugin */
mem.c:422:    pMob->default_pos           =   POS_STANDING; /*  -- Hugin */
mem.c:425:    pMob->new_format            = TRUE;  /* ROM */
mob_cmds.c:1:/***************************************************************************
mob_cmds.c:16: ***************************************************************************/
mob_cmds.c:18:/***************************************************************************
mob_cmds.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
mob_cmds.c:26:***************************************************************************/
mob_cmds.c:28:/***************************************************************************
mob_cmds.c:34: ***************************************************************************/
mob_cmds.c:36:#include <sys/types.h>
mob_cmds.c:46:/*
mob_cmds.c:48: */
mob_cmds.c:85:    /*
mob_cmds.c:87:     */
mob_cmds.c:92:/*
mob_cmds.c:95: */
mob_cmds.c:103:    /*
mob_cmds.c:105:     */
mob_cmds.c:145:/* 
mob_cmds.c:149: */
mob_cmds.c:215:/*
mob_cmds.c:219: */
mob_cmds.c:234:/*
mob_cmds.c:238: */
mob_cmds.c:262:/*
mob_cmds.c:266: */
mob_cmds.c:295:/*
mob_cmds.c:299: */
mob_cmds.c:329:/*
mob_cmds.c:333: */
mob_cmds.c:361:/*
mob_cmds.c:365: */
mob_cmds.c:387:/*
mob_cmds.c:393: */
mob_cmds.c:434:/*
mob_cmds.c:438: */
mob_cmds.c:456:/*
mob_cmds.c:460: */
mob_cmds.c:477:/*
mob_cmds.c:481: */
mob_cmds.c:489:/*
mob_cmds.c:493: */
mob_cmds.c:519:/*
mob_cmds.c:523: */
mob_cmds.c:551:	/*
mob_cmds.c:553:	 */
mob_cmds.c:569:    /*
mob_cmds.c:574:     */
mob_cmds.c:602:/*
mob_cmds.c:608: */
mob_cmds.c:619:        /* 'purge' */
mob_cmds.c:666:/*
mob_cmds.c:670: */
mob_cmds.c:700:/* 
mob_cmds.c:704: */
mob_cmds.c:735:    /*
mob_cmds.c:738:     */
mob_cmds.c:753:/*
mob_cmds.c:758: */
mob_cmds.c:793:    /*
mob_cmds.c:795:     */
mob_cmds.c:828:/*
mob_cmds.c:832: */
mob_cmds.c:865:/*
mob_cmds.c:870: */
mob_cmds.c:917:/*
mob_cmds.c:921: */
mob_cmds.c:954:/*
mob_cmds.c:958: */
mob_cmds.c:994:/*
mob_cmds.c:1001: */
mob_cmds.c:1056:/*
mob_cmds.c:1061: */
mob_cmds.c:1104:    /*
mob_cmds.c:1107:     */
mob_cmds.c:1131:/*
mob_cmds.c:1136: */
mob_cmds.c:1148:/*
mob_cmds.c:1152: */
mob_cmds.c:1158:/*
mob_cmds.c:1164: */
mob_cmds.c:1179:/*
mob_cmds.c:1183: */
mob_cmds.c:1188:/*
mob_cmds.c:1190: * This is a crude way to implement subroutines/functions. Beware of
mob_cmds.c:1197: */
mob_cmds.c:1232:/*
mob_cmds.c:1237: */
mob_cmds.c:1266:/*
mob_cmds.c:1271: */
mob_cmds.c:1306:/*
mob_cmds.c:1311: */
mob_prog.c:1:/***************************************************************************
mob_prog.c:16: ***************************************************************************/
mob_prog.c:18:/***************************************************************************
mob_prog.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
mob_prog.c:26:***************************************************************************/
mob_prog.c:28:/***************************************************************************
mob_prog.c:36: ***************************************************************************/
mob_prog.c:42:#include <sys/types.h>
mob_prog.c:50:/*
mob_prog.c:53: */
mob_prog.c:107:/*
mob_prog.c:109: */
mob_prog.c:117:/*
mob_prog.c:119: */
mob_prog.c:122:    "rand",		/* if rand 30		- if random number < 30 */
mob_prog.c:123:    "mobhere",		/* if mobhere fido	- is there a 'fido' here */
mob_prog.c:124:    "objhere",		/* if objhere bottle	- is there a 'bottle' here */
mob_prog.c:125:			/* if mobhere 1233	- is there mob vnum 1233 here */
mob_prog.c:126:			/* if objhere 1233	- is there obj vnum 1233 here */
mob_prog.c:127:    "mobexists",	/* if mobexists fido	- is there a fido somewhere */
mob_prog.c:128:    "objexists",	/* if objexists sword	- is there a sword somewhere */
mob_prog.c:130:    "people",		/* if people > 4	- does room contain > 4 people */
mob_prog.c:131:    "players",		/* if players > 1	- does room contain > 1 pcs */
mob_prog.c:132:    "mobs",		/* if mobs > 2		- does room contain > 2 mobiles */
mob_prog.c:133:    "clones",		/* if clones > 3	- are there > 3 mobs of same vnum here */
mob_prog.c:134:    "order",		/* if order == 0	- is mob the first in room */
mob_prog.c:135:    "hour",		/* if hour > 11		- is the time > 11 o'clock */
mob_prog.c:138:    "ispc",		/* if ispc $n 		- is $n a pc */
mob_prog.c:139:    "isnpc",		/* if isnpc $n 		- is $n a mobile */
mob_prog.c:140:    "isgood",		/* if isgood $n 	- is $n good */
mob_prog.c:141:    "isevil",		/* if isevil $n 	- is $n evil */
mob_prog.c:142:    "isneutral",	/* if isneutral $n 	- is $n neutral */
mob_prog.c:143:    "isimmort",		/* if isimmort $n	- is $n immortal */
mob_prog.c:144:    "ischarm",		/* if ischarm $n	- is $n charmed */
mob_prog.c:145:    "isfollow",		/* if isfollow $n	- is $n following someone */
mob_prog.c:146:    "isactive",		/* if isactive $n	- is $n's position > SLEEPING */
mob_prog.c:147:    "isdelay",		/* if isdelay $i	- does $i have mobprog pending */
mob_prog.c:148:    "isvisible",	/* if isvisible $n	- can mob see $n */
mob_prog.c:149:    "hastarget",	/* if hastarget $i	- does $i have a valid target */
mob_prog.c:150:    "istarget",		/* if istarget $n	- is $n mob's target */
mob_prog.c:151:    "exists",		/* if exists $n		- does $n exist somewhere */
mob_prog.c:153:    "affected",		/* if affected $n blind - is $n affected by blind */
mob_prog.c:154:    "act",		/* if act $i sentinel	- is $i flagged sentinel */
mob_prog.c:155:    "off",              /* if off $i berserk	- is $i flagged berserk */
mob_prog.c:156:    "imm",              /* if imm $i fire	- is $i immune to fire */
mob_prog.c:157:    "carries",		/* if carries $n sword	- does $n have a 'sword' */
mob_prog.c:158:			/* if carries $n 1233	- does $n have obj vnum 1233 */
mob_prog.c:159:    "wears",		/* if wears $n lantern	- is $n wearing a 'lantern' */
mob_prog.c:160:			/* if wears $n 1233	- is $n wearing obj vnum 1233 */
mob_prog.c:161:    "has",    		/* if has $n weapon	- does $n have obj of type weapon */
mob_prog.c:162:    "uses",		/* if uses $n armor	- is $n wearing obj of type armor */
mob_prog.c:163:    "name",		/* if name $n puff	- is $n's name 'puff' */
mob_prog.c:164:    "pos",		/* if pos $n standing	- is $n standing */
mob_prog.c:165:    "clan",		/* if clan $n 'whatever'- does $n belong to clan 'whatever' */
mob_prog.c:166:    "race",		/* if race $n dragon	- is $n of 'dragon' race */
mob_prog.c:167:    "class",		/* if class $n mage	- is $n's class 'mage' */
mob_prog.c:168:    "objtype",		/* if objtype $p scroll	- is $p a scroll */
mob_prog.c:170:    "vnum",		/* if vnum $i == 1233  	- virtual number check */
mob_prog.c:171:    "hpcnt",		/* if hpcnt $i > 30	- hit point percent check */
mob_prog.c:172:    "room",		/* if room $i == 1233	- room virtual number */
mob_prog.c:173:    "sex",		/* if sex $i == 0	- sex check */
mob_prog.c:174:    "level",		/* if level $n < 5	- level check */
mob_prog.c:175:    "align",		/* if align $n < -1000	- alignment check */
mob_prog.c:176:    "money",		/* if money $n */
mob_prog.c:177:    "objval0",		/* if objval0 > 1000 	- object value[] checks 0..4 */
mob_prog.c:182:    "grpsize",		/* if grpsize $n > 6	- group size check */
mob_prog.c:184:    "\n"		/* Table terminator */
mob_prog.c:198:/*
mob_prog.c:200: */
mob_prog.c:210:/*
mob_prog.c:213: */
mob_prog.c:236:/*
mob_prog.c:240: */
mob_prog.c:242:/*
mob_prog.c:244: */
mob_prog.c:263:/* 
mob_prog.c:264: * How many other players / mobs are there in the room
mob_prog.c:265: * iFlag: 0: all, 1: players, 2: mobiles 3: mobs w/ same vnum 4: same group
mob_prog.c:266: */
mob_prog.c:284:/*
mob_prog.c:288: */
mob_prog.c:307:/*
mob_prog.c:312: */
mob_prog.c:324:/*
mob_prog.c:326: */
mob_prog.c:336:/*
mob_prog.c:338: */
mob_prog.c:348:/* ---------------------------------------------------------------------
mob_prog.c:350: * This monster evaluates an if/or/and statement
mob_prog.c:359: */
mob_prog.c:378:    /*
mob_prog.c:380:     */
mob_prog.c:386:	/*
mob_prog.c:388:	 */
mob_prog.c:405:	/*
mob_prog.c:408:	 */
mob_prog.c:424:    /*
mob_prog.c:426:     */
mob_prog.c:442:    /*
mob_prog.c:444:     */
mob_prog.c:476:    /*
mob_prog.c:478:     */
mob_prog.c:482:    /*
mob_prog.c:484:     */
mob_prog.c:499:        case CHK_ISCHARM: /* A relic from MERC 2.2 MOBprograms */
mob_prog.c:530:     /* 
mob_prog.c:532:      */
mob_prog.c:587:    /*
mob_prog.c:589:     */
mob_prog.c:621:	    if ( lval_char != NULL ) lval = (lval_char->hit * 100)/(UMAX(1,lval_char->max_hit)); break;
mob_prog.c:631:	case CHK_MONEY:  /* Money is converted to silver... */
mob_prog.c:652:/*
mob_prog.c:658: */
mob_prog.c:679:    /*
mob_prog.c:681:     */
mob_prog.c:841:/*
mob_prog.c:849: */
mob_prog.c:851:#define MAX_NESTED_LEVEL 12 /* Maximum nested if-else-endif's (stack size) */
mob_prog.c:852:#define BEGIN_BLOCK       0 /* Flag: Begin of if-else-endif block */
mob_prog.c:853:#define IN_BLOCK         -1 /* Flag: Executable statements */
mob_prog.c:854:#define END_BLOCK        -2 /* Flag: End of if-else-endif block */
mob_prog.c:855:#define MAX_CALL_LEVEL    5 /* Maximum nested calls */
mob_prog.c:858:        long pvnum,  /* For diagnostic purposes */
mob_prog.c:859:	char *source,  /* the actual MOBprog code */
mob_prog.c:867:    static int call_level; /* Keep track of nested "mpcall"s */
mob_prog.c:870:    int state[MAX_NESTED_LEVEL], /* Block state (BEGIN,IN,END) */
mob_prog.c:871:	cond[MAX_NESTED_LEVEL];  /* Boolean value based on the last if-check */
mob_prog.c:881:    /*
mob_prog.c:883:     */
mob_prog.c:892:    /*
mob_prog.c:894:     */
mob_prog.c:899:	/*
mob_prog.c:901:	 * (if/and/or) and the rest of the line in one pass.
mob_prog.c:902:	 */
mob_prog.c:928:	if ( buf[0] == '*' ) /* Comment */
mob_prog.c:932:	/* 
mob_prog.c:934:	 */
mob_prog.c:1057:		/* 
mob_prog.c:1059:		 */
mob_prog.c:1065:		/* 
mob_prog.c:1067:		 */
mob_prog.c:1075:/* 
mob_prog.c:1080: */
mob_prog.c:1082:/*
mob_prog.c:1085: */
mob_prog.c:1104:/*
mob_prog.c:1107: */
mob_prog.c:1130:    /*
mob_prog.c:1134:     */
mob_prog.c:1159:		/*
mob_prog.c:1163:		 */
mob_prog.c:1195:	    /*
mob_prog.c:1197:	     */
mob_prog.c:1206:	    /*
mob_prog.c:1208:	     */
mob_prog.c:1235:	    /*
mob_prog.c:1239:	     */
mob_prog.c:1258:	&& ( (100 * mob->hit / mob->max_hit) < atoi( prg->trig_phrase ) ) )
msedit.c:4:#include <sys/types.h>
msedit.c:5:#include <sys/time.h>
msedit.c:97:		 "Value must be between 0 and %d.\n\rIf you play the song and get (null) reduce the number of lines./n/r",
music.c:1:/***************************************************************************
music.c:16: ***************************************************************************/
music.c:18:/***************************************************************************
music.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
music.c:26:***************************************************************************/
music.c:28:/*************************************************************************** 
music.c:31:*       ROT license, in the file doc/rot.license                           * 
music.c:32:***************************************************************************/
music.c:37:#include <sys/types.h>
music.c:38:#include <sys/time.h>
music.c:60:    /* do the global song, if any */
music.c:71:            /* advance songs */
music.c:132:		/* scroll songs forward */
music.c:158:    /* reset global */
music.c:185:	/* read lyrics */
note.c:1:/***************************************************************************
note.c:16: ***************************************************************************/
note.c:18:/***************************************************************************
note.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
note.c:26:***************************************************************************/
note.c:28:/*************************************************************************** 
note.c:31:*       ROT license, in the file doc/rot.license                           * 
note.c:32:***************************************************************************/
note.c:37:#include <sys/types.h>
note.c:38:#include <sys/time.h>
note.c:49:/* globals from db.c for load_notes */
note.c:57:/* local procedures */
note.c:431:	/* make a new list */
note.c:443:        /* Just a simple recipient removal? */
note.c:451:    /* nuke the whole note */
note.c:477:    /*
note.c:479:     */
note.c:649:        /* read next unread note */
note.c:832:    /* below this point only certain people can edit notes */
note.c:895:		if (!found)  /* back it up */
note.c:901:		else /* found the second one */
note.c:1075:    /*
note.c:1077:     */
olc.c:1:/***************************************************************************
olc.c:12: ***************************************************************************/
olc.c:19:#include <sys/types.h>
olc.c:31:/*
olc.c:33: */
olc.c:37:/* Executed from comm.c.  Minimizes compiling when changes are made. */
olc.c:138:/*****************************************************************************
olc.c:142: ****************************************************************************/
olc.c:169:/*****************************************************************************
olc.c:173: ****************************************************************************/
olc.c:200:/*****************************************************************************
olc.c:202: *****************************************************************************/
olc.c:205:/*  {   command		function	}, */
olc.c:208:    {   "builder",	aedit_builder	}, /* s removed -- Hugin */
olc.c:213:/*  {   "recall",	aedit_recall	},   ROM OLC */
olc.c:232:/*  {   command		function	}, */
olc.c:253:    /* New reset commands. */
olc.c:273:/*  {   command		function	}, */
olc.c:290:    {   "v4",		oedit_value4	},  /* ROM */
olc.c:293:    {   "extra",        oedit_extra     },  /* ROM */
olc.c:294:    {   "wear",         oedit_wear      },  /* ROM */
olc.c:295:    {   "type",         oedit_type      },  /* ROM */
olc.c:296:    {   "material",     oedit_material  },  /* ROM */
olc.c:297:    {   "level",        oedit_level     },  /* ROM */
olc.c:298:    {   "condition",    oedit_condition },  /* ROM */
olc.c:312:/*  {   command		function	}, */
olc.c:326:    {   "sex",          medit_sex       },  /* ROM */
olc.c:327:    {   "act",          medit_act       },  /* ROM */
olc.c:328:    {   "act2",          medit_act2       },  /* ROM */
olc.c:329:    {   "affect",       medit_affect    },  /* ROM */
olc.c:330:    {   "shield",       medit_shield    },  /*Loki*/
olc.c:331:    {   "armor",        medit_ac        },  /* ROM */
olc.c:332:    {   "form",         medit_form      },  /* ROM */
olc.c:333:    {   "part",         medit_part      },  /* ROM */
olc.c:334:    {   "imm",          medit_imm       },  /* ROM */
olc.c:335:    {   "res",          medit_res       },  /* ROM */
olc.c:336:    {   "vuln",         medit_vuln      },  /* ROM */
olc.c:337:    {   "material",     medit_material  },  /* ROM */
olc.c:338:    {   "off",          medit_off       },  /* ROM */
olc.c:339:    {   "size",         medit_size      },  /* ROM */
olc.c:340:    {   "hitdice",      medit_hitdice   },  /* ROM */
olc.c:341:    {   "manadice",     medit_manadice  },  /* ROM */
olc.c:342:    {   "damdice",      medit_damdice   },  /* ROM */
olc.c:343:    {   "race",         medit_race      },  /* ROM */
olc.c:344:    {   "position",     medit_position  },  /* ROM */
olc.c:345:    {   "wealth",       medit_gold      },  /* ROM */
olc.c:346:    {   "hitroll",      medit_hitroll   },  /* ROM */
olc.c:347:    {	"damtype",	medit_damtype	},  /* ROM */
olc.c:348:    {   "group",	medit_group	},  /* ROM */
olc.c:349:    {   "addmprog",	medit_addmprog  },  /* ROM */
olc.c:350:    {	"delmprog",	medit_delmprog	},  /* ROM */
olc.c:360:/*****************************************************************************
olc.c:362: *****************************************************************************/
olc.c:366:/*****************************************************************************
olc.c:370: ****************************************************************************/
olc.c:386:/*****************************************************************************
olc.c:390: ****************************************************************************/
olc.c:400:/*****************************************************************************
olc.c:402: *****************************************************************************/
olc.c:405:/* Area Interpreter, called by do_aedit. */
olc.c:452:    /* Search Table and Dispatch Command. */
olc.c:467:    /* Default to Standard Interpreter. */
olc.c:474:/* Room Interpreter, called by do_redit. */
olc.c:534:    /* Search Table and Dispatch Command. */
olc.c:549:    /* Default to Standard Interpreter. */
olc.c:556:/* Object Interpreter, called by do_oedit. */
olc.c:564:/*  int  value;   ROM */
olc.c:598:    /* Search Table and Dispatch Command. */
olc.c:613:    /* Default to Standard Interpreter. */
olc.c:620:/* Mobile Interpreter, called by do_medit. */
olc.c:628:/*  int  value;    ROM */
olc.c:662:    /* Search Table and Dispatch Command. */
olc.c:677:    /* Default to Standard Interpreter. */
olc.c:687:/*  {   command		function	}, */
olc.c:699:/* Entry point for all editors. */
olc.c:713:    /* Search Table and Dispatch Command. */
olc.c:723:    /* Invalid command, send help. */
olc.c:730:/* Entry point for editing area_data. */
olc.c:768:	    area_last		=   pArea;	/* Thanks, Walker. */
olc.c:787:/* Entry point for editing room_index_data. */
olc.c:856:/* Entry point for editing obj_index_data. */
olc.c:928:/* Entry point for editing mob_index_data. */
olc.c:1054:	    /*
olc.c:1057:	     */
olc.c:1130:                sprintf( buf, "Give/Equip Object - Bad Object %ld\n\r",
olc.c:1140:                sprintf( buf, "Give/Equip Object - No Previous Mobile\n\r" );
olc.c:1168:	/*
olc.c:1172:	 */
olc.c:1183:	/*
olc.c:1185:	 */
olc.c:1209:/*****************************************************************************
olc.c:1213: ****************************************************************************/
olc.c:1229:    if ( index == 0 )	/* First slot (1) selected. */
olc.c:1236:    /*
olc.c:1238:     */
olc.c:1280:    /*
olc.c:1283:     */
olc.c:1298:    /*
olc.c:1301:     */
olc.c:1306:	/*
olc.c:1309:	 */
olc.c:1361:	/*
olc.c:1364:	 */
olc.c:1368:	    /*
olc.c:1371:	     */
olc.c:1382:		pReset->arg2    = is_number( arg4 ) ? atoi( arg4 ) : 1; /* Max # */
olc.c:1384:		pReset->arg4	= is_number( arg5 ) ? atoi( arg5 ) : 1; /* Min # */
olc.c:1387:	    /*
olc.c:1390:	     */
olc.c:1395:		/*
olc.c:1398:		 */
olc.c:1405:      if (!temp) /* fix by kalahn@pobox.com */
olc.c:1423:		/*
olc.c:1426:		 */
olc.c:1440:		/*
olc.c:1443:		 */
olc.c:1499:/*****************************************************************************
olc.c:1503: ****************************************************************************/
olc.c:1508:    char result [ MAX_STRING_LENGTH*2 ];	/* May need tweaking. */
olc_act.c:1:/***************************************************************************
olc_act.c:12: ***************************************************************************/
olc_act.c:19:#include <sys/types.h>
olc_act.c:36:/* Return TRUE if area changed, FALSE if not. */
olc_act.c:67:/*
olc_act.c:70: */
olc_act.c:90:/* ROM specific bits: */
olc_act.c:115:/*****************************************************************************
olc_act.c:119: ****************************************************************************/
olc_act.c:148:/*****************************************************************************
olc_act.c:156: ****************************************************************************/
olc_act.c:193:/*****************************************************************************
olc_act.c:197: ****************************************************************************/
olc_act.c:225:/*****************************************************************************
olc_act.c:229: ****************************************************************************/
olc_act.c:240:    /*
olc_act.c:242:     */
olc_act.c:257:    /*
olc_act.c:260:     */
olc_act.c:290:		        "[ignore/attack/defend/self/object/all]\n\r", ch );
olc_act.c:308:		        "[ignore/attack/defend/self/object/all]\n\r", ch );
olc_act.c:339:/*    buf1[0] = '\0'; */
olc_act.c:383:	send_to_char( "Syntax:  mlist <all/name>\n\r", ch );
olc_act.c:389:/*    buf1[0] = '\0'; */
olc_act.c:439:	send_to_char( "Syntax:  olist <all/name/item_type>\n\r", ch );
olc_act.c:445:/*    buf1[0] = '\0'; */
olc_act.c:554:/*****************************************************************************
olc_act.c:558: ****************************************************************************/
olc_act.c:566:	/*
olc_act.c:568:	 */
olc_act.c:597:/*
olc_act.c:599: */
olc_act.c:610:#if 0  /* ROM OLC */
olc_act.c:615:#endif /* ROM */
olc_act.c:669:    area_last		=   pArea;	/* Thanks, Walker. */
olc_act.c:726:    one_argument( argument, file );	/* Forces Lowercase */
olc_act.c:734:    /*
olc_act.c:736:     */
olc_act.c:744:    /*
olc_act.c:746:     */
olc_act.c:808:#if 0 /* ROM OLC */
olc_act.c:838:#endif /* ROM OLC */
olc_act.c:986:	return TRUE;	/* The lower value has been set. */
olc_act.c:1084:/*
olc_act.c:1086: */
olc_act.c:1198:		pexit->u1.to_room ? pexit->u1.to_room->vnum : 0,      /* ROM OLC */
olc_act.c:1202:	    /*
olc_act.c:1205:	     */
olc_act.c:1253:/* Local function. */
olc_act.c:1263:    /*
olc_act.c:1266:     */
olc_act.c:1270:	sh_int rev;                                    /* ROM OLC */
olc_act.c:1277:	 /*   pRoom->exit[door] = new_exit(); */
olc_act.c:1279:	/*
olc_act.c:1281:	 */
olc_act.c:1283:	/* Don't toggle exit_info because it can be changed by players. */
olc_act.c:1286:	/*
olc_act.c:1288:	 */
olc_act.c:1289:	pToRoom = pRoom->exit[door]->u1.to_room;     /* ROM OLC */
olc_act.c:1302:    /*
olc_act.c:1304:     */
olc_act.c:1308:    if ( command[0] == '\0' && argument[0] == '\0' )	/* Move command. */
olc_act.c:1310:	move_char( ch, door, TRUE, FALSE );                    /* ROM OLC */
olc_act.c:1323:	sh_int rev;                                     /* ROM OLC */
olc_act.c:1331:	/*
olc_act.c:1333:	 */
olc_act.c:1335:	pToRoom = pRoom->exit[door]->u1.to_room;       /* ROM OLC */
olc_act.c:1343:	/*
olc_act.c:1345:	 */
olc_act.c:1388:	pRoom->exit[door]->u1.to_room = get_room_index( value );   /* ROM OLC */
olc_act.c:1391:/*	pRoom->exit[door]->vnum = value;                Can't set vnum in ROM */
olc_act.c:1397:/*	pExit->vnum             = ch->in_room->vnum;    Can't set vnum in ROM */
olc_act.c:1442:	pRoom->exit[door]->u1.to_room = get_room_index( value );    /* ROM OLC */
olc_act.c:1444:/*	pRoom->exit[door]->vnum = value;                 Can't set vnum in ROM */
olc_act.c:1464:/*	if ( !pRoom->exit[door] )
olc_act.c:1467:	} */
olc_act.c:1504:/*	if ( !pRoom->exit[door] )
olc_act.c:1507:	} */
olc_act.c:1529:/*	    if ( !pRoom->exit[door] )
olc_act.c:1532:	    } */
olc_act.c:1943:    /*
olc_act.c:1945:     */
olc_act.c:1952:    add_reset( pRoom, pReset, 0/* Last slot*/ );
olc_act.c:1954:    /*
olc_act.c:1956:     */
olc_act.c:2006:/*****************************************************************************
olc_act.c:2011: ****************************************************************************/
olc_act.c:2027:/*****************************************************************************
olc_act.c:2031: ****************************************************************************/
olc_act.c:2087:    /*
olc_act.c:2089:     */
olc_act.c:2098:	add_reset( pRoom, pReset, 0/* Last slot*/ );
olc_act.c:2109:    /*
olc_act.c:2111:     */
olc_act.c:2121:	add_reset( pRoom, pReset, 0/* Last slot*/ );
olc_act.c:2136:    /*
olc_act.c:2138:     */
olc_act.c:2143:	/*
olc_act.c:2145:	 */
olc_act.c:2152:	/*
olc_act.c:2154:	 */
olc_act.c:2166:	/*
olc_act.c:2168:	 */
olc_act.c:2184:	add_reset( pRoom, pReset, 0/* Last slot*/ );
olc_act.c:2189:	if ( to_mob->pIndexData->pShop )	/* Shop-keeper? */
olc_act.c:2227:    else	/* Display Syntax */
olc_act.c:2239:/*
olc_act.c:2241: */
olc_act.c:2248:	default:	/* No values. */
olc_act.c:2252:            if ( obj->value[2] == -1 || obj->value[2] == 999 ) /* ROM OLC */
olc_act.c:2332:/* ARMOR for ROM */
olc_act.c:2347:/* WEAPON changed in ROM: */
olc_act.c:2348:/* I had to split the output here, I have no idea why, but it helped -- Hugin */
olc_act.c:2349:/* It somehow fixed a bug in showing scroll/pill/potions too ?! */
olc_act.c:2551:/* ARMOR for ROM: */
olc_act.c:2578:/* WEAPONS changed in ROM */
olc_act.c:2772:/* OLC		    do_help( ch, "liquids" );    */
olc_act.c:2799:/* OLC		    do_help( ch, "liquids" );    */
olc_act.c:2895:    sprintf( buf, "Material:    [%s]\n\r",                /* ROM */
olc_act.c:2899:    sprintf( buf, "Condition:   [%5d]\n\r",               /* ROM */
olc_act.c:2926:/*
olc_act.c:2939:    }*/
olc_act.c:2973:/*
olc_act.c:2975: */
olc_act.c:2976:/*
olc_act.c:3016:}*/
olc_act.c:3017:/*
olc_act.c:3077:*/
olc_act.c:3284:    if ( ( value = flag_value( apply_flags, loc ) ) == NO_FLAG ) /* Hugin
olc_act.c:3285:*/
olc_act.c:3309:    send_to_char( "Use addaffect spells/shield <spellaffect/shieldaffect>.\n\r", ch);
olc_act.c:3310:    send_to_char( "Use addaffect [immune/resist/vuln] <imm/resist/vuln>.\n\r", ch);
olc_act.c:3316:/*
olc_act.c:3319: */
olc_act.c:3353:    if( value == 0 )	/* First case: Remove first affect */
olc_act.c:3359:    else		/* Affect to remove is not the first */
olc_act.c:3364:	if( pAf_next )		/* See if it's the next affect */
olc_act.c:3369:	else                                 /* Doesn't exist */
olc_act.c:3451:	set_obj_values( ch, pObj, -1, "" );     /* '\0' changed to "" -- Hugin */
olc_act.c:3463:/*****************************************************************************
olc_act.c:3467: ****************************************************************************/
olc_act.c:3756:/* ROM object functions : */
olc_act.c:3758:OEDIT( oedit_extra )      /* Moved out of oedit() due to naming conflicts -- Hugin */
olc_act.c:3782:OEDIT( oedit_wear )      /* Moved out of oedit() due to naming conflicts -- Hugin */
olc_act.c:3806:OEDIT( oedit_type )      /* Moved out of oedit() due to naming conflicts -- Hugin */
olc_act.c:3821:	    /*
olc_act.c:3823:	     */
olc_act.c:3828:	    pObj->value[4] = 0;     /* ROM */
olc_act.c:3918:   bonus = UMAX(0, pObj->level/10 - 1);
olc_act.c:3919:/* adjust this next line to change the avg dmg your weapons will get! */
olc_act.c:3921:	dice = (pObj->level/10 + 1);
olc_act.c:3922:	size = dice/2;
olc_act.c:3923:/* loop through dice sizes until we find that the Next dice size's avg
olc_act.c:3924:will be too high... ie, find the "best fit" */
olc_act.c:3925:	for (size=dice/2 ; dice * (size +2)/2 < avg ; size++ )
olc_act.c:4004:	size = UMAX(1, pObj->level/1.2 + 5);
olc_act.c:4019:/*
olc_act.c:4021: */
olc_act.c:4049:	pMob->sex == 3           ? "random" : "neutral" );  /* ROM magic number */
olc_act.c:4055:    sprintf( buf, "Race:        [%s]\n\r",                   /* ROM OLC */
olc_act.c:4064:/* ROM values: */
olc_act.c:4092:/* ROM values end */
olc_act.c:4102:/* ROM values: */
olc_act.c:4153:/* ROM values end */
olc_act.c:4562:    /* shop assign && shop delete by Phoenix */
olc_act.c:4632:/* ROM medit functions: */
olc_act.c:4635:MEDIT( medit_sex )          /* Moved out of medit() due to naming conflicts -- Hugin */
olc_act.c:4659:MEDIT( medit_act )          /* Moved out of medit() due to naming conflicts -- Hugin */
olc_act.c:4683:MEDIT( medit_act2 )          /* Moved out of medit() due to naming conflicts -- Hugin */
olc_act.c:4706:MEDIT( medit_affect )      /* Moved out of medit() due to naming conflicts -- Hugin */
olc_act.c:4758:    do   /* So that I can use break and send the syntax in one place */
olc_act.c:4802:    } while ( FALSE );    /* Just do it once.. */
olc_act.c:5222:    send_to_char( "Syntax:  position [start/default] [position]\n\r"
olc_act.c:5518:	/* adjust these next 2 lines to affect ACs */
olc_act.c:5519:	ac_n = 95 - (pMob->level * 6.67) - ((pMob->level/10)^2);
olc_act.c:5520:	ac_x = 95 - (pMob->level * 4.57) - ((pMob->level/10)^2);
olc_act.c:5531:dice = pMob->level/3;
olc_act.c:5534:size = (.87 + pMob->level/dice);
olc_act.c:5537:bonus = (12.5 + pMob->level/1);
olc_act.c:5540:bonus = (pMob->level/40 + 1) * ((pMob->level * 10) + (pMob->level/10)) +1; 
olc_act.c:5541:size = pMob->level/3;
olc_act.c:5570:	ac_n = 88 - (pMob->level * 12.05) - ((pMob->level/10)^2);
olc_act.c:5571:	ac_x = 88 - (pMob->level * 10.02) - ((pMob->level/10)^2);
olc_act.c:5572:// sprintf(temp, "%d %d %d %d", ac_n, ac_n, ac_n, ac_x);
olc_act.c:5583:dice = pMob->level/4;
olc_act.c:5587:size = (2 + pMob->level/dice);
olc_act.c:5593:bonus = (pMob->level/40 + 10) * ((pMob->level * 10) + (pMob->level/10)) +1; 
olc_act.c:5594:size = pMob->level/3;
olc_act.c:5621:	ac_n = 99 - (pMob->level * 6.37) - ((pMob->level/10)^2);
olc_act.c:5622:	ac_x = 99 - (pMob->level * 4.27) - ((pMob->level/10)^2);
olc_act.c:5623:// sprintf(temp, "%d %d %d %d", ac_n, ac_n, ac_n, ac_x);
olc_act.c:5634:dice = pMob->level/3 * .95;
olc_act.c:5637:size = (.87 + pMob->level/dice) * .95;
olc_act.c:5640:bonus = (10.5 + pMob->level/1);
olc_act.c:5643:bonus = (pMob->level/59 + 1) * ((pMob->level * 9) + (pMob->level/11)) +1; 
olc_act.c:5644:size = pMob->level/3;
olc_mpcode.c:1:/* The following code is based on ILAB OLC by Jason Dinkel */
olc_mpcode.c:2:/* Mobprogram code by Lordrom for Nevermore Mud */
olc_mpcode.c:7:#include <sys/types.h>
olc_mpcode.c:24:/*	{	command		function	}, */
olc_save.c:1:/**************************************************************************
olc_save.c:12: ***************************************************************************/
olc_save.c:13:/* OLC_SAVE.C
olc_save.c:20: */
olc_save.c:25:#include <sys/types.h>
olc_save.c:38:/*
olc_save.c:42: */
olc_save.c:44:/* #define VERBOSE */
olc_save.c:46:/*****************************************************************************
olc_save.c:49: ****************************************************************************/
olc_save.c:63:       /*strfix[i] = str[i+o];*/
olc_save.c:74:/*****************************************************************************
olc_save.c:78: ****************************************************************************/
olc_save.c:91:	/*
olc_save.c:94:	 */
olc_save.c:96:	fprintf( fp, "rot.are\n"    );    /* ROM OLC */
olc_save.c:97:	fprintf( fp, "group.are\n"  );    /* ROM OLC */
olc_save.c:113:/*
olc_save.c:121: */
olc_save.c:135:    /* 32 -- number of bits in a long */
olc_save.c:171:/*****************************************************************************
olc_save.c:175: ****************************************************************************/
olc_save.c:206:    fprintf( fp, "%d %d %d %d\n", pMobIndex->ac[AC_PIERCE] / 10, 
olc_save.c:207:	     	     	          pMobIndex->ac[AC_BASH]   / 10, 
olc_save.c:208:	     	     	          pMobIndex->ac[AC_SLASH]  / 10, 
olc_save.c:209:	     	     	          pMobIndex->ac[AC_EXOTIC] / 10 );
olc_save.c:266:/*****************************************************************************
olc_save.c:271: ****************************************************************************/
olc_save.c:293:/*****************************************************************************
olc_save.c:298: ****************************************************************************/
olc_save.c:315:/*
olc_save.c:319: */
olc_save.c:333:		     pObjIndex->value[2] < 1 ? 999  /* infinite */
olc_save.c:353:/*                   fwrite_flag( pObjIndex->value[3], buf ) ); */
olc_save.c:428:		     pObjIndex->value[0] > 0 ? /* no negative numbers */
olc_save.c:518:/*****************************************************************************
olc_save.c:523: ****************************************************************************/
olc_save.c:545:/*****************************************************************************
olc_save.c:549: ****************************************************************************/
olc_save.c:578:                for( door = 0; door < MAX_DIR; door++ )	/* I hate this! */
olc_save.c:628:/*****************************************************************************
olc_save.c:632: ****************************************************************************/
olc_save.c:664:/*
olc_save.c:669: */
olc_save.c:715:/*****************************************************************************
olc_save.c:719: ****************************************************************************/
olc_save.c:878:	    }	/* End if correct area */
olc_save.c:879:	}	/* End for pRoom */
olc_save.c:880:    }	/* End for iHash */
olc_save.c:887:/*****************************************************************************
olc_save.c:891: ****************************************************************************/
olc_save.c:931:/*****************************************************************************
olc_save.c:935: ****************************************************************************/
olc_save.c:972:/*****************************************************************************
olc_save.c:976: ****************************************************************************/
olc_save.c:986:    if ( !ch )       /* Do an autosave */
olc_save.c:1010:    /* Snarf the value (which need not be numeric). */
olc_save.c:1017:    /* Save area of given vnum. */
olc_save.c:1018:    /* ------------------------ */
olc_save.c:1031:    /* Save the world, only authorized areas. */
olc_save.c:1032:    /* -------------------------------------- */
olc_save.c:1039:	    /* Builder must be assigned this area. */
olc_save.c:1047:/*	send_to_all_char( "Database saved.\n\r" );                 ROM OLC */
olc_save.c:1051:    /* Save changed areas, only authorized areas. */
olc_save.c:1052:    /* ------------------------------------------ */
olc_save.c:1065:	    /* Builder must be assigned this area. */
olc_save.c:1069:	    /* Save changed areas. */
olc_save.c:1083:    /* Save the area.lst file. */
olc_save.c:1084:    /* ----------------------- */
olc_save.c:1091:    /* Save area being edited, if authorized. */
olc_save.c:1092:    /* -------------------------------------- */
olc_save.c:1095:	/* Is character currently editing. */
olc_save.c:1103:	/* Find the area to save. */
olc_save.c:1136:    /* Show correct syntax. */
olc_save.c:1137:    /* -------------------- */
quest.c:1:/****************************************************************************
quest.c:6:*  of the standard diku/rom credits. If you use this or a modified version  *
quest.c:11:****************************************************************************/
quest.c:13:/********************************************************************************
quest.c:17: * Web Page : http://spaceservices.net/~markanth/                               *
quest.c:23: ********************************************************************************/
quest.c:40:/* Quest Prizes */
quest.c:41:#define QUEST_BLADE       501 /* Blade     */
quest.c:42:#define QUEST_ARMOR       502 /* Armor     */
quest.c:43:#define QUEST_LEGGING     505 /* Leggings  */
quest.c:44:#define QUEST_GAUNTLET    503 /* Gauntlets */
quest.c:45:#define QUEST_BOOT        512 /* Boots     */
quest.c:46:#define QUEST_HELM        514 /* Helm      */
quest.c:47:#define QUEST_RING        506 /* Ring      */
quest.c:48:#define QUEST_ORB         516 /* Orb       */
quest.c:49:#define QUEST_NECKLACE    517 /* Necklace  */
quest.c:50:#define QUEST_MASK        508 /* Mask      */
quest.c:51:#define QUEST_BELT        511 /* Belt      */
quest.c:52:#define QUEST_CLOAK       507 /* Cloak     */
quest.c:53:#define QUEST_BRACER      509 /* Bracelet  */
quest.c:54:#define QUEST_EARRING     518 /* Earring   */
quest.c:55:#define QUEST_ANKLET      513 /* Anklet    */
quest.c:56:#define QUEST_SHIELD      510 /* Shield    */
quest.c:57:#define QUEST_AURA        515 /* Aura      */  
quest.c:58:#define QUEST_TATTOO      504 /* Tattoo    */
quest.c:59:#define QUEST_SLEEVE      519 /* Sleeves   */
quest.c:60:#define QUEST_FLAME       520 /* Flame     */
quest.c:61:#define QUEST_STRINGTICK  548 /* Restring Ticket */
quest.c:62:#define QUEST_WHOTICK     549 /* Whostring Ticket */
quest.c:63:/*#define QUEST_TRIVIA      OBJ_VNUM_TRIVIA_PILL*/
quest.c:65:/*
quest.c:67: */
quest.c:94:/* Quests to find objects */
quest.c:100:/*
quest.c:102: */
quest.c:111:/* is object in quest table? */
quest.c:127:/* get the cost of an object in questpoints */
quest.c:143:/*
quest.c:145: */
quest.c:166:/* Nice little addapply function */
quest.c:189:/* Update a questobject */
quest.c:210:    bonus = UMAX(5, ch->level /  2);
quest.c:211:    pbonus = UMAX(5, ch->level / 2);
quest.c:373:        add_apply(obj, APPLY_DAMROLL, pbonus, TO_OBJECT, 0, -1, 0, ch->level/2);
quest.c:374:        add_apply(obj, APPLY_HITROLL, pbonus, TO_OBJECT, 0, -1, 0, ch->level/2);
quest.c:399:	obj->value[0] = UMAX(20, ch->level*4/3);
quest.c:400:	obj->value[1] = UMAX(20, ch->level*4/3);
quest.c:401:	obj->value[2] = UMAX(20, ch->level*4/3);
quest.c:402:	obj->value[3] = (5 * UMAX(20, ch->level*4/3)) / 6;
quest.c:405:	obj->value[0] = UMAX(40, ch->level / 3);
quest.c:409:/* Usage info on the QUEST commands*/
quest.c:410:/* Keep this in line with the do_quest function's keywords */
quest.c:418:/* Obtain additional location information about sought item/mob */
quest.c:457:}				/* end quest_where() */
quest.c:459:/* Does player have thier target object? */
quest.c:478:/*
quest.c:480: */
quest.c:485://    EXTRA_DESCR_DATA *ed;
quest.c:535:	if (ch->pcdata->questmob == -1 || has_questobj(ch))	/* killed target mob */
quest.c:541:	} else if (ch->pcdata->questobj > 0)	/* questing for an object */
quest.c:554:	    /* quest object not found! */
quest.c:558:	    /* no RETURN -- fall thru to 'no quest', below */
quest.c:559:	} else if (ch->pcdata->questmob > 0)	/* questing for a mob */
quest.c:570:	    /* quest mob not found! */
quest.c:572:	    ch->pcdata->questmob = 0;	/* Changed to mob instead of obj - Lotus */
quest.c:574:	    /* no RETURN -- fall thru to 'no quest', below */
quest.c:576:	/* we shouldn't be here */
quest.c:608:    /*
quest.c:612:     */
quest.c:634:    /*
quest.c:639:     */
quest.c:648://        printf_to_char(ch,"        500  qp ........ {R25 {WI{wqp ({Wquest buy iqp{x){x\n\r");  
quest.c:708:            /* this is my object owner code 
quest.c:714:		    obj->extra_descr = ed; */
quest.c:767:		ch->pcdata->questpoints += quest_table[i].cost / 3;
quest.c:769:		sprintf(buf, "$N takes $p from you for %d quest points.", quest_table[i].cost / 3);
quest.c:817:            /* this is my object owner code 
quest.c:823:		    obj->extra_descr = ed; */
quest.c:997:#define MAX_QMOB_COUNT mobile_count /* do all mobs what the heck */
quest.c:1009:    /*
quest.c:1011:     */
quest.c:1044:    /*
quest.c:1046:     */
quest.c:1056:    /*
quest.c:1059:     */
quest.c:1090:	questitem->timer = (4 * ch->pcdata->countdown + 10) / 3;
quest.c:1121:    /*
quest.c:1123:     */
quest.c:1251://    ch->reply = victim;
recycle.c:1:/***************************************************************************
recycle.c:16: ***************************************************************************/
recycle.c:18:/***************************************************************************
recycle.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
recycle.c:26:***************************************************************************/
recycle.c:28:/*************************************************************************** 
recycle.c:31:*       ROT license, in the file doc/rot.license                           * 
recycle.c:32:***************************************************************************/
recycle.c:38:#include <sys/types.h>
recycle.c:39:#include <sys/time.h>
recycle.c:47:/* stuff for recyling notes */
recycle.c:82:/* stuff for recycling ban structures */
recycle.c:116:/* stuff for recycling wizlist structures */
recycle.c:150:/* stuff for recycling clanlist structures */
recycle.c:205:/* stuff for recycling descriptors */
recycle.c:247:/* stuff for recycling gen_data */
recycle.c:278:/* stuff for recycling extended descs */
recycle.c:313:/* stuff for recycling affects */
recycle.c:346:/* stuff for recycling objects */
recycle.c:401:/* stuff for recyling characters */
recycle.c:573:/* stuff for setting ids */
recycle.c:594:/* procedures and constants needed for buffering */
recycle.c:631:/* buffer sizes */
recycle.c:637:/* local procedure for finding the next acceptable size */
recycle.c:638:/* -1 indicates out-of-boundary error */
recycle.c:728:    if (buffer->state == BUFFER_OVERFLOW) /* don't waste time on bad strings! */
recycle.c:733:    while (len >= buffer->size) /* increase the buffer size */
recycle.c:737:	    if (buffer->size == -1) /* overflow */
recycle.c:772:/* stuff for recycling mobprograms */
recycle.c:809:/* Stuff for recycling imm/auction shit */
repent.c:1:/***************************************************************************
repent.c:16: ***************************************************************************/
repent.c:18:/***************************************************************************
repent.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
repent.c:26:***************************************************************************/
repent.c:28:/*************************************************************************** 
repent.c:31:*       ROT license, in the file doc/rot.license                           * 
repent.c:32:***************************************************************************/
repent.c:38:#include <sys/types.h>
repent.c:39:#include <sys/time.h>
repent.c:55:    /* check for priest */
repent.c:72:        /* display price list */
repent.c:146:	deduct_cost(ch,cost/5,VALUE_SILVER);
repent.c:156:    if (spell == NULL)  /* Increase alignment toward good */
save.c:1:/***************************************************************************
save.c:16: ***************************************************************************/
save.c:18:/***************************************************************************
save.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
save.c:26:***************************************************************************/
save.c:28:/*************************************************************************** 
save.c:31:*       ROT license, in the file doc/rot.license                           * 
save.c:32:***************************************************************************/
save.c:37:#include <sys/types.h>
save.c:86:/*
save.c:88: */
save.c:94:/*
save.c:96: */
save.c:106:/*
save.c:110: */
save.c:129:    /* create god log */
save.c:159:	/* save the pets */
save.c:173:/*
save.c:175: */
save.c:202:    }/*
save.c:204:        fprintf(fp, "QuestNext %d\n", ch->pcdata->nextquest);*/
save.c:254:    fprintf( fp, "Tier %d\n",	ch->pcdata->tier );  /* add this in */
save.c:255:    fprintf( fp, "Ctier %d\n",	ch->pcdata->ctier);  /* add this in */
save.c:256:    if (ch->class < MAX_CLASS/2)
save.c:259:      fprintf( fp, "Sec  %d\n",    ch->pcdata->security	);	/* OLC */
save.c:291:        /*
save.c:301:*/
save.c:304:/*
save.c:313:*/
save.c:411:	/* write forgets */
save.c:420:	/* write dupes */
save.c:429:	/* write alias */
save.c:478:/* write a pet */
save.c:557:/*
save.c:559: */
save.c:565:    /*
save.c:568:     */
save.c:572:    /*
save.c:574:     */
save.c:590:    /* these data are only used if they do not match the defaults */
save.c:609:    /* variable data */
save.c:693:/*
save.c:695: */
save.c:734:    ch->pcdata->security		= 0;	/* OLC */
save.c:744:    /* decompress if .gz file exists */
save.c:801:    /* initialize race */
save.c:810:	ch->dam_type = 17; /*punch */
save.c:825:       /* end_quest(ch, 0);*/
save.c:826:/*	if (gquest_info.running == GQUEST_OFF && IS_SET(ch->act, PLR_GQUEST))
save.c:831:*/
save.c:833:    /* ream gold */
save.c:835:	ch->gold   /= 100;
save.c:848:/*
save.c:887:}*/
save.c:889:/*
save.c:891: */
save.c:1177:    		/* adjust hp mana move up  -- here for speed's sake */
save.c:1178:    		percent = (current_time - lastlogoff) * 25 / ( 2 * 60 * 60);
save.c:1185:        	    ch->hit	+= (ch->max_hit - ch->hit) * percent / 100;
save.c:1186:        	    ch->mana    += (ch->max_mana - ch->mana) * percent / 100;
save.c:1187:        	    ch->move    += (ch->max_move - ch->move)* percent / 100;
save.c:1220:                /* gn    = group_lookup( fread_word( fp ) ); */
save.c:1230:     /*
save.c:1240:*/		
save.c:1384:            KEY( "Sec",         ch->pcdata->security,	fread_number( fp ) );	/* OLC */
save.c:1397:		/* sn    = skill_lookup( fread_word( fp ) ); */
save.c:1413:/*	    KEY( "Tier",	ch->pcdata->tier,	fread_number( fp ) );*/
save.c:1465:/* load a pet from the forgotten reaches */
save.c:1474:    /* first entry had BETTER be the vnum or we barf */
save.c:1616:    		/* adjust hp mana move up  -- here for speed's sake */
save.c:1617:    		percent = (current_time - lastlogoff) * 25 / ( 2 * 60 * 60);
save.c:1623:    		    pet->hit	+= (pet->max_hit - pet->hit) * percent / 100;
save.c:1624:        	    pet->mana   += (pet->max_mana - pet->mana) * percent / 100;
save.c:1625:        	    pet->move   += (pet->max_move - pet->move)* percent / 100;
save.c:1707:    bool new_format;  /* to prevent errors */
save.c:1708:    bool make_new;    /* update object */
save.c:1712:    first = TRUE;  /* used to counter fp offset */
save.c:1720:	first = FALSE;  /* fp will be in right place */
save.c:1737:    if (obj == NULL)  /* either not found or old style */
save.c:2056:    /* create god log */
save.c:2086:	/* save the pets */
scan.c:1:/***************************************************************************
scan.c:16: ***************************************************************************/
scan.c:18:/***************************************************************************
scan.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
scan.c:26:***************************************************************************/
scan.c:28:/*************************************************************************** 
scan.c:31:*       ROT license, in the file doc/rot.license                           * 
scan.c:32:***************************************************************************/
scan.c:37:#include <sys/types.h>
scan.c:154:   /*  if (ON_GQUEST(ch) && IS_NPC(victim) &&
scan.c:156:	strcat(buf, "(Gquest) "); */ 
sign.c:1:/***************************************************************************
sign.c:16: ***************************************************************************/
sign.c:18:/***************************************************************************
sign.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
sign.c:26:***************************************************************************/
sign.c:28:/*************************************************************************** 
sign.c:31:*       ROT license, in the file doc/rot.license                           * 
sign.c:32:***************************************************************************/
sign.c:37:#include <sys/types.h>
sign.c:38:#include <sys/time.h>
sign.c:49:/* local procedures */
sign.c:149:		if (!found)  /* back it up */
sign.c:155:		else /* found the second one */
signals.c:1:/* -----------------------------------------------------------------------
signals.c:12:[File: signals.c|version 1.0|Author: Gary Mcnickle|Updated on: 11/03/98]
signals.c:15:our web site: http://www.dharvest.com/wotmud/
signals.c:16:------------------------------------------------------------------------ */
signals.c:19:#include <sys/time.h>
signals.c:21:#include <sys/resource.h>
signals.c:29:/* Copyover note:
signals.c:35:    */
signals.c:43:  /* This is to write to the file. */
signals.c:66:/** Function: shutdown_wgrace
signals.c:70:* Written : v1.0 11/98
signals.c:72:*/
signals.c:79:  /* Notify players of impending crash, and save all pfiles   */
signals.c:105:/** Function: signal_handler
signals.c:109:* Syntax  : (n/a)
signals.c:110:* Written : v1.0 11/98
signals.c:112:*/
signals.c:115:  /* Since our 'shutdown_wgrace' is not reentrant, and may (likely) access
signals.c:117:   */
signals.c:128:      fatal_error_in_process = 1;	/* Yes, this IS a fatal error  */
signals.c:129:      bugf ("Signal handler in %s.",	/* Log signal to bug log file  */
signals.c:134:      shutdown_wgrace ();	/* Attempt a graceful shutdown  */
signals.c:135:      raise (sig);		/* set return status of process */
signals.c:142:/** Function: init_signals
signals.c:146:* Written : v1.0 11/98
signals.c:152:*/
signals.c:158:  /* NOTE: We inherit any current signal actions by default.
signals.c:160:   */
signals.c:167:    /* block these signals to the handler while it's running */
signals.c:172:     /*JLR*/ sigact.sa_mask = mask;
signals.c:185:    /* block these signals to the handler while it's running */
signals.c:202:    /* block these signals to the handler while it's running */
signals.c:219:    /* block these signals to the handler while it's running */
skills.c:1:/***************************************************************************
skills.c:16: ***************************************************************************/
skills.c:18:/***************************************************************************
skills.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
skills.c:26:***************************************************************************/
skills.c:28:/*************************************************************************** 
skills.c:31:*       ROT license, in the file doc/rot.license                           * 
skills.c:32:***************************************************************************/
skills.c:38:#include <sys/types.h>
skills.c:39:#include <sys/time.h>
skills.c:47:/* command procedures needed */
skills.c:53:/* used to get new skills */
skills.c:64:    /* find a trainer */
skills.c:200:    /* else add a group/skill */
skills.c:226:	/* add the group */
skills.c:266:        /* add the skill */
skills.c:280:/* RT spells and skills show the players spells (or skills) */
skills.c:293:    /* initilize data */
skills.c:312:	  sprintf(buf,"{W%-19s{g  n/a      ", skill_table[sn].name);
skills.c:316:		      100/(2 + ch->level - lev));
skills.c:322:        else /* append */
skills.c:331:    /* return results */
skills.c:356:    /* initilize data */
skills.c:376:          sprintf(buf,"{W%-16s {gn/a{x      ", skill_table[sn].name);
skills.c:383:        else /* append */
skills.c:392:    /* return results */
skills.c:407:/* shows skills, groups and costs (only if not bought) */
skills.c:553:	return 1000 * pc_race_table[ch->race].class_mult[ch->class]/100;
skills.c:555:    /* processing */
skills.c:570:    expl += (long)points * (long)inc / 10;  
skills.c:572:    return (long)expl * (long)pc_race_table[ch->race].class_mult[ch->class]/100;
skills.c:575:/* this procedure handles the input parsing for the skill generator */
skills.c:624:		send_to_char("That will take you over the Exp/Level limit.\n\r",ch);
skills.c:720://        send_to_char("Sorry that is currently a buggy choice, but will be fixed soon.\n\r",ch);
skills.c:734:/* shows all groups, or the sub-members of a group */
skills.c:749:    {   /* show all groups */
skills.c:770:     if (!str_cmp(argument,"all"))    /* show all groups */
skills.c:787:     /* show the sub-members of a group */
skills.c:810:/* shows all groups, or the sub-members of a group available to your class*/
skills.c:822:    {   /* show all groups */
skills.c:845:     if (!str_cmp(argument,"all"))    /* show all groups */
skills.c:867:     /* show the sub-members of a group */
skills.c:899:    /* checks to see if a spell is available to a class */
skills.c:919:/* checks for skill improvement */
skills.c:932:	return;  /* skill is not known */ 
skills.c:934:    /* check to see if the character has a chance to learn */
skills.c:936:    chance /= (		multiplier
skills.c:944:    /* now that the character has a CHANCE to learn, see if they really have */	
skills.c:961:	chance = URANGE(5,ch->pcdata->learned[sn]/2,30);
skills.c:975:/* returns a group index number given the name */
skills.c:992:/* recursively adds a group given its number -- uses group_add */
skills.c:1006:/* recusively removes a group given its number -- uses group_remove */
skills.c:1021:/* use for processing a skill or group for addition  */
skills.c:1026:    if (IS_NPC(ch)) /* NPCs do not have skills */
skills.c:1033:	if (ch->pcdata->learned[sn] == 0) /* i.e. not known */
skills.c:1042:    /* now check groups */
skills.c:1054:	gn_add(ch,gn); /* make sure all skills in the group are known */
skills.c:1058:/* used for processing a skill or group for deletion -- no points back! */
skills.c:1072:    /* now check groups */
skills.c:1079:	gn_remove(ch,gn);  /* be sure to call gn_add on all remaining groups */
skills.c:1090:    /*argument = one_argument(argument,arg1);*/
skills.c:1093:    { send_to_char("Syntax: showskill [skill/spell]\n\r",ch);
skills.c:1102:   /* send_to_char("{CClass       Level Gain{x\n\r",ch);*/
skills.c:1103:   /* send_to_char("{C----------- ----- ----{x\n\r",ch);*/
skills.c:1110:     /*sprintf(buf,"{m%-11s {c%5d {m%4d{x\n\r",class_table[class].name,
skills.c:1112:       skill_table[skill].rating[class]);*/
skills.c:1149: sprintf(buf,"{xSpells/skills for %s:{x\n\r",class_table[class].name);
social_edit.c:1:/***************************************************************************
social_edit.c:16: ***************************************************************************/
social_edit.c:18:/* Online Social Editting Module, 
social_edit.c:21: */ 
social_edit.c:23:/* This version contains minor modifications to support ROM 2.4b4. */
social_edit.c:28:#include <sys/types.h>
social_edit.c:38:/*#define CONST_SOCIAL*/ /* remove this in Step 2 */
social_edit.c:47:struct social_type *social_table;	   /* and social table */
social_edit.c:77:	/* IMPORTANT to use malloc so we can realloc later on */
social_edit.c:84:	/* For backwards compatibility */
social_edit.c:86:	strcpy(social_table[maxSocial].name, str_dup("")); /* empty! */		
social_edit.c:92:#endif /* CONST_SOCIAL */
social_edit.c:96:	/* get rid of (null) */
social_edit.c:123:#ifdef CONST_SOCIAL /* If old table still in use, count socials first */
social_edit.c:126:		; /* empty */
social_edit.c:139:/* Find a social based on name */ 
social_edit.c:151:/*
social_edit.c:153: */
social_edit.c:187:	if (!str_cmp(cmd, "delete")) /* Remove a social */
social_edit.c:198:		/* Copy all elements of old table into new table, except the deleted social */
social_edit.c:200:			if (i != iSocial) /* copy, increase only if copied */
social_edit.c:209:		maxSocial--; /* Important :() */
social_edit.c:215:	else if (!str_cmp(cmd, "new")) /* Create a new social */
social_edit.c:225:		/* reallocate the table */
social_edit.c:226:		/* Note that the table contains maxSocial socials PLUS one empty spot! */
social_edit.c:231:		if (!new_table) /* realloc failed */
social_edit.c:248:		strcpy(social_table[maxSocial].name, str_dup ("")); /* 'terminating' empty string */
social_edit.c:254:	else if (!str_cmp(cmd, "show")) /* Show a certain social */
social_edit.c:282:		return; /* return right away, do not save the table */
social_edit.c:285:	else if (!str_cmp(cmd, "cnoarg")) /* Set that argument */
social_edit.c:375:	/* We have done something. update social table */
social_edit.c:379:#endif /* CONST_SOCIAL */
special.c:1:/***************************************************************************
special.c:16: ***************************************************************************/
special.c:18:/***************************************************************************
special.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
special.c:26:***************************************************************************/
special.c:28:/*************************************************************************** 
special.c:31:*       ROT license, in the file doc/rot.license                           * 
special.c:32:***************************************************************************/
special.c:38:#include <sys/types.h>
special.c:47:/* command procedures needed */
special.c:57:/*
special.c:59: */
special.c:88:/* the function table */
special.c:116:    {   "spec_questmaster",             spec_questmaster        }, /* Vassago */
special.c:121:/*
special.c:123: */
special.c:161:    /* find an ogre to beat up */
special.c:183:    /* say something, then raise hell */
special.c:220:    /* find an troll to beat up */
special.c:242:    /* say something, then raise hell */
special.c:280:    /* find clayton */
special.c:324:    /* say something, then raise hell */
special.c:411:    /* look for a fight in the room */
special.c:417:	if (vch->fighting != NULL)  /* break it up! */
special.c:534:             /* should steal some coins right away? :) */
special.c:538:       return FALSE;    /*  No one to attack */
special.c:541:    /* okay, we must be fighting.... steal some coins and flee */
special.c:543:        return FALSE;   /* let's be paranoid.... */
special.c:553:                 gold = victim->gold / 10;  /* steal 10% of his gold */
special.c:565:/*
special.c:567: */
special.c:598:/*
special.c:600: */
special.c:774:	spell_armor( skill_lookup( "armor" ), ch->level/2,ch,victim,TARGET_CHAR);
special.c:779:	spell_bless( skill_lookup( "bless" ), ch->level/2,ch,victim,TARGET_CHAR);
special.c:785:	    ch->level/2, ch, victim,TARGET_CHAR);
special.c:791:	    ch->level/2, ch, victim,TARGET_CHAR);
special.c:797:	    ch->level/2, ch, victim,TARGET_CHAR);
special.c:802:	spell_refresh( skill_lookup("refresh"),ch->level/2,ch,victim,TARGET_CHAR);
special.c:808:	    ch->level/2,ch,victim,TARGET_CHAR);
special.c:814:            ch->level/2,ch,victim,TARGET_CHAR);
special.c:820:            ch->level/2,ch,victim,TARGET_CHAR); 
special.c:826:            ch->level/2,ch,victim,TARGET_CHAR);  
special.c:1259:/*	do_unlock( ch, "gate" ); */
special.c:1265:/*	do_lock( ch, "gate" ); */
special.c:1329:	    gold = victim->gold * UMIN(number_range(1,20),ch->level / 2) / 100;
special.c:1333:	    silver = victim->silver * UMIN(number_range(1,20),ch->level/2)/100;
string.c:1:/***************************************************************************
string.c:12: ***************************************************************************/
string.c:18:#include <sys/types.h>
string.c:28:/*****************************************************************************
string.c:32: ****************************************************************************/
string.c:56:/*****************************************************************************
string.c:60: ****************************************************************************/
string.c:84:/*****************************************************************************
string.c:88: ****************************************************************************/
string.c:107:/*****************************
string.c:111: ******************/
string.c:129:			if (!found) /* back it up */
string.c:135:		    else /* found second one */
string.c:150:/*****************************************************************************
string.c:154: ****************************************************************************/
string.c:159:    /*
string.c:161:     */
string.c:197:	    smash_tilde( arg3 );   /* Just to be sure -- Hugin */
string.c:246:    /*
string.c:249:     */
string.c:254:	/* Force character out of editing mode. */
string.c:259:    /*
string.c:262:     */
string.c:274:/*
string.c:277: */
string.c:278:/*****************************************************************************
string.c:282: ****************************************************************************/
string.c:283:char *format_string( char *oldstring /*, bool fSpace */)
string.c:434:/*
string.c:439: */
string.c:440:/*****************************************************************************
string.c:446: ****************************************************************************/
string.c:489:/*
string.c:491: */
string.c:523:/*
string.c:526: */
tables.c:1:/***************************************************************************
tables.c:16: ***************************************************************************/
tables.c:18:/***************************************************************************
tables.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
tables.c:26:***************************************************************************/
tables.c:28:/*************************************************************************** 
tables.c:31:*       ROT license, in the file doc/rot.license                           * 
tables.c:32:***************************************************************************/
tables.c:37:#include <sys/types.h>
tables.c:45:/*
tables.c:47: */
tables.c:56:/* for position */
tables.c:71:/* for sex */
tables.c:81:/* for sizes */
tables.c:93:/* various flag tables */
tables.c:130:/* various flag tables */
tables.c:164: //   {"gquest", ee, TRUE},
tables.c:489:   /* {   "shoutsoff",		COMM_SHOUTSOFF,		TRUE	},*/
tables.c:491:   /* {   "true_trust",		COMM_TRUE_TRUST,	TRUE	},*/
tables.c:502:   /* {   "wiped",		COMM_WIPED,		FALSE	},*/
tables.c:551:    {   "random",               3,                      TRUE    },   /* ROM */
tables.c:649:   /* {	"protect",		ITEM_PROTECT,		TRUE	},*/
tables.c:714:/*    {   "twohands",            ITEM_TWO_HANDS,         TRUE    }, */
tables.c:724:/*
tables.c:727: */
tables.c:762:/*
tables.c:764: */
tables.c:843:/*****************************************************************************
tables.c:845: ****************************************************************************/
update.c:1:/***************************************************************************
update.c:16: ***************************************************************************/
update.c:18:/***************************************************************************
update.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
update.c:26:***************************************************************************/
update.c:28:/*************************************************************************** 
update.c:31:*       ROT license, in the file doc/rot.license                           * 
update.c:32:***************************************************************************/
update.c:37:#include <sys/types.h>
update.c:47:/* command procedures needed */
update.c:51:/*
update.c:53: */
update.c:62:void    quest_update    args( ( void ) ); /* Vassago - quest update*/
update.c:67://void	tele_update	args( ( void ) );
update.c:69:/* used for saving */
update.c:75:/*
update.c:77: */
update.c:89:	( ch->played + (int) (current_time - ch->logon) ) / 3600;
update.c:93:   /* set_title( ch, buf );*/
update.c:101:	add_mana /= 2;
update.c:103:				  + get_curr_stat(ch,STAT_DEX))/5 );
update.c:106:    add_hp = add_hp * 9/10;
update.c:107:    add_hp = add_hp * 7/4;
update.c:108:    add_mana = add_mana * 9/10;
update.c:109:    add_mana = add_mana * 7/4;
update.c:110:    add_move = add_move * 9/10;
update.c:128:	"\nYour gain is: {r%d{W/{R%ld{Bhp{x {m%d{W/{M%ld{Bm{x {y%d{W/{Y%ld{Bmv {c%d{M/{C%d{Bprac{x.\n\r",
update.c:165:	( ch->played + (int) (current_time - ch->logon) ) / 3600;
update.c:169:   /* set_title( ch, buf );*/
update.c:175:				  + get_curr_stat(ch,STAT_WIS))/2);
update.c:177:	add_mana /= 2;
update.c:179:				  + get_curr_stat(ch,STAT_DEX))/5 );
update.c:182:    add_hp = add_hp * 9/10;
update.c:183:    add_hp = add_hp * 7/4;
update.c:184:    add_mana = add_mana * 9/10;
update.c:185:    add_mana = add_mana * 7/4;
update.c:186:    add_move = add_move * 9/10;
update.c:224:/*    DESCRIPTOR_DATA*d;*/
update.c:255:/*
update.c:265:*/	
update.c:272:/*
update.c:274: */
update.c:291:	    default : 		gain /= 2;			break;
update.c:292:	    case POS_SLEEPING: 	gain = 3 * gain/2;		break;
update.c:294:	    case POS_FIGHTING:	gain /= 3;		 	break;
update.c:301:	gain = UMAX(3,get_curr_stat(ch,STAT_CON) - 3 + ch->level/2); 
update.c:306:	    gain += number * gain / 100;
update.c:313:	    default:	   	gain /= 4;			break;
update.c:315:	    case POS_RESTING:  	gain /= 2;			break;
update.c:316:	    case POS_FIGHTING: 	gain /= 6;			break;
update.c:320:	    gain /= 2;
update.c:323:	    gain /= 2;
update.c:327:    gain = gain * ch->in_room->heal_rate / 90;
update.c:330:	gain = gain * ch->on->value[3] / 90;
update.c:333:	gain /= 4;
update.c:336:	gain /= 8;
update.c:339:	gain /=2 ;
update.c:359:	    default:		gain /= 2;		break;
update.c:360:	    case POS_SLEEPING:	gain = 3 * gain/2;	break;
update.c:362:	    case POS_FIGHTING:	gain /= 3;		break;
update.c:368:	      + get_curr_stat(ch,STAT_INT) + ch->level) / 3) * 2;
update.c:372:	    gain += number * gain / 100;
update.c:377:	    gain /= 2;
update.c:381:	    default:		gain /= 4;			break;
update.c:383:	    case POS_RESTING:	gain /= 2;			break;
update.c:384:	    case POS_FIGHTING:	gain /= 6;			break;
update.c:388:	    gain /= 2;
update.c:391:	    gain /= 2;
update.c:395:    gain = gain * ch->in_room->mana_rate / 90;
update.c:398:	gain = gain * ch->on->value[4] / 90;
update.c:401:	gain /= 4;
update.c:404:        gain /= 8;
update.c:407:        gain /=2 ;
update.c:432:	case POS_RESTING:  gain += get_curr_stat(ch,STAT_DEX) / 2;	break;
update.c:436:	    gain /= 2;
update.c:439:	    gain /= 2;
update.c:442:    gain = gain * ch->in_room->heal_rate/90;
update.c:445:	gain = gain * ch->on->value[3] / 90;
update.c:448:	gain /= 4;
update.c:451:        gain /= 8;
update.c:454:        gain /=2 ;
update.c:497:/*
update.c:501: */
update.c:509:    /* Examine all mobs. */
update.c:520:	/* Examine call for special procedure */
update.c:527:	if (ch->pIndexData->pShop != NULL) /* give him some platinum */
update.c:530:		ch->platinum += ch->pIndexData->wealth * number_range(1,20)/5000000;
update.c:531:		ch->gold += ch->pIndexData->wealth * number_range(1,20)/50000;
update.c:535:	/* That's all for sleeping / busy monster, and empty zones */
update.c:539:	/* Scavenge */
update.c:568:	/* Wander */
update.c:592:/*
update.c:594: */
update.c:643:    /*
update.c:645:     */
update.c:726:/*
update.c:735:            damage = ch->level/20;
update.c:738:*/
update.c:742:/*
update.c:747: */
update.c:758:	    share_value -= 7; /* Price stabilization */
update.c:774:/*
update.c:776:*/
update.c:785:    /* update save counter */
update.c:812:            /* check to see if we need to go home */
update.c:893:		  paf->level--;  /* spell strength fades with time */
update.c:914:	/*
update.c:918:	 */
update.c:967:	    dam = UMIN(ch->level,af->level/5+1);
update.c:984:	        damage_old(ch,ch,poison->level/10 + 1,gsn_poison,
update.c:997:       }/*
update.c:1018:    } */
update.c:1022:    /*
update.c:1025:     */
update.c:1049:/*
update.c:1052: */
update.c:1066:	/* go through affects and decrement */
update.c:1074:                  paf->level--;  /* spell strength fades with time */
update.c:1137:		obj->carried_by->silver += obj->cost/5;
update.c:1158:	{   /* save the contents */
update.c:1166:		if (obj->in_obj) /* in another object */
update.c:1169:		else if (obj->carried_by)  /* carried */
update.c:1178:		else if (obj->in_room == NULL)  /* destroy it */
update.c:1181:		else /* to a room */
update.c:1194:/*
update.c:1207: */
update.c:1245:	    /*
update.c:1249:	     */
update.c:1280:/*
update.c:1284: */
update.c:1294:   // static  int	    pulse_tele;
update.c:1300:	/* number_range( PULSE_AREA / 2, 3 * PULSE_AREA / 2 ); */
update.c:1301: //       quest_update();   
update.c:1304:     //   gquest_update();
update.c:1305:       // gquest_wait();
update.c:1307:/*
update.c:1313:*/    
update.c:1351:/* number_range( PULSE_TICK / 2, 3 * PULSE_TICK / 2 ); */
update.c:1363:/*
update.c:1396:}*/
update.c:1405:/*  if you're still adding areas manually, you may need to remove the next line - Chance */                
update.c:1416:            /* Save changed areas. */
wizlist.c:1:/***************************************************************************   
wizlist.c:16: ***************************************************************************/
wizlist.c:18:/***************************************************************************
wizlist.c:25:*	ROM license, in the file Rom24/doc/rom.license			   *
wizlist.c:26:***************************************************************************/
wizlist.c:28:/*************************************************************************** 
wizlist.c:31:*       ROT license, in the file doc/rot.license                           * 
wizlist.c:32:***************************************************************************/
wizlist.c:38:#include <sys/types.h>
wizlist.c:39:#include <sys/time.h>
wizlist.c:63:/*
wizlist.c:65: */
wizlist.c:148:/*
wizlist.c:151: */
wizlist.c:153:/*
wizlist.c:156:*/
wizlist.c:196:    sprintf(buf,"{W /\\_\\%70s\\_\\\n\r", " ");
wizlist.c:198:    lngth = (70 - strlen(title))/2;
wizlist.c:203:    sprintf(buf,"{W|/\\\\_\\{D%72s{W\\_\\\n\r", title);
wizlist.c:205:    sprintf(buf,"{W\\_/_|_|{x%69s{W|_|\n\r", " ");
wizlist.c:297:    sprintf(buf,"{x/ \\ {W|_|{x%69s{W|_|{x\n\r", " ");
wizlist.c:299:    sprintf(buf,"{W|\\//_/{x%70s{W/_/\n\r", " ");
wizlist.c:301:sprintf(buf,"{x\\{W/_/_______________________________________________________________________/_/{x\n\r");