Dave Ely wrote: > > Hello, I have played a MUD where you basically breathed. If you moved too fast you ran out of breath. I'm trying to Imp that and getting stuck. Here's what I have already. > > Theory of how it should work, I think. Basically every char will have a value for breath at 100, every second or so, it will add a # to breath if it's less than 100. When a move is performed, it will subtract a # from breath. so.. following this logic of lack of. I move, I lose 5 from breath, pulse, I get 5 back, my breath is 100. I move move move move move, I lose 25 from breath, pulse, I get 5 back, my breath is 80. > Hrmmm, sounds a lot like Movement Points to me. > If anyone can Help I'd apprecitate it. Also, I want to add in a Stamina Attribute that will affect breath, but need help with putting in new attributes so their in all the proper places. > The best thing I can tell you is to grep for existing attributes (HP, MP, AC, etc...) and add stuff everywhere you see stuff for the existing attribute. > (the followingn should just keep adding 5 to breath every second, and I have it added to prompt to show, but I cant get past login name, never asks for pword) > > in act.movement.c > > void perform_breath(void) > { > struct char_data *ch; > > for (ch = character_list; ch; ch->next) > GET_BREATH(ch) += 5; > > } > > in comm.c > if (!(pulse % PULSE_BREATH)) > perform_breath(); > > in structs.h > #define PULSE_BREATH (1 RL_SEC) > > (in player section) > int breath; > 1. `int breath;' needs to go into struct char_data. 2. You'll have to initialize breath to 80 everytime a player logs in or that player will immediately be out of breath. > utils.h > #define GET_BREATH(ch) ((ch)->breath) PS. Please set your email client to wrap lines at 70 characters or so. Regards, Peter +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT