December 31, 1999 To-do List Note that this changelog is unformatted and pretty raw. Some of this stuff we would really like to do, some of it we probably won't do (it just sounded like a good idea at the time), and some of it should probably never be done. But at the very least, we thought it might give you an idea of the kinds of things we think up. ---------------------------------------------------------------------- god titles set for level 31 and above notify when people hit level 10, 15, 20, 25, 30, 90, 95, 100, 105, etc. **Slingblade: i have a hunch it's "getterm()" **Slingblade: include :) **Slingblade: comes in handy with unix players **Slingblade: setupterm("unlisted", fileno(stdout), (int *)0) **Slingblade: nrows = tigetnum("lines") **Slingblade: basic termios.h funtions pk code: Gold is always left behind. No level restrictions. rpk pk vs pk - no eq, no exp. ppk vs ppk - no eq, 20% exp loss, 10% exp gain. track bug with loading numbers getting fucked up faerie fire: if invis person, 'you see a fiery pink halo in the air before you' set mud school monsters ac to like 150 instead of 100. partial sneak when entering/leaving rooms. link monks to ancala perhaps, so you have to walk thru monks to get there? Need touch command, so we can touch stuff. Not that it would make much difference, but it would be a good way to trigger D procs. need to fix timezone stuff. Birthdays, zload rspecp, and add area zoneload at given times of day. Squeak wants low charisma people to get harassed by cityguards and laughed out of bars. grow and shrink spells? change object types, weapon is now something different, and old_weapon sets old weapon types. Use this to change weaponry so that it has wield_dex and str, etc. **Squeak: nother code quirk: room currents work together too much... as asoon as one hits the other 3 hit ... and the object gets zapped from end of the hall to the toher make invis dispellable make fly give objects a floating flag make objects hum when casting squeak on them? the doorpass event thing - somethings fucked up with the memory structs. Not being correclty added to the list or some shit, squeaks event didnt show up ont he list but the timer event managed to remove it anyway. negative regen on rooms should put the mana it gets from chars into the proper alignment registers. Evil chars should have evil mana pulled from them, etc. fix sset on rooms, and make sure the flags/effects are set up properly on loading of rooms. need help page for ':' help page for account, clan compare and consider should be equivalent. On a mob, you get consider, on an object compare. should probably also add this in as monster lore, perhaps weapon lore for weapons, item lore for generic shit, and magic? lore for magical items. someone typed the 'home' command? as though it would take them home or do something expected. skills command currently shows nothing if you don't know any skills. when valueing something, shopkeeper should indicate if its too expensive for them to buy. fix interactive loading into containers make interactives trigger off echo? fix up history command, sort it, etc. From: pinky Subject: bug in board writing thingy if i write the first line (a) , hit enter, write the next line(b) hit enter, and then use a /format enter, and then write line c i get line a, blank line, line c, blank line, line b pinky need sunstorm trainer, perhaps a quest? Subject: daeron thats your potter right? let me know when you've finished with him :) From: bloodmist Subject: foothill mob Ok I came up with 1 idea for a mob in the foothills...a large hunting cat, either a bobcat or a mountain lion that will roam part of the area add signs to the mirror room in mud school need specps and some kind of quest for shkar and mad hermit dont forget the specp on grubby :) do specp conversion on mud trainer need a tent object? also a flag on objects so when they time out, whats in them doesnt go as well. Like tensors disks, only make that a flag. ---------------------------------------------------------------------- Subject: type sign/note? If anti-alignment flags are on the object, that alignment cant read the long of the sign. It appears to be blank. There are a number of places this lives, would have to be condensed. Look, read, etc. need to add help pages and other shit for D procs. Full documentation, as well as expression parsing. Subject: oset program/mset program When no args specified, need to show list and formats should have something like 'force_char_look()' or something. Dont want to allow direct parsing though, builders could get really nasty with that. virtual line at end of descs! somethings fucked up in statting routine, doesnt show last line. make sure use autotargets properly, as do scrolls and other shit. still work to be done on use, see fixmes. One of these is using keys on lockable thingies. Also, useworn/useheld should work with that as well, at least for locks. Other shit might not make sense. (#3) dont forget to add remove/reveal curse spells. dont forget help pages famine can no longer be dispelled! Make sure to add 'remove curse' spell. Famine should probably be meaner now, and take longer to have an effect. A 500 hp player should be able to starve to death in about a day, and have the curse last for seven days total? (#2) add sunset strings for areas (timezone fixes) build setting/statting procs for timezones. hp for birthdays, :) Interactives: Add global variable list. When found in a string, $(var) creates and sets the variable 'var' to whatever that string was. Variables can be used as well, will be expanded before parsing. If statements based on vars Math based on vars, string concatenation perhaps? trigger/untrigger command. Sets up global triggers that can occur at any time. call/return commands - need stack frames. Goto nukes entire stack, no proc is reentrant. need another waitfor, waitfor object 3267 (vnum) // for players... struct quest { struct quest *next; struct character *giver; Timestamp expiration; // misc data } could use a quest enable command that allows a quest to become active should be able to have a quest require another quest to have been completed require q1 and q2 to have been completed require q1 or q2 to have been complete require q1 has not been completed command interface: At questor: quest list, shows all quests available quest list , quest , shows specific quest quest fail , you give up on the specified quest quest accept , starts you on a given quest vnum Not at questor: quests, quest current, shows what quests you currently have pending quest display , quest help #, quest show #, all show help text of specified current quest need gunk for one-time/reboot only quests on quest structs perhaps have temp quests vanish on death? newbie problem: ---------------------------------------------------------------------- down look Bottom of the stairs. This is the dreaded mud school dungeon. There are lots of monsters down here, but they are all locked up in cages so that you can practice on them. Go north to find the cages. To find a cage, try looking or going in a direction. To open a cage, just type 'open cage' or 'open cage '. [Exits: north up ] <20hp 20m 94mv> open cage You do not see that here. ---------------------------------------------------------------------- This should return 'The cages are to the north.' or something similar. /***********************************************************************/ // http/web page stuff /***********************************************************************/ check http://www.gammon.com.au/mushclient/mushclient.htm, add to clients page major socket code upgrade, for socket writes. Also work on http output parser thingy. who colors messed up for remotecomm, http, and who. Should update to use common scheme, also perhaps implement color code parser some day put a config entry in for background images http shit is busted with mozilla. Need to figure out why, looks like font color is depreciated. /***********************************************************************/ // misc shit /***********************************************************************/ put/get should work on containers that are worn, but with lag of 2-4. Also, should only be able to get/put single objects, not 'all' or 'all.' (idea) Kralen: small, furry, bundles of energy (teeth, claws, tentacles, etc).. yes, I mean pets :b alias =j NULL deletes the desc in the alias, but not the alias. config file line: debug gdb ../sdttyp2 %d -x data/debug.script -n -q -f -batch >>crash.log killing blow for people? Like you get to set what your killing blow string is? when you leave a context, you dont necessarily get into another. Need ot expand context parse command to move between them. fix find, snr in ldesc context. compress option for ldesc editor. Compresses whitespace without hosing returns mana flow gunk: need change character regen, add detection spells oscillations/history Object type lockpick, with statting for pick pattern Should figure out a way to make the direction strings, umm %1 leaves %n or some shit. Allow us to have leave strings like "A boulder rolls northward." wearable mobs, muwahaha. fix/work on systemstats file needed for opera/stage - ability to change fight and ground strings... perhaps restring structs i would still like good enough mob memory that any creature will attack on sight anyone who attacked it in the last mob->int / mob->num_attackers ticks. So that if a mob with 30 intelligence is attacked by a group of 6, it will flawlesly remember to destroy them for 5 ticks. multiple object types, eg treasure staff traps on exits and objects Another code idea -chuckle- mob load probability, a specp for room programming. id like a percentage load plant that only 'loads' half the time, based on each instance a player enters the room. Would it be possible to code killer flags to be city based? ie a player kills a 'ralnoth citizen' flagged mob, and as a repercussion gets the 'ralnoth killer' flag. They would only see the Killer portion, and the rest would be beneath the visible surface. The player with the killer flag would then be attacked by cityguards, thantos, etc. and players! BUT, when the player leaves the city and goes to another, the mobs there would likely not know he/she/it was a killer. Or at least till we come up with extradition code. do something about lighting/extinguishing candles. The desc should change or some shit, its just not obvious whats going on. as a side issue, we really need to do something about o->level being positive, negative, and >1000. Also keep shopkeepers in mind. change prices on objects when they are bought/sold - how to handle zoneloaded single sell objects? have some way to trade in gold for newbie flags... insurance? hehe. Adjust pray command, etc. Subject: oooo offense offense offense Have a pissiness register on mobs - various acts cause the mobs to get pissy, and as they get more pissy they get more aggro. This could work well, have Ok, we need to work on liq containers. I need poisons, and I also need acid to put on my horta. I want a bag of acid that can eat armor and other shit. wst for an area - count shit in it, missing descs, etc. get wyvrens changes - quest specp and steal object specp, in wspecp.c put in spell affects on objects, instead of just intrinsics. fix change_str to handle unwielding of weaponry and stuff. put size restricts on backstab backstab specp strings - %1 sticks his finger up your ass and twists! need exclude list of pfiles, for names we dont allow to log in /***********************************************************************/ // doors /***********************************************************************/ on doors, a repop string might be of interest. If the door changes open/closed state on repop, send the string? This probably gets into more of the sending of door strings in general, and probably isnt worth doing. Subject: door pick string not the most important thing, and it only means more work.. but if one wanted, it would add more detail and make some doors more realistic appearing when picking. allowing doors to have different keys work on them would be really useful. ie for the 'wooden door' a 'metal key' or 'skeleton key' or 'ring of keys' retaining the ability to set multiple keys for multiple locks on a door would be necessary. ie 'metal key' and 'ring of keys' some doors just need the option of different single keys. i dont much like having my mobs carrying several different keys to open frequently used doors, nor do i like the same key to be on several mobs who may need to use those doors. /***********************************************************************/ // rooms /***********************************************************************/ room 1985: need to trap on the string 'open cage' or 'open cages' in the room. This should probably be hooked into a D proc or something. Have a trigger string that has to be typed in the room, for example "open cage*", and if that is done an event is invoked that gets typer as arg1 and string as arg2. Perhaps something like interactives for rooms... shit yeah. Only the interactive handlers could be permanent. Have to fiddle with this one. /***********************************************************************/ // leveling /***********************************************************************/ rebuild spells and skills shit. Start by changing skill table names, and start using something like inline get_skill_level(struct character *p,int index); make trainer specp, so any level mob can level people to any level. /***********************************************************************/ // specps /***********************************************************************/ Need archery specp, for my drow dude. He needs to be able to shoot people with arrows in another room. The arrows should be poisoned, prereq would be rebuild of liquids. Throw out everything except interactives and D programs. Need to figure out what to do with existing room procs. for timed objects, a special procedure for loading another object on vanish would be pretty cool. i was trying to figure a way for a basin of water to be refilled every so often. a specp for liquid containers might not be a bad idea too, adding %1 to the amount every %2 ticks would be good for slow drip basins. water/flood spell. Temporarily gives a room a water flag. This could be useful spells like coc, or perhaps lightning bolt, stuff that would have damage increased by water. Would also need is_room_water(r) helper proc. shopkeeper specp for loading shit into inv every %d ticks. make specp to have my salamander eggs hatch? object specp #2 - trigger on object timeout, load object/mobs in its place? Specp to steal by object types. Make it so the mob will only steal things it stands a good chance of getting. /***********************************************************************/ // clan stuff /***********************************************************************/ Subject: trade specp could use nother trade specp that takes data1-data4 as vnums. Anything with correct stats can be traded in, eg wear flags and other shit is correct. Will cost the amount of money in target, possible clan number in trigger, delay/event handler in rate. set room board - adds a board to a room? adds to zoneloading, and other shit. Hrm. Need some sort of clan ranking system, say a char from 0 to 100, at 100 youa re a founder or something? Either way, need founder type powers for druid and his clan. put a flag on specp 22 so that anything with the proper flags can be traded in... also make it so only the clan dude can trade stuff in. Clan specific sac strings. /***********************************************************************/ // spells/skills /***********************************************************************/ (notify) Help page requested for 'discern' wierd enough word that could probably make a skill around it. misc thought: Squeak says, 'a prac/train gets you classroom %points, but they dont count as much as mastered% point s which are gained by using the skill and getting those "better at it" things' Squeak says, 'vice versa, in the field %points with no classroom %points to cancel are good but not nearly as good as mastered %points which you get at a trainer' Squeak says, 'so people who train skills or bot skills arent as good as people who train and use and train and use ... course all botters got to do is use pracs,a nd all xp monster have to do is put more variety in their playing' Squeak says, 'code wise its easy have two regs for each skill mastered and otyerwise, + in the otherwise means classroom, - means field , add to a neg becomes amastered, sub from a pos becomes mastered...' Squeak says, 'effective skill is mastered + 0.25*abs(otherwise) or somehting' malcolm needs a command mindtrick "mindtrick dentin Malcolm needs a new specp" Dentin sees "You think to yourself, 'Malcolm needs a new specp'" icy projectiles, perhaps level 12 or so give them hitroll based on level, they shatter if they fail the ac checks spell that reqs a staff here. lays a trail of frost to the victim, then spikes of ice jut up from ground for damage. level 20 or so illusion. c 'illusion' stuff, where stuff are keywords and shit. This could get really expensive, so it might be best done as a data file instead of built in strings. could be like: c illusion small red dragon %1 conjoures a 15 foot tall red dragon with flaming eyes! But wait, it's an illusion... Perhaps the wait thing could be the fail versus save or some shit. change demonfire to cleric make balefire - like demon in doom II change hailstone to cleric make ice shard spell make the ice spell reqing the staff - trail of frost on ground, spikes jut up for damage sticks to snakes, gather firewood then cast on it and turn it into snakes. c 'sticks to snakes' , the snakes attack target cone of silence - gags hum, say, etc when cast on self, gags say when cast on room. When on room, perhaps temp gag of hum flags? beats me blizzard should be a long term thing on a room, or perhaps a number of rooms. Should take several ticks if not longer, and have all kinds of miserable effects. cone should have effects in water rooms, eg freezing the ground and perhaps imprisoning people. Should also do insane damage to elemental water types Also, cone should hurt anyone/everyone in the room, but not actually kill other players... reduce them to 1 hp perhaps, but not kill them. make ice fog castable? should probably only be castable on solid ground, not in air or in water. cloud kill? Fills the room with choking green gas, impairs vision, lowers dex, con (use potion effects in spell list, have it time out on a tick basis), tick string like chill touch - You cough and wheeze as you try to clear the gas from your throat. perhaps noshow nodispel spell like chill touch maybe this should just be noxious cloud cast on room. also, noxious cloud on char should kill sneak, hide tho thats probably not important. Nox cloud tick string - You choke and gag from breathing the stench cloud surrounding you. Ok, thing to do here - noxious cloud becomes stinking cloud, same effects. noxious cloud becomes cloud kill, which is the room effect dealy. recipe command, for use with brew. recipe sanc stinkweed hemlock black spam brew sanc = brew potion inv stinkweed hemlock black spam, or somethign similar Throw changes: should also check into having hitroll make some difference. Get_armor_damage, that type of thing Also need 5% chance to lose a weapon? climbing skill of some sort? make the mailer daemon spell, and the call skill for rangers Call birds to carry messages, bears and wolves to help you, etc. sleep spell Make firestarting skill Make cooking of stuff with fires? Add foraging. forage command - 'there is an abundance of food in this area' trap on room flags - if no sunlight, foraging gets you bugs and stuff instead of berries and twigs. user defined foraging objects per area? moss and grubs for dfe, perhaps the occasional sandworm for desert? Bribe skill needs to be installed, also bribe specp. Help page is currently half baked. Hide needs to wear off when you move. Also, make shadow? You notice %1 moving stealthily through the shadows. for walking, lurking in the shadows for in a stationary room, perhaps with hide. Need level 1 and level 2 mage/cleric spells Temp enchantment on a weapon to make it fire/ice/zap based... put outside restricts on hailstone? coldfire spell? like fireball, only cold. need call lightning... hehe Scrying? Whetever the hell it means. Negative mana casting Allows you to cast spells at 0 mana by stealing hitpoints, eg severe damage. If you have wimp on, you will be unable to kill yourself with it. Conversion rate would be bad if you didnt have the skill at a reasonable level, and there would be some associated failure rate as well. shadow/stalk, thief skill, shadow a mob/player, woudl be good with pkok basically a follow with no send, and hide while moving Cleric skill, involving sacrificing stuff. Should be able to sacrifice corpses of dragons, etc. (needed because you cant sac really big corpses) skinning skill put skin weight on look command? tailoring? resurrect spell for clerics, takes like 1000 mana, turns corpse back into a creature, would be remarkably useless and not work on player corpses. make a skill based on face/relative dirs. If you have the skill, you have a chance to figure out which way is north... muwahah. Could name it something lame like ranger lore, need to think of other things for it to do tho monster lore skill Berserk skill! Warrior go bonkers in battle, muwahaha. Kills spellcasting, attach to event queue perhaps? Unable to flee/wimp. Also, throws out random attacks to everything in the room. Should last a certain number of rounds, perhaps umm... 15? Will take movement at each round, some percentage, say 10%. Better yet, take movement until zero, then drop back into normal mode. You say, 'maybe thief/warrior skills need to just be lots and lots of tiny shit... so you something like kick after getting a number of other skills' You say, 'shit like dexterity 2, and balance, and ...' roar/shouting? muwahah, intimidate protect, for newbies. dep on rescue? Squeak says, 'oooo one silly thing is "size up" gives you +hit for a little bit or "study" while in combat you can learn the enemies tricks, then try and go for killing blow or whatnot' Squeak says, 'basically before battle you think to yourself, "gee how could i really hrut this guy"' or other consider derivatives. Adding armor classes, etc to consider for different skills. Perhaps even vulnerabilities to various saving throws as a hgih level mage+warrior/thief skill. Wyvren says, 'yeah timing a "killing blow" woudl be neat' Tarrant says, 'a warrior skill to use nets and things to capture live creatures' Squeak says, 'subdue would be cool' Perhaps generic trapping/training stuff as well Squeak says, 'ooo warrior skill, works inversely proportional with intelligence: disbelieve, gives you matgic resistance' - probably directly proportional in my world heh, cleric thing, if we get more gods. Disbelieve You say, 'I disbelieve in your god!' You say, 'suddenly his shit doesnt work on you' Squeak says, 'hmm what about a skill that makes your damage more proportional to the amount of damage you've done to them... bloodlust or rage or something' need new thief skill, maybe even just thief level dependent. Command is cloak, causes you to use a cape/about body thing to cover everything you are wearing save shield, sword (rings too if you can see the sword), on head, about body, and on feet. Might have the ability to cloak what you are wielding, so its not intuitively obvious. Would have to not work for large size stuff (cant cloak that desk you are wielding, eh? Makes it so anyone looking at you only sees certain stuff. Might want to do this with bitmasks, and perhaps have saves forward/back? Perhaps two or three bitmaps for people, one for too low level, one for about same level, and one for much higher level. Since the idea behind this is to have some roleplaying stuff for thieves, should be a learnable skill that works directly off thief level. Can still do it if you dont know what you are doing (havent learned it), but your saves are awful. Perhaps unimprovable, like sneak. Stealth movement skill? something like you are lagged a lot more, takes a lot of movement (perhaps on event handler with lag on both sides), and you can come out in the next room already hiding... muwahaha [doom] Dentin: I had a dream once and it had thieves in it... one of them used a skill to set up a little hut that was light proof... so he could have light to work on his daggers but not have anyone find him [doom] Dentin: I thoguht it was cool at the time, cause it was night time and the thief needed to sharpen his daggers and check all his gear before the job [doom] Dentin: and he needed light to do things, so he just set up this little tent like deal and did his work Squeak says, 'ohhhh: chicken shit: your dodge and shit goes up based on how few hps you have, but your attacks go down, thief skill' something where you silently give/put stuff, instead of get like with palm. A plant skill: You say, 'where you plant something on people/mobs' stalk circle thief skill You say, 'the ability to circle past guards to get into somewhere they are guarding' You say, 'so you get someone to attack the guards, then you try to circle back behind them' [doom] Dentin: need to make shadow some day as well [doom] Dentin: kinda like a silent follow/autohide deal **Squeak: you specify a condition and a spell to cast... it waits for comdition the casts it (usually the mana was already used in the contingency spell) **Squeak: for instance "falling" or "drowning" or "being attacked" or "after death" or at x% hp **Squeak: its just an action **Squeak: a lev 20 mage can only have 1, a level 30 can have 2 **Squeak: they are cool for say a ring of cats lives, it has 9 contigencies, one to heal at 5% hp, one to cast fly at falling, etc. case skill for thieves, tells how much gold someones got. /***********************************************************************/ // curses /***********************************************************************/ To: dentin From: squeak Subject: room8 post on death remove flavor from post. the gods = the muds random number generator. disfavor: Clerical spells are cast with (curser->cl_level/5) spell level penalty. Recall has a curser->cl_level*3 chance to fail. ennui: character is tired, but can't sleep. has no soul. is faced with the nihilistic abyss and falters. with no hope of redemption from the gods, he has no will to live. attract-lightning: each tick there is a chance the character is hit by lightning. i think this would be hilarious. every hit does some % damage and stuns for some rounds Firebird twitches in agony as the electricity leaves his body. attract-rain: rain constantly follows the character around. he is soggy, and has trouble sleeping what with themoisture. he has +save zap. squeaky-feet: curses against sneakers. like squeaky floors but just for that character in any room. he takes a step and all rooms for which exits are bidirectional receive one or two lines of spam. maybe allow double rooms. A horrible squeaking like the sound of a rodent god's fury assaults you from the south. The faint sound of a thousand rodents in agony drifts in from the south. uncont.-hid.-laugh.: like the tick strings on haste. the character may stop fighting for no reason, and loses curser->cl_level/2 points of charisma. also all communication is garbled. "You say, 'What are laughing at?'" they see Wiggler says, 'Hehehe Wha ha ha WHat *pffffff* are you laughing at? *rofl*' dancing-feet: character loses curser->cl_level/2 points of dex due to his need to dance. movement costs are doubled. ground string perhaps changes to the fandango social. wanderlust: character receives wander wanderfast and wanderlust flags. philanthropy: character gives people gold. but the right hand knows not what the left hand is doing. ONly the reciever gets the string. Giver sees nothing, maybe "You feel guilty at angering the gods." The receiver sees "Mixmasterb gives you 1000 coins.\nMixmasterb whispers to you, 'Shhhh. Take this. I don't need it. No thanks needed.' hiccups: character starts hiccupping. Uncontrollably. Nearby people cant sleep. check other socials for possible curses so basically we have a low level spell curse that randomly chooses a curse, and specific spells that cost alot more mana and are higher level. -squeak Need a babble curse. Muwahaha. Hell, need curses in general. Generic curse code would be a plus. Sleepwalking curse? perhaps sleepwalking too Vision could give you crummy visions while awake, distract you and other stuff? Nightmare would wake you up at irregular intervals. **Squeak: hey D, one curse: if you get one of an item, you feel the need to pick up/wear ALL of those items (same vnum) is that doable (on to the todo list at least) **Maxx: ohyeah, dentin, can we have an item curse that makes playrs aggro and shit? :) Subject: more curse stuff different levels of curse on an object: auto-wear/no-remove permanently in your inventory or worn permanently in your inventory autowear/replace existing, but removable. "%s looks so cool, you decide you've just got to use it instead of %s!" autoget from ground flag for destruct object upon successful remove curse 'effects apply while in inventory' flag also add ugliness to the curses list eating - you automatically get food or butcher it from corpses, and eat anything available in your inventory (even if its poisoned) add meow curse and fix it up some