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

Portal class changes #306

Closed
wants to merge 9 commits into from
Closed

Portal class changes #306

wants to merge 9 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Apr 29, 2017

  • I did not combine base_ace_object, ace_object, ace_portal_object into one view at this juncture, as doing so would remove all portals that didn't have destinations set from the world, as the view would only show entries for portal objects that have data from all three tables present.

  • In the portal object table restructuring, I added a foreign key constraint to the weenieClassId field that points to that field in the ace_object table. This addition has the effect of not allowing the ace_portal_object table to be populated until the rest of the ace_world tables are filled. I also included a portal object that was missing from the ACE-World DB release that was preventing the ace_portal_object table data from being imported.

  • An apparent bug with the login position was revealed, when I added saving the PositionType.LastPortal position, when a portal was used. When a player logs in, the PositionType.LastPortal position gets used, rather than the one saved during the character save action.

@ghost
Copy link
Author

ghost commented Apr 29, 2017

The societyId field in the new table structure is currently a placeholder that can be changed, if needed, for when Societies and their bound portals are implemented.

Copy link
Contributor

@fantoms fantoms left a comment

Choose a reason for hiding this comment

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

Had some troubles finding the correct way to make portals work with the current branch. Please follow-up with me if there is a way to make the boolean isTieable work.

public byte SocietyId { get; set; }

[DbField("isTieable", (int)MySqlDbType.Bit)]
public bool IsTieable { get; set; }
Copy link
Contributor

Choose a reason for hiding this comment

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

Initially, I am getting a server crash for 'System.ArgumentException': Object of type 'System.Byte' cannot be converted to type 'System.Boolean', when I use a portal. This happens in Database.cs line the portal out of the database.

changelog.md Outdated
* !!! Please note that the ACE-World tables must be filled before importing the ace_portal_object's table / the Desert Mine sql
file contains an entry that is currently missing from the ACE-World DB release that also needs to be imported before the
ace_portal_object table is loaded.
* Implemented a portal recall debug command - An apparent bug was revealed that causes players on login to start at the last saved portal recall position
Copy link
Contributor

Choose a reason for hiding this comment

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

Bugs should also be reported in the Github issues section or noted in the bugged code section.

@Mogwai-TheFurry
Copy link
Contributor

Couple comments:

  • If you make the join a "LEFT OUTER JOIN", you won't break existing portals. In order to support this, the destination data properties will need to be nullable (to make an int nullable, change it to "int?").
  • World data needs to go to the ACE-World repository. Table/View structures here, data there.

@ghost ghost closed this May 2, 2017
@ghost ghost deleted the Portal-class-changes branch May 2, 2017 14:04
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants