summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgumi <git@gumi.ca>2020-07-29 15:43:55 +0000
committergumi <git@gumi.ca>2020-07-29 15:45:00 +0000
commite09d39c59fb7fb15f9dda55299ff11619901331e (patch)
tree9b5c2d20e4dfa184218c8609da2fed562a12fc13
parentdb6b9ca302a14f849dafb01d856a8d106cc60b07 (diff)
downloaddocs-e09d39c59fb7fb15f9dda55299ff11619901331e.tar.gz
docs-e09d39c59fb7fb15f9dda55299ff11619901331e.tar.bz2
docs-e09d39c59fb7fb15f9dda55299ff11619901331e.tar.xz
docs-e09d39c59fb7fb15f9dda55299ff11619901331e.zip
update for Hercules v2020.07.26
-rw-r--r--server/items/item_bonus.md2
-rw-r--r--server/scripts/constants.md15
-rw-r--r--server/scripts/script_commands.txt73
3 files changed, 49 insertions, 41 deletions
diff --git a/server/items/item_bonus.md b/server/items/item_bonus.md
index 7c85474..36a47e4 100644
--- a/server/items/item_bonus.md
+++ b/server/items/item_bonus.md
@@ -274,6 +274,8 @@ bonus2 bMagicAtkEle,`e`,`n`; | Increases damage of element `e` magic by
bonus3 bAddEle,`e`,`n`,`bf`; | +n% physical damage against element `e`
bonus2 bSubEle,`e`,`n`; | +n% Damage reduction against element `e`
bonus3 bSubEle,`e`,`n`,`bf`; | +n% Damage reduction against element `e`.
+bonus3 bSubDefEle,`e`,`n`,`i`; | +n% Physical damage reduction against defense element `e`.<br/> i: <br/> Flags (bitfield)<br/> &1: Reduce damage from monsters.<br/> &2: Reduce damage from players.
+bonus3 bMagicSubDefEle,`e`,`n`,`i`; | +n% Magical damage reduction against defense element `e`.<br/> i: <br/> Flags (bitfield)<br/> &1: Reduce damage from monsters.<br/> &2: Reduce damage from players.
bonus2 bAddDamageClass,`c`,`x`; | +n% extra physical damage against monsters of class `c`
bonus2 bAddMagicDamageClass,`c`,`x`; | +n% extra magical damage against monsters of class `c`
bonus2 bAddDefClass,`c`,`x`; | +n% physical damage reduction against monsters of class `c`
diff --git a/server/scripts/constants.md b/server/scripts/constants.md
index 7f14e24..96233b1 100644
--- a/server/scripts/constants.md
+++ b/server/scripts/constants.md
@@ -364,6 +364,7 @@
- `mf_pairship_endable`: 58
- `mf_nostorage`: 59
- `mf_nogstorage`: 60
+- `mf_nopet`: 61
### Cell Properties
@@ -577,6 +578,8 @@
- `bSetMDefRace`: 2060
- `bAddRaceTolerance`: 2061
- `bAddMaxWeight`: 2062
+- `bSubDefEle`: 2063
+- `bMagicSubDefEle`: 2064
### Equip index
@@ -3657,7 +3660,7 @@
- `MER_SWORDMAN09`: 6045
- `MER_SWORDMAN10`: 6046
-### checkquest
+### questprogress
- `HAVEQUEST`: 0
- `PLAYTIME`: 1
@@ -5035,11 +5038,19 @@
- `LANG_ON_SEA`: 1
- `LANG_IN_SHIP`: 2
+### Language constants
+
+- `LANG_EN`: 0
+- `LANG_FR`: 1
+- `LANG_ES`: 2
+- `LANG_DE`: 3
+- `MAX_LANG`: 3
+
### Misc settings
- `CHEST_WAITTIME`: 900
- `debug`: 0
-- `SERVER_USES_VAULT`: 0
+- `SERVER_USES_VAULT`: 1
## Hardcoded Constants (source)
diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt
index db37ef2..ee56087 100644
--- a/server/scripts/script_commands.txt
+++ b/server/scripts/script_commands.txt
@@ -3195,23 +3195,24 @@ This command sets a bunch of arrays with a complete list of whatever the
invoking character has in its inventory, including all the data needed to
recreate these items perfectly if they are destroyed. Here's what you get:
-@inventorylist_id[] - array of item ids.
-@inventorylist_idx[] - array of item inventory index.
-@inventorylist_amount[] - their corresponding item amounts.
-@inventorylist_equip[] - will return the slot the item is equipped on, if at all.
-@inventorylist_refine[] - for how much it is refined.
-@inventorylist_identify[] - whether it is identified.
-@inventorylist_attribute[] - whether it is broken.
-@inventorylist_card1[] - These four arrays contain card data for the
-@inventorylist_card2[] items. These data slots are also used to store
-@inventorylist_card3[] names inscribed on the items, so you can
-@inventorylist_card4[] explicitly check if the character owns an item
- made by a specific craftsman.
-@inventorylist_expire[] - expire time (Unix time stamp). 0 means never
- expires.
-@inventorylist_bound[] - whether it is an account bounded item or not.
-@inventorylist_favorite[] - whether it is favorite (inside favorite tab) or not.
-@inventorylist_count - the number of items in these lists.
+@inventorylist_id[] - array of item ids.
+@inventorylist_idx[] - array of item inventory index.
+@inventorylist_amount[] - their corresponding item amounts.
+@inventorylist_equip[] - will return the slot the item is equipped on, if at all.
+@inventorylist_refine[] - for how much it is refined.
+@inventorylist_identify[] - whether it is identified.
+@inventorylist_attribute[] - whether it is broken.
+@inventorylist_card1[] - These four arrays contain card data for the items.
+@inventorylist_card2[] These data slots are also used to store names inscribed
+@inventorylist_card3[] on the items, so you can explicitly check if the character
+@inventorylist_card4[] owns an item made by a specific craftsman.
+@inventorylist_expire[] - expire time (Unix time stamp). 0 means never expires.
+@inventorylist_bound[] - whether it is an account bounded item or not.
+@inventorylist_favorite[] - whether it is favorite (inside favorite tab) or not.
+@inventorylist_opt_id1~5[] - array of random option id.
+@inventorylist_opt_val1~5[] - array of random option val.
+@inventorylist_opt_param1~5[] - array of random option param.
+@inventorylist_count - the number of items in these lists.
This could be handy to save/restore a character's inventory, since no
other command returns such a complete set of data, and could also be the
@@ -3239,14 +3240,15 @@ recreate these items perfectly if they are destroyed. Here's what you get:
@cartinventorylist_refine[] - for how much it is refined.
@cartinventorylist_identify[] - whether it is identified.
@cartinventorylist_attribute[] - whether it is broken.
-@cartinventorylist_card1[] - These four arrays contain card data for the
-@cartinventorylist_card2[] items. These data slots are also used to store
-@cartinventorylist_card3[] names inscribed on the items, so you can
-@cartinventorylist_card4[] explicitly check if the character owns an item
- made by a specific craftsman.
-@cartinventorylist_expire[] - expire time (Unix time stamp). 0 means never
- expires.
+@cartinventorylist_card1[] - These four arrays contain card data for the items.
+@cartinventorylist_card2[] These data slots are also used to store names inscribed on the items,
+@cartinventorylist_card3[] so you can explicitly check if the character owns an item
+@cartinventorylist_card4[] made by a specific craftsman.
+@cartinventorylist_expire[] - expire time (Unix time stamp). 0 means never expires.
@cartinventorylist_bound - whether it is an account bound item or not.
+@inventorylist_opt_id1~5[] - array of random option id.
+@inventorylist_opt_val1~5[] - array of random option val.
+@inventorylist_opt_param1~5[] - array of random option param.
@cartinventorylist_count - the number of items in these lists.
This could be handy to save/restore a character's cart_inventory, since no
@@ -3626,7 +3628,7 @@ If the player is not found, returns -1.
*gettimetick(<type>)
Valid types are :
- 0 - server's tick (milleseconds), unsigned int, loops every ~50 days
+ 0 - server's tick (milleseconds), unsigned int, loops every ~25 days
1 - time since the start of the current day in seconds
2 - UNIX epoch time (number of seconds elapsed since 1st of January 1970)
@@ -4549,7 +4551,7 @@ Name is optional, and defaults to the attached player if omitted.
*agitcheck()
*agitcheck2()
-These function will let you check whether the server is currently in WoE
+These functions will let you check whether the server is currently in WoE
mode (or WoE SE mode if the second function is called) and will return true
if War of Emperium is on and false if it isn't.
@@ -7656,7 +7658,8 @@ In the OnBuyItem, two arrays are filled (@bought_nameid and
and the amount sold of it. Same goes for the OnSellItem label, only the
variables are named different (@sold_nameid, @sold_quantity, @sold_refine,
@sold_attribute, @sold_identify, @sold_card1, @sold_card2, @sold_card3,
-@sold_card4). An example on a shop comes with Hercules, and can be found
+@sold_card4, @sold_opt_id1~5, @sold_opt_val1~5, @sold_opt_param1~5).
+An example on a shop comes with Hercules, and can be found
in the doc/sample/npc_dynamic_shop.txt file.
This example shows how to use the labels and their set variables to create
@@ -9638,26 +9641,18 @@ This will open a book item at the specified page.
---------------------------------------
*rodex_sendmail(<char id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>{, <item2>, <amount2>{, <item3>, <amount3>{, <item4>, <amount4>{, <item5>, <amount5>}}}}}})
+*rodex_sendmail2(<char id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>, <refine1>, <attribute1>, <card0_1>, <card1_1>, <card2_1>, <card3_1>{,<item2>, <amount2>, <refine2>, <attribute2>, <card0_2>, <card1_2>, <card2_2>, <card3_2>{,<item3>, <amount3>, <refine3>, <attribute3>, <card0_3>, <card1_3>, <card2_3>, <card3_3>{,<item4>, <amount4>, <refine4>, <attribute4>, <card0_4>, <card1_4>, <card2_4>, <card3_4>{,<item5>, <amount5>, <refine5>, <attribute5>, <card0_5>, <card1_5>, <card2_5>, <card3_5>}}}}}})
+
*rodex_sendmail_acc(<account id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>{, <item2>, <amount2>{, <item3>, <amount3>{, <item4>, <amount4>{, <item5>, <amount5>}}}}}})
+*rodex_sendmail_acc2(<account id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>, <refine1>, <attribute1>, <card0_1>, <card1_1>, <card2_1>, <card3_1>{,<item2>, <amount2>, <refine2>, <attribute2>, <card0_2>, <card1_2>, <card2_2>, <card3_2>{,<item3>, <amount3>, <refine3>, <attribute3>, <card0_3>, <card1_3>, <card2_3>, <card3_3>{,<item4>, <amount4>, <refine4>, <attribute4>, <card0_4>, <card1_4>, <card2_4>, <card3_4>{,<item5>, <amount5>, <refine5>, <attribute5>, <card0_5>, <card1_5>, <card2_5>, <card3_5>}}}}}})
This will send a mail using the RoDEX mail system, in newer clients the message will be marked as a NPC mail (that you can't reply).
If items and zeny are specified, they will be added as attachments to the message.
-
For examples of usage, see /doc/sample/npc_rodex.txt
----------------------------------------
-
-*rodex_sendmail2(<char id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>, <refine1>, <attribute1>, <card0_1>, <card1_1>, <card2_1>, <card3_1>{,<item2>, <amount2>, <refine2>, <attribute2>, <card0_2>, <card1_2>, <card2_2>, <card3_2>{,<item3>, <amount3>, <refine3>, <attribute3>, <card0_3>, <card1_3>, <card2_3>, <card3_3>{,<item4>, <amount4>, <refine4>, <attribute4>, <card0_4>, <card1_4>, <card2_4>, <card3_4>{,<item5>, <amount5>, <refine5>, <attribute5>, <card0_5>, <card1_5>, <card2_5>, <card3_5>}}}}}})
-*rodex_sendmail_acc2(<account id>, "<sender name>", "<title>", "<body>"{, <zeny>{, <item1>, <amount1>, <refine1>, <attribute1>, <card0_1>, <card1_1>, <card2_1>, <card3_1>{,<item2>, <amount2>, <refine2>, <attribute2>, <card0_2>, <card1_2>, <card2_2>, <card3_2>{,<item3>, <amount3>, <refine3>, <attribute3>, <card0_3>, <card1_3>, <card2_3>, <card3_3>{,<item4>, <amount4>, <refine4>, <attribute4>, <card0_4>, <card1_4>, <card2_4>, <card3_4>{,<item5>, <amount5>, <refine5>, <attribute5>, <card0_5>, <card1_5>, <card2_5>, <card3_5>}}}}}})
-
-These are more flexible versions of rodex_sendmail and rodex_sendmail_acc.
-
-This will send a mail using the RoDEX mail system, in newer clients the message will be marked as a NPC mail (that you can't reply).
-If items and zeny are specified, they will be added as attachments to the message.
+rodex_sendmail2 and rodex_sendmail_acc2 are more flexible versions.
Check getitem2 command for more information of the extra parameters.
-For examples of usage, see /doc/sample/npc_rodex.txt
-
---------------------------------------
//=====================================
7 - Instance-Related Commands