コード例 #1
0
ファイル: Say.py プロジェクト: DaneBettis/python_mud
	def execute(self, receiver, event):
		actor	= event.attributes['data']['source']
		words	= event.attributes['data']['args']
		
		if words == None or len(words) == 0:
			feedbackEvent									= Event()
			feedbackEvent.attributes['signature']			= 'received_feedback'
			feedbackEvent.attributes['data']['feedback']	= 'Say what?'
			
			actor.receiveEvent(feedbackEvent)
		else:
			roomID		= actor.attributes['roomID']
			room		= RoomEngine.getRoom(roomID)
			speakEvent	= Event()
			sentence	= ''
			
			for word in words:
				sentence = '{} {}'.format(sentence, word)
				
			speakEvent.attributes['signature']				= 'actor_emoted'
			speakEvent.attributes['data']['emoter']			= actor
			speakEvent.attributes['data']['target']			= None
			speakEvent.attributes['data']['emoterText']		= 'You say, "{}".'.format(sentence[1:])
			speakEvent.attributes['data']['audienceText']	= '{} says, "{}".'.format(actor.attributes['name'], sentence[1:])
			
			room.receiveEvent(speakEvent)
コード例 #2
0
ファイル: Go.py プロジェクト: DaneBettis/python_mud
	def execute(self, receiver, event):
		cmd		= event.attributes['data']['command']
		args	= event.attributes['data']['args']
		actor	= event.attributes['data']['source']
		roomID	= actor.attributes['roomID']
		room	= RoomEngine.getRoom(roomID)
		
		if cmd != 'go':
			args = [cmd]
		
		if args == None or len(args) == 0:
			feedbackEvent									= Event()
			feedbackEvent.attributes['signature']			= 'received_feedback'
			feedbackEvent.attributes['data']['feedback']	= 'Go where?'
			
			actor.receiveEvent(feedbackEvent)
			
			return
		
		moveEvent									= Event()
		moveEvent.attributes['signature']			= 'actor_moved'
		moveEvent.attributes['data']['direction']	= args[0]
		moveEvent.attributes['data']['source']		= actor
		
		room.receiveEvent(moveEvent)
コード例 #3
0
ファイル: Look.py プロジェクト: DaneBettis/python_mud
	def execute(self, receiver, event):
		args		= event.attributes['data']['args']
		actor		= event.attributes['data']['source']
		roomID		= actor.attributes['roomID']
		room		= RoomEngine.getRoom(roomID)
		lookEvent	= Event()
		
		lookEvent.attributes['data']['observer'] = actor
		
		if args == None or len(args) == 0:
			lookEvent.attributes['signature'] = 'was_observed'
		else:
			lookEvent.attributes['signature']		= 'actor_observed'
			lookEvent.attributes['data']['target']	= args[0]
		
		room.receiveEvent(lookEvent)
コード例 #4
0
ファイル: Emote.py プロジェクト: DaneBettis/python_mud
    def execute(self, receiver, event):
        emoteEvent = Event()
        emoter = event.attributes["data"]["source"]
        args = event.attributes["data"]["args"]
        roomID = emoter.attributes["roomID"]
        room = RoomEngine.getRoom(roomID)
        data = None

        if args == None or len(args) == 0:
            data = self.eventTemplate["untargeted"].copy()
            data["target"] = None
        else:
            data = self.eventTemplate["targeted"].copy()
            data["target"] = args[0]

        data["emoter"] = emoter

        emoteEvent.attributes["signature"] = "actor_emoted"
        emoteEvent.attributes["data"] = data

        room.receiveEvent(emoteEvent)