Age | Commit message (Collapse) | Author | Files | Lines |
|
This packet totally ignored and for now need only for zero clients.
|
|
|
|
clients.
|
|
|
|
|
|
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.
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fix invisible NPCs (such as FAKE_NPC) showing up as Novice
|
|
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>
|
|
Rodex stmt order
|
|
Caused by a wrong ordering of SQL operations (StmtExecute after
StmtBindColumn) introduced in e5a63561bba9d09e5a88636f4982cdb2cf57a569.
Fixes #1912
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fix handling of the special case of SplashRange < 0 meaning AREA_SIZE
|
|
This restores the behavior that was broken in 2b4bfa5d0.
Fixes #1911
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Allow using the skill DB accessors on non-skill attacks (skill_id = 0)
|
|
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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: HerculesWSAPI <dev@herc.ws>
|
|
Correct and sanitize SQL bind types
|
|
Implement skill scale packet for client versions >= 20151223.
|
|
Signed-off-by: HerculesWSAPI <dev@herc.ws>
|
|
getiteminfo() / setiteminfo() fixes
|
|
values
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fixes #1531 (and other similar issues)
Signed-off-by: Haru <haru@dotalux.com>
|
|
Skill ID / IDX fixes
|
|
Applied standardization to EndlessTower script
|
|
Fixes #1397
|
|
|
|
|
|
The function now handles multi-slot headgears and other uncommon cases better.
Signed-off-by: Haru <haru@dotalux.com>
|
|
ammunitions
Both functions have now been updated to only check the subtype if the
item type is correct (IT_AMMO for F_GetAmmoType, IT_WEAPON for
F_GetWeaponType)
Signed-off-by: Haru <haru@dotalux.com>
|
|
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>
|
|
Update F_GetArmorType()
|
|
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>
|
|
Applied standardization to SealedShrine script
|
|
Applied standardization to OrcsMemory script
|
|
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>
|