diff -c -r --new-file ds2.0r28/lib/cmds/admins/mfinger.c ds2.1/lib/cmds/admins/mfinger.c *** ds2.0r28/lib/cmds/admins/mfinger.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/admins/mfinger.c Sat Jul 8 23:30:54 2006 *************** *** 53,58 **** void help() { message("help", "Syntax: \n\n" ! "Allows you to get finger information from a player's site.", this_player()); } --- 53,63 ---- void help() { message("help", "Syntax: \n\n" ! "Allows you to get finger information from a player's site.\n\n" ! "Note: In 1995, you could reliably expect a UNIX machine to cheerfully " ! "respond to a finger request. Now, more than 10 years later, everything " ! "is blocked, firewalled, and hardened. This command is all but useless, " ! "and is kept as a historical curiosity. Any \"bugs\" it contains will " ! "not be fixed.", this_player()); } diff -c -r --new-file ds2.0r28/lib/cmds/creators/colors.c ds2.1/lib/cmds/creators/colors.c *** ds2.0r28/lib/cmds/creators/colors.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/creators/colors.c Sat Jul 8 23:30:54 2006 *************** *** 6,29 **** int cmd() { write( ! "%^RED%^RED\n" ! "%^GREEN%^GREEN\n" ! "%^ORANGE%^ORANGE\n" ! "%^YELLOW%^YELLOW\n" ! "%^BLUE%^BLUE\n" ! "%^CYAN%^CYAN\n" ! "%^MAGENTA%^MAGENTA\n" ! "%^BLACK%^BLACK\n" ! "%^WHITE%^WHITE\n" ! "%^B_RED%^B_RED\n" ! "%^B_GREEN%^B_GREEN\n" ! "%^B_ORANGE%^B_ORANGE\n" ! "%^B_YELLOW%^B_YELLOW\n" ! "%^B_BLUE%^B_BLUE\n" ! "%^B_CYAN%^B_CYAN\n" ! "%^B_BLACK%^B_BLACK\n" ! "%^B_WHITE%^B_WHITE%^RESET%^\n" ! "%^B_MAGENTA%^B_MAGENTA%^RESET%^\n" ); return 1; } --- 6,33 ---- int cmd() { write( ! "%^RED%^RED\t%%^^RED%%^^\n" ! "%^GREEN%^GREEN\t%%^^GREEN%%^^\n" ! "%^ORANGE%^ORANGE\t%%^^ORANGE%%^^\n" ! "%^YELLOW%^YELLOW\t%%^^YELLOW%%^^\n" ! "%^BLUE%^BLUE\t%%^^BLUE%%^^\n" ! "%^CYAN%^CYAN\t%%^^CYAN%%^^\n" ! "%^MAGENTA%^MAGENTA\t%%^^MAGENTA%%^^\n" ! "%^BLACK%^BLACK\t%%^^BLACK%%^^\n" ! "%^WHITE%^WHITE\t%%^^WHITE%%^^\n" ! "%^B_RED%^B_RED\t%%^^B_RED%%^^\n" ! "%^B_GREEN%^B_GREEN\t%%^^B_GREEN%%^^\n" ! "%^B_ORANGE%^B_ORANGE\t%%^^B_ORANGE%%^^\n" ! "%^B_YELLOW%^B_YELLOW\t%%^^B_YELLOW%%^^\n" ! "%^B_BLUE%^B_BLUE\t%%^^B_BLUE%%^^\n" ! "%^B_CYAN%^B_CYAN\t%%^^B_CYAN%%^^\n" ! "%^B_BLACK%^B_BLACK\t%%^^B_BLACK%%^^\n" ! "%^B_WHITE%^B_WHITE\t%%^^B_WHITE%%^^\n" ! "%^B_MAGENTA%^B_MAGENTA%^RESET%^\n\n" ! "Special tags: %%^^BOLD%%^^ and %%^^FLASH%%^^ and %%^^RESET%%^^\n\n" ! "You can mix and match, for example: \n" ! "%%^^B_RED%%^^%%^^CYAN%%^^%%^^BOLD%%^^%%^^FLASH%%^^Foo!%%^^RESET%%^^:" ! "%^B_RED%^%^CYAN%^%^BOLD%^%^FLASH%^Foo!%^RESET%^" ); return 1; } diff -c -r --new-file ds2.0r28/lib/cmds/creators/people.c ds2.1/lib/cmds/creators/people.c *** ds2.0r28/lib/cmds/creators/people.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/creators/people.c Tue Jul 11 18:30:58 2006 *************** *** 76,82 **** } screenSize = ((int*)this_player()->GetScreen())[0]; formatString = calculateFormatString(screenSize); - // 74 '-'s. bar = "--------------------------------------------------------------------------"; for(i = 75; i < screenSize; i++) bar += "-"; bar += "\n"; --- 76,81 ---- *************** *** 244,250 **** string tzone; int x, offset; - //tzone = (string)this_player()->GetTimeZone() || local_time(time())[LT_ZONE]; tzone = query_tz(); offset = (int)TIME_D->GetOffset(tzone); offset += EXTRA_TIME_OFFSET; --- 243,248 ---- diff -c -r --new-file ds2.0r28/lib/cmds/players/biography.c ds2.1/lib/cmds/players/biography.c *** ds2.0r28/lib/cmds/players/biography.c Wed Jul 5 19:58:18 2006 --- ds2.1/lib/cmds/players/biography.c Tue Jul 11 18:30:58 2006 *************** *** 93,99 **** d2 = ({}); } else { - //x = x/2; d1 = deaths[0..(x-1)]; d2 = deaths[x..]; } --- 93,98 ---- diff -c -r --new-file ds2.0r28/lib/cmds/players/consider.c ds2.1/lib/cmds/players/consider.c *** ds2.0r28/lib/cmds/players/consider.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/players/consider.c Tue Jul 11 18:30:58 2006 *************** *** 15,21 **** if(sizeof(weapons)){ foreach(object weapon in weapons){ - //tc("skill level for "+identify(weapon)+": "+whom->GetSkill(weapon->GetWeaponType()+" attack")["level"]); if(weapon->GetWeaponType() && whom->GetSkill(weapon->GetWeaponType()+" attack")){ attack_types += ({ weapon->GetWeaponType() }); score += ( whom->GetSkill(weapon->GetWeaponType()+" attack")["level"] ) * 3; --- 15,20 ---- *************** *** 25,42 **** if(weapon->GetHands() > 1) { if(!(whom->GetSkill("multi-hand"))) score /= 3; } - //tc("weapon score: "+score); } if(sizeof(weapons) >1) { if(!(whom->GetSkill("multi-weapon"))) score /= 3; } - //tc("final weapon score: "+score); } else if((whom->GetMelee())) { if(whom->GetSkill("melee attack")) score += (((whom->GetSkill("melee attack")["level"]) * 3)); - //tc("melee score: "+score); } if(!sizeof(attack_types)) attack_types = ({"blunt"}); foreach(string Type in attack_types){ --- 24,38 ---- *************** *** 70,87 **** DamType = 0; } - //tc("protection: "+protection,"blue"); score += whom->GetStatLevel("speed") * 2; - //tc("speed score: "+score); score += whom->GetStatLevel("strength") * 3; - //tc("strength score: "+score); score += whom->GetMaxHealthPoints() / 15; - //tc("hp score: "+score); score += protection; - //tc("score plus protection: "+score); - return score; } --- 66,77 ---- *************** *** 106,120 **** theirscore = eventConsider(thing, this_player()); myscore = eventConsider(this_player(), thing); - //write("Consider complete. "); - //write("My score: "+myscore); - //write("Their score: "+theirscore); - //if(myscore >= theirscore) { - // write("You have the advantage by "+(myscore - theirscore)+" points."); - //} - //else write("They the advantage by "+(theirscore - myscore)+" points."); totalscore = myscore - theirscore; - //write("totalscore: "+totalscore); if(totalscore > 100) write("Piece of cake."); else if(totalscore > 80) write("No problem."); else if(totalscore > 60) write("Very easy."); --- 96,102 ---- diff -c -r --new-file ds2.0r28/lib/cmds/players/emote.c ds2.1/lib/cmds/players/emote.c *** ds2.0r28/lib/cmds/players/emote.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/players/emote.c Tue Jul 11 18:30:58 2006 *************** *** 33,38 **** "Places any message you specify directly after your name. For " "example, \"emote smiles.\" would have others see " "\"Descartes smiles.\". Non-avatars lose a stamina point for " ! "each emote to discourage abuse.", this_player()); } --- 33,39 ---- "Places any message you specify directly after your name. For " "example, \"emote smiles.\" would have others see " "\"Descartes smiles.\". Non-avatars lose a stamina point for " ! "each emote to discourage abuse.\n" ! "", this_player()); } diff -c -r --new-file ds2.0r28/lib/cmds/players/env.c ds2.1/lib/cmds/players/env.c *** ds2.0r28/lib/cmds/players/env.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/players/env.c Tue Jul 11 18:30:58 2006 *************** *** 6,12 **** write("Screen: \t\t"+identify(this_player()->GetScreen())); write("Terminal: \t\t"+this_player()->GetTerminal()); write("Brief mode: \t\t"+ ( (this_player()->GetBriefMode()) ? "on" : "off" )); - //write("PlayerKill mode: \t"+ ( (this_player()->GetPK()) ? "on" : "off" )); if(creatorp(this_player())) write("Debug mode: \t\t"+ ( (this_player()->GetProperty("debug")) ? "on" : "off" )); return 1; --- 6,11 ---- diff -c -r --new-file ds2.0r28/lib/cmds/players/language.c ds2.1/lib/cmds/players/language.c *** ds2.0r28/lib/cmds/players/language.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/players/language.c Wed Jul 12 13:29:17 2006 *************** *** 10,25 **** FluencyMap[lang] = this_player()->GetLanguageLevel(lang); } - write("You speak:"); - if(this_player()->GetPolyglot()){ ! write("All languages with 100% proficiency."); } ! else { ! foreach(string key, int val in FluencyMap){ ! write(capitalize(key)+" with "+val+"% proficiency."); ! } } return 1; --- 10,22 ---- FluencyMap[lang] = this_player()->GetLanguageLevel(lang); } if(this_player()->GetPolyglot()){ ! write("You understand all languages with 100% proficiency."); } ! write("You speak: "); ! foreach(string key, int val in FluencyMap){ ! write(capitalize(key)+" with "+val+"% proficiency."); } return 1; diff -c -r --new-file ds2.0r28/lib/cmds/players/mudlist.c ds2.1/lib/cmds/players/mudlist.c *** ds2.0r28/lib/cmds/players/mudlist.c Wed Jul 5 19:58:18 2006 --- ds2.1/lib/cmds/players/mudlist.c Tue Jul 11 18:30:58 2006 *************** *** 66,73 **** string msg, svc; int val, comma = 0; - //tc("borg: "+identify(borg)); - mud = keys(borg)[0]; msg = "\nDetailed information on %^GREEN%^" + mud + "%^RESET%^:\n"; msg += sprintf("MUD Type: %:-6s Server: %:-20s Library: %s\n", --- 66,71 ---- diff -c -r --new-file ds2.0r28/lib/cmds/players/newbie.c ds2.1/lib/cmds/players/newbie.c *** ds2.0r28/lib/cmds/players/newbie.c Wed Dec 31 19:00:00 1969 --- ds2.1/lib/cmds/players/newbie.c Wed Jul 12 13:29:17 2006 *************** *** 0 **** --- 1,18 ---- + #include + + inherit LIB_DAEMON; + + int eventNoob(){ + write("%^RED%^WHAT A NEW PLAYER SHOULD KNOW\n%^RESET%^"); + this_player()->eventPage("/doc/help/players/handbook"); + return 1; + } + + mixed cmd(string str) { + return eventNoob(); + } + + void help() { + eventNoob(); + } + diff -c -r --new-file ds2.0r28/lib/cmds/players/who.c ds2.1/lib/cmds/players/who.c *** ds2.0r28/lib/cmds/players/who.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/cmds/players/who.c Wed Jul 12 20:17:44 2006 *************** *** 25,32 **** else if(avatarp(obs[i]) ) tmp+="[%^GREEN%^AVATAR%^RESET%^]"; else if(high_mortalp(obs[i]) ) tmp+="[%^GREEN%^HIGH MORTAL%^RESET%^]"; else tmp+=sprintf("[%d]", obs[i]->GetLevel() ); ! if(elderp(obs[i])) tmp+=" [%^YELLOW%^ELDER%^RESET%^]"; ! if(ambassadorp(obs[i])) tmp+=" [%^YELLOW%^AMBASSADOR%^RESET%^]"; if(sizeof(obs[i]->GetShort()) < 50) { tmp+=sprintf(" %s", obs[i]->GetShort()); } --- 25,33 ---- else if(avatarp(obs[i]) ) tmp+="[%^GREEN%^AVATAR%^RESET%^]"; else if(high_mortalp(obs[i]) ) tmp+="[%^GREEN%^HIGH MORTAL%^RESET%^]"; else tmp+=sprintf("[%d]", obs[i]->GetLevel() ); ! if(elderp(obs[i])) tmp+="[%^YELLOW%^ELDER%^RESET%^]"; ! if(ambassadorp(obs[i])) tmp+="[%^YELLOW%^AMBASSADOR%^RESET%^]"; ! tmp += ": "; if(sizeof(obs[i]->GetShort()) < 50) { tmp+=sprintf(" %s", obs[i]->GetShort()); } diff -c -r --new-file ds2.0r28/lib/daemon/decay.c ds2.1/lib/daemon/decay.c *** ds2.0r28/lib/daemon/decay.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/decay.c Tue Jul 11 18:30:58 2006 *************** *** 17,24 **** corpses += find_inheritors(LIB_CORPSE); limbs += find_inheritors(LIB_LIMB); - //tc("eventDecay called. limbs: "+sizeof(limbs)+", corpses: "+sizeof(corpses)); - limbs->eventDecay(); corpses->eventDecay(); --- 17,22 ---- diff -c -r --new-file ds2.0r28/lib/daemon/help.c ds2.1/lib/daemon/help.c *** ds2.0r28/lib/daemon/help.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/help.c Tue Jul 11 18:30:59 2006 *************** *** 255,261 **** } if( !sizeof(syn) ) { if( function_exists("help", load_object(file)) ) { - //Error = "This help may be out of date."; Error = " "; file->help(); return 0; --- 255,260 ---- *************** *** 438,444 **** help = "Index: %^GREEN%^" + index + "%^RESET%^\n" + "Topic: %^GREEN%^" + topic + "%^RESET%^\n\n" + help; if( file_exists(DIR_RACE_HELP + "/" + topic) ) - //help += read_file(DIR_RACE_HELP + "/" + topic); return help; } Error = "No such race exists."; --- 437,442 ---- diff -c -r --new-file ds2.0r28/lib/daemon/intermud.c ds2.1/lib/daemon/intermud.c *** ds2.0r28/lib/daemon/intermud.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/intermud.c Tue Jul 11 18:30:59 2006 *************** *** 103,109 **** return; } switch(packet[0]) { - //default : tc("Packet: "+identify(packet)); case "startup-reply": log_file("intermud",identify(packet)); tn("INTERMUD_D: "+identify(packet),"red"); --- 103,108 ---- *************** *** 135,141 **** } if( packet[6] == MudList->ID ) { tn("We don't like packet element 6. It is: "+identify(packet[6]),"red"); - //return; tn("We will continue anyway.","red"); } if( packet[2] != Nameservers[0][0] ) { --- 134,139 ---- *************** *** 178,184 **** SERVICES_D->eventReceiveChannelUserRequest(packet); break; case "chanlist-reply": - // if( packet[6] == ChannelList->ID ) return; tn("chanlist reply: "+identify(packet), "blue"); if( packet[2] != Nameservers[0][0] ) return; ChannelList->ID = packet[6]; --- 176,181 ---- diff -c -r --new-file ds2.0r28/lib/daemon/races.c ds2.1/lib/daemon/races.c *** ds2.0r28/lib/daemon/races.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/races.c Tue Jul 11 18:30:59 2006 *************** *** 154,162 **** mixed array tmp_limb = allocate(4); class Stat s; - //tc("hello."); - //tc("hellow"); - res = new(class Race); res->Resistance = ([]); --- 154,159 ---- *************** *** 168,174 **** if( !file_exists(file) ) error("No such file: " + file); race = last_string_element(file,"/"); - //tc("race: "+race); lines = explode(read_file(file), "\n"); --- 165,170 ---- *************** *** 189,220 **** foreach(string line in explode(read_file(file),"\n")){ - //tc("line: "+line,"red"); - //tc("first_string_element: "+first_string_element(line," "),"green"); test_string = first_string_element(line," "); if(!test_string || !sizeof(test_string)) test_string = line; - //tc("test_string: "+test_string,"green"); - switch(test_string){ case "FLYINGRACE": - //tc("flying","red"); SetFlyingRace(race); break; case "LIMBLESSRACE": - //tc("limbless","red"); SetLimblessRace(race); break; case "LIMBLESSCOMBATRACE": - //tc("limblesscombat","red"); SetLimblessCombatRace(race); break; case "NONBITINGRACE": - //tc("nonbiting","red"); SetNonBitingRace(race); break; --- 185,208 ---- *************** *** 237,243 **** //TODO: This should be a Language array to handle multiple //languages but further research is required first. res->Language = replace_string(line, "LANGUAGE ", ""); - //tc("res->Language "+res->Language,"blue"); break; case "RESISTANCE": --- 225,230 ---- *************** *** 249,255 **** case "SKILL": tmp = explode(replace_string(line, "SKILL ", ""), ":"); - //tc("tmp: "+identify(tmp)); res->Skills[tmp[0]] = ({ tmp[1], tmp[2], tmp[3], tmp[4] }); break; --- 236,241 ---- *************** *** 257,274 **** tmp = ({}); s = new (class Stat); tmp = explode(replace_string(line, "STATS ",""), ":"); - //tc("stat: "+identify(tmp),"yellow"); s->Average = copy(to_int(tmp[1])); s->Class = copy(to_int(tmp[2])); res->Stats[tmp[0]] = s; - //tc("ihnfcaa: "+(res->Stats[tmp[0]])->Average,"yellow"); - //tc("ihnfcaax2: "+(res->Stats[tmp[0]])->Class,"yellow"); break; case "LIMB": limb = ({ ({}), ({}), ({}), ({}) }); tmp_limb = explode(replace_string(line, "LIMB ",""), ":"); - //tc("tmp_limb: "+identify(tmp_limb),"cyan"); limb[0] = tmp_limb[0]; limb[1] = (tmp_limb[1] == "0" ? 0 : tmp_limb[1]); limb[2] = to_int(tmp_limb[2]); --- 243,256 ---- *************** *** 277,283 **** if( x == 0 && str != "0" ) { return GetArmor(str); } return x; }); - //tc("limb: "+identify(limb),"green"); res->Limbs = ({ res->Limbs..., limb }); res->Limbs += ({limb}); --- 259,264 ---- *************** *** 293,300 **** } } - //tc("ok then.","blue"); - res->Complete = 1; if( player ) { --- 274,279 ---- *************** *** 307,322 **** Races[race] = res; wtf = save_variable(Races[race]); - //tc("wtf: "+identify(wtf),"yellow"); save_object(SAVE_RACES); } void RemoveRace(string race) { validate(); wtf = save_variable(Races[race]); - //tc("wtf: "+identify(wtf),"yellow"); map_delete(Races, race); ! if(Races[race]) //tc("wtf: "+identify(wtf),"blue"); save_object(SAVE_RACES); } --- 286,299 ---- Races[race] = res; wtf = save_variable(Races[race]); save_object(SAVE_RACES); } void RemoveRace(string race) { validate(); wtf = save_variable(Races[race]); map_delete(Races, race); ! if(Races[race]) save_object(SAVE_RACES); } *************** *** 419,437 **** tmp = ({ tmp..., ({ key, val }) }); args[0] = tmp; tmp = ({}); - //foreach(string key, class Stat stat in res->Stats){ StatMap = copy(res->Stats); schluss = ""; foreach(schluss in keys(StatMap)){ - //tc("key: "+identify(StatMap[schluss]),"green"); - //tc("Average: "+identify(StatMap[schluss]->Average),"green"); - //tc("Class: "+identify(StatMap[schluss]->Class),"green"); tmp = ({ tmp..., ({ schluss, StatMap[schluss]->Average, StatMap[schluss]->Class }) }); - //tc("SetCharacterRace: "+identify(tmp)); } args[1] = tmp; args[2] = res->Language; - //args[3] = ({ res->Sensitivity[0], res->Sensitivity[1] }); args[3] = res->Sensitivity; args[4] = res->Skills; } --- 396,408 ---- diff -c -r --new-file ds2.0r28/lib/daemon/reaper.c ds2.1/lib/daemon/reaper.c *** ds2.0r28/lib/daemon/reaper.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/reaper.c Wed Jul 12 21:34:24 2006 *************** *** 13,18 **** --- 13,19 ---- call_out((: eventReap :), 300); reap_dummies(); + reap_other(); } static void create() { diff -c -r --new-file ds2.0r28/lib/daemon/services/channel.c ds2.1/lib/daemon/services/channel.c *** ds2.0r28/lib/daemon/services/channel.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/daemon/services/channel.c Tue Jul 11 18:30:59 2006 *************** *** 211,217 **** } int RemoveChannel(string channel) { - //if( !((int)master()->valid_apply( ({}) )) ) return 0; tn("RemoveChannel: "+identify(channel),"green"); if( member_array(channel, (string array)INTERMUD_D->GetChannels()) == -1 ){ --- 211,216 ---- diff -c -r --new-file ds2.0r28/lib/daemon/services/who.c ds2.1/lib/daemon/services/who.c *** ds2.0r28/lib/daemon/services/who.c Wed Jul 5 00:01:03 2006 --- ds2.1/lib/daemon/services/who.c Tue Jul 11 18:30:59 2006 *************** *** 13,26 **** string list, *who; object ob; - //tc("who packet: "+identify(packet)); if( file_name(previous_object()) != INTERMUD_D ) return; if( !packet[5] || !(ob = find_player(convert_name(packet[5]))) ) return; list = "%^MAGENTA%^Remote who information from " + packet[2] + ":%^RESET%^\n"; foreach(who in packet[6]) list += who[0] + " (" + who[1] + " idle): " + who[2] +"\n"; - //tc("list: "+list,"blue"); - //ob->eventPage(({list})); ob->eventPrint(list); tn("eventReceiveWhoReply: "+identify(packet),"blue"); } --- 13,23 ---- diff -c -r --new-file ds2.0r28/lib/daemon/stargate.c ds2.1/lib/daemon/stargate.c *** ds2.0r28/lib/daemon/stargate.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/stargate.c Tue Jul 11 18:30:59 2006 *************** *** 27,50 **** void eventSave(){ unguarded( (: save_object, SAVE_STARGATE, 1 :) ); - //tc("stargate daemon saved itself"); return; } void eventLoad(){ if (file_size(SAVE_STARGATE __SAVE_EXTENSION__) > 0){ - //tc("stargate save file exists"); unguarded( (: restore_object, SAVE_STARGATE :) ); } - //tc("stargate daemon loaded itself"); - //tc("Stargates: "+identify(Stargates),"red"); return; } int SetStargate(string address, string destination){ mapping tmp = ([]); Stargates[address] = tmp; - //tc("Stargates: "+identify(Stargates),"yellow"); if (address == "" || destination == "") return 1; if(sizeof(Stargates[address])) return 1; Stargates[address]["status"] = "idle"; --- 27,45 ---- *************** *** 55,139 **** } mapping GetStargate(string address){ - //tc("Stargates: "+identify(Stargates),"blue"); return copy(Stargates[address]); } int RemoveStargate(string address){ - //tc("Stargates: "+identify(Stargates),"red"); map_delete(Stargates, address); - //tc("Stargates: "+identify(Stargates),"cyan"); eventSave(); return 0; } mapping GetStargates(){ - //tc("Stargates: "+identify(Stargates),"blue"); return copy(Stargates); } int SetStatus(string address, string status){ - //tc("Setting status of "+status+" on "+address+"."); Stargates[address]["status"] = status; eventSave(); return 0; } string GetStatus(string address){ - //tc("Stargates: "+identify(Stargates),"red"); return Stargates[address]["status"]; } string GetDestination(string address){ string ret = Stargates[address]; - //tc("Stargates: "+identify(Stargates),"white"); if(sizeof(Stargates[address]) && sizeof(Stargates[address]["destination"])) return Stargates[address]["destination"]; else return ""; } string GetEndpoint(string address){ - //tc("Stargates: "+identify(Stargates),"blue"); return Stargates[address]["endpoint"]; } int eventConnect(string from, string to){ - //tc("Stargates: "+identify(Stargates),"red"); - //tc("STARGATE_D, from: "+from+", to: "+to,"green"); if (from == to) return 0; if (!Stargates[from] || !sizeof(Stargates[from])){ - //tc("failed to lookup status of outbound gate"); return 0; } if (!Stargates[to] || !sizeof(Stargates[to])){ - //tc("failed to lookup status of inbound gate"); return 0; } if (Stargates[from]["status"] == "idle" && Stargates[to]["status"] == "idle"){ - //tc("situation normal"); Stargates[from]["endpoint"] = to; Stargates[from]["status"] = "outbound"; Stargates[to]["endpoint"] = from; Stargates[to]["status"] = "inbound"; - //tc("Stargates: "+identify(Stargates)); eventSave(); return 1; } - //tc("exception"); return 0; } int eventDisconnect(string from){ string endpoint; if(!from || from == "") return 0; - //tc("Stargates: "+identify(Stargates),"blue"); if (!Stargates[from] || !sizeof(Stargates[from])) return 0; --- 50,118 ---- diff -c -r --new-file ds2.0r28/lib/daemon/verbs.c ds2.1/lib/daemon/verbs.c *** ds2.0r28/lib/daemon/verbs.c Wed Jul 5 00:00:58 2006 --- ds2.1/lib/daemon/verbs.c Sun Jul 9 19:04:26 2006 *************** *** 23,29 **** string verb; int i; - //tc("/daemon/verbs: eventReloadVerbs"); if( arrayp(val) ) verbs = filter(val, (: GetValidVerb($1) :)); else if( stringp(val) ) { if( strlen(val) > 2 && val[<2..] == ".c" ) val = val[0..<3]; --- 23,28 ---- *************** *** 51,56 **** --- 50,63 ---- break; } } + foreach(dir in get_dir(DIR_SECURE_VERBS + "/")) { + dir = DIR_SECURE_VERBS + "/" + dir; + if( file_size(dir) != -2 ) continue; + if( file_exists( dir + "/" + val + ".c") ) { + verbs = ({ dir + "/" + val }); + break; + } + } if( !verbs ) return; } } *************** *** 64,69 **** --- 71,81 ---- if( file_size(dir) == -2 ) verbs += map(get_dir(dir + "/*.c"), (: $(dir) + "/" + $1 :)); } + foreach(dir in get_dir(DIR_SECURE_VERBS + "/")) { + dir = DIR_SECURE_VERBS + "/" + dir; + if( file_size(dir) == -2 ) + verbs += map(get_dir(dir + "/*.c"), (: $(dir) + "/" + $1 :)); + } } i = 0; foreach(verb in verbs) { *************** *** 87,101 **** } string GetErrorMessage(string verb) { - //tc("/daemon/verbs: GetErrorMessage"); if( !Verbs[verb] ) return 0; else return (string)Verbs[verb]->GetErrorMessage(); } int GetValidVerb(string verb) { ! //tc("/daemon/verbs: GetValidVerb: verb: "+verb); ! return !strsrch(verb, DIR_VERBS); ! //key_arr = keys(GetVerbs()); } mapping GetVerbs() { return copy(Verbs); } --- 99,111 ---- } string GetErrorMessage(string verb) { if( !Verbs[verb] ) return 0; else return (string)Verbs[verb]->GetErrorMessage(); } int GetValidVerb(string verb) { ! if(!strsrch(verb, DIR_VERBS) || !strsrch(verb, DIR_VERBS)) return 1; ! else return 0; } mapping GetVerbs() { return copy(Verbs); } diff -c -r --new-file ds2.0r28/lib/doc/CREDITS ds2.1/lib/doc/CREDITS *** ds2.0r28/lib/doc/CREDITS Wed Jul 5 00:00:58 2006 --- ds2.1/lib/doc/CREDITS Wed Jul 12 20:17:44 2006 *************** *** 16,29 **** Brodbane, Ashon, Shadyman, Jonez, Cecil, Daelas. Appreciation of: Jayren, Kaylus, Arianrhod, Nosmo, Pyro, Abby, Balmung, ! Aten, Metiscus, Garfield, Javelin, Alensin, Daelas, ! Zeus, Dastuun, Detah, and Nulvect for their thoughtful comments and suggestions. ! Also: Xyzzy He Is Cool Cratylus @ Dead Souls ! 04 Jan 2006 ! updated May 2006 --- 16,33 ---- Brodbane, Ashon, Shadyman, Jonez, Cecil, Daelas. Appreciation of: Jayren, Kaylus, Arianrhod, Nosmo, Pyro, Abby, Balmung, ! Aten, Metiscus, Garfield, Javelin, Alensin, Daelas, Root, ! Kristus, Zeus, Dastuun, Detah, and Nulvect for their thoughtful comments and suggestions. ! * Thanks to Frostmud.com for letting me test on their box. ! * Thanks to Wolfpaw.com for letting me test on their box. ! ! ! Much gratitude to playtesters: Karri, Aten, Tacitus, Kaatil, Atomic, Daelas. + Also: Xyzzy He Is Cool Cratylus @ Dead Souls ! July 2006 diff -c -r --new-file ds2.0r28/lib/doc/README ds2.1/lib/doc/README *** ds2.0r28/lib/doc/README Wed Jul 5 00:00:58 2006 --- ds2.1/lib/doc/README Wed Dec 31 19:00:00 1969 *************** *** 1,38 **** - The Dead Souls Mud Library - Released 18 December 2005 - - UPGRADE NOTE: If you are upgrading from an older version of - Dead Souls, you have to copy your old /secure/cfg/mudos.cfg somewhere - safe first, and then restore it after you upgrade. Alternately - you may just edit the new mudos.cfg to say what the old one said. - - GENERAL FAQ: http://dead-souls.net/ds-faq.html - - ADMIN FAQ: http://dead-souls.net/ds-admin-faq.html - - ED TUTORIAL: http://dead-souls.net/editor.html - - NEW CREATION SYSTEM: http://dead-souls.net/example.html - - Please read /doc/SUPPORT for details on the supportability - of this software. Note that the Frontiers LPC Foundation does not take - the responsibility for getting you up and running, or fixing bugs. - This code is available to you as-is. - - Some years ago, Descartes @ Nightmare chose to retire his - Nightmare mudlib from distribution. Despite various disputes over - the years, this embargo has stood quite firm. Yet some folks felt - that it was a fine lib, and many were sorry to see it go. - - This mudlib is based on that old warhorse. It is entirely - free from those copyright problems, and can be shared. - - The latest files will be at - http://sourceforge.net/project/showfiles.php?group_id=148388 - - Please review /doc/old/README for more historical background. - - Have fun! - - - Cratylus @ Frontiers - 18 December 2005 --- 0 ---- diff -c -r --new-file ds2.0r28/lib/doc/RELEASE_NOTES ds2.1/lib/doc/RELEASE_NOTES *** ds2.0r28/lib/doc/RELEASE_NOTES Wed Jul 5 20:52:28 2006 --- ds2.1/lib/doc/RELEASE_NOTES Wed Jul 12 13:29:17 2006 *************** *** 1,3 **** --- 1,72 ---- + ---- 2.1 --- + - Fixed relative include problem in QCS. + - Fixed memcheck. + - Added vis and invis to list of customizable messages with the + message command. + - Fixed bug in ls command with the -b flag. + - Fixed index problems in chat.c with class channels. + - Fixed a problem when looking at dummy items (e.g. buttons and doors). + - Fixed color code problem in the arch room screen. + - Fixed problem in look verb that caused problems looking at + objects that inherit LIB_DUMMY. Tons of thanks to Daelas for this save. + - Unused debug lines removed, general cleanup of ugly + or unnecessary comments. + - Miscellaneous tightening up of domain objects such as lowering + the max health of newts, etc. + - Miscellaneous tidying up of lib logic, such as preventing the + fly command to commence flight whether already flying or not. + - KNOWN ISSUES: + o The blackjack table is officially on the "I'm not fixing it" list. + It is left as an example of game code, but you are warned that + it contains some subtle and not-so-subtle errors in its calculations. + o addr_server.exe win32 binary removed, due to bugginess. Since + it hasn't been working for a while, and it was only noticed by + a bugtester, it's going away until post-2.1 + o A peculiarity in grammar with multiple corpses can be seen. This is + partly due to a MudOS idiosyncracy which will be addressed in the future. + o In some cases combat events appear slighly out of order. This + will be addressed in a rewrite of combat objects in the future. + + ---- 2.0r29 --- + - Fixed finger daemon to not display ip addresses to players. + - The verb copy now handles relative paths more gracefully. + - LIB_TEACHER can now know all languages with SetAllLanguages(1) + - Standard chairs and beds can no longer be taken when someone is using them. + - Fixed church elevator buttons. + - Fixed problem with "look at pile". + - Fixed problem with examining objects on surfaces. + - It is now also possible to look at things carried by others, + e.g. "look at shirt on fighter". + - Remote finger no longer betrays invisible people. + - Added sefun: alpha_strip + - Room descriptions now indicate which piece of furniture a creature + is resting on, if applicable. + - Objects on surfaces than can be sat or lain in are not visible + or accessible if someone is lying or sitting on that surface. e.g., + you can't examine or get the glasses under your butt on the chair. + - SetMaxHealthPoints now works as one would expect. The kitchen rat + is invincible no more. + - Look at problem fixed. + - Bank tellers (Zoe) now do a better job of retaining the correct + surcharge on currency withdrawals. + - Added /secure/obj/glasses.c as a creation object. Since you wear them, + it's hard to lose them accidentally. Since few things are called "glasses", + they won't get in the way of creating objects. New creators will have them + automatically added to the table in their sample room. + - One may now have a smiley in front of a channel message without + it turning into an emote. + - Fixed a conflict in the parsing system. + - Verbified "force". + - Fixed vendor bugs: appraising at zero, confusion with similar items. + - Beefed up the answers_to sefun, to handle adjectives. + - Fixed a couple of bugs in the lead/follow system. + - Fixed null error when selling to non-vendors. + - Fixed a channel log bug that logged to one of two files for + some channels, depending on whether someone was logged on (!!). + - Fixed bug in meals that prevented empty bottles replacing + full ones. + - Fixed a bug in the MudOS parser that screwed up things with apostrophes. + ---- 2.0r28 --- - Fixed minor bug in body.c that interfered with collapsing. - Fixed message boards. diff -c -r --new-file ds2.0r28/lib/doc/help/creators/force ds2.1/lib/doc/help/creators/force *** ds2.0r28/lib/doc/help/creators/force Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/creators/force Tue Jul 11 18:36:11 2006 *************** *** 0 **** --- 1,4 ---- + Syntax: + + Allows you to command some living things to do + your bidding. diff -c -r --new-file ds2.0r28/lib/doc/help/creators/plan ds2.1/lib/doc/help/creators/plan *** ds2.0r28/lib/doc/help/creators/plan Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/creators/plan Fri Jul 7 19:41:41 2006 *************** *** 0 **** --- 1,7 ---- + Your plan file is the extra information others see when + they finger you, usually listing what your projects are + and what you've been up to. To modify your plan, + edit the .plan file in your home directory. For example, + + cd + ed .plan diff -c -r --new-file ds2.0r28/lib/doc/help/creators/profile ds2.1/lib/doc/help/creators/profile *** ds2.0r28/lib/doc/help/creators/profile Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/creators/profile Fri Jul 7 19:41:41 2006 *************** *** 0 **** --- 1,11 ---- + Your profile is a file that contains a list of + instructions. When you log in, the mud will force + you to execute those commands. To modify what those + "startup commands" are, edit the .profile file in + your home directory. For example: + + cd + ed .profile + + Note that the mud cannot force you to do + certain things as a security measure. diff -c -r --new-file ds2.0r28/lib/doc/help/players/credits ds2.1/lib/doc/help/players/credits *** ds2.0r28/lib/doc/help/players/credits Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/players/credits Tue Jul 11 18:36:11 2006 *************** *** 0 **** --- 1,37 ---- + I'd like to thank the following people for their help, witting or + otherwise, in making the new release of Dead Souls possible: + + Sine qua non: Descartes, the legion of MudOS developers, and + all those coders who toiled at Nightmare, and Lars Pensjö. + Marius for his kind permission to bundle MudOS. + + Direct conributors: Haderach and his clever code and inspiration, Duuk + and his willingness to let me poke through his lib and + filch code. Great thanks to Marajin for his direct and + substantial contribution to the Windows port. + Much gratitude to Saquivor, for whom a town street is + now named, for getting the Windows socket code working. + Thanks also to the following for code donation, + support, and/or contribution: Tim@TimMUD, Manchi, + Brodbane, Ashon, Shadyman, Jonez, Cecil, Daelas. + + Appreciation of: Jayren, Kaylus, Arianrhod, Nosmo, Pyro, Abby, Balmung, + Aten, Metiscus, Garfield, Javelin, Alensin, Daelas, Root, + Kristus, Zeus, Dastuun, Detah, and Nulvect for their + thoughtful comments and suggestions. + Thanks to Frostmud.com for letting me test on their box. + + Much gratitude to playtesters: Karri, Aten, Tacitus, Kaatil, Atomic. + + Also: Xyzzy He Is Cool + + The following people/organizations provided me with free products/services + they normally charge for that allowed me to complete this project: + - Wolfpaw http://wolfpaw.net/ + - Sun Microsystems http://www.sun.com + Note: This does not indicate an official corporate sponsorship of + any kind. It is simply charity that is well appreciated. + + Cratylus @ Dead Souls + July 2006 + diff -c -r --new-file ds2.0r28/lib/doc/help/players/handbook ds2.1/lib/doc/help/players/handbook *** ds2.0r28/lib/doc/help/players/handbook Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/players/handbook Wed Jul 12 13:29:17 2006 *************** *** 0 **** --- 1,838 ---- + chapter 1 "Introduction" + + If you are unfamiliar with LPC based muds in general or Dead Souls + mudlib in particular, you will find this handbook valuable in + orienting you around what you can do and how you can do it. + + Keep in mind that this handbook describes the features of a mud + running an unmodifed version of the lib. The mud you are on may + differ somewhat, though probably not extremely so. + + To advance a page in a chapter, just hit "return". + + Let's start with just navigating this book. Once you are done + reading this chapter, you can read the next chapter by typing: + + %^GREEN%^read chapter 2 in handbook%^RESET%^ + + Make sure you wait until you are done reading this chapter, + though. The reason you should wait is that you are now in "reading + mode", which means that anything you type and send to the mud + is actually a command to the editing system that is displaying this + text. + + To leave reading mode (or more accurately, pager, or ed mode) + you can hit "return" a bunch of times to complete the chapter, thus + automatically exiting the pager. Another way is to enter the + letter "q" (without the quotes) and then "return". That will also + make you stop reading. + + When you are not in reading mode, you can find out the chapter + titles by typing: + + %^GREEN%^read index in handbook%^RESET%^ + + You really should read the whole thing, but in case you don't, the + chapter titles will help as a reference to find the information you + need. + + Something to watch out for is that if you or your environment + contain another handbook, the mud may not know which one you are + trying to read. If you get a message like "Which of the two handbooks + would you like to read?", you can try one or more of the following: + + %^GREEN%^read index in first handbook%^RESET%^ + + %^GREEN%^read index in my handbook%^RESET%^ + + %^GREEN%^read index in my first player handbook%^RESET%^ + + + \n + chapter 2 "Command Syntax: Doing Stuff" + + + Section 1: Manipulating Objects + ---------- + + You've already noticed that Dead Souls, like most modern LP muds, + uses natural-like command syntax, like: + + %^GREEN%^read first handbook%^RESET%^ + + rather than: + + %^GREEN%^read handbook 1%^RESET%^ + + This is because Dead Souls uses a natural language parser. It isn't + perfect, of course. If you try to "put all apples from box in my bag after + opening them" you won't see much success, but this will work: + + %^GREEN%^open box%^RESET%^ + + %^GREEN%^open bag%^RESET%^ + + %^GREEN%^get apples from box%^RESET%^ + + %^GREEN%^put apples in bag%^RESET%^ + + The parser will understand "the first box" or "my second bag", + assuming those objects exist in your inventory or in your environment. + + If you want to know what is in the box, the command is: + + %^GREEN%^look in box%^RESET%^ + + The command "look at box" or "examine box" will usually *not* show + you the contents of that box. This is because normally, boxes are + opaque, and in the real world, just looking at a box is rarely enough + to see what it contains as well. + An exception to this rule are transparent containers (a glass + trophy case, perhaps) whose interior is always visible from the + outside. + + Sometimes looking at an object reveals its contents because of + the nature of the object. A table, for example, can have things on it, + and typing: + + %^GREEN%^look at table %^RESET%^ + + ...will usually let you know what is on it. It is also possible to + see what other players are carrying by just looking at them, + unless what they have is inside a container. + You'll want to remember that while you can "put apple in bag", + if you want to put that apple on a surface like a table, you'll + need to: + + %^GREEN%^put apple on table%^RESET%^ + + You can give things to people, and they will automatically + accept them. However, you may not "take" or "get" things from living + beings. It's theirs, and it's up to them if they want to share. + You can try to "steal sword from fighter" if you dare, but unless + you have trained a lot, this is unlikely to succeed. We'll talk + more about training and skills in a later chapter. + Naturally you may also drop things you no longer need, though + it's nicer to your fellow mudders (and the mud's memory) to put + them in recycling bins so the bits can be reused. + Some other common object manipulation commands are: + + close, donate, attack, eat, drink, listen, smell, search, + shoot, touch, turn. + + There are many others you may find useful, but these will be + the ones you use most often to handle simple objects. + + * A note about articles: + + Dead Souls understands both definite and indefinite articles. + This means that you can refer to a specific apple, like so: + + %^GREEN%^get the apple%^RESET%^ + + But you can also be unspecific. If there are a dozen + apples in a crate and you don't care which one you pick up: + + %^GREEN%^get an apple from the crate%^RESET%^ + + + Section 2: Navigation + --------- + + Moving around here is probably much like any other mud. You + can expect to move mostly in cardinal directions (like north and + northwest), but you may sometimes need to go up, down, or out. + Strictly speaking, the way to do this is: + + %^GREEN%^go south%^RESET%^ + + %^GREEN%^go out%^RESET%^ + + ...and so on, but this can get tedious after a while. Instead + of having to type in "go" plus the entire direction, the mud allows + you to enter shortcuts like "sw" for "go southwest" or "u" for + "go up". + + When you enter a room, very often you will see letters in + brackets above the room description, like this: [n, u, out] + These are the "obvious exits" of that room, and help you + quickly find your way around without having to go through each + description. But remember! Just because a room has obvious exits + doesn't mean those are the only exits. Sometimes a room must + be searched to discover an exit, or there may be an exit available + that just doesn't happen to be very obvious. + If a room is dark, obvious exits may not be visible at all. + + Aside from those ordinary means of travel, there are situations + that require more specific locomotion than just "go". These are + examples of the use of some other commands to get around: + + %^GREEN%^jump onto road%^RESET%^ + + %^GREEN%^enter window%^RESET%^ + + %^GREEN%^climb ladder%^RESET%^ + + %^GREEN%^crawl east%^RESET%^ (if you are lying down and can't get up) + + %^GREEN%^fly up%^RESET%^ + + %^GREEN%^follow thief%^RESET%^ + + %^GREEN%^evade hunter%^RESET%^ + + + Section 3: Armor + ------- + + Now that you can manipulate objects and move around, you'll want + to be able to defend yourself, should the need arise. The special + object categories of "weapons" and "armor" should help. + + Armor is an item that can be worn. That means that a pair of + blue jeans is considered armor, and a suit of chainmail is considered + armor as well. Basically, if you can wear it, it's "armor", because + whether it's a lot or a little, it protects you. + Assuming you are humanoid, you have the following limbs: + + head, neck, torso, right arm, right hand, left arm, + left hand, right leg, right foot, left leg, left foot. + + Properly coded armor must be worn on the corect limbs. Usually + a command like: + + %^GREEN%^wear chainmail%^RESET%^ + + or + + %^GREEN%^wear all%^RESET%^ + + ...will cause you to automatically wear armor where it makes + most sense. However, it is possible to find armor that, + for example, can be worn either on your neck or your torso, like + an amulet. If this is so, you'll need to specify where you want it. + There are various types of armor, like cloak, pants, glove, + etc. Many of them overlap. You can wear a shirt on your torso as + well as a cloak and combat armor, but you may not wear two of + the same type. If you have a robe and a cape that are both cloaks, + you'll have to decide which one is going on. + You will find that shoes and gloves are often for one of your + hands but not the other. Sometimes you will find shoes, or gloves + that don't care which appendage they occupy, but usually these + are simply incorrectly coded. + + If you are of some exotic or non-humanoid race, you may have + additional limbs to consider, and humanoid armor may not work for you. + + + Section 4: Weapons + --------- + + You may be surprised to learn that almost any manipulable object + can be wielded as a weapon, or thrown as a missile. You can wield + a can of Spam and try to kill an orc with it...and you may even succeed, + if you are strong and tough enough. Don't count on it, though, + and instead go for items that are made specifically with personal + security in mind. + + There are four main types of weapons: + + knife: knives, daggers + blade: like swords, and spears + blunt: like clubs, staves, and shillelaghs + projectile: things designed to be thrown, like darts or grenades + + Unless it is a special device or magical item, weapons + must be wielded in order to be of use in combat. Some weapons, + like staves or pikes, may require the use of both hands. If this + is the case, wearing a shield may not be possible at the same time. + Like armor, weapons differ in quality and effectiveness. A + "well-crafted sword" is probably a better choice than a "small + rusty knife", but then again, you never know. Maybe rusty knives + are exactly what some monster is most vulnerable to. + + Note also that, like armor, weapons wear down with use. + Examples of commands that involve weapons or fighting: + + %^GREEN%^wield sword%^RESET%^ + + %^GREEN%^wield hammer in left hand%^RESET%^ + + %^GREEN%^wield staff in left hand and right hand%^RESET%^ + + %^GREEN%^unwield dagger%^RESET%^ + + %^GREEN%^shoot gun at otik%^RESET%^ + + %^GREEN%^throw dart at beggar%^RESET%^ + + %^GREEN%^kill all%^RESET%^ (this makes an enemy of everyone in the room) + + %^GREEN%^ignore first orc%^RESET%^ (lets you concentrate on the other orcs) + + %^GREEN%^ignore all%^RESET%^ (don't fight anyone in the room, even if they are attacking you) + + %^GREEN%^target boss orc%^RESET%^ (this makes you ignore attacks from anyone else) + + %^GREEN%^wimpy 30%^RESET%^ (this makes you run away if your health points drop below 30%) + + + Section 5: Miscellaneous Things to to with Things + --------- + + %^GREEN%^turn on flashlight%^RESET%^ + + %^GREEN%^turn off flashlight%^RESET%^ + + %^GREEN%^strike match%^RESET%^ + + %^GREEN%^light torch with match%^RESET%^ + + %^GREEN%^extinguish match%^RESET%^ + + %^GREEN%^dig hole with shovel%^RESET%^ + + %^GREEN%^move bed%^RESET%^ + + %^GREEN%^search %^RESET%^ (by default searches the room) + + %^GREEN%^search rocks%^RESET%^ + + %^GREEN%^unlock east door with silver key%^RESET%^ + + %^GREEN%^bait pole with worm%^RESET%^ + + %^GREEN%^fish with pole%^RESET%^ + + %^GREEN%^stop fishing%^RESET%^ + + %^GREEN%^drop all%^RESET%^ + + %^GREEN%^donate 2 silver%^RESET%^ + + %^GREEN%^get all%^RESET%^ + + %^GREEN%^get all from corpse%^RESET%^ + + %^GREEN%^sell first right glove to otik%^RESET%^ + + %^GREEN%^sell all to otik%^RESET%^ + + %^GREEN%^buy sword from otik%^RESET%^ + + %^GREEN%^buy 8 from otik%^RESET%^ (get Otik to sell you item number 8) + + chapter 3 "Your Health and Abilities" + + In the previous chapter you learned the basics of getting + around and taking care of yourself. It's important also to care + *for* yourself, and this chapter describes the various aspects of + your body's state and what abilities you may have. + + + The command that tells you almost everything you need to + know is "stat". This diplays a whole lot of stuff, perhaps some of + it completely unfamiliar. Let's start at the top, using my output + as an example. + + First line: + ---------- + %^CYAN%^Cratylus aka Cratylus the unaccomplished, level 10 male human Explorer%^RESET%^ + + Here you see my short name, my name with title, my level, my + gender, my race, and my class. Let's go over each. + + * short name: What a person would use to address you. "look at cratylus", + for example. + + * name with title: This displays my title. Creators can have whatever title + they want. Players can only have the titles they earn. As a player, a + title is usually earned when you are promoted a level or complete a + quest, though it is not always so on every mud. + + * level: This is a measure of your overall experience, expertise, and + all-around game status. Being promoted a level means your skills, + health, and vital statistics increase. This often means you can handle + tougher monsters, for example, or tackle more challenging quests, learn + new spells, and so on. + + * gender: This has no effect on your status. It is a cosmetic feature + of your body that is only useful to you in the social context of your + fellow mud players. + + * race: In Dead Souls, race has nothing to do with your local genetic + makeup on planet Earth. In the mud, "race" refers to what one typically + would call "species" in real-life. An example of a race other than human + might be "orc" or "feline". Not all races are available for players. Once + you have chosen a race to play, it is in theory possible to change it, but + there is a nonzero chance you'll hose up your player file and lose your + character forever. Besides, it's up to your local admins whether race + changing is permitted on your mud. Different races have different + abilities. Elves see better in darkness, for example. Orcs are stronger + than some other humanoids, but dumber, too (which does affect gameplay). + + * class: This can be considered an occupational specialty. In the real + world you have plumbers, doctors, soldiers, etc. In the mud world, + we can have explorers, fighters, mages, and the like. Each class brings + its own unique advantages and disadvantages to your gameplay. A fighter + can really kick more butt in melee combat than a mage, but a mage + gets to cast powerful spells. Explorers are a middle of the road class + that gives you a bit of everything without specializing in anything. + + + + Next line: + ---------- + + %^CYAN%^Alive / Awake%^RESET%^ + + It is indeed possible for your virtual body to cease life functions. + When this happens your spirit speeds off to the land of the dead, + where you drift until you decide to "regenerate" and regain your + physical form. Except for some special magical items, anything you + were carrying when you died is with that dead body, so it's a good + idea to rush your new body back to the scene of the fatality and get + your stuff back before someone else grabs it. Death is not only + inconvenient, it also incurs major penalties on your statistics, so it + should be avoided. + It is also possible to sleep. If you are drunk and asleep, your + injuries will heal more quickly. It's magic, don't worry about the + logic behind it. + If you are attacked while sleeping, you will wake up. You can + force yourself awake, too, but it's a bit tedious. + + + Next line: + --------- + + %^CYAN%^Health: 350/350 Magic: 560/560 Stamina: 400/400 Carry: 1184/1300%^RESET%^ + + In each case, the number on the left of the slash indicates the + current level, and the number on the right indicates what the maximum is. + + health: When I am 100% healthy, I have a total of 350 hp. If my hp ever + reach 0 or less (!), I die. Poison and illness can cause hp's to + gradually decrease, and although with time my hp's will normally + return to 350 as I heal, poison and illness can slow down that healing + or even cause me to die. Injury in combat is the most common source + of hp loss, though spells, falls, and other adverse events can cause + you injury or death. + + magic: I cast magic missile! Spell casting takes a toll on your magical + abilities, and mp measure how much magic you've got left in you at + any given point. Like hp, mp gradually grow back to your max if you + avoid spellcasting for a while. + + stamina: Fighting is tough work, and swinging around swords while + getting bashed with hammers really takes a lot out of a guy. Therefore + keep an eye on this stat while you're fighting, because if it gets too + low you will collapse and be unable to do anything for a while. + + carry: Objects have mass, and your body is of limited size and strength. + My carry capacity is 0 when I carry nothing, and 1300 when I can + carry no more. Creators are allowed to exceed their bodies' carry + capacity, but players cannot. + + + Next line: + --------- + + %^CYAN%^Food: 0 Drink: 0 Alcohol: 0 Caffeine: 0 Poison: 0 %^RESET%^ + + These are pretty self-explanatory. Alcohol is good for healing, + bad for fighting. Food and drink also help speed healing. Poison + has the opposite effect. Caffeine can speed up your combat slightly, + but tends to prevent full rest. + You will not die from lack of food or lack of drink, but you + will do better with a body not starved for nutrients. + Your maximum load for any of these is not fixed, and varies + depending on many factors, such as level, endurance, etc. + + + Next line: + --------- + + %^CYAN%^Training Points: 0 Quest Points: 0 Experience Points: 50 %^RESET%^ + + Training points can be cashed in with special NPC's called + trainers, who can help you improve some skills. A trainer that + specializes in fighting might be able to raise your "blade attack" + skill, for example. you earn training points when you are + promoted a level. + + Quest points are awarded when you complete a quest. In + the default version of Dead Souls, you cannot advance past a + certain player level unless you earn some qp's. Read the sign + in the adventurers guild for more details on this. + + Experience points can be awarded for various reasons: completing + a quest, solving a puzzle, winning a contest. Most often you + will receive xp after killing an NPC. The amount of xp awarded + will depend on the level of the NPC. Like qp, xp are needed to + qualify for level advancement. + + + + Limb section: + ------------ + + Remember how wearing armor requires the right body parts? + Well here they are, and this is their health. You can issue the + "body" command for a quicker self-check. + Let's look at what the numbers mean with an example: + + %^CYAN%^left leg (2) 160/160%^RESET%^ + + Obviously the first item identifies the limb in question. + + The (2) is a kind of "importance score", indicating how critical + a body part is. If this number is (1), like the head, it means that + losing that limb causes immediate death. + + The number on the right side of the slash indicates the hit point + damage you may receive on that limb before it is severed. The number + on the left is how many of those hits you have left. + It doesn't mean my leg has 160 of my hitpoints. If that were true, + my hit points would add up to a heck of a lot more than 350. + This means that if I've lost, say, 200hp fighting a troll, and + 159hp of those hits were on my left leg, getting hit there again means I + lose my left leg. + I would then collapse and have to crawl away to seek medical attention. + Wearing armor on your limbs is a great way to minimize the danger of + this happening. + + + Skills section: + -------------- + + Let's review skills by examining one of mine: + + %^CYAN%^blade attack (1) 00% - 20/24%^RESET%^ + + This measures how likely I am to hit an opponent when I + use a blade, and how good a hit it was. The number (1) means + that this is a skill critical to my class. If an explorer can't + swing a sword, he oughta think about another line + of work. + The 00% means I have thus far earned no blade attack + experience toward achieving the next level of this skill. + The 20 is my current proficiency level. + The 24 is the maximum level I can reach at my current + player level and with my current stats. + + What's all this mean? Well, if I practice a lot of blade + attacking, that 00% will gradually climb up to 99, and one more + point causes me to go from a level 20 slicer of things to a + level 21 slicer of things. This increases my likelihood of + hitting my target in the future. + + Meaning, in short, practice a skill, and you'll get + better at it. + + Of course, if my blade attack level reaches 24, I can advance + my blade attack skills no further until my player level rises. + + + Stats section: + ------------- + + Remember these from Dungeons & Dragons? No? Well these vital + statistics measure your general giftedness in that feature of your + body. Let's look at one of mine: + + %^CYAN%^coordination (2) 42/42%^RESET%^ + + Coordination is one of those important stats for fighting and + such. The more coordinated you are, the more likely you are to hit your + target. The (2) indicates that this stat is important to my class, + but not critical. This influences its effect on my skills. + 42/42 means that my coordination is not currently impaired. If + someone cast a "stumble" spell on me, for example, this might look more + like 30/42, and if I were drunk, it would look very shabby indeed. + + Last section: + ------------ + + "Cratylus has amassed a net worth of 11 gold." means that when you + add up the money in my bank accounts and the money I'm carrying, + converted to gold, I have 11 gold to my name. It looks bad, but gold + is actually quite valuable in the default Dead Souls economy. + + "Money on hand: 79 dollars, 34 silver" means that this is the amount of + money I'm carrying. Don't forget that the amount of money you are carrying + affects your overall carry capacity. Gold is an especially heavy + currency. + + + Final notes: + ----------- + + "stat" is a great command to get thorough information about + yourself. It is, however, quite a screenful. Briefer reports can be + viewed with the following commands: + + %^GREEN%^body%^RESET%^ + %^GREEN%^skills%^RESET%^ + %^GREEN%^stats%^RESET%^ + %^GREEN%^score%^RESET%^ + %^GREEN%^status%^RESET%^ + + chapter 4 "Quests" + + Some muds don't have quests, and the fun people have is + through role-playing and social activities with other players. + + Other muds prefer to concentrate on killing lots and lots + of monsters, a lot, over and over. + + Quests give you a chance to problems-solve by performing some + series of actions that satisfies a pre-determined requirement. + + For example, Dead Souls' sample town contains a quest called + Orcslayer. Leo the archwizard lives in the basement of the old + abandoned church, and he has lost a powerful magic sword called + "Orcslayer". If you return it to him, he will reward you with + experience points, quest points, and a new title you can use. To + complete the quest, you need to defeat the warrior orcs, penetrate + deep into their lair, defeat the orc shaman, and take Orcslayer from + his corpse, then go to the church basement and give the sword to Leo. + + In this case, if you're a level 1 newbie, the orcs will massacre you + before you get anywhere near the shaman. So either team up with + friends to tackle the orcs together, or raise your level to the + point where you're tough enough to take them on. + + To raise your level, wander around in the newbie mansion, which + is south of the village church. + + There's lots of loot there you can sell at Otik's shop, and with the + cash you can then get some proper weaponry and armor. + + Silver is heavy, so don't try to carry all your money around + all the time. Request an account from Zoe the banker and keep your + money there until you really need it. + + There is a quest in the newbie mansion, and solving it by + finding the secret room will give you experience and quest points too. + (hint, there might be more than one secret room) + + Once you have enough experience and/or points, go to + Dirk in the adventurers hall and "%^GREEN%^ask dirk to advance%^RESET%^". + + Make sure you learn some spells from Herkimer, because if you + go up against a bunch of orcs in their lair, you'll want spells to + shield you from attacks, and spells to recover your strength after + combat. As a non-mage, your spell abilities will be limited at + lower levels, but as you gain levels you'll get better. Also, spells + will rarely work after you first learn them. Keep casting them, + even if you screw them up, so that your magic skills increase. + + Also, save your money. Drinking and sleeping help you heal, + but not fast enough. By the time those natural processes finish + and you're ready for combat again, the orcs may have gotten reinforcements. + So if you can afford it, buy healing slips and use them at Clepius' + healer's guild. His treatment is expensive, but you will heal much + more quickly. + + In the tragic event of the loss of a limb, Clepius can also magically + regenerate a new limb...but obviously at some great cost. + + There. I've just spoiled the Orcslayer quest for you. Normally, + all you'd know about a quest is a cryptic clue, like the one in the + scroll in the adventurers guild. Instead I've just spoiled the quest + for you by telling you all about it. They're more fun when you have to + figure them out on your own, like puzzles. + + Normally, spoiling quests like this is a bannable offense on + a mud, so if you solve a quest, keep it to yourself unless you know + the admins on your mud don't mind. + chapter 5 "Communication" + + There are many ways to communicate with other players. If + you're in the same room as your intended listener, you can just + use the "say" command, like this: + + %^GREEN%^say hi, crat%^RESET%^ + + If the message is secret, you can "whisper": + + %^GREEN%^whisper to cratylus are you idle?%^RESET%^ + + If you want to say something that everyone in the mud can + hear, use the "shout" command (at the cost of a lot of stamina): + + %^GREEN%^shout hey crat, wheredya go?%^RESET%^ + + Or, if it's an important secret and the target is not in the + same room as you, you can use the magical "tell" command: + + %^GREEN%^tell cratylus are you mad at me or something?%^RESET%^ + + + There are also special communication lines on the mud that are + class or role-specific. For example, if you type: + + %^GREEN%^newbie does anyone know what's up with cratylus?%^RESET%^ + + All people who are tuned into the newbie line will get + your message. To see what lines are available to you, type: + + %^GREEN%^lines%^RESET%^ + + To see who is listening to the newbie channel: + + %^GREEN%^list newbie%^RESET%^ + + To see who is listening to some other channel on some other mud: + + %^GREEN%^list otherchannel@othermud%^RESET%^ + + + To enable or disable a line, just type the name of it with no message. + + To see a brief history of the past few messages on a line (in + this case, the newbie line), type: + + %^GREEN%^hist newbie%^RESET%^ + + + Spamming lines is rude and probably dangerous to your character, so + be sure you comply with your mud's rules on lines. + + + Your mud may be on the intermud network. To find out, type the + command: + + %^GREEN%^mudlist%^RESET%^ + + If a list of muds comes up, you know your mud is probably + on the intermud3 communication network. Dead Souls by default restricts + players from access to intermud channels, but you can "tell" to + players on other muds, if you want. If you think your friend Xyzzy + is online on a mud on intermud3, you can issue this command: + + %^GREEN%^locate xyzzy%^RESET%^ + + If he's logged into a mud on i3, you will get something like: + + Xyzzy was just located on Frontiers. (idle 00:03:17) [status: inactive] + + You can then tell to him: + + %^GREEN%^tell xyzzy@frontiers dude, what's the deal with crat lately?%^RESET%^ + + + Sometimes a player or NPC does not understand your character's + native tongue. For example, if you are en elf, your native tongue is + not English, it is Edhellen. If someone talks to you in English, you + might see something like this: + + Xyzzy says in English, "leka mifahmam, potong-hwa." + + Since your character doesn't speak English, what you see is gibberish. + If you find a language teacher, your proficiency in the language they + teach you will allow you to understand more of the words you hear. + + Suppose that your elf character is now 100% fluent in English. + If you greet a human player named Xyzzy by typing: + + %^GREEN%^say hello there, xyzzy%^RESET%^ + + Xyzzy will probably see something like: + + Noobie says in Edhellen, "pericolo temak, forshtor." + + Instead, if you want to speak to a human, you'll have to type: + + %^GREEN%^speak in english hello there, xyzzy%^RESET%^ + + + To find out what languages you speak, type: + + %^GREEN%^language%^RESET%^ + + + chapter 6 "Note to New Creators" + + You should probably hang on to this book for reference. If + you lose it, pick up a copy at the adventurers hall. + + However, you need to start reading the Creators Manual. If + you don't have one on you, get the one in the chest in your workroom. + + If you're new to coding, start with chapter 31. It'll + get you started with the Quick Creation System, or QCS. + + Cratylus @ Frontiers + 04 Jan 2006 + chapter 7 "Hints and tips" + + * The "wimpy" command helps you avoid death due to inattention or + network lag. If you "wimpy 20", you will automatically try to escape + combat if your health goes below 20% of your maximum. + + * "target" and "ignore" are extremely useful when fighting more than + one enemy. You should always target the toughest npc first, and + always ignore any npc who can't get up because their foot or leg + is severed. + But if they collapse due to exhaustion, it's a good idea to keep + beating on them, otherwise they may get back up and get healthy sooner + than you expect. + + * By default, different races speak different languages. If someone + says something to you and you see no words in the same language as + the rest of the mud, it means they are speaking a language you do + not understand. + For example, if you are an elf, and you ask Radagast to teach + magic attack, you might get something like this: + + Radagast exclaims in English, "embleer con boltehe oota goota nehi auch" + + Even though in the real world you may speak English fluently, in + the mud world, you do not speak English fluently. As an elf, your + native tongue is Edhellen, and you may find human speech incomprehensible. + + If you find a trainer to teach you English, your skills in that + language will need time to improve. As you get better at a language, + you will see fewer gibberish words. + + If you are a "newbie", this does not apply to you. A newbie in the + default Dead Souls distribution is a player at level 4 or below. This + definition may be changed by your admin. + Newbies need all the help they can get just to survive, so they + are magically granted understanding of all languages, until they outgrow + their naivete. + + If you are a student of languages in the Real World, you may + recognize many of the "gibberish" words used by Dead Souls to represent + a foreign tongue. Your understanding of these words is not useful in + the context of the game, however, because they are not intended to + convey meaning other than "non-comprehensible words". + + + * Your ability to see is affected by various things: + + - A room's ambient light level + - Time of day + - Local light sources (flashlights, torches, etc) + - Your race's light sensitivity + - Magical effects + - Exposure to an excessive-light event + + It's important to remember that a room may be too dark for + you to see everything in it. You might be able to see the description + of a room with no problem, but it may be necessary for you to + light a torch in order to see the treasure chest there. + + In the same way that darkness can impair vision, brightness + can do the same. For elves, an outdoor area in bright sunlight that + contains additional light sources can be just as hostile to + vision as a dark cave with no torch would be for a human. + Regardless of race, a sufficiently adverse event, such as + a bright flash or special spell, can render you temporarily blind. + + As with languages, newbies have some exemption to light-level + limitations. + + * Mages can wield knives but are pretty much helpless with any other + vind of edged weapon. diff -c -r --new-file ds2.0r28/lib/doc/help/players/password ds2.1/lib/doc/help/players/password *** ds2.0r28/lib/doc/help/players/password Wed Dec 31 19:00:00 1969 --- ds2.1/lib/doc/help/players/password Tue Jul 11 18:36:11 2006 *************** *** 0 **** --- 1,5 ---- + Users can change their own passwords with the command: passwd + + Admins can change someone else's password with: resetpasswd + + diff -c -r --new-file ds2.0r28/lib/domains/Ylsrim/room/bazaar.c ds2.1/lib/domains/Ylsrim/room/bazaar.c *** ds2.0r28/lib/domains/Ylsrim/room/bazaar.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/Ylsrim/room/bazaar.c Tue Jul 11 18:36:11 2006 *************** *** 8,13 **** --- 8,18 ---- inherit LIB_ROOM; + int ReadSign() { + this_player()->more("/domains/town/txt/warning_sign.txt"); + return 1; + } + static void create() { object ob; // this will be used to create dummy items *************** *** 31,52 **** "bargain, or even in some cases, in search of trouble. " "Kaliid Road crosses Ylsrim from the west to the east just " "north of you, with an armory and a weapon shop straddling " ! "both sides of the bazaar. The bazaar stretches on south."); // this is the description people see at night SetNightLong("Though most areas of Ylsrim are peaceful right now, " "the central bazaar is still filled with people doing " "business, even though most of the shops are closed. " "Kaliid Road is just north of here, and a closed armory " "and weapons shop sit on both sides of the bazaar. " ! "The bazaar stretches south."); // set up dummy items... the first few are simple AddItem(({ "villager", "traveller" }), "Both villagers and travellers are out looking for good " "deals."); AddItem(({ "road" }), "It leads through Ylsrim from the Great Desert " "in the west towards more fertile land east.", ({ "kaliid" })); // people need to enter the armory, so we need to do something special // first create an armory dummy item ob = new(LIB_DUMMY, ({ "armory", "shop" }), function(string str) { if( query_night() ) { --- 36,61 ---- "bargain, or even in some cases, in search of trouble. " "Kaliid Road crosses Ylsrim from the west to the east just " "north of you, with an armory and a weapon shop straddling " ! "both sides of the bazaar. The bazaar stretches on south." ! "\n%^RED%^There is a sign here you can read.%^RESET%^"); // this is the description people see at night SetNightLong("Though most areas of Ylsrim are peaceful right now, " "the central bazaar is still filled with people doing " "business, even though most of the shops are closed. " "Kaliid Road is just north of here, and a closed armory " "and weapons shop sit on both sides of the bazaar. " ! "The bazaar stretches south." ! "\n%^RED%^There is a sign here you can read.%^RESET%^"); // set up dummy items... the first few are simple AddItem(({ "villager", "traveller" }), "Both villagers and travellers are out looking for good " "deals."); + AddItem(({ "sign"}), "A sign. To read it, 'read sign'."); AddItem(({ "road" }), "It leads through Ylsrim from the Great Desert " "in the west towards more fertile land east.", ({ "kaliid" })); // people need to enter the armory, so we need to do something special // first create an armory dummy item + SetRead("sign", (: ReadSign :) ); ob = new(LIB_DUMMY, ({ "armory", "shop" }), function(string str) { if( query_night() ) { diff -c -r --new-file ds2.0r28/lib/domains/campus/adm/access.c ds2.1/lib/domains/campus/adm/access.c *** ds2.0r28/lib/domains/campus/adm/access.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/adm/access.c Tue Jul 11 18:36:11 2006 *************** *** 1,5 **** /* /domains/campus/adm/access.c ! * From the Nightmare V Object Library * the access object for the campus domain * created by Descartes of Borg 960302 */ --- 1,5 ---- /* /domains/campus/adm/access.c ! * From the Dead Souls Object Library * the access object for the campus domain * created by Descartes of Borg 960302 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/adm/cache.c ds2.1/lib/domains/campus/adm/cache.c *** ds2.0r28/lib/domains/campus/adm/cache.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/adm/cache.c Tue Jul 11 18:36:11 2006 *************** *** 1,5 **** /* /domains/campus/adm/cache.c ! * from the Nightmare V Object Library * room where hidden objects are stored * created by Descartes of Borg 960302 */ --- 1,5 ---- /* /domains/campus/adm/cache.c ! * from the Dead Souls Object Library * room where hidden objects are stored * created by Descartes of Borg 960302 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/adm/pod.c ds2.1/lib/domains/campus/adm/pod.c *** ds2.0r28/lib/domains/campus/adm/pod.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/adm/pod.c Tue Jul 11 18:36:11 2006 *************** *** 1,5 **** /* /domains/campus/adm/void.c ! * from the Nightmare V Object Library * place where people go when their environments accidentally are * destructed * created by Descartes of Borg 960302 --- 1,5 ---- /* /domains/campus/adm/void.c ! * from the Dead Souls Object Library * place where people go when their environments accidentally are * destructed * created by Descartes of Borg 960302 diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/foodsmock.c ds2.1/lib/domains/campus/armor/foodsmock.c *** ds2.0r28/lib/domains/campus/armor/foodsmock.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/foodsmock.c Sun Jul 9 22:06:36 2006 *************** *** 6,12 **** static void create(){ armor::create(); SetKeyName("uniform"); ! SetAdjectives( ({"food workers"}) ); SetId( ({"overalls", "smock"}) ); SetShort("a food worker's uniform"); SetLong("This is a set of overalls used by food workers to keep their bodies and the food at a healthy distance."); --- 6,12 ---- static void create(){ armor::create(); SetKeyName("uniform"); ! SetAdjectives( ({"food workers","food worker's"}) ); SetId( ({"overalls", "smock"}) ); SetShort("a food worker's uniform"); SetLong("This is a set of overalls used by food workers to keep their bodies and the food at a healthy distance."); diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/glove.c ds2.1/lib/domains/campus/armor/glove.c *** ds2.0r28/lib/domains/campus/armor/glove.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/glove.c Tue Jul 11 18:36:12 2006 *************** *** 1,5 **** /* /domains/Examples/armor/glove.c ! * from the Nightmare IV LPC Library * an example glove * created by Descartes of Borg 950408 */ --- 1,5 ---- /* /domains/Examples/armor/glove.c ! * from the Dead Souls LPC Library * an example glove * created by Descartes of Borg 950408 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/shield.c ds2.1/lib/domains/campus/armor/shield.c *** ds2.0r28/lib/domains/campus/armor/shield.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/shield.c Tue Jul 11 18:36:12 2006 *************** *** 1,7 **** /* /domains/Examples/armor/shield.c ! * from the Nightmare IV LPC Library * an example shield ! * created by Lassondra@Nightmare */ #include --- 1,7 ---- /* /domains/Examples/armor/shield.c ! * from the Dead Souls LPC Library * an example shield ! * created by Lassondra@Dead Souls */ #include diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/wglove_l.c ds2.1/lib/domains/campus/armor/wglove_l.c *** ds2.0r28/lib/domains/campus/armor/wglove_l.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/wglove_l.c Tue Jul 11 18:36:12 2006 *************** *** 1,5 **** /* /domains/Examples/armor/glove.c ! * from the Nightmare IV LPC Library * an example glove * created by Descartes of Borg 950408 */ --- 1,5 ---- /* /domains/Examples/armor/glove.c ! * from the Dead Souls LPC Library * an example glove * created by Descartes of Borg 950408 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/wglove_r.c ds2.1/lib/domains/campus/armor/wglove_r.c *** ds2.0r28/lib/domains/campus/armor/wglove_r.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/wglove_r.c Tue Jul 11 18:36:12 2006 *************** *** 1,5 **** /* /domains/Examples/armor/glove.c ! * from the Nightmare IV LPC Library * an example glove * created by Descartes of Borg 950408 */ --- 1,5 ---- /* /domains/Examples/armor/glove.c ! * from the Dead Souls LPC Library * an example glove * created by Descartes of Borg 950408 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/armor/wizard_hat.c ds2.1/lib/domains/campus/armor/wizard_hat.c *** ds2.0r28/lib/domains/campus/armor/wizard_hat.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/armor/wizard_hat.c Sun Jul 9 22:06:36 2006 *************** *** 2,21 **** #include #include inherit LIB_ARMOR; static void create(){ armor::create(); ! SetKeyName("wizard hat"); ! SetId(({"hat","headgear"})); ! SetAdjectives(({"wizard","wizard's"})); SetShort("a wizard's hat"); SetLong("This is a large, floppy hat with a wide brim all "+ "around it, and a conical center. It is dark blue in color, "+ "and is decorated with pictures of yellow moons and stars."); SetMass(50); ! SetDollarCost(500); SetDamagePoints(100); SetArmorType(A_HELMET); SetProtection(BLUNT, 20); SetProtection(BLADE, 20); SetProtection(KNIFE, 20); } --- 2,28 ---- #include #include inherit LIB_ARMOR; + static void create(){ armor::create(); ! SetKeyName("wizard's hat"); ! SetAdjectives( ({"wizard","wizards", "floppy", "large", "conical", "blue"}) ); ! SetId( ({"hat"}) ); SetShort("a wizard's hat"); SetLong("This is a large, floppy hat with a wide brim all "+ "around it, and a conical center. It is dark blue in color, "+ "and is decorated with pictures of yellow moons and stars."); + SetProperties(([ + "beta" : 2, + ])); SetMass(50); ! SetBaseCost("silver",500); SetDamagePoints(100); SetArmorType(A_HELMET); SetProtection(BLUNT, 20); SetProtection(BLADE, 20); SetProtection(KNIFE, 20); } + void init(){ + ::init(); + } diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/blue_door.c ds2.1/lib/domains/campus/doors/blue_door.c *** ds2.0r28/lib/domains/campus/doors/blue_door.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/blue_door.c Tue Jul 11 18:36:12 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/blue_door2.c ds2.1/lib/domains/campus/doors/blue_door2.c *** ds2.0r28/lib/domains/campus/doors/blue_door2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/blue_door2.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/blue_door3.c ds2.1/lib/domains/campus/doors/blue_door3.c *** ds2.0r28/lib/domains/campus/doors/blue_door3.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/blue_door3.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/grate.c ds2.1/lib/domains/campus/doors/grate.c *** ds2.0r28/lib/domains/campus/doors/grate.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/grate.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/green_door.c ds2.1/lib/domains/campus/doors/green_door.c *** ds2.0r28/lib/domains/campus/doors/green_door.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/green_door.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/green_door2.c ds2.1/lib/domains/campus/doors/green_door2.c *** ds2.0r28/lib/domains/campus/doors/green_door2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/green_door2.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/green_door3.c ds2.1/lib/domains/campus/doors/green_door3.c *** ds2.0r28/lib/domains/campus/doors/green_door3.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/green_door3.c Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/plain_door.test ds2.1/lib/domains/campus/doors/plain_door.test *** ds2.0r28/lib/domains/campus/doors/plain_door.test Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/plain_door.test Tue Jul 11 18:36:13 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/red_door.c ds2.1/lib/domains/campus/doors/red_door.c *** ds2.0r28/lib/domains/campus/doors/red_door.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/red_door.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/red_door2.c ds2.1/lib/domains/campus/doors/red_door2.c *** ds2.0r28/lib/domains/campus/doors/red_door2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/red_door2.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/red_door3.c ds2.1/lib/domains/campus/doors/red_door3.c *** ds2.0r28/lib/domains/campus/doors/red_door3.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/red_door3.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/steel_door.c ds2.1/lib/domains/campus/doors/steel_door.c *** ds2.0r28/lib/domains/campus/doors/steel_door.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/steel_door.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/steel_door2.c ds2.1/lib/domains/campus/doors/steel_door2.c *** ds2.0r28/lib/domains/campus/doors/steel_door2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/steel_door2.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/top_stairs.c ds2.1/lib/domains/campus/doors/top_stairs.c *** ds2.0r28/lib/domains/campus/doors/top_stairs.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/top_stairs.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/doors/u_door.c ds2.1/lib/domains/campus/doors/u_door.c *** ds2.0r28/lib/domains/campus/doors/u_door.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/doors/u_door.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Examples/etc/door.c ! * from the Nightmare IV LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ --- 1,5 ---- /* /domains/Examples/etc/door.c ! * from the Dead Souls LPC Library * an example door object connecting doorroom1.c and doorroom2.c * created by Descartes of Borg 950411 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/ale.c ds2.1/lib/domains/campus/meals/ale.c *** ds2.0r28/lib/domains/campus/meals/ale.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/ale.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/ale.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/etc/ale.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/bourbon.c ds2.1/lib/domains/campus/meals/bourbon.c *** ds2.0r28/lib/domains/campus/meals/bourbon.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/bourbon.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/ale.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/etc/ale.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/gator.c ds2.1/lib/domains/campus/meals/gator.c *** ds2.0r28/lib/domains/campus/meals/gator.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/gator.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/ale.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/etc/ale.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/ham_sand.c ds2.1/lib/domains/campus/meals/ham_sand.c *** ds2.0r28/lib/domains/campus/meals/ham_sand.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/ham_sand.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/ale.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/etc/ale.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/milk.c ds2.1/lib/domains/campus/meals/milk.c *** ds2.0r28/lib/domains/campus/meals/milk.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/milk.c Wed Jul 12 20:17:44 2006 *************** *** 3,15 **** inherit LIB_MEAL; static void create() { meal::create(); SetKeyName("milk"); SetId("milk"); SetAdjectives(({"milk1","milk2"})); SetShort("a carton of milk"); - SetLong("This is a little carton of grade-A milk."); SetMass(10); SetBaseCost("silver", 1); SetMealType(MEAL_DRINK); --- 3,31 ---- inherit LIB_MEAL; + int SetDesc(){ + string picture; + int which = random(6); + switch(which){ + case 0 : picture = "Ashon";break; + case 1 : picture = "Brodbane";break; + case 2 : picture = "Jonez";break; + case 3 : picture = "Namir";break; + case 4 : picture = "Javelin";break; + case 5 : picture = "Abby";break; + } + SetLong("This is a little carton of grade-A milk. The rear has a "+ + "picture of "+picture+", and reads \"Have you seen me?\""); + return 1; + } + static void create() { meal::create(); + SetDesc(); SetKeyName("milk"); SetId("milk"); SetAdjectives(({"milk1","milk2"})); SetShort("a carton of milk"); SetMass(10); SetBaseCost("silver", 1); SetMealType(MEAL_DRINK); diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/red_wine.c ds2.1/lib/domains/campus/meals/red_wine.c *** ds2.0r28/lib/domains/campus/meals/red_wine.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/red_wine.c Wed Dec 31 19:00:00 1969 *************** *** 1,22 **** - #include - #include - - inherit LIB_MEAL; - - static void create() { - meal::create(); - SetKeyName("red wine"); - SetId( ({"wine"}) ); - SetShort("a bottle of milk"); - SetLong("A fairly small bottle of milk from some unknown creature. It has " - "a greyish tint to it. It would take several of these bottles to quench " - "that deep down bodily thirst."); - SetMass(3); - SetMealType(MEAL_DRINK); - SetStrength(10); - SetMealMessages("You gulp down the bottle of milk.", "$N gulps down a small " - "bottle of milk."); - SetEmptyName("bottle"); - SetEmptyShort("an empty bottle"); - SetEmptyLong("A small bottle which used to contain a portion of milk."); - } --- 0 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/wimp_ale.c ds2.1/lib/domains/campus/meals/wimp_ale.c *** ds2.0r28/lib/domains/campus/meals/wimp_ale.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/wimp_ale.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/ale.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/etc/ale.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/meals/wing.c ds2.1/lib/domains/campus/meals/wing.c *** ds2.0r28/lib/domains/campus/meals/wing.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/meals/wing.c Wed Dec 31 19:00:00 1969 *************** *** 1,29 **** - /* /domains/Praxis/etc/ale.c - * from Nightmare LPMud - * created by Descartes of Borg 950603 - */ - - #include - #include - - inherit LIB_MEAL; - - static void create() { - meal::create(); - SetKeyName("ale"); - SetId( ({ "bottle", "ale", "praxis ale" }) ); - SetShort("a bottle of ale"); - SetLong("A nice bottle of Lars' famous Praxis Ale."); - SetMass(60); - SetMealType(MEAL_FOOD); - SetMealMessages("You eat a chicken wing. Mmm!", - "$N enjoys a chicken wing. It looks delicious."); - } - void eventEat(){ - this_object()->goopy(); - return; - } - int goopy(){ - tell_room(environment(this_player()),"Gppy!\n"); - return 1; - } --- 0 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/npc/yulia.c ds2.1/lib/domains/campus/npc/yulia.c *** ds2.0r28/lib/domains/campus/npc/yulia.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/npc/yulia.c Tue Jul 11 18:36:14 2006 *************** *** 1,5 **** /* /domains/Praxis/npc/otik.c ! * from Nightmare LPMud * created by Descartes of Borg 950603 */ --- 1,5 ---- /* /domains/Praxis/npc/otik.c ! * from Dead Souls * created by Descartes of Borg 950603 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/357case.c ds2.1/lib/domains/campus/obj/357case.c *** ds2.0r28/lib/domains/campus/obj/357case.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/357case.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/abox.c ds2.1/lib/domains/campus/obj/abox.c *** ds2.0r28/lib/domains/campus/obj/abox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/abox.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/bag.c ds2.1/lib/domains/campus/obj/bag.c *** ds2.0r28/lib/domains/campus/obj/bag.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/bag.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/bench.c ds2.1/lib/domains/campus/obj/bench.c *** ds2.0r28/lib/domains/campus/obj/bench.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/bench.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/campus/etc/stool.c ! * From the Nightmare V Object Library * An example of a chair object * Created by Descartes of Borg 961221 */ --- 1,5 ---- /* /domains/campus/etc/stool.c ! * From the Dead Souls Object Library * An example of a chair object * Created by Descartes of Borg 961221 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/bluebox.c ds2.1/lib/domains/campus/obj/bluebox.c *** ds2.0r28/lib/domains/campus/obj/bluebox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/bluebox.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/box.c ds2.1/lib/domains/campus/obj/box.c *** ds2.0r28/lib/domains/campus/obj/box.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/box.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/greenbox.c ds2.1/lib/domains/campus/obj/greenbox.c *** ds2.0r28/lib/domains/campus/obj/greenbox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/greenbox.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/key.c ds2.1/lib/domains/campus/obj/key.c *** ds2.0r28/lib/domains/campus/obj/key.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/key.c Tue Jul 11 18:36:15 2006 *************** *** 1,5 **** /* /domains/Midian/etc/key.c ! * from the Nightmare Object Library * created by Descartes of Borg 960512 */ --- 1,5 ---- /* /domains/Midian/etc/key.c ! * from the Dead Souls Object Library * created by Descartes of Borg 960512 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/key1.c ds2.1/lib/domains/campus/obj/key1.c *** ds2.0r28/lib/domains/campus/obj/key1.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/key1.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/Midian/etc/key.c ! * from the Nightmare Object Library * created by Descartes of Borg 960512 */ --- 1,5 ---- /* /domains/Midian/etc/key.c ! * from the Dead Souls Object Library * created by Descartes of Borg 960512 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/locker.c ds2.1/lib/domains/campus/obj/locker.c *** ds2.0r28/lib/domains/campus/obj/locker.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/locker.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/magbox.c ds2.1/lib/domains/campus/obj/magbox.c *** ds2.0r28/lib/domains/campus/obj/magbox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/magbox.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/match.c ds2.1/lib/domains/campus/obj/match.c *** ds2.0r28/lib/domains/campus/obj/match.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/match.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/torch.c ! * from Nightmare LPMud * created by Descartes of Borg 951023 */ --- 1,5 ---- /* /domains/Praxis/etc/torch.c ! * from Dead Souls * created by Descartes of Borg 951023 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/medbag.c ds2.1/lib/domains/campus/obj/medbag.c *** ds2.0r28/lib/domains/campus/obj/medbag.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/medbag.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/ped_button.c ds2.1/lib/domains/campus/obj/ped_button.c *** ds2.0r28/lib/domains/campus/obj/ped_button.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/ped_button.c Tue Jul 11 18:36:16 2006 *************** *** 1,5 **** /* /domains/campus/etc/chuch_button.c ! * From the Nightmare V Object Library * An example dummy item that allows pressing * Created by Descartes of Borg 961222 */ --- 1,5 ---- /* /domains/campus/etc/chuch_button.c ! * From the Dead Souls Object Library * An example dummy item that allows pressing * Created by Descartes of Borg 961222 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/pedestal.c ds2.1/lib/domains/campus/obj/pedestal.c *** ds2.0r28/lib/domains/campus/obj/pedestal.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/pedestal.c Tue Jul 11 18:36:17 2006 *************** *** 37,52 **** objects+=({ find_object("/domains/campus/room/green_room2") }); objects+=({ find_object("/domains/campus/room/blue_room2") }); - //foreach(object thing in objects){ - // if(thing) { - // contents = deep_inventory(thing); - // foreach(object dummy in contents){ - //if(dummy) dummy->eventDestruct(); - // } - //thing->eventDestruct(); - //} - //} - objects = ({ find_object("/domains/campus/doors/red_door") }); objects +=({ find_object("/domains/campus/doors/green_door") }); objects +=({ find_object("/domains/campus/doors/blue_door") }); --- 37,42 ---- *************** *** 68,74 **** int PushTheButton(){ int genrand; gagnant = ""; - //genrand = unguarded( (: to_int(read_file("/etc/random")) :) ); genrand = random(256); send_messages("press", "$agent_name $agent_verb the button.", this_player(), 0, environment(this_player())); --- 58,63 ---- *************** *** 85,91 **** if(genrand == 0) gagnant = "red door"; if(genrand == 1) gagnant = "green door"; if(genrand == 2) gagnant = "blue door"; - //tell_object(this_player(),"gagnant: "+gagnant); tell_room(environment(),"A voice from the pedestal says: " "PRECOG: gagnant is: "+gagnant+".\n" "PRECOG: genrand modulus is: "+genrand); --- 74,79 ---- *************** *** 124,130 **** tell_room(environment(),"A voice from the pedestal says: " "You choose the "+str+"."); this_object()->MontyMagic(str); - //return 1; } else { tell_room(environment(),"A voice from the pedestal says: " --- 112,117 ---- *************** *** 142,148 **** if(str != "red door") choices += ({ "red door" }); if(str != "green door") choices += ({ "green door" }); if(str != "blue door") choices += ({ "blue door" }); - //genrand=to_int(read_file("/etc/random")); genrand = random(256); if( choices[1] == gagnant) which = 0; else if( choices[0] == gagnant) which = 1; --- 129,134 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/pedestal2.c ds2.1/lib/domains/campus/obj/pedestal2.c *** ds2.0r28/lib/domains/campus/obj/pedestal2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/pedestal2.c Tue Jul 11 18:36:17 2006 *************** *** 35,50 **** objects+=({ find_object("/domains/campus/room/green_room2") }); objects+=({ find_object("/domains/campus/room/blue_room2") }); - //foreach(object thing in objects){ - // if(thing) { - // contents = deep_inventory(thing); - // foreach(object dummy in contents){ - //if(dummy) dummy->eventDestruct(); - // } - //thing->eventDestruct(); - //} - //} - objects = ({ find_object("/domains/campus/doors/red_door2") }); objects +=({ find_object("/domains/campus/doors/green_door2") }); objects +=({ find_object("/domains/campus/doors/blue_door2") }); --- 35,40 ---- *************** *** 63,69 **** int PushTheButton(){ int genrand; gagnant = ""; - //genrand = unguarded( (: to_int(read_file("/etc/random")) :) ); genrand = random(256); send_messages("press", "$agent_name $agent_verb the button.", this_player(), 0, environment(this_player())); --- 53,58 ---- *************** *** 80,86 **** if(genrand == 0) gagnant = "red door"; if(genrand == 1) gagnant = "green door"; if(genrand == 2) gagnant = "blue door"; - //tell_object(this_player(),"gagnant: "+gagnant); tell_room(environment(),"A voice from the pedestal says: " "PRECOG: gagnant is: "+gagnant+".\n" "PRECOG: genrand modulus is: "+genrand); --- 69,74 ---- *************** *** 118,124 **** tell_room(environment(),"A voice from the pedestal says: " "You choose the "+str+"."); this_object()->MontyMagic(str); - //return 1; } else { tell_room(environment(),"A voice from the pedestal says: " --- 106,111 ---- *************** *** 135,141 **** if(str != "red door") choices += ({ "red door" }); if(str != "green door") choices += ({ "green door" }); if(str != "blue door") choices += ({ "blue door" }); - //genrand=to_int(read_file("/etc/random")); genrand = random(256); if( choices[1] == gagnant) which = 0; else if( choices[0] == gagnant) which = 1; --- 122,127 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/pedestal3.c ds2.1/lib/domains/campus/obj/pedestal3.c *** ds2.0r28/lib/domains/campus/obj/pedestal3.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/pedestal3.c Tue Jul 11 18:36:17 2006 *************** *** 37,52 **** objects+=({ find_object("/domains/campus/room/green_room2") }); objects+=({ find_object("/domains/campus/room/blue_room2") }); - //foreach(object thing in objects){ - // if(thing) { - // contents = deep_inventory(thing); - // foreach(object dummy in contents){ - //if(dummy) dummy->eventDestruct(); - // } - //thing->eventDestruct(); - //} - //} - objects = ({ find_object("/domains/campus/doors/red_door3") }); objects +=({ find_object("/domains/campus/doors/green_door3") }); objects +=({ find_object("/domains/campus/doors/blue_door3") }); --- 37,42 ---- *************** *** 68,74 **** int PushTheButton(){ int genrand; gagnant = ""; - //genrand = unguarded( (: to_int(read_file("/etc/random")) :) ); genrand = random(256); send_messages("press", "$agent_name $agent_verb the button.", this_player(), 0, environment(this_player())); --- 58,63 ---- *************** *** 79,94 **** "try again."); return 1; } - //tell_room(environment(),"A voice from the pedestal says: " - //"PRECOG: genrand is: "+genrand); genrand = genrand % 3; if(genrand == 0) gagnant = "red door"; if(genrand == 1) gagnant = "green door"; if(genrand == 2) gagnant = "blue door"; - //tell_object(this_player(),"gagnant: "+gagnant); - //tell_room(environment(),"A voice from the pedestal says: " - // "PRECOG: gagnant is: "+gagnant+".\n" - // "PRECOG: genrand modulus is: "+genrand); remove_action("doStay","stay"); remove_action("doSwitch","switch"); add_action("choose","choose"); --- 68,77 ---- *************** *** 124,130 **** tell_room(environment(),"A voice from the pedestal says: " "You choose the "+str+"."); this_object()->MontyMagic(str); - //return 1; } else { tell_room(environment(),"A voice from the pedestal says: " --- 107,112 ---- *************** *** 142,148 **** if(str != "red door") choices += ({ "red door" }); if(str != "green door") choices += ({ "green door" }); if(str != "blue door") choices += ({ "blue door" }); - //genrand=to_int(read_file("/etc/random")); genrand = random(256); if( choices[1] == gagnant) which = 0; else if( choices[0] == gagnant) which = 1; --- 124,129 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/podium.c ds2.1/lib/domains/campus/obj/podium.c *** ds2.0r28/lib/domains/campus/obj/podium.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/podium.c Wed Jul 12 01:56:11 2006 *************** *** 91,96 **** --- 91,97 ---- int eventSay(string args) { string foo; + args = replace_string(args,"\n",""); if (mc == this_player()->GetKeyName()) { this_player()->eventPrint("You say %^CYAN%^\"" + capitalize(args) + "\""); say(this_player()->GetName() + " says %^CYAN%^\"" + capitalize(args) + "\""); *************** *** 105,114 **** write ("You mutter to yourself.\n") ; return 1 ; } ! foo = wrap((string)this_player()->GetCapName() + ! " says: %^CYAN%^\"" + capitalize(args)) ; say (foo) ; ! write(wrap("You say: %^CYAN%^\"" + capitalize(args))); return 1; } --- 106,115 ---- write ("You mutter to yourself.\n") ; return 1 ; } ! foo = (string)this_player()->GetCapName() + ! " says: %^CYAN%^\"" + capitalize(args)+"\""; say (foo) ; ! write("You say: %^CYAN%^\"" + capitalize(args)+"\""); return 1; } diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/redbox.c ds2.1/lib/domains/campus/obj/redbox.c *** ds2.0r28/lib/domains/campus/obj/redbox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/redbox.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/sofa.c ds2.1/lib/domains/campus/obj/sofa.c *** ds2.0r28/lib/domains/campus/obj/sofa.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/sofa.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/campus/etc/stool.c ! * From the Nightmare V Object Library * An example of a chair object * Created by Descartes of Borg 961221 */ --- 1,5 ---- /* /domains/campus/etc/stool.c ! * From the Dead Souls Object Library * An example of a chair object * Created by Descartes of Borg 961221 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/squirtbag.c ds2.1/lib/domains/campus/obj/squirtbag.c *** ds2.0r28/lib/domains/campus/obj/squirtbag.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/squirtbag.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/tlocker.c ds2.1/lib/domains/campus/obj/tlocker.c *** ds2.0r28/lib/domains/campus/obj/tlocker.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/tlocker.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/torch.c ds2.1/lib/domains/campus/obj/torch.c *** ds2.0r28/lib/domains/campus/obj/torch.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/torch.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Praxis/etc/torch.c ! * from Nightmare LPMud * created by Descartes of Borg 951023 */ --- 1,5 ---- /* /domains/Praxis/etc/torch.c ! * from Dead Souls * created by Descartes of Borg 951023 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/wlocker.c ds2.1/lib/domains/campus/obj/wlocker.c *** ds2.0r28/lib/domains/campus/obj/wlocker.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/wlocker.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/wrack.c ds2.1/lib/domains/campus/obj/wrack.c *** ds2.0r28/lib/domains/campus/obj/wrack.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/wrack.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/obj/yellowbox.c ds2.1/lib/domains/campus/obj/yellowbox.c *** ds2.0r28/lib/domains/campus/obj/yellowbox.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/obj/yellowbox.c Tue Jul 11 18:36:17 2006 *************** *** 1,5 **** /* /domains/Examples/etc/bag.c ! * from the Nightmare IV LPC Library * a sample bag object * created by Descartes of Borg 950529 */ --- 1,5 ---- /* /domains/Examples/etc/bag.c ! * from the Dead Souls LPC Library * a sample bag object * created by Descartes of Borg 950529 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/room/conf2.c ds2.1/lib/domains/campus/room/conf2.c *** ds2.0r28/lib/domains/campus/room/conf2.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/room/conf2.c Tue Jul 11 18:36:17 2006 *************** *** 42,49 **** void init(){ ::init(); - // add_action("privacy","privacy"); - // add_action("privacy","priv"); add_action("report_time","timer"); } --- 42,47 ---- *************** *** 53,60 **** int report_time(){ int secs = time() - timer; - //tc("time: "+time()); - //tc("timer: "+timer); if(!timer){ write("Privacy field is not active."); --- 51,56 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/room/tunnel3.c ds2.1/lib/domains/campus/room/tunnel3.c *** ds2.0r28/lib/domains/campus/room/tunnel3.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/room/tunnel3.c Tue Jul 11 18:36:18 2006 *************** *** 27,36 **** "east":"/domains/campus/room/u_lab"])); SetDoor("east","/domains/campus/doors/u_door"); SetObviousExits("e,w"); - // SetInventory(([ - // "/domains/campus/npc/mp" : 1, - // ])); - // SetProperty("no attack", 1); } void init(){ AddListen(({"pipe","pipes","wall","cables","cable"}) , "The pipes and "+ --- 27,32 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/room/u_lab.c ds2.1/lib/domains/campus/room/u_lab.c *** ds2.0r28/lib/domains/campus/room/u_lab.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/room/u_lab.c Tue Jul 11 18:36:18 2006 *************** *** 39,50 **** "sign" : "A crude, hand-drawn sign in red ink next to the portal." ])); SetInventory(([ ])); - // SetRead((["sign":"The sign reads: Enter at your own risk! This portal leads to some "+ - // "places of questionable safety and unstable reality...you are warned!", - // "notes" : "They are incomprehensible to you.", - // ({"board","chalkboard"}) : "It is full of cryptic equations. Buried in the middle of one "+ - // "is 'Step 3: a miracle happens'.", - // ])); SetRead("sign","The sign reads: Enter at your own risk! This portal leads to some "+ "places of questionable safety and unstable reality...you are warned!"); --- 39,44 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/room/void.c ds2.1/lib/domains/campus/room/void.c *** ds2.0r28/lib/domains/campus/room/void.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/room/void.c Tue Jul 11 18:36:18 2006 *************** *** 1,5 **** /* /domains/campus/adm/void.c ! * from the Nightmare V Object Library * place where people go when their environments accidentally are * destructed * created by Descartes of Borg 960302 --- 1,5 ---- /* /domains/campus/adm/void.c ! * from the Dead Souls Object Library * place where people go when their environments accidentally are * destructed * created by Descartes of Borg 960302 diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/board.c ds2.1/lib/domains/campus/weap/board.c *** ds2.0r28/lib/domains/campus/weap/board.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/board.c Tue Jul 11 18:36:18 2006 *************** *** 1,5 **** /* /domains/Examples/weapon/sword.c ! * from the Nightmare IV LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ --- 1,5 ---- /* /domains/Examples/weapon/sword.c ! * from the Dead Souls LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/dagger.c ds2.1/lib/domains/campus/weap/dagger.c *** ds2.0r28/lib/domains/campus/weap/dagger.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/dagger.c Tue Jul 11 18:36:18 2006 *************** *** 1,5 **** /* /domains/Examples/weapon/dagger.c ! * from the Nightmare IV LPC Library * a simple dagger example, nothing fancy * created by Descartes of Borg 950402 */ --- 1,5 ---- /* /domains/Examples/weapon/dagger.c ! * from the Dead Souls LPC Library * a simple dagger example, nothing fancy * created by Descartes of Borg 950402 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/grenade.c ds2.1/lib/domains/campus/weap/grenade.c *** ds2.0r28/lib/domains/campus/weap/grenade.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/grenade.c Tue Jul 11 18:36:19 2006 *************** *** 89,98 **** possessive(ob)+" hand grenade!\n",ob); detonated=2; foreach(string limb in stuffs){ - //tc("limb: "+limb); if(limb != "head" && limb != "torso" && limb != "neck") ob->RemoveLimb(limb,this_object()); } - //ob->RemoveLimb("head",this_object()); ob = environment(ob); } if(detonated !=2) tell_room(environment(this_object()), "\nKABOOM! The grenade detonates!\n"); --- 89,96 ---- diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/sharpsword.c ds2.1/lib/domains/campus/weap/sharpsword.c *** ds2.0r28/lib/domains/campus/weap/sharpsword.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/sharpsword.c Tue Jul 11 18:36:19 2006 *************** *** 1,5 **** /* /domains/Examples/weapon/sword.c ! * from the Nightmare IV LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ --- 1,5 ---- /* /domains/Examples/weapon/sword.c ! * from the Dead Souls LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/sword.c ds2.1/lib/domains/campus/weap/sword.c *** ds2.0r28/lib/domains/campus/weap/sword.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/sword.c Tue Jul 11 18:36:19 2006 *************** *** 1,5 **** /* /domains/Examples/weapon/sword.c ! * from the Nightmare IV LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ --- 1,5 ---- /* /domains/Examples/weapon/sword.c ! * from the Dead Souls LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ diff -c -r --new-file ds2.0r28/lib/domains/campus/weap/waterpistol.c ds2.1/lib/domains/campus/weap/waterpistol.c *** ds2.0r28/lib/domains/campus/weap/waterpistol.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/campus/weap/waterpistol.c Tue Jul 11 18:36:19 2006 *************** *** 1,5 **** /* /domains/Examples/weapon/sword.c ! * from the Nightmare IV LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ --- 1,5 ---- /* /domains/Examples/weapon/sword.c ! * from the Dead Souls LPC Library * a simple sword example, nothing fancy * created by Descartes of Borg 950402 */ diff -c -r --new-file ds2.0r28/lib/domains/default/armor/badge.c ds2.1/lib/domains/default/armor/badge.c *** ds2.0r28/lib/domains/default/armor/badge.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/default/armor/badge.c Sun Jul 9 22:06:36 2006 *************** *** 7,13 **** static void create(){ armor::create(); SetKeyName("visitor pass"); ! SetId(({"testchar badge","badge","pass","visitor pass"})); SetShort("a test character Visitor's Pass"); SetLong("This clip-on plastic badge grants the wearer access to "+ "some areas typically restricted to creator staff only. Abuse of this "+ --- 7,13 ---- static void create(){ armor::create(); SetKeyName("visitor pass"); ! SetId(({"testchar badge","badge","pass","visitor's pass"})); SetShort("a test character Visitor's Pass"); SetLong("This clip-on plastic badge grants the wearer access to "+ "some areas typically restricted to creator staff only. Abuse of this "+ diff -c -r --new-file ds2.0r28/lib/domains/default/armor/wizard_hat.c ds2.1/lib/domains/default/armor/wizard_hat.c *** ds2.0r28/lib/domains/default/armor/wizard_hat.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/default/armor/wizard_hat.c Sun Jul 9 22:06:36 2006 *************** *** 5,12 **** static void create(){ armor::create(); ! SetKeyName("wizards hat"); ! SetAdjectives( ({"wizards", "floppy", "large", "conical", "blue"}) ); SetId( ({"hat"}) ); SetShort("a wizard's hat"); SetLong("This is a large, floppy hat with a wide brim all "+ --- 5,12 ---- static void create(){ armor::create(); ! SetKeyName("wizard's hat"); ! SetAdjectives( ({"wizard","wizards", "floppy", "large", "conical", "blue"}) ); SetId( ({"hat"}) ); SetShort("a wizard's hat"); SetLong("This is a large, floppy hat with a wide brim all "+ diff -c -r --new-file ds2.0r28/lib/domains/default/creator/workroom.c ds2.1/lib/domains/default/creator/workroom.c *** ds2.0r28/lib/domains/default/creator/workroom.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/default/creator/workroom.c Tue Jul 11 18:36:19 2006 *************** *** 14,20 **** "workroom" : "It looks very nice.", ]) ); SetInventory(([ - //"/domains/campus/obj/chest.c" : 1 ])); SetObviousExits("d"); SetExits( ([ "down" : "/domains/default/room/start.c", --- 14,19 ---- diff -c -r --new-file ds2.0r28/lib/domains/default/npc/dummy.c ds2.1/lib/domains/default/npc/dummy.c *** ds2.0r28/lib/domains/default/npc/dummy.c Wed Jul 5 00:01:11 2006 --- ds2.1/lib/domains/default/npc/dummy.c Sun Jul 9 19:04:27 2006 *************** *** 29,48 **** evidence = ""; if(agent) evidence += "I receive damage from "+agent->GetKeyName(); if(type) { ! if(type == BLUNT ) evidence += ", damage type is BLUNT"; ! if(type == BLADE ) evidence += ", damage type is BLADE"; ! if(type == KNIFE ) evidence += ", damage type is KNIFE"; ! if(type == WATER ) evidence += ", damage type is WATER"; ! if(type == SHOCK ) evidence += ", damage type is SHOCK"; ! if(type == COLD ) evidence += ", damage type is COLD"; ! if(type == HEAT ) evidence += ", damage type is HEAT"; ! if(type == GAS ) evidence += ", damage type is GAS"; ! if(type == ACID ) evidence += ", damage type is ACID"; ! if(type == MAGIC ) evidence += ", damage type is MAGIC"; ! if(type == POISON ) evidence += ", damage type is POISON"; ! if(type == DISEASE ) evidence += ", damage type is DISEASE"; ! if(type == TRAUMA ) evidence += ", damage type is TRAUMA"; ! //else evidence += ", damage type is indeterminate"; } if(x) evidence += ", raw damage is "+x; if(internal) evidence += ", internal variable is "+internal; --- 29,58 ---- evidence = ""; if(agent) evidence += "I receive damage from "+agent->GetKeyName(); if(type) { ! switch(type){ ! case BLUNT : evidence += ", damage type is BLUNT";break; ! case BLADE : evidence += ", damage type is BLADE";break; ! case KNIFE : evidence += ", damage type is KNIFE";break; ! case WATER : evidence += ", damage type is WATER";break; ! case SHOCK : evidence += ", damage type is SHOCK";break; ! case COLD : evidence += ", damage type is COLD";break; ! case HEAT : evidence += ", damage type is HEAT";break; ! case GAS : evidence += ", damage type is GAS";break; ! case ACID : evidence += ", damage type is ACID";break; ! case MAGIC : evidence += ", damage type is MAGIC";break; ! case POISON : evidence += ", damage type is POISON";break; ! case DISEASE : evidence += ", damage type is DISEASE";break; ! case TRAUMA : evidence += ", damage type is TRAUMA";break; ! case PIERCE : evidence += ", damage type is PIERCE";break; ! case PSIONIC : evidence += ", damage type is PSIONIC";break; ! case ANOXIA : evidence += ", damage type is ANOXIA";break; ! case DEATHRAY : evidence += ", damage type is DEATHRAY";break; ! case EMOTIONAL : evidence += ", damage type is EMOTIONAL";break; ! case SONIC : evidence += ", dam