diff options
Diffstat (limited to 'doc/quest_variables.md')
-rw-r--r-- | doc/quest_variables.md | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/doc/quest_variables.md b/doc/quest_variables.md deleted file mode 100644 index 2f8922c41..000000000 --- a/doc/quest_variables.md +++ /dev/null @@ -1,262 +0,0 @@ -# Quest Variables - -<!-- -## Copyright -> This file is part of Hercules. -> http://herc.ws - http://github.com/HerculesWS/Hercules -> -> Copyright (C) 2012-2018 Hercules Dev Team -> Copyright (C) Athena Dev Teams -> -> Hercules is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -> -> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -> See the GNU General Public License for more details. -> -> You should have received a copy of the GNU General Public License along with this program. -> If not, see <http://www.gnu.org/licenses/>. ---> - -## Description -This file should help to understand and manage bit-wise quest variables. -You can store up to 31 boolean value into a single variable. - -## Sample Variable: `MISC_QUEST` - -Quest # No | Sample Quest -:-------------| :------------ -Description | How to assign a bit-wise value and check it. -Assign Value | ```MISC_QUEST = MISC_QUEST \| X;``` -Check Value | ```if (MISC_QUEST & X) { ... }``` - -- Where `X` refer to the bit-wise value that could be used to represent the state/progress of a quest. - --------------------------------------------------------------- - -## Example - -Quest # 1 | Juice Maker Quest -:-------------| :------------ -Description | How to make juices. This bit keeps final state of the quest. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 1;``` -Check Value | ```if (MISC_QUEST & 1) { ... }``` - -Quest # 2 | Tempestra Quest -:-------------| :------------ -Description | Determines if player has given a potion to Tempestra. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 2;``` -Check Value | ```if (MISC_QUEST & 2) { ... }``` - -Quest # 3 | Morgenstein Quest -:-------------| :------------ -Description | How to make Mixture & Counteragent. This bit keeps final state of the quest. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 4;``` -Check Value | ```if (MISC_QUEST & 4) { ... }``` - -Quest # 4 | Prontera Culvert Quest -:-------------| :------------ -Description | Determines if player can enter Prontera Culverts. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 8;``` -Check Value | ```if (MISC_QUEST & 8) { ... }``` - -Quest # 5 | Edgar's Offer -:-------------| :------------ -Description | Cheap ticket from Izlude to Alberta. This bit keeps final state of the quest. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 16;``` -Check Value | ```if (MISC_QUEST & 16) { ... }``` - -Quest # 6 | Piano Quest -:-------------| :------------ -Description | The only way from Niflheim to Umbala. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 32;``` -Check Value | ```if (MISC_QUEST & 32) { ... }``` - -Quest # 7 | Bio Ethics Quest -:-------------| :------------ -Description | Quest for homunculus skill for alchemists. This bit keeps final state of the quest. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 64;``` -Check Value | ```if (MISC_QUEST & 64) { ... }``` - -Quest # 8 | DTS Warper -:-------------| :------------ -Description | Determines if player has already voted. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 128;``` -Check Value | ```if (MISC_QUEST & 128) { ... }``` - -Quest # 9 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 256;``` -Check Value | ```if (MISC_QUEST & 256) { ... }``` - -Quest # 10 | Cube Room -:-------------| :------------ -Description | Lighthalzen Cube Room quest (to enter Bio-Lab) -Assign Value | ```MISC_QUEST = MISC_QUEST \| 512;``` -Check Value | ```if (MISC_QUEST & 512) { ... }``` - -Quest # 11 | Reset Skills Event -:-------------| :------------ -Description | Yuno, Hypnotist Teacher -Assign Value | ```MISC_QUEST = MISC_QUEST \| 1024;``` -Check Value | ```if (MISC_QUEST & 1024) { ... }``` - -Quest # 12 | Slotted Arm Guard Quest -:-------------| :------------ -Description | Ninja Job Room, Boshuu -Assign Value | ```MISC_QUEST = MISC_QUEST \| 2048;``` -Check Value | ```if (MISC_QUEST & 2048) { ... }``` - -Quest # 13 | Improved Arm Guard Quest -:-------------| :------------ -Description | Ninja Job Room, Basshu -Assign Value | ```MISC_QUEST = MISC_QUEST \| 4096;``` -Check Value | ```if (MISC_QUEST & 4096) { ... }``` - -Quest # 14 | Rachel Sanctuary Quest -:-------------| :------------ -Description | Determines if player can access Rachel Santuary. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 8192;``` -Check Value | ```if (MISC_QUEST & 8192) { ... }``` - -Quest # 15 | Message Delivery Quest -:-------------| :------------ -Description | Send a message to Elly, in Niflheim from Erious. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 16384;``` -Check Value | ```if (MISC_QUEST & 16384) { ... }``` - -Quest # 16 | Umbala Domestic Dispute? -:-------------| :------------ -Description | Reward: 1 Yggdrasil Leaf. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 32768;``` -Check Value | ```if (MISC_QUEST & 32768) { ... }``` - -Quest # 17 | Access to the Turtle Island -:-------------| :------------ -Description | Reward: ~1 Old Card Album , Old Violet Box, GB. -Assign Value | ```MISC_QUEST = MISC_QUEST \| 65536;``` -Check Value | ```if (MISC_QUEST & 65536) { ... }``` - -Quest # 18 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 131072;``` -Check Value | ```if (MISC_QUEST & 131072) { ... }``` - -Quest # 19 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 262144;``` -Check Value | ```if (MISC_QUEST & 262144) { ... }``` - -Quest # 20 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 524288;``` -Check Value | ```if (MISC_QUEST & 524288) { ... }``` - -Quest # 21 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 1048576;``` -Check Value | ```if (MISC_QUEST & 1048576) { ... }``` - -Quest # 22 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 2097152;``` -Check Value | ```if (MISC_QUEST & 2097152) { ... }``` - -Quest # 23 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 4194304;``` -Check Value | ```if (MISC_QUEST & 4194304) { ... }``` - -Quest # 24 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 8388608;``` -Check Value | ```if (MISC_QUEST & 8388608) { ... }``` - -Quest # 25 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 16777216;``` -Check Value | ```if (MISC_QUEST & 16777216) { ... }``` - -Quest # 26 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 33554432;``` -Check Value | ```if (MISC_QUEST & 33554432) { ... }``` - -Quest # 27 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 67108864;``` -Check Value | ```if (MISC_QUEST & 67108864) { ... }``` - -Quest # 28 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 134217728;``` -Check Value | ```if (MISC_QUEST & 134217728) { ... }``` - -Quest # 29 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 268435456;``` -Check Value | ```if (MISC_QUEST & 268435456) { ... }``` - -Quest # 30 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 536870912;``` -Check Value | ```if (MISC_QUEST & 536870912) { ... }``` - -Quest # 31 | - -:-------------| :------------ -Description | - -Assign Value | ```MISC_QUEST = MISC_QUEST \| 1073741824;``` -Check Value | ```if (MISC_QUEST & 1073741824) { ... }``` - -### Quest#32 and onwards -You had to use a new variable to store it. -The existing variable `MISC_QUEST`'s value may overflow as it already reaching the max value. -Basically the cycle repeat every 32th quests, unless the limit has been lifted in the future. - - No | Formulae | Bits Value | Accumulate -:--:|:-----------:|-----------:|-------------: - 1 | 2 ^ 0 | 1 | 1 - 2 | 2 ^ 1 | 2 | 3 - 3 | 2 ^ 2 | 4 | 7 - 4 | 2 ^ 3 | 8 | 15 - 5 | 2 ^ 4 | 16 | 31 - 6 | 2 ^ 5 | 32 | 63 - 7 | 2 ^ 6 | 64 | 127 - 8 | 2 ^ 7 | 128 | 255 - 9 | 2 ^ 8 | 256 | 511 - 10 | 2 ^ 9 | 512 | 1023 - 11 | 2 ^ 10 | 1024 | 2047 - 12 | 2 ^ 11 | 2048 | 4095 - 13 | 2 ^ 12 | 4096 | 8191 - 14 | 2 ^ 13 | 8192 | 16383 - 15 | 2 ^ 14 | 16384 | 32767 - 16 | 2 ^ 15 | 32768 | 65535 - 17 | 2 ^ 16 | 65536 | 131071 - 18 | 2 ^ 17 | 131072 | 262143 - 19 | 2 ^ 18 | 262144 | 524287 - 20 | 2 ^ 19 | 524288 | 1048575 - 21 | 2 ^ 20 | 1048576 | 2097151 - 22 | 2 ^ 21 | 2097152 | 4194303 - 23 | 2 ^ 22 | 4194304 | 8388607 - 24 | 2 ^ 23 | 8388608 | 16777215 - 25 | 2 ^ 24 | 16777216 | 33554431 - 26 | 2 ^ 25 | 33554432 | 67108863 - 27 | 2 ^ 26 | 67108864 | 134217727 - 28 | 2 ^ 27 | 134217728 | 268435455 - 29 | 2 ^ 28 | 268435456 | 536870911 - 30 | 2 ^ 29 | 536870912 | 1073741823 - 31 | 2 ^ 30 | 1073741824 | 2147483647 - |