This is the
talk page for discussing improvements to the
Mob (video games) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find video game sources: "Mob" video games – news · newspapers · books · scholar · JSTOR · free images · free news sources · TWL · NYT · WP reference · VG/RS · VG/RL · WPVG/Talk |
|
||
This page has archives. Sections older than 365 days may be automatically archived by Lowercase sigmabot III when more than 4 sections are present. |
I see that mob isn't etymologically or semantically related to movable object block as seen at Sprite_(computer_graphics)#Synonyms, but since the latter kind of object often is used to implement enemy characters in 2D games, I wonder if it would be useful to have a "Not to be confused with MOB as a synonym of sprite". 24.178.47.47 ( talk) 19:34, 1 February 2015 (UTC)
Mook (gaming) redirects here but the connection is unobvious, the word mook does not appear in the article. 2001:6A0:0:2333:5604:A6FF:FE1E:34F6 ( talk) 11:28, 5 January 2017 (UTC)
There is a move discussion in progress on Talk:First-person (gaming) which affects this page. Please participate on that page and not in this talk page section. Thank you. — RMCD bot 19:01, 2 September 2018 (UTC)
Mob is short for "mobile". Not "mobile object", mobiles and objects are two distinctly different categories in Diku. 3 of 4 references used too say it is "mobile", without word object. I'll list results of grep against DikuMUD code down this comment as reference, but I'm not sure on how to reflect those refs in article. Actually the only quote to really use "mobile object" wording was misquoted here on WP citing only "mobile" instead. Author of "Designing Virtual Worlds" indeed says "mobile objects" while discussing MUD1. Still Diku had much stronger impact on adopting this word for wide use. I'll try to reflect it in wording.
I'm also removing rest of the fluff because it keeps appearing verbatim in random posts on forums (search for "monster or beast" previously mentioned in first sentence of this article and see 99% hits to be copypasta from old version of this article), on other gaming wikis and then creeping back into this article after being removed because "look how many hits of this stuff is on 'net, I must edit it into WP right now!". I believe it is called WP:CIRCULAR.
No, it is not also known as that. It is like going into "Soldier" article and writing "Soldier", also known as enemy. Yes, they ARE known like that sometimes, but they're not synonyms. Not all soldiers are enemies, and not all mobs are enemies as well. The very next sentence in article covers that, saying "usage of the term may be limited to hostile NPCs", implying that it also may be not limited to it. And indeed in Diku every NPC is a "mob", no matter if it is rat or shopkeeper, and, one among the biggest current trendsetters - WoW or Minecraft - freely use "friendly mob" and "passive mob"
I've already mentioned it in other comment above, but those two are distinct words. "Mook" means "generic enemy/lackey" and, according to wictionary, is known for about half-century before coining of "mob". "Mook" is heavily used in discussing non-gaming - i.e. movies or literature - stories. Actually I've never seen "mob" - being very gamey-enginey term EVER used in such non-gaming discussions. It would be strange to mention that something in book is a "mobile", isn't it? I'm less sure on that, but I have feeling that "mob" is hardly ever used outside MMO or RPG discussions, where it is widely known exactly because of its origins in wildly popular at the time MMORPG - i.e. you will hardly find word "mob" in discussion about a platformer. Also just like with "enemy" above, even if some character could be referred both as mob and mook, they're distinctly not synonyms. Boss mob is absolutely not a mook. Mook is a different word and its redirect to mob should be removed.
For this reason I'm also removing "spiked mob" example. Google have single page of results for spiked "mob" supertux
, most of them WP itself or its scrappers. As I've said, pretty much nobody calls platformer enemies "mobs".
No. It's "mobs" in plural. For example "trash mob" is a single instance of non-boss enemy, not a group of them. Sorry, I can't cite anything on that except my participation in thousands of discussions about "trash mobs", "high-level mobs", specific zone "mobs", but this sentence I'm about to remove is not referencing anything either. There distinct English word "mob", of course, but this particular article is not about it.
It is not a "term". The referenced quote in book explains that most mobs are dumb in sense of having no special programming beyond generic fight, but never claims it is a specific term. The only relevant hit on Google search is this very article. There's zero hits for "dumb" in Diku code. Once again, it is like going into "Human" article and writing "most humans are regular humans".
Backronyms are not etymology and no citations were provided since [citation needed] was added. I've also tracked the most likely source of "monster or beast" quote: https://books.google.com/books?id=xzMYYrsDaAEC&pg=PA375&dq=mob+%22Monster+Or+Beast%22#v=onepage&q=mob%20%22Monster%20Or%20Beast%22 As you can see, the book, once again, never claims that it is have anything with etymology, but merely explains what "mob" is.
Here's the results against Diku MUD Gamma (earliest) release. It was recently uploaded to GitHub, so you can check it online as well:
https://github.com/Seifert69/DikuMUD-Gamma. The list is a result of grep -R -i -n "mobile\|mob" dm-dist-gamma
. Copyright comments show years 1990, 1991 as original release date.
Extended content
|
---|
dm-dist-gamma/act.informative.c:207: /* A player char or a mobile without long descr, or not in default pos. */
dm-dist-gamma/act.wizard.c:26:extern struct index_data *mob_index;
dm-dist-gamma/act.wizard.c:140: struct char_data *target_mob;
dm-dist-gamma/act.wizard.c:167: else if (target_mob = get_char_vis(ch, loc_str))
dm-dist-gamma/act.wizard.c:168: location = target_mob->in_room;
dm-dist-gamma/act.wizard.c:191: for (target_mob = worldlocation].people; target_mob; target_mob =
dm-dist-gamma/act.wizard.c:192: target_mob->next_in_room)
dm-dist-gamma/act.wizard.c:193: if (ch == target_mob)
dm-dist-gamma/act.wizard.c:206: struct char_data *target_mob, *pers;
dm-dist-gamma/act.wizard.c:235: else if (target_mob = get_char_vis(ch, buf))
dm-dist-gamma/act.wizard.c:236: location = target_mob->in_room;
dm-dist-gamma/act.wizard.c:366: strcat(buf,(!IS_NPC(k) ? "(PC)\n\r" : (!IS_MOB(k) ? "(NPC)\n\r" : "(MOB)\n\r")));
dm-dist-gamma/act.wizard.c:602: /* mobile in world */
dm-dist-gamma/act.wizard.c:621: (!IS_NPC(k) ? "PC" : (!IS_MOB(k) ? "NPC" : "MOB")),
dm-dist-gamma/act.wizard.c:625: if (IS_MOB(k)) {
dm-dist-gamma/act.wizard.c:626: sprintf(buf, "V-Number [%d]\n\r", mob_indexk->nr].virtual);
dm-dist-gamma/act.wizard.c:738: if (IS_MOB(k)) {
dm-dist-gamma/act.wizard.c:739: strcpy(buf, "\n\rMobile Special procedure : ");
dm-dist-gamma/act.wizard.c:740: strcat(buf, (mob_indexk->nr].func ? "Exists\n\r" : "None\n\r"));
dm-dist-gamma/act.wizard.c:810: send_to_char("No mobile or object by that name in the world\n\r", ch);
dm-dist-gamma/act.wizard.c:1043: struct char_data *mob;
dm-dist-gamma/act.wizard.c:1048: extern int top_of_mobt;
dm-dist-gamma/act.wizard.c:1069: if ((r_num = real_mobile(number)) < 0)
dm-dist-gamma/act.wizard.c:1074: mob = read_mobile(r_num, REAL);
dm-dist-gamma/act.wizard.c:1075: char_to_room(mob, ch->in_room);
dm-dist-gamma/act.wizard.c:1079: act("$n has created $N!", FALSE, ch, 0, mob, TO_ROOM);
dm-dist-gamma/act.wizard.c:1103:/* clean a room of all mobiles and objects */
dm-dist-gamma/comm.c:87:void mobile_activity(void);
dm-dist-gamma/comm.c:404: if (!(pulse % PULSE_MOBILE))
dm-dist-gamma/comm.c:405: mobile_activity();
dm-dist-gamma/constants.c:426: "NO_MOB",
dm-dist-gamma/db.c:45:FILE *mob_f, /* file containing mob prototypes */
dm-dist-gamma/db.c:49:struct index_data *mob_index; /* index table for mobile file */
dm-dist-gamma/db.c:53:int top_of_mobt = 0; /* top of mobile index table */
dm-dist-gamma/db.c:119: log("Opening mobile, object and help files.");
dm-dist-gamma/db.c:120: if (!(mob_f = fopen(MOB_FILE, "r")))
dm-dist-gamma/db.c:145: log("Generating index tables for mobile and object files.");
dm-dist-gamma/db.c:146: mob_index = generate_indices(mob_f, &top_of_mobt);
dm-dist-gamma/db.c:167: log(" Mobiles.");
dm-dist-gamma/db.c:168: assign_mobiles();
dm-dist-gamma/db.c:648: real_mobile(zone_tablezone].cmdcomm].arg1);
dm-dist-gamma/db.c:694: real_mobile(zone_tablezone].cmdcomm].arg1);
dm-dist-gamma/db.c:709: real_mobile(zone_tablezone].cmdcomm].arg2);
dm-dist-gamma/db.c:715: real_mobile(zone_tablezone].cmdcomm].arg2);
dm-dist-gamma/db.c:939:/* read a mobile from MOB_FILE */
dm-dist-gamma/db.c:940:struct char_data *read_mobile(int nr, int type)
dm-dist-gamma/db.c:944: struct char_data *mob;
dm-dist-gamma/db.c:950: if ((nr = real_mobile(nr)) < 0)
dm-dist-gamma/db.c:952: sprintf(buf, "Mobile (V) %d does not exist in database.", i);
dm-dist-gamma/db.c:956: fseek(mob_f, mob_indexnr].pos, 0);
dm-dist-gamma/db.c:958: CREATE(mob, struct char_data, 1);
dm-dist-gamma/db.c:959: clear_char(mob);
dm-dist-gamma/db.c:963: mob->player.name = fread_string(mob_f);
dm-dist-gamma/db.c:964: mob->player.short_descr = fread_string(mob_f);
dm-dist-gamma/db.c:965: mob->player.long_descr = fread_string(mob_f);
dm-dist-gamma/db.c:966: mob->player.description = fread_string(mob_f);
dm-dist-gamma/db.c:967: mob->player.title = 0;
dm-dist-gamma/db.c:971: fscanf(mob_f, "%d ", &tmp);
dm-dist-gamma/db.c:972: mob->specials.act = tmp;
dm-dist-gamma/db.c:973: SET_BIT(mob->specials.act, ACT_ISNPC);
dm-dist-gamma/db.c:975: fscanf(mob_f, " %d ", &tmp);
dm-dist-gamma/db.c:976: mob->specials.affected_by = tmp;
dm-dist-gamma/db.c:978: fscanf(mob_f, " %d ", &tmp);
dm-dist-gamma/db.c:979: mob->specials.alignment = tmp;
dm-dist-gamma/db.c:981: fscanf(mob_f, " %c \n", &letter);
dm-dist-gamma/db.c:985: mob->abilities.str = 11;
dm-dist-gamma/db.c:986: mob->abilities.intel = 11;
dm-dist-gamma/db.c:987: mob->abilities.wis = 11;
dm-dist-gamma/db.c:988: mob->abilities.dex = 11;
dm-dist-gamma/db.c:989: mob->abilities.con = 11;
dm-dist-gamma/db.c:991: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:992: GET_LEVEL(mob) = tmp;
dm-dist-gamma/db.c:994: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:995: mob->points.hitroll = 20-tmp;
dm-dist-gamma/db.c:997: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:998: mob->points.armor = 10*tmp;
dm-dist-gamma/db.c:1000: fscanf(mob_f, " %Dd%D+%D ", &tmp, &tmp2, &tmp3);
dm-dist-gamma/db.c:1001: mob->points.max_hit = dice(tmp, tmp2)+tmp3;
dm-dist-gamma/db.c:1002: mob->points.hit = mob->points.max_hit;
dm-dist-gamma/db.c:1004: fscanf(mob_f, " %Dd%D+%D \n", &tmp, &tmp2, &tmp3);
dm-dist-gamma/db.c:1005: mob->points.damroll = tmp3;
dm-dist-gamma/db.c:1006: mob->specials.damnodice = tmp;
dm-dist-gamma/db.c:1007: mob->specials.damsizedice = tmp2;
dm-dist-gamma/db.c:1009: mob->points.mana = 10;
dm-dist-gamma/db.c:1010: mob->points.max_mana = 10;
dm-dist-gamma/db.c:1012: mob->points.move = 50;
dm-dist-gamma/db.c:1013: mob->points.max_move = 50;
dm-dist-gamma/db.c:1015: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1016: mob->points.gold = tmp;
dm-dist-gamma/db.c:1018: fscanf(mob_f, " %D \n", &tmp);
dm-dist-gamma/db.c:1019: GET_EXP(mob) = tmp;
dm-dist-gamma/db.c:1021: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1022: mob->specials.position = tmp;
dm-dist-gamma/db.c:1024: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1025: mob->specials.default_pos = tmp;
dm-dist-gamma/db.c:1027: fscanf(mob_f, " %D \n", &tmp);
dm-dist-gamma/db.c:1028: mob->player.sex = tmp;
dm-dist-gamma/db.c:1030: mob->player.class = 0;
dm-dist-gamma/db.c:1032: mob->player.time.birth = time(0);
dm-dist-gamma/db.c:1033: mob->player.time.played = 0;
dm-dist-gamma/db.c:1034: mob->player.time.logon = time(0);
dm-dist-gamma/db.c:1035: mob->player.weight = 200;
dm-dist-gamma/db.c:1036: mob->player.height = 198;
dm-dist-gamma/db.c:1039: GET_COND(mob, i) = -1;
dm-dist-gamma/db.c:1042: mob->specials.apply_saving_throwi = MAX(20-GET_LEVEL(mob), 2);
dm-dist-gamma/db.c:1046: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1047: mob->abilities.str = tmp;
dm-dist-gamma/db.c:1049: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1050: mob->abilities.intel = tmp;
dm-dist-gamma/db.c:1052: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1053: mob->abilities.wis = tmp;
dm-dist-gamma/db.c:1055: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1056: mob->abilities.dex = tmp;
dm-dist-gamma/db.c:1058: fscanf(mob_f, " %D \n", &tmp);
dm-dist-gamma/db.c:1059: mob->abilities.con = tmp;
dm-dist-gamma/db.c:1061: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1062: fscanf(mob_f, " %D ", &tmp2);
dm-dist-gamma/db.c:1064: mob->points.max_hit = number(tmp, tmp2);
dm-dist-gamma/db.c:1065: mob->points.hit = mob->points.max_hit;
dm-dist-gamma/db.c:1067: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1068: mob->points.armor = 10*tmp;
dm-dist-gamma/db.c:1070: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1071: mob->points.mana = tmp;
dm-dist-gamma/db.c:1072: mob->points.max_mana = tmp;
dm-dist-gamma/db.c:1074: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1075: mob->points.move = tmp;
dm-dist-gamma/db.c:1076: mob->points.max_move = tmp;
dm-dist-gamma/db.c:1078: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1079: mob->points.gold = tmp;
dm-dist-gamma/db.c:1081: fscanf(mob_f, " %D \n", &tmp);
dm-dist-gamma/db.c:1082: GET_EXP(mob) = tmp;
dm-dist-gamma/db.c:1084: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1085: mob->specials.position = tmp;
dm-dist-gamma/db.c:1087: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1088: mob->specials.default_pos = tmp;
dm-dist-gamma/db.c:1090: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1091: mob->player.sex = tmp;
dm-dist-gamma/db.c:1093: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1094: mob->player.class = tmp;
dm-dist-gamma/db.c:1096: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1097: GET_LEVEL(mob) = tmp;
dm-dist-gamma/db.c:1099: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1100: mob->player.time.birth = time(0);
dm-dist-gamma/db.c:1101: mob->player.time.played = 0;
dm-dist-gamma/db.c:1102: mob->player.time.logon = time(0);
dm-dist-gamma/db.c:1104: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1105: mob->player.weight = tmp;
dm-dist-gamma/db.c:1107: fscanf(mob_f, " %D \n", &tmp);
dm-dist-gamma/db.c:1108: mob->player.height = tmp;
dm-dist-gamma/db.c:1112: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1113: GET_COND(mob, i) = tmp;
dm-dist-gamma/db.c:1115: fscanf(mob_f, " \n ");
dm-dist-gamma/db.c:1119: fscanf(mob_f, " %D ", &tmp);
dm-dist-gamma/db.c:1120: mob->specials.apply_saving_throwi = tmp;
dm-dist-gamma/db.c:1123: fscanf(mob_f, " \n ");
dm-dist-gamma/db.c:1126: mob->points.damroll = 0;
dm-dist-gamma/db.c:1127: mob->specials.damnodice = 1;
dm-dist-gamma/db.c:1128: mob->specials.damsizedice = 6;
dm-dist-gamma/db.c:1131: mob->points.hitroll = MAX(1, GET_LEVEL(mob)-3);
dm-dist-gamma/db.c:1134: mob->tmpabilities = mob->abilities;
dm-dist-gamma/db.c:1137: mob->equipmenti = 0;
dm-dist-gamma/db.c:1139: mob->nr = nr;
dm-dist-gamma/db.c:1141: mob->desc = 0;
dm-dist-gamma/db.c:1146: mob->next = character_list;
dm-dist-gamma/db.c:1147: character_list = mob;
dm-dist-gamma/db.c:1149: mob_indexnr].number++;
dm-dist-gamma/db.c:1151: return(mob);
dm-dist-gamma/db.c:1335: struct char_data *mob;
dm-dist-gamma/db.c:1346: case 'M': /* read a mobile */
dm-dist-gamma/db.c:1347: if (mob_indexZCMD.arg1].number <
dm-dist-gamma/db.c:1350: mob = read_mobile(ZCMD.arg1, REAL);
dm-dist-gamma/db.c:1351: char_to_room(mob, ZCMD.arg3);
dm-dist-gamma/db.c:1397: obj_to_char(obj, mob);
dm-dist-gamma/db.c:1408: equip_char(mob, obj, ZCMD.arg3);
dm-dist-gamma/db.c:1467: struct char_data *mob;
dm-dist-gamma/db.c:1478: case 'M': /* read a mobile */
dm-dist-gamma/db.c:1479: if (mob_indexZCMD.arg1].number <
dm-dist-gamma/db.c:1482: mob = read_mobile(ZCMD.arg1, REAL);
dm-dist-gamma/db.c:1483: char_to_room(mob, ZCMD.arg3);
dm-dist-gamma/db.c:1524: mob = get_char_num(ZCMD.arg2);
dm-dist-gamma/db.c:1525: obj_to_char(obj, mob);
dm-dist-gamma/db.c:1531: mob = get_char_num(ZCMD.arg2);
dm-dist-gamma/db.c:1532: equip_char(mob, obj, ZCMD.arg3);
dm-dist-gamma/db.c:2235:int real_mobile(int virtual)
dm-dist-gamma/db.c:2240: top = top_of_mobt;
dm-dist-gamma/db.c:2242: /* perform binary search on mob-table */
dm-dist-gamma/db.c:2247: if ((mob_index + mid)->virtual == virtual)
dm-dist-gamma/db.c:2251: if ((mob_index + mid)->virtual > virtual)
dm-dist-gamma/db.h:12:#define MOB_FILE "tinyworld.mob" /* monster prototypes */
dm-dist-gamma/db.h:45:int real_mobile(int virtual);
dm-dist-gamma/db.h:51:struct char_data *read_mobile(int nr, int type);
dm-dist-gamma/db.h:90: * 'M': Read a mobile *
dm-dist-gamma/db.h:92: * 'G': Give obj to mob *
dm-dist-gamma/db.h:127: int virtual; /* virtual number of this mob/obj */
dm-dist-gamma/db.h:129: int number; /* number of existing units of this mob/obj */
dm-dist-gamma/db.h:130: int (*func)(); /* special procedure for this mob/obj */
dm-dist-gamma/doc/database.doc:69:speed. In such places (ie the special routines for mobs/objs/rooms) where
dm-dist-gamma/doc/database.doc:86:The objects and mobiles are stored in two separate files. They are loaded
dm-dist-gamma/doc/database.doc:230: M (load a mobile):
dm-dist-gamma/doc/database.doc:231: Format: 'M' <if-flag> <mobile nr> <max existing> <room nr>
dm-dist-gamma/doc/database.doc:233: mobile nr and room nr should be self-explanatory. The 'max
dm-dist-gamma/doc/database.doc:244: G (give object to mobile):
dm-dist-gamma/doc/database.doc:250: Of course, this command doesn't make sense if a new mobile+object
dm-dist-gamma/doc/database.doc:254: E (object to equipment list of mobile)
dm-dist-gamma/doc/database.doc:383:This number may be considered the 'label' of the mobile, for use in eg. the
dm-dist-gamma/doc/database.doc:384:zonefile (see also the text about the roomfile format). When the mobile is to
dm-dist-gamma/doc/database.doc:385:be referenced from within the code itself, the function real_mobile
dm-dist-gamma/doc/database.doc:388:automatically called from read_object/read_mobile, depending on their 'type'
dm-dist-gamma/doc/dbsup.doc:44: NO_MOB 4 No monsters may walk around in here
dm-dist-gamma/doc/dbsup.doc:168: Room Flags (8+4=12) INDOORS and NO_MOB
dm-dist-gamma/doc/shops.doc:57:<Shop Keeper Mobile Number>
dm-dist-gamma/doc/shops.doc:64: The virtual number the mobile must be in for the shop to be effective.
dm-dist-gamma/handler.c:21:extern struct index_data *mob_index;
dm-dist-gamma/handler.c:1013: if (ch->nr > -1) /* if mobile */
dm-dist-gamma/handler.c:1014: mob_indexch->nr].number--;
dm-dist-gamma/insert_any.c:3:* Usage: Merges DikuMud wld/obj/mob/zon files *
dm-dist-gamma/interpreter-quinn.c:35:extern struct index_data *mob_index;
dm-dist-gamma/interpreter-quinn.c:696: /* special in mobile present? */
dm-dist-gamma/interpreter-quinn.c:698: if ( IS_MOB(k) )
dm-dist-gamma/interpreter-quinn.c:699: if (mob_indexk->nr].func)
dm-dist-gamma/interpreter-quinn.c:700: if ((*mob_indexk->nr].func)(ch, cmd, arg))
dm-dist-gamma/interpreter.c:35:extern struct index_data *mob_index;
dm-dist-gamma/interpreter.c:698: /* special in mobile present? */
dm-dist-gamma/interpreter.c:700: if ( IS_MOB(k) )
dm-dist-gamma/interpreter.c:701: if (mob_indexk->nr].func)
dm-dist-gamma/interpreter.c:702: if ((*mob_indexk->nr].func)(ch, cmd, arg))
dm-dist-gamma/lib/messages:277:$N lies immobile on the ground, suffering...~
dm-dist-gamma/lib/README:38:TINYWORLD.MOB - File containing the monsters. See database.doc & dbsup.doc
dm-dist-gamma/lib/tinyworld.zon:350:* Mobiles & equipment
dm-dist-gamma/lib/tinyworld.zon:379:* Mobiles and equipment
dm-dist-gamma/mobact.c:2:* file: mobact.c , Mobile action module. Part of DIKUMUD *
dm-dist-gamma/mobact.c:3:* Usage: Procedures generating 'intelligent' behavior in the mobiles. *
dm-dist-gamma/mobact.c:15:extern struct index_data *mob_index;
dm-dist-gamma/mobact.c:22:void mobile_activity(void)
dm-dist-gamma/mobact.c:35: if (IS_MOB(ch))
dm-dist-gamma/mobact.c:39: if (!mob_indexch->nr].func) {
dm-dist-gamma/mobact.c:40: log("Attempting to call a non-existing MOB func. (mobact.c)");
dm-dist-gamma/mobact.c:43: if ((*mob_indexch->nr].func) (ch, 0, ""))
dm-dist-gamma/mobact.c:73: !IS_SET(worldEXIT(ch, door)->to_room].room_flags, NO_MOB) &&
dm-dist-gamma/mobact.c:104: } /* If IS_MOB(ch) */
dm-dist-gamma/modify.c:23:#define TP_MOB 0
dm-dist-gamma/modify.c:154: *type = TP_MOB;
dm-dist-gamma/modify.c:186: struct char_data *mob;
dm-dist-gamma/modify.c:210: if (type == TP_MOB)
dm-dist-gamma/modify.c:213: if (!(mob = get_char_vis(ch, name)))
dm-dist-gamma/modify.c:223: if (!IS_NPC(mob) && GET_LEVEL(ch) < 24)
dm-dist-gamma/modify.c:228: ch->desc->str = &GET_NAME(mob);
dm-dist-gamma/modify.c:229: if (!IS_NPC(mob))
dm-dist-gamma/modify.c:234: if (!IS_NPC(mob))
dm-dist-gamma/modify.c:240: ch->desc->str = &mob->player.short_descr;
dm-dist-gamma/modify.c:243: if (!IS_NPC(mob))
dm-dist-gamma/modify.c:249: ch->desc->str = &mob->player.long_descr;
dm-dist-gamma/modify.c:251: case 4:ch->desc->str = &mob->player.description; break;
dm-dist-gamma/modify.c:253: if (IS_NPC(mob))
dm-dist-gamma/modify.c:259: ch->desc->str = &mob->player.title;
dm-dist-gamma/reception.c:22:extern struct index_data *mob_index;
dm-dist-gamma/reception.c:482: if (IS_MOB(temp_char))
dm-dist-gamma/reception.c:483: if (mob_indextemp_char->nr].func == receptionist)
dm-dist-gamma/shop.c:22:extern struct index_data *mob_index;
dm-dist-gamma/shop.c:41: int keeper; /* The mobil who owns the shop (virtual)*/
dm-dist-gamma/shop.c:415: if (IS_MOB(temp_char))
dm-dist-gamma/shop.c:416: if (mob_indextemp_char->nr].func == shop_keeper)
dm-dist-gamma/shop.c:543: real_mobile(shop_indexnumber_of_shops].keeper);
dm-dist-gamma/shop.c:573: mob_indexshop_indextemp1].keeper].func = shop_keeper;
dm-dist-gamma/spec_assign.c:12:extern struct index_data *mob_index;
dm-dist-gamma/spec_assign.c:21:/* assign special procedures to mobiles */
dm-dist-gamma/spec_assign.c:22:void assign_mobiles(void)
dm-dist-gamma/spec_assign.c:36: mob_indexreal_mobile(1)].func = puff;
dm-dist-gamma/spec_assign.c:38: mob_indexreal_mobile(3060)].func = cityguard;
dm-dist-gamma/spec_assign.c:39: mob_indexreal_mobile(3067)].func = cityguard;
dm-dist-gamma/spec_assign.c:40: mob_indexreal_mobile(3061)].func = janitor;
dm-dist-gamma/spec_assign.c:41: mob_indexreal_mobile(3062)].func = fido;
dm-dist-gamma/spec_assign.c:42: mob_indexreal_mobile(3066)].func = fido;
dm-dist-gamma/spec_assign.c:44: mob_indexreal_mobile(3005)].func = receptionist;
dm-dist-gamma/spec_assign.c:46: mob_indexreal_mobile(3020)].func = guild;
dm-dist-gamma/spec_assign.c:47: mob_indexreal_mobile(3021)].func = guild;
dm-dist-gamma/spec_assign.c:48: mob_indexreal_mobile(3022)].func = guild;
dm-dist-gamma/spec_assign.c:49: mob_indexreal_mobile(3023)].func = guild;
dm-dist-gamma/spec_assign.c:51: mob_indexreal_mobile(3024)].func = guild_guard;
dm-dist-gamma/spec_assign.c:52: mob_indexreal_mobile(3025)].func = guild_guard;
dm-dist-gamma/spec_assign.c:53: mob_indexreal_mobile(3026)].func = guild_guard;
dm-dist-gamma/spec_assign.c:54: mob_indexreal_mobile(3027)].func = guild_guard;
dm-dist-gamma/spec_assign.c:56: mob_indexreal_mobile(3143)].func = mayor;
dm-dist-gamma/spec_assign.c:59: mob_indexreal_mobile(4000)].func = snake;
dm-dist-gamma/spec_assign.c:60: mob_indexreal_mobile(4001)].func = snake;
dm-dist-gamma/spec_assign.c:61: mob_indexreal_mobile(4053)].func = snake;
dm-dist-gamma/spec_assign.c:63: mob_indexreal_mobile(4103)].func = thief;
dm-dist-gamma/spec_assign.c:64: mob_indexreal_mobile(4100)].func = magic_user;
dm-dist-gamma/spec_assign.c:65: mob_indexreal_mobile(4102)].func = snake;
dm-dist-gamma/spec_assign.c:68: mob_indexreal_mobile(7006)].func = snake;
dm-dist-gamma/spec_assign.c:71: mob_indexreal_mobile(6113)].func = snake;
dm-dist-gamma/spec_assign.c:72: mob_indexreal_mobile(6114)].func = snake;
dm-dist-gamma/spec_assign.c:74: mob_indexreal_mobile(6910)].func = magic_user;
dm-dist-gamma/spec_procs.c:3:* Usage: Procedures handling special procedures for object/room/mobile *
dm-dist-gamma/spec_procs.c:443:* General special procedures for mobiles *
dm-dist-gamma/spec_procs.c:739:* Special procedures for mobiles *
dm-dist-gamma/spec_procs.c:925: pet = read_mobile(pet->nr, REAL);
dm-dist-gamma/spell_parser.c:222: extern struct index_data *mob_index;
dm-dist-gamma/spell_parser.c:266: mob_indexclone->nr].number++;
dm-dist-gamma/structs.h:16:#define PULSE_MOBILE 40
dm-dist-gamma/structs.h:189:#define NO_MOB 4
dm-dist-gamma/structs.h:375:/* for mobile actions: specials.act */
dm-dist-gamma/structs.h:377:#define ACT_SENTINEL 2 /* this mobile not to be moved */
dm-dist-gamma/structs.h:382:#define ACT_STAY_ZONE 64 /* MOB Must stay inside its own zone */
dm-dist-gamma/structs.h:383:#define ACT_WIMPY 128 /* MOB Will flee when injured, and if */
dm-dist-gamma/structs.h:531: struct descriptor_data *desc; /* NULL for mobiles */
dm-dist-gamma/syntax_check.c:35:FILE *mob_f, /* file containing mob prototypes */
dm-dist-gamma/syntax_check.c:40:struct index_data *mob_index; /* index table for mobile file */
dm-dist-gamma/syntax_check.c:46:int top_of_mobt = 0; /* top of mobile index table */
dm-dist-gamma/syntax_check.c:322: exist_index(mob_index, top_of_mobt, tmp2);
dm-dist-gamma/syntax_check.c:370:/* read a mobile from MOB_FILE */
dm-dist-gamma/syntax_check.c:371:void check_mobile(FILE *fl)
dm-dist-gamma/syntax_check.c:379: struct char_data *mob;
dm-dist-gamma/syntax_check.c:400: /* Name already read mob->player.name = fread_string(fl); */
dm-dist-gamma/syntax_check.c:463: mob->abilities.str = tmp;
dm-dist-gamma/syntax_check.c:466: mob->abilities.intel = tmp;
dm-dist-gamma/syntax_check.c:469: mob->abilities.wis = tmp;
dm-dist-gamma/syntax_check.c:472: mob->abilities.dex = tmp;
dm-dist-gamma/syntax_check.c:475: mob->abilities.con = tmp;
dm-dist-gamma/syntax_check.c:480: mob->points.max_hit = 0;
dm-dist-gamma/syntax_check.c:481: mob->points.hit = mob->points.max_hit;
dm-dist-gamma/syntax_check.c:484: mob->points.armor = tmp;
dm-dist-gamma/syntax_check.c:487: mob->points.mana = tmp;
dm-dist-gamma/syntax_check.c:488: mob->points.max_mana = tmp;
dm-dist-gamma/syntax_check.c:491: mob->points.move = tmp;
dm-dist-gamma/syntax_check.c:492: mob->points.max_move = tmp;
dm-dist-gamma/syntax_check.c:495: mob->points.gold = tmp;
dm-dist-gamma/syntax_check.c:498: GET_EXP(mob) = tmp;
dm-dist-gamma/syntax_check.c:501: mob->specials.position = tmp;
dm-dist-gamma/syntax_check.c:504: mob->specials.default_pos = tmp;
dm-dist-gamma/syntax_check.c:507: mob->player.sex = tmp;
dm-dist-gamma/syntax_check.c:510: mob->player.class = tmp;
dm-dist-gamma/syntax_check.c:513: GET_LEVEL(mob) = tmp;
dm-dist-gamma/syntax_check.c:516: mob->player.birth.hours = time_info.hours;
dm-dist-gamma/syntax_check.c:517: mob->player.birth.day = time_info.day;
dm-dist-gamma/syntax_check.c:518: mob->player.birth.month = time_info.month;
dm-dist-gamma/syntax_check.c:519: mob->player.birth.year = time_info.year - tmp;
dm-dist-gamma/syntax_check.c:522: mob->player.weight = tmp;
dm-dist-gamma/syntax_check.c:525: mob->player.height = tmp;
dm-dist-gamma/syntax_check.c:530: GET_COND(mob, i) = tmp;
dm-dist-gamma/syntax_check.c:537: mob->specials.apply_saving_throwi = tmp;
dm-dist-gamma/syntax_check.c:541: mob->points.damroll = 0;
dm-dist-gamma/syntax_check.c:542: mob->specials.damnodice = 1;
dm-dist-gamma/syntax_check.c:543: mob->specials.damsizedice = 6;
dm-dist-gamma/syntax_check.c:545: mob->points.hitroll = 0;
dm-dist-gamma/syntax_check.c:726: strcat(name, ".mob");
dm-dist-gamma/syntax_check.c:727: if (!(mob_f = fopen(name, "r")))
dm-dist-gamma/syntax_check.c:729: printf("Could not open mobile file.\n\r");
dm-dist-gamma/syntax_check.c:751: printf("Generating mobile file indexes.\n\r");
dm-dist-gamma/syntax_check.c:752: mob_index = generate_indices(mob_f, &top_of_mobt);
dm-dist-gamma/syntax_check.c:760: printf("Checking Mobile File (only simple mobiles).\n\r");
dm-dist-gamma/syntax_check.c:761: check_mobile(mob_f);
dm-dist-gamma/syntax_check.c:773: fclose(mob_f);
dm-dist-gamma/syslog:9:Thu Jun 30 17:53:58 1994 :: Opening mobile, object and help files.
dm-dist-gamma/syslog:14:Thu Jun 30 17:54:06 1994 :: Generating index tables for mobile and object files.
dm-dist-gamma/syslog:21:Thu Jun 30 17:54:07 1994 :: Mobiles.
dm-dist-gamma/utils.h:73:#define IS_MOB(ch) (IS_SET((ch)->specials.act, ACT_ISNPC) && ((ch)->nr >-1))
dm-dist-gamma/utils.h:179:/* char name/short_desc(for mobs) or someone? */
|
-- Rowaa[SR13] ( talk) 16:44, 13 May 2020 (UTC)