> Hmm...after reading this I came up with a preliminary approach to fix this. > I have compiled (but not run) with this patch and am looking mostly for > comments on the approach and not the implementation. Basically, any gold > dropped in water is lost. Anything that weighs > 0 dropped in water is > lost. Every pulse, a character is tested to see if they have a boat and > are over water, if they do not have a boat, they lose hit points equal to > their maximum divided by 5. (So 20% each tick.) That may seem odd, but in > this case the character is drowning for one hour (game time) in unswimmable > water. I'll release the (tested) patch later on my page when satisfied. Hmm.. how about bringing some elementary physics into the picture? In physics you learn that objects with lesser density than a fluids density, that object will float on that fluid. How about tagging water (liquid) with a density and objects with density? (Optional flags in world/object files. Objects/rooms with no flag = objects will sink (or something)). Humans has less density (usually :) than water (depends of course on the type of water), thus they float. It's one thing being under water.. then I agree with you that hitpoints should be drawn every tick (or sooner if possible.. and after a period of time too (most people can hold their breath for moment)). And Jeremy.. In utils.h just above the macro REMOVE_FROM_LIST you explain that this macro would be a great application for C++ templates and you mention Circle 4.0. :) I'm curious.. are you planning a C++ 4.0 version of Circle? That comment sure is a mindteaser. ;) // Jorgen +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST