Author Topic: M&F Changelog  (Read 2185 times)


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
M&F Changelog
« on: August 21, 2017, 02:46:16 PM »
Curious how things have changed over time? Look no further! This version tends to be a bit more technical sounding than the one in game, but also tends to include things not relevant to play (like back end stuff, which I don't mention unless it's a significant part of the update.)

Version (20180916)
  • Action resolution command now commits changes to the database after completion.
  • A military_intercepted function was added to the ActionResolution service in order to allow proper handling of the military.intercepted event type. This action is now only removed when a character is no longer in any battle whatsoever.
Version (20180912)
  • Abductions are now less effective outside of a settlement's walls, and a cooldown system was implemented in order to make this possible.
  • When a settlement collapses, it'll no longer drop fortifications unless it's already dropped everything else.
Version 1.2.2 (20180905) - "Staging Sieges..."
  • Added Unit Settings entity and doctrine config files.
  • Added "Battle Setup" page for configuring personal Unit Settings.
  • New manual pages for Units and (future) Battles.
  • Fixed translation string for Realm Descriptions.
« Last Edit: September 16, 2018, 04:50:24 PM by Andrew »
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
Re: M&F Changelog
« Reply #1 on: August 21, 2017, 02:48:15 PM »
Version (20180901)
  • The game will now check to see if battles are already being processed before processing battles that haven't been processed.
Version (20180829)
  • Code was added to support GM characters on site--yes, these are canon. No, you cannot poke them with sticks.
Version (20180816)
  • A bug preventing you from executing people in a house was fixed.
Version (20180808)
  • A small bug preventing you from relocating your house was fixed.
Version 1.2.1 (20180807)
  • Houses can now be relocated.
  • Politics (Realm and otherwise) no longer display management menus if you don't have management access. Should load slightly faster for those who don't manage.
Version (20180806)
  • Updated several translation strings relating to achievements and houses.
Version (20180722)
  • Error handling with Houses has been fixed.
  • Error handling with Account pages has been fixed.
  • Characters previously flagged as a known slumberer by the system will now be reprocessed by the GameRunner after being killed.
Version 1.2 (20180715) - "Family Matters"
  • Houses
    --You can now create a house, or dynasty, for your (and other's) characters.
    --Each character can be part of a single house.
    --Each house has distinct Founder and Head positions. (Resignation and leaving, to be implemented later.)
    --Other people can join your house, with your approval.
    --The Head of the House can disown unruly members .
    --Children are, if both parents are part of the same house or if the sole parent is part of any house, automatically added to the house.
    --Houses can inherit separately from lords/positions, and can have designated successors.
    --The Successor is known only by the Head of House, and can be set separately from your regular heir.
    --The Successor will automatically be cleared whenever there is a change of the Head of the House.
    --Designated successors will take priority over general purposes heirs. Heirs will inherit if part of the House and no Successor was declared.
    --If a character's heir inherits leadership while part of another house and the heir is immeidate family of the character, the inherited house will become subordinate to the heir's original house, while the heir will join the inherited house as it's new head (as they are still part of the original house, as part of a Cadet house).
    --Houses without a successor (or heir) will automatically be passed to the oldest character in the House on retiring/slumbering/death.
    --Houses, unlike other things, are not lost on death or retirement.
  • Characters
    --Personality background field will now display on the character info pages when viewed by a character in an active relationship of any sort.
    --Added functions to: find highest rulership and find immediate relatives.
    --A bug with old relationships not letting you start new ones has been fixed.
  • Game Request Manager (Back-end Service)
    --Added the Game Request Manager and Game Request Controller for centralizing any and all actions that involve one person asking for something from another. This will be an ongoing process.
    --Right now it just handles house join requests, and their approval/denial, but it is already setup to handle basically anything.
Version (20180517)
  • Added missing translation strings for new escape related achievements.
  • GameRunner was taught the intricacies of SQL and how null and empty are two different things in regards to handling the dead people.
Version (20180509)
  • You can no longer kill your character while imprisoned.
  • Attempting to kill or retire an imprisoned character now properly throws an error.
  • Fixed error text for attempting to kill or retire an imprisoned character.
  • Fixed the option where you could return a character that hasn't been retired for at least a week.
  • Added more checks that a character has been retired the minimum length of time before returning to different pages.
  • The game now tracks how many times you escape, fail to escape, and how many people escape from you. (AKA: three new achievements.)
Version (20180504)
  • Fixed the translation string for position elections yet again.
Version (20180421)
  • Fixed Realm Descriptions not properly updating -- Description Manager didn't know what Realms were.
  • Translation string generation for permissions has been overhauled, fixing some translation errors -- Strings are now loaded from the database itself.
  • Several new translation strings have been added for permissions.
  • Fixed translation strings for description updates.
  • Fixed spacing for the capital(s) list on regional description.
Version (20180409)
  • Fixed a couple bugs I reintroduced to the GameRunner. Sorry about that.
  • Added missed translation strings for the Settlement capital list, the warehouse, and permissions options.
Version 1.1 (20180408) - "The Christmas Update"
  • Characters
    --Characters are no longer restricted to heterosexual relationships. This is a setting that must be enabled, in the characters setting menu though, as this game is loosely based off medieval society.
    --Validation of character suicide form is now performed server side as well as client side. -- Finishing one of Tom's TODOs.
    --Character suicide screen now lets you edit the death message, and redirects you to view the character page of the fallen upon submit. -- Finishing one of Tom's TODOs.
    --It is now possible to retire a character. In other words, you can remove them from play without killing them.
    --Retired characters get to have a retirement background field, explaining why they retired or what they're doing in their retirement.
    --It is also possible to un-retire characters, bringing them back into regular play, after a bit.
    --Prisoners now properly and fully affect travel speeds. They also slow down travel overall, as transporting prisoners is not routine travel.
    --Account character list now sorts unplaced characters first and retired characters just before the dead characters.
    --Characters can now have paramours, which is similar to a concubine, but not specifically female.
  • Conversations
    --Realm conversations will now identify themselves as a realm conversation when read.
    --Character & message summary unread conversation listing will now identify which realm a conversation is part of, if any.
  • Description Manager (Back-end Service)
    --Added the Description Manager for tracking historical descriptions, linking them to who made them, when, and for what thing.
    --So simple and useful, I convinced the BM'ers they should use it too.
  • Realms
    --Realms can now designate a capital.
    --Realm Positions will now sort between active and retired on the position management page, letting you see at a glance which ones are currently in use.
    --Realms can now be abolished. If sovereign, all sub-realms/estates become independent. If not, all subrealms/estates move up a level.
    --Realm descriptions are now handled by the Description Manager.
    --Realms can now be abolished. Handle with care.
  • Settlements
    --New buildings: Apothecary, Arena, Dockyard, Moats, Guild District, Guild Square, Quarry, Race Track, Royal Seat, Warehouse, Regional Seat, Local Seat, Imperial Seat.
    --New permissions: "Create Place Inside" and "Create Place Outside"
    --Settlements now display their realm when select on the map, and their top-level realm if that is different.
    --The game will now inform you of existing militia and recruits when trying to train more.
    --Settlements now have user-editable descriptions, handled by the Description Manager.
  • User Experience
    --New players are no longer able to place new characters directly on the map. Knight offers are now more important.
    --Invalid credentials on login attempt will no longer dump database info.
    --(Shorter) Announcements will now display on login page/box.
  • GameMaster Tools
    --GM's are now able to see a bit more information about users, like how many active, living, or dead characters they have, at a glance.
Version (20180315) - "Notices of Fewer Notices"
  • Turn code relating to slumbered or dead characters has been optimized (which involved new database entries and tracking, which is why this is a minor update, rather than a bug fix)
  • An oversight resulting in repeated events that your position holder is still holding their position has been corrected.
Version (20180125)
  • It is no longer possible to view (and thus, vote in) the election of a realm you are not part of.
Version (20180122)
  • A bug resulting in bad position links for realm elections was fixed.
Version (20171222) - "Stop Poking Meeee!"
  • You can now disable new message notification on a per-character basis through the new character settings menu, which can be found near the links to update heraldry and backgrounds.
  • A new "settings" translation domain was added as a test to see how hard it was to expand the translation files. Survey says: pretty easy, actually. It is likely we'll eventually start diversifying the translation files in order to keep them more manageable and logical.
Version (20171211)
  • Changes to how events are displayed were rolled-back to the original code for displaying events as it caused an issue in how scholars are handled that prevented you from assigning them to research events. :(
Version (20171127)
  • A bug in how elections were handled when due to close has been fixed. Elections are now smart enough to see if a position is involved before trying to remove positions that don't exist.
  • More logging in election handling was added.
  • A bug in knight offer message generation involving trying to put an entire realm into a message was fixed--we told it to only pass the ID of the realm instead.
Version (20171106)
  • A bug in the routine election handler that didn't update the position cycle counter correctly has been fixed. This may be the reason for routine elections getting called again so soon.
  • We've figured out how to reorder the map layers in order to get it to display like it used to. The super weird part is that we have no idea how it was working on Tom's server before this, because we were, previously, using the same files.
Version (20171103)
  • Fixed a bug caused by the liege of a knight offer acceptee also being a welcomer.
  • Knight Offer conversations are smarter, and will reword slightly if welcomers are present.
  • New manual page for Realm Positions.
  • Re added manual page for the Test Server.
  • Reworked some links for consistency and professionalism.
Version (20171024)
  • The new election type was mistakenly not added to the election types list in the realm position editing menu. (Maybe we should store this in a single place?)
  • A bug in the positions system involving objects not being strings (when expecting a string) has been fixed.
  • An oversight in some code involving election incumbents being removed has been corrected, meaning less time will be spent removing incumbents. Previously, the game would try to remove people from a position it already removed people from. There is no need to repeatedly remove no one from a position.
Version (20171023) - "Welcoming Committee"
  • Realm Positions can now be flagged as Welcomers.
  • Welcomers can be attached to Knight Offers.
  • Knight Offers with Welcomers will include those Welcomers on the intro conversation.
  • Knight Offers can only be made in settlements that have a realm.
Version (20171023)
  • A bug causing elections when the election year/week was set to null or 1 has been fixed. (The game treats 1 as null when saving in order to bypass some Symfony silliness about null integers.)
Version (20171021)
  • Voting method "by horses", added at the request of discord user Vammy#6426.
Version (20171018)
  • Fixed the last couple spots in the code that required a mail spool to function right--the game now checks to see if a mail spool is set, uses it if one is, or doesn't if there isn't.
Version (20171016)
  • A problem in how the game handles forms and passing integers to/from them in relation to Realm Positions was worked around. A null value in one of these fields now submits a 1. Anytime the year for a position is set to 1, the RealmController will assume the player set a null value, and then update the position to set these values to null (something the form itself won't allow, irritatingly enough).
  • A bug that prevented incumbents from being removed from positions after the completion of a routine election was fixed.
Version (20171007)
  • Routine elections will no longer report the elected position as that of the ruler, unless it was in fact a ruler election.
  • Settlement population will no longer show up on the map.
Version (20171006)
  • The bureaucrats have been told they need to report to the priests (for relay to the Gods) more thoroughly on all the dead First Ones. (We added more debug info to turn changes)
  • They're also a little smarter about all of that stuff in general.
  • Longbowmen will no longer use javelins as ammunition.
  • Only thy lord shall knoweth thou total population.
  • A typo that created an incorrect event log has been fixed.
  • A typo that froze the game's turn processing logic has been, hopefully, corrected.
Version (20171005)
  • A bug we introduced while making it so we could ban cheaters was fixed, allowing you to gift credits to players once again.
  • Elections are smarter about when they should be called, and are smart enough to know when a position has already had an election called.
  • A counter involved in numbering of elections, that forgot how to count, was taught how to count.
  • Elections no longer care about finding realm members. This was a holdover from older code that used to handle all of this for Ruler changeover.
Version (20170929) - "To Your Positions"
  • Ruler positions that have an election type set will now use that election type when an election is needed.
  • All election types are fully implemented.
  • All other positions will be inherited or have an election, as appropriate, when the positions is vacated due to death/slumber.
  • Positions will inherit first, if able, then go to an election.
  • Positions have set election dates, expressed in Years and Weeks.
  • All positions elected on the first day of that week, in an automated election.
  • Elections are now handled as part of the turn system, rather than when the election list is loaded.
  • Previous position holders will lose their position only after the election completes, but before the winners are chosen.
  • Positions can be designated as having more than 1 minimum holder, which the game understands is the target quantity of holders.
  • New election type added: "by fortifications" that counts vounts based on the fortifications in a person's settlements.
  • Add election sub-types for "by land" and "by fortification" to only include land in the realm.
Version (20170907)
  • A bug introduced by a Symfony update (2.7.7 -> 2.7.33) that prevented character grouping reassignment has been fixed.
Version (20170906)
  • A fix in the code that prevented dungeon and subscription processing has been applied.
Version (20170821)
  • Some code that generated errors in the economy handler has been deactivated. It didn't do anything.
  • Characters with partners/parents that don't have crests can once again select a crest.
  • A bug involving a typo with the "dungeonEventFilter" has been corrected.
  • Dungeon DataFixture tables were altered to detect whether an entry was new or already existing when loading them in, allowing new entries to be loaded without messing up existing ones.
  • As such, 25 new monsters and 1 new card are now, FINALLY, actually in the game.
  • Nearly all travel blocking actions now show up on the character select page.
Version (20170802)
  • Bandits are far less likely to spawn on icecaps.
  • Bandits will no longer spawn with plate armor, broadswords, or warhorses.
Version (20170709)
  • A tool was added to ban cheaters.
  • In order to assist testers, the game is smart enough to figure out which server it's running on and change the page title accordingly.
Version (20170618)
  • Non-functional BitPay functionality was removed.
Version (20170608)
  • Map loadlist no longer appears on realm pages, improving usability for smaller displays.
Version (20170608)
  • Heraldry can now be shared between partners and to their children. It is no longer account specific.
Version (20170603)
  • Several hundred lines of code for an alternative message system were removed, making the game's code repository fully functional without additional work.
Version (20170520)
  • Inactive subrealms can now be restored.
Version (20170424)
  • Slumbering first ones no longer grant experience
  • Realm info can be viewed without being logged in
Version - "Community Takeover Build"
  • Added ability to exit settlements
  • Realm elections once again trigger for absent rulers
  • Link to wiki added
  • Publications & Positions can be linked in-game
  • Economic security can no longer be viewed at a distance
  • Dungeon framework and language errors were fixed
  • Most tables are now sortable.
Might & Fealty version - This is where the community took over from.
« Last Edit: September 16, 2018, 04:50:35 PM by Andrew »
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
Re: M&F Changelog
« Reply #2 on: February 17, 2018, 09:45:06 PM »
(double reserved -- just in case!)
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
Re: M&F Changelog
« Reply #3 on: April 05, 2018, 12:42:34 PM »
Alright, I've thoroughly concluded that this bulk updating idea was a bad one, so everything not completed is being stripped and I'm sticking to a more "release-as-ready" format for future updates. This'll mean smaller updates, but far, far more frequent. Think along the lines of the last one which took me all of like a day to implement, and many of the 1.1 items listed above which took me just hours.

This'll also mean that this topic will probably start to serve as a roadmap of future updates as well, beyond just the next version.

...and all the things about them:
  • New Feature: Places
    --You can now create "Places". Places are user-customized locations.
    --The options depend on: your character, what roles they posses, what permissions they have, whether or not they're in a settlement, and what buildings are built if they are.
    --Your ability to see a Place also depends on your permissions in relation to that place.
    --Right now, you can only edit descriptions and enter/exit them. Eventually you'll be able to garrison and build stuff at them, and they'll offer type-specific actions.
    ----This does not apply to capitals. You MUST have a capital built if you wish to edit/conduct a lot of the Realm management stuff. You must also be at the capital to do said stuff. (So if you're going to rebel, lure the hierarchy away from the capital for better results!)
    --Current types include: Academy, Arena, Capital, Castle, Cave, Fort, Inn, Library, Monument, Plaza, Portal, Passage, Race Track, Tavern, Tournament Grounds.
  • Still Needing Finished:
    --Places can be created and edited, but not entered/exited.
    --Places can not yet have permissions be managed.
    --Interactable Places list not a thing that exists yet.
    --Restrict realm-management stuff at the capital (should just be a change to the dispatcher entries for realm management.)
    --Make it so the capital Place is always buildable, regardless of subscription status.
...and all the things about them:
  • New Feature: Teams
    --Will primarily man their associated equipment in battle.
    --Teams will be regularly armed and equipped soldiers, but primarily operate siege equipment unless needs or orders dictact otherwise.
  • New Feature: Sieges
    --Sieges will be anything from encircling an unfortified village to a multi-week or month long process of sieging a larger, heavily fortified citadel.
    --Sieges will, if they fully encircle, suspend all trade to and from.
    --Sieges will optionally include siege equipment
    --Sieges will have a designated leader
    --Ranged units on both sides may opt to attack the other,
  • New Feature: Team Equipment
    --Will have varying types: Ladders, Battering Rams, Covered Rams, Siege Towers, Tunnelers, Catapults, Ballistas, Trebuchets, etc.
    --Will be manned by Teams, varying in quantity based on equipment.
    --Ranged weapons may fire during a siege or during an assault (outsiders attacking walls) or rally (defenders attacking besiegers)
    --If firing during battle, ranged weapons may hit friendlies.
    --Ranged weapons during siege itself may sometimes
  • Buildings
    --Buildings may be damaged during a siege, active militia will risk being injured if manning the walls.
  • Settlements
    --Population won't grow during a siege, or at least not at regular levels.
    --People will eat less though, as rationing is enforced (no, this won't have starvation penalties)
    --People may be killed by siege fire hitting the town itself. :'(
Version Mu: "NaN"
  • Change slumbering to be based on account rather than character last access. See:
  • Command to move old realm descriptions over to DescMan.
  • Only display retired realm positions paragraph if there are retired positions.
  • "Edit Background" for new, unplaced chars displays "Place" for some reason.
  • Translation strings:
    -- Apparently we indicate somewhere that you can destroy roads, but I can't figure out where.
  • Spacing on capital list for settlements needs work.
  • Re-add surrendering as a character action.
  • Add option to disband prisoner soldiers, or steal their gear, or what have you.
  • Make empty moats take longer.
  • Rework full moat requirements / offer alternative moat type ("spiked moat"?)
  • Capital designation screen should tell you what the current capital is, if there is one.
  • Translation string for "realm.abolish.done"
  • Don't fire abdication message for ruler if realm is being dismantled.
  • Option to abandon settlements remotely.
  • Logic "newbackground" doesn't exist for play route. Should lead to edit history page, I think. Whatever page you go to after naming a character anyways.
  • Add a way to check heirs before inheritance to make sure they're active, otherwise, check their heir, and their heir, until one is found or none qualify. Implement this as relevant.
Code: [Select]
$heirs = [];
$bestheir = NULL;
$heirs[] = $character->getSuccessor();
foreach ($heirs as $heir) {
    if (!$heir->isActive() && $heir->getSuccessor()) {
        $heirs[] = $heir->getSuccessor();
    } else {
        $bestheir = $heir;
« Last Edit: June 11, 2018, 01:02:30 AM by Andrew »
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)


  • Full Member
  • ***
  • Posts: 211
  • Karma: +9/-4
    • View Profile
Re: M&F Changelog
« Reply #4 on: April 08, 2018, 03:29:11 PM »
If there are going to be "places" could you also include improved means of managing existing structures? e.g. removing unwanted roads and features would be a nice thing to have if the role of places external to the cities is going to be increased.

Also, i'd suggest that the updates should be generalized, e.g. towers and docks should become garrisonable / buildable locations that can have troops stationed there.


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
Re: M&F Changelog
« Reply #5 on: April 09, 2018, 04:15:15 PM »
Removing old roads shouldn't be a hard add, but I'd have to look at it.

Towers and docks might be converted to full fledged places. I was toying with it at one point, certainly. Technically speaking, the game already understands that Places can have soldiers garrison them. It'll probably be a bit before I come back to places though.

That said, I have udpated the TODO post with a bunch of stuff about sieges.
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)


  • Game Master / Lead Developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 1831
  • Karma: +75/-8
  • Mildly Amused
    • View Profile
    • Lemuria Community Fan Site
Re: M&F Changelog
« Reply #6 on: June 11, 2018, 01:00:41 AM »
The draft feature list for 1.2 is above, for the curious. Once I complete that list, I'll take a look to see if there is anything small/quick I can finish from the larger TODO list, before pushing it all live. I'm pretty confident in saying that it'll be pushed live this month, now that I've got both Houses and Game Requests being made properly.
Standing for the creation of interesting things since Year 1, Week 5, Day 4.
Favorite cold beverage: Strawberry Shake
My hobbies: Fixing computers, video games, anime, manga, some other stuff, sleep (in no particular order)