evennia/game/gamesrc/scripts/examples/bodyfunctions.py

64 lines
2.1 KiB
Python
Raw Normal View History

"""
Example script for testing. This adds a simple timer that
has your character make observations and noices at irregular
2012-03-30 23:57:04 +02:00
intervals.
2012-03-30 23:57:04 +02:00
To test, use
@script me = examples.bodyfunctions.BodyFunctions
The script will only send messages to the object it
is stored on, so make sure to put it on yourself
or you won't see any messages!
"""
2012-03-30 23:57:04 +02:00
import random
from ev import Script
class BodyFunctions(Script):
"""
This class defines the script itself
"""
2012-03-30 23:57:04 +02:00
def at_script_creation(self):
self.key = "bodyfunction"
self.desc = "Adds various timed events to a character."
self.interval = 20 # seconds
#self.repeats = 5 # repeat only a certain number of times
self.start_delay = True # wait self.interval until first call
#self.persistent = True
2012-03-30 23:57:04 +02:00
def at_repeat(self):
"""
2012-03-30 23:57:04 +02:00
This gets called every self.interval seconds. We make
a random check here so as to only return 33% of the time.
"""
2012-03-30 23:57:04 +02:00
if random.random() < 0.66:
# no message this time
return
rand = random.random()
# return a random message
2012-03-30 23:57:04 +02:00
if rand < 0.1:
string = "You tap your foot, looking around."
elif rand < 0.2:
string = "You have an itch. Hard to reach too."
elif rand < 0.3:
string = "You think you hear someone behind you. ... but when you look there's noone there."
elif rand < 0.4:
string = "You inspect your fingernails. Nothing to report."
elif rand < 0.5:
string = "You cough discreetly into your hand."
elif rand < 0.6:
string = "You scratch your head, looking around."
elif rand < 0.7:
string = "You blink, forgetting what it was you were going to do."
elif rand < 0.8:
string = "You feel lonely all of a sudden."
elif rand < 0.9:
string = "You get a great idea. Of course you won't tell anyone."
else:
string = "You suddenly realize how much you love Evennia!"
2012-03-30 23:57:04 +02:00
# echo the message to the object
self.obj.msg(string)