Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Caused by a wrong check in 8269fdcd5d036ddc3c24bc0ebb4ad958b5c19a3a
Signed-off-by: Haru <haru@dotalux.com>
|
|
This adds `STATUS_HEAL_ALLOWREVIVE` to `enum status_heal_flag`.
Fixes an issue caused by a hack in the resurrection code, that would
make characters respawn with 2 HP instead of 1.
Signed-off-by: Haru <haru@dotalux.com>
|
|
This introduces the `enum status_heal_flag`. No functional changes are
made.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Novice classes will never go below 50% hp when died.
- Other classes will show 1 HP rather than 0 when died.
- Added battle configuration.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
This fixes issues with plugins defining symbols with the same names
Signed-off-by: Haru <haru@dotalux.com>
|
|
Added item options fields into this packet.
Updated other things for support for report item options in vending.
Buying store not supported for now.
|
|
This reverts commit 2c192fc93f4b5c8a19eaefbca4e24e160feb5d47.
This `Fix` broke NPC_POWERUP (or rather SC_INCATKRATE) on Monsters,
making MVPs like Atroce and Doppelganger not stronger in their Power Up
phase as they used to be. Additionally it broke Divest Weapon's ATK
Reduction on Monsters in Renewal.
|
|
|
|
|
|
Add new *pcblock script command
|
|
|
|
thanks to @MishimaHaruna for the updated syntax
|
|
|
|
When under Curse or Stone Curse, Blessing will only remove the negative
statuses. Blessing needs to be cast twice to obtain the buff.
Fixes #680
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
All official features work including the autokick for inactive members
And the system is completely customizable.
|
|
Natural expiration of Poison when under Slow Poison effect
|
|
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>
|
|
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>
|
|
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.
|
|
|
|
The following variables are now moved to `sd->status.look` (from
`sd->status`): `head_top`, `head_mid`, `head_bottom`, `robe`
Signed-off-by: Haru <haru@dotalux.com>
|
|
`sd->status.shield` is renamed to `sd->status.look.shield` and only
holds ViewSprite IDs. Its previous other meaning is now transferred to
`sd->has_shield`, of boolean type (to detect the presence of a shield)
Signed-off-by: Haru <haru@dotalux.com>
|
|
`sd->status.weapon` is renamed to `sd->status.look.weapon` and only
holds ViewSprite IDs. Its previous other meaning is now transferred to
`sd->weapontype` (holding the currently equipped weapon type,
considering both hands at once)
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The field was used both for sprite view IDs and for weapon or
ammunition subtypes. Now the fields 'ViewSprite' and 'Subtype' are
used respectively.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
|
|
|
|
|
|
function.
|
|
|
|
|
|
|
|
functions.
|
|
Normal Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941553&curpage=1
Enriched Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941565&curpage=1
Event Normal Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941558&curpage=1
Event Enriched Ores: http://ro.gnjoy.com/news/probability/View.asp?category=4&seq=1941567&curpage=1
|
|
Implemented Official Summer 2 Costume
|
|
|
|
|
|
|
|
Added summer2_ignorepalette configuration
|
|
Allows the infusing of equipments with bonus item options.
This feature is constrained to clients of packet versions greater than or equal to `20150226`.
Item Options and their effects are defined server-side in `db/item_options.conf` and client side in `data/luafiles514/lua files/datainfo/addrandomoptionnametable.lub`
The ID of the option must tally with the correct index of the description provided in the client side lua file to avoid bugs.
IT_OPT_* keys and MAX_ITEM_OPTIONS macro are also exported from the source as constants.
An additional flag `disable_options` has been added to sql, and as `DisableOptions: true/false (boolean, defaults to false !!for equipments only!!)` to item_db.conf files.
Script commands documentation is also included.
SQL file updates are included.
Credits: [Smokexyz](https://github.com/Smokexyz)
Style and Script Fixes by [Asheraf](https://github.com/Asheraf)
Initial design Idea by [secretdataz](https://github.com/secretdataz)
|
|
`struct status_data::class_` was platform dependent since
c30bb75ec50624429bff7b4106db4be0fda366d6 in order to silence some
compile warnings (uint32 on 64 bit builds and uint16 on 32 bit builds).
It's now been changed to the correct type, int32, on all platforms.
Since the change has potential to silently break third party code, the
variable was renamed to `class`.
Signed-off-by: Haru <haru@dotalux.com>
|
|
For consistency with `pc->addfame()`, the argument to pc->famerank() is
now an enum fame_list_type.
The function was renamed to `pc->fame_rank()` to avoid silently
compiling old non-compliant code.
Signed-off-by: Haru <haru@dotalux.com>
|
|
This commit ensures that `sd->job` and related variables only contain
MapIDs (i.e. the serverside optimized values, where High Novice is
MAPID_NOVICE | JOBL_UPPER) and are never checked against the
client-based Job Class values.
As a rule of thumb, from now on, when a variable is named `job` or
`jobid`, it is intended to contain a MapID and not a Job Class ID. The
type of such variable shall be an unsigned `uint16` or `uint32`.
To ensure that related third party code is also verified when this
commit is merged, the variable `struct map_session_data::class_ (i.e.
`sd->class_`) is renamed to `job`.
Some issues in related lines are also fixed, including:
- The atcommand `@mount` would not check properly that the requesting
character is a 2nd class Swordsman type.
- `pc->addfame()` would silently accept invalid MapIDs, sending unknown
values to the client (more on this in a subsequent commit).
- `pc->famerank()` would not use the passed job as a bitmask, causing
the caller to have to mask it beforehand (more on this in a
subsequent commit).
- The Soul Linker check in TK_JUMPKICK wasn't future-proof (no harm
caused currently).
- Gunslingers would be able to be targeted by Spiritual Bestowment
(`MO_KITRANSLATION`) and Spiritual Sphere Absorption
(`MO_ABSORBSPIRITS`) due to a faulty check introduced when the
Rebellion class was implemented (causing unintended interaction with
Coins).
Signed-off-by: Haru <haru@dotalux.com>
|
|
This commit ensures that `sd->status.class` and related variables only
contain Job Classes (i.e. the client-compatible values, where High
Novice 4001) and are never checked against the bitmask-based MapID
values.
As a rule of thumb, from now on, when a variable is named `class`, it
is intended to contain a Job Class ID and not a MapID. The type of such
variable shall be a signed `int16` or `int`.
To ensure that related third party code is also verified when this
commit is merged, the variable `struct mmo_charstatus::class_ (i.e.
`sd->status.class_`) is renamed to `class`.
Some issues in related lines are also fixed, including:
- A wrong check in the char server would prevent the correct detection
of babies in code related to the family exp sharing.
- Baby Arch Bishops would not be affected by Eucharistica.
- A wrong check would cause the `questinfo()` script command not to
display its information for most classes (except 1-1 classes).
- Map IDs and Job Classes were mixed up in `itemdb_jobid2mapid()` and
`itemdb_jobmask2mapid()` for 1-1 classes (causing currently no harm,
since they just happen to coincide).
- The Baby Sura class would not cause parties to be marked as
containing a monk type character (for SLS Team Up purposes).
- Baby Geneticists would bypass the cart check when trying to equip
ammunitions.
- Baby Mechanics would bypass the Mado Gear check when trying to equip
ammunitions.
- Transcendent Shadow Chasers would lose the Stalkers' ability to clone
transcendent skills.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|