Platy World Builder

Version 3.11

1) Move Unit in Unit Screen
Previously: A snapshot of the location with X and Y adjustments.
New: Close the Unit Screen back to WB screen to select new plot directly.

2) Add New Player in Game Data
After Player created, brings you to add units directly under new player.

3) Modify Improvement Yield in Team Data
Simplify it to get rid of multiple +- columns to increase width to allow display of bigger numbers

4) Modify Building Yield in City Screen
Simplify it to get rid of multiple +- columns to increase width to allow display of bigger numbers
Add a Building/Wonder filter

5) Team Members in Team Data
Clicking on them go to Player Data of that member
 
I came across an issue in my MNAI worldbuilder merge, which I then found is the case in unaltered Wordlbuilder 3.11 too.

Trying to rename a city results in this:
Code:
Traceback (most recent call last):

  File "CvEventInterface", line 27, in applyEvent

  File "CvEventManager", line 206, in applyEvent

  File "CvEventManager", line 981, in __eventEditCityNameApply

TypeError: __init__() takes exactly 2 arguments (1 given)
ERR: Python function applyEvent failed, module CvEventInterface

The city's name does change, but the screen does not update to show this.

Changing WBCityEditScreen.WBCityEditScreen().placeStats() to WBCityEditScreen.WBCityEditScreen(self).placeStats() seems to solve fix the issue.

Trying to change a unit's name has a very similar issue:
Code:
Traceback (most recent call last):

  File "CvEventInterface", line 27, in applyEvent

  File "CvEventManager", line 206, in applyEvent

  File "CvEventManager", line 1034, in __eventEditUnitNameApply

TypeError: __init__() takes exactly 2 arguments (1 given)
ERR: Python function applyEvent failed, module CvEventInterface

So does changing the unit script:
Code:
Traceback (most recent call last):

  File "CvEventInterface", line 27, in applyEvent

  File "CvEventManager", line 206, in applyEvent

  File "CvEventManager", line 1064, in __eventWBUnitScriptPopupApply

TypeError: __init__() takes exactly 2 arguments (1 given)
ERR: Python function applyEvent failed, module CvEventInterface

I think all of these just need to have self added as an argument.

Things seem to be working fine after I replaced every Screen().place with Screen(self).place in CvEventManager.py


There are also issues related to getting to the player or team screens from the event screen, if the plot on which the event is to be triggered is unowned.
Code:
Traceback (most recent call last):

  File "CvScreensInterface", line 416, in handleInput

  File "WBEventScreen", line 280, in handleInput

  File "WBPlayerScreen", line 31, in interfaceScreen

AttributeError: 'NoneType' object has no attribute 'getTeam'
ERR: Python function handleInput failed, module CvScreensInterface
Traceback (most recent call last):

  File "CvScreensInterface", line 416, in handleInput

  File "WBTeamScreen", line 386, in handleInput

  File "WBPlayerScreen", line 31, in interfaceScreen

AttributeError: 'NoneType' object has no attribute 'getTeam'
ERR: Python function handleInput failed, module CvScreensInterface

I fixed it like so.
Code:
	def handleInput(self, inputClass):
		screen = CyGInterfaceScreen( "WBEventScreen", CvScreenEnums.WB_EVENT)
		global iEventPlayer
		if inputClass.getFunctionName() == "ChangeBy":
			iIndex = screen.getSelectedPullDownID("ChangeBy")
			self.iChange = screen.getPullDownData("ChangeBy", iIndex)

		elif inputClass.getFunctionName() == "CurrentPage":
			iIndex = screen.getSelectedPullDownID("CurrentPage")
			if iIndex == 0:
				WBPlotScreen.WBPlotScreen(self.top).interfaceScreen(pPlot)
			elif iIndex == 2:[COLOR="Red"]
				if pPlot.isOwned():[/COLOR]
					WBPlayerScreen.WBPlayerScreen(self.top).interfaceScreen(pPlot.getOwner())
			elif iIndex == 3:[COLOR="Red"]
				if pPlot.isOwned():[/COLOR]
					WBTeamScreen.WBTeamScreen(self.top).interfaceScreen(pPlot.getTeam())
			elif iIndex == 4:
				if pPlot.isCity():
					WBCityEditScreen.WBCityEditScreen(self.top).interfaceScreen(pPlot.getPlotCity())
			elif iIndex == 5:
				if self.iUnit > -1 and iEventPlayer > -1:
					pUnit = gc.getPlayer(iEventPlayer).getUnit(self.iUnit)
				else:
					pUnit = pPlot.getUnit(0)
				if pUnit:
					WBUnitScreen.WBUnitScreen(self.top).interfaceScreen(pUnit)
There is a very similar issue in the plot screen.

It might be better to make it so that the options do not appear in the menu at all if they are inaccessible, but I'm not sure right now how to do that.
Edit: Ah, now I see that it is probably easier to just change this
Code:
		screen.addPullDownString("CurrentPage", CyTranslator().getText("TXT_KEY_WB_HELP4", ()), 2, 2, False)
		screen.addPullDownString("CurrentPage", CyTranslator().getText("TXT_KEY_WB_TEAM_DATA", ()), 3, 3, False)
to this
Code:
		if pPlot.isOwned():

			screen.addPullDownString("CurrentPage", CyTranslator().getText("TXT_KEY_WB_HELP4", ()), 2, 2, False)
			screen.addPullDownString("CurrentPage", CyTranslator().getText("TXT_KEY_WB_TEAM_DATA", ()), 3, 3, False)
 
Version 3.12

Bug Fixes
1) Fix Bugs in EventManager (Actually the input should be the WB main file)
2) Plot and Event Screen, remove access to team/player screens if not owned
3) Fix Bug in Cargo Section, Unit Screen for Special Units

New Features
1) Projects
A) Added ability to switch team
B) Added ability to filter by All/Team/Projects
C) Added ability to filter by Victory PreReq
D) Merged Projects and Spaceships, since not all mods have Spaceships
WBProjects0000_zpsb492fe72.jpg


2) Techs
A) Added ability to switch team

3) Cargo Section
A) Added a new color Yellow to indicate the Unit is loaded in other transports
B) No longer allowed to load units into fully loaded transports
C) Added a "reverse", instead of viewing the available cargo, view the available transports
D) Increased column width

WBUnits0000_zpsf3db5aed.jpg

WBUnit0000_zps9b44865e.jpg


4) CvGameUtils
A) For all hover texts for specific units, added Unit ID at the end, (refer to cargo screenshots)

5) Units + Cities
A) Added ability to switch player
B) Added snapshots
C) Go to City/Unit by clicking on the Name above the snapshots

UnitCity0000_zps14d397bc.jpg


6) Buildings, Projects, Techs, Promos
A) Number of Columns auto-adjusted based on number of items, such that there will be less columns if few items for longer width
 
Version 3.13

Player Edit Screen
WBPlayer10000_zps3601f59d.jpg


1) Civics Section Position + Height auto-adjusted according to number of commerce types

2) Commerce Flexibles placed into a table to allow unlimited number of commerce types, (although I havent seen one that adds this)

3) Adds "None" to Research and Religions to allow users to switch to None easily.
(It is possible to do so in previous version, just not in an obvious way)

4) Adds Number of Cities with X Religions to Religion Table

5) No longer allowed to switch Religion which player does not have a single city with that religion.

Plot Edit Screen
WBPlot0000_zpsac95184e.jpg


1) Merged Area Plots and All Plots Buttons all into one dropdown menu with Single/Area/All

2) Applied to Features, Improvements and Bonuses as well

3) Remove Feature Variety and add it in "( )" directly in list of Features

4) Adds "None" to various tables.

City Edit Screen
1) Adds "None" to current Production

2) Clicking multiple times in Production List no longer creates super long list of orders.
Example: Stonehenge > Barracks > Stonehenge > Barracks
Old: 1) Barracks, 2) Stonehenge, 3) Barracks, 4) Stonehenge
New: 1) Barracks, 2) Stonehenge

3) Items which are currently in City Order List will also appear in Production List
(Previously if a Wonder or Project is in Order List, it will not appear in Production List)

General
1) Adding multiple objects via 3x3, 5x5, 7x7 etc will now be able to replace original items already on the map if possible.
(Previously if there is a Feature, it will not add a Jungle even if it is valid plot)

2) All "Change By" changed to global variables
 
Very nice. Thanks very much.

Well, the pace this is going, I guess us lowly modders should wait until 4.0 to merge again in our mods:D
 
Hotfix

Projects
Fix Max number for weird projects.
1) Neither world nor team projects
2) Project with both team and world limit

Removed the victory filter, not much fun there.

Buildings
1) Added ability to switch city

Units + Cities
1) Added Area ID
 
Thanks for the update, but I wish I had a bit more warning so I could postpone my last modmod release to include the recent changes.

I've just finished merging Worldbuilder 2.13 with MNAI, but am reluctant to share it with Tholal or merge it with MagisterModmod for fear that there will be another update in the morning.



I think that your Project screen changes were on the whole better than mine, except that it shows unlimited projects as having something like (2/-1) completed. I just added these two lines to fix that:
Code:
	def placeProjects(self):
		screen = CyGInterfaceScreen( "WBProjectScreen", CvScreenEnums.WB_PROJECT)
		iMaxRows = (screen.getYResolution() - self.iTable_Y - 42) / 24
		nColumns = max(1, min(5, (len(lProject) + iMaxRows - 1)/iMaxRows))
		iWidth = screen.getXResolution() - 40
		iHeight = iMaxRows * 24 + 2
		screen.hide("CurrentProjectPlus")
		screen.hide("CurrentProjectMinus")
		screen.hide("CurrentProjectText")

		screen.addTableControlGFC("WBProject", nColumns, 20, self.iTable_Y, iWidth, iHeight, False, False, 24, 24, TableStyles.TABLE_STYLE_STANDARD )
		for i in xrange(nColumns):
			screen.setTableColumnHeader("WBProject", i, "", iWidth/nColumns)
		nRows = (len(lProject) + nColumns - 1) / nColumns
		for i in xrange(nRows):
			screen.appendTableRow("WBProject")

		for iCount in xrange(len(lProject)):
			item = lProject[iCount]
			iRow = iCount % nRows
			iColumn = iCount / nRows
			Info = gc.getProjectInfo(item[1])
			iCount = pTeam.getProjectCount(item[1])
			if item[1] == iCurrentProject:
				screen.setButtonGFC("CurrentProjectPlus", u"", "", screen.getXResolution() /5 + 25, self.iTable_Y - 30, 24, 24, WidgetTypes.WIDGET_PYTHON, 1030, -1, ButtonStyles.BUTTON_STYLE_CITY_PLUS)
				screen.setButtonGFC("CurrentProjectMinus", u"", "", screen.getXResolution() /5 + 50, self.iTable_Y - 30, 24, 24, WidgetTypes.WIDGET_PYTHON, 1031, -1, ButtonStyles.BUTTON_STYLE_CITY_MINUS)
				sText = u"<font=3>%s (%d/%d)</font>" %(item[0], iCount, item[2])

				[COLOR="Red"]if item[2] == -1:
					sText = u"<font=3>%s (%d)</font>" %(item[0], iCount)[/COLOR]

				screen.setLabel("CurrentProjectText", "Background", sText, CvUtil.FONT_LEFT_JUSTIFY, screen.getXResolution() /5 + 75, self.iTable_Y - 30, -0.1, FontTypes.TITLE_FONT, WidgetTypes.WIDGET_GENERAL, -1, -1)
			sText = item[0]
			sColor = CyTranslator().getText("[COLOR_POSITIVE_TEXT]", ())
			if item[2] > 1:
				sText = u"<font=3>%s (%d/%d)</font>" %(sText, iCount, item[2])
				if iCount < item[2]:
					sColor = CyTranslator().getText("[COLOR_YELLOW]", ())
			elif item[2] == -1:
				sText = u"<font=3>%s (%d)</font>" %(sText, iCount)
			if iCount == 0:
				sColor = CyTranslator().getText("[COLOR_WARNING_TEXT]", ())
			screen.setTableText("WBProject", iColumn, iRow, "<font=3>" + sColor + sText + "</font></color>", Info.getButton(), WidgetTypes.WIDGET_PYTHON, 6785, item[1], CvUtil.FONT_LEFT_JUSTIFY )



It seems like we should be able to set the owner of the Plot in the Plot Data screen, rather than needing to return to the main screen.

I also think that worldbuilder should have the ability to add and remove (player specific) Signs on plot rather than only Landmarks.

If you could find a general way of setting Feats as accomplished or not for a player, that would probably be better than my way of just hard-coding toggle buttons for the 3 feats which most effect gameplay in FfH2.

(I was not a fan of not allowing WB to set a player to have a state religion not present in his cities, or in preventing routes on impassible terrain like peaks. In my modmod there are units that can improve and build routes on peaks, and there are times when you might want a certain religion even if you do not have any cities yet. It was very easy for me to comment those lines out though, so you needn't worry about it if you think those restrictions are appropriate for those not using my mod.)
 
1) Fix project screen. (Forgot the text at the top :D)

2) Added the plot ownership (Though I never see the point of this function besides for taking screenshots. It will revert back in one turn anyway)

3) Signs... will look into it

4) Feats should be easy, just need to find a place to put it. Wasn't something of importance in vanilla Civ IV so never bothered with it.

5) State Religion, don't really see the point of assigning a religion that the player does not have.
You won't gain any benefit from it, AI will just spend few turns to convert back to whatever he wants and logically does not make sense.

6) Restrictions on Routes is just for multiple tiles mode.
You can still place road in the ocean or peaks with single tile mode, or via the main screen.

P.S.
One of the plans left is to allow city selection in the City Data II screen, but it is abit... too crowded.
Then what is left is the dreaded diplomacy screen.
Just doing sample testing on random parts here and there, catching bugs in rare situations :D

Well, the good news is 3.12 is considered stable, since the "bugs" caught in 3.13 will only occur in rare situtations like 7 or 8 commerce types which will extend into the civics section.
 
Version 3.14

LandMarks

LandMark0000_zps54a35de6.jpg


1) Add LandMark function now is capable of adding signs for specific players instead.
2) Erase All now removes signs as well.
3) Added a page for displaying signs for all players.

WBLandMark0000_zpsd38b8a75.jpg
 
1) Fix project screen. (Forgot the text at the top :D)

2) Added the plot ownership (Though I never see the point of this function besides for taking screenshots. It will revert back in one turn anyway)

3) Signs... will look into it

4) Feats should be easy, just need to find a place to put it. Wasn't something of importance in vanilla Civ IV so never bothered with it.

5) State Religion, don't really see the point of assigning a religion that the player does not have.
You won't gain any benefit from it, AI will just spend few turns to convert back to whatever he wants and logically does not make sense.

6) Restrictions on Routes is just for multiple tiles mode.
You can still place road in the ocean or peaks with single tile mode, or via the main screen.

P.S.
One of the plans left is to allow city selection in the City Data II screen, but it is abit... too crowded.
Then what is left is the dreaded diplomacy screen.
Just doing sample testing on random parts here and there, catching bugs in rare situations :D

Well, the good news is 3.12 is considered stable, since the "bugs" caught in 3.13 will only occur in rare situtations like 7 or 8 commerce types which will extend into the civics section.
#2 can be pretty important if the plot in question contains a city, or a "superfort" in MNAI/MagisterModmod with the Advanced Tactics game option active.

#4 the main issue I seemed to have with this is there does not seem to be a function

#5 may not matter in normal games, but in FfH2 based mods it can be pretty important for allowing certain spells, allowing the growth of ancient forests and their defense by treants under the Fellowship of the Leaves religion, etc.

#6 is a good thing then, and in FfH2-based modmods should be extended to a similar restriction on Unique Features.


When it comes to editing features/improvements/routes in areas or whole maps, I think it would be good to add the ability to remove that specific type of feature/route/improvement from all those tiles where one currently exist, without having to remove all of the features of different types. (I got to thinking this in a game where I found that the sea Ice feature was making otherwise great city/fort locations worthless, and wanted to just remove all of the ice.)



Version 3.14

LandMarks

LandMark0000_zps54a35de6.jpg


1) Add LandMark function now is capable of adding signs for specific players instead.
2) Erase All now removes signs as well.
3) Added a page for displaying signs for all players.

WBLandMark0000_zpsd38b8a75.jpg

Looks good!

Well, having the functionality is a good thing. I'm not so sure about the aesthetics of the new screen. It is pretty empty. It might be better to try to fit it onto the Plot Data screen. If it is to remain a separate screen, I think you should at least add a graphic showing the tile where the signs/landmarks are being applied.
----
Edit:
I went ahead and merged it with my modmod, and find that I am now getting this error sometimes when I delete whole stacks of units.

I have not come across this in the unmodified version of World Builder 3.14, but it doesn't seem to happen every time in MagisterModmod either.


It does not appear to be causing an actual problem, but I'd rather know what is causing it to get rid of the message.
Code:
Traceback (most recent call last):

  File "CvScreensInterface", line 738, in handleInput

  File "WBUnitScreen", line 786, in handleInput

RuntimeError: unidentifiable C++ exception
ERR: Python function handleInput failed, module CvScreensInterface

Note that line 786 in your version of WBUnitScreen would be line 505, and line 738 in your version of CvScreensInterface would be 417.

This is where the input function "KillUnit" actually kills the unit, just before moving on to the next unit on the tile.


Edit:
It seems more likely to happen if I press the button quickly in succession rather than slowly. Maybe I am pressing it more times than there are units on the tile, and once it catches up and it tries to use the input once there are no units left it does not know what to do?
-----

I think it would be really useful if the Unit Data screen let you edit not merely individual units, but also units that are in the same group as well as all of the units on the tile. (If you just made 500 duplicates of a unit, you might want to move them all at once, or set all of them as having a certain amount of damage, or moves left, etc. In the simplest case.)


The same goes for the promotion screen. (I already added the ability to copy promotions to all of the player's units on the same tile, the same way you let promotions be copied to all units of the same type etc, but I think I would like it better if I could also grant all those units a specific promotion without changing any of their other promotions.)

I'd like an option that lets you change what group a unit is in, but while the API has a pUnit.getGroupID() function it does not seem to have a function for changing what group a unit is in.)
 
Found an error which causes a crash if you select certain resources.

Line 1321 in CvPlatyBuilderScreen.py:

Code:
		elif self.iPlayerAddMode == "Bonus":
			ItemInfo = gc.getBonusInfo(self.iSelection)
			sText = "<font=3>" + CyTranslator().getText("[COLOR_HIGHLIGHT_TEXT]", ()) + ItemInfo.getDescription() + "</color></font>"
			screen.setTableText("WBCurrentItem", 0, 0 , sText, ItemInfo.getButton(), WidgetTypes.WIDGET_PYTHON, [COLOR="Red"]7877[/COLOR], self.iSelection, CvUtil.FONT_LEFT_JUSTIFY)

Should be:

Code:
		elif self.iPlayerAddMode == "Bonus":
			ItemInfo = gc.getBonusInfo(self.iSelection)
			sText = "<font=3>" + CyTranslator().getText("[COLOR_HIGHLIGHT_TEXT]", ()) + ItemInfo.getDescription() + "</color></font>"
			screen.setTableText("WBCurrentItem", 0, 0 , sText, ItemInfo.getButton(), WidgetTypes.WIDGET_PYTHON, [COLOR="Green"]7878[/COLOR], self.iSelection, CvUtil.FONT_LEFT_JUSTIFY)
 
Version 3.15

1) Fix bug with Resources (Xyth)

WBPlot0001_zpsb143a5a3.jpg


2) Added a Remove function at bottom to remove all similar Features/Routes/Bonus/Improvements as current Plot (Single/Area/All)
Naturally Remove Single is same as simply setting it to None

WBPromotions30000_zps50d0b9c0.jpg


3) Added 2 Filters for Current Unit (Applied to Unit Screen too)
A) Allows to filter based on All/Owner/Team
B) Allows to filter based on All/Domain/Unit Category/Unit Type/Group
So that you don't have to scroll through a list of 657685878 units to find the one you need.

4) Added a Add/Copy/Remove function
Add will add all Promotions current unit has to All Units of Single/Area/All Plots based on selection in (3)
Copy will add whatever current unit has and remove whatever it does not
Remove will remove all Promotions current unit does not have

Example:
Current Unit is Archer with Combat I and II.
3A is set to Owner
3B is set to Domain
Add: Adds Combat I and II to All Land Units of Owner
Remove: Removes every promotion except Combat I and II to All Land Units of Owner
Copy: Add + Remove

5) Added Group ID to Units and Promotions page + Specific Unit Hover Text (CvGameUtils)

6) Units in same Group will be in Yellow Text

@LandMarks
I know it is bland when I finished it. The easiest way is to chop the bonus table in Plot Data into half and stuff it there. But I decided to leave it as it is in case there is a need to add more stuff and rename it as Plot Data II.

@Adding Units into Group
Well, you know, if there is no python function to do it, there is nothing I can do unless you modify the dll

@Duplicating
Abit troublesome to modify, so at the moment, the solution is edit whatever you want before you make duplicates.

@Unit Deleting
No matter what I do, I cannot replicate that error, so the only thing I can do is add a None check, although... it is not possible for it to be None.

P.S.
You will notice that I am slowly changing some of those self.iXXX variables to global variables instead.
The reason is there is a bug with those variables. When you change the variables and exit the screen, and reenter the screen, the variables are still in the changed values, but the dropdowns are not updated for some reason...

Example:
Changing self.bCargo to False in Unit Screen will select Transport instead of Cargo
Exit and reenter and the dropdown will display as Cargo (True) but the actual self.bCargo is still False, thus giving misleading information.
Global variables however fix this issue.
 
WBUnitData0000_zps547b82e8.jpg


1) Merged Move Unit, Duplicate and Kill Unit under Commands
Added a 4th Command, Restore Defaults
Restore Defaults will reset everything modifiable on this screen back to whatever is in XML values, except Level, XP and Promotions.

2) Added a filter above Commands Unit/Group/Domain/Unit Category etc, which determines whether you want to issue the commands to single unit or multiple ones belonging to same owner on same plot.

For instance, you can choose to kill all archers of Bismark on this plot with "Kill Unit" (Unit Type), or move all land units of Bismark on this plot with "Move Unit" (Domain)

3) Added 2 filters at bottom to copy certain stats to all units on same plot/area/global belonging to 2 filters on top left, explained in previous promotion post.

For instance, after modifying an Archer base Str to 20, you can choose All Plots, Base Combat Str, Unit Type, Same Owner to set all archers belonging to this player globally to 20 base str.
 
The changes to copy promotions aren't really what I had in mind. I think it would make more sense to let us add or remove individual promotions from multiple units rather than merely copying all of a certain unit's promotions onto others, adding all of to others, or removing all of them from others. You could set the screen so that changes apply to a single unit, or all the units that passed through your filters. When dealing with multiple units, a promotion which some units have and others do not could be shown in yellow. (You need not actually cycle through all of the units to decide what color to show a promotion, which could be very processor intensive, as you can break out of the loop as soon as the promotion status of two units disagree. Oh yeah, I somehow forgot about the red. I guess that could get processor intensive.)

The All Units of Single/Area/All Plots could be added as additional filters, not merely used for the Add/Copy/Remove function although you could keep the function and use it for that too if you wish.

I forget whether I mentioned this before, but with my screen resolution the graphic on the Plot Data screen covers up the down arrow used to move to another tile. (The top of the button is not quite covered so I can still click it, but the actual arrow part is not seen.) It looks better if you change screen.getYResolution()/2 - 40 - (iWidth * 2/3) to just screen.getYResolution()/2 - (iWidth * 2/3)

The Plot Data screen's Remove function's implementation confused me at first. For some reason I did not realize that you must choose a tile with the feature you wish to remove from an area/map in order to remove it, so I tried clicking the feature first and added it everywhere (replacing other features) before I could remove it.

I still think that it would make more sense and be more useful if you chose between Add or Remove mode first, and then clicked what you wanted added or removed. Things which are not present on the tile in question but could still be removed from other tiles through the area/all commands could appear in yellow instead of red.

If you are going to have a drop down box to choose between Improvements/Features/Bonuses/Routes anyway, then it seems strange to use it only when modifying multiple tiles at once. I think it would make more sense to have all of those things handled in a single column, and use the control to switch what the column does (much the same way that you use a drop down control to make the same column switch between handling Cargo or Transports in the Unit screen). Doing this would free up a lot of space on the Plot Data Screen, more than enough to make room to handle Landmarks here as well.

I personally think that it makes more sense to control the direction of rivers just below the graphic showing the plot, where you have to look to see how the rivers turn out, which (in addition to the need to make room for some FfH2 specific controls which seemed to fit best just under the other +/- arrow controls) is why I moved it there in my version long ago. It is far more intuitive for the "Change By" control in the first column to apply to everything below it, and for the arrows controlling rivers to be near the arrows controlling what plot is selected.

With the River controls moved, you might wish to make the culture controls taller, so as to accommodate maps with more players with less need of scrolling. (In my version I'd probably leave the height the same though, as I need the scape for 4 FfH2 specific controls.) If you want to keep the second rows even, then you could also increase the height of the Terrain control and decrease that of the Plot Type Control. Those height adjustments would make sense, as some mods (including mine) have far more types of terrain that fit without scrolling but I have not seen one with more than the standard number of plot types (and indeed I think I heard that their number is hard coded in the game engine rather than XML or even the DLL.) Aligning these with Routes and Improvements would not matter if those handled in the same column as Features and Bonuses. (My modmod has far more Features and Improvements than can fit in the shorter columns anyway.)


Could you make it so that entering Map Mode in the main worldbuilder defaults to the Plot Data control, rather than the Add Improvements control? Since you can change anything you want from there, it is a much more useful default control.

A few times when I was trying to click the Plot Data control, I accidentally hit the Regenerate Map Using Current Map Script button instead. That was really annoying. I think that it should take more than a single click to cause such a major change.

It would be really nice if the Regenerate function did not have to use the same mapscript, but gave the player the choice to pick a different one.
 
MagisterCultuum: "Could you make it so that entering Map Mode in the main worldbuilder defaults to the Plot Data control, rather than the Add Improvements control? Since you can change anything you want from there, it is a much more useful default control."

Seconded!
 
Hotfix

1) Switched Landmarks and Regenerate Map Positions
Regenerate Map is now left on its own so... Don't press it

2) Set Plot Data as Default in Map Options

3) Single/Area/All are used as filter choices for Current Unit for Both Unit and Promotion Screens.
If All Players, All Plots and All Unit Types are chosen, basically it is full list of all units on the map.

4) Fix a bug in Current Unit for Color Display (Adds owner check)

@ Promotions
To do what you want, I definitely have to loop through every unit in the list to determine whether none of them has the promotion to set it as "Red".
Of course, "Yellow" and "Green" can be done with a break, but "Red" has to go through all of them, so not really ideal.

@ Plot Screen Layout
I agree the layout there is not ideal, particularly after recent additions, it became overcrowded.
Which is why I am thinking of shifting the whole first column into landmarks page, except the rivers.

The culture table can be easily merged into landmarks table.
And plot yields are stuff which nobody will alter every now and then, so they can all be shifted out.

This will leave more space to organise in orderly manner the main page which displays more important data.

I won't use the improvement/terrain/bonus etc filter to determine which to display like transport/cargo, because that is the point of this screen.
I want to see at one glance, that this plot has a farm, with corn and route connected.
If I can only see one of them at a time and has to use the filter multiple times to get the full info, then it defeats the purpose.
 
Slight modification to Plot Data Screen:
1) Map Snapshot will now scale according to user resolution properly, such that it will never cover the arrows above.

There will be some changes to the screen layout, such as shifting the rivers to center column and swapping routes and plot type position, since with the addition of rivers to middle column, the middle table will have to be cut in size, and plot type will be the best choice there, since I agree nobody in the right mind ever add more plot types.

It seems that the 4 directional buttons can fit nicely into the 9 empty spaces in the rivers, but I guess that will be too confusing for users. I was also thinking of expanding 4 directional to 8 directional, but no available buttons around :D

Simple fixes like this map snapshot or setting the plot data as default choice can still be done, but massive projects like overhaul of the plot screen layout will be on hold for awhile, since these few days are pretty busy.
 
Version 3.16

WBPlotData0000_zps84c2081c.jpg


1) Merged Landmarks into Plot Data
2) Used Commas for Culture
3) Fixed wrong hover text for Plot Type
4) Yields changed to Table Style for mods with extra Yield Types
5) Redesigned Remove function
6) Remove terrain check for improvements to allow users to add fishing boats on land if modder is happy.

7) Applied Commas to Gold in Player Data
 
Back
Top Bottom