Here goes the change as I said in my last mail with the double attack subject or something like this =o) if you have no idea what this code is doing here read my previous mail you may have deleted when you read my name in sender =o) here goes my change: ACMD(do_follow) { struct follow_type *fol; struct char_data *leader; void stop_follower(struct char_data *ch); void add_follower(struct char_data *ch, struct char_data *leader); one_argument(argument, buf); if (*buf) { if (!(leader = get_char_room_vis(ch, buf))) { send_to_char(NOPERSON, ch); return; } } else { send_to_char("Whom do you wish to follow?\r\n", ch); return; } if ( (GET_CLASS(leader) == CLASS_VAMPIRE && GET_CLASS(ch) == CLASS_WEREWOLF) || (GET_CLASS(leader) == CLASS_WEREWOLF && GET_CLASS(ch) == CLASS_VAMPIRE) ){ send_to_char("You can't follow this Kind of being!", ch); return; } else { if (GET_CLASS(ch) == CLASS_VAMPIRE) for (fol = leader->followers; fol; fol = fol->next) { if (GET_CLASS(fol->follower) == CLASS_WEREWOLF) { send_to_char("There's a damned Dog following this person!", ch); return; } } if (GET_CLASS(ch) == CLASS_WEREWOLF) for (fol = leader->followers; fol; fol = fol->next) { if (GET_CLASS(fol->follower) == CLASS_VAMPIRE) { send_to_char("There's a damned Bat following this person!", ch); return; } } } if (ch->master == leader) { act("You are already following $M.", FALSE, ch, 0, leader, TO_CHAR); return; } if (IS_AFFECTED(ch, AFF_CHARM) && (ch->master)) { act("But you only feel like following $N!", FALSE, ch, 0, ch->master, TO_CHAR); } else { /* Not Charmed follow person */ if (leader == ch) { if (!ch->master) { send_to_char("You are already following yourself.\r\n", ch); return; } stop_follower(ch); } else { if (circle_follow(ch, leader)) { act("Sorry, but following in loops is not allowed.", FALSE, ch, 0, 0, TO_CHAR); return; } if (ch->master) stop_follower(ch); REMOVE_BIT(AFF_FLAGS(ch), AFF_GROUP); add_follower(ch, leader); } } }
This archive was generated by hypermail 2b30 : 12/18/00 PST