Commit Graph

58 Commits

Author SHA1 Message Date
a026b731ee Change to adapt to AcediaCore's changes 2022-07-05 01:47:52 +07:00
1e9e146a9f Change to supprot new AcediaCore's events 2022-07-02 05:27:56 +07:00
824a6e270a Change to account for AcediaCore's refactor 2022-06-23 02:52:05 +07:00
57f11ad644 Adapt to AcediaCore's Text changes 2022-06-19 00:23:42 +07:00
0274c0c31f Add OnModifyLogin() signal support 2022-01-12 02:16:34 +07:00
195c671df4 Fix Feature validator using wrong log warning 2021-11-07 16:04:29 +07:00
636e614ba4 Fix using old method name ToPlainString() 2021-11-06 02:34:35 +07:00
3681fcabf7 Add game modes support to Acedia 2021-11-05 03:43:36 +07:00
f94103f382 Change feature loading to work with new AcediaCore 2021-08-03 15:42:21 +07:00
e2eedc1d28 Change Feature loading to support new AcediaCore 2021-07-28 02:29:11 +07:00
280cf5af57 Remove outdated log messages 2021-07-28 02:28:38 +07:00
53f16e794c Add loading capabilities for acedia v0.1.dev2
In new Acedia version we must create `CoreService` and register
commands.
2021-02-26 22:06:01 +07:00
c42edfb88f Move most files to other Acedia packages 2020-07-18 19:21:03 +07:00
d62e4d8e67 Update Acedia's Manifest 2020-07-18 02:39:05 +07:00
ba85300315 Change Acedia's loading process 2020-07-18 02:38:39 +07:00
507c7ba12c Fix Singleton not calling OnDestroyed() event 2020-07-18 02:37:20 +07:00
740f98edbd Add new APIs to a Global object 2020-07-18 02:36:01 +07:00
826e6272a4 Add proper method to disable a Feature 2020-07-18 02:35:25 +07:00
b6e75a44b0 Change ConnectionService to add it's listeners 2020-07-18 02:34:11 +07:00
cef551b660 Add global string to Text conversion 2020-07-18 02:32:52 +07:00
f6364229ed Add MemoryAPI 2020-07-18 02:32:11 +07:00
2c1a43f9d4 Add basic version of LoggerAPI 2020-07-18 02:31:58 +07:00
8845d69b1d Add ConsoleAPI 2020-07-18 02:31:39 +07:00
070211158e Add ColorAPI 2020-07-18 02:31:11 +07:00
e3f3296c2d Add ability to auto-create Singleton
Add an optional parameter that allows to auto-spawn
`Singleton` with `GetInstance()` call.
2020-07-18 02:30:55 +07:00
341c4aaf89 Add functionality to Service
Add ability to auto-launch and obtain instance of
a `Service` with a single command.

Add `Service`-specific events `Launch()` / `ShutDown()`

Add ability to auto-register required listeners on launch.
2020-07-18 02:28:40 +07:00
b954c718aa Change ConnectionService to be auto-started
To avoid launching `ConnectionService` all the time -
only do so when it is needed by someone
2020-07-18 02:25:02 +07:00
6125289040 Add events ability to start/shutdown Service
Events might rely on a particular `Service` to generate them,
this patch allows them to auto-launch/shutdown a service, depending on
whether anybody is listening to it's events.
2020-07-18 02:21:23 +07:00
5a14bb6d2c Add testing to Aliases subsystem 2020-07-18 02:17:47 +07:00
27c88b8707 Refactor Aliases subsystem 2020-07-18 02:17:22 +07:00
3849fd5c9d Refactor Testing subsystem 2020-07-18 02:16:41 +07:00
960e787de7 Refactor Text subsystem 2020-07-18 02:16:21 +07:00
fbc8abd48c Fix JSONAPI class description 2020-04-14 01:51:49 +07:00
4e07eb6c51 Fix deprecated Feature file after refactoring 2020-04-14 01:51:09 +07:00
c690572663 Add aliases functionality
Add aliases functionality to acedia.
Aliases allow to add "synonyms" to class names or other text values.
2020-04-14 01:49:45 +07:00
97569f9568 Change file structure of Acedia
Improves grouping of some files in project's directories.
2020-04-09 14:43:45 +07:00
54e87437c2 Add TODO list for a TestCase 2020-04-08 01:49:58 +07:00
3969eb3824 Refactor Feature
Make events functions `OnEnabled()` and `OnEnabled()`
protected rather than public.

Move initialization and clean up logic into
`OnCreated()` and `OnDestroyed()` event functions.
2020-04-08 01:49:17 +07:00
dd0bdc8904 Add events for a Singleton
Add `OnCreated()` and `OnDestroyed` event functions to provide
a more simple and safe way to handle these events.
2020-04-08 01:46:57 +07:00
53caa5766f Refactor JSON implementation
Change base class for JSON objects from `Object` to `AcediaObject`.

Rename some classes/functions/structures/variables to
be more compact and/or better convey their meaning.

Add appropriate API that contains constructors for JSON objects.
2020-04-08 01:43:11 +07:00
076ebe8fcf Add global namespace to Acedia actors and objects
We want all actors and objects defined in Acedia to share
a global namespace that provides an access to important variables
(such as `Acedia` reference) and functions.

We add a `Global` singleton and `AcediaActor` / `AcediaObject`
base classes with a quick accessor to it's instance (`_` / `_()`).
2020-04-08 01:36:29 +07:00
dd45e692fc Add unit tests for JSON implementation 2020-03-31 13:29:11 +07:00
a4a1c21cd7 Add basic unit test support
Add class that can automatically perform defined tests on user request.

Developers that wish to implemet unit tests for some functionality
must extend that class (`TestCase`) and add it to the manifest,
so that Acedia can read, register and later use it to perform tests.
2020-03-31 13:28:20 +07:00
427d6fea58 Add basic JSON data support
Add classes to store data that can be transferred in a text JSON format.
2020-03-31 13:23:55 +07:00
a5e36dc85a Fix incorrect description for FixAmmoSell
Previous description understated the effects of the `allowNegativeDosh`
flag. Effects are much more common and significat that previously
thought because of game behavior on filling ammo for one or all weapons.
2020-03-22 19:32:36 +07:00
fac38e5a9c Change FixInventoryAbuse behavior
Changes behavior of `FixInventoryAbuse` on weight limit violation.
Instead of destroying all weapons in the inventory of abuser,
it drops them on the ground.

This change is mainly caused by game behavior that allows
regular players to accidental break weight limits.
2020-03-22 19:23:57 +07:00
c2942b6323 Refactor to simplify
`CheckAmmoPickup` effectively only contained another function call
and itself was only called once. As it also didn't add to readbility,
it needed to be removed.
2020-02-19 00:48:48 +07:00
2c39bf1822 Fix misstatement in FixAmmoSelling comments
Previous comments explaining the idea behind how `FixAmmoSelling`
works were incorrectly stating that non-default pickup class is only
used to calculate diuscounts, when it was also used to spawn
weapon pickups.
2020-02-19 00:42:28 +07:00
1a58ba0620 Fix FixAmmoSelling causing invisible pickups
Non-default value of pickup class was used to
spawn pickup when player drops a weapon.
But since we've replaced that class and it doesn't
(or might not) exist on the client - dropped weapons
appeared as invisible.

Catch the moment our custom pickup is spawned and
replace it back with default one.
2020-02-19 00:38:51 +07:00
2b75722de5 Fix missing function access modifiers 2020-02-19 00:28:28 +07:00