Quest: Witherspoon's ghost.

git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@18202 282e977c-c81d-0410-88c4-b93c2d0d6712
master
ryo_saeba 2012-06-10 15:47:38 +00:00
parent 33a43f7051
commit 53daa8b836
6 changed files with 65 additions and 3 deletions

View File

@ -82,6 +82,9 @@ def do_timer():
whoami.Say('I think there is a witch, Olandi or something, who lives south of Scorn and specializes in Devourers magic.')
whoami.Say('Maybe she could help you?')
if pl.QuestGetState("scorn/Witherspoon-ghost") <= 30:
pl.QuestSetState("scorn/Witherspoon-ghost", 40)
if command == 'give':
if whoami.ReadKey('examining_item') == '1':
pl.Message('The priest is busy.', color)

View File

@ -35,6 +35,8 @@ def start_disappear(ghost, player):
ghost.CreateTimer(5, 1)
ghost.StandStill = True
player.Write('The %s starts fading...'%ghost.Name)
if player.QuestGetState("scorn/Witherspoon-ghost") <= 50:
player.QuestSetState("scorn/Witherspoon-ghost", 60)
def found_body(player, rule):
'''Does the player have the body?'''
@ -61,9 +63,10 @@ def found_body(player, rule):
ghost.CreateTimer(10, 1)
ghost.Say('You fool! You lost my body!\nPrepare to feel my wrath!')
warn_player(player, ghost)
return False
if player.QuestGetState("scorn/Witherspoon-ghost") <= 60:
player.QuestSetState("scorn/Witherspoon-ghost", 70)
return has_body(player)
return False
def can_talk(player, rule):
'''Is the ghost angry or disappearing?
@ -80,6 +83,9 @@ def do_dialog():
pl = Crossfire.WhoIsActivator()
if pl.ReadKey('witherspoon_know_all') == '1':
# player found the real story, through Rolanda.
pl.WriteKey('witherspoon_know_all', '')
pl.WriteKey('witherspoon_know_dagger', '')
pl.WriteKey('witherspoon_ghost', '')
whoami.Say('Oh...')
whoami.Map.Print('The %s manages to blush.'%whoami.Name)
whoami.Say('Now I remember. I\'m so stupid. Poor Rolanda, will she ever forgive me...')
@ -107,7 +113,7 @@ def do_dialog():
speech.addRule(DialogRule(["help","yes","how"], prer, rmsg, postr),0)
prer = [["token","witherspoon_ghost","explain"]]
postr = [["settoken","witherspoon_ghost", "wait"]]
postr = [["settoken","witherspoon_ghost", "wait"], ["quest", "scorn/Witherspoon-ghost", 10]]
rmsg = ["I was walking near a lake west of Scorn, so maybe my body is buried here."]
speech.addRule(DialogRule(["where","location"], prer, rmsg, postr),1)

View File

@ -83,6 +83,8 @@ def explain():
whoami.Say('So I... I hide the body, hoping to forget him.')
whoami.Say('But now I can\'t forget him! Ever!')
pl.Write('You wonder what the ghost (Alfred, according to %s) will make of that...'%whoami.Name, color)
if pl.QuestGetState("scorn/Witherspoon-ghost") <= 40:
pl.QuestSetState("scorn/Witherspoon-ghost", 50)
if event.Subtype == Crossfire.EventType.USER and command == 'give':
do_give()

View File

@ -67,5 +67,7 @@ def main():
dagger.InsertInto(pl)
pl.Write('You find a body with a dagger in it!')
if pl.QuestGetState("scorn/Witherspoon-ghost") <= 10:
pl.QuestSetState("scorn/Witherspoon-ghost", 20)
main()

View File

@ -46,6 +46,9 @@ def do_timer():
return
whoami.Say('This dagger is pretty old, and is covered with runes. Unfortunately I can\'t describe what they mean, but they sure look like religious ones. Maybe you could go ask a priest?')
if pl.QuestGetState("scorn/Witherspoon-ghost") <= 20:
pl.QuestSetState("scorn/Witherspoon-ghost", 30)
if command == 'give':
if whoami.ReadKey('examining_item') == '1':

View File

@ -158,3 +158,49 @@ end_description
end_step
end_quest
quest scorn/Witherspoon-ghost
title Witherspoon's ghost
face ghost.111
description
I'm helping a ghost rest in peace.
end_description
restart 1
step 10
description
The ghost in Witherspoon asked me to fetch his body, which is somewhere on the shore of the lake west of Scorn.
end_description
end_step
step 20
description
I've found the body, and also a strange dagger.
end_description
end_step
step 30
description
I should talk to a priest to figure what the runes on the dagger mean.
end_description
end_step
step 40
description
The priest of Devourers suggested I go see a witch living south of Scorn.
end_description
end_step
step 50
description
Rolanda explained me the situation, I should go see the ghost in Witherspoon.
end_description
end_step
step 60
finishes_quest
description
I've brought back his body to the ghost, who went in peace.
end_description
end_step
step 70
finishes_quest
description
I've angered the ghost.
end_description
end_step
end_quest