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");