LoU BoS

By Urthadar Last update Aug 8, 2012 — Installed 381,534 times.

Script Summary: Provides additions to Lord of Ultima: summary, food calculator, recruitment speed calculator, combat calculator and various other features



Version: 1.6.0

Thumb Thumb Thumb Thumb

Warning: from 26th of January 2011 development of this script is suspended. Please post only bug reports (not feature requests).

As time continues more and more script features are getting obsolete. Many features are not as usefull as they were in the past because of changes to the game. For example in the past there was no way of mass recruitment and script was perfect for easy recruiting of lost troops during dungeons raids (now Defence minister can do that automatically).

Features

  • summary widget (tabs: cities, military, defenders, castles, purify, recruitment, trade routes)
  • extra summary (exportable tables of any alliance, players, intelligence)
  • combat calculator
  • food calculator
  • recruitment speed calculator
  • fill with resources (fast way to send lots of resources, know also as multi accounter dream tool...)
  • jump to some coordinates button
  • jump to player or alliance
  • zoom in / out

Requirements


Script requires web browser with greasemonkey support. Tested in Firefox 3.6 - 14 with greasemonkey extension installed and in Chrome (6-20, no extension needed). Script has not been tested in Opera. Script versions 1.2.6+ may require:
Firefox 3.5+
Chrome 4.0+

Trade Routes


Trade routes is experimental function, not properly tested, to be safe please do not try to use it to send resources from city with negative food balance. It requires building minister to work (it may and I think will work without it but I didnt test it at all). Data format may change, so currently please make some tests. This functionality may not work correctly, I released it only because I don't have currently spare time to test or finish it. I guess it's enough warnings :)

Limitations: even with Building Minister server doesnt send data about available carts/ships so to get current amounts there is used "Request Resources" functionality. It's not perfect and in many ocasions it will give lower bound of carts/ships, not actual number. Reason for that is like always - I have to work with data that server sends and it always sends data trailor made for their in game widgets. So in case of Request Resources server sends: resource count, res. amount that can be transported via carts, res amount that can be transported by ships. If and only if resource count is greater than available carts/ships can transport I can calculate accurate carts/ships values. For example if server sends:
some resource type count = 50000
transportable via carts = 20000
transportable via ships = 50000
I know for sure that there are 20 avaiable carts and at least 5 available ships (maybe more). I request resources for all 4 resource types and do some simple math. So if you see in carts/ships some values that are lower than what you could see when you are in city - it's not my fault and at this stage it cannot be fixed.

On add/edit trade route form if player enters resource count < 10000 (1 ship capacity) then it's assumed that he entered count * 1000. In other words, if you enter 157 script will interpret it as 157000. If you want to make your trade routes persitent use save button on trade routes tab.

How to send route:
1) enable auto-refresh of resources on cities tab
2) click refresh resources on trade routes tab
3) click in "send" cell to send trade route, "send max" sends as much as it can

If it's imposible to send trade (no carts/ships/resources) then there will be no text "send" or/and "send max". Send max tries to send the same percentage of some resource as it's saved in route, for example for route:

wood: 10k
stone: 20k

When someone clicked "send max" and in the city there is 50k wood and 50k stone and 60 carts it should send 20k wood and 40k stone. Send max should take into account free resource storage space at destination and currently transported to that city resources. Currently it doesnt add city production to that equation.

When core functionality will be tested and bug fixed I will add some more filters and magic button which will send all trades. Also I will try to make it look a little bit nicer.

City categories


Cities are categorized according to special pattern in city notes. Pattern is *OPTIONS* and could be placed anywhere. For example '*CM* some more info' means castle which could produce moonstones. List of predefined city types (player has possibility to define his own types on options tab):
  • C - Castle
  • M - Moonstones
  • W - Warehouse
  • B - Building
  • D - Defensive
  • G - Gold
Known issues
After closing building minister summary this script summary can stop automatically refresh resources. After 10 seconds summary will start working again
Continents list is populated when summary widget is created - script doesn't update drop down list if new city is settled on new continent. Workaround is to refresh page once.

Some people have problem with local storage it manifest itself with this exception:

Error loading LoU BOS settings: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://prodgame04.lordofultima.com/6/index.aspx... removed the session ID numbers)"]

It means that script cannot access local storage because it's disabled or storage quota has been exceeded. In Firefox local storage settings could be accessed by visiting special 'about:config' page. First check if 'dom.storage.enabled' is 'true'. Also look for 'dom.storage.default_quota' key, check if value for it isn't 0 or some small value, by default it should be 5120. If settings are correct but still script reports error, please try to check if local storage works somewhere else, for example at:

http://hacks.mozilla.org/2009/06/localstorage/

you should be able to see there some multiline textbox where you could put some text, when you reload that page (F5) you should be able to see the same text as you entered before. If it works there but not in LoU BoS script then I would need some more details about browser that you are using (exact version number).

VersionChanges
1.6.0-dual support for 1.x and 2.0 Qooxoodo
- progress indicator for fill with resources
1.5.5post maintenance fix
1.5.4Firefox bug fix (thanks Calvin Fowler for solution)
1.5.3bug fix
1.5.2-support for city groups
-ability to assign all cities of some BOS city type (set in city references) to EA city group (it's on options tab)
1.5.1bug fixes: adding or removing custom city type settings were not saved; fetch resources was not working; build queue was showing NaN:NaN:NaN
1.5.0partial merge of my private script version which brings few new features:
- fill with resources (easy way of mass sending resources)
- intel database
- carts/ships are not persisted across browser sessions (it consumes a lot of local storage but it's not very usefull)
- performance optimisations (on decent computer script works fine for 1001 cities)
1.3.5fix for 19.09.2011 maintaince (incoming attacks tab might no longer work)
1.3.4bug fix
1.3.3- removed region and dungeons tabs because bringing them back would require ugly code
- changed zoom bar position
- recruitment tab has new filtering by missing troops TS
- error handler is no longer enabled
1.3.2
-zoom in/out control
-removed tweak markers
1.3.1fix for 25th January maintance
1.3.0
- changed script loading routing so it should work on all servers (even on Welt 1 and international servers: Polish, Russian etc)
- fetch cities - simulates visiting cities to get data about it
- partial Polish language translation
1.2.29- extra summary: player, alliance, my alliance
- added "orders count" column to castles tab
- import/export of recruitment orders and trade routes
- updated German translation (tnx Secusion)
1.2.28-bug fix for zoom in/zoom out
-bug fix in handling scheduled orders
-bug fix in purification: people without building minister had it completly disabled for food
1.2.27-jump to continent
- persistent options in mass purification
1.2.26
- more colors in summary
- mass recruitment fixes
- shorter tab names
- new incoming res. column on cities tab (tnx to Whereis404)
- by default cities are now persisted
- after too many popups further popups are disabled
1.2.25-mass recruitment fixes and enchancements
1.2.24
-Unit Orders tab uses War Minister server side data
-Request resources fix
-Mass unit recruitment
1.2.23
- fixed jump to player/alliance
- don't send more than 1 request every 0.5s (flood control)
- mass resource purification for player without Building Minister (don't forget to mark castles or you could starve your armies)
- % of resources that have to remain in city after mass purification (for player with minister, for player without minister absolute value is used)
1.2.22
- post maintaince fix
- mass purified resources creation
- zoom in, zoom out
1.2.21-on "all chat" text box is red
-added possibility to ban someone from chat (his messages will be invisible)
-tweak markers option can be now persistend
-added reference column to defence & military tabs
1.2.20-fixed tweak markers
1.2.19-bug fix for trade routes and send all button
-bug fix for recruitment speed calc (navy)
-bug fix for export report (it will be broken after each server maintaince)
-filters in dungeons tab
1.2.18-preview of trade routes (experimental function, req. building minister)
-bug fix in recruitment speed calc for mages and warlocks
-incoming attacks performance bug fix
1.2.17
- incoming attacks tab
- filters in trade and unit orders
1.2.16-saving summary position and size
-unit orders tab
-trade orders tab
-csv export uses tab as separator
1.2.15-fixed dungeons and region tabs
1.2.14- movable and resiable summary
- custom city types (can be defined at options tab)
1.2.13
- bug fixes for German translation
- moonstones tab has ability to create moonstones
1.2.12
- changed colors in summary
- if player has building minister he can enable auto refresh of resources, when he doesnt have it there is option to manually fetch resources levels
- added gold per hour column to cities tab
- mixed forces in combat calculator + layout change and substract losses button (not very well tested...)
- recruitment speed calculator
1.2.11
- Experimental support for fetching available resources from server
- better German translation thanks to Secusion
- Food calc: added food to unit calculation, added missing crossbowmen
- Tweak markers: identifiers of images updated to the lastest server update
- Added "Export report" button to report widget (it's just next to this new delete report button, but first someone needs to click at least once report button)
1.2.10- script should load itself even if local storage is not working, there will be alert with error message but it should be able to continue, don't try to save configuration in that situation.
- simple food calculator, tnx Secusion for idea
- proper sorting on queue columns (but currently empty queue "00:00:00" isnt red)
1.2.9- "Request resources" bug fix, wood value was always wrong for persisted city
- added jump to player, alliance
- food/h is now not production per hour but balance per hour
1.2.8- removed "Resources refreshed at:" label. Information from it went to refresh button tooltip.
- tweak to markers: game client places some extra flags only for player cities, added some code that will place some different markers for alliance members, alliance enemies and the same marker for NAP and allies (my alliance deosnt have any NAP so I don't have NAP relation id). To be honest markers doesnt look pretty, I used for them some images for quests. I'm using what this game has in resources, I'm not going to link to some other server in order to get some nice images
- better performance: previous versions refreshed all tabs even if only one can be visible at the same time, this version refreshes only visible tab what could bring better performance
- moonstones tab: new (hidden by default) columns but what's more important - some colors: red if storage is full, some yellow if storage is full at 90%, there is also possibility to save moonstone table layout
- added option to load previously saved table layouts at game start (or to be precise - before showing summary)
1.2.7- fixed combat button
- persistent options
- one of the biggest save buttons (will fix that someday)
- ability to save table layout of cities and military tables. It saves sort order, column widhts, visibility, column order (they can be moved). btw. there is this small icon in the header row which allows to hide/show some column. In the future there will be option to automaticaly apply saved table at game start.
- all city details are persisted
1.2.6Version 1.2.6 brings new experimental functionality of persisting cities information so on next browser start user could load cities data. It may be not up to date, especially if city is under construction. Feature requires some testing, by default it's turned off. Please use that feature only if you are advanced computer user. Feature requires rather modern web browser with localStorage support:
FIREFOX: 3.5+
CHROME: 4.0+
If you are using older browser then sorry, you may not be able to use that feature and what's more there is possibility that script will stop working at all for you. I will not implement any workaround (using cookies or sth) for old browsers.
1.2.5Better sorting - summary row should always be at the bottom, there shouldn't be exception when changing sort order.
There is new tab "moonstones".
Added filtering to cities tab, filter applies also to military and defences tabs. Military tab has now populated summary column.
Full report has power of claim, night protection and morale bonus.
Thanks to Secusion - added some German strings.

Implementation details

  • most of the time script doesn't make calls to LoU server, the only time when script does it is when player wants to export some report or populate combat calculator with scout report details. Also script makes calls to fetch available resources, it's at least 4 calls (one per each resource) but can be more for bigger empire. If user has trade and war ministers script will start requesting the same data that populate in game overviews
  • it doesn't contain any malicious code, you could check it for yourself because source code is included in non obsfucated form
  • it contains portions of game javascript code - part of webfrontend.data.City class is copied in order to make summary screen working
  • jump to some coordinates dialog comes from LoU Tweak
  • human_time function taken from LoU Summary
  • Tested on English server but thanks to Secusion it should work also on German servers.
  • It works fine also when LoU Tweak is also installed.

More details


Select reports by type won't be able to select all reports because report list is loaded on demand what means that script cannot select report about which it knows nothing. If script is used regulary to get rid of goods and raids reports it doesnt matter but in situation when it's used for the first time it may require more than one selecting some reports (or some scrolling in reports widget so more reports would be loaded from server).

Export reports in text form works for scout and combat reports. Not all informations are exported, it shouldn't be mayor flaw because the most of the time someone is interested only in defenders and defences and sometimes maybe buildings. There is no coordinates in exported text because server doesn't returns it in report body. Including it would require extra server call. It should also have some support to pasting report directly to alliance chat with taking into account max line width, maybe I will do it in the future.

Time column on reports list widget has decreased width because of that subject column is more readable (at the cost of small text truncation of "yesterdays reports").

Summary widget doesn't contain too much information about not visited by player cities. It refreshes itself only just before showing widget or after clicking refresh resources. It doesn't look at trades which could bring new resources. It doesn't have some city filtering what would be nice, the reason for that is that this game have no roadmap so I don't know when developers finally will make summary widget. If I knew it will be let say 2 months without summary widget I would implement filtering and more. I know there are some good summary screens created in php but I don't trust code that I have no control over it.

Combat calculator may not be very accurate, it was developed long time before EA published their document with combat formulas. Still it's rather nicely integrated into game - player could quickly populate form with his own city defenders and defences. There is also possibility to populate form with scout report details. Also it is possible to populate only defences from scout report and defenders from siege or assault report.

Source code isn't in the best shape, it's only after hours project for me.