diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/FAQ.txt | 70 | ||||
-rw-r--r-- | docs/HACKING.txt | 5 | ||||
-rw-r--r-- | docs/items.txt | 198 | ||||
-rw-r--r-- | docs/packages.txt | 2 | ||||
-rw-r--r-- | docs/progression.txt | 129 | ||||
-rw-r--r-- | docs/sounddev.txt | 2 |
6 files changed, 5 insertions, 401 deletions
diff --git a/docs/FAQ.txt b/docs/FAQ.txt index 178608365..1ef57369a 100644 --- a/docs/FAQ.txt +++ b/docs/FAQ.txt @@ -8,63 +8,10 @@ Q: How to get help? A: The fastest way is to come on our IRC channel. There you can find a lot of nice people that will help you until you solve your problem. - Server: irc.freenode.net Channel: #themanaworld. - - If you don't like IRC just come to our forums: - - http://forums.themanaworld.org. - - Ok, do you think forums are evil? Don't worry, send us an e-mail at - themanaworld-devel@lists.sourceforge.net and you're done. That's not enough? - No, we don't share our phone numbers! ;P - - -GAME - -Q: I always get "Unregistered ID" error message, why? - -A: Is the first time you login? Have you registered an account? If not use the - "Register" button. If you already succesfully connected before, but now - you're getting this message, please get in touch (see "How to get help"). - -Q: I always get "Wrong password" but I'm sure I typed it right, why? - -A: If is the first time you login be sure you're not adding _M at the end of - your username. Otherwise just get in touch (see "How to get help"). - -Q: How can I talk to NPCs? - -A: Did you read README? Are you really sure? If not go read it and you'll find - all the known commands. Or just press F1 in game. If you notice the - README/ingame help is not up to date/wrong, please report it to the - developers. - -Q: I can't recover HP anymore. - -A: Check your inventory, if you've got lots of stuff probably you're - overweight, try to give away some of them. You get overweight when you're - carrying 50% of your maximum weight. - - -Git - -Q: What's Git? - -A: It's a system where is stored the latest development version. It's not - assured that it's stable, but surely it has the latest updates. (Git version - is updated quite frequently). If you want to check it out, read this guide - - http://wiki.themanaworld.org/index.php/Git - + Server: irc.freenode.net Channel: #manaplus. DEVELOPMENT -Q: When will the next version be released? - -A: We don't have scheduled releases, but usually a new release is available - every few months. Check http://themanaworld.org/ for further info. - - Q: How can I contribute? A: There are a lot of ways: @@ -72,17 +19,4 @@ A: There are a lot of ways: - If you're a programmer, an artist or just willing to help in any way, you can become part of the development team. Join our irc channel: - #themanaworld @ irc.freenode.net. - - There's also a wiki page about how to get involved: - - http://wiki.themanaworld.org/index.php/Joining_the_project - - - You can donate money. Follow the link on the project page: - - http://sourceforge.net/projects/themanaworld/ - - - You can be a beta tester. Just play The Mana World and report every - error to the bug tracker or on the forum. - - - Play with The Mana World: more players, more fun! Simple as that! ;-) + #manaplus @ irc.freenode.net. diff --git a/docs/HACKING.txt b/docs/HACKING.txt index ad2f341bb..a4f1d185b 100644 --- a/docs/HACKING.txt +++ b/docs/HACKING.txt @@ -1,10 +1,7 @@ ---------------------------- -Mana Hacking Guide +ManaPlus Hacking Guide ---------------------------- -This guide is also available at http://gitorious.org/mana/pages/Hacking -including more tips about C++ programming in general. - With multiple coders working on the same source files, there needs to be a standard specifying how code is written down. Not doing so can cause quite some annoyance for certain coders and easily creates more version conflicts than diff --git a/docs/items.txt b/docs/items.txt deleted file mode 100644 index 19c6b10cc..000000000 --- a/docs/items.txt +++ /dev/null @@ -1,198 +0,0 @@ -------------------------------- -THE MANA WORLD INVENTORY SYSTEM -------------------------------- - -1. INTRODUCTION -2. DATABASE -3. INVENTORY -4. EQUIPMENT -5. IMPLEMENTATION -6. SPECIAL ITEMS -7. PROTOCOL - -An item will have the following properties: - -C means info is used only by the client -S means info is used only by the server -C&S means info is used by both - -- id (C&S) -> unsigned int - - a positive integer uniquely identifying an item. - -- image (C) -> unsigned int - - used if same images are used for different items. - Maybe we need more image ids to tell which image (bigger one) to show in - equipment window or when equipping items in weapon slot. - -- name (C) -> char[30] - - to be shown in inventory. - -- description (C) -> char[100] - - a brief description shown in shops, or in the inventory - -- type (S) -> unsigned char - - server uses it to check if is an item or an equipment and send the - appropriate packet. - - * USABLE_ITEM (food, potions, ...) - * EQUIPMENT_ITEM (weapons, armors, ...) - * SLOT_ITEM (cards, materias, summoned beings, ...) - * SLOTTED_ITEM (bags, small chests, ...) - -- identify (S) -> unsigned char - - The server will check this flag if the items can be identified by the - player. - - * IDENTIFIED no need to identify the item - * IDENTIFY_ITEM you can identify it by using a special item - * IDENTIFY_MAGIC you can identify it by using a particular spell - * BLACKSMITH needs a blacksmith to be identified - * WIZARD needs a wizard to be identified (enchanted items) - * ANCIENT_BLACKSMITH - * ANCIENT_WIZARD - * NOT_IDENTIFIABLE reserved for future use - -- weight (C&S) -> unsigned short - - Used by server to calculate if the being can carry more items. The client - uses it to display the information to the player. - -- # of slots (C&S) -> unsigned char - - If this field is greater than 0 it means this one is a slotted item. - (Probably we can remove SLOTTED_ITEM from the type enumeration) - For example a bag will have 4 slots, while a chest about 10. - -- script (S) -> probably a file name to reference the script file - or class or name of class object - - Script to be executed when item is used/equipped. Events include: - - onPickup(Being b) The item is picked up by being b - onDrop(Being b) The item is dropped by being b - onUse(Being b) The item is used by being b - onUseWith(Being b, Object o) The item is used with object o by being b - onEquip(Being b) The item is equipped by being b - - -3. INVENTORY - -Inventory will contain any kind of weapons including non equipped items and -slotted items. Every being will have a variable number of slots to store items. -For example a maggot won't have any slot, while players could have a number of -slots depending on his strength. A pet could have one slot used to add a bag and -help the player carrying items. - -Hammerbear says: I think here we should go all the way with weight approach and -not have a slot limit. The same could be used for container items, that simply -have a contents that can hold a certain total weight. Places where slots are -then used is for equipment, where each slot maps onto a certain body part, and -possibly certain slotted items that have slots that can only hold a certain -type of item. - - -4. EQUIPMENT - -Every being will have a variable number of slots to equip items. For a human -player we will have the following slots: - -* 0 body -* 1 hair - 2 head (hat, helmet, etc.) - 3 neck (necklace) - 4 torso (body armour) - 5 right hand (weapons) - 6 left hand (shield, only available with no or one-handed weapon) - (ammunition, only available with certain weapons) - 7 left ring finger - 8 right ring finger - 9 legs (pants) - 10 feet (shoes) - -These slots will composite to form the character graphic. The order of the -composition is not the same in each direction and some slots do not contribute -to the final graphic. Draw order for each direction: - - left 0, 1, 2, 10, 9, 5, 4, 6 - right 0, 1, 2, 10, 9, 6, 4, 5 - up 0, 1, 2, 10, 9, 5, 6, 4 - down 0, 1, 2, 10, 9, 4, 6, 5 - -*) These slots are not under player control, but are merely used by the engine -so be able to change this as part of the same system. - - -5. IMPLEMENTATION - -Since both client and server will only need to store item ids, inventory and -equipment can be easily coded as unsigned int arrays. The only problem is -about slotted items. They for sure can't store another slotted item, but it's -hard to represent them as an int. Probably a more complex structure is needed. - -struct ITEM_HOLDER { - int id; - int quantity; - ITEM_HOLDER *item; -} - -ITEM_HOLDER inventory[number_of_slots]; -ITEM_HOLDER equipment[number_of_slots]; - -If item is not NULL it will reference an array of items stored in the slotted -item. - -How to limit the quantity of items? We could have a fixed number of slots in the -inventory. In one slot you can store only items with the same id (except slotted -items which need separate slots). When you pick up/receive a new item, total -weigth you can carry is checked if the item can be stored. - - -6. SPECIAL ITEMS - -A special case is represented by arrow holder. Possible solutions: - - - Equipment will have a special slot where you can equip only arrows - (or stones) - - - Item with one slot - - - Arrows can be simply stored in inventory - - - Arrow holder has special slot for items of type "arrow" that can hold up - to a certain maximum number of arrows. - -Weapons can store a limited number of items in their slots. In this kind of -slots you can store materia, demons or arrows. Some examples, with XML test -cases based on 4th solution above. - - * Arrow holder = max 100 arrows (1 slot) - - <item name="Medium quiver" ...> - <slot type="arrow" max="100"/> - </item> - - * Sword of chaos = max 1 materia + 2 demons (2 slot) - - <item name="Sword of chaos" ...> - <slot type="materia" max="1"/> - <slot type="demon" max="2"/> - </item> - - * Bag that can hold 5 kg of arbitrary stuff (container). - - <item name="Leather bag" weight="1" ... capacity="5"/> - - The rationale of being able to carry 5 kg of stuff at the cost of only - 1 kg is that the bag helps you carry the stuff by providing a convenient - way to hold it. - - -7. PROTOCOL - -To be defined. diff --git a/docs/packages.txt b/docs/packages.txt index b46502414..779b9eb6b 100644 --- a/docs/packages.txt +++ b/docs/packages.txt @@ -1,5 +1,5 @@ ----------------------------- -MANA PACKAGE SYSTEM +MANAPLUS PACKAGE SYSTEM ----------------------------- 1. INTRODUCTION diff --git a/docs/progression.txt b/docs/progression.txt deleted file mode 100644 index a25cf11fd..000000000 --- a/docs/progression.txt +++ /dev/null @@ -1,129 +0,0 @@ ------------------------------------ -THE MANA WORLD PLAYER'S PROGRESSION ------------------------------------ - -1. PLAYER'S STATS -2. PLAYER'S STATUS -3. AN ATTACK PROCESS -4. LEVELS - -1. PLAYER'S STATS - -Strength : The Strength determines how much a player will physically damage - an enemy. - -Vitality : The Vitality deals with the player's HP, and damage resistance. - -Agility : The Agility determines the attacks frequency of a player, and - the ability to escape attacks from an encounter. - -Intelligence : The Intelligence determines how many MP a player can have, how - many abilities he can master, and how strong his magic attacks - can be. - -Spirit : The Spirit deals with the player's magic resistance, and also - with magic effectiveness. - -Luck : The Player's Luck determines the player's evades, how he can - deals critical attacks, and a little bit with the hit - percentage. - -A Player has got 11 points to distribute to each stat before beginning at -level 1. A Stat must have at least 1 point given to it. The Player earns 1 -point for each level he reaches. - - -2. PLAYER'S STATUS - -HP : Hit Points. How much a player can be hit before dying. - HP = (3 * Vitality) + Strength + Level - -MP : Magic Points. Used by Spells, or Special Skills. - MP = 2 * Intelligence + Spirit - -Attack : The Attack tells how much exactly the player will reduce the - opponent's HP, minus its defense and extra protection. - Attack = 3 * Strength + Luck - -Defense : The Defense will reduce the HP damage taken by an opponent. - Defense = 2 * Vitality + Agility + Luck - -Magic Attack : Same but for the might of your spells. - Magic Attack = 3 * Intelligence + Spirit - -Magic Defense : Same but for the defense against magic skills and spells. - Magic Defense = 3 * Spirit + Luck - -Hit (%) : Indicate the chance a player has to hit an opponent. The Score - is in percentage. - Hit = ((3 * Luck + 2 * Agility + Intelligence) / 6) * 10 - (Max : 125 %) - -Evade (%) : Indicate the chance a player has to evade an opponent's hit. - The score is in percentage. - Evade = ((3 * Luck + Spirit + Vitality )/5) (Max : 75 %) - - -3. AN ATTACK PROCESS - -An attack process is quite simple : -The Hit(%) of the attacker is taken, minus the evade of the opponent. -A random score is taken by the server and if it's less than the Attacker's Hit -modified, the attacker actually hits the opponent. -N.B. : A magic attack never miss if it isn't based on status changing. -For instance, a fire ball always touches the opponent. - -Then, the attack plus the its modifiers (weapons attack upgrade, items bonus, -...) minus the opponent defense (plus bonus) is taken to reduce the opponent -HP. - - -4. LEVELS - -The XP-For-The-Next-Level of a player is calculated with his/her class number. -Cf. Class Number for more information. Higher is the class, higher is the class -number. - -Minimum XP For This Level = Level^3 + ClassNumber * Level. -XP For Next Level = (Level + 1)^3 + ClassNumber * (Niveau + 1). - -To be of a level, a player must have an actual XP which is between minimum and -xp for next level. -N.B. : A player earns 1 stat point for each level he reaches. - - -5. JOB POINTS - -Job Points are used to get skill points, that can be used to learned and -reinforce special skills, which can be acquired by being of certain classes. - -Job points are obtained by job leveling. -!! : Changing the class of a character reset to the job level of the character - the last time he was of that class. It can be zero if the player has never - been of this class! - -Job level : 20 + 2^Level + Level. - -6. CLASSES - -A player can be one of mutiple classes ; A wizard is different from a archer, -and can't held the same weapons, armors, etc... A score is associated with each -class defining how hard it is to level for a player. Also, special skills can -be learned from each classes, by giving them skill points, earned by gaining -job points. - -Classes --- Class Nr -- Skill Associated ------------------- Conditions ------- - -Beginner 16 Sitting (JobLvl : 4) -Apprentice 17 Fire Ball, Ice Needles (JobLvl : 4) Beginner Lvl:10 -Archer 17 Hard Shot, Line Shot (JL:5) Beginner Lvl:10 -Peon 17 Double Hit, Hard Hit(JL:5) Beginner Lvl:10 -... - - -7. NOTES - -Every of these notes have to be discussed, if you have any feedback, -suggestions, updates, commit or tell them at: - -address: irc://irc.freenode.net channel: #themanaworld diff --git a/docs/sounddev.txt b/docs/sounddev.txt index 149150bab..08a5ea80f 100644 --- a/docs/sounddev.txt +++ b/docs/sounddev.txt @@ -1,5 +1,5 @@ -------------------------------- -THE MANA WORLD SOUND DEVELOPMENT +THE MANAPLUS SOUND DEVELOPMENT -------------------------------- 1. INTRODUCTION |