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

The Cold War 1947 - 1991

Discussion in 'Civ2 - Scenario League' started by JPetroski, Apr 13, 2020.

  1. countmc

    countmc Chieftain

    Joined:
    Dec 29, 2005
    Messages:
    75
    This scenario looks great. It would be interesting if you could implement a power projection aspect through the different navies. Napoleon scenario had attrition for french ships, you could do the same thing here for all powers but US. The US Navy partially won WWII from being able to re-supply and support ships while at sea without needing friendly ports to be based out of. So the US has an advantage for its naval power, which in turn makes force projection that much easier. The USSR and Europe would be more reliant on their naval bases in proxies/colonies (which is historically accurate). This could make the USSR control of Kuba and/or places like Angola or Syria that much more important if they want an ability to screw with the US ability to control the seas in a conflict.

    You might consider some units, like USSR submarines having a longer amount of time before attrition sets in to model the USSR attempt to fight a third 'battle of the Atlantic'.

    I know alot of people don't like the unique units route (I do, especially when it means you can use Fairline units), but Europe could have several of them that have an advantage fighting partisans or proxy- eastern forces. Basically think of how Brits have SAS, SBS, Paras etc or French have Foreign Legion and they used those units (to some success) fight their de-colonialization wars. The US and USSR eventually went this route also in their conflicts with partisans (Spetznaz and Green Berets) but maybe that is a tech they have to research and Europe starts off with those units. To be clear those units wouldn't be really useful in a WWIII scenario fighting tanks, but they would have advantage taking on partisans and fighting in the proxy wars, especially on rough terrain. Maybe their support is super high to reflect the investment of creating 'elite' troops. This could mean in your example of Vietnam that it is possible to hold Saigon but only by sending best units at high cost for a long period of time.

    Just some thoughts. Really looking forward to this scenario.
     
  2. techumseh

    techumseh Emperor

    Joined:
    Mar 12, 2002
    Messages:
    1,691
    Location:
    in the frozen north
    Interesting. If you're going to differentiate the logistical capacity of various navies by using attrition selectively, then I suggest you include the Royal Navy as well. The reason I suggest this is because of its performance in the Falklands war. It was able to support a fleet in active combat over six weeks, thousands of kilometres from home.
     
  3. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    While it is a cool idea, I don't know that the AI could handle this. I do think it will remain important for the various powers to seize ports for other reasons, however.

    For one, I aim to only allow heavy equipment, tanks, and aircraft be "shipped" to ports via the purchase and gift system, so control of nearby ports is going to be important for that reason. Secondly, given the idea of restricting freight to the proxies, one will want nearby bases where frigates can hunt down any "pirates."

    I too enjoy unique units! Most of my scenarios have at least a few. Here, I'm trying to simulate nearly 50 years, so choices had to be made. To that end, each civ gets 3 unique infantry (a generic infantry, a marine/commando type infantry, and paratroopers). For better or worse, the Foreign Legion is their marine.

    Now, there's nothing to say that an advantage of Europe might be that the Foreign Legion is a bit better...

    Anyway, units like Spetznaz and the Navy SEALs are represented by a unit called "Special Forces." This is intended to be a domain 3 unit that can be deployed with @SorFox 's unit transporter module. It is meant to take out "Terrorist" units, for various benefit. As it has the Partisan slot, it does well vs. these 0 attack units with high defense.

    I'm hoping that this will provide a fun side game where these special forces need to respond to events across the globe. Being domain 3, they can be "dropped" at sea by an aircraft and swim to surprise targets, or to destroy mines/roads/ etc. as these units are invisible until attack. It should be possible to cause some real mischief with these.
     
  4. typhoon353

    typhoon353 Chieftain

    Joined:
    Oct 4, 2009
    Messages:
    62
    Hope you're safe from the hurricane @JPetroski, just wanted to share some thoughts I'd been having about the role India would play in this scenario based on what you've intended for the European civ so far.

    For most of the Cold War, India was more preoccupied in the first two decades after independence with domestic and regional concerns - chiefly its wars with Pakistan, redressing territorial holdovers like Goa and Pondicherry, and attempts to align neighbours like East Pakistan (Bangladesh), Nepal and Sri Lanka under its direction - but as the largest postcolonial nation and the inheritors of Gandhi's non-violent tradition, it was also recognised to exercise tremendous moral leadership within the Third World.

    As we know, such dreams of a united and independent Afro-Asian bloc that could stand against East and West alike were rudely disabused by India's war with China in 1962 and its own subsequent development of nuclear weapons, just as the Franco-British ones of being able to retain their imperial holdings after Suez and the loss of Algeria. But just like how you've allowed for the ahistorical possibility of the Europeans re-emerging strong enough to offer a plausible "Third Way" alternative as De Gaulle envisaged, the potential for India and other states like Nasser's Egypt and Sukarno's Indonesia to do the same instead of succumbing to the divisions and squabbles that eventually drove most of these countries into one of either superpower camps is there.

    This would turn the three-cornered fight between the US, USSR and European players for VPs into four, and also expand the scope of the struggle over decolonisation from just South Asia to the rest of the world, adding an additional layer on top of the ideological East/West conflict. As with the European civ, the American and Soviet player would be equally eager to court the Indian/Non-aligned player while simultaneously trying to undermine them for VPs using their respective proxies. The Indian civ would retain its advantage/disadvantage of not being able to build its own advanced units until the late-game while being able to buy weapons from both sides as well as the Europeans (should both choose to cooperate instead of whittling each other down to the benefit of the Americans and Soviets). This would put them in a position of semi-dependency on all three while simultaneously trying to hold them at arm-length until it is strong enough.

    Spy units (representing political agents, foreign aid or CIA/KGB-sponsored coups), or historical events such as Suharto taking over in Indonesia or the Camp David Accords could be used to flip Third World countries into either Pro-East or Pro-West civs. Late-game, the Third World player might get their own back from events triggered by superpower meddling such as the Iranian Revolution or the Soviet invasion of Afghanistan- with possibly portentous consequences for the future.

    While all this is happening, the Third Worlders would also be trying to pry as many VPs off the Europeans as they can while the latter tries to hang on to them, reflecting such conflicts as the Indonesian war of independence, Suez, the Congo Crisis, the Borneo Confrontation, and the near-war between the Dutch and Indonesians over West New Guinea in 1962. This could lead to more potential for conflict with China as well, which was jockeying with India for the leading position within the Third World at the same time as it was against the Soviet Union in the communist bloc.

    Some superfluous musings which you can feel free to ignore - I know you're at a rather late-stage in development and this is already shaping up to be an amazingly complex scenario as is.
     
    Last edited: Aug 7, 2020
  5. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    I'd love to respond more substantially but really need a keyboard for that :)

    I would indeed like to make China and India viable. Given that they are smaller, less developed, and don't get the benefit of a unique unit set, one of the few ways left to balance them would, Id argue, be to give them a benefit other nations lack when conquering/assimilating new lands.

    I started all this by setting up a SP event chain for China wherein if they started to influence SE Asia they'd see it grow further. For example, their intervention in the Philippines or Indonesia would see them gain local support/spark a larger rebellion. I took it out while focusing on MP elements, but perhaps I shouldn't have?

    There will be places on the map that just won't like being occupied the Europe, the US, the USSR, or their proxies. Perhaps these places are more agreeable to Chinese or Indian influence?
     
  6. techumseh

    techumseh Emperor

    Joined:
    Mar 12, 2002
    Messages:
    1,691
    Location:
    in the frozen north
    It seems to me that of the two emerging powers, China is also very important from the perspective of a cold war scenario. It was far more interventionist than India, supporting movements throughout eastern Asia (eg. Malaya, Indonesia, Vietnam) and direct military intervention in Korea. There's also very realistic "what if" interventions like Taiwan. It also posed very clear ideological and diplomatic opposition to the US and later to the Soviet Union. IMHO it is a far more likely "Third Power" than either western Europe or India. Western Europe (France mostly) made some noises about being independent of US foreign policy, but it really was not, especially after Suez.

    From a design point of view, China could be a lot of fun, as there is no end of mischief it might get up to. I suspect that the more passive "non-aligned" role of India could be handled by some well crafted events. Anyway, I know I'm late to the party, but that's my two cents worth.
     
  7. typhoon353

    typhoon353 Chieftain

    Joined:
    Oct 4, 2009
    Messages:
    62
    Yes, India's relatively passive foreign policy via-a-vis China's during the actual Cold War was what led to the suggestion that it might make sense to expand the civ to include other potential powerhouses in the Afro-Asian movement. This would give both the European player a harder fight to hold onto or retake their former possessions, as well as the Pro-East and West to swing countries to their camps in order to give their patrons more cities to built freight units in (representing market access), in view of the limitations on trade for the US and Soviet players. Historically, Nehru and his successors pursued a non-interventionist path for India, but there was no shortage of colourful anti-colonial visionaries, strongmen and assorted nutcases in the mould of Sukarno, Nasser, Gaddaffi, Idi Amin, Saddam Hussein etc who shared neither his scruples or indeed a realistic assessment of their own countries' capacity for foreign adventurism. My worry is that if the Indian player decides to limit himself to historical or semi-realistic objectives (which my guess would minimally include the subjugation and reintegration of Pakistan and establishing preeminence over Nepal, Bhutan and Sri Lanka), he might very quickly be satiated with just taking and holding South Asia. Giving the Non-Aligned civ a starting foothold in places like the Middle East and Southeast Asia would make the competition for these regions hotter and more dynamic from the get-go while expanding the conflict's scale to a global one.

    To give an example of how it would work in my mind: the Indian/Non-Aligned civ would also start in 1947 with forces in Indonesia already in revolt against the Dutch (Europeans), which the Pro-East and West players, representing nationalist and communist factions of the independence movement respectively, also having the option to pile on in the civil war or assist the Indonesians. Should the Non-Aligned player succeed in taking the East Indies from the European player (as well as surrounding regions like British Malaya and North Borneo which were also claimed by Indonesia and fought over later in the 1960s), both US and Soviet players would still have the option of funding nationalist and communist movements to overthrow the Non-Aligned government (as historically happened until Sukarno's successor purged the Communists and put Indonesia firmly in the Western camp by the 1970s), or accept it as a fait accompli if they think its more beneficial for an independent Indonesia be left to its own devices outside of either Pro-East or Pro-West civs, providing no advantage to either while the US/USSR remains on good terms with the Non-Aligned player which would facilitate arms sales and trade.

    In the same vein, the former European overlord might decide that the war to squash independence is unwinnable or at least, less preferable to keeping amicable relations with its former colonial possession (since they would also want a slice of these arms sales). This would also simulate part of the conundrum facing countries like the UK, France, the Netherlands and Portugal over the issue of decolonisation - in pure gameplay terms, Civ 2 is a game which rewards straightforward territorial expansion, which is again somewhat ahistorical for a cash-strapped, devastated postwar Western Europe reliant on American largesse and goodwill to survive. The European player would here have the option of being able to pick and choose their battles- they can try to fight it out as the French did in Indochina and Algeria and the Dutch in Indonesia, or make peace and perhaps come back later when they are in a position of strength- at the risk of either the Non-Aligned player having strengthened their defences, or the country falling into the hands of the Pro-East or Pro-West civ. This might also have the added effect of prompting more backroom dickering taking place in PBEM games, which would hopefully add to the social aspect of the scenario among human players.

    A similar event chain could be used to set up Egypt as a Non-Aligned bastion with the revolution of 1952. While the Non-Aligned player will likely be able to hold on to and consolidate in his main power base in India, his position in Egypt and Indonesia would be a lot more tenuous, and could be open to losing them due to superpower shenanigans. These three countries (and perhaps the FLN in Algeria) were the most prominent and active players in the Third World with enough clout to have conceivably retained an independent voice in world affairs- as Tech mentioned, the national liberation struggles where the insurgents were clearly aligned with one ideological side or the other (e.g. Cuba, Vietnam) could be simulated with the Pro-East and West civs through events.

    Adding on to Tech's suggestions regarding China, you might also want to give China the option, in addition to backing movements in Southeast Asia, the ability to fund the Maoist Naxalites in India or possibly even Hoxha's Albanians and Tito's Yugoslavia in Europe, to create headaches for the Indian and Soviet players. China's influence during the Cold War was even felt as far afield as Africa- they were backing some of the sides in Angola, Somalia, Zaire and Zimbabwe.
     
    Last edited: Aug 7, 2020
  8. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    One thing that lua allows for is to simply change the allegiance of cities at a stroke, so it is perfectly possible to have events where, for example, Egypt suddenly and dramatically leaves the European camp.

    If I did this, I would not have a set date for it, but a probability it might occur during certain date ranges. I had previously considered giving these cities to a proxy, but I suppose a new "non-aligned" civ that starts predominantly in India could get this event instead.

    So, India could start with a good force in Indonesia (and perhaps some solid events to help them along there) and could obtain an event that would eventually, probably, give Egypt to them, sparking a crisis for Europe to contend with.

    As to China, they'd be the weakest civ to start, but there's no getting around that with the state of their civil war in 1947. They should be able to grow much stronger however. They and India (but perhaps they alone if India becomes non-aligned?) are the only civ that can build 3 tiers of industry, so they should turn into a powerhouse. I could also give them a gold bonus each turn for, whatever I want, frankly. Perhaps their Markets are free, or even dispense cash. Or, perhaps they get a bonus each turn that they own their mainland? Something ought to be done, it seems, to better represent the strength of their cities than simply larger populations.
     
  9. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    What do you all think about this for arma deal mechanism... I had thought about a chunkier system earlier where one had to build a weapon to ship, but I think lua can streamline things...

    Seller presses "3" (or whatever) and dialogue box pops up "Trade Policy."

    Option 1: No restrictions
    Option 2: Sell last generation equipment only
    Option 3: Sell two generations back equipment only

    (Default would be 2, so this is SP compatable).

    Depending on selection, a flag or state is triggered.

    On Buyer's turn, they select a city with the docks improvement and press "2." They get a dialog box that filters aircraft, tanks, other. Lets say they pick aircraft.

    They might see:

    F-100 ($5000)
    MiG-15 ($3000)
    Spitfire ($1000)

    They make their selection and payment is withdrawn from their account and deposited in sellers. There is no need for seller to build the equipment first, simply set their trade policy.

    I was thinking that maybe I need to just ensure that China and India always have access to equipment, without allowing three larger players to bully them. This would do that. The Seller could have some control over what equipment they sold, but that'd be it.

    Also, as a check and balance, I'm not sure China would want to buy from enemies, because it gives that enemy gold that makes them stronger.

    Thoughts? I think it is much simpler....
     
  10. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,900
    Location:
    Ontario
    I was intending to work that into the diplomacy dialog I've been building for you. One option would be to purchase a unit. There would be a list of units available for purchase and the price. The player would also have to choose what city takes delivery, and there might be a transportation cost above the price. (You would provide functions that determine if a unit is for sale, and, if so, at what price.) This would assume that units for sale have already been built. I suppose for the single player version, some units will have to be created and placed in appropriate 'sale position' from time to time.

    I think it is reasonable for the big powers to stop exporting military equipment if they want to. However, what you might do is make it so that arms factories in the USA or Europe shut down if they don't regularly produce equipment, thereby making those players eager to sell equipment that they don't want to stockpile themselves.

    I suppose a reason not to allow the big players to forbid India from buying equipment is that if India represents other non-alligned factions, the Big 3 could threaten to punish India to influence the course of a war of independence.
     
  11. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    I'm not sure that having a player actually build the unit before it is sold is the best idea, for several reasons. I'm thinking "orders" are simply put in and the units are delivered in exchange for cash. This would preclude a clunky bit of micromanagement, if you ask me. Perhaps a delay of a few turns from when the order is submitted to when it is received may be in order, but I don't know that it's best to have another civ actually produce the unit. It seems unnecessary.

    Well, I suppose the same "state/flag" that designates what type of equipment could also be used to shut down sales altogether, though I hope 3 players wouldn't all do this to one of the minors. Frankly, I think there is a check/balance because India probably wouldn't want to enrich their enemies and would prefer to enrich their friends.
     
  12. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    I've finished the "canBuild" settings which is helping to bring the scenario to life. I've also taken your advice @typhoon353 and changed India into a "non-aligned" faction. They have access to a technology called "decolonization" which makes some European WoW go obsolete and also opens up to three more techs: Align Indonesia, Align Egypt, and Align Ghana. Researching these techs automatically gives control of much of Indonesia (not all of it though, as there's a civil war to wage), Ghana, and Egypt (with a powerful army) to the Non-Aligned.

    This should let this power get a pretty good jump into the game.
     
    typhoon353 likes this.
  13. typhoon353

    typhoon353 Chieftain

    Joined:
    Oct 4, 2009
    Messages:
    62
    Some rather disjointed thoughts on China:

    1. The Chinese Civil War should be as much an uphill battle - if not more- for the Pro-West player, without completely foreclosing the possibility of a Chinese Nationalist victory if the US/Pro-West player is dedicated enough to that goal. The Civil War was lost by Chiang as much as it was won by Mao and his generals - by 1947, the rampant endemic corruption and economic mismanagement of the Nationalist regime had made it so unpopular among the urban middle and intellectual classes that many would have welcomed a Communist victory if only to get rid of them. To simulate this, the Chinese communist player could get the benefit of massive, randomised reinforcements (similar to what you have planned for Vietnam), with the probability of receiving these increasing the longer the Pro-West player tarries in wiping out the Communist Chinese civ for good. This would encourage the Pro-West player to chance risky attacks to destroy the CCP while still holding the material advantage, reflecting the historical strategy attempted by the Nationalists with their offensive into Shaanxi in March 1947.

    2. Assuming a scenario start date in early-1947, the Chinese Communists begin on the back foot but should very quickly be able to turn the situation around. Although they lose their capital Yan'an to the Nationalists early on, by spring the Communists will have successfully isolated the Nationalist garrisons in the major cities in Manchuria and should be able to start rolling them back. Every time the Communists take a major city, they should get a big boost of units - this would be especially so for the northeastern cities which were the most heavily industrialised in China and held large stockpiles of captured Japanese weaponry. Furthermore, every time the Communists kill a Nationalist unit, there should be a certain percentage chance the Communist player will receive either more infantry or tanks/artillery depending on the type of unit killed. This would reflect the role played by the mass defection of Nationalist units as the civil war progressed and the capture of their US-supplied equipment, as well as degrade the qualitative edge the Nationalists hold at first. This would result in a snowball effect as the Communists gain strength by capturing cities, which along with the aforementioned random unit spawn should make it easier for them to win the Civil War (once a certain threshold of Communist success is reached, there ought to be a way to turn off the random unit spawn to stop them from getting too powerful and steam rolling everyone - more on that below.)

    3. Once the CCP meets its victory conditions for the Civil War (i.e. occupation of most of Mainland China and the proclamation of the People's Republic of China, which occurred in October 1949 when the Communists held the whole country except for Sichuan, Xinjiang, Hainan and Taiwan), the Chinese civ should get a tech to reflect the shift of diplomatic recognition by the Soviet Union from the Republic of China to the PRC. Historically, the Soviets did not back the Chinese communists from the start as they had good relations with Chiang and the Nationalist government, and Stalin correctly recognised the potential of Mao becoming a possible contender to the USSR within the communist world. This tech (the Sino-Soviet Friendship Treaty?) would have the dual functions of switching off the above mentioned Communist unit spawn as well as giving the Chinese civ access to the lower rungs of the Soviet tech tree, allowing them to build early units such as T-34s and Yaks, while still being dependent on Soviet assistance for more advanced units. This maybe could be simulated through a WOW like Darwin's Voyage to allow the Chinese player to choose which techs he wants to get from the USSR. Perhaps a trigger could be made that as long as the Soviet-Chinese alliance is in effect, the latter will get units one tech level lower than whatever the USSR player researches.

    4. In a similar vein, the obsolescence of the Sino-Soviet Friendship Treaty can be made an objective later on which either the Soviet or Chinese player could pursue if they want to break the alliance for whatever reasons. Breaking with the Soviets could possibly be made a precondition for the Chinese player if they want to build their own advanced units or third tier industrial buildings, to reflect the ideological break and later US-Chinese rapprochement under Nixon in the 1970s, and Deng's market economy reforms.

    5. The loss of Mainland China had wider repercussions beyond East Asia. It should be difficult for the US player initially to resupply the Pro-West civ with equipment to reflect the withdrawal of US support for Chiang as well as the general unwillingness of the US government (at least at the beginning) to get involved in global anti-Communist policing. Once China is lost, there would be some trigger (such as the Mutual Defense Assistance Act) to make it much easier for the US to arm the Pro-West civ, reflecting the American public's alarm and the US fully turning on the taps of military assistance to its allies- not only to the surviving Chinese Nationalists but other parts of the world as well. (On that note, do you have any plans to model the domestic effects of McCarthyism and the Red Scare?)

    6. For Chinese advantages beyond access to industrial buildings, I think you're planning to give them Sun Tzu's Academy (People's War?), which would be a good choice reflecting the early advantage held by the PLA in the wars in Korea, Tibet, and India due to the veterancy of many of its soldiers and commanders who had cut their teeth during the Civil War. They should lose this advantage in the late-game though, reflecting the qualitative decline of the PLA as it fell behind the US and USSR in technology and organisation, culminating in its poor performance during the invasion of Vietnam in 1979. Again, perhaps the obsolescence of Sun Tzu could be made conditional to allow the Chinese player to access the advanced units in his tech tree.

    (On that note, I think India/Non-Aligned should also get access to the same industrial buildings that China does- India had about as much potential to become a manufacturing powerhouse if not for a prohibitive closed economic policy which stifled growth for most of the Cold War, and arguably still does today.)

    7. Related to the above point, I'm not sure how you will be able to simulate the effects of the Great Leap Forward and Proletarian Cultural Revolution. These two events kept China in a state of self-inflicted economic and political turmoil which prevented it from playing a much larger role in international affairs comparable to what it currently enjoys in the 21st Century. The choice for the player to avoid it entirely should be there, given they would likely be a lot more rational than Mao. In view of this, I might even suggest that it would not be necessary to give the Chinese player an additional advantage beyond what they would get during the Civil War, given that they arguably already have a head start simply by virtue of not being bound to follow the PRC's historical trajectory and the disastrous results thereof. IMO the industrial and manpower advantage, as well as the early military one, would be quite powerful in the hands of a skilled player.

    Another possibility is to have equipment 2-3 generations back always available by default, to represent third countries selling off obsolescent equipment or independent arms dealers. In this case, the buyer would still have to pay for the equipment, but the gold would just be deducted and not credited to any seller.

    WW2-era equipment could always be available by default to represent the large amount of post-war surplus. 1950s equipment (e.g. M48s, T-55s, MiG-15s, F-86s) will next become available when the superpowers reach a 1970s tech-level (e.g. M60s, T-72s, MiG-23s and F-4s) and 1960s equipment when they hit the 1980s, and so forth.
     
    Last edited: Aug 15, 2020
  14. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    This is pretty much what happens - the Chinese get a number of units as they capture cities (though since I don't have stockpiled Japanese ones to play with, American ones will have to do). In Manchuria they get some tanks, other ones give them some artillery, and a few more grant many infantry. So, as you capture cities, your army definitely grows.

    Right now the nationalist units all have home cities, so capturing a few of them really cuts them down. It is a simple enough thing to "capture" units with lua, however, and wouldn't (I believe) be that hard to add a random chance of it happening. I could certainly add that.

    There are a few different ways. The way I think would probably be easiest would be a turn limit, but it also is possible to tie it in to how many cities they possess, or how many in China. So, once you capture, say, 70-80% of Chinese "home cities" then the effect could switch off.

    I'm running out of techs, so it would be easier to just allow China to build certain Soviet units, but not research the techs required for them normally, and then be given these techs with an appropriate message box. This could happen at the same time that the state is reached where additional units won't be "captured."

    I think it's possible to check if the Soviets have Tech 1 (newer technology), and that China does not have Tech 2, and then give China Tech 3 (older technology), but then China will need a really good reason to break the alliance (which I think you've touched on here:

    This sounds like a good idea.

    I hadn't really considered it, but I could have the U.S. have a destabilizing period where there's a certain chance that a government office improvement (Colosseum) will randomly be deleted to reflect this. I was focusing more energy (and scarce techs) to the Civil Rights Movement, which I think was more important long-term to the U.S. for much of the period. The American Dream (Michelangelo's) will expire at a random turn around when Rosa Parks was arrested. Right now, the U.S. needs to research various techs culminating in the Civil Rights Act, but I'm running out of techs to play with and I might simply have domestic instability be something the U.S. simply has to deal with for a number of years. I'm not crazy about not allowing the player a way out of it but to wait, but if it meant I could flesh out China and India more and make them more interesting/viable, it might be worth it.

    That makes sense.

    I agree with you. I think the fact that they can instantly acquire a few cities/units via tech probably isn't as strong of a boost as China's Sun Tzu WoW, anyway, so best not to neuter them by taking this away.

    From the canBuild module:

    Code:
    .forbiddenTechs = technologyObject or table of technologyObjects
    --          the civ must not have any of the technologies in the table to build the object
    --          absent means no restriction
    --          A single entry not in a table will be 'wrapped' with a table in post processing
    
    I could disallow freight to be built by China until they move past some of these. Basically, start China off with certain techs and then remove that tech when they reach a different one. Until it is removed, they won't be able to build any freight.

    Yes, I think so too. Honestly right now the only civ I've half-played is China and they are pretty fun.

    Yes I need to think about this more because this is something I probably can't build myself, will rely on help from others, and don't want to make that help more of a hassle than necessary.
     
  15. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,900
    Location:
    Ontario
    Flag states are also available in the canBuild module (though I might have to fix bugs) if you need a substitute for technologies.
     
    Tanelorn and JPetroski like this.
  16. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    I was able to add in the unit transporter event that @SorFox created, and was even able to successfully modify. In Cold War, up to 2x special forces or airborne troops will load onto auxilliary aircraft from city terrain (which is under every city and will be created under every new city read: military base that is founded). The aircraft can then take off, fly a significant distance, and deposit these units on any flat terrain (so no cities/factories/oil, forests, jungles, mountains, or hills).

    I think this is pretty cool and will be fun to use. I think I might still allow a short "paradrop" function for these units for 2 reasons:

    1. So the AI can still use them in SP
    2. So you only need an auxilliary plane for long-range incursions but can make local hops (think, small helicopter transport) for the more local stuff.

    I've run out of time this morning but it would be nice to see if I can figure out how to have different conditions for different units in the event to possibly allow some lighter "heavy" units (I'm thinking artillery, APCs) and perhaps standard infantry to also board this aircraft, but only unload in another city square.
     
  17. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    Does anyone know what the tech id for "no" is? I have an event where Turkey can be aligned by either Europe, the U.S., or the USSR via research. Once this is done, I want to shut down other tribes researching it. I could get anything related to "no" to work, but was able to get this to work and confirmed that this will change AlignTurkey's prereqs to AlignGhana and AlignIndonesia.

    If it isn't possible, I suppose I could use some of my "not used" techs (like gunpowder) to shut it down that way, which might be the easiest fix honestly.

    I could also use some help adding another layer of events to this, whereby if one of the other civs (Europe or USA) are also researching AlignTurkey, it will clear their research goal, so they don't waste 1-11 turns on something that will do them no good. I know I need to use this:

    researching (get/set)
    tribe.researching -> tech

    and I'm assuming "nil" would be what I would set it as (though that may have the same issue I'm having with "no") but I only want to clear it if those tribes are actually researching AlignTurkey, and not if they're researching anything else. How would I go about adding that secondary layer?

    Code:
    if turn >=1 and turn <=135 and civ.hasTech(object.tUSSR, civ.getTech(98)) and state.TurkeyAligned==false and tribe == object.tUSSR then
        state.TurkeyAligned=true
        justOnce("The Soviets Align Turkey", function()
        object.cIstanbul.owner = object.tProEast
        object.cIzmir.owner = object.tProEast
        object.cAnkara.owner = object.tProEast
        object.cAntalya.owner = object.tProEast
        object.cSamsun.owner = object.tProEast
        object.aAlignTurkey.prereq1 = object.aAlignGhana -- I want this and the below to be "no" ideally but if not possible, I'll use gunpowder or something else that has a no,no prereq of its own
        object.aAlignTurkey.prereq2 = object.aAlignIndonesia
        civlua.createUnit(object.uMidEastRev, object.tProEast, {{24,56,0}}, {count=3, randomize=true, veteran=false})
        civlua.createUnit(object.uMidEastRev, object.tProEast, {{23,61,0}}, {count=3, randomize=true, veteran=false})
        civlua.createUnit(object.uMidEastRev, object.tProEast, {{27,59,0}}, {count=3, randomize=true, veteran=false})
        civlua.createUnit(object.uMidEastRev, object.tProEast, {{27,63,0}}, {count=3, randomize=true, veteran=false})
        civlua.createUnit(object.uMidEastRev, object.tProEast, {{30,56,0}}, {count=3, randomize=true, veteran=false})
        civ.ui.text(func.splitlines("Moscow has managed to align Turkey as a Pro-East faction, reversing centuries of hostility between the nations.  Turkish citizens overthrow local government and install Pro-Eastern governors."))
    end)
    end
    
    Thank you
     
  18. Prof. Garfield

    Prof. Garfield Deity Supporter

    Joined:
    Mar 6, 2004
    Messages:
    2,900
    Location:
    Ontario
    I've only done a bit of work with this, but I think that Lua can't recognize the difference between nil and no as prerequisites, and you can only set a prerequisite to nil (not no). If you need to remove a tech from being able to be researched, you will have to use a "not used" tech, or change the tech group or something. Remember that you will also need an onScenarioLoaded function to set the prerequisites, since they are ephemeral.

    Here's my advice for this function.

    Don't mess about with changing technology prerequisites at all. Instead, use the same key for justOnce for all three events. That will mean that only one of the justOnce events will file (i.e. use "Turkey Aligned" in place of "The Soviets Align Turkey", "The US Align Turkey", "The EU Align Turkey"). As part of the event, give AlignTurkey to the other tribes. Then you don't have to worry about what they are researching or stopping them from researching a useless tech, and the only cost is 'carrying' the extra tech.

    It looks like you can't set tribe.researching to nil, but you might try bestowing the tech being researched, then taking it away (I would have tested this, but I just got called in to work, so I have to run).

    PS tribe.researching has some bug associated with it, which is briefly discussed here https://forums.civfanatics.com/threads/totpp-lua-function-reference.557527/#post-15638685
     
  19. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    Great idea - this key thing is going to come in handy. Thanks!
     
  20. JPetroski

    JPetroski Deity

    Joined:
    Jan 24, 2011
    Messages:
    2,967
    I'm sharing the Cuban Missile Crisis series of dialogue events below. I think that designers such as @techumseh may find this very useful for their own future projects as it allows a "choose your own adventure" style game. @McMonkey, @Grishnach and I were planning to do something similar in Macedon. This is tested and works, though -- for some reason -- it seems to change a tile (285,5) that is referenced *nowhere* in my events or object file to city terrain, which is odd (if anyone has a theory, please let me know).

    Anyway, this took a long time to write, but what it does is give two human players a choice in a sequence of events. Basically, if the Soviets have the technology for MRBM, are at peace with the USA, and all of Cuba is Pro-East, an event will fire that gives them a choice: either install missiles in Cuba, or don't.

    If they don't, Cuba reverts Pro-West.

    If they do, on the Americans turn, the US player gets a pop up box to respond to this. They either invoke the Monroe Doctrine, or back down.

    If they back down, a Soviet missile base along with 2x warheads and several infantry is established in Cuba.

    If the Americans invoke the Monroe Doctrine, the Soviets have a decision on their next turn. Either call the American's bluff, or back down.

    Calling the bluff establishes the missile base. Backing down gives the Soviets 300 gold and no missile base.

    I think this works well for a MP game and should add some real tension. Right now the event fires on any turn from 1 to 135 where the other conditions are met, but I may change this to the 1960s onward.

    A question I have for our coders is: is there any way that I can have the AI randomly select option 1 or 2 if this was used in a SP game? I would love to put these kind of events in the SP game, but the big hurdle is I'm not sure how to trigger the AI to choose one of the dialogue boxes. I'd like a 75% chance of the historic response unfolding. In SP, I would add an event to change the diplomacy state to war between the USA and USSR if the 25% ahistoric nuclear holocaust path is chosen.

    Note: these are all in the "afterProduction" sequence of events

    Code:
    --DIALOG EVENTS: An attempt at bringing bilateral choice to the MP game
    --THE CUBAN MISSILE CRISIS
    if turn >=1 and turn <=135 and civ.hasTech(object.tUSSR, civ.getTech(46)) and tribe == object.tUSSR and (object.cHavana.owner == object.tProEast and object.cSantiagoDeCuba.owner == object.tProEast) and diplomacy.peaceTreatyExists(object.tUSSR,object.tUSA) == true then 
        justOnce("The Cuban Missile Crisis Begins", function()
        dialog = civ.ui.createDialog()
            dialog.title = "The Cuban Missile Crisis"
            dialog.width = 300
            dialog:addText("Cuba has asked Soviet Premier ".. tostring(object.tUSSR.leader.name) .." to install nuclear missiles on the island to deter a future invasion by the United States.  If we agree, this will all but certainly evoke a strong response from the Americans.  What should we do?")
            dialog:addOption("Install the missiles!", 1)
            dialog:addOption("Refuse Castro.  We can't risk nuclear war with the Americans...", 2) 
            state.cubanMissileCrisisBegins = dialog:show()
           
        if state.cubanMissileCrisisBegins==1 then
                --A state will be set that will trigger American response on their turn after production.
                state.CubaMissileCrisisSovietsInstallMissiles = true 
                dialog = civ.ui.createDialog()
                dialog.title = "Agreement to Install the Missiles!"
                dialog.width = 300
                dialog:addText("Preparations are being made to install missiles in Cuba, but it is only a matter of time before the Americans discover our plot!")
                dialog:show()
               
       
        end
        if state.cubanMissileCrisisBegins==2 then
                --The event ends, because the Soviets didn't push the issue, but this has consequences later.  It will set a state where Cuba will revert Pro-West.
                state.CubaMissileCrisisSovietsRefusedCastro = true 
                dialog = civ.ui.createDialog()
                dialog.title = "Castro is refused!"
                dialog.width = 300
                dialog:addText("We have refused to install nuclear missiles on Cuba! Castro is furious, claiming that without our support, it is only a matter of time before he is overthrown!")
                dialog:show()
               
               
            end
       
        end)
    end
    --The Crisis Continues if the Soviets choose to install the missiles.
    if turn >=1 and turn <=135 and tribe == object.tUSA and (object.cHavana.owner == object.tProEast and object.cSantiagoDeCuba.owner == object.tProEast) and diplomacy.peaceTreatyExists(object.tUSSR,object.tUSA) == true and state.CubaMissileCrisisSovietsInstallMissiles == true then 
        justOnce("The Cuban Missile Crisis Heats Up", function()
        dialog = civ.ui.createDialog()
            dialog.title = "The Cuban Missile Crisis"
            dialog.width = 300
            dialog:addText("A U-2 spy plane has confirmed the existence of nuclear missile launch sites being prepared in Cuba! This can only mean that the Soviets intend to install nuclear warheads on the island! It is only 90 miles or so from Miami! How shall we respond to this outrage?")
            dialog:addOption("Invoke the Monroe Doctrine!", 1)
            dialog:addOption("Do nothing.  We can't risk nuclear war with the Soviets...", 2) 
            state.cubanMissileCrisisHeatsUp = dialog:show()
           
        if state.cubanMissileCrisisHeatsUp==1 then
                --A state will be set that will compel the Soviets to respond.
                state.CubaMissileCrisisAmericaInvokesMonroeDoctrine = true 
                dialog = civ.ui.createDialog()
                dialog.title = "The Monroe Doctrine!"
                dialog.width = 300
                dialog:addText("President ".. tostring(object.tUSA.leader.name) .." has responded to the Cuban Missile Crisis by invoking the 'Monroe Doctrine' and declaring that the Soviet installation of nuclear missile batteries is in direct violation of its guidelines! American warships prepare to intercept Soviet freighters carrying nuclear missiles as the world holds its breath!")
                dialog:show()
                civlua.createUnit(object.uDestroyer, object.tUSA, {{230,80,0},{230,84,0},{232,86,0},{231,85,0}}, {count=1, randomize=false, veteran=false})
                civlua.createUnit(object.uDestroyer, object.tUSA, {{231,85,0},{232,86,0},{230,84,0},{230,80,0}}, {count=1, randomize=false, veteran=false})
                civlua.createUnit(object.uFreighter, object.tUSSR, {{232,80,0},{232,82,0},{232,84,0}}, {count=1, randomize=false, veteran=false})
               
       
        end
       
        if state.cubanMissileCrisisHeatsUp==2 then
                --A Soviet Military Base is established in Cuba
                dialog = civ.ui.createDialog()
                dialog.title = "America Backs Down!"
                dialog.width = 300
                dialog:addText("Fearing a nuclear war, President ".. tostring(object.tUSA.leader.name) .." backs down! The Soviets install a new military base just 90 miles off the coast of Florida, arming it with nuclear missiles!")
                dialog:show()
                local newMissileBase = civ.createCity(object.tUSSR,object.lSovietMissileBase)
                newMissileBase.name = "Missile Base"
                object.lSovietMissileBase.terrainType = 15
                civlua.createUnit(object.uSovietInf, object.tUSSR, {{225,89,0}}, {count=6, randomize=false, veteran=true})
                civlua.createUnit(object.uMRBM, object.tUSSR, {{225,89,0}}, {count=2, randomize=false, veteran=false})
        end   
           
        end)
        end 
    --If the Monroe Doctrine is declared, the Soviets have one chance to avoid a war.  If they back off, nothing happens.  If they push forward, war is declared between the two powers and the base is established.
    if turn >=1 and turn <=135 and tribe == object.tUSSR and (object.cHavana.owner == object.tProEast and object.cSantiagoDeCuba.owner == object.tProEast) and diplomacy.peaceTreatyExists(object.tUSSR,object.tUSA) == true and state.CubaMissileCrisisAmericaInvokesMonroeDoctrine == true then 
        justOnce("Last Chance for Humanity", function()
        dialog = civ.ui.createDialog()
            dialog.title = "The Cuban Missile Crisis"
            dialog.width = 300
            dialog:addText("The Americans have invoked an archaic position known as 'The Monroe Doctrine,' claiming that our installation of missile batteries in Cuba would violate their sphere of influence in the western hemisphere.  Several American warships have been sighted heading towards our convoy carrying the missiles.  If we push forward, there is a serious risk of nuclear war.")
            dialog:addOption("Call the Americans bluff! Push forward!", 1)
            dialog:addOption("We can't risk a nuclear holocaust.  Back down.", 2) 
            state.cubanMissileCrisisLastChance = dialog:show()
        if state.cubanMissileCrisisLastChance==1 then
                --All hell breaks loose.  War declared between USSR and USA.  Military base established. 
                dialog = civ.ui.createDialog()
                dialog.title = "The world holds its breath!"
                dialog.width = 300
                dialog:addText("We have refused to back down to President ".. tostring(object.tUSA.leader.name) .."'s demand that we withdraw our missiles from Cuba! There is a very real possibility that this will spark a nuclear war! The world holds its breath!")
                dialog:show()
                local newMissileBase = civ.createCity(object.tUSSR,object.lSovietMissileBase)
                newMissileBase.name = "Missile Base"
                object.lSovietMissileBase.terrainType = 15
                civlua.createUnit(object.uSovietInf, object.tUSSR, {{225,89,0}}, {count=6, randomize=false, veteran=true})
                civlua.createUnit(object.uMRBM, object.tUSSR, {{225,89,0}}, {count=2, randomize=false, veteran=false})
               
       
        end
        if state.cubanMissileCrisisLastChance==2 then
                --Crisis averted.  Soviets get some minor backdoor concessions. 
                dialog = civ.ui.createDialog()
                dialog.title = "The world is spared!"
                dialog.width = 300
                dialog:addText("We have come to the brink of war with the Americans, but have managed to avert a disaster... For now.  We have agreed to remove our missile base from Cuba in exchange for some concessions from the Americans.")
                dialog:show()
                object.tUSSR.money = object.tUSSR.money + 300
       
        end
    end)
    end 
    --If the Soviets backed down at the very beginning (not the second time) then Cuba reverts to Pro-West
    if turn >=1 and turn <=135 and tribe == object.tUSA and state.CubaMissileCrisisSovietsRefusedCastro == true then 
        justOnce("Castro is Overthrown", function()
        dialog = civ.ui.createDialog()
            dialog.title = "Castro is Overthrown!"
            dialog.width = 300
            dialog:addText("The Soviets have refused to support Fidel Castro's grip on Cuba, calling him an unreliable upstart who risks dragging them into a nuclear war with the United States.  Without Soviet assistance, he is overthrown by Nationalist forces.")
            dialog:show()
            object.cHavana.owner = object.tProWest
            object.cSantiagoDeCuba.owner = object.tProWest
            civlua.createUnit(object.uLatinNat, object.tProWest, {{228,88,0}}, {count=5, randomize=false, veteran=true})
            civlua.createUnit(object.uLatinNat, object.tProWest, {{227,91,0}}, {count=5, randomize=false, veteran=true})
            civlua.createUnit(object.uMiG15, object.tProWest, {{228,88,0}}, {count=2, randomize=false, veteran=true})
            civlua.createUnit(object.uMiG15, object.tProWest, {{227,91,0}}, {count=2, randomize=false, veteran=true})
        end)
    end 
    
     

Share This Page