diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/atcommands.txt | 17 | ||||
-rw-r--r-- | doc/constants.md | 32 | ||||
-rw-r--r-- | doc/pet_db.txt | 196 | ||||
-rw-r--r-- | doc/script_commands.txt | 11 |
4 files changed, 247 insertions, 9 deletions
diff --git a/doc/atcommands.txt b/doc/atcommands.txt index 0cddc1680..65c3bb091 100644 --- a/doc/atcommands.txt +++ b/doc/atcommands.txt @@ -968,10 +968,19 @@ If no position is given, the command defaults to headgear. --------------------------------------- -@fakename {<text string>} - -Temporarily changes name to the specified string. -If no string is given, the character's real name will be re-applied. +@fakename {<options>} {<fake_name>} + +Temporarily changes the character's name to <fake_name>. +If no parameter is passed, the character's real name will be re-applied. +The <options> parameter is used, to modify which names will be displayed. +The fake name will always be displayed, regardless of <options>. +Valid <options> flags (combinable): + 0 - Only the fake name is displayed. (Default value.) + 1 - Display party name. + 2 - Display guild name. + 4 - Display guild position. + 8 - Display clan position. + 16 - Display title. --------------------------------------- diff --git a/doc/constants.md b/doc/constants.md index fb175ce83..f0c7f50c8 100644 --- a/doc/constants.md +++ b/doc/constants.md @@ -1339,6 +1339,13 @@ - `SC_RESIST_PROPERTY_WIND`: 667 - `SC_CLIENT_ONLY_EQUIP_ARROW`: 668 - `SC_MADOGEAR`: 669 +- `SC_POPECOOKIE`: 670 +- `SC_VITALIZE_POTION`: 671 +- `SC_SKF_MATK`: 672 +- `SC_SKF_ATK`: 673 +- `SC_SKF_ASPD`: 674 +- `SC_SKF_CAST`: 675 +- `SC_ALMIGHTY`: 676 ### Emotes @@ -4665,8 +4672,8 @@ - `MAX_ITEM_ID`: 2147483647 - `MAX_MENU_OPTIONS`: 255 - `MAX_MENU_LENGTH`: 2048 -- `MOB_CLONE_START`: 4001 -- `MOB_CLONE_END`: 5000 +- `MOB_CLONE_START`: 21001 +- `MOB_CLONE_END`: 22000 - `MAX_NPC_PER_MAP`: 512 ### status options @@ -5022,6 +5029,25 @@ - `PETINFO_EVO_EGGID`: 11 - `PETINFO_AUTOFEED`: 12 +### Pet hunger levels + +- `PET_HUNGER_STARVING`: 0 +- `PET_HUNGER_VERY_HUNGRY`: 10 +- `PET_HUNGER_HUNGRY`: 25 +- `PET_HUNGER_NEUTRAL`: 75 +- `PET_HUNGER_SATISFIED`: 90 +- `PET_HUNGER_STUFFED`: 100 + +### Pet intimacy levels + +- `PET_INTIMACY_NONE`: 0 +- `PET_INTIMACY_AWKWARD`: 1 +- `PET_INTIMACY_SHY`: 100 +- `PET_INTIMACY_NEUTRAL`: 250 +- `PET_INTIMACY_CORDIAL`: 750 +- `PET_INTIMACY_LOYAL`: 900 +- `PET_INTIMACY_MAX`: 1000 + ### monster skill states - `MSS_ANY`: -1 @@ -14774,6 +14800,7 @@ - `Elf_Tear_Curse`: 12880 - `Elf_Tear_Silence`: 12881 - `Elf_Tear_Blind`: 12882 +- `Almighty`: 12883 - `C_Center_Potion`: 12884 - `C_Awakening_Potion`: 12885 - `C_Berserk_Potion`: 12886 @@ -16642,6 +16669,7 @@ - `Tw_Red_Scroll`: 17210 - `Tw_Orange_Scroll`: 17211 - `Tw_Yellow_Scroll`: 17212 +- `Almighty_Box`: 17224 - `C_Center_Potion_Box`: 17226 - `C_Awakening_Potion_Box`: 17227 - `C_Berserk_Potion_Box`: 17228 diff --git a/doc/pet_db.txt b/doc/pet_db.txt new file mode 100644 index 000000000..140a8309d --- /dev/null +++ b/doc/pet_db.txt @@ -0,0 +1,196 @@ +//===== Hercules Documentation =============================== +//= Pet Database +//===== By: ================================================== +//= Hercules Dev Team +//===== Current Version: ===================================== +//= 20200102 +//===== Description: ========================================= +//= Explanation of the pet_db.conf file and structure. +//============================================================ + +pet_db: ( +{ + // ================ Mandatory fields ============================== + Id: ID (int) + Name: "Pet Name" (string) + EggItem: "Egg Item Constant" (string) + // ================ Optional fields =============================== + TamingItem: "Taming Item Constant" (string, defaults to 0) + FoodItem: "Food Item Constant" (string, defaults to 537 ("Pet_Food")) + AccessoryItem: "Equipment Item Constant" (string, defaults to 0) + FoodEffectiveness: hunger points (int, defaults to 80) + HungerDelay: hunger time (int, defaults to 60) + HungerDecrement: hunger points (int, defaults to 1) + Intimacy: { + Initial: start intimacy (int, defaults to 250) + FeedIncrement: feeding intimacy (int, defaults to 10) + OverFeedDecrement: overfeeding intimacy (int, defaults to 100) + OwnerDeathDecrement: owner die intimacy (int, defaults to 20) + StarvingDelay: starving time (int, defaults to 20) + StarvingDecrement: starving intimacy (int, defaults to 20) + } + CaptureRate: capture rate (int, defaults to 1000) + Speed: speed (int, defaults to 150) + SpecialPerformance: true/false (boolean, defaults to false) + TalkWithEmotes: convert talk (boolean, defaults to false) + AttackRate: attack rate (int, defaults to 300) + DefendRate: Defence attack (int, defaults to 300) + ChangeTargetRate: change target (int, defaults to 800) + AutoFeed: true/false (boolean, defaults to false) + PetScript: <" Pet Script (can also be multi-line) "> + EquipScript: <" Equip Script (can also be multi-line) "> + Evolve: { + EggID: { (string, Evolved Pet EggID) + Name: Amount (items required to perform evolution) + ... + } + } +}, +... +) + + * Id: + The ID of the monster that should be tamed. See mob_db.conf. + * Name: + The pet's default name. + * EggItem: + The name of the pet's egg item. See item_db.conf AegisName field. + * TamingItem: + The name of the item, which is used to tame the pet. + See item_db.conf AegisName field. + This field is optional and defaults to 0. + * FoodItem: + The name of the item, which is used to feed the pet. + See item_db.conf AegisName field. + This field is optional and defaults to Pet_Food (ID=537). + * AccessoryItem: + The name of the pet's accesssory item. + See item_db.conf AegisName field. + This field is optional and defaults to 0. + * FoodEffectiveness: + This field defines how many hunger points + are restored, when feeding the pet. + This field is optional and defaults to 80. + Minimum value is 1, maximum value is 100. + * HungerDelay: + This is the interval for consuming hunger points. + Every <HungerDelay> seconds, the pet will consume + <HungerDecrement> hunger points. + In official servers it's 60 seconds for every pet. + This field is optional and defaults to 60. + Minimum value is 0, maximum value is 2147483. + If set to 0, the pet won't consume hunger points. + * HungerDecrement: + How many hunger points will be consumed every <HungerDelay> seconds. + This field is optional and defaults to 1. + Minimum value is 0, maximum value is 99. + If set to 0, <HungerDelay> is automatically set to 0, too, + regardless of what value was defined. + * Intimacy: { + The <Intimacy> block contains all settings, + which affect the pet's intimacy value. + * Initial: + The amount of intimacy points, the pet will have when tamed. + This field is optional and defaults to 250. + Minimum value is 1, maximum value is 1000. + * FeedIncrement: + The amount of intimacy points, gained when feeding the pet. + Note: This value is used as base value. + The actual added amount depends on the pet's current hunger. + This field is optional and defaults to 10. + Minimum value is 1, maximum value is 1000. + * OverFeedDecrement: + The amount of intimacy points, lost when feeding the pet + if it isn't hungry. + Note: This value is used as base value. + The actual removed amount depends on the pet's current hunger. + This field is optional and defaults to 100. + Minimum value is 0, maximum value is 1000. + * OwnerDeathDecrement: + The amount of intimacy points, lost when its master dies. + This field is optional and defaults to 20. + Minimum value is 0, maximum value is 1000. + * StarvingDelay: + This is the interval for loosing intimacy points, + when the pet is starving. + The pet is starving, if it has no hunger points left. + Every <StarvingDelay> seconds, the pet will lose + <StarvingDecrement> intimacy points. + In official servers it's 20 seconds for all pets. + If <HungerDelay> is set to 0, <StarvingDelay> is set to 0, too, + regardless of what value was defined. + This field is optional and defaults to 20. + Minimum value is 0, maximum value is <HungerDelay>. + If set to 0, the pet won't lose intimacy points while starving. + * StarvingDecrement: + How many intimacy points will be lost every <StarvingDelay> seconds, + when the pet is starving. + This field is optional and defaults to 20. + Minimum value is 0, maximum value is 1000. + If set to 0, <StarvingDelay> is automatically set to 0, too, + regardless of what value was defined. + } + * CaptureRate: + The chance of success when taming the pet. + 10000 equals 100%. + This field is optional and defaults to 1000. + Minimum value is 1, maximum value is 10000. + * Speed: + The pet's moving speed. + Note: The lower the value, the higher the speed. + This field is optional and defaults to 150. + Minimum value is 20, maximum value is 1000. + * SpecialPerformance: + If 'true', the pet is allowed to do its special performance. + This field is optional and defaults to 'false'. + * TalkWithEmotes: + If 'true', the pet is allowed to talk by using emotes. + This field is optional and defaults to 'false'. + * AttackRate: + Chance for supporting when the master attacks a monster. + 10000 equals 100%. + This field is optional and defaults to 300. + Minimum value is 0, maximum value is 10000. + * DefendRate: + Chance for supporting when the master receives damage from a monster. + 10000 equals 100%. + This field is optional and defaults to 300. + Minimum value is 0, maximum value is 10000. + * ChangeTargetRate: + Chance for the pet changes its target when supporting. + 10000 equals 100%. + This field is optional and defaults to 800. + Minimum value is 0, maximum value is 10000. + * AutoFeed: + If 'true', the pet is fed automatically. + This field is optional and defaults to 'false'. + * PetScript: <" + This field is used for pet AI commands. See doc/script_commands.txt. + It will be executed every time, the pet's data gets initialized. + Everything you can do in a NPC script should work here, too, + but using the <EquipScript> field is recommended, when executing + other commands than the pet AI ones. + This field is optional and has no default value. + "> + * EquipScript: <" + This field is commonly used to apply bonuses to the the pet's master. + See doc/item_bonus.md. + It will be executed every time, the pet master's status is calculated. + Everything you can do in a NPC script should work here, too. + This field is optional and has no default value. + "> + * Evolve: { + The <Evolve> block is used to define which pet(s) can be eveolved + from the current pet. + This block is optional and has no default value. + * Evolved_Egg_Item_Name: { + The name of the egg item, which will be created when evolving. + You can add multiple <Evolved_Egg_Item_Name> blocks. + See item_db.conf AegisName field. + * Evolve_Item_Name: Amount + This is a pair of an item name and the corresponding amount which is + required to evolve the pet into <Evolved_Egg_Item_Name>. + You can add multiple <Evolve_Item_Name: Amount> pairs. + See item_db.conf AegisName field for item names. + } + } diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 392aa0c1f..3b77aeb2c 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -6575,17 +6575,22 @@ Examples: --------------------------------------- -*setpcblock(<type>,<option>) -*checkpcblock() +*setpcblock(<type>, <option>{, <account id>}) +*checkpcblock({<account id>}) -Prevents the player from doing the following action. +Prevents a character from doing the following action. For setpcblock, when the <option> is true(1) will block them, and false(0) will allow those actions again. +The setpcblock command returns 1 on success or 0 if no character was attached. + The checkpcblock command returned value is a bit mask of the currently enabled block flags (or PCBLOCK_NONE when none is set). +Parameter <account id> is optional for both commands. +If omitted, the currently attached character is used. + The <type> listed are a bit mask of the following: PCBLOCK_NONE (only used by checkpcblock) PCBLOCK_MOVE |