1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Final Frontier Plus

Discussion in 'Civ4 - Modpacks' started by TC01, Jan 23, 2010.

  1. Ajidica

    Ajidica High Quality Person

    Nov 29, 2006
    TC_01: What sort of UU's or UB's are you thinking about including?
    In addition, do you think that the missing dll file might be causing my crash?
  2. TC01

    TC01 Deity

    Jun 28, 2009
    Irregularly Online
    The UUs and UBs from God-Emperor's Finaler Frontier, available here.

    As for the missing file... I doubt it, it's a source file that I forgot to copy over into the source directory- it's been compiled into the DLL properly.

    Did you check the schemas?

    If you can't get it to work, I would recommend rebuilding Peacekeeper Wars around Final Frontier Plus rather than trying to merge FF+ with PW, and see if that works.
  3. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    Speaking of which...

    I have a new version of Finaler Frontier, version 0.2.

    The biggest new thing: resources that can be found on planets.

    The information is in the spoiler section listing changes below, but here is how this works:

    I have added 3 resources that give +1 health (Grain, Cattle, and Seafood) and 3 that give +1 happiness (Spices, Wine, and Cotton). The new resources will only appear on planets that have a natural food production of 1 per population or more. There is never more than 1 per system. Because of the additional resources, I have reduced the benefit from each of the existing resources from +3 health or happiness to +2.

    In addition to the +1 heath or happiness, the resources provide other benefits. A planet with one of the health resources will also provide +1 food/population over the usual amount. A planet with one of the happiness resources will also provide +1 commerce/pop more than the usual.

    You don't have to build improvements or buildings to get the new planetary resources. Your influence range must include the planet that has the resource to get the resource. This leads to the strange thing that the resource will actually vanish from the map for a while when a player settles or conquers a system where the resource is not in the inner influence zone, but it will reappear once the owner's influence includes the planet.

    Although you don't have to build anything to get the resource and the basic benefit, there is a building associated with each resource that can only be built on a planet with the specific resource.

    The buildings associated with the 3 health resources all increase the population limit of the planet by 1 and provide +1 influence. Each of the 3 also provides some other benefit: +1 research, +1 production, or +1 commerce.

    The buildings associated with the 3 happiness resources all provide (at least) 1 extra trade route, +1 commerce/population, and +1 influence. Each of the 3 also provides some other benefit: a 2nd extra trade route, a second point of influence, or +1 credit.

    And that is how the planet based resources work.

    Because of this, v0.2 is not save game compatible with the earlier version - it saves an additional value for each planet (almost all of which are "-1", except for the planets with resources on them).

    Here is the basic change list, including two updates to the changes for v0.1 which were left out the last time I posted it (marked with a "*", they are the Planets section and the first thing in the Techs section). This is included in the mod as the file "FerF Features Blurb.txt".
    Spoiler :
    Finaler Frontier changes, V0.2:
    The Python fixes from the official mod thread are up to date.
    	- The Starbase location selection logic now checks the plot being
    	evaluated to see if someone else owns it, skipping that plot if it
    	is, not just the plots with bonuses on them.
    	- Pressing Control-A now causes units with orders already queued
    	up to execute thier order now instead of waiting their turn.
    The Python AI production overrides have been tweaked as to which planet
    	is selected to build things on - they are no longer the essentially
    	random planets, instead it picks a planet based on size and yield
    	to help maximise the benefits from buildings with effects that scale
    	with planet population.
    Fixed a bug related to unique units for the construction ship class -
    	it turns out that the Red Syndicate (with its Rapid Construction
    	Ship UU) was never building any starbases since the code was checking
    	for units of type construction ship, not of class construction ship.
    	Some planets now have resources. Never more than 1 in a system.
    	The planetary resources are 6 new resources, 3 that give +1 health
    		and 3 that give +1 happiness.
    	Since there are now more resourecs of each tyope, the existing
    		resources have be reduced to +2 health/happiness from +3.
    	The new health giving resources are Grain, Cattle, and Seafood.
    	The new happiness giving resoruces are Spices, Wine, and Cotton.
    	The new resources can only appear on planets that naturally
    		(without a nutrition facility) provide at least 1 food/pop.
    	The planets with a health resource also have +1 food/pop.
    	The planets with a happiness resource also have +1 commerce/pop/
    	You do not have to build an improvement (or building) to get
    		the resource. If you have colonized the system and your
    		influence reaches the planet, you get the resource.
    		If your influence does not yet reach the planet, the resource
    		is temporarily removed from the plot.
    	Each resource also has a new building associated with it
    		which can only be build on planets with that resource.
    		Each of the 3 buildings associated with the health resources
    			gives +1 to the planet's population limit and +1 influence.
    		Each of the 3 buildings associated with the happiness resources
    			gives +1 commerce/pop, +1 trade route (except Spices),
    			and +1 influence (except Wine).
    		Grain allows a Farm which provides the standard stuff and
    			+1 research (for pesticides/herbicides/genetics etc.)
    		Cattle allows a Ranch which provides the standard stuff and
    			+1 production (just +1, not per population).
    		Seafood allows a Harbor which provides the standard stuff
    			and +1 commerce (just +1, not per population).
    		Spices allows a Plantation which provides the standard stuff and
    			another (2nd) bonus trade route
    		Wine allows a Winery which provides the standard stuff and
    			another +1 influence (for +2)
    		Cotton allows a Cotton Mill which provides the standard stuff and
    			+1 credit
    	A planet with a resource has the symbol for the resource added to
    		the end of its name, so you can tell which planet has the
    		resoruce in the system preview screen and in the "city" screen.
    	The icons are (obviously) in the GameFonts.tga and GameFonts_75.tga.
    Policies (Civics):
    	Technocracy: now also gives +10% commerce in the capital.
    	Utopia: now has upkeep of medium, +1 health, +1 happiness in
    		5 (or so) largest cities, and -10% commerce (not -15%)
    	Planned Economy: now has upkeep of medium, +10% to both
    		production and commerce in the capital
    	Financial: now gets +1 happiness from the Interstellar Exchange
    	Terrestrial Networking: adjusted the flavor values with the hope
    		that the AI will research it sooner (it seems to avoid
    		it most of the time, which hinders its economy)
    Buildings, new:
    	Farm: can only be built on planets with Grain, +1 to the planet's
    		population limit, +1 influence, +1 research 
    	Ranch: can only be built on planets with Cattle, +1 to the planet's
    		population limit, +1 influence, +1 production
    	Harbor: can only be built on planets with Seafood, +1 to the planet's
    		population limit, +1 influence, +1 commerce
    	Plantation: can only be built on planets with Spices, +1 commerce/pop,
    		+2 trade routes, +1 influence
    	Winery: can only be built on planets with Wine, +1 commerce/pop,
    		+1 trade routes, +2 influence
    	Cotton Mill: can only be built on planets with Cotton, +1 commerce/pop,
    		+1 trade routes, +1 influence, +1 credit
    	Invasions Ships/Planetary Seige Units: added the UNITAI_COLLATERAL
    		unit AI as a possibility, so the AI should build and use them
    		with that role.
    Finaler Frontier changes, V0.1:
    All Python fixes from the official mod thread are in. There have also been
    	some additional python tweaks, mostly to help out the AI a little.
    Uses the BtS Better AI (BBAI) DLL.
    Maximum trade routes per system has been increased to 12.
    Maximum experience kept after upgrading increased to 15.
    Global warming turned off (every once in a blue moon it would happen in FF,
    	to no real effect except wiping out the occasional feature).
    Map Features:
    	Grav Fields (around black holes): cause 10% damage per turn
    * Planets:
    	The planet name generation has been altered.
    		The second part of the name of every planet in a star system is
    			now the same. 
    		Added a 4th list of planet name parts consisting of gemstone names
    		The greek alphabet name parts can only appear as the first part of
    			the name.
    		The constellation name list has been expanded a lot -
    			it is no longer just the constellations of the zodiac.
    		The list that was greek gods now has several egyptian gods too.
    Victory conditions:
    	Influence victory now requires 4 systems at Legendary
    		Increased Legendary influence level requirements by about 50%
    		Added new Iconic level between Influential and Legendary
    			uses original Legendary influence requirement
    			has a 90% defense
    	Astral Gate Pieces now have a prerequisite project
    	Astral Gate Design: available at Ascendancy Theory tech, costs double
    		what an astral gate piece costs
    	Astral Gate Piece: doubled cost, require Astral Gate Design to build
    	* all: adjusted costs, the earlierst techs are the same, the later the
    		tech, the greater the increase (more or less), up to around a 70%
    		increase for the last techs. The last of the new techs, 
    		Nanocybernetics, is the most expensive.
    	various: adjusted Flavor values
    	Vacuum Engineering: requires Synthetic Composites and Galactic
    		Epistemology, required to build delta (and omega) squadrons,
    		Moonbase, and The Great Rings Park, leads to Mechanized Labor,
    		required for Micromanufacturing
    	Astral Ascension: now requires Alloy Frame Construction
    	Mind-Machine Interface: requires Quantum Control, required to build
    		Nanotech Hospital, upon researching this tech every ship
    		(current and future) is granted the Neural Interface promotion
    		for free
    	Quantum Power: requires Mind-Machine Interface, gives +1 health and 
    		+1 happy in every system, +1 move for starships, workers build
    		improvements +25% faster, required to build Q-Missiles, enables
    		Quantum Engines (Speed) promotion, upon researching this tech
    		every squadron, starbase, and missile (current and future) is
    		granted the Quantum Engines (Range) promotion for free
    	Nanocybernetics: requires Quantum Power, +1 health and +1happy in every
    		system, upon researching this tech every ship (current and
    		future) is granted the Neural Interface II promotion for free
    	The Partisans event is in, requiring no specific civic.
    	Also in: Breakthrough and Setback
    Policies (Civics):
    	Traditional Military: now gives free support for 2 military units
    	Light Ship Doctrine: now gives free support for 4 military units
    	Capital Ship Doctrine: +1 happy from Capital Shipyard
    	Squadron Doctrine: +1 happy from Squadron Factory, free support for 8
    		military units
    	A set of secondary traits has been added. Each is a roughly
    	half-strength version of the regular Civ trait.
    		Aggressive: +1 prestige to each unit, +25% to build 
    			Training Compound and Flight School
    		Charismatic: +1 happy to each system, +25% to build
    			Interplanetary Beacon
    		Creative: +1 influence to each system, +50% to build
    			National Epic
    		Expansive: +1 health to each system, +25% to build
    			Construction Ship and Cryogenic Granary
    		Financial: +1 credit to each system
    		Imperialistic: +25% to build Colony Ship and Police Agency
    		Industrious: +25% to build Factory, Interstellar Exchange,
    			Institute for Advanced Research, and Industrial Complex
    		Organized: -25% civic upkeep, +25% to build Nutrition Facility
    			and Police Agency
    		Philosophical: +50% to build University, +25% to build 
    			Research Lab
    		Protective: light, carrier, and capital ships get free Tracking
    			Equipment upgrade, +25% to build Star Fortress
    		Spiritual: no anarchy, +25% to build any value shrine
    	Each civilization has a second leader. This allows play with more
    		players	without duplicate names.
    	Each leader has been given a secondary trait, with each of the two
    		leaders for each civ getting a different trait.
    Buildings, changes to existing:
    	various: adjusted some of the Flavor values
    	Mining Facility: cost decreased slightly (from 45 to 42)
    	Spaceport: reduced credits bonus from 25% to 20%, added 20% trade
    		route bonus
    	Stardock: reduced trade route bonus from 50% to 25%, +1 trade route,
    		Red Syndicate build bonus reduced from 100% to 50%
    	Police Agency: now also gives +1 espionage point
    	Intelligence Center: now also gives +1 espionage point
    Buildings, new regular:
    	Cryogenic Granary: +1 health, store 10% of food on growth
    	Flight School: +2 prestige to squadrons
    	Moonbase: +1 population limit for planet, extra population does not
    		produce food, +2 research points, can only be built on planets
    		with a moon
    	Nanotech Hospital: +1 influence, +1 health, +1 happy, +5% heal rate
    	Nanoextraction Upgrade: +1 production per population
    	Extended Habitation System: +1 to planet population limit
    Buildings, new national wonders:
    	Heroic Epic: +100% build for military units, +4 influence
    	National Epic: +1 happy in this system, starts golden age, -20% war
    		weariness in this system, +8 influence
    	Institute for Advanced Research: +100% research, +4 influence
    	Interstellar Exchange: +100% credits, +2 influence
    	Industrial Complex: +20% production for each of these resources: oil,
    		titanium, iron, hydrogen, uranium; +1 influence
    	War College: +4 prestige to each unit, +2 influence
    	Office of the Ombudsman: reduces maintenance (as Forbidden Palace),
    		+1 espionage, +4 influence
    Buildings, new world wonders:
    	Office of the Auditor General: reduces maintenance (as Versailles),
    		+4 commerce, +4 influence
    	The Great Rings Park: +2 credits, +1 trade route, +4 influence, can only
    		be build on a planet that has rings
    	Botanical Gardens: no unhealth from population, +1 to population limit
    		of planet, +4 influence
    	Workers' Memorial: no unhappiness, workers build improvements 10%
    		faster,	+4 influence
    	Military Science Academy: free Trained Officers promotion, +4 influence
    	Universal Foundry: +2 production, +10% production, +4 influence
    	Founders Monument: -20% maintenance, starts a golden age, +4 influence
    	The Arsenal: +15% production for military units, +2 research, 
    		+4 influence
    	The Shrine of Knowledge: +1 credit per system with Knowledge,
    		spreads Knowledge, +15% research, +4 influence
    	The Shrine of Power: +1 credit per system with Power,
    		spreads Power, +2 prestige, +4 influence
    	The Shrine of Religion: +1 credit per system with Religion,
    		spreads religion, +1 happy, +4 influence
    	The Shrine of Survival: +1 credit per system with Survival,
    		spreads Survival, +1 healthy, +4 influence
    	The Shrine of Wealth: +1 credit per system with Wealth,
    		spreads Wealth, +15% credits, +4 influence
    Buildings, unique:
    	Technical Institute: Astrotech UB for University, extra +1 production
    	Research Institute: Avower UB for Research Lab, extra +1 happy
    	Assembly Plant: Halis UB for Manufacturing Plant, extra +5% production
    	Star Citadel: New Earth UB for Star Fortress, extra trade route, 
    		extra +15% defense, extra 5% reduction in bombard rate
    	Space Park: Paradise UB for Spaceport, extra +5% credits, +1 influence
    	Starbazaar: Red Syndicate UB for Stardock, extra +2 espionage, 
    		+1 influence
    	Public Broadcasting System: Brotherhood UB for Commercial Satellites,
    		extra +5% research, +1 influence
    	Nanoseparation System: Forge UB for Nanoextraction Upgrade, extra 
    		+2 credits
    Units, changes to existing:
    	bugfixes: ships requiring the capital shipyard or squadron factory had
    		it specified using the building class value, but the tag
    		requires the building type value; all have been fixed
    	Scout: +1 move (to 2)
    	Delta Scout: added free improved sensors
    	Omega Scout: +1 move (to 3), +1 strength (to 5), 1 first strike
    	Invasion Ships (all 3 generations): cause some collateral damage
    		(25% rating) to a maximum of 5 units (they can now use the
    		collateral damage increasing promotions)
    	Omega Battleship: strength increased to 54 (it is now also +50% over
    		the previous generation, like all other generational increases)
    	Anti-Ship Missile: changed prereq tech to Military Academies
    	Starbases (all 3 generations): given 20% intercept chance
    	Delta Fighter Squadron: given 5% evade chance
    	Omega Fighter Squadron: given 10% evade chance
    Units, new:
    	Assault Missile: weaker than A-S Missile (2 vs. 3) but gets +100%
    		bonus when attacking star systems and causes a small amount of
    		collateral damage to up to 2 units
    	Delta Assault Missile: ditto, but strength is 3 (vs. 5)
    	Omega Assault Missile: ditto, but strength is 5 (vs. 7)
    	Q-Missile: upgrade for both types of Omega Missile (longer range,
    		stronger, also does some collateral damage to up to 3 units),
    		requires new Quantum Power tech
    	Q-Squadron: upgrade for all Omega Squadrons, a bit better than the
    		fighter as a fighter and the bomber as a bomber, requires both
    		Quantum Power and Galactic Domination
    Units, unique:
    	Recon Ship (3 generations): Avower UU for Scouts; can attack, a little
    		stronger, small chance to intercept, small chance to withdraw,
    		receive free unique promotions for extra sensor range instead
    		of the standard promotions which allows it to also take the
    		standard sensor range increasing promotions
    	Long-Range Bomber Squadrons (4 generations): Paradise UU for Bomber
    		Squadrons (all 3 generations) and Q-Squadron; +1 range, 
    		+5 increase to both collateral damage rating and collateral
    		damage limit
    	Missile Frigate (3 generations): Astrotech UU for Destroyer; reduced
    		strength (5/8/12 vs. 6/9/14) can carry missiles (2 for omega
    		1 for others), +5% intercept chance (35/40/45 vs 30/35/40),
    		reduced cost from 50/100/200 to 45/90/180
    	Rapid Construction Ship: Red Syndicate UU for Construction Ship;
    		+1 move (to 3), +10% work rate
    	Battlecarrier (3 generations): New Earth UU for Battleships; -2/3/4
    		strength (22/33/50 vs. 24/36/54), can carry a squadron (regular,
    		delta) or 2 (omega).
    	Battlecruiser (3 generations): Brotherhood UU for Cruisers; 
    		+20% strength (12/18/27 vs. 10/15/22), bombard rate increased
    		from 10 to 15
    	Planetary Siege Unit (3 generations): Forge UU for Invasion Ship; 
    		+1 first strike chance, increased collateral damage amount and
    		limit and max ships affected, +10% bombard rate (from 0)
    	System Defense Boat (3 generations): Halis UU for Planetary Defense
    		Ship; increased strength (5/7/11 vs. 4/6/9), 1 first strike
    		chance for regular and delta, 1 first strike for omega,
    		speed of omega reduced from 2 to 1
    Promotions, changes to existing:
    	PROMOTION_SCOUT_III_SIGHT (the second of 2 that are called
    		"+1 Visibility Range" in the Civilopedia): changed from
    		+2 visibility to +1 (this is used by the Delta and Omega Recon
    		Ship UUs)
    	Advanced Weapons: requires Long-Range Weapons
    	Upgraded Computers: +15% collateral (was +10), +5% withdraw (was 0)
    	Improved Computers: +15% collateral (was +10), +5% withdraw (was 0)
    	Advanced Computers: +15% collateral (was +10), +5% withdraw (was 0),
    		requires Intuitive Computers
    	Upgraded Shields: added tech prereq of Shield Generation
    	Improved Sensors: added tech prereq of Radar Polymers
    	Upgraded Stealth: added a first strike chance
    	Improved Stealth: added a first strike chance 
    	Advanced Stealth: added a first strike chance
    	Trained Officers: added a first strike chance
    	Squadron Tactics: added tech prereq of Survivalism
    	Capital Ship Tactics: added tech prereq of Shock and Awe
    	Carrier Ship Tactics: added tech prereq of Squadron Focus
    	Interception I: added tech prereq of Light Craft Manufacturing; now also
    		available to starbases
    	Interception II: added tech prereq of Squadron Focus; now also
    		available to starbases
    	Advanced Bridge: requirement changed to Improved Sensors or 
    		Improved Computers
    	Ace: requirement changed to Improved Weapons or Advanced Computers
    Promotions, new:
    	Neural Interface: +5% strength, 1 first strike chance - given for free
    		when Mind-Machine Interface is researched; applies to Recon
    		Ships, Squadrons, Light Ships, Carrier Ships, Capitol Ships, and
    	Neural Interface II: +5% strength, 1 first strike chance - given for
    		free when Nanocybernetics is researched; applies to Recon Ships,
    		Squadrons, Light Ships, Carrier Ships, Capitol Ships, and
    	Quantum Engines (Range): +1 range, +10% strength  - given for free when
    		Quantum Power is researched; applies to Squadrons, Starbases,
    		and Missiles
    	Quantum Engines (Speed): +1 move, +10% strength, requires Quantum
    		Engines tech; applies to Recon Ships, Light Ships, Carrier
    		Ships, and Capitol Ships
    	Fusion Weapons: +15% strength, requires Advanced Weapons promotion,
    		requires Fusion Weapons tech; applies to Light Ships, Carrier
    		Ships, Capitol Ships, and Starbases

    And here's the new version, v0.2, still in 7-zip format. Install like before:
    1) if you installed the earlier version, delete or rename the old Finaler Frontier mod folder
    2) copy the Final Frontier mod, renaming the copy to Finaler Frontier
    3) copy the contents of the 7-zip file over top of that
    4) play

    EDIT: Note that just about everything in here is now in Final Frontier Plus as of v1.41. The three things that I can think of right now that are not in FF+ :
    1) the second leader for each civ to avoid duplicates when playing with more players than there are civs.
    2) the additional minor trait for each leader
    3) scouts are only speed 1 instead of speed 2 (although the Avower UU for the Scout, the Recon Ship, is speed 2)

    Attached Files:

  4. TC01

    TC01 Deity

    Jun 28, 2009
    Irregularly Online
    I remember having that idea!

    I did it via buildings ("markets") that would appear on planets and provide the specific resource. That let multiple planets in a system provide resources.

    I don't think anything ever came of it, though. That is, nothing releaseable. And I never bothered to add the original Civ 4 font icons for resources to Gamefonts.tga- I made the markets simply provide regular Final Frontier resources.

    Anyway, I'll add it to the 1.4 changelog of "things to merge in".
  5. Deon

    Deon Lt. of Mordor

    Jan 13, 2008
    St.Petersburg, Russian Federation
    Cool, I was just planning to make "artifacts" resources appearing in systems for MOO2 mod, and it looks like a great solution! :)
  6. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    TC01, I remember you mentioning it.

    I was considering doing it entirely with buildings. In fact, the original version I did was much more closely tied to buildings. Then it occurred to me that it would be quite simple to just modify the planet data and their getFoo functions to provide the basic benefits and then add in a few simple checks for planets with resources being within the current influence range to control whether or not the bonus is actually present in the plot. No more building needed. Since I already had the 6 buildings, I just split some of the benefits so that you got some from the resource directly and some from the building, and added a few more small bonuses to the buildings which were switched to being buildable instead of free. The additional buildings seem like a nice feature - they are almost like national wonders since you can't build very many of each and they provide significant benefits.

    Considering the size of the benefit I am giving for having a bonus, trying to allow more than one per system seemed excessive. Limiting it to one also allowed me to just add the bonus to the plot which makes the map show the resource marker (when they are turned on) just like for any other resource.

    I forgot to mention it in both the explanation and the features blurb above, but the number of each resource that is distributed over the map is somewhat limited. Currently it places a number each resource equal to half the number of players in the game plus a random number. The random number is 0 or 1 for duel or tiny maps, or 0 to 2 for all sized larger than that. Since the number is so limited, it can take some doing, and probably a war or three, to get all of them. Also, home systems never have one - randomly getting a resource in some home systems but not others seemed like too great of an advantage for the lucky few (the other option was giving one to everyone, but that seemed to me to make them too common). If you use the "sparse" system density setting, it might end up with resources in all the systems except the home systems (and maybe even throw some away) on Standard and smaller maps, or in custom games with extra players.

    My somewhat vague in-game explanation for home systems not having any is that there was some branch of the PDE that was secretly attempting some terraforming by spreading Earth life forms around the galaxy and they avoided settled planets to keep the secret.

    Oh, and for those who don't know: GameFonts.tga is evil. It's slightly smaller twin, GameFonts_75.tga, is just as evil. Part of this is because the tga format isn't a format, it is a format with a bunch of optional characteristics that nobody implements the same way. By that wasn't the problem I had. The (main) problem that I ran into is that when Paint.NET saves to the tga format it makes every pixel that is completely transparent loose its base color, becoming transparent black - so much for the invisible magenta background around the icon areas and the invisible cyan pixels that mark the edge (and possibly the baseline for vertical positioning) of the used glyphs. I ended up saving as an uncompressed 32-bit dds file, opening that with DTXBmp and saving it (without any other manipulation) as a tga - Paint.NET keeps the base color of fully transparent pixels when saving to dds, and DTXBmp keeps them that way when saving as tga. My GameFonts.tga file is exactly 26 bytes smaller than the original, but it works (it's those optional features I expect - the original ends with "TRUEVISION-XFILE.<NULL>" or something like that and mine doesn't, possibly the 8 bytes immediately before that in the original are also optional). TGA, oy vey.
  7. Deon

    Deon Lt. of Mordor

    Jan 13, 2008
    St.Petersburg, Russian Federation
    Well, I had no major problems editing it with photoshop...

    Tell me please, did you use custom SDK code for those on-planet resources spawning and is it commented? With my low skills and experience I can only have to find comments to merge with my modmod :).
  8. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    It involved no SDK work, only a little Python, some XML for the bonuses, buildings, and art defines for both, and the GameFont files. Finaler Frontier doesn't have any custom SDK code - it uses a slightly out of date BBAI DLL without any changes, not the Final Frontier Plus DLL (since it predates FF+). That's why it isn't as fast as FF+, although the AI is slightly smarter.
  9. TC01

    TC01 Deity

    Jun 28, 2009
    Irregularly Online
    Does editing Gamefonts that way (saving it as a .dds in Paint.NET, then as a .tga in DXTBmp) require the alpha channel editing? That's the main reason it's evil in my mind- if you try to edit it with DXTBmp directly you have to send it to Paint (or whatever) and count pixels when adding the alpha channels (which have to get done after adding the regular icons).

    I'll try it that way when adding the Oil and Water icons in.

    Also, I guess no one noticed my question about getting a mod forum for FF+... do you think we need/could use one?
  10. Deon

    Deon Lt. of Mordor

    Jan 13, 2008
    St.Petersburg, Russian Federation
    Sure, you contribute a lot. It would be a great mod per se, and a base for other space mods.
  11. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    If you are copying an icon from another file, Paint.NET allows you to just cut and paste since the alpha channel goes along for the ride. I had 3 files opened into different layers - the original FF GameFont to use as the target, the one from the Chinese Unification mod (comes with Warlords) for the cotton, and the original BtS GameFont for the others. I also copied the BtS layer into another layer and removed the alpha channel so I could see the actual RGB data for the transparent parts, allowing me to see the edges of the glyphs and the little cyan dot and such (this layer was on the bottom). I set the one I was copying from to be visible and the other source layer not, also picking the current source layer as the active one, then did a rectangular select on the desired glyph plus the magenta borders on the top, bottom, and right (including the cyan dot), did a copy, selected the destination layer, did a paste, then did the "move selected pixels" (which is the tool that became active after the paste operation, as I recall - holding down ctrl and using the arrow keys shifts by 10 pixels, and without ctrl shifts by 1) to move it to the correct position since Paint.NET pastes to the same coordinates as it was in the original layer. Once all the glyphs I needed were copied, I did a "select all" on the output layer, copy, then "paste as new image" and saved that new image as a DDS file set to the A8R8G8B8 variety. Open the dds file with DXTBmp, save file in tga format. No editing or messing with the alpha channel in DTXBmp - it is used only to convert the file to the tga format and only used because Paint.NET looses the color data for completely transparent pixels when writing tga files. Now that I have actually done it is isn't difficult, but getting there took some doing.

    Sounds good to me. There are at least 4 topics that could use their own threads - download/current features list/new release reporting, bug reports, new features discussion, and other questions (which is likely to develop into multiple threads).
  12. Agent327

    Agent327 Observer

    Oct 28, 2006
    In orbit
    Very nice addition! :goodjob:

    The spoiler mentions quite a lot of changes, but for MOO2Civ I only want the resources (I imagine more FFmods are interested in adding just those). Could you explain/add an explanation how to do just that? :please:*

    (Finaler Frontier isn't that the same as your Final Frontier Plus mod?)

    *I'm not asking specifically for MOO2Civ, as Deon already posted the necessary code in the MOO2Civ forum. ;)
  13. Deon

    Deon Lt. of Mordor

    Jan 13, 2008
    St.Petersburg, Russian Federation
    Jeelen, it's in CvFinalFrontierEvents.py and CvSolarSystem.py, basically look for "bonus" and "bonusbuildings" in all .py files and you'll see it.

    The code I meantioned just places a building in Alkari capital (and you can make this building to do anything, including granting a resource), in this case it randomly places actual resources on random planets.
  14. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    For the bonuses themselves, the new/modified code is:

    File CvFinalFrontierEvents.py:

    in CvFinalFrontierEvents class, I have a new function called AddPlanetaryResources()
    - this is the last function in the CvFinalFrontierEvents class, right before the Tutorial class.

    in CvFinalFrontierEvents.onGameStart, at the end of the "else" branch of the "if ('.CivBeyondSwordWBSave' in CyMap().getMapScriptName()):" section (the part for when it is a newly generated map, not a scenario), I call the new AddPlanetaryResources function.

    in the initValues function there is a seemingly related definition of self.dBonusBuildings. This is actually unused - it was used initially, but how this stuff works changed considerably and I forgot to remove it.

    File CvSolarSystem.py, in the order the stuff appears in the file:

    in CvPlanet.__init__ I added a field called iBonus which is initialized to -1.

    modified the function CvPlanet.getName to add a space and the character for the bonus to the end of the planet name of planets with bonuses. (The commented out code was from before I added them to GameFont.tga - it used a happy or healthy symbol, as appropriate.)

    added the functions CvPlanet.setBonusType, .getBonusType, .isBonus, and .isHasBonus.

    modified the function CvPlanet.getBaseYield to give +1 commerce yield for happiness resources and +1 food yield for health resources.

    modified the functions CvPlanet.getData and .setData to save and load the new iBonus value.


    The buildings I added that can only be built on the planets that have the corresponding resource on them have their locations restricted via CvGameUtils.cannotConstruct. My version of this function is mostly new or modified - amongst other things, for the AI players it looks for a planet in the current system where the building in question can be built (if it can't be built on the current built planet) and changes the current build planet if it finds one. I also added an __init__ function to the class to set up the mapping between the buildings and the required resources. If you use the new __init__ and add lines 310-316 to a similar location in the regular FF cannotConstruct function, that should be sufficient.

    I think that is everything.

    Nope. It is actually not directly related to FF+, although FF+ is starting to assimilate the features of FerF. Finaler Frontier is a direct modmod of Final Frontier that I started back in about June of last year, a few weeks before I joined Civ Fanatics. It is mostly additional content, plus bug fixes and some AI tweaks. The very first change, and the motivating factor in creating it, was adding a second leader to each civ that was identical except for their name to allow playing on larger maps and not having duplicate leaders who where often indistinguishable. After that, various features were added in groups (UUs, UBs, secondary traits for the leaders, wonders, etc.).

    Now, by being assimilated into FF+ it is gaining one thing it still really needs the most: speed.
  15. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    Oops, I left some stuff out.

    In CvFinalFrontierEvents.py, I also modified the functions CvFinalFrontierEvents.onCityBuilt, onCityRazed, onCityAcquired, and onCultureExpansion. Each of these has a little code labeled with "# CP - check for planet resources".

    These control whether or not the plot actually has the bonus set, since the plot only actually has the bonus when it has no colony or when the colony's influence reach includes the planet with the resource. When there is a colony but its influence doesn't reach the planet, the bonus is not actually present on the plot.

    I also modified two lines in CvMainInterface.py in the Screens subfolder. I don't know why, but the center and right columns of resources have the text positioned lower than the left column - the left column actually has 5 resources that can be in it, but the other two only had two each. Anyhow, in updateCityScreen on lines 2201 and 2206 (in my version, in the original FF version they would be lines 2200 and 2205), change the 70 to a 62. If this is not done, if you get all 5 of either the happy or healthy resources the last one will extend down over the current planet's name area by about half a line.

    Once again, I think that is now everything.
  16. Kiwikaz

    Kiwikaz Chieftain

    Nov 27, 2003
    Hi guys.

    I've got here a little mod for FF Plus 1.3 .
    I want you to try out my little thingy and report any bugs,
    tweaks, suggestions and overall speed of the mod is also needed!

    Must note that there are some things missing but majority is done!

    Here is the link http://www.atomicgamer.com/files/84753/ffsk (~20MB zipped)

    To install: make a copy of FF Plus 1.3 and copy my zipped content to there.
  17. TC01

    TC01 Deity

    Jun 28, 2009
    Irregularly Online
    The Finaler Frontier merge is complete.

    Well, almost complete. I haven't merged in the new traits or leaders yet, and that's going to wait for a future version.

    It appears to work fine. I'll do some testing tomorrow and hopefully get v1.4 out by the weekend if there are no major issues.

    I'm not going to merge Inhabited Planets as originally planned because I want to get that finished as an independent component first.

    I don't have time to test this at the moment (I also don't have a clean FF+ 1.32 either), but I'm glad to see you release it. (Assuming it's the mod where you moved Planet and System classes to the DLL).

    If you want (and if you provide source code) I'll merge this into FF+ in the future (and add your name to the FF+ team).
  18. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    You give no indication of what is supposed to be in the mod...

    There are a variety of problems:

    Each leader is showing bonuses (ridiculously large, well over 1000000%) to build non-existent buildings, each having one or more of Temple, Monastery, Cathedral, and/or Bomb Shelter.

    In the city screen I can see that I have a specialist. Where does it come from? No building on the list of buildings in the system provides a free specialist and all of my population (just the one, as it is a new game and my population has not increased yest) is assigned to work on planets.

    In the city screen the planets are all show with the name "no name X Y" where X and Y are numbers.

    In the main screen, the system preview you can normally get by double clicking on a system is gone.

    That is all for now.
  19. Kiwikaz

    Kiwikaz Chieftain

    Nov 27, 2003
    I forgot to add readme.

    The mod doesn't add any new content but it moves the CvSolarSystem and CvPlanet to dll.
    It should act as same as original FF.
    Only additions are the city screen, BetterAI and ability to add different planets buildings to city's build queue.

    I posted it because then i might get some feedback where the problems are. Like:
    They are the population...in original FF they are just hidden. They are out because of testing. They are specialist because there isn't any good plots to work on and Capitol provides 2 solts for every specialist.

    again for debug purposes. no_name is because i forgot to add the name generation to dll.
    and x y stands for orbital ring and planet index.

    Because it haven't converted to use dll exposed functions. :)

    I assume you didn't notice any game performance, because it's pointless to move suff to dll if it doesn't increase performance (or I am doing it wrong!).
  20. God-Emperor

    God-Emperor Deity

    Jul 18, 2009
    I just clicked played a bunch of turns. It crashed completely on about turn 89. I have no idea why - I have not re-run from the last save to see what it was trying to do.

    Before that, there was a python error (same basic problem in two different locations in the smae file):
    Traceback (most recent call last):
      File "CvEventInterface", line 19, in onEvent
      File "CvEventManager", line 187, in handleEvent
      File "CvEventManager", line 878, in onCityDoTurn
      File "CvAdvisorUtils", line 951, in cityAdvise
    ArgumentError: Python argument types in
        CyCity.canConstruct(CyCity, int, bool, bool, bool)
    did not match C++ signature:
        canConstruct(class CyCity {lvalue}, int, int, bool, bool, bool)
    ERR: Python function onEvent failed, module CvEventInterface
    Traceback (most recent call last):
      File "CvEventInterface", line 19, in onEvent
      File "CvEventManager", line 187, in handleEvent
      File "CvEventManager", line 878, in onCityDoTurn
      File "CvAdvisorUtils", line 705, in cityAdvise
    ArgumentError: Python argument types in
        CyCity.canConstruct(CyCity, int, bool, bool, bool)
    did not match C++ signature:
        canConstruct(class CyCity {lvalue}, int, int, bool, bool, bool)
    ERR: Python function onEvent failed, module CvEventInterface
    I assume you added an int to the canConstruct function call to specify the planet, but didn't update these uses in CvAdvisorUtils.

Share This Page