November 2014 Changelog

EmpireMUD 2.0 alpha Change Log

November 30, 2014

  • Sectors and Crops: Created new data structures and importers so that I’ll be able to make them both editable in OLC soon. Wrote database functions for these.
  • Disconnect crash: Fixed (hopefully) a crash bug caused by a player disconnecting in a certain way.
  • Spawns: Created OLC-editable spawn data for rooms and buildings, and moved the existing data over to that. Also converted terrain and crop spawn data to use the new system, although it’s not OLC-editable yet.
  • Log-out location: Fixed a bug where the mud might crash if the room you logged out in no longer exists.
  • DB: Changed some of the file format for saved data to reflect recent data changes. In particular, mob flags now all save for mobs saved on the map. Mobs should also now remember what cart they were pulling through reboots. However, mobs that were tied up before have been liberated by this change. Future tied mobs will still save as tied.
  • Harness: Animals that are pulling carts will now be displayed as such when you look at the room.

November 29, 2014

  • Crypt: Added a new “crypt” room that can be designated in castles and set as a tomb.
  • Tomb: Added a new “tomb” command that allows you to set which place you’ll respawn when you die. This only works if you die on the same continent as your tomb, otherwise you will respawn at a random tomb/cemetery belonging to your empire on the continent where you died. If no tomb is available, you’ll end up at a random Tower of Souls. Unlike homes, more than one player may share a tomb. But they must be claimed by your empire.
  • TOMB: Added a new building flag that identifies a building/room as a valid tomb.
  • Rooms: Cleaned up the code that creates new rooms.
  • Rooms: Converted all parts of the code to use the building data for interior rooms, rather than the old arrays. The entire concept of interior rooms is essentially merged with buildings, other than the ROOM bld flag and a couple of key differences.
  • Buildings/Rooms: Converted some buildings/rooms to use building flags instead of hard-coded building/room vnums, so that future content creators can, for example add a new type of forge building. The new flags are: Forge, Cooking Fire (Kitchen, etc), Alchemist (includes Laboratory), Stable, Library, Apiary, Glassblower, Docks, Pigeon Mail, Mill, Potter, Tailor, Bath, Sail (docks, bridge, and other rooms you can sail through).

November 28, 2014

  • Rooms: Imported the designate-able rooms into the building data and added a ROOM flag for buildings, which hides some of the options.

November 25, 2014

  • Wealth: Created the “wealth” item type whose value can be set in OLC; empire vaults now read from this data. Applied to the existing 6 wealth items.
  • Mapsize: Raised max mapsize to 23 (higher than this just comes out too large).
  • Disconnects from too much data: Upgraded our write_to_descriptor() and process_output() functions to use the much-improved versions from CircleMUD 3.1, which prevents disconnects from huge output strings.

Novemer 24, 2014

  • Cities: Reworked the city sizes to 5/10/15/25 as the previous system had huge sizes that nobody is using at all. The new base size is smaller, but it’s also easier for empires to get two additional city points.
  • Wealth: Having at least 2500 wealth now gives an extra city point.
  • Technologies: Having at least 10 technologies now gives an extra city point.
  • File: Added a string length check to the immortal ‘file’ command after a crash apparently caused by a very serious buffer overflow from this command.

November 23, 2014

  • Custom object messages: Added a new system for various custom action messages for objects, and the associated OLC to set those messages.
  • Build: Replaced the hard-coded build messages for various resources with the custom object message system.
  • Instruments: Replaced instrument types with the custom object system.
  • Designate/dismantle: Fixed a bug where one player using designate or dismantle could inadvertently cancel timed actions for other players who are in designated rooms.
  • Build/dismantle: The game engine now stores the recipe id you use to build/upgrade a building to make lookups more reliable when there’s more than one way to build the same building. This will fix a bug where great walls triggered like normal walls.

November 22, 2014

  • Fence: Now counts as in-city.
  • Roads: Added a building flag so that some buildings will appear to attach to roads on the rendered ascii map.
  • Purge: Lowered the level requirement for this immortal command.
  • Empires: Changed how empire name lookups are done so that it prefers exact matches over abbrevs. It also now checks the adjective name.
  • Mines: Changed mines from being special-cased buildings, to using a building flag so that more types of mines could be added.
  • Tunnel: Tunnels have been not dismantlable since the building olc change last month; added a dismantle recipe for them.
  • Room extra data: Switched the following systems from using subtype/progress to extra data: mines, crops, seed growth, taverns, chop, excavate, fillin, harvest, workforce quarrying, and workforce gardening. No remaining systems use subtype/progress.
  • Mines: Mine data for mountains now resets yearly for any tile that is not a mine (rather than any tile that was an undeveloped mountain).
  • Empire adjective: The adjective form of the empire name now shows on the empire detail page. Additionally, changing the empire’s name will also reset the adjective now.
  • Empire details: You will now be able to see what diplomatic relations other empires are offering you on your own empire detail screen. This is also shown to immortals for all empires.

November 21, 2014

  • Room extra data: Added a new system for storing extra data for rooms, to eventually replace the old two-value subtype/progress system that is shared by no less than 15 different things that thankfully don’t overlap. Converted swamp and ruins tile icons to use this system.
  • Switch: Fixed a place where the prompt could cause massive, spammy syserrs for immortals who are switched, due to attempts to load player data on an NPC.
  • Eedit: Replaced the empire editor menu system with the new ‘eedit’ command, which is used in-game and does not take you to a menu.
  • Adjective form: Added a new version of the empire’s name called the “adjective” form, which is now used in some sentences instead of the full name.
  • Ranks: Empire rank names now have a character limit and must be alpha-numeric (other than color codes).
  • Roads: Increased the movement cost benefit from roads, especially on mountains.
  • Territory: Added a new building flag COUNTS-AS-CITY, to replace the behavior previously hard-coded for mines — and applied this to bridges and swampwalks as well.
  • Cities: Players may no longer use color codes in city names.
  • Reforge/Refashion: Now allows you to change the capitalization of the new name and still match the old one.
  • Customize: Players may no longer use color codes in custom room names.
  • Craft OLC: Fixed a bug where builders of any level could remove the in-development flag.
  • OLC Lists: Added bounds checking to prevent massive searches from freezing up the mud.

November 20, 2014

  • DG Scripts: Finished primary work on porting the DG Scripts patch from CircleMUD to EmpireMUD and got it running.
  • Ships: Procedurally deleted duplicate ships created by a previous issue.
  • Crafts: The crafting commands (forge, etc) will prefer exact matches over abbreviations (“pick” will no longer trigger “pickaxe” over normal “pick”).
  • Earthmeld: Characters can no longer be attacked while earthmelded (e.g. by zealous pursuit mobs).
  • Forge: Removed duplicate error message when not wielding a hammer.
  • Bash: Failing a bash no longer results in the character sitting.
  • Backstab: Missing a backstab no longer results in sitting.
  • Designate: Fixed a bug where designate flags weren’t saving; re-assigned designate flags.
  • Taverns: Reworked taverns slightly to use a building flag, and fixed a bug where you weren’t able to fill from taverns properly.
  • Map color bleed: Fixed a bug where a combination of political/informative + darkness could cause colors to bleed.