![](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/holyprotector.gif)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts176
JoinedMay 21, 2006
So you could pretty much do a dynamic description based on those parameters.
Something like that?
This great intersection is the meeting point of the two busiest streets, the Processional and Craftmans Way. The Processional runs the length of the city north to south, while Craftsmans Way leads east and west to the Druid and Marsh Gates. Craftmans Way is lined with shops full of plenty of supplies and goods for travel. The area is very spread out to let an overflow of traffic keep moving in each direction. At the center of the intersection stands a grand statue topped with a hawk. The Processional leads north to the Fountain of Greyhawk, and south into the Low Market. [#precipitation < 32][#weather == snowing]An icy wind fills the air as snow falls on the ground.]]
Something like that?
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
[#precipitation < 32][#weather == snowing]An icy wind fills the air as snow falls on the ground.]]
well it would be more like
[#precipitation < 32: [#weather = 3: An icy wind fills the air as snow falls on the ground.]]
but you grasp the idea.
Im not sure on the numbers though for those since never have looked into the weather code much but it will allow you to check various things on it. One day maybe I should make it easier to understand the stock weather lol.
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts153
JoinedMar 25, 2008
The stock weather is very difficult to work with. I, personally hate it. And please think about the whole "code snippet updates" I suggested in a previous thread so that I won't have to re-do my work again on the 1.36 edition >.>
EDIT: Ah, nevermind, just looked at the old post, also I jumped for joy and squealed much like a little girl. I am happy.
Some things I'm adding/have added, that you might like
*looks for his "todo" files*
MpPet - Sets a mob to be the pet of a character
Weapon Types - Hey, Maybe you want an polearm to do slashing damage? Maybe you want a
longsword to do piercing damage? Who knows? The 4th value on a weapon now determines the
proficiency it will use.
Critical hits, with messages, a low chance of a hit doing 1.5x or 2x damage, with a message like:
"Your blade scores a lucky blow just below your opponents chin, slicing his neck open!"
Based off of Weapon Type
Percentile based Resistances/Susceptabilities ( E.G. 50% resistant to flame would cut fire damage in half! )
"Birth" MpTrigger, whenever a mobile is created, it sets off this trigger.
Buildings that are created by the player (Either drops an obj in the room that a player can enter, or makes a new room entirely [The obj would allow any player with the "entered" flag to see the object's short desc instead of a room name, and it's description instead of the room's description, amoung other things. Also sets the object's progs to be triggered instead of the room's progs.])
Ranked Skills - Some skills should have ranks to them, e.g. weapon skills could have ranks (1-5 or something, or even 1-95), and when the player becomes more proficient with these skills, more abilities are unlocked to them.
Traps - Traps could be buyable, and settable by players (Rogues?) or mobs.
Score and Who could be a little bit different... just about every mud uses the defaults (Is already going to change his who and score)
Dynamic MpDamage (MpDamage showing a message, and doing different kinds of damage, e.g. "mpdamage $n fire 400")
Shields having the capability to block magic/arrows.
Changed the saves from Staff, Wand, Breath, Poison, (Whatever the last one was) to Reflex, Will, and Fortitude (Yay 3.5)
Suggested this before, but Weather Effects could be nice.
Pets recalling on death (So that they're a little more special than your average mob)
Skill requirements - (Needing a certain amount of [x], x being a stat/skill/something, or having to be holding/wielding a certain type of object (E.G. a "slash" skill that would be usable when someone is holding a sword))
Skill Learning Requirements (Needs to have a certain amount of [x] to actually learn the skill)
Better multi-class support, I don't think the "class" ifcheck checks for more than just the main class, and whois only shows the first class, as well as the regular "who"
AFF_FEAR - Makes the opponent flee, or leave the room if occupying the same room as the caster
AFF_CONFUSE - high chance to target a random person/obj/mobile in the room when doing any command that requires a target (could be added in at "get_char_in_room" or whatever that function is named.)
Darkness, an individual stat in rooms that determines how much light there is in a room, could work nicely with the conditional roomdescs. (The player would have to cast "light" in order to see all there is to see in the room)
Dice checks for the values of the things being wielded by the character, so that skills can add that into damage.
(Suggestion) Take a look at the Oppositional Dice Formula snippet. I like it :D.
APPLY_WEIGHT + APPLY_HEIGHT for spells like "enlarge" or "reduce"
Factor in height/weight to combat
Restrict certain exits to certain heights?
MpStop command - E.g. a wearprog, with 100 percent, has a line near the top like this:
if weight($n) >= 250
mpecho $n It simply won't fit
mpstop
It would stop the person from wearing the ring, or in other conditions, from leaving a certain direction, or saying something, basically whatever they did to trigger the prog, the mpstop command would stop the command from going through. Honestly, I have no idea how that could work.
Changing alignments from -1000 - 1000 to a dual axis sort of thing, to more accurately represent a character's alignment?
Change alignment to mean something... any good character can go out to eat a baby, poop on the paladin's doorstep, then kill a bunch of clerics to have their alignment go from 1000 to -1000... and then fend off hordes of zombies to change it right back. How about having alignment mean a little more than that?
All I've got for now. See you later.
EDIT: Ah, nevermind, just looked at the old post, also I jumped for joy and squealed much like a little girl. I am happy.
Some things I'm adding/have added, that you might like
*looks for his "todo" files*
MpPet - Sets a mob to be the pet of a character
Weapon Types - Hey, Maybe you want an polearm to do slashing damage? Maybe you want a
longsword to do piercing damage? Who knows? The 4th value on a weapon now determines the
proficiency it will use.
Critical hits, with messages, a low chance of a hit doing 1.5x or 2x damage, with a message like:
"Your blade scores a lucky blow just below your opponents chin, slicing his neck open!"
Based off of Weapon Type
Percentile based Resistances/Susceptabilities ( E.G. 50% resistant to flame would cut fire damage in half! )
"Birth" MpTrigger, whenever a mobile is created, it sets off this trigger.
Buildings that are created by the player (Either drops an obj in the room that a player can enter, or makes a new room entirely [The obj would allow any player with the "entered" flag to see the object's short desc instead of a room name, and it's description instead of the room's description, amoung other things. Also sets the object's progs to be triggered instead of the room's progs.])
Ranked Skills - Some skills should have ranks to them, e.g. weapon skills could have ranks (1-5 or something, or even 1-95), and when the player becomes more proficient with these skills, more abilities are unlocked to them.
Traps - Traps could be buyable, and settable by players (Rogues?) or mobs.
Score and Who could be a little bit different... just about every mud uses the defaults (Is already going to change his who and score)
Dynamic MpDamage (MpDamage showing a message, and doing different kinds of damage, e.g. "mpdamage $n fire 400")
Shields having the capability to block magic/arrows.
Changed the saves from Staff, Wand, Breath, Poison, (Whatever the last one was) to Reflex, Will, and Fortitude (Yay 3.5)
Suggested this before, but Weather Effects could be nice.
Pets recalling on death (So that they're a little more special than your average mob)
Skill requirements - (Needing a certain amount of [x], x being a stat/skill/something, or having to be holding/wielding a certain type of object (E.G. a "slash" skill that would be usable when someone is holding a sword))
Skill Learning Requirements (Needs to have a certain amount of [x] to actually learn the skill)
Better multi-class support, I don't think the "class" ifcheck checks for more than just the main class, and whois only shows the first class, as well as the regular "who"
AFF_FEAR - Makes the opponent flee, or leave the room if occupying the same room as the caster
AFF_CONFUSE - high chance to target a random person/obj/mobile in the room when doing any command that requires a target (could be added in at "get_char_in_room" or whatever that function is named.)
Darkness, an individual stat in rooms that determines how much light there is in a room, could work nicely with the conditional roomdescs. (The player would have to cast "light" in order to see all there is to see in the room)
Dice checks for the values of the things being wielded by the character, so that skills can add that into damage.
(Suggestion) Take a look at the Oppositional Dice Formula snippet. I like it :D.
APPLY_WEIGHT + APPLY_HEIGHT for spells like "enlarge" or "reduce"
Factor in height/weight to combat
Restrict certain exits to certain heights?
MpStop command - E.g. a wearprog, with 100 percent, has a line near the top like this:
if weight($n) >= 250
mpecho $n It simply won't fit
mpstop
It would stop the person from wearing the ring, or in other conditions, from leaving a certain direction, or saying something, basically whatever they did to trigger the prog, the mpstop command would stop the command from going through. Honestly, I have no idea how that could work.
Changing alignments from -1000 - 1000 to a dual axis sort of thing, to more accurately represent a character's alignment?
Change alignment to mean something... any good character can go out to eat a baby, poop on the paladin's doorstep, then kill a bunch of clerics to have their alignment go from 1000 to -1000... and then fend off hordes of zombies to change it right back. How about having alignment mean a little more than that?
All I've got for now. See you later.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Yea I just had looked at the weather code yesterday to see when it should give a message sort of like that but, I was left wondering exactly when it would give such a message lol. it does some odd figuring in there in a run around way lol.
Yea, after the next release I'll try to keep better info on all the changes made so you can stay up to date easier without having to redo all your work.
Yea, after the next release I'll try to keep better info on all the changes made so you can stay up to date easier without having to redo all your work.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts153
JoinedMar 25, 2008
Before you head out *points to his last post* read through that a bit
![:P](https://smaugmuds.afkmods.com/emojis/tongue.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Better multi-class support, I don't think the "class" ifcheck checks for more than just the main class, and whois only shows the first class, as well as the regular "who"
Well who doesn't show the first class nore does whois. They show the class you are the highest in. Since that is considered your main class. I could easily put in for it to show all your classes, but figured that could get to long on who especially. Like take a someone that is multiclassing Thief and Warrior and if it shows Thief on who list type who warrior. You will still see them listed just listed as a thief. Now take that person and level their Warrior class higher then their Thief class and who and whois will now show Warrior as their main class. Hope that makes sense.
![:)](https://smaugmuds.afkmods.com/emojis/smile.gif)
The ifcheck checks all their classes to see if they have that class.
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Traps - Traps could be buyable, and settable by players (Rogues?) or mobs.
Done, next release will come with trapset skill (haven't set up any class to have it so do that yourself).
Syntax: trapset room/
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Percentile based Resistances/Susceptabilities ( E.G. 50% resistant to flame would cut fire damage in half! )
Dynamic MpDamage (MpDamage showing a message, and doing different kinds of damage, e.g. "mpdamage $n fire 400")
Shields having the capability to block magic/arrows.
Suggested this before, but Weather Effects could be nice.
Skill requirements - (Needing a certain amount of [x], x being a stat/skill/something, or having to be holding/wielding a certain type of object (E.G. a "slash" skill that would be usable when someone is holding a sword))
Skill Learning Requirements (Needs to have a certain amount of [x] to actually learn the skill)
These are ones I might do later on (Added to ideas in doc folder.)
And there were a few I wasn't sure about but not that big of a deal anyways lol. I don't want to big of an idea list for now and I do like to leave plenty for others to do if they choose to.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts153
JoinedMar 25, 2008
Hey, that's more than I thought would wind up there :D. Anyway, I'm back with another idea, though one that would probably be bad for memory usage.
Mob Variables (Some save over resets)
These would have to be a... eh... what's the term? Linked List or something like that? The one where you can just add an entry to them? I dunno. At any rate, these could be very neat, allowing mobs to "remember" players, or "remember" just about anything, by giving them a variable in a separate list while they're loaded, and some could be marked to stick in their entry in the area file. I'm likely being really really vague here... Lemme try to give an example
A greet prog with 100 percent:
if hasvar(self) != $n [This wouldn't check for the entire line in the variable, just to see if it has something like that included] [Also, is the "self" pointer possible while declaring ifs? If not, it totally should be]
smile $n
mpvar self $n
else
say Hello $n!
endif
(If the mob has seen the character before, it says "Hello" to the character, if it hasn't it will smile at the character, and add the variable)
Alternatively, the command could work like this
if hasvar(self) != $n 1 [the 1 would be in the same string, which could imply a "state" for the mob.
say I need you to do something!
mpvar self edit $n $n 1
elseif hasvar(self) != $n 2
say I've been looking everywhere for this!
give 500 coins $n
say Thank you!
mpvar self edit $n $n 3
else
say Have you gotten my item?
endif
(Upon giving the mob the item, it does an mpvar self edit $n $n 2)
Something like that. I'd love to try to code that myself, but as of yet, I can't.
Mob Variables (Some save over resets)
These would have to be a... eh... what's the term? Linked List or something like that? The one where you can just add an entry to them? I dunno. At any rate, these could be very neat, allowing mobs to "remember" players, or "remember" just about anything, by giving them a variable in a separate list while they're loaded, and some could be marked to stick in their entry in the area file. I'm likely being really really vague here... Lemme try to give an example
A greet prog with 100 percent:
if hasvar(self) != $n [This wouldn't check for the entire line in the variable, just to see if it has something like that included] [Also, is the "self" pointer possible while declaring ifs? If not, it totally should be]
smile $n
mpvar self $n
else
say Hello $n!
endif
(If the mob has seen the character before, it says "Hello" to the character, if it hasn't it will smile at the character, and add the variable)
Alternatively, the command could work like this
if hasvar(self) != $n 1 [the 1 would be in the same string, which could imply a "state" for the mob.
say I need you to do something!
mpvar self edit $n $n 1
elseif hasvar(self) != $n 2
say I've been looking everywhere for this!
give 500 coins $n
say Thank you!
mpvar self edit $n $n 3
else
say Have you gotten my item?
endif
(Upon giving the mob the item, it does an mpvar self edit $n $n 2)
Something like that. I'd love to try to code that myself, but as of yet, I can't.
![:P](https://smaugmuds.afkmods.com/emojis/tongue.png)
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Well you can't check (self).
That sounds a lot like the variables or abit/qbit stuff so plenty of those are already around to use.
I won't actually say no to it because I might one of these days if I ever get bored enough or something lol.
That sounds a lot like the variables or abit/qbit stuff so plenty of those are already around to use.
I won't actually say no to it because I might one of these days if I ever get bored enough or something lol.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/holyprotector.gif)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts176
JoinedMay 21, 2006
Ever think of adding Nick Gammon's Lua implementation into your game for progs/quests?
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
nope, i've only seen it used once and i doubt it was to its full potential and it didn't look all that interesting to me lol. Now if you or someone has a good snippet for it and wants it tossed in I might add it.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/holyprotector.gif)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts176
JoinedMay 21, 2006
When you upload 1.36 I'll put lua into it and give some examples of it.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Sounds good, I'll probably go ahead and release 1.36 in a little while. Been debating on what all of my ideas I want to add and all, but for testing them good etc... it would just keep delaying it. Figure I'll try to get in all my ideas in the following release
![:)](https://smaugmuds.afkmods.com/emojis/smile.gif)
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Ok, uploaded lol even realized that there was a races directory in the imc directory and has been since 1.32 lol. So removed it but didn't add it to the changes.lst
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/holyprotector.gif)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts176
JoinedMay 21, 2006
Alright, just compiled it. Gonna go check out the dynamic descriptions..heh
Will look at Lua later
Will look at Lua later
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
KK, no rush from me on it. Check out handle_check to see all the different checks and all.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/holyprotector.gif)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts176
JoinedMay 21, 2006
Could see some cool uses for this dynamic descrption.
[#affected = wizard eye: You sense an urge to 'LOOK STATUE']
How would you do more then one word in the if check? Use the '? 'wizard eye'?
[#worn = fang of the dragon: The fang begins to point towards the east revealing a hidden passage.]
Cool stuff here.
[#affected = wizard eye: You sense an urge to 'LOOK STATUE']
How would you do more then one word in the if check? Use the '? 'wizard eye'?
[#worn = fang of the dragon: The fang begins to point towards the east revealing a hidden passage.]
Cool stuff here.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/skins/default/images/noavatar.png)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Geomancer
![](https://smaugmuds.afkmods.com/skins/default/images/6.png)
GroupAdministrators
Posts1,921
JoinedJul 26, 2005
Could see some cool uses for this dynamic descrption.
[#affected = wizard eye: You sense an urge to 'LOOK STATUE']
How would you do more then one word in the if check? Use the '? 'wizard eye'?
[#worn = fang of the dragon: The fang begins to point towards the east revealing a hidden passage.]
Try using 'wizard eye' but its not the spell it looks for its what you have in the list for affects in const.c
const char *a_flags[] = { "none", "blind", "invisible", "detect_evil", "detect_invis", "detect_magic", "detect_hidden", "sanctuary", "faerie_fire", "infrared", "curse", "poison", "protect", "paralysis", "sneak", "hide", "sleep", "charm", "flying", "pass_door", "floating", "truesight", "detect_traps", "scrying", "fireshield", "shockshield", "iceshield", "berserk", "aqua_breath", "acidmist", "venomshield", "detect_sneak", "silence", "nomove", "max" };
And normaly its a good idea to keep those as a one word type thing anyways. just use like _ between words is what I normally do.
The #worn uses vnums of objects instead of names to ensure they have the right object your wanting them to be wearing. same for #carry and #ohere. It does have a lof of possibilities.
![Post is unread](https://smaugmuds.afkmods.com/skins/default/images/icons/topic.png)
![](https://smaugmuds.afkmods.com/avatars/uploaded/777.jpg)
![This member is currently offline](https://smaugmuds.afkmods.com/skins/default/images/icons/user_offline.png)
Magician
![](https://smaugmuds.afkmods.com/skins/default/images/2.png)
GroupMembers
Posts196
JoinedNov 25, 2007
I hope you have some nice easy to understand documentation included that explains how to use this :)