Commit Graph

31 Commits

Author SHA1 Message Date
Salanto
70b5212640 Add per area wtce and shout disable options (#22) 2022-06-15 17:52:27 -05:00
Leifa♥
657a47b029 Added flexible ACL roles (#7)
Resolve #4
2022-06-15 17:52:27 -05:00
Leifa♥
b0555207d6 Privatization rework (#2)
* Add clang-format

* Multiple privatization changes

"Participation handshake" this refers to the moment that the user's client sends the `askchaa` packet.

* Server::m_clients is now private. Get a copy with Server::getClients()
* Server::m_player_count is now private. Get a copy with Server::getPlayerCount() (Additional logic was added to handle the player count.)
* AOClient::m_joined is now private. Get a copy with AOClient::hasJoined()
* Added signal AOClient::joined(); will be emitted when the client first complete the participation handshake.
* Renamed Server::updatePlayerCount to Server::playerCountUpdated

* Privatized Server

* Made Server members private: m_characters, m_areas, m_area_names
* Added Server methods: getCharacters(), getAreas(), getAreaById(f_area_id), getAreaByName(f_area_name), getAreaNames(), getAreaName(f_area_id), getMusicList
* Added Server helper methods: getCharacterCount(), getAreaCount()
- This reduce code repetition of the following example: server->getCharacters().length(), server->getAreas().size()

* Solved other merge conflicts

* Added Server methods, various fixes

* Added Server methods: getCharacterById(f_chr_id)
* Various optimizations

* More Server privatization changes

* Made Server members private: db_manager, next_message_timer, can_send_ic_messages
* Renamed Server members:
  * next_message_timer -> m_message_floodguard_timer
  * can_send_ic_message -> m_can_send_ic_message
Added Server methods: getDatabaseManager, isMessageAllowed, startMessageFloodguard(f_duration)
Made Server methods private: allowMessage

* Added new fields to load for AreaData

* Added fields: `area_message` (default: empty string) and `send_area_message_on_join` (default: false)

* Added Server::clearAreaMessage

* Cleaned up headers include (AOPacket excluded)

* Removed most project file includes, moved to source file (cpp)
  * AOPacket was excluded because some methods modify the copy

* Fix compile error when using MingW compiler

* Appease clang by using proper or and putting it in parentheses
* Remove extra semicolon
2022-06-15 17:52:27 -05:00
Salanto
b98f7b88bb Fix double CM bug
* Add check to see if owner tries to add an ID that is already owner of the area, to the owners of the area.
2022-05-26 14:29:34 +02:00
Salanto
0a0e36f4fe
Symmetry is everything
Co-authored-by: Rosemary Witchaven <32779090+in1tiate@users.noreply.github.com>
2022-03-10 19:41:58 +01:00
Salanto
464eab3515 Make /getareas work like its Tsu counterpart
This is honestly the better variant. ngl.
Fixes #235
2022-03-09 09:14:07 +01:00
Salanto
dabc7c1abe Apply suggestion batch that fixes bad english
Co-Authored-By: Rosemary Witchaven <32779090+in1tiate@users.noreply.github.com>
2021-12-17 21:19:15 +01:00
Salanto
9d9cbdb4e2 Implement an area specific message
This feature improves RP/Casing slightly by allowing an automatic message to be send when they enter the area.
2021-12-17 02:31:52 +01:00
Salanto
318d12eb7d Rename AOClient member variables
Cleanup a lot of of the variables naming inside area.cpp
2021-09-11 17:33:46 +02:00
Salanto
a4e8442657 Cleanup some variable naming
+ move file reading operations into ConfigManager
2021-09-10 23:33:37 +02:00
Rosemary Witchaven
624fe41e12
Fix or suppress compiler warnings (#158)
* purge warnings

* indentation change

* unused macros for notice cmd

* cleanup clazy/clang-tidy diagnostics
2021-08-23 19:07:22 -05:00
Salanto
8daca2eee0 fix-#191 2021-08-21 11:53:53 +02:00
Salanto
fadafd2588 Notify target client of uninvite 2021-08-10 20:06:05 +02:00
Salanto
969089bf69 Notify target client of invite 2021-08-10 19:56:47 +02:00
Salanto
401f98b23e Set the background in area data.
Currently, Akashi does not save the changed background in the area, meaning clients will default to the configs background.

This commit addresses the issue by saving the new background in the area data, meaning it is persistent between people moving in and out of the area.
2021-08-07 22:21:53 +02:00
Rose Witchaven
231e33434e
Merge pull request #168 from AttorneyOnline/cm-areakick
disallow cms from being area kicked
2021-08-01 09:46:59 -05:00
in1tiate
e84bf53840 uninvite users who are area-kicked 2021-08-01 09:43:02 -05:00
in1tiate
976e1edb07 disallow cms from being area kicked 2021-08-01 09:27:05 -05:00
in1tiate
4e3ddbd090 Fix being able to area-kick someone in a different locked area 2021-07-29 12:18:42 -05:00
in1tiate
b6a0292bc1 make bg command case insensitive 2021-07-29 03:52:12 -05:00
scatterflower
78a644e592
Merge pull request #137 from AttorneyOnline/ignore-bglist
Add the ability to ignore the BG list per area
2021-06-21 21:50:26 -05:00
MangosArentLiterature
c4db245bec Rewrite ConfigManager and server configs
- Rewrites ConfigManager
- Adds DataTypes
- Changes "auth" and "logging" to use new AuthType and LogType types.
- ConfigManager now handles all config loading
- Remove AreaData and Server config.ini and command config loading.
2021-06-18 18:06:32 -05:00
MangosArentLiterature
dc497a55f6 Add the ability to ignore the BG list per area
- Adds the "ignore_bglist" option to areas, which toggles whether the BG list is enforced or ignored in an area.
- Adds a moderator permission "IGNORE_BGLIST" to give moderators the permission to toggle this setting.
- Adds a moderator command `/ignorebglist` to toggle this for an area.
2021-06-08 09:12:04 -05:00
MangosArentLiterature
17ab971e85 Fix command UID crash
Fix several commands targeting clients by UID crashing the server by not properly checking if the client they want exists.
2021-05-31 20:50:46 -05:00
Cerapter
a42281c2c7 Fix clazy-writing-to-temporary issues
TODO still:
- Evidence
- Judgelog
2021-05-02 18:32:39 +02:00
Cerapter
68b4174a40 Merge remote-tracking branch 'refs/remotes/scatter/master'
Conflicts:
	akashi.pro
	core/include/logger.h
	core/src/commands/area.cpp
	core/src/packets.cpp
	include/logger.h
	src/commands/area.cpp
	src/packets.cpp
2021-05-01 23:33:00 +02:00
Cerapter
0a87f30287 Corrected every error in the build
TODO: Documentation, test writing still.
2021-05-01 22:51:51 +02:00
Cerapter
85cc9af73a Change all accesses to getters 2021-05-01 16:05:50 +02:00
Cerapter
5a0c291825 AreaData acccess rework, from direct to through getters
Literal hell.
2021-05-01 15:29:58 +02:00
Cerapter
3aeff2d72d Merge remote-tracking branch 'refs/remotes/scatter/master' 2021-04-26 21:23:51 +02:00
Cerapter
f5cc137b40 Rename lib to core.
On Linux, the resulting shared library would have been called `liblib`, which is just dumb.
2021-04-26 21:14:25 +02:00