55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
| import Crossfire
 | |
| from CFDataFile import CFDataFile, CFData
 | |
| 
 | |
| who = Crossfire.WhoAmI()
 | |
| event = Crossfire.WhatIsEvent()
 | |
| player = Crossfire.WhoIsActivator()
 | |
| message = Crossfire.WhatIsMessage().lower()
 | |
| 
 | |
| # questions giving free restoration
 | |
| questions = [
 | |
| 	'please tell me the name of the town we are in.',
 | |
| 	'tell me the name of the tavern east of Scorn.'
 | |
| ]
 | |
| # answers to above questions
 | |
| answers = ['scorn', 'goth']
 | |
| # level to remove depletion
 | |
| levels = [ 5, 5 ]
 | |
| 
 | |
| def player_status():
 | |
| 	header = ['uses']
 | |
| 	data = CFData('Scorn_HouseOfHealing', header)
 | |
| 	if data.exist(player.Name):
 | |
| 		return int(data.get_record(player.Name)['uses'])
 | |
| 	return 0
 | |
| 
 | |
| def player_set_status(uses):
 | |
| 	header = ['uses']
 | |
| 	data = CFData('Scorn_HouseOfHealing', header)
 | |
| 	record = { '#' : player.Name, 'uses' : uses }
 | |
| 	data.put_record(record)
 | |
| 
 | |
| def greet():
 | |
| 	who.Say('Welcome to the house of healing!\nThis is the place where injured and ill people get cured of their torments.')
 | |
| 
 | |
| def do_say():
 | |
| 	uses = player_status()
 | |
| 
 | |
| 	if (uses < len(questions)):
 | |
| 		if (message == answers[uses]):
 | |
| 			who.Say('Correct! Be restored!')
 | |
| 			result = player.RemoveDepletion(5)
 | |
| 			player_set_status(uses + 1)
 | |
| 			return
 | |
| 		greet()
 | |
| 		who.Say('If you wish me to restore your stats, %s'%questions[uses])
 | |
| 		return
 | |
| 
 | |
| 	greet()
 | |
| 
 | |
| if (event.Subtype == Crossfire.EventType.SAY):
 | |
| 	do_say()
 | |
| 
 | |
| 
 | |
| Crossfire.SetReturnValue(1)
 |