Top Mud Sites Forum

Top Mud Sites Forum (http://www.topmudsites.com/forums/index.php)
-   Advanced MUD Concepts (http://www.topmudsites.com/forums/forumdisplay.php?f=7)
-   -   Complex wear positions (http://www.topmudsites.com/forums/showthread.php?t=111)

karlan 06-28-2003 06:50 PM

Possibly something that could be done in the coders forum, but...

I was looking at equipment and was considering ways of doing objects that cover multiple positions (for CircleMUD, but the concept is codebase independant, unless thtere is somehow a codebase that doesn't support ANY equipment) From what I have seen alot of codebases say a helmet is worn on the head, but given the follwing positions.
ON_HEAD
OVER_FACE
NAPE

there are helmets that can be full faced ON_HEAD && OVER_FACE, and Full helmets that cover the face, and protect the back of the neck (should also have appropriate penalties) ON_HEAD && OVER_FACE && NAPE. Similar situations exist for HANDS, WRISTS, FOREARMS, ARMS and FEET, ANKLE, LOWER_LEG, LEG.

One simple way of doing this is to add in the appropriate extra positions (FACE_HEAD, FACE_HEAD_NAPE, HAND_FOREARM and so on), and checks... [code] if ((wear_pos == FACE_HEAD_NAPE) && (IS_WEARING(ch, ON_HEAD) || IS_WEARING(ch, OVER_FACE) || IS_WEARING(ch, NAPE))
{
  .... // Can't wear it, sorry
}[/quote]
But it uses up wear positions quickly, Ok, so you could do away with the bitvector (use a type with size = 8 bytes) as a means of storing where an object MAY be worn, but linked lists suck, and bitwise operations are very fast in hardware.

From there I got thinking about dependant positions (although these are much, much more simple), picture a military banner worn strapped to the armour (Incan warrior style), you could have a BANNER and BANNER_POLE position, with BANNER requiring, an appropraite object in BANNER_POLE which requires an appropraite object in BODY, or BACK, and if on BODY, nothing should be worn ABOUT_BODY - a cloak would really annoy.

Then I got onto the strand of race specific positions, you could have a race that has wings, or a race with no eyes, or a race without fingers.......

SO, I posted this as a way of seeing how others have/would deal with situations like the above ones.

Valg 06-28-2003 10:50 PM

We've had success with our forays into this field.  Head/face/ears and objects that cover 1, 2, or 3 of these is one example, but our less human races can also find things that fit over forepaws, on their tail, over their wings, etc.  Some of these objects have use for humans (depending on the design, something might fit on feet and hindpaws, or only one), and some don't (horns).

We've used it for variety, for reminding non-human characters of their non-human-ness, and for keeping our races from "blending together", style-wise.

A lot of places tout that they have 4376 races defined.  Our design aim on projects like this is to help make each of our (medium-sized) set a new play experience, rather than shoot for sheer quantity.

OnyxFlame 06-29-2003 11:15 AM

DM doesn't have extremely differentiated wear positions like you're talking about, but it does have a bit of complexity of its own.

- Wear positions are just simple head/body/left-right arm/left-right leg, however some races have tails or trunks, or different amounts of arms to equip stuff on.
- Some items can't be worn over other items, you hafta put them on first.
- Some items (such as underwear) can't be seen through items worn outside them. (The goal is to have all logical worn items work this way, I believe.)
- Special items exist to wear on tails or trunks, and you have to have the respective body part in order to wear them.
- Some items cover multiple body parts, i.e. certain types of armor.
- And of course size issues. A gnome can't wear armor designed for an ogre. In fact a gnome probably couldn't LIFT armor, even if it was gnome-sized.
- Some hand equipment (cestus for instance) conflicts with using a sword in that hand, making the sword less effective.


All times are GMT -4. The time now is 04:06 AM.

Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright Top Mud Sites.com 2022