28 lines
830 B
Python
28 lines
830 B
Python
import CFBank
|
|
import Crossfire
|
|
|
|
activator = Crossfire.WhoIsActivator()
|
|
whoami = Crossfire.WhoAmI()
|
|
|
|
def get_inventory(obj):
|
|
"""An iterator for a given object's inventory."""
|
|
current_item = obj.Inventory
|
|
while current_item != None:
|
|
next_item = current_item.Below
|
|
yield current_item
|
|
current_item = next_item
|
|
|
|
def deposit_box_close():
|
|
"""Find the total value of items in the deposit box and deposit."""
|
|
total_value = 0
|
|
for obj in get_inventory(whoami):
|
|
if obj.Name != 'event_close':
|
|
total_value += obj.Value * obj.Quantity
|
|
obj.Remove()
|
|
with CFBank.open() as bank:
|
|
bank.deposit(activator.Name, total_value)
|
|
whoami.Say("%s credited to your account." \
|
|
% Crossfire.CostStringFromValue(total_value))
|
|
|
|
deposit_box_close()
|