#
# 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