M&F Changelog

Being an open sourced game (you can view the live code at the MaF Community Development Repository) this forum is for design and code discussion.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

M&F Changelog

Post by Andrew »

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.

Version (20170424)

Slumbering first ones no longer grant experience
Realm info can be viewed without being logged in

Version (20170520)

Inactive subrealms can now be restored.

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 (20170608)

Heraldry can now be shared between partners and to their children. It is no longer account specific.

Version (20170608)

Map loadlist no longer appears on realm pages, improving usability for smaller displays.

Version (20170618)

Non-functional BitPay functionality was removed.

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 (20170802)

Bandits are far less likely to spawn on icecaps.
Bandits will no longer spawn with plate armor, broadswords, or warhorses.

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 (20170906)

A fix in the code that prevented dungeon and subscription processing has been applied.

Version (20170907)

A bug introduced by a Symfony update (2.7.7 -> 2.7.33) that prevented character grouping reassignment has been fixed.

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 (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 (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 (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 (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 (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 (20171021)

Voting method "by horses", added at the request of discord user Vammy#6426.

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 (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 (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 (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 (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 (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 (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 (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 (20180122)

A bug resulting in bad position links for realm elections was fixed.

Version (20180125)

It is no longer possible to view (and thus, vote in) the election of a realm you are not part of.

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.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

Version 1.1 (20180408) - "The Christmas Update"

--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.
--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 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.
--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 (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 (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 (20180504)

Fixed the translation string for position elections yet again.

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 (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 1.2 (20180715) - "Family Matters"

--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.
--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 (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 (20180806)

Updated several translation strings relating to achievements and houses.

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 (20180808)

A small bug preventing you from relocating your house was fixed.

Version (20180816)

A bug preventing you from executing people in a house was fixed.

Version (20180829)

Code was added to support GM characters on site--yes, these are canon. No, you cannot poke them with sticks.

Version (20180901)

The game will now check to see if battles are already being processed before processing battles that haven't been processed.

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.

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 (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 (20181009)

Retired characters will no longer prevent characters being created

Version (20181125)

An exploit involving gifting credits was fixed.

Version (20181130)

Position descriptions now properly use markdown like most other text fields in the game.

Version (20181206)

It is no longer possible to play a character while the turn is running. This will hopefully mean battles will run properly more often.
Automated elections now last for a week, rather than 3 days.

Version (20190103)

Characters in battle are no longer able to be played until the battle completes. This will hopefully mean battles will run properly more often.

Version (20190831)

A bug that allowed you to travel after failing to disengage from battle has been fixed.

Version (20190918)

It is no longer possible to set retired characters as your heir.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

Version 2.0

  • You can now declare a siege of a settlement or place
  • Besieged settlements that are encircled with enough soldiers will cut off entry, exit, and trades.
  • Trades cut by sieges will be suspended, rather than canceled.
  • Besieged settlements will have resource collection and usage suspended, as the commoners move to emergency rations and focus more on survival than production.
  • Sieges will have anywhere between 1 and 5 stages, simulating the battle shifting back and forth between the outermost walls and in the innermost castle/citadel.
  • It is no longer possible to attack someone outside a settlement without leaving the settlement. If you try, the game will move you out automatically. If you try to attack both inside and outside, the game will prioritize inside, and not target outsiders at all.
  • You will no longer get defensive bonuses while inside a settlement, only when defending from an assault.
  • Battle experience calculations that include slumbering characters are now fractional rather than multiplied by 0.
  • Battles now care about the type of region they're in. Different region types affect ranged combat differently.
  • Battles are now properly siege-aware, taking note of who initiates and what the status of a siege is.
  • Battles inside settlements have their own unique rules.
  • Settlement assault battles will now take into account the relevant settlement defenses and their conditions.
  • Battles will now break into one or more individual points of contact that will track what soldiers are or aren't actively engaged in melee, and ranged soldiers outside the contact point will choose targets based on units settings.
Battle Reports
  • Battle Reports have been overhauled to allow additional flexibility.
  • Units are a new management level between First Ones and Soldiers, allowing you to properly group soldiers.
  • Units are created and manged by a settlement owner but led by the first one they are assigned to.
  • Existing soldiers will be grandfathered into a defacto unit under management and leadership of the current first one or settlement they are assigned to.
  • Units will be reinforced remotely, and this will, somewhat, account for respective travel times. (It's about a third slower than player travel, and doesn't account for changing end positions. That'll come later.)
  • Units can be recalled or disbanded remotely by their owners.
  • Units can have an appointed marshal, which will let that person do most management actions (including training, if they have that permission).
  • Settlements themselves will always have a default militia unit that will be created on demand.
  • Allow management of units in lordless settlements that aren't part of realms.
  • Units from settlements that are taken over become orphaned.
  • Places can now be created by any character that owns a settlement or has permission to create a place in the lands inside or outside a settlement.
  • Places come in varying types: Academy, Arena, Arrival Area, Capital, Castle, Cave, Embassy, Fort, Home, Inn, Library, Monument, Plaza, Portal, Passage, Race Track, Tavern, and Tournament Ground; many of which will be available at the time of update, and most of which have specific requirements to be met that will be detailed in the game manual.
  • Places are unique in that they are physically represented on the map and can be garrisoned, like settlements, but can be owned by one character while managed by another.
  • Creation of new places will be limited as follows:
    1) You must be inside a settlement or outside a settlement and atleast 500m away from other places and settlements.
    2) For each month you've played, you can create a single place. Subscribers get a bonus place.
  • Many places will be expanded as part of the future Activities update, though some of these will have special rules. For instance, Embassies will have both owning and hosting realms, and the character that manages them will be granted a special title in the hosting realm. Arrival areas will be where new characters can arrive to the settlement and/or realm.
New Character System
  • New characters will now either arrival at their family home, or at an in-game arrival area.
  • These arrivals will arrive as unaligned realm members, who have limited access to realm conversations.
  • Knight Offers are being converted to Knight Requests. Lords will be able to post quantity limited, time limited, or unlimited knight offers to their realm that will automatically show at places of arrival.
  • These requests will allow new arrivals to then send offers of vassalage to the requesting lord, which they will have the option of accepting or rejecting.
  • Characters will now have primary and secondary allegiances. Primary allegiance will be their lord, and will be the one that knights follow when determining what realms they are in.
  • Allegiances will now be to a seat rather than a person. You'll be the knight of [region], or a landed vassal of [ruler], etc.
  • In the future there will be realm laws that allow you to really tweak how this works, like whether oaths must be renewed after a seat holder changes, or if different positions can have direct knights or not. We're open to ideas on this!
Message System
  • A total overhaul of the conversation system has taken place. It may look the same, but we promise it's not.
  • You can now opt to view all messages received over a given period of time, or view them by topic as you always have.
  • Messages that are in response to other messages will link to them on the message page.
  • Owners of a private conversation can add and remove people with confidence, as the game now tracks the exact second someone is added and only lets them see messages from then until they are removed. They still have access to read old messages, but won't be able to read or send new ones.
  • You can now select one of several types of messages, to make it clearer what your intent is.
  • :
  • Messages that no one can read will be deleted automatically. Otherwise, messages shall be eternal, unless you opt to "remove" the conversation entirely.
  • For reasons I don't quite understand the menu to join a House wasn't showing up. This has been fixed.
  • Houses can now request to become a subordinate of another.
  • If your House has no head and has gone defunct, any member can opt to take it over.
  • Character searching has been overhauled. It will now display both full name and ID of the selected user. Any input that contains a number will prioritize the number, treating it as an ID, guaranteeing that a given character ID is selected. You can also search by ID.
  • As such... assuming he were still alive, the following are all valid character name entries almost anywhere the character search system is used: "Bear", "Bear (ID: 3)", and "3"; the exception being when writing a message. Still have to do the [c:3] there.
  • Characters may no longer have numbers in their name.
  • Will now use the GameRequest system for becoming a Knight.
  • Character selection logic has been overhauled, and will default to any located numeric input and will treat this as a character ID. If no numbers are found, it will default to a standard name search for any matching living character.
  • A blanket permission has been added to allow all knights of a settlement to use it for supply.
  • Settlements are not estates. Estates are a myth. Only settlements are real. (200+ instances in 40+ separate files changed).
  • Will now utilize the GameRequest system for self-vassalizing under another realm.
Realm Positions
  • Realm Positions will no longer accept slumbering characters to positions that don't allow slumber.
  • No positions will allow dead characters to be elected.
  • Position candidate selection now uses the same logic as lists, so you know for certain who you are putting up as a candidate.
  • The game will now tell you the real-time travel times as well as the game-time travel time.
  • An exploit with retraining soldiers that allowed gear duplication has been fixed.
Other Stuff
  • Delvin Anaris. <- See, you're in the change log. Thanks for helping me with all my JS ineptitude!
  • The travel section of the map page now tells you in real-time how long travel will take, as well as how long in-game.
  • The game is having an identity crisis and now believes it might be M&F instead of BM2, at least some of the time. It still hasn't decided entirely yet, but it's working on it.
  • The game is now running on Symfony 2.8 and PHP 7.2. Things should be ever so slightly faster because of this.
  • The game is now smarter about access validation and user rerouting. You should no longer see random login pages when logged in! (As an aside, this resulted in possibly my favorite piece of M&F code).
  • ActionResolution was split, creating ActionManager as a separate service.
  • Military Service renamed to MilitaryManager, and parts of it split off into WarManager.
  • Parts of ActionResolution were mvoed to WarManager.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

Version 2.1

Lords can now appoint a Steward, who has the vast majority of the same permissions as Lords do to a particular settlement.

Version 2.2

  • The code for updating conversations has been moved out of their other-cycle handlers into a unified conversation cycle.
  • House are now fully tied into the turn conversation handling.
  • Now included as part of the inheritance processing system.
  • Can now be transferred between characters.
  • Requests pertaining to Oaths, Realm Joins, House Joins, or House Cadets, will now clear out similar requests of the same type when from the same originator and to the same recipient (thus preventing a race condition).
Version 2.3

  • Associations have been introduced. These allow you to create guilds, religions, cults, orders, societies, whatever.
  • Associations have their own internal membership and ranks, and these are distinct things. Members are all people that are in an association. Ranks are held by members. Not all members will have ranks. Not all ranks need have members.
  • Associations tie into Conversations just as Houses and Realms do.
  • Associations can range from very simple (the owner + all members who can see everything) to very complex where only the owner knows everything and members can only see members at their rank.
  • TODO: If you're in an association conversation you may not be able to see who sent a message--this is determined based on Rank Visibility, if the appropriate association law is in effect.
  • Similarly, you may not be able to view all ranks of an association--only those you are allowed to know about.
  • Associations may have other associations as their subordinates.
  • Associations are joined by finding a Place they are setup at and requesting to join.
  • Associations may be setup in more than one Place.
  • Associations may be evicted from a Place by the Place owners.
  • Associations may be left at any time.
  • Realm Laws have been overhauled to fit within a new standardized Law System. This system also includes Asssociation Laws.
  • Laws will either be freeform things rulers/owners declare or system-understood things that they set.
  • Laws let you tell the game how you want things to work at a broad scale.
  • Laws can be added but not removed--they are simply replaced by a newer law.
  • Laws will track who changed them when, and will offer a text field for you to explain the law or why you're changing it.
  • Currently laws are setup for Association Visibility (whether you can view an Association's details), Association Rank Visibility (whether the members can see all or just some other ranks), TODO: Realm Slumbering Estate Permissions (overrides for entering slumbering estates), TODO: Claiming Slumbering Estates (speeds up TOs of slumbering estates in the realm).
  • Knights of a settlement will become knights of the realm when their settlement is forcefully taken.
  • Knights of a settlement or place will lose oath currency status when the settlement or place is transferred to another character.
Realm Positions
  • There is now a toggle for allowing a position to add/update/repeal laws. Rulers can always do this.
  • A toggle has been added for determining if a position can have vassals. Changing this affects future vassals, not current ones.
  • You will now be able to see how many players are in each Realm or House while spawning.
  • You will now be told if you're joining a subordinate realm/house as opposed to an independent one.
Other Stuff
  • I'll populate this when I get around to doing the actual update and have to look over the code merges.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »


Add laws route to security handler
Fixed a bunch of background errors regarding redirects from the Law and Realm Controllers
Added missing translation string for not being association owner, for association laws page, and for leaving assocaition
Fixed an issue where creating an association wouldn't set founder as owner
Fixed issues with place creation permissions for lords not working
Removed corruption
Fixed requests to settlements not showing up.


Added display of actual realm activity counts in admin panel
Fixed a bunch of events not being committed to the database
Fixed association rank creation to call the correct function to create the rank after form submission
Fixed characters not showing their allegiance to a realm via legacy oaths


Fixed sieges, hopefully for the final time. These were so broken I'm not sure how they actually worked in the first place. Should be significantly fewer issues with them now.
Fixed units not displaying travel days.
Added a couple missing translation strings for sieges
Fixed a divide by zero error for failed battles


Fixed characters swapping oaths firing an event saying they went rogue
Added support for positions as lieges getting said events
Added several new events for when character swap oaths
Fixed a null variable error in association rank creation form
Fixed realm laws list not showing as an option in game menus unless ruler
Dead or retiring characters should now have their pending requests removed
Fixed destroyed places not cleaning up their spawns (and thus causing uniqueness issues)
Fixed a background error on laws about not returning a response on redirect
Added siege status information to sieges.

  • Characters/Conversations
    • A toggle has been added for both automatically reading association and house messages.
    • A bug with inheritance has been fixed.
  • Houses
    • Members can now petition the head of house for permission to create a Cadet House
    • Those with permission in a house will see the Create House button active again, letting you create the permitted Cadet house
  • Places
    • The limit on place creation is now one per fourteen days, with subscribers getting double.
    • Destroyed places no longer count towards this limit.
    • A recommendation has been added to the place creation page about the first ones you should create.
    • The permissions system for places has been fixed and is now accessible.
    • Places can be toggled to be public, which bypasses the entry permission entirely and just lets anyone wander in.
  • Sieges
    • You can no longer disband or leave a siege when the siege has a pending battle. Sorry.
    • Siege battles that somehow lose their attachment to a siege will default to field battles and should carry on normally otherwise.

Character info at the top of the page will now tell you if you're in a Place or just a Settlement.
Occupation of a settlement is now doable without a siege if you have soldiers and the settlement has no defenders.
Fixed a bug regarding formalizing houses when not in a house.
Streamlined a bunch of the security checks for places.


Added missing translation strings for unit soldier training.
Removed semi-duplicate error notice on unit soldier training.
Unit soldier training should no longer complain about not finding FormError class.
Newly created Units can always select the settlement they are being created in for supplies.
You should now be able to go to any page that links to joining a house.
Battles are less buggy--killing someone in battle should no longer freak them out.


Deities can now have both their Asscoiation specific words and their non-specific descriptions, names, and aspects updated by the respective individuals.
Main Recognizers can update name, description, and aspects. While any Association owner can update their words.
These will trigger events for all relevant associations for the change.
A page has been added for viewing Deity info.
Deities can now be wikilinked with [d:#], [deity:#], and [god:#]
Fixed a bug with association creation when already in an association.

  • Journals
    • You can now create journals that can be public (or not) to share thoughts without sending a message or just to record things for later use.
    • Public, non-graphic journals will display on the game's index page.
    • Journals that shouldn't be displayed there can be reported by any player for review (which will immediately de-list them)
  • GM Stuff
    • The beginnings of a GM system for in-game moderation has been added.
    • You can message them in discord on any server that has the Lemuria discord bot with the !olympus command
    • Yes, it's a play on BM's Titans.
  • Other
    • Some files have been moved around in order to better accomodate future overhauls.
  • Actions
    • You can now train a few skills directly without having to risk death in combat.
    • While figuring out the best way to do the above, I think I've fixed the research event log bug.
    • Inns and Taverns can now be "taken over"
    • Archery Ranges are now able to be visited.
  • Characters
    • Player characters will always have optimal stats in battle regardless of loadout, with exceptions for mounted (or not), lances, and Pavises.
  • Other
    • A bunch of broken translation strings for spottings have been fixed.

Text translation string for arhcery now spells archery correctly (and that first typo wasn't originally intention but it gets the point across)
Breaking an oath outside a realm will no longer break on breaking the oath.
Traveling while in a Place will now make you leave the place.
Training a skill will no longer break travel.
Entourage recruitment form errors will no longer break the page rendering.


Garrisons can be visited to train on Morning Stars, Broadswords, or Great Axes
Barracks now offer training on swords and maces.
Fixed a bug with place inheritance.


Character spawning rules have been changed. Once you have spawned your third character, you get a cooldown until your next spawn equal to the number of characters you have placed in days. Have 3 characters running around? Must be 3 days after the last. Have 21 characters on the map? Wait 21 days.
Spawning rule applies to both new characters and those you are returning from retirement.
Character death or retirement will reduce this counter. New character spawns will recalculate it.
Abandoning a settlement while it is occupied and not choosing to keep realm will give it to the occupation automatically.
Abandoning a settlement that has knights or a steward will give them claims on it.
Abandoning a settlement will trigger realm and character events properly.
You can now force cancel the occupation of an undefended settlement.
You can now declare an occupation on top of an existing occupation in an undefended settlement.
Some broken permission checks relating to occupations have been fixed (I centralized the check, if you're curious).
Siege assaults and sorties should no longer generate a stack of actions on the leader but distribute them equally among all participants.


Character spawning rules have changed again, the first four characters are now free, the next 6 are 3 day cooldowns, the next 15 are on a 7 day cooldown, and the rest are on a 15 day cooldown. Losing characters no longer decreases the cooldown though.
Realm information pages will now list their dead inferiors (for ease of restoration)
A couple bugs in battles have been fixed.
A bunch of bugs relating to associations and not having ranks when looking at menus have been fixed.
Some redundant code relating to retirements and units has been removed.
Realm Conversation names will now follow Realm Name changes
Every turn the game will look for 25 characters that have slumbered for over 2 months and force-retire them. (at the time of this writing, there are about 2500 characters that qualify)
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

* Event notifications will now go out to settlement-related characters when a takeover starts or stops.
* Event notifications have been added to units in a number of situations.
* A bug from starting a map in a hole in reality has been resolved.
* Training on broadswords should now work.
* Place events now work like settlement events--they're no longer viewable on the info pages.
* A bug with game requests and position oaths has been fixed.
* Units now have a disbanded state for... reasons.
* Inheritance for settlements now has a default state (that of how the game worked before)
* A bug with place inheritance has been fixed.
* Joining a realm that doesn't have realm conversations will no longer error out the game.
* A bug preventing starting an occupation because of an ongoing occupation has been fixed.

* Battles you can join now check if you are inside a wall or not.
* A bug with training soldiers and creating a unit has been fixed.
* A bug with inheritance has been fixed
* A bug with permissions has been fixed
* Place spawns will now check for old house spawns and remove them before trying to make a new one.

* Direct occupation and siege-created occupation will now use the same code to orphan units. The days of stealing your enemy's soldiers are over, sorry.
* A bug in unit disbandment has been fixed.

* You can no longer Tssue block orders, only issue them.
* Law event strings have been relocated so they should work now.
* First Ones will now mention in battle reports when they refuse to retreat because of some petty thing like morale (they don't retreat unless wounded)
* Dispatcher calls for Unit tets have been moved to their own Dispatcher.
* You can no longer recall or return a unit engaged in battle.
* Some menu items now only care if you can do them or not, not if you're the settlement lord (this may be removed if it breaks too much)
* Associations, Deities, Laws, and Units have been added into the event translator
* Place logic for recreating House Spawns has been made more robust.
* Looting should no longer return errors about not rendering a view.
* A couple unit events have been corrected to actually link the settlement involved.
* Some dynamic function calls have been corrected to actually work (as opposed to not work)
* Battles will now count first ones as soldiers when trying to figure out which side won.

* Fixed house spawns with places again, hopefully better this time.
* Fixed a couple invalid object strings in translation displays.
* Fixed a place where character spawning still used the old new logic rather than the new new logic.

* Fixed a bug in unit soldier logs relating to units not having bases -- you should be able to read these now.
* Fixed a bug relating to association ranks losing ownership.
* Fixed a bug preventing the viewing of association laws.
* Fixed a bug preventing the updating of association laws.
* Fixed a bug in unit soldier logs relating to units not having bases -- you should be able to read these now.
* Fixed a bug relating to association ranks losing ownership.
* Fixed a bug preventing the viewing of association laws.
* Fixed a bug preventing the updating of association laws.

* Fixed another bug with Association law creations
* Fixed a bug with setting unit settings
* Added Association View Members page
* Added Association Manage Member page
* Added Association Evict Member page
* Reworked some association security checks to be less cumbersome
* Added createAssocs field to Association Create/Manage Rank page.
* Taking a settlement will orphan units the same way occupations do now.
* Temporarily removed association rank descriptions being displayed until I can make them save correctly.
* Fixed a bad translation string (I hope) relating to unit soldiers arriving.
* Tweaked a unit orphan translation string to accomodate takeovers.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

* Added ban rule for violation of terms of service
* Moved some translation strings around so they'll work
* Added a word to a translation string so it sounds better
* Expanded association rank form to include options for expanding and subcreating associations
* Fixed logic for association rank management
* Fixed broken association rank descriptions
* Fixed keep realm flag on abandonment not keeping realm

* Place security rules have been overhauled and standardized.
* Capitals should now respect realm rulers (of the realm they're connected to) as the owner.
* And embassies... Will respect the ambassador, foreign relam ruler, local realm ruler, or place owner as owner, depending on how far that process is along.
* Place permissions now display on the permission list management page
* Occupied settlements no longer break the permission list management page
* Places have a new function that standardizes the logic from several security checks into a single place.
* Place destroy page should no longer silently error in the background.

* Added debug command for rerunning retirements.
* Fixed a bug in action resolution that prevented turns running fully.

* Fixed a bug with place security rules
* Fixed a bug with association inheritance
* Fixed a bug with units being rebased
* Fixed a bug with giving gold
* Fixed a bug with replying to conversations that you're not actively part of

* Fixed a bug with Place security rules
* Fixed a bug with settlement inheritance when passing to the steward

* Fixed a bug relating to association inheritance
* Fixed a bug resulting in orphaned units -- the remaining 170 of these I'll rehome over the next couple of days as to do this well, I need to look at where each have most of thier soldiers from.

* More association inheritance bug fixes. Turns confirmed to run.

* Fixed a bug with unit resupplying that allowed bypassing permissions.
* Fixed a bug preventing creation of cadet houses.
* Added a few missing translation strings.

* Fixed a bug with place permissions (two bugs, actually)
* Fixed a bug with character death and base-less units
* Fixed a bug with map travel and not setting a place to travel to
* Added a string explaining why mashing "set route" doens't do anything
* Added a translation string for when I rerun character death or retirement.

* Fixed bug with inheritance law processing.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

Added ReCAPTCHA support to registration and reset password forms.

Re-enabled email sending.

Re-enabled registration.

Added more checks for disbanded units so they don't end up in selection fields.

Added notice for units that have recruits but no base to train them
Expanded unit supplier field with more options
Place descriptions in the actionable places menu will now display links (as will Houses)

Fixed siege assault saying you need to be a ruler. You in fact need to in charge of your battlegroup.
Characters of banned users now fall under the same game laws as slumbering characters without them needing to hit slumbering time requirements.

Fixed an oversight that would leave characters in charge of battlegroups after their death or retirement
Fixed an oversight that wouldn't remove reired characters from battlegroups

Fixed a bug relating to researching logs, I think. We'll see. :)
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

* Changed steward appointment form to allow no one to be appointed.
* Changed unit marshal to function similarily.
* The support and oppose actions now generate a flash message and send you to the actions menu on submit rather than back to themselves (saving you a click)
* Reworked GM Menu to also support Admin menu
* Added links for admins to various admin-y pages
* Added controller for centralizing world edits
* Added page for listing world regions
* Added page & form for editing region data (and associated resource data).
* Fixed a bug involving house succession when there is no viable heir

* Fixed another bug with house inheritances
* Added optionally public user profiles
* Added options to "Edit Data" in user profile for <a href="https://mightandfealty.com/en/user/56">new profiles (like mine)</a>.
* Added link to public profiles on character pages (near the character name).
* GM access overrides have been added to allow access to private profiles in order to simplify seeing who plays which characters. No additional data is shown.
* The new user comments field should support all in-game link systems, similarily to other text boxes.
* Removed subscription requirements for taking/receiving settlements or creating realms
* Fixed broken event message for abandoned places from house collapses.
* It is no longer possible to start a siege without confirming that you want to start a siege, and thus you are prevented from attempting to siege nothing.

* Corrected an in-game warning about soldiers not training to be clearer about what the warning was there for.
* Public user profiles no longer require a user comment to be entered.
* Altered an admin page to link to user profiles and display active character counts and if a user has a public profile page.

* Reworked when the soldier training warning appears so it is more accurate on when it appears.

* Fixed a bug creating zombie (and retired) vassals.
* Killed and properly retired said vassals.
* Settlements now display occupation information on their details page.
* Site footer, contact, and credits pages have been updated per the ownership change.
* Credits will soon list patrons who want their name listed. <3

* Heraldry creator works again
* Fixed translation string about soldiers training in units so it doesn't claim units train in soldiers
* Fixed template call for the give ship page to call the correct template (one that exists)
* Fixed view relations page to have better capitalization.
* Removed exploit that allowed more characters than a subscription level was supposed to limit a user to if a user never visited the character list page. (I'm kind of curious how long this has been a known thing if one of you wants to share.)

* Ending an occupation (while not the occupant) no longer requires you to be the owner but does require you have at least twice as many soldiers as the settlement.
* Bunches of text tweaks courtesy of <a href="https://github.com/Demivar">Demivar</a>.
* Characters returning from retirement have their list position reset.
* Existing 11 characters that had this issue have been manually fixed.

* Occupiers can now abandon settlements remotely, just as owners can.
* Character estate list now also includes occupied settlements.
* Map legend has a new entry. A couple of them have also had shadows added for readability.
* This means you can view active occupations on the map.
* The old knight offer code has been stripped out of the map system entirely, not that it would've worked.
* Fixed an error that allowed any realm members to edit the laws of a realm.

* Fixed a bug in the page for adding new laws.

* You can now change your password in game.
* Password reset page you're linked to in the reset email actually works now.

* Even more text tweaks courtesy of <a href="https://github.com/Demivar">Demivar</a>.
* Fixed the law events. The old ones will look a little off, but the new ones should function as expected.
* Added support for translation string sub-translations. Because law events.
* Added support for multiple rulesets within the codebase.
* Fixed bad error reason for when someone who shouldn't be able to tries to repeal a law. It now correctly tells you why you can't.
* Estates page will no longer attempt to link to non-existent owners of estates

Recent Message menu added allowing non-drop-down menu access to the different recent view ranges
* Recent message reply buttons have been re-enabled and appear to work
* Message loader has been consolidated from 4 locations to 2, with the recent view having it's own (because it has to be mutli-conversation aware) and all others sharing their own (since they only deal with a single conversation's messages)
* A link to view all unread messages is now on your character summary page
* The "Inside [place], in [settlement]" area under "Playing [character]" has been corrected to be less broken
* The display of system messages have been optimized a bit to take up less space. These will likely be further condensed in a future update.

* Enabled display of house subcreation requests to the head of a house.
* Houses with successors should no longer error out succession processing.

* Fixed a bug with cadet houses being properly called by their superiors during conversation processing.
* Fixed a bug with units showing up for battle when they're still days away.
* Fixed a bug with viewing local places when you're in your House's Home.
* Commented out some unused code relating to sieges that isn't imeplemented.
* Added some missing translation strings
* Attempting to offer your house as a cadet to another will no longer send you to a page telling you're too far from your own house to offer itself as it's own cadet.
* Reorganized place actions menu a bit, shouldn't be as cumbersome unelss you can actually do things.
* It is no longer possible to sabotage settlement reserves by recruit cancelling.

* You can no longer view the soldiers of units that you don't have any responsibility over.
* Retraining a soldier outside of the settlement they're from should no longer error out.

* Fixed a bug that created more detached units with every occupation. I've gotten through about half of these. All units should now be *somewhere*, if not exactly where they were from. (Best guesses on my part).
* Changed unit travel to zero itself if a unit is less than a sixth of a day away.

* Changed ownership to Iungard Systems, LLC
* Added Privacy Policy (TLDR: I don't sell or share your personal info you give me.)
* Added Cookie Policy (TLDR: Two cookies are used. One that proves you are you, and one that tracks your consent to cookies (or lack thereof).)
* Updated Terms of Service (TLDR: Changed to reflect game ownership. I'm not aware of any other significant changes, but it is long.)

* PayPal integration has been replaced.
* All PayPal payments will now go to Andrew (by way of Iungard Systems LLC).
* Payment Model has been overhauled. (Buy more, get bonus credits, also now in USD)
* Patreon Crediting and Subscription Overhaul to come Soon™️.
* Stripe Payment option to also come Soon™️, I hope.
* New credit history counts regular and bonus credits separately, I'll get the display up for it tomorrow (I've been at this since I got home and I'm tired.)
* You will get all credits due to you if it says "Payment Successful!", the history display just doesn't quite show the bonus ones yet.
* After the subscription update goes live, the vast majority of subscription levels will no longer be selectable. This is your final warning.
* I will grandfather people in until they switch off or lose their subscription for inactivity, but you won't be able to select them anymore.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

Version, "Under New Management"
* Reworked how the game sends emails. You should get fewer emails with more info each.
* Added an email opt-out link to all emails.
* Disabled all email notifications for all users--you'll ahve to opt back into them. Yay compliance!
* Reworked subscription model. One "subcription" level for 250 credits per month.
* If you have an old level you can keep it but you'll never get back to it if you lose it.
* All players can have 15 characters. Standard spawn limits apply.
* Reworked places and artifacts limits to be better manageable.
* Fixed broken Journal reporting.
* Fixed broken GM interface.
* Added an opt-in for showing your patronage.
* Showing your patronage also lists you on the credit page :)
* Added bonus credits display to payment and credit histories.
* Centralized most external notifications into one place.
* Added discord integatrion. Currently reports big battles and new realms.
* Reduced price of heralrdy. You should see a refund in your credit history shortly, if you don't already.
* You can now decide how often you get your event emails. This is selectable in your profile settings.
* Reworked how battle reports determine visibility. If a battle is interaction range, you should be able to see it.

* Fixed a bug in battles relating to tracking observers.
* Increased resiliency of the payment system when dealing with the Patreon API (which doesn't always respond as expected, even with valid credentials) :\
* Fixed several instances of bad calls to the user manager service.
* Fixed a variable type mismatch that can happen in the notification system.
* Fixed the notification system erroring out when there was no user to report something to.

Version - 20220712
* Added a missing variable declaration that errored silently.
* Removed erroneous restriction on being able to manage the unit you want to return--if you're leading it, you can always send it home, unless you're in battle.
* Improved unit soldier reassignment. It should be smarter now on whether you can reassign soldiers or not.
* Fixed a bad error log call on the payment API.
* Tied game errors into a discord webhook so I can see them in a private channel without having to pull up the games internal error log via command line.
* Fixed two missing service calls in the battle runner.

Version - 20220713
* Patrons will no longer give their referrers free credits when the patron is credited for their patronage.
* If you already got that though, I'm not removing it.
* Added an update needed flag to patrons that'll show up when your account needs to be relinked to Patreon due to token expiration.
* Added an old account level for allowing patrons to restore their old levels when they lose it due to Patreon tokens expiring.
* This doesn't mean you'll be able to select it, just that the game remembers it and will swap you back when you complete restoral actions, as appropriate.
Posts: 43
Joined: Mon Sep 16, 2019 11:09 pm

Re: M&F Changelog

Post by Andrew »

### M&F Version - 20220714 ###
* The link to end emails should now redirect you to the homepage correctly.
* The journal writing page should no longer error out.
* A bug preventing you from joining battles in open fields has been fixed.
* Lances are now trained at the list fields.

### M&F Version - 20220715 ###
* Fixed place transferring just sending you back to the page after submit.
* Fixed a bug preventing realms from being dissolved.

### M&F Version - 20220718 ###
* Fixed journals not associating to the character that writes them.
* Fixed conversation permissions not updating appropriately when you edit them.
* Fixed siege menu not showing up when you were in a siege with no soldiers.

### M&F Version - 20220726 ###
* Fixed bug preventing settlement owners from sieging their own settlements (when appropriate to do so)
* Fixed similar bug for places.
* Fixed bug that would prevent the game from sending a message when someone leaves a conversation if they just directly remove it rather than leave it first and they only had a single permission entry to access it.

### M&F Version - 20220726 ###
* Added confirmation screens to conversation removal and leaving.
* Added missing markdown, tag stripping, and wikilinking to spawn descriptions.

### M&F Version - 20220728 ###
* Fixed battle reports not displaying when they should be.

### M&F Version - 20220730 ###
* Fixed a bug in turn processing with game requests expiring.
* Added a check for activity to siege leadership checks.

### M&F Version - 20220731 ###
* Another turn processing bug fix.

### M&F Version - 20220808 ###
* Fixed another turn processing bug involving gamerequests and food handling.
* Fixed a couple instances where you were granted access to siege management pages when you shouldn't have been.

### M&F Version - 20220918 ###
* Fixed a bug that would report siege went in favor of defenders when in fact it progressed in favor of attackers.

### M&F Version - 20220925 ###
* Sieges no longer preclude loading of the military actions.

### M&F Version - 20220926 ###
* Fixed a bug with inheritance of homes.

### M&F Version - 20220927 ###
* Initial morale for siege defenders from defenses is no longer cut in half.

### M&F Version - 20221104 ###
* You can no longer spawn at inactive spawns.

### M&F Version - 20221122 ###
* Victorious soldiers should no longer drop equipment to run faster in the hunt phase.
* Active user count is now exposed as part of the game API. More details to come later.

### M&F Version - 20221124 ###
* A bug introduced when fixing victorious soldiers dropping equipment has been fixed.

### M&F Version - 20221202 ###
* Fixed a bug with event cleanup that would error when an email still need sending.

### M&F Version - 20221207 ###
* Retired characters no longer count towards active character count.
* A bug in Patreon token refreshing has been caught and fixed.