znmud-0.0.1/benchmark/
znmud-0.0.1/cmd/
znmud-0.0.1/cmd/emotes/
znmud-0.0.1/cmd/objects/
znmud-0.0.1/cmd/tiny/
znmud-0.0.1/doc/
znmud-0.0.1/farts/
znmud-0.0.1/lib/
znmud-0.0.1/lib/combat/
znmud-0.0.1/lib/core/bodytypes/
znmud-0.0.1/lib/engine/
znmud-0.0.1/lib/farts/
znmud-0.0.1/logs/
#
# 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