The beta hasn’t been published yet, we’re still fixing a couple of bugs so it'll be tomorrow before it goes public since it's 5pm EST here already.
Here’s the change log:
- Elemental 1Z Change Log -
***********************************************
** New Features **
***********************************************
- Economy Overhaul -
Overview: The major resources in the game have been switched over to being GLOBAL (per-
player opposed to per-city). Building materials, metal, and crystal are added, per-turn, into their pool overall pool, while food is stored as a players 'net-food', whch gets spent on housing as the player wishes to expand it's cities.
+ Improvements now use ConstructionResourceCost modifiers for their up front costs when placed, and refunds when destroyed
+ Started cleaning up old code for gathering resources for constructing improvements
+ Added support for improvements having a <PerTurn>0</PerTurn> resource game modifier that they apply, but only for global resources (for now). They will apply it when construction is completed, and apply the reverse when the improvement is destroyed.
+ Fixed bug where one-time resource modifiers would be used for per-turn city resource calculations after the resource data had been refreshed more than once
+ Started making construction cost refunds on improvements more flexible, so some costs can be refunded even if the building isn't under construction
+ added entries in the global pool area for population and for food.
+ Entries with a value of 0 are not added.
+ global pool listgrid is resized based on total entry width, and then the global pool area is sized just big enough to fit that listgrid and the buttons
+ One-time resource modifiers now displayed in a city's resource list
+ Added food construction costs to the housing improvements that upgrade from hut
+ Switched food to be a non-stored global resource acted on by per-turn food modifiers in improvements again
+ This way, food can be acted on by trade and ability modifiers
+ Added ability for player to refresh their non-stored resource values in the middle of a turn, and called for a refresh at various times when improvements are being placed, destroyed, or finishing construction, to ensure it stays up to date
+ Fixed some bugs where the global resource amounts for non-stored resources and the global pool UI wouldn't update in certain cases, like when housing is upgraded mid-turn by choosing a tech breakthrough
+ Player values for per-turn resources should be up to date whenever they are asked for
+ Removed trade through capital city bonus for the capital city itself, though the resources produced by the capital city are still taken into account for other cities connected to it through a road
+ Fixed bug where pioneer improvements would be placed in the bottom left corner of the tile you built them in
+ Fixed bug where the graphics of loaded improvements under construction would not show up on the map at all
+ If cities' net resource production is less than or equal to 0, it will still be displayed in the city details screen, so you can tell if your city is actually being a drain on some global resource
+ Added pioneer improvements to the kingdom details screen
+ Global resource pool UI now shows the net per-turn production of a given resource when you mouse over its entry
+ Added calculation of per-turn amounts of each global resource alongside the calculations that were already being done for non-stored resources, though if the player already had and was using a different per-turn calculation function, I just call that instead to set the per-turn value
+ Fixed bug where global resources spent training a unit weren't reflected immediately in the UI
+ AddUnitBeingTrained refreshes global resource display if any global resources are spent
+ Added net tooltip for mousing over global resource pool entries+ Added m_apPerturnResources (and saving/loading of it) and m_csPerTurnResources
+ Added GetPerTurnResourceProduction
+ RecalculateDirtyPerTurnResources now calculates a per-turn value for all resource, not just non-stored ones, but uses existing net calculation function if they already exist (like for gold and research points)
+ When a player is in the red on food production, the cities go into rationing mode, which causes training and building times in that city to double
+ Made tooltips telling you per-turn production values of various resources in the global pool floats, so that e.g. half-production pioneer mines still show some net metal production
+ Fixed bug where all the NPC's would disband after a few turns because the NPC player was considered to be working with a negative treasury, units owned by the NPC player and creature player don't do anything with wages now
- Pioneer Units -
Overview: Players can now build 'Pioneers', who can place improvements on the major resources to feed into the global pool.
+ 'BuildOnResource' Unit Action
- when an improvement is done, it will not exude ZOC for the player
- in basic mode, completed improvement icons will show up no matter what zoom level
- action will build the best possible improvement on the resource the unit is standing on
- improvmeent takes the appropriate number of turns to build
- hide resource being tapped
- for testing, readded the action for all units...will remove next
- improvement will take the required resources when built
- Update the main ui when resoruces are used
- if a trained unit builds: destroy that unit
- allowed pioneers to tap shards (needed a special IF cause for resources that were of a shard type)
- tweak pioneer kit to cost 50 gold and 5 materials
+ Resources from pioneer improvements are now taken into account in the player's global pool of stored resources, and their calculations of non-stored resources per turn
+ Fixed asserts when trying to select a pioneer improvement and broken info cards when mousing over them, the info cards now work completely and selecting a pioneer improvement shows the generic context used by goodie huts and such, though it's lacking in anything but a name right now
+ Fixed bug where calling DeductConstructionCosts on a pioneer improvement with a non-stored construction resource cost would have kept the player's pool from updating, actual deduction code should take care of it now
+ Fixed some leaked refs in the generic context wnd
+ Added saving/loading of a player's pioneer improvements
+ Added info to pioneer improvement generic context when selected about turns to finish building and resources produced
+ Resources should store wether or not they can be built upon without a city
+ All 'BonusTile' resources should be off-limits to pioneer units
+ remove the weird mine that gets build by pioneers if Mining has not been researched (Mine_Improvement)...needed to remove MINING.XML file
+ Pioneers are a default unit for all factions, like Peasants
+ Added Kingdom_Pioneer unit type that's available to all factions by default, has a pioneer's kit equipped
+ Pioneer improvements produce half of the resources per turn a comparable city improvement would create
- Minimap -
Overview: A resizable and movable minimap is now available for the player to utilize.
+Minimap can be dragged
+Minimap can be clicked to move the camera
+Minimap can be zoomed in on to move the camera AND zoom in
+ Fixed dragging on the minimap. Dragging on the top bar now moves the whole map, dragging on the minimap itself moves the camera as expected.
+ Blended in a parchment texture to the minimap so it looks more aesthetically pleasing.
+ The minimap updates when fog of war tiles get revealed now.
+ The minimap can now be hidden and unhidden using the hide arrow in the upper-right of the minimap and the main window.
+ The minimap can now be docked in the upper-right part of the main window by dragging it there
+ Hooked in the turn text on the hide minimap button.
+ Fixed an issue where the notification list on the main game wnd could overlap the end turn button.
+ Fixed a bug in the window resizing logic that wasn’t setting an internal “resized” flag, thus causing resizing behavior to be odd
+ Forced the turn number text to update when you press the end turn button.
- Bonus Tiles -
Overview: Various bonus resources (that require an adjacent city) will improve different aspects of any city that claims them.
+ Senic View (Prestige Bonus)
+ Wild Game (Food Bonus)
+ Oasis (Food Bonus)
+ Lost Library (Research Bonus)
+ Gold Deposit (Income Bonus)
+ Rematched Bonus Types for Claimed Tile Improvements and Special Resources
+ Special Tiles now have proper Medallions attached to them
- Event List Started -
Overview: As events occur, small pips will appear on the right hand side of the screen and will disappear after 6 turns. Categories for these events will appear rolled-up by default...clicking them will show the active evens.
+ Make, clean up MainGameWnd_EventList.cpp for all event list code
+ make CMainGameEventEntryWnd class
+ hook up to ReportItems...when a report item is added, add an event entry as well
+ entries time out after 6 turns
+ Added categories and rolling up/down logic
- Kingdom Tree Started -
Overview: The cities and units in your nation will list on the left side of the main game window. Selecting these icons selects the object for quickly managing your empire.
- Recruitable Champions -
Overview: NPC champion units are spawned and roam the world If you have enough charisma and/or gold, you can recruit them to your side.
+ hooked up the checking of recruitment costs in CanRecruit()
+ when checking CanRecruit(), tooltip and message box set wtih some helpful text
+ when recruited, a report item is created.
+ Can't recruit an NPC if they are the subunit of some NPC party, must recruit the whole army
+ Recruit now removes subunits from under their army before recruiting them, then re-adds them, letting existing army code handle the graphics
+ NPC player now spawns 5 NPCs from existing unit types based on their NPC likelihood, and spawns specified sub units
+ It doesn't spawn more than one of each type, though, and because there is only one NPC unit type checked in right now, you'll only get one NPC party for now
+ Fixed some save/load bugs with NPCs that caused them to be unrecruitable once you saved the game and have the wrong actions when loaded
+ several new NPCs units types made, each with their own skillset
***********************************************
** Fixes **
***********************************************
- Units -
+ Fixed bug where caravans would move to the next tile between turns, then drift to the bottom-left corner of the tile
- AI -
+ fixed some issues with AI not building cities, I had them trying to use AUTO_EXPLORE when they can't find anything else to do, so they can clear some FOW, but it doesnt' actually work for AI, so I just wrote my own wandering code.
+ AI-controlled sovereigns now get sent to their closest city if they are defeated in battle. If they have no cities left, they are killed, and their faction is destroyed.
- Battles -
+ Fixed a divide-by-zero crash in the battle engine
+ Dead units will now no longer continue to attack until combat is over.
+ Units with 0 attack will no longer attempt to attack in combat.
+ Units with a 0 attack will no longer be targetted for attack unless they have no defenders.
+ Combat intro screen now shows the combined attack and defense (and new combat rating ) of both armies.
+ Pouches of gold dropped as loot now tell you how many pieces they contain in the description.
+ the leader of a group should no longer take damage before his minions.
- Cities -
+ Fixed improvements appearing to be buildable on resource hoards when the player has no tiles.
+ Fixed tooltips to now show in red the reason the player cannot build an improvement.
+ Added many more icons to tooltips to make the benefits and costs of each improvement more explicit.
+ Implemented more resource flags to show improvement costs and benefits in the citybuilding menu. The remaining improvements that do not have benefits showing do not have benefits in their XML yet.
+ Improved the citybuilding screen's "Cost" and "Provides" entries.
- All entries that can be XML driven are. Entries that cannot at least have detailed tooltips.
- If an entry does not have an icon, the space for that icon is used for text instead.
- The spacing between entries has been tweaked so that even the longest entry list will not go outside the space provided.
+ Fixed placing improvements across rivers, the player can no longer do so.
+ You may now demolish a four-tile improvement by clicking anywhere on it.
+ Fixed some four-tile improvements being slightly offset after building, causing them to overlap other improvements.
+ Suppressed the notification of auto-upgraded improvements building so the player doesn't get 20 "Construction completed on our house" notifications when their city levels up.
+ Fixed Jakob's broken city walls case. The size of the buffer was not getting calculated correctly, leading it to not have enough room to store the improvements before building the walls.
+ Fixed bug where improvements would still attempt to gather resources after placing them and pressing turn, causing them to take longer than advertised to build
+ Fixed a problem where walls wouldn't wrap right after save/load.
+ Fixed a problem where upgraded buildings wouldn't be placed correctly.
+ Made it so that walls will now wrap around improvements if they become contiguous due to another improvement being built without the walls "blinking" on every build.
- UI -
+ Right clicking the center medallion will now focus the camera on the selected unit
+ SHIFT-S will not select the sovereign, and focus the camera on him
+ Change the calculation of Might to Power Rating and changed it to use Brad’s formula from the Beta 1-Z document.
+ Train unit screen lists the resource requirements and population requirements of the highlighted unit, coloring a requirement red if it is not satisfied by the city and therefore keeping the unit from being trainable
+ Costs for items now show up in a separate string that's easier to see, hidden if the item doesn't cost anything (like skin or hair)
+ Player can now select more than one stationed unit.
+ When multiple stationed units are selected they can be unstationed as one.
+ Put in strings for improvements with non-standard bonuses so that they can be customized yet data-driven
+ Added strings for tooltips when mousing over the new per-turn points displays for research and spell points in the main UI
+ Fixed bug where changing the skin color in the create sovereign screen and customize faction screen would not update the skin color in the preview unit scene view graphic
+ Spell points and research points per-turn displayed near the buttons, says it's a per-turn value on mouseover
+ Fixed issue where unit scene view windows were "blowing out" the lighting on characters
+ Unit Design: Mouseovers on stats break down how the stats are calculated
- Shows default items that are part of the unit type, so the list reflects what you can see in the graphic
- Item context area says "No Item Selected" if you don't have anything highlighted
+ Stat entries showing the effects of highlighted items show more decimal places
+ Fixed bug where message box that tells you when your kids have grown up didn't show their medallion image
+ units list their abilities and weaknesses in the unit details wnd
+ NPCs are now named better so the are listed with their unit name as their 'type' or 'class'
+ Breakthrough wnd now correctly shows everything unlocked by a given tech when you load a game
+ Fixed bug where when auto-explore was cancelled, action buttons in UI still showed action as active
+ InfoCardEntryWnds: Fixed bug where the text entry was being reset to 0,0 if resized+ In SizeToFitEntries, changed it to pass in current position to Resize instead of 0,0 and commetned out code that changes the bg's position
+ Changed RepositionToFitMainUI to call SetPosition
+ Info Cards now tint using the GetInfoCardTint virtual function in CInfoCardEntryWnd
+ Unit info cards now display the unit name at the top, unit class in the middle, and the destination as part of the description text
+ Unit info cards tint to unit owner's cloth map color
+ Unit info cards display the cost icons properly
+ Game item info cards now display their stats as icons/numbers
+ Game item info cards tint to item's color
+ Game item info cards now use multi-layer image to display the tinted item image
+ Portrait Info card entry now has 2 images (one large, one small) - game item info cards use the smaller one
+ if your income per turn is less than zero, the resource display for gold turns red to indicate the shortfall.
+ Unit info cards now display the name of the unit
+ Fixed character graphics showing up in t-pose on various screens
+ Removed some redundant global pool UI updates that were making the local player's CPlayer::UpdateTurn call take considerably longer than an AI player's
- Gameplay -
+ Updated Improvement Quantity Limits
+ Watchtower no longer costs materials to build
+ City Hubs store 20 Pop
+ Huts/Houses now cost 4 food
+ Market no longer costs materials to build
+ Improved starting gold to 500
+ Created "the Dark Concoction" Quest
+ Updated various improvement tile designs
+ Removed K_Apartment from the repository
+ Updated Quest "Strange Noises" trigger chance
+ Updated Wild Wheat Production Value to 1.0
+ New Medallion png's for the special tiles, claimed tile improvements, and work camp
+ Resource gathering improvements now ignore duplicate imp limit
+ Only one wall improvement is allowed per city
+ Quarries now reduce build times
+ Resources and special tiles now have descriptions for tooltips
+ Created Granary Improvement to boost food production
+ Checked in a number of new medallions for the new bonus tiles
+ Updated Granary improvement to only allow one per city
+ Created Equipment Cache Goody Hut that Rewards Equipment
+ Items/Weapons/Accessories no longer give more than .25 Combat Speed
+ Meditative talent now produces 1 SP per turn instead of 4
+ Armory Improvement now decreases troop training time instead of multiplying IronOre resource + Created List of Champion Names
+ goodie huts that do not disappear from the map after being cleared now have their icons set to semi-transparent to differentiate them from unvisited goodie huts.
+ marrages should no longer happen randomly...have to go on quests to get proposals to prompt
+ City Improvement Limits adjusted
+ Removed Siege_Workshop.xml, added Siege_Foundry.xml as replacement
+ Updated Materials output for Lumbermill
+ Created Workshop Improvement to generate Materials
+ Added IgnoreDuplicateImpLimit tag to Garden
+ Outposts now store 20 Pop
+ Can now only build 1 Command Post per City
+ Market no longer costs materials to build
+ Updated Tax Office and Arcane Society improvement tile designs
+ Added a limit to the maximum number of active quests a player can have at any one time. The limit is defined in ElementalDefs.xml as MaxActiveQuests, and is currently set to 3. When the quest limit is reached, no new quests will be presented to the player, and they will not be able to acquire new ones by visiting quest locations until they complete some of their active quests. Visiting a quest location while at the quest limit will not clear the quest location.
+ A number of quest locations are spawned for each player in the turn after they get their first city, to give them access to quests early on. The number of quest locations that get spawned is set via NumStartingQuestLocations in ElementalDefs.xml, and is currently set to 1.
+ Upon completing a quest spawned from a quest location, the quest location is removed from the map to reduce clutter.
+ Removed potion SFX from non-potion Items
+ Fixed InternalName issue with IronDagger and IronLongsword
+ Arcane Laboratory is now a quarter tile improvement
+ Villa is now the third tier housing structure after House
+ Study now upgrades into Library; research output increased
+ School, Academy, and University research output increased
+ Market gold output increased
+ Merchant and Warehouse improvements given new TacticalIcons
+ Stranded Knight Quest implemented. Female Sovereigns now have a marriage candidate! Yay!
+ Text updates to Strange Noises and Damsel in Distress quest
+ Lifesap Quest Item created
+ Knight Quest Unit created
+ Cloaks and Weapons now cost points in Sovereign Creation
+ Canned Units now have at least 1 Combat Speed
+ Lifesap now has IsQuestItem tag in place
+ Description text improved for the Inn
+ Changed how the combat rating is calculated, it is now attack + defense + speed + sqrt(hitpoints).
+ the way units were being stationed inside cities had been changed such that it was no
longer sending an event for each unit that entered a city, only for the leader of an army. If you attempted to complete the “Damsel in Distress” quest by moving an army with the damsel in it (but not as it’s leader), an event would not be dispatched, and the quest would never complete. I’ve changed it so that an event gets dispatched for each unit entering a city, including all sub-units in an army, which will allow the quest to work as intended once again.
+ Armies now break into individual units when stationing them in cities
+ Increased a-star move costs in tactical sector mapper to be multiples of 10 (like the rest of the game now)
+ After being defeated in battle and returned to a city, when you unstation it, your unit no longer runs across the world to get to the new tile
+ Fixed bug where units who have their gfx jumped to final position would be running in place at the new tile
+ Fixed bug where when attacking enemy territory and declaring war, the unit gfx would not appear in the correct tile
+ Added unit ptr check in CCity::AddStationedUnit
- Memory Leaks -
+ MainStatsSubWnd.cpp
- fixed leaked ref for population resource in FillWithCityStats()
+ KingdomReportSubWnd.cpp
- in AddTextForPlayer(), fixed leaked refs in a while loop of resources and some more in that same function but further down in a forloop of resources
+ ItemModTypeManager .h/.cpp
- added function VOID ClearItemModTypes() which is called from the dtor()
+ ImprovementType.cpp
- fixed a leaked ref in some commented out code within GetTurnsToConstructInCity(), in case it gets uncommented
+ ImprovementConstruction.cpp
- in ConstructionCostHelper(), fixed leaked refs in a for loop of resources
+ Improvement.cpp
- in DetermineImprovementContiguity(), fixed leaked refs when leaving the function early
+ GameItemType.cpp
- in UnloadGameItemTypes(), cleared the vector after safe releasing its contents
+ FlavorTextManager.cpp
- in dtr(), now calling Clear() to clean things up
+ DungeonType.cpp
- in UnloadDungeonTypes, now clearing the vector after safe releasing the contents
+ CityTradeInfo.cpp
- in RecalculateAllTradeInfo(), fixed leaked refs to resource types in a for loop and calling FindResourceTypeByTypeName() each time
- in CheckTradeRoadConnection(), fixed leaked refs to resoruce types while iterating and calling FindResourceTypeByTypeName() each time
+ CityResourceData.cpp
- in Load(), before setting value of m_pResourceType to a new value, fixed leak ref by calling SAFE_RELASE on it so it will release any previous value
+ Fixed a number of memory leaks in CMainMapViewWindow::CreateLODGroundcover( ) (multiple return cases where objects were not being released, though this function is not currently being called, as the LOD ground cover is disabled), and CWorld::IsTileEmpty( ) (wasn’t releasing the unit).
- Engine -
+ Goodie huts can now be assigned a preferred terrain, which is the only terrain it will be randomly placed on.
+ Hooked up the ground cover spinner in the options window to the new world prop ground cover system.
+ Fixed an issue with the ground cover spinner that was preventing it from saving your setting.
+ Ground cover props now get placed when terrain is modified in the map editor, to give a better idea of how things will look in the main game.
+ Changed the ground cover prop density so that on the highest level every unoccupied tile will get a piece of ground cover.
+ Fixed bug where restarting the game from within a game (in basic mode) caused the main map not to render
+ Implemented new CAnimatedLeafNode class to render a single animated tree leaf
- Use CSceneNodeUtil::CreateAnimatedLeafNode to create the node
- This gets us one step closer to forests using tile designs
+ Fixed issue that was preventing the terrain and water from rendering when starting a new game up after one has already been created.
+ CMapData is now reference-counted, and gets passed along to terrain graphics objects (currently CTerrainGraphic and
CCliffGraphic, and will be expanded to include CWaterGraphic, CRoadGraphic and CRiverGraphic) that need to access information
about the map. These objects will now use their pointer to CMapData to access the required information rather than the access
functions in Elemental.cpp or CWorld.
+ Fixed some crashes that would occur when attempting to exit the game via the main menu after having used the map editor.
+ Fixed problem with ground cover world props that was preventing goodie huts and resources from being placed if the ground cover spinner was set to the highest level.
+ Changed rendering order in main map and map editor so props and characters render under the water
+ Re-wrote CDecalGraphic’s vertex and index buffer code to be much more efficient, in terms of both memory footprint and processing time (it was allocating four times as many vertices as were needed).
+ Fixed issue that would prevent the graphics for quest-related goodie huts from being removed from the map, which would occur when moving onto a goodie hut during the auto-move phase at the end of a turn.
+ Fixed a crash in CWorld::GetUnitByIndex( ), caused by accessing beyond the bounds of the unit vector.