Age | Commit message (Collapse) | Author | Files | Lines |
|
Add support for packet ZC_PROGRESS_ACTOR
|
|
Replace the use of skill_reproduce_db with AllowReproduce flag
|
|
|
|
|
|
|
|
Natural expiration of Poison when under Slow Poison effect
|
|
Add support for Ragnarok zero clients, split packets.h again
|
|
|
|
|
|
implement homunculus autofeeding for 2017 clients
|
|
|
|
Poison is active
The status change timer wasn't correctly rearmed in such a condition,
keeping SC_POISON active indefinitely.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
|
|
|
|
Normal packets in packets.h
Shuffle packets in map/packets_shuffle.h
Info: shuffle packets for 2013 clients and older still in packets.h
because most of it mixed between shuffle and non shuffle packets.
|
|
|
|
|
|
|
|
clients.
|
|
Before some packets had skill inf as int16 + unknown int16 field.
|
|
Use the correct view data (INVISIBLE_CLASS) when initializing new NPCs.
The issue was introduced in #1893
Fixes #1916
Signed-off-by: Haru <haru@dotalux.com>
|
|
This restores the behavior that was broken in 2b4bfa5d0.
Fixes #1911
Signed-off-by: Haru <haru@dotalux.com>
|
|
This suppresses an assertion in the skill DB accessors when called with
`skill_id = 0` (such as during normal attacks). In such case, they'll
now return an appropriate zero value, as it happened before 2b4bfa5d0.
Fixes #1909
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Correct and sanitize SQL bind types
|
|
Implement skill scale packet for client versions >= 20151223.
|
|
getiteminfo() / setiteminfo() fixes
|
|
Fixes #1531 (and other similar issues)
Signed-off-by: Haru <haru@dotalux.com>
|
|
Skill ID / IDX fixes
|
|
Fixes #1397
|
|
|
|
Adds the ability to query an item's view sprite, lost with #1828
Fixes #1895
Signed-off-by: Haru <haru@dotalux.com>
|
|
This item info type was documented in commit
315d632e69c60d2996872c9330164133101befdf, but never implemented.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Replacements are as follows:
0 => ITEMINFO_BUYPRICE
1 => ITEMINFO_SELLPRICE
2 => ITEMINFO_TYPE
3 => ITEMINFO_MAXCHANCE
4 => ITEMINFO_SEX
5 => ITEMINFO_LOC
6 => ITEMINFO_WEIGHT
7 => ITEMINFO_ATK
8 => ITEMINFO_DEF
9 => ITEMINFO_RANGE
10 => ITEMINFO_SLOTS
11 (Subtype, for weapons and ammunitions) => ITEMINFO_SUBTYPE
11 (ViewSprite, for other item types) => ITEMINFO_VIEWSPRITE (NOT AVAILABLE YET)
12 => ITEMINFO_ELV
13 => ITEMINFO_WLV
14 => ITEMINFO_VIEWID
15 => ITEMINFO_MATK (NOT AVAILABLE YET - this was documented but never implemented)
Calls to getiteminfo() and setiteminfo() have been replaced with the
newly introduced constants. Other constants (such as W_ weapon subtypes)
in related code have been replaced as well, to improve code readability.
This fixes an issue in the Eden Tutorial script "Tutorial Goal", where
ITEMINFO_ATK was accidentally used instead of ITEMINFO_WEIGHT.
Note: calls to getiteminfo or setiteminfo with numeric type arguments in
third party scripts must be replaced with the respective constants. The
use of numeric literals is no longer recommended, and those values may
change in the future without notice. See the getiteminfo documentation
for details.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Most relevantly, `skill_lv%11 - 1` is not a valid skill item
requirement index, since it can return -1 depending on the skill_lv. It
was replaced with `(skill_lv - 1) % MAX_SKILL_ITEM_REQUIRE`, which
always returns a value in the 0 ~ MAX_SKILL_ITEM_REQUIRE range.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Remove MAX_SKILL in favor of MAX_SKILL_DB, when referring to the
maximum skill DB index. This is opposed to MAX_SKILL_ID, the maximum
skill ID.
Signed-off-by: Haru <haru@dotalux.com>
|
|
This includes some renamed local variables, in order to minimize the
cases of unsafe variable reuse.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Rewrite skill DB accessors to clarify the difference between IDs and
indexes, and to report a backtrace to the console when an invalid ID is
passed.
The type of the skill_id and skill_lv arguments has been changed to int.
Signed-off-by: Haru <haru@dotalux.com>
|
|
The incorrect handling of the overflowed values would cause certain
skill unit entries to get stuck and never get deleted correctly.
A possible symptom of the issue are monsters that become immune to
certain AoE spells having the UF_NOOVERLAP flag (Storm Gust, Lord of
Vermillion, etc).
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
|
|
|
|
Allow npc to use player classes (for older than 20170726 npc visible as players).
View_data structure can be copied from predefined view_data lists created new if npc using player type.
|
|
Fix boss flag and add 2017-10-25 client packets
|
|
update qtype constants to support new 2017 client icons.
|
|
setequipoption Modification
|
|
|
|
|
|
also fix boss_monster flag for works as mvp and not like mini boss.
unhide boss flag if hp bar disabled.
|