*********************MAIN 1.4 BUG/FIX LIST********************* -------------WHO ARGUMENT REMOVAL From: "Li'l Lukey" lpherson@mncs.k12.mn.us If you want to type just "who" instead of "who 1". All you have to do is remove the line near the top of mud.h that defines REQWHOARG. #define REQWHOARG to /* #define REQWHOARG */ and in act_info.c comment out the stuff for ifdef REQWHOARG ----------SHIELDWORK and POSSESS ASSIGN_GSN: Skill shieldwork not found. This is unfinished, just comment it out of the one line in mud.h and two lines in db.c ASSIGN_GSN: Skill possess not found. Just an unfinished feature, doesn't hurt anything, don't remove it. Removing it will cause problems instead of it just saying 'not found'. -----------------HELL IS SET TO WRONG VNUM From: Rjael mud@mini.axcomp.com Hell apparently still has problems, although an unhell won't crash the mud. From: Kevin London I will fix hell, we use a different vnum on realms and I always forget to set it back for smaug. From: me (Zylara) In act_wiz.c in the funtions do_hell and do_unhell change the victim->in_room->vnum != 8 to a 6 instead of 8 char_to_room(victim, get_room_index(8)); to 6 also. -----------MOBS DEFPOSITIONS From: Sevoreria Dragonlight I discovered mobs we created were not moving even when we installed the area. In smaug 1.4 there are several new positions. Smaug 1.02a defpos 8 was standing, but now it is sitting. All you need to do is find the make_mobile function in db.c and scroll down to find the defposition and position values (which should say 8 if you haven't changed them) and change the values to 12 (which is the new position for standing). -------------KICK and SLICE From: "Li'l Lukey" lpherson@mncs.k12.mn.us I found a bug in the do_slice function. It seems that do_slice was probably a copy and paste of do_kick. In the first ifcheck located in do_slice in skills.c, notice how it checks the gsn_kick instead of checking gsn_slice like it should. if ( !IS_NPC(ch) && !IS_IMMORTAL(ch) && ch->level < skill_table[gsn_kick]->skill_level[ch->class] ) { ^^^^ <----------change to slice send_to_char("You are not learned in this skill.\n\r", ch ); return; This skill still needs some work done on it to get it working. ------------PROFANITY CHECKER From: Kevin London london@cs.utk.edu init_profanity_checker doesn't work properly yet, you can comment out the init_profanity_checker function if you wish to get rid of the following errors when compiling: act_comm.c: In function `init_profanity_checker': act_comm.c:3180: warning: implicit declaration of function `re_comp' act_comm.c: In function `is_profane': act_comm.c:3295: warning: implicit declaration of function `re_exec' ------------------REQUEST PIPE Error messages on request pipe and what does it do anyway? From: Altrag altrag@realms.game.org Requests are used for the web interface. try "echo webwho >>REQUESTS" sometime and watch the WEBWHO file get updated. pretty snazzy, eh? From: Kevin London Internet: london@cs.utk.edu You know the webwho on the smaug page, this goes through the request pipe. To get rid of it take -DREQUESTS out of the Makefile if you aren't going to use REQUESTS. ----------NEW WEAR LOCATIONS BUG From: Gabriel Androctus There is no equipment in the game that I have found to fit the four new wear locations, and it crashes the mud if they are used before being fixed. Viewing characters wearing items with these wear locations causes the mud to crash. From: Barak Taylor In mud.h #define MAX_WHERE_NAME 22 needs to be changed to #define MAX_WHERE_NAME 26 Change where_name in act_info.c to "", "missile wielded ", <--- add a comma "worn on back ", <--- add the next 4 lines "worn on face ", "worn on ankle ", "worn on ankle " <--- no comma here (NOTE: These places in the code actually have the greaterthan and lessthan symbols placed around the wear location words.. but my html editor is giving me trouble and won't let me use the shortcuts for them either.) From: me(Zylara) I changed face to before ankle as every where I found the wear flags, face always came before ankle. Also I noticed that these new wear locations are not added into the ibuild (menu) options nor are they added in to grub.c.... but neither will cause any problems, just will not be an option available for choosing. -----------IMMHOST AND PASSWORD PROBLEM From: "David Lear" thelears@erols.com We resolved the problem. Seems as though one of the implementors was trying out immhost. He had added two sites for his character. This seemed to cause the problem. The immortals that were on when he set his site info were able to continue logging on. The others became unable to, they received the "incorrect password" message when attempting to log in. As soon as we removed the immhost data, everyone was able to log in. Uri From: Nivek---Kevin London Realms uses immhost.c and it works just fine. Have you changed the code at all? The code I have, says Wrong password, not incorrect password. I did fix some things in immhost but I can't remember if I did them before or after the 1.4 release. Either way 1.4a should be out soon. --- From: Xantha okie, immhosts are nice, with one small problem. I set up a host for my imm, Xantha. typed immhost, and it showed the host I could use.. That's wel and good, but sometimes I log in from a different host. I just wanted to see how it worked. immhost delete xantha 127* doesn't work to get rid of it. From: Kevin London First you can add multiple hosts for one immortal. IE immhost add xantha 127* immhost add xantha 281.21.2.3 Or whatever. Then any of those hosts will be allowed. Also that is a quirk I forgot to fix immhost delete xantha 127 should get rid of it (IE it doesn't strip the *) Nivek -----------RACIAL LANGUAGE BUG I get bug reports of "Invalid racial language: Nanny" mostly in character creation. How do I fix it? From: me(Zylara) The directions are given as if you have not added any new races or languages yet. The reason for this is Gnomes does not have a language setting (set to 0), in the ../dist/races/ dir open up the gnome race file and set it's language to 1048576. Then go into act_comm.c, all the way down to the bool can_learn_lang just before int countlangs add in gnomes here, like this: LANG_CLAN, LANG_GITH, LANG_GNOME, LANG_UNKNOWN }; and add it here too, right below the first part: "halfling", "clan", "gith", "gnome", "" }; In mud.h where the languages are, right under races, add: #define LANG_GNOME BV20 /* Gnome Language */ right under the gith one. Then right below that in VALI_ LANGS add: | LANG_HALFLING | LANG_GITH | LANG_GNOME ) Then make clean and make to put your changes in, log on to the mud and do the following: sset create skill gnome slookup gnome to find the sn of it sset 265 type tongue this was the # on mine sset 265 guild -1 sset 265 code spell_null sset save skill table Then you need to go into all the class files in your dist/classes dir and give them each the new language, what level they get it at, and what their adept % is. Which means adding the line between gith and goblin: Skill 'gith' 1 99 Skill 'gnome' 1 99 Skill 'goblin' 1 99 If you want you can go into ../dist/system/tongues.dat and create the different sounds of the language, or it will just use the default one. --------------MAX CLASSES and CHOOSING SEX AT CREATION CRASHES From: sammael@bigred1.rconnect.com I have discovered that when new chars enter the game, I seg fault and drop no core. Following a step by step log dump, I find that my game seg faults on one of these lines from comm.c: case m: case M: ch->sex = SEX_MALE; break; case f: case F: ch->sex = SEX_FEMALE; break; case n: case N: ch->sex = SEX_NEUTRAL; break; - From: Matthew mshirey@vetmed.wsu.edu It appears that you can have MAX_RACE set to a number that is actually greater than the number of Races that you have but MAX_CLASS must be set to exactly the number you plan to use. I get a core dump if MAX_CLASS is not set right. - From: me(Zylara) Smaug 1.4 crashes when the MAX_CLASSES in mud.h is not properly set, usually after the 'what's your sex' question in the new character's creation. The paladin and nephandi classes are not working so change the MAX_CLASS to 8 if you don't want to use the paladin class, 9 if you do. Paladin is useable but Nephandi is unfinished. Make the following changes: mud.h #define MAX_REXITS 20 #define MAX_SKILL 400 #define MAX_CLASS 9 <-------- change to 8 #define MAX_NPC_CLASS 26 or leave at 9 #define MAX_RACE 15 and include #define MAX_NPC_RACE 91 paladins If using paladin, you may want to add the paladin to places it has not been added...like act_obj.c for part of the 'object not useable by' code, and other things like antiwarrior flag. Do a grep for warrior or cleric to find the places. To clans.c and also make them a guild, if you are using the guilds. - Kevin London wrote: I am adding it so that won't happen with MAX_CLASS and also so that you will be able to do everything online. Should be out in the next release which should be out -soon-, depending on how long it takes me to write some of the docs. Nivek -----------------PALADINS TAKING DAMAGE IN PRE-AUTH When a player comes in as a paladin, they start taking damage right off because of their alignment. Also Paladins have not been added to the program in the pre-auth area, so they do not get a weapon when they exam the weapon chest in the tree. From: me(Zylara) To stop this you only need to set their alignment up a little, in comm.c in the case CON_GET_NEW_CLASS section add these two lines, you can set the # on what ever you want (1000 to 350): if ( toupper(arg[0]) == toupper(class_table[iClass]->who_name[0]) && !str_prefix( arg, class_table[iClass]->who_name ) ) { ch->class = iClass; if ( ch->class == 8 ) /* add these two lines */ ch->alignment = +500; /* to stop paladin damage */ break; } For the program on object 104 (the weapon chest), just opedit the chest in room 104 to add a line for the paladin class: command: opedit 104 edit 1 17 if class ($n) == Warrior 18 or class ($n) == Ranger 19 or class ($n) == Paladin <----add this line 20 mpoload 127 1 Other things for paladins...add a program on Mistress Tsythia for the paladins coming into the game, so hvak1 will get an answer from hvak2 about who is entering these realms. You will also need to mpstat Silvina in the newbie academy and add to the program a section for paladins and build on a hall for the paladin class. As it is right now the paladins just sit there because there is no hall for Silvina to portal them to. -----------------VAMPIRE IN LIMBO.ARE From: me(Zylara) On running the startup or smaug: Sun Sept 19 23:46:58 1998 : Reading in area files... (help.are) Exception: STATUS_ACCESS_VIOLATION (or somthing close to this) This is caused by mob #80 from limbo.are, to fix it I compared smaug 1.02a limbo.are with the 1.4...a difference in this line: 1.02a has a line- 67 3 0 0 1769236847 1769236846 0 1.4 has- 67 3 0 0 0 0 0 In the limbo.are file I just changed 1.4 so it looked like 1.02a 67 3 0 0 0 0 0 to look like this: 67 3 0 0 1769236847 1769236846 0 -----------DEITY ERRORS From: Tavolir Last night when I first ran 1.4 it started core dumping on me. I looked in the log file and it had stopped just after loading the deity files. I looked in the code and found the following in db.c: log_string( "Loading councils" ); load_deity( ); log_string( "Loading deities" ); load_councils( ); These are around the wrong way so change them to: log_string( "Loading councils" ); load_councils( ); log_string( "Loading deities" ); load_deity( ); This is NOT the bug but it does help to keep the logs straight. The bug lies in the /dist/deity/deity.lst file which reads: test.dty $ There is some problem with the test.dty file, so remove the reference to it, so the deity.lst file reads: $ And the core dumps should go away. From: me(Zylara) This comes up when loading deities: Wed Jul 29 :: Loading deities... Wed Jul 29 :: test.dty Wed Jul 29 :: [*****] FILE: $ LINE: 0 Wed Jul 29 :: [*****] BUG: Fread_deity: no match: Avatar Wed Jul 29 :: [*****] FILE: $ LINE: 0 Wed Jul 29 :: [*****] BUG: Fread_deity: no match: 0 Wed Jul 29 :: [*****] FILE: $ LINE: 0 Wed Jul 29 :: [*****] BUG: Fread_deity: no match: Deityobj Wed Jul 29 :: [*****] FILE: $ LINE: 0 Wed Jul 29 :: [*****] BUG: Fread_deity: no match: 0 Wed Jul 29 :: $ Wed Jul 29 :: Done deities The correct vnums for the avatar and deity object are: As defined in mud.h #define MOB_VNUM_DEITY 17 #define OBJ_VNUM_DEITY 64 If these two are created in limbo.are you won't get the FILE: $ LINE: 0 BUG: Fread_deity: no match: Avatar lines. ---------------MISSING BODY PARTS AND OTHER LIMBO.ARE VNUMS From: me(Zylara) If you have players saying that a spell does not work, then you are probably missing a spell object that is suppose to be in limbo.are. So along with all the bodyparts from the email below I have also added the whole list of objects you need to have created in limbo.are. Right off of olist 1 99. From: Ryan supfly@oocities.com I noticed that if you killed certain mobs you would get the death_cry: invalid vnum bug. So I looked through the code and figured out that the invalid vnum was for bodyparts that were not included with limbo.are, but still included in the part_vnums array. So here it is, if you are missing one of these object vnums and one of your mobs is set to have that bodypart, you get the bug when it dies and that bodypart is called for. 2) coin gold (a gold coin) 3) coins gold (%d gold coins) 10) corpse (the corpse of %s) 11) corpse (the corpse of %s) 12) head (the head of %s) 13) heart (the heart of %s) 14) arm (the arm of %s) 15) leg (the leg of %s) 16) guts (the spilled guts of %s) 17) blood (the spilled blood) 18) bloodstain (the bloodstain) 19) scraps (the scraps of %s) 20) mushroom (a magic mushroom) 21) ball light (a bright ball of light) 22) spring (a magical spring) 23) skin (a skin of %s) 24) meat fresh slice (a slice of raw meat from %s) 25) shopping bag (a bag) 26) bloodlet (bloodlet) 30) fire (a magical fire) 31) trap (a trap) 32) portal (a portal) 33) black poison powder (black poisoning powder) 34) scroll scribing blank (a blank scroll) 35) flask empty (an empty flask) 36) parchment paper note (a note) 37) quill pen (a quill) 43) holy symbol faith (a symbol of faith) 44) brains (the brains of %s) 45) hands hand (a hand of %s) 46) foot feet (a foot of %s) 47) fingers (the fingers of %s) 48) ear (the ear of %s) 49) eye (the eye of %s) 50) tongue (the tongue of %s) 51) eyestalks eyestalk (an eyestalk of %s) 52) tentacles tentacle (a tentacle of %s) 53) fins fin (a fin of %s) 54) wings wing (a wing of %s) 55) tail (a tail of %s) 56) scales (the scales of %s) 57) tusks (the tusks of %s) 58) horns horn (the horn of %s) 59) claws (the claws of %s) 63) extrademinsional portal (an extrademinsional portal) 64) sigil deity symbol (the symbol of %s) 80) feathers (the feathers of %s) 81) forelegs foreleg (a foreleg of %s) 82) paws (the paws of %s) 83) hooves (the hooves of %s) 84) beak (the beak of %s) 85) sharpscales (the sharpscales of %s) 86) haunches haunch (the haunch of %s) 87) fangs (the fangs of %s) 99) final object (a newly created final object) For most of the bodyparts all you have to set on each one is its short, long, type, weight, level 0, and if you want it to be set as food you need to add the wear take flag, value0's setting, and an actiondesc if you want it to have one. Just oinvoke a heart or guts and ostat them to see their settings. You also need to create the mob # 17 for the deities avatar, if you have not made it yet. -----------------WATCH The watch command is inhibited by the fact that the ../watch directory is not included with the distribution. From: Kevin London Oops, just make the watch dir and that should work. --------------PLANES and PLANES.DAT file From: Rjael mud@mini.axcomp.com Tue Jul 28 19:34:55 1998 :: Reading in plane file... ../system/planes.dat: No such file or directory Tue Jul 28 19:34:55 1998 :: [*****] BUG: load_planes: can't open planes file for read. From: Altrag Started on it but we got the "no new projects so we can clean this thing up to release" message before i did much with it, basically its just a couple pointers and a couple functions. From: me(Zylara) To fix this error just go into ../dist/system/ and create a file named planes.dat and in it put a: #END same as morph.dat file. -----------------POLYMORPH From: Rjael mud@mini.axcomp.com While having its own .c file, does not have any but the mpcommands in commands.dat. There is no revert command in tables.c. This may not be a bug, but its a feature that everyone wanted to play with. From: Kevin London The new code does not have a revert command anymore it is off of a timer that you put on the morph. There is an immortal command morph and unmorph that will work, as well as the spell polymorph that checks to make sure you can morph into the thing. From: Moclamoose@aol.com Since the commands are already in the code all you have to do, in this order: cedit morph create cedit morphstat create cedit morphcreate create cedit morphset create cedit morphdelete create cedit save cmdtable i hope this helps....Morph is pretty cool Megaboz ------------------CLAN/GUILD VAULTS From: Rjael mud@mini.axcomp.com Clan vaults not found. I noticed there isn't a Paladin guild setup for the Paladin class. Vaults also a fixit feature of 1.02a. From: me(Zylara) To fix the SMAUG clan vault errors seen in the startup log. The easiest way to fix the 'can not open clan vault' is to GOTO each of these rooms and drop a ball light or something else simple. 21434 21178 21188 21071 21210 21139 21240 21144 also in this room, the thieves guild storeroom, type: redit flags clanstoreroom then do foldarea newdark.are smaug 1.2a and 1.4 do not have the thieves clanstoreroom set. ---------------SKIN CODE From: LrdElder tdison@swetland.net I don't know if this is the reason it was not installed already, but there is a bug in it, where a player can skin corpses as often as they like. Also you have to setup the actual skin itself. If I remeber right it should have the object vnum of 23. cedit skin create do_skin cedit skin level <---level you want it to be set as cedit save cmdtable From: me This skill also needs a little more work. ----------SOME BUILDING COMMANDS HAVE CHANGED LEVELS From: xantha@mud3.gator.net If your character logs in and the mud crashes, here's a posible explanation for it. At least I know it's what was causing mine. The new code restricts loadarea and savearea to level 54 (and a few other things). So, if your player is a creator and at level 53, when they try to log in, the game loads their area. Well, since they aint the level they should be, the game goes into a tissy and throws everybody out. Solution: Raise them a level. Either that or adjust loadarea and savearea. I know since I did it, mine quit crashing. From: me(Zylara) It is prolly a good idea to check and set ALL your building/Imm commands and make sure they are set to the level you want them at. As well as setting each help file to the same level as the command. Open up commands.dat and help.are...or use cset, cedit, restrict, and hset commands, while loged onto your mud. Don't forget to use the file saving commands cset save, cedit save cmdtable, hset save. --------------MPADVANCE only works if person doing it is level 58/+ From: Rjael mud@mini.axcomp.com mpadvance is now crippled, but sufficiently high mobs can still be forced to advance/demote at will. One quick note: I looked back at the command which worked to demote someone, and here it is... force puff mpforce rjael advance self 2 A signifigantly high mob can demote or advance a player through this chain. I imagine that it should work in both directions, with advancing and demoting at will. I just did this with a 60th level character to achieve level 65. force puff mpat dorian mpforce dorian at rjael advance rjael 65 Now granted, the imm has to be on. But if you know what you're doing you can bump the imp before he realizes anything has happened. Then you just clean the wizlist and you've taken over a mud. From: Kevin London Yes but immortals less than level 58 can not force a mob to do any mp commands. In an up and coming release when you switch into a mob you won't do mpcommands but there are reasons to allow that for now, so just don't give switch or level 58+ to untrusted imms. Nivek -----------PAGER COLOR From: Cronel pejro@sion.com I found d->pagecolor is never initialized. So until some function sets it (such as do_who for instance) your d->pagecolor is 0 (black); this will cause pages 2 and subsequents of everthing you get through the pager (such as help files) to be invisible. In 1.2, this was initialy set in the CON_PRESS_ENTER case in nanny.c, so I just fixed it by calling set_pager_color(white) there. *********************** IMC STUFF *********************** Since I removed IMC from 1.4, I am not sure what the exact fix is for the IMC lock errors, so I will just include what info I have. Problem: gcc -c -O -g3 -Wall -Wuninitialized -DREQUESTS -DSMAUG imc.c imc.c: In function `lock_prefix': imc.c:1085: warning: implicit declaration of function `lockf' imc.c:1085: `F_TLOCK' undeclared (first use this function) imc.c:1085: (Each undeclared identifier is reported only once imc.c:1085: for each function it appears in.) imc.c: In function `unlock_prefix': imc.c:1102: `F_ULOCK' undeclared (first use this function) *** Error code 1 Stop. *** Error code 1 --- From: Altrag try flock --- From: Gerry Smith On FreeBSD 2.2.6, add an #include for unistd.h in imc.c: replace line 1084 if (lockf(imc_lock_file, F_TLOCK, 1) <0) with if (flock(imc_lock_file, LOCK_EX) <0) and line 1101 lockf(imc_lock_file, F_ULOCK, 1); with flock(imc_lock_file, LOCK_UN); Morpheus --- From: "Charles H. Gucker" cgucker@toof.net Might just want to add that to the imc.h file the alias F_TLOCK LOCK_EX F_ULOCK LOCK_UN for BSD machines, much like we have for sun. --- From: "Charles H. Gucker" cgucker@toof.net For anybody who wishes to get imc working, please read the following: Imc uses one directory In this directory, you should find the following files: config icec iced lock mail-ids mail-list mail-queue rignores If you are missing any of these files, please make them. There is one file that needs to be setup for the configuration of Imc to work, the others are files maintained by Imc itself. In the Config file, Please cut and past this, as a refference. # Version config_file_version # LocalName local_imc_name # LocalPort local_imc_port # InfoName long name of mud # InfoHost host and port # # InfoEmail admin email contact # InfoWWW mud web site # InfoFlags imc flags (use hide for building ports to "hide" it) # Connection Name:Host:Port:ClientPW:ServerPW:RcvStamp:NoForward:Flags here's a mock config file. Version 1 --should be set to 1 on all muds LocalName Storm --IMC Mud Name (the "short" name Imc uses for you mud, try to keep lessthan 8 chars) LocalPort 4691 --Imc Port, an "odd" port not used by players InfoName Storm:&r Call of the Knight&w --long name of mud can use &color codes InfoHost storm.org port 4000 --host name and port number InfoEmail wisdom@storm.org --admin email contact InfoWWW www.storm.org --web site addy if appl Connection hub2:hub2.imc2.org:9010:BjASUAkL:7AhjaYaQ:0:0:reconnect --Connection info setup by Imc, so you don't need to touch [FYI, a Real config file won't have the spaces and no --comments] Now, to get this information (passwords and all), Please send an email to help@imc2.org with the following information: Your Muds Name: (long name) Your Muds Requested Imc Name: (shorter than 8 chars please) Your Muds Game Port #: (I.E. 4000 ) Your Muds Imc Port #: (the "odd" port # (semi random)) And any other specific questions that are not answered in the help imc or help ice files. Also, if anybody is interested in information on how to run a "hub" and help offset some of the load on the main hubs, please also ask. Charlie Imc Network Admin ****************END OF BUG/FIX LIST