Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial implementation of Map Zones #8100

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open

Initial implementation of Map Zones #8100

wants to merge 39 commits into from

Conversation

aleos89
Copy link
Contributor

@aleos89 aleos89 commented Jan 12, 2024

  • Addressed Issue(s): N/A

  • Server Mode: Pre-renewal and Renewal

  • Description of Pull Request:

    • Implements Map Zones which allows easier configuration of map settings.
    • The restricted mapflag has been removed as they will no longer be needed.
    • General cleanups and optimizations.

* Implements Map Zones which allows easier configuration of map settings.
* The restricted mapflag has been removed as they will no longer be needed.
* General cleanups and optimizations.
@aleos89 aleos89 added component:database A fault that lies within the database of rAthena component:core A fault that lies within the main framework of rAthena mode:renewal A fault that exists within the renewal mode mode:prerenewal A fault that exists within the pre-renewal mode status:code-review Pull Request that requires reviewing from other developers before being pushed to master type:enhancement Issue that is an enhancement to rAthena labels Jan 12, 2024
Copy link
Member

@Lemongrass3110 Lemongrass3110 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments

conf/battle/battleground.conf Outdated Show resolved Hide resolved
conf/battle/guild.conf Outdated Show resolved Hide resolved
src/map/atcommand.cpp Outdated Show resolved Hide resolved
src/map/atcommand.cpp Outdated Show resolved Hide resolved
src/map/atcommand.cpp Outdated Show resolved Hide resolved
src/map/map.hpp Outdated Show resolved Hide resolved
src/map/mob.cpp Show resolved Hide resolved
src/map/pc.cpp Outdated Show resolved Hide resolved
src/map/status.cpp Outdated Show resolved Hide resolved
src/map/map.hpp Outdated Show resolved Hide resolved
* Deprecate the bg_flee_penalty and gvg_flee_penalty battle configs.
* Removes hardcoded restrictions limiting to only BG and GvG maps.
* Adjust checks for faster lookup.
* Re-implement battle_calc_pk_damage to help determine when to adjust damage when PK mode is enabled.
* Implement INF2_IGNOREPKREDUCTION skill flag to make skills bypass the damage adjustments.
* Remove a possible timer even if passing an invalid time value.
* Check by object type rather than passing arbitrary integers to compare against.
src/map/map.cpp Show resolved Hide resolved
@laziem
Copy link

laziem commented Jan 17, 2024

Can something like these be added?

  • OnlyEnableItems
  • OnlyEnableSkill
  • OnlyEnableStatues

It will be much easier to enable set of items only (ex: Booster equipment)
Will be useful for event or other scenario, if we want player to be able to use certain items/skill on selected map.

* Added the Clear label to allow mapflags to be removed for importing use.
* Converts mapflag storage into multimap.
* Adds back an accidental removal for mapflag name lookup.
* Display a notice when a map doesn't have a zone with a suggestion to assign one.
* Avoiding a default zone as many maps are added from updates and may not get their proper zones until the requisite data is found.
* Fixes atcommands pvpon, pvpoff, gvgon, and gvgoff to properly toggle the current map with the appropriate zone.
* Atcommand pvpon will assign the MAPTYPE_NOPENALTY_FREEPKZONE zone.
* Atcommand gvgon will assign the MAPTYPE_EVENT_GUILDWAR zone.
* Adds getMapZone() to return a map's zone.
* Adds setZone() to set a map's zone.
Thanks to @Atemo!
* Revert atcommand pvpon/pvpoff.
* Revert atcommand gvgon/gvgoff.
@aleos89
Copy link
Contributor Author

aleos89 commented Jan 29, 2024

Can something like these be added?

  • OnlyEnableItems

  • OnlyEnableSkill

  • OnlyEnableStatues

It will be much easier to enable set of items only (ex: Booster equipment)

Will be useful for event or other scenario, if we want player to be able to use certain items/skill on selected map.

I'll gladly accept this as a feature request after the initial implementation gets put in just to keep "custom" parts of this separate.

src/map/status.cpp Outdated Show resolved Hide resolved
src/map/status.cpp Outdated Show resolved Hide resolved
src/map/status.cpp Outdated Show resolved Hide resolved
src/map/unit.cpp Outdated Show resolved Hide resolved
src/map/unit.cpp Outdated Show resolved Hide resolved
src/map/map.cpp Outdated Show resolved Hide resolved
src/map/map.cpp Outdated Show resolved Hide resolved
src/map/map.cpp Show resolved Hide resolved
src/map/battle.cpp Outdated Show resolved Hide resolved
src/map/atcommand.cpp Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:core A fault that lies within the main framework of rAthena component:database A fault that lies within the database of rAthena mode:prerenewal A fault that exists within the pre-renewal mode mode:renewal A fault that exists within the renewal mode status:code-review Pull Request that requires reviewing from other developers before being pushed to master type:enhancement Issue that is an enhancement to rAthena
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants