Mercurial > skaapsteker
annotate skaapsteker/dialogue.py @ 190:e4b466368b89
Fix dialogue.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Wed, 06 Apr 2011 21:19:26 +0200 |
parents | c3dfcd241c3a |
children | 897eec397cbb |
rev | line source |
---|---|
153
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
1 import json |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
2 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
3 from . import data |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
4 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
5 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
6 class DSM(object): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
7 """Dialogue State Machine! |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
8 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
9 Parameters |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
10 ---------- |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
11 json_filename : str |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
12 Path to file under data/ that contains JSON description |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
13 of state machine. |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
14 world : object |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
15 Something to allow states to introspect the game state with. |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
16 """ |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
17 |
190 | 18 def __init__(self, json_filename, world): |
153
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
19 self.world = world |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
20 self.state = "start" |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
21 self.states = AttrDict() |
190 | 22 src = json.loads(data.load(json_filename).read()) |
153
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
23 for state, state_src in src.iteritems(): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
24 pseudo_path = [json_filename, state] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
25 self.states[state] = DsmState(state, state_src, pseudo_path) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
26 assert self.state in self.states, "DSM must have start state" |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
27 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
28 def get_state(self): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
29 return self.states[self.state] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
30 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
31 def event(self, ev): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
32 my_locals = { |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
33 "state": self.states, |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
34 "world" : self.world, |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
35 } |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
36 my_locals.update(ev.items) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
37 state = self.states[self.state] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
38 next_state = state.event(my_locals) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
39 if next_state.name in self.states: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
40 self.state = next_state.name |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
41 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
42 def choice(self, i): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
43 self.event(DsmEvent(choice=i)) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
44 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
45 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
46 class AttrDict(dict): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
47 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
48 def __getattr__(self, name): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
49 if name not in self: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
50 raise AttributeError("No attribute %r" % (name,)) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
51 return self[name] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
52 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
53 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
54 class DsmEvent(object): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
55 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
56 def __init__(self, choice=None): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
57 self.items = { |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
58 "choice": choice, |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
59 } |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
60 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
61 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
62 class DsmState(object): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
63 """State within a DSM. |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
64 """ |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
65 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
66 def __init__(self, name, state_src, base_path): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
67 self.name = name |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
68 self.text = state_src.get("text", None) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
69 self.choices = [] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
70 self.triggers = [] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
71 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
72 choices = state_src.get("choices", []) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
73 for i, choice in enumerate(choices): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
74 pseudo_path = base_path + ["choice-%d" % i] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
75 self.choices.append((i, choice["text"])) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
76 next_state_code = choice.get("next", None) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
77 if next_state_code is not None: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
78 self.triggers.append( |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
79 Trigger("choice == %d" % i, next_state_code, pseudo_path)) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
80 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
81 events = state_src.get("events", []) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
82 for i, event in enumerate(events): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
83 pseudo_path = base_path + ["event-%d" % i] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
84 self.triggers.append(Trigger(event["matches"], event["next"], |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
85 pseudo_path)) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
86 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
87 auto_next = state_src.get("auto_next", None) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
88 if auto_next is not None: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
89 pseudo_path = base_path + ["auto_next"] |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
90 self.triggers.append(Trigger("""True""", auto_next, pseudo_path)) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
91 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
92 def __repr__(self): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
93 return "<%r name=%r>" % (self.__class__.__name__, self.name) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
94 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
95 def event(self, my_locals): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
96 for trigger in self.triggers: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
97 next_state = trigger.fire(my_locals) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
98 if next_state is not None: |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
99 return next_state |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
100 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
101 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
102 class Trigger(object): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
103 """Matches DSM events and triggers state transitions. |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
104 """ |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
105 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
106 def __init__(self, matches_code, next_state_code, pseudo_path): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
107 self._matches = compile(matches_code, |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
108 "<%s>" % ":".join(pseudo_path + ["match"]), |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
109 "eval") |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
110 self._next_state = compile(next_state_code, |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
111 "<%s>" % ":".join(pseudo_path + ["next"]), |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
112 "eval") |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
113 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
114 def fire(self, my_locals): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
115 if eval(self._matches, {}, my_locals.copy()): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
116 return eval(self._next_state, {}, my_locals.copy()) |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
117 return None |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
118 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
119 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
120 class DummyWorld(object): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
121 |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
122 def __init__(self): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
123 self._fox_has_tea = False |
171
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
124 self._fox_is_shapeshifted = False |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
125 self._fox_is_disguised = False |
153
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
126 |
179
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
127 self._fire_started = False |
180 | 128 self._cannon_destroyed = False |
179
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
129 |
181
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
130 self._vase_broken = False |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
131 self._fish_in_house = False |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
132 self._torn_kimono = False |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
133 |
185 | 134 self._masks_destroyed = False |
135 | |
179
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
136 self.npcs = {} |
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
137 |
180 | 138 def npc_is(self, npc_name, state): |
139 return self.npcs[npc_name].state == state | |
140 | |
153
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
141 def fox_has_tea(self): |
704d23022f09
Start of dialogue tree / NPC state machine support.
Simon Cross <hodgestar@gmail.com>
parents:
diff
changeset
|
142 return self._fox_has_tea |
171
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
143 |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
144 def fox_is_shapeshifted(self): |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
145 return self._fox_is_shapeshifted |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
146 |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
147 def fox_is_disguised(self): |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
148 return self._fox_is_disguised |
13e10b877f6c
dialogue tree for temple guard
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
153
diff
changeset
|
149 |
179
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
150 def fire_started(self): |
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
151 return self._fire_started |
a7cdf8458edd
ichiro and hattori, plus stuff for querying npc state from the world
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
171
diff
changeset
|
152 |
180 | 153 def cannon_destroyed(self): |
154 return self._cannon_destroyed | |
181
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
155 |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
156 def vase_broken(self): |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
157 return self._vase_broken |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
158 |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
159 def fish_in_house(self): |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
160 return self._fish_in_house |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
161 |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
162 def torn_kimono(self): |
77228c101cfc
kumiko and kaneda
Adrianna Pińska <adrianna.pinska@gmail.com>
parents:
180
diff
changeset
|
163 return self._torn_kimono |
185 | 164 |
165 def masks_destroyed(self): | |
166 return self._masks_destroyed |