class Vital(MutableInt): """ Tracks a vital value (health, mana, etc) """ def __init__(self): self.signal = Signal(providing_args=['vital']) self.value = None self.max = None self.delta = None self.last = None self.percentage = None self.delta_percentage = None self.new = True def update(self, value, newmax=None): """ Update the vital's value """ if newmax: self.max = int(newmax) self.last = self.value self.value = int(value) if self.new: self.delta = 0 self.new = False else: self.delta = self.value - self.last self.delta_percentage = int(round(self.delta / self.max * 100)) self.percentage = int(round(self.value / self.max * 100)) if self.delta is not 0: self.signal.send(vital=self)
def __init__(self): self.signal = Signal(providing_args=['vital']) self.value = None self.max = None self.delta = None self.last = None self.percentage = None self.delta_percentage = None self.new = True
from __future__ import absolute_import from sage.dispatch.signal import Signal #: Connected to Achaea connected = Signal() #: Disconnected from Achaea disconnected = Signal() #: Processed lines about to go out to the client pre_outbound = Signal( providing_args=['raw_lines', 'lines', 'prompt', 'ansi_prompt']) #: Sage is lagging lagging = Signal() #: Sage is no longer lagging lag_recovered = Signal() #: Input from client wamp_input = Signal(providing_args=['data'])
def __init__(self): self.balance = True self.last_on = 0 self.last_off = 0 self.waiting = False self.signal = Signal(providing_args=['state'])
class Balance(object): """ Tracks a balance """ def __init__(self): self.balance = True self.last_on = 0 self.last_off = 0 self.waiting = False self.signal = Signal(providing_args=['state']) def is_on(self): """ Is this balance currently on balance? """ if self.waiting: return False return self.balance def on(self): """ Set to on balance """ self.waiting = False if self.balance == False: self.balance = True self.last_on = time() self.signal.send(state=True) def on_for(self): """ Return how long the balance has been available for or False if not""" if self.balance == False: return False return time() - self.last_on def off(self): """ Set to off balance """ self.waiting = False if self.balance == True: self.balance = False self.last_off = time() self.signal.send(state=False) def off_for(self): """ Return how long the balance has been off for or False if on """ if self.balance: return False return time() - self.last_off def wait(self): self.waiting = True def __repr__(self): if self.waiting: return str(False) return str(self.balance) def __eq__(self, other): if self.waiting: return False return self.balance == other def __nonzero__(self): if self.waiting: return False return self.balance
from __future__ import absolute_import from sage.dispatch.signal import Signal #: Blackout on/off blackout = Signal(providing_args=['blackout'])
class Balance(object): """ Tracks a balance """ def __init__(self): self.balance = True self.last_on = 0 self.last_off = 0 self.waiting = False self.signal = Signal(providing_args=['state']) def is_on(self): """ Is this balance currently on balance? """ if self.waiting: return False return self.balance def on(self): """ Set to on balance """ self.waiting = False if self.balance == False: self.balance = True self.last_on = time() self.signal.send(state=True) def on_for(self): """ If balance is on, returns how long it's been on for. If off, returns how long it last remained on for.""" return time() - self.last_on def off(self): """ Set to off balance """ self.waiting = False if self.balance == True: self.balance = False self.last_off = time() self.signal.send(state=False) def off_for(self): """ If balance is off, returns how long it's been off for. If on, returns how long it last remained off for.""" return time() - self.last_off def wait(self): self.waiting = True def __repr__(self): if self.waiting: return str(False) return str(self.balance) def __eq__(self, other): if self.waiting: return False return self.balance == other def __nonzero__(self): if self.waiting: return False return self.balance
from __future__ import absolute_import from sage.dispatch.signal import Signal #: Goodbye goodbye = Signal() #: Recieved a GMCP Ping from Achaea ping = Signal(providing_args=['latency']) #: Received a Char.Vitals vitals = Signal(providing_args=[ 'health', 'max_health', 'mana', 'max_mana', 'endurance', 'max_endurance', 'willpower', 'max_willpower', 'xp' ]) #: Updated room room = Signal(providing_args=['room']) #: Room has changed room_changed = Signal(providing_args=['room']) #: Updated room items room_items = Signal(providing_args=['items']) #: Item added to room room_add_item = Signal(providing_args=['item']) #: Item in room updated room_update_item = Signal(providing_args=['item']) #: Item removed from room