Commit Graph

72 Commits

Author SHA1 Message Date
Vassyli 9019caaafc Viewpoint propagates itself to Actions and ActionGroups. 2021-04-08 17:50:33 +02:00
Vassyli a9e5647fe0 Adds the missing initialisation of the Scene.properties collection with corresponding tests. 2021-02-26 14:32:59 +01:00
Vassyli 0292a66252 Adds new commands to manage modules and corresponding tests. 2021-02-16 22:13:52 +01:00
Vassyli f7504bbb60 Adds a test and the corresponding bugfix. 2021-02-03 20:15:00 +01:00
Vassyli 60a3a8bd2b Adds a trait 'UserAssignable' to mark models as user-assignable. Refactored from SceneTemplates, and applied to SceneAttachments, too. 2021-01-29 20:16:51 +01:00
Vassyli 147692d722 Removes the ability of attachments to add actions. This should be done by modules via scene templates instead. 2021-01-29 20:16:51 +01:00
Vassyli 454248ed0f Game loop now creates attachment instances from SceneAttachments. 2021-01-29 20:16:51 +01:00
Vassyli 27347d0677 Changed SceneAttachment to require the class to implement AttachmentInterface. 2021-01-29 20:16:51 +01:00
Vassyli 2a3a3e7bc2 Introduces a SceneAttachment model for registering attachments. 2021-01-29 20:16:51 +01:00
Vassyli 9b60cc0ebb Connects the SceneRenderer to the Game bootstrap process, and parses Scenes in Viewpoint->changeFromScene(). 2021-01-16 18:55:49 +01:00
Vassyli 1a0b6dbe3e Adds tests to check scene properties. 2021-01-14 20:52:19 +01:00
Vassyli 29e5ced0f9 Adds a test for null-template scenes. 2020-12-28 13:40:19 +01:00
Vassyli 557215bba3 Temporarily removes php-cs-fixer as it does not support PHP8 yet 2020-12-23 13:32:49 +01:00
Basilius Sauter 1c53604244 Adjusted tests. 2019-06-27 14:39:03 +02:00
Basilius Sauter a375cb98cd Removed all Warnings from PHPUnit 8 2019-06-27 09:52:18 +02:00
Basilius Sauter e18cdd21cc Added void return type to setUp/tearDown test methods. 2019-06-27 09:40:12 +02:00
Basilius Sauter 248258a8fe Adds character stats and tests. 2019-04-03 16:17:36 +02:00
Basilius Sauter 4d1ab9e763 Changed quote strategy to BasicQuoteStrategy as AnsiQuoteStrategy seems to mess up the column names. 2019-04-02 21:12:02 +02:00
Basilius Sauter bab3e0f236 Changed viewpoint to use uuid-based primary key 2018-10-08 17:29:44 +02:00
Basilius Sauter b398ffae14 Changed motd id to uuid 2018-10-08 17:29:44 +02:00
Basilius Sauter 04b3b6aaf9 Changed character id to uuid 2018-10-08 17:29:44 +02:00
Vassyli 8a75e81431 Updated failing tests 2018-10-08 17:26:44 +02:00
Vassyli 2a0bf5f038 Fixes inheritance issue with CharacterRepository 2018-04-12 19:40:57 +02:00
nekosune 6c4b1e15f4 Made changes requested, and fixed tests 2018-04-09 16:01:37 +00:00
Vassyli 04a5b59ea2 Fixed an issue with PropertyManager. 2018-01-26 16:21:53 +01:00
Vassyli c9e6f679c4 Adds events to character->getAttack and getDefense to modify the value. Tests included. 2018-01-09 17:16:54 +01:00
Vassyli 9ddd16b4e8 Adds suggestion plus a few additional tests 2018-01-09 08:59:58 +01:00
Vassyli 4b82ee4b89 ViewpointDescription now ignores empty lines 2017-09-27 13:17:26 +02:00
Vassyli 533378d006 Adds the foundation for viewpoint to be able to modify there description more easily 2017-09-13 18:24:37 +02:00
Vassyli 5668c08f45 Renamed ViewpointRestorationPoint to ViewpointSnapshot 2017-03-31 08:55:00 +02:00
Vassyli a739aed94a Added simple test and fixed a bug uncovered by it. 2017-03-27 09:52:09 +02:00
Vassyli 5c3fd4714d Adds fixes and tests for cascade=persist, remove for scene entities.
It still looks like doctrine doesn't "know" about the column names in a cascade=remove relationship and assumes the property name to be also the column name - which is usually not true (by default, it's propertyname_id).

This update changes the column name so that doctrine's assumptions are correct again and adds tests so any changes which invalidates this relationship can be gecocnized easily.
2017-03-11 12:51:25 +01:00
Vassyli 2970bd09d7 Changed the scene parent<=>child relationship to connections.
The parent<=>child relationship of scenes was removed. Instead, this commit introduces the concept of a connection.

A connection is used to connect two scenes. Depending on which entity the connect-method is called, one is defined as the "outgoing" scene, the other as the ingoing scene:

```
$a->connect($b);
```

In this case, $a will be the outgoing part of the connection, $b the incoming.

Furthermore, in order to support action groups, this commit introduces SceneConnectionGroups which can be created in scenes and checked wether they exist or not. Using these, it is possible to specifiy to which part of the scenes are connected to each other.

```
$a->getConnectionGroup("scene-A/marketsquare")->connect($b);
```

In this case, $a will have the action to access $b under the ActionGroup of scene-A/marketsquare. On the other hand, $b, which doesn't have a connection group specified, will have the connection back to $a in the default group.

Connect also accepts the return value of getConnectionGroup as the argument, thus allowing the connection _to_ a certain part of $b as well:

```
$a->connect($b->getConnectionGroup("scene-B/back"));
```

The tests for scenes were updates in order to reflect this change.
2017-03-02 17:19:46 +01:00
Vassyli 3bf23f3ac7 Adds Permission model and framework for testing permission manager. 2017-01-19 10:02:31 +01:00
Basilius Sauter 94e18b8d11 Increases windows compability by removing microtime from tests 2017-01-04 08:26:10 +01:00
Austen McDonald e041db89bc Add Viewpoint::removeActionsWithSceneId for easier writing of scenes without default nav items 2016-12-31 14:00:30 -08:00
Austen McDonald 340d6d18fa Rename CharacterViewpoint to Viewpoint
As I was writing the documentation, this just feels like added complexity that we don't need.
2016-11-11 14:06:26 -08:00
Austen McDonald 4c5e1429b6 Build support for multiple parents (graph of scenes instead of tree) 2016-10-31 09:22:31 -07:00
Austen McDonald be543bb630 Add addActionToGroupId 2016-09-17 06:14:03 +00:00
Austen McDonald 798490fe20 Add findActionGroupById 2016-09-17 06:01:18 +00:00
Austen McDonald faf699eb3f Remove extra whitespace in CharacterModelTest 2016-09-16 05:26:36 +00:00
Austen McDonald 4d61bbd348 Make properties cascade=remove for Character and Module 2016-09-16 05:26:19 +00:00
Austen McDonald f7e34162e8 Rename CharacterViewpoint::getActions() to CharacterViewpoint::getActionGroups() b/c that's what it is 2016-09-04 06:08:00 +00:00
Austen McDonald c585dcb33a Fix bug in Scene constructor 2016-08-30 20:40:09 +00:00
Austen McDonald 86751fc6d5 Refactor ModelTestCase so I can use it outside of the Core. 2016-08-22 14:30:22 -07:00
Austen McDonald ccf51450b0 Add property support for modules. 2016-08-21 03:58:35 +00:00
Austen McDonald 87c45f1fae Add simple tests for Actions and Attachments 2016-08-11 15:39:26 +00:00
Austen McDonald 36c57cf9cb Refactor the method to be get/setViewpoint() instead of get/setCharacterViewpoint for simplicity 2016-08-01 21:28:01 +00:00
Austen McDonald 3c3f5c970c Change Character to no longer handle creating its own CharacterViewpoint if it's empty 2016-08-01 06:57:59 +00:00
Basilius Sauter 4badaea249 Introduce general buff handling and tests
This commit introduces basic buff handling: Adding buffs, removing buffs,
expiring buffs. The Battle procedure controls the buffs and activates them
every round, expires them one round per round and removes the buff if the
number of rounds left is 0.

The BattleTest suite tests for the correct sequence and the correct
messages.
2016-06-09 23:31:22 +02:00