Hey all,
New beta inbound. One of the bugfixes I made broke save games (boo), so I decided to go ahead and bundle in my airplane changes. I've been sitting on these for a bit, but - since people have been talking about planes (and we've been heavily focused on late-game balance as of late) - I felt it was time to add it in. It isn't too drastic. Here's the notes:
Online as of 10:50pm EST. Link: https://mega.nz/#!SJ8F1BzB!Q_e2mPT5gZWVC5m_mTYYkHPLCjgQno-Cy-vkjtrzDxI
Cheers,
Gazebo
New beta inbound. One of the bugfixes I made broke save games (boo), so I decided to go ahead and bundle in my airplane changes. I've been sitting on these for a bit, but - since people have been talking about planes (and we've been heavily focused on late-game balance as of late) - I felt it was time to add it in. It isn't too drastic. Here's the notes:
Bugfixes
- Fixed some more bugs reported on github
New
Airplanes!
- Reworked how unit defense against airplanes works:
- Problem: was a flat number (10) w/ randomizer (8 + 5r) for all units.
- Muskets shouldn't be as good as bazookas at taking out airplanes
- Using actual combat defense clunky - airplanes are either way too high RCS, or weird promotions have to come into play.
- Solution:
- Most post-renaissance units have a new value - Air Strike Defense
- This number, added to a small 5r random number, defines the amount of damage a plane will receive when air striking against something.
- Also added a new promotion line available to all units except armor, sub, and melee units. Promotion available when you've researched Flight.
- Air Defense I-III
- Each level adds +5 to the number below.
- What this will do:
- Airplanes now have specific units they are very good at taking out (armor, subs, pre-industrial, and + rifle/gun units)
- Certain units are very hard for airplanes to deal with, but aren't necessarily super-high RCS/CS
- Airplanes can generally go longer in-between heals, extending their efficacy without changing their RCS/CS values
- Numbers (spoiler)
Spoiler :-- Industrial
-- Melee
UPDATE Units SET BaseLandAirDefense = '4' WHERE Type = 'UNIT_RIFLEMAN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '4' WHERE Type = 'UNIT_ETHIOPIAN_MEHAL_SEFARI' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_ZEPPELIN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_GATLINGGUN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_CAVALRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_BERBER_CAVALRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_AUSTRIAN_HUSSAR' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_SHOSHONE_COMANCHE_RIDERS' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '2' WHERE Type = 'UNIT_RUSSIAN_COSSACK' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '1' WHERE Type = 'UNIT_FIELD_GUN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Modern
-- Melee
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_FRENCH_FOREIGNLEGION' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '20' WHERE Type = 'UNIT_ANTI_AIRCRAFT_GUN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_GREAT_WAR_INFANTRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_PARATROOPER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_BRAZILIAN_PRACINHA' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '3' WHERE Type = 'UNIT_WWI_TANK' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '3' WHERE Type = 'UNIT_GERMAN_PANZER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_MACHINE_GUN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '3' WHERE Type = 'UNIT_ARTILLERY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Atomic
-- Melee
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_DANISH_SKI_INFANTRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_GUERILLA' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '8' WHERE Type = 'UNIT_INFANTRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '3' WHERE Type = 'UNIT_TANK' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '15' WHERE Type = 'UNIT_BAZOOKA' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_ANTI_TANK_GUN' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Information
-- Melee
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_MARINE' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '40' WHERE Type = 'UNIT_MOBILE_SAM' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '15' WHERE Type = 'UNIT_MECHANIZED_INFANTRY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '25' WHERE Type = 'UNIT_XCOM_SQUAD' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_MODERN_ARMOR' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '30' WHERE Type = 'UNIT_MECH' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '35' WHERE Type = 'UNIT_ROCKET_ARTILLERY' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_HELICOPTER_GUNSHIP' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- And now boats.
-- Industrial
-- Melee
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_IRONCLAD' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_CRUISER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Modern
-- Ranged
UPDATE Units SET BaseLandAirDefense = '5' WHERE Type = 'UNIT_SUBMARINE' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Atomic
-- Melee
UPDATE Units SET BaseLandAirDefense = '40' WHERE Type = 'UNIT_CARRIER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
UPDATE Units SET BaseLandAirDefense = '30' WHERE Type = 'UNIT_DESTROYER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '25' WHERE Type = 'UNIT_BATTLESHIP' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Information
-- Melee
UPDATE Units SET BaseLandAirDefense = '35' WHERE Type = 'UNIT_MISSILE_CRUISER' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
-- Ranged
UPDATE Units SET BaseLandAirDefense = '10' WHERE Type = 'UNIT_NUCLEAR_SUBMARINE' AND EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_UNITS' AND Value= 1 );
Balance
- Internal Trade Route yields scale with % of techs known
- Council of Elders scaler now 3 (Was 5)
- Seaport back to 25% production
- Motherland Calls: removed Tourism penalty (duplicate of Great Firewall ability); no unrest/rebellion from spies in city, and your spies are much more likely to cause unrest and rebellion via advanced actions.
- NIA: gain 400 science and culture when your spies complete a coup, steal a great work or technology, and 100 if they complete an advanced action. - removed other advanced action stuff
- Bletchley: Spies much more likely to steal science or disrupt world wonders
- Police Stations: Block Gold theft in the City via advanced actions, gain 250 gold and culture when you a spy is killed in this city, scaling with era and spy level
- Constabularies (and Wats): Blocks building destruction from spy advanced actions, increases city defense by 5.
Online as of 10:50pm EST. Link: https://mega.nz/#!SJ8F1BzB!Q_e2mPT5gZWVC5m_mTYYkHPLCjgQno-Cy-vkjtrzDxI
Cheers,
Gazebo