# # file:: cmd_group.rb # This source code copyright (C) 2009 Craig Smith # All rights reserved. # # Released under the terms of the TeensyMUD Public License # See LICENSE file for additional information. # module Cmd bindtextdomain("cmd") # The group command def cmd_group(args) all_keyword = _("all") case args when "", nil group = [] if @group_leader group = get_object(@group_leader).group_members.dup group << @group_leader else group = @group_members.dup end group << id if not group.include? id if group.size > 1 msg = _("=== Member List ===\n") group.each do |gid| p = get_object(gid) leader = "" if @group_leader leader = _(" (leader)") if gid == @group_leader else leader = _(" (leader)") if gid == id end msg << "#{p.name}#{leader}\n" end sendto(msg) else sendto _("You are not in a group") end when all_keyword if @followed_by if @followed_by.size > 0 @followed_by.each do |fid| follower = get_object(fid) if not @group_members.include? fid msg = _("Added %{name} to your group." % {:name => follower.name}) add_event(fid, id, :show, msg) @group_members << fid msg = _("You are now a part of %{name}'s group." % {:name => name}) add_event(id, fid, :show, msg) follower.group_leader = id end end else sendto _("Nobody is following you.") end else sendto _("Nobody is following you.") end when /(\S+)/ fname = $1 toadd = nil if @followed_by @followed_by.each do |fid| f = get_object(fid) toadd = f if f.name=~/#{fname}/i end end if toadd if not @group_members.include? toadd.id msg = _("Added %{name} to your group." % {:name => toadd.name}) add_event(toadd.id, id, :show, msg) @group_members << toadd.id msg = _("You are now apart of %{name}'s group." % {:name => name}) add_event(id, toadd.id, :show, msg) toadd.group_leader = id else sendto _("They are already a member of your gruop.") end else sendto _("They are not currently following you.") end else sendto _("Unknown usage. See help.") end end end