# # file:: cmd_split.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") # Splits money amount amongst group members def cmd_split(args) case args when "", nil sendto _("How much do you want to split amongst your group?") when /(\d+)/ money = $1.to_i ppl = [] # If we are not the leader use the leaders group list if @group_leader and not @group_leader == id group = get_object(@group_leader).group_members ppl << @group_leader else group = @group_members end # Only people in room from the group get paid group.each { |pid| ppl << pid if get_object(pid).location == location } # Include ourselves in the math ppl << id if not ppl.include? id if ppl.size > 1 if get_stat(:cash) >= money if money >= ppl.size # Round down money -= (money % ppl.size) amt = money / ppl.size ppl.each do |gid| if not gid == id groupie = get_object(gid) adjust_stat(:cash, -amt) groupie.adjust_stat(:cash, amt) msg = _("%{name} splits %{total} dollars and you get %{amt} dollars." % {:name => name, :total => money, :amt => amt}) add_event(id, groupie.id, :show, msg) end end msg = _("You split %{total} dollars %{size} ways, giving out %{amt} each." % {:total => money, :size => ppl.size, :amt => amt}) add_event(id, id, :show, msg) else sendto _("You do not have enough to split %{size} ways." % {:size => ppl.size}) end else sendto _("You do not have enough money.") end else sendto _("You have nobody in your group to split it with.") end else sendto _("Usage: split <amount>") end end end