diff options
author | Fate <fate-tmw@googlemail.com> | 2009-06-06 07:46:33 +0000 |
---|---|---|
committer | Fate <fate-tmw@googlemail.com> | 2009-06-06 07:46:33 +0000 |
commit | d8767bf2587a14a46c86f8ced7a9653ef3c52c0d (patch) | |
tree | b5aae7288ce3972b6d15d2c9e29ab4c4a17b4f80 | |
parent | 96a3ac1608a6096114bf4c5a5417f8865703cfbc (diff) | |
download | serverdata-d8767bf2587a14a46c86f8ced7a9653ef3c52c0d.tar.gz serverdata-d8767bf2587a14a46c86f8ced7a9653ef3c52c0d.tar.bz2 serverdata-d8767bf2587a14a46c86f8ced7a9653ef3c52c0d.tar.xz serverdata-d8767bf2587a14a46c86f8ced7a9653ef3c52c0d.zip |
Fixed spirit to write to QUEST_MAGIC2 variable, doc updates
-rw-r--r-- | npc/005-1_Snake_desert/spirit.txt | 2 | ||||
-rw-r--r-- | npc/009-2_Hurnscald/wyara.txt | 6 | ||||
-rw-r--r-- | npc/doc/magic | 10 |
3 files changed, 17 insertions, 1 deletions
diff --git a/npc/005-1_Snake_desert/spirit.txt b/npc/005-1_Snake_desert/spirit.txt index ad835121..a7f8dd04 100644 --- a/npc/005-1_Snake_desert/spirit.txt +++ b/npc/005-1_Snake_desert/spirit.txt @@ -287,7 +287,7 @@ L_close: S_update_var: set QUEST_MAGIC2, - (QUEST_MAGIC & ~(@Q_MASK) + (QUEST_MAGIC2 & ~(@Q_MASK) | (@Q_status << @Q_SHIFT)); return; } diff --git a/npc/009-2_Hurnscald/wyara.txt b/npc/009-2_Hurnscald/wyara.txt index a799cdf0..0e62fccb 100644 --- a/npc/009-2_Hurnscald/wyara.txt +++ b/npc/009-2_Hurnscald/wyara.txt @@ -11,6 +11,12 @@ set @STATUS_PURIFY_ONCE, 2; set @STATUS_PURIFY_TWICE, 3; set @STATUS_PURIFY_OVER, 4; + set @STATUS_MAX, @STATUS_PURIFY_OVER; + + // This operation + if (@Q_status > @Q_STATUS_MAX) + set @Q_status, @STATUS_INITIAL; + callsub S_update_var; set @has_magic, getskilllv(SKILL_MAGIC); diff --git a/npc/doc/magic b/npc/doc/magic index 931e637e..3e5863e0 100644 --- a/npc/doc/magic +++ b/npc/doc/magic @@ -11,3 +11,13 @@ Nibble use: N1: Elanore N2: Wyara N3: Elanore subquests (Cure Kadiya) + N4-N7: may be messy at this point + +The various magic scripts pack their status into these variables. +Locally, they use `@Q_status' to maintain the state, and use a function +`S_update_var' to update it. This is all re-using the same code, setting +the `@Q_MASK' and `@Q_SHIFT' variables appropriately. + + There are a few exceptions (such as the Kadiya quest) wherein +a separate helper function sets a dedicated local variable, or some hackery +in Auldsbel wherein we read stati directly, merely to enable certain options.
\ No newline at end of file |