Resource icon

Maritime Battles+ for VP 38

Tekamthi

Emperor
Joined
Aug 12, 2016
Messages
1,743
Core features:
  • 'Trade Waters' naval movement within 3 plots of friendly lighthouse or along maritime trade routes: during non-combat turns, movement cost of these plots is halved (ie speed doubled); after combat, movement bonus is temporarily disabled (unit must spend at least one turn combat-free to restore movement bonus).
  • Storms: Ocean and Coast plots without any features, resources, or improvements generate storm clouds, limiting movement and visibility temporarily.
    Spoiler :
    1690645176495.png
  • Coastal Fortress building: requires metallurgy, 1 iron. Garrison can counterattack naval attackers
  • Magellan's Expedition WW: requires compass and at least one player to have circumnavigated, provides trade & exploration themed bonus.
  • Maritime Academy NW: requires navigation & 80% of ocean tiles discovered, provides 'Trade Water'-style movement bonus to naval units in all water tiles
  • Optional naval withdrawals & counterattacks (disabled by default): open MBPmain.lua and enable booleans at top of file to restore previous unit withdrawal & counterattack functionality
Will fill this out with more detail later; mod has been tested, just wanted to get the new version uploaded for now. version numbering corresponds to current VP release (ie VP 3.7 --> MB+ v37)

Old mod content, only partially current:
Spoiler :

Old OP content pertaining to V19 and previous moved to post #50. Note that v19 only works with older versions of VP.

Maritime Battles+ VP mod began shortly after the onset of VP's shoot-n-scoot naval era, aiming to solve its overpowered nature in human hands and accompanying movement cheese, while leaving the bulk of VP intact. With naval shoot-n-scoot now only a footnote in VP's history, the original purpose for modding seems mostly resolved... but combat at sea remains tactically and strategically flat in comparison to combat elsewhere.

Enter MB+ v20.

Some of you may recall that the old versions of MB+ perhaps most prominently focused on naval movement mechanisms, mitigating occurrence of stacked naval promo movement or its effects when it did happen, reducing naval movement during combat turns, averting single-turn focused-fire damage on a single naval target, etc. In this movement focus, MB+ made liberal use of the existing civ/VP retreat-forcing promos ie heavy charge and withering fire (aka heavy charge and morale break in promo table entries) -- the assumption here was that the AI should be fine with existing mechanisms that simply appeared more often, and generally this seemed to hold up in testing, though the result was maybe somewhat chaotic.

Re-use and re-purposing of existing civ/VP movement mechanisms to bring interest to the naval game remains the prime focus of MB+ moving forward, though many of the old features of V19 and previous have been gutted or rebuilt from scratch: as much as possible, MB+ makes creative use of existing VP features (ie non-lua) and accomplishes a lot in this regard, though the forced retreat is now handled much more predictably and intelligently in lua, and other significant functions are handled in lua as well. Extras that were maybe fun but off-target to MB+ core purpose have been removed (though some may be reintroduced in later iterations). Secondary priorities of bringing more interest to exploration, and aligning existing features with loose historical themes and roles have been developed further.

Compatibility-wise, I've attempted to keep in mind how other popular VP mods function, and have designed around these where I could. In my admittedly limited playtime, I have been playing v20 with more unique components, ENW, EE, and maybe a dozen smaller mods without issue. Can't guarantee universal compatibility, or that my code is 100% bug-free, but it does work solidly in my own testing. I strongly recommend using Hex Conquer 'n release mod in conjunction with MB+, as many of this mod's features have been designed with it in mind, though it is no longer a requirement.

After months/years and a pandemic of slow tinkering in modbuddy between turns as I played, as well as much learning, forgetting, then relearning civ's lua and sql quirks etc, I finally have a result that feels pretty solid and well integrated into VP, and that addresses the most critical (imo) naval concerns, and a little beyond...

Compatibility: MB+ v20 was updated for VP 2.0 compatibility -- currently testing for VP 3.0/congress compatibility. Pls use v20.1 of this mod with latest version of VP and report any issues here.

v20+ Features:

Spoiler :


Naval Movement
  • Any sea tiles within workable range of a city with lighthouse are 'Trade Waters' and provide double movement to naval and embarked units.
  • 'Trade Waters' double movement bonus is available from rival lighthouse cities if OB agreement exists
  • Sea trade route tiles provide 'Trade Waters' double movement bonus to the owning civ (territory access rules still apply)
  • 'Trade Waters' promotion that enables double movement is removed if unit enters combat, and only re-added a short duration after unit has been combat-free
  • After combat, naval units receive temporary 'Hot Pursuit' promotion in lieu of 'Trade Waters' double movement, allowing them instead to enter rival territory
  • naval units damaged below 50hp receive -1 movement malus, and must heal over 50 to restore full movement
  • All units with the 'cannot enter ocean' promotion (eg trireme, dromon, galleass) can enter rival territory
Naval Combat
  • Naval Ranged vs Naval Ranged: surviving defender will counter-attack if in range and above 50 hp, or withdraw to an adjacent tile that puts it further away from its attacker (if available) when below 50 hp or out of range
  • Naval Ranged attacking Naval non-ranged: surviving defender will withdraw to an adjacent tile that puts it further away from its attacker (if available)
  • Naval Melee attacking other naval: if below 50 hp, surviving defender will withdraw to an adjacent tile that puts it further away from its attacker (if available)
  • Submarines will always attempt to withdraw to an adjacent tile that puts it further away from its attacker when attacked, but will never trigger another naval unit to withdraw
  • Carriers will withdraw under similar conditions as a naval melee, but will never trigger another naval unit to withdraw
  • Units stacked under defenders will attempt to withdraw along with the defender
  • Embarked defenders (except recon) will never withdraw on their own. Embarked recon units will attempt to withdraw from melee/ranged naval attacks.
Coastal Combat
Land-based defenders
  • Naval attacker vs fortified archer/gun ranged: surviving defender will counter-attack if in range and above 50 hp, or withdraw to an adjacent tile that puts it further away from its attacker (if available) when below 50 hp
  • Naval attacker vs fortified non-ranged: if below 50 hp, surviving defender will withdraw to an adjacent tile that puts it further away from its attacker (if available)
  • Naval attacker vs siege: surviving defender will counter-attack if in range, or will withdraw if both out of range and under 50 hp
  • Naval attacker vs other non-fortified non-emarked land units: surviving defender will withdraw to an adjacent tile that puts it further away from its attacker
Forts and citadels
  • Land-based defenders will never withdraw from a fort, citadel, or city
  • Land-based units fortified in fort tile additionally do 10 aoe damage per turn to adjacent enemies, and gain +5 healing per turn
  • Land-based units fortified in fort tile additionally gain +1 vision, and gain +5 healing per turn
Sea-based defenders
  • Land-based units attacking naval units: surviving defender will withdraw to an adjacent tile that puts it further away from its attacker (if available)
Unit Withdrawal Details
  • When triggered on land, units attempting to withdraw will pick randomly from immediately adjacent, accessible tiles that put it further from its attacker. If any are available, it will prioritize tiles with roads, citadels, forts, and trade routes, in that order.
  • When triggered at sea, units attempting to withdraw will pick randomly from immediately adjacent, accessible tiles that put it further from its attacker. If any are available, it will prioritize tiles with trade routes.
  • Non-combat units stacked under defenders will attempt to withdraw too
  • Existing unit withdraw and retreat functions in civ/VP should suppress any of those from MB+
  • air units never trigger withdraw
Recon Changes
  • ignore terrain cost promotion removed from all recon
  • river crossing promotion added to all recon, except those that already get amphibious
Mounted/Armor/Siege Movement Changes
  • Mounted/Armor/Siege moving into forest, jungle, marsh, or oasis (or ice if this is allowed) expend 1 extra movement point (note: per turn, a 4 movement mounted unit now moves 2 flat forest tiles expending 3 then 1 points vs moving 2 forest tiles expending 2 then 2 points.. most significantly reigns in some iroquois ua cheese).
  • Mounted/armor/siege can use enemy roads
  • If under 50 hp, a mounted/armor melee unit defending from land-based attack will attempt to withdraw to an adjacent tile that puts it further away from its attacker
  • a mounted/armor ranged unit defending from land-based attack will attempt to withdraw to an adjacent tile that puts it further away from its attacker
  • Mounted, armor, and siege units cannot withdraw into forest, jungle, marsh, oasis, ice, or snow unless there is a road
Buildings
  • great lighthouse naval movement bonus is now loosely spread across 3 eras via different wonders: the great lighthouse, magellan's expedition, and treasure fleet
  • all wonder-based naval movement promotions are initially movement-only; after combat, they are temporarily replaced by the vision component, without movement, and most leave combat briefly to have the movement promotion restored
Wonder: Great Lighthouse (adjusted)
  • obsolete at compass
  • in addition to previous benefits, +5% sea trade route range, +3 city defense, and enables 'Trade Waters' double movement bonus in working sea range of all friendly cities, local lighthouse or not
Wonder: Magellan's Expedition (new)
  • available at compass
  • obsolete at steam power
  • requires harbor in city
  • to build, also requires at least one player to have discovered that the world is round (ie revealed at least 1 tile in every column across the map)
  • first civ to discovers that the world is round receives an upgraded recon unit in capital
  • Magellan's expedition gives naval promotion equivalent to great lighthouse to all naval melee/ranged units, +1 culture, +1 merchant point, +1 source of spice resource.
  • Upon completion, owning civ reveals on map all undiscovered coastal cities with harbor as well as adjacent water tiles
Wonder: Treasure Fleet (adjusted)
  • promotion loses attack combat strength bonus
  • promotion regains +1 naval movement
  • promotion gains +1 golden age point on kill
National Wonder: Maritime Academy (new)
  • available at navigation
  • requires civ to have revealed 80% or more of the map's water tiles
  • +15xp to naval units trained in city
  • +3 science in city
  • gives all naval units 'Maritime Training' promotion
  • 'Maritime Training' promotion gives double movement in all water tiles during non-combat turns, and +1 vision temporarily after combat
  • disables Trade Waters for owning civ (TW becomes redundant with MT promo; MT is lighter on lua for late-game)
Building: Coastal Fortress (new)
  • available at metallurgy
  • cost 4 gold maintenance
  • +2 city defense
  • enables city with fortified garrison and 50% or more health to counterattack against naval ranged attacks
Building: Lighthouse (adjusted)
  • can be built 1-tile inland from sea

 
Last edited:
Two questions for the community, in particular directed at anyone that's interested in the general objective I've outlined above:

1) Has anyone encountered a civ 5 mod, or component of one, that adds a movement penalty to damaged units? This is an oft-requested feature from past civ games amongst my group here.

2) Various posts in my threads and others have suggested adding more naval units, possibly another upgrade line. I tend to agree that there is at least some historical basis to have another line of units here; whether it'll work in VP remains to be seen. Anyway, if anyone has any ideas, please share. I have some ideas of my own, but entirely speculative at this point. EE mod's carrack --> galleon --> SoTL seems like it could make sense as the end of a new line, maybe... anyway looking for help brainstorming at this point. Please keep in mind that drastically different unit types are not possible with existing AI and VP structure; so ideas rooted in existing unit abilities and promos are preferred.
 
Going to try this! Enginseer's community balance patch compability modpack includes a naval academy NW. Has the same bonus as the navigation school NW here. May want to make that optional without removing the entire friendly waters part, because I wanted to try that part out as well.
 
oops thanks for catching that... i have some changes pending, will add that to the list. Ultimately I'd like to make my mod somewhat minimalist, so that it works with w/e else ppl like to add.

I'll be covering a few to-dos on thtis proj through the wknd, maybe add some proper art for the few units/buildings, fix my early units (the ancient-era ships I added are slightly glitched: you can't change production once you've started one, until its done.. probably just a DB error)
 
1) Has anyone encountered a civ 5 mod, or component of one, that adds a movement penalty to damaged units? This is an oft-requested feature from past civ games amongst my group here.

In the 3UC/4UC : Project Coordination Thread, adan_eslavo created a promotion called "Maim" for the Ethiopian Shotelai : this promotion gives a movement penalty to units damaged by the Shotelai (but the penalty cannot stack in the current version). Contact adan_eslavo if this is of interest to you.

Good luck in your project ! :)
 
Instead of having the great lighthouse obsolete, why not give it a bonus to fog of war decay? The person who owns the wonder will always be 1 tech level ahead of other civs for how fast the fog grows back. That feels more in line with a lighthouse

The 4UC project also adds the pentekonter unit as the classical era ranged naval unit, and gives Byzantium the dromon back as a unique replacement. It’s more or less a graphical update. No balance changes to the unit

I really like the retreat on attack/beachhead mechanic, but I’m not a big fan of the naval billiards this does with sea-sea battles. What if a unit is trying to heal and it gets knocked out of its own territory by a unit attack? You can disable healing by forcing them to have to move back into their territory over and over
 
Last edited:
Instead of having the great lighthouse obsolete, why not give it a bonus to fog of war decay? The person who owns the wonder will always be 1 tech level ahead of other civs for how fast the fog grows back. That feels more in line with a lighthouse

Love this idea.. it will take a little .lua work, but should be doable. If I understand correctly, you're saying the movement promo to new units still ends, but GL helps with fog on ongoing basis? or are we thinking of keeping movement bonus altogether?

The 4UC project also adds the pentekonter unit as the classical era ranged naval unit, and gives Byzantium the dromon back as a unique replacement. It’s more or less a graphical update. No balance changes to the unit

Thanks! I'll add a reference to this on my next pass.

I really like the retreat on attack/beachhead mechanic, but I’m not a big fan of the naval billiards this does with sea-sea battles. What if a unit is trying to heal and it gets knocked out of its own territory by a unit attack? You can disable healing by forcing them to have to move back into their territory over and over

I agree, my initial hope was to implement this part only as a coastal bombardment thing (and possibly vice versa, to mitigate the ranged-horse coastal defense strategy a little, which just feels odd historically). But the way it currently exists, it can't be applied easily that way, at least as far as I've worked out. My hope in the mid-term is to add a "defensive" promo of some kind, that would reduce retreat %... my thought here would be to have it engaged when naval units are adjacent to one another, to encourage a "line" formation, or other unit groupings, rather than scattering units in the least-reachable spots away from enemy units, as seems to be the current preferred tactic. *If* I can work out how to do this (ie if it can be done in .lua...), I'd hope to add this effect to units that stay stationary in a turn, too.. ie "anchored", naval version of "fortify". Reality is though I think this may be .dll-only. In which case we'll need another workaround to mitigate the ocean billiard effect.
 
There should be a way to have effects only play on specific combatTypes on attack in .lua. If you can figure how to do that, then you could have the knockback only proc on land units.

I was suggesting removing the +movement from G lighthouse entirely, and replacing it with a suitable decrease in vision decay. Could also give +1 vision to boats, but no move
 
There should be a way to have effects only play on specific combatTypes on attack in .lua. If you can figure how to do that, then you could have the knockback only proc on land units.

Thanks; I'll try to find where this happens.. as it is the db has entries for simpler mods, but not necessarily the retreat mechanism.

I was suggesting removing the +movement from G lighthouse entirely, and replacing it with a suitable decrease in vision decay. Could also give +1 vision to boats, but no move

Gotcha -- I'm not against this, though I think some might find this too drastic a change to GL. GL +1 move in early game is a civ staple, i think. But then again change is good. Will reflect on this more....

One of the subtle, probably human-only strategies w/ GL as-is, here, that I didn't mention in OP... obsolete at dynamite encourages a very niche research path that was previously probably pointless... you can get to subs w/o taking dynamite, if you really want to max out your GL promo'd navy... is this a worthwhile option though? Admittedly no one in my playtest has gone that route. civ 1-4 obsoletes GL promo earlier than here...
 
It would just seem like a shame to add a mechanic and then not add a policy/wonder/UA to modify it. There’s already a Congress wonder (Grande canal), national wonder (Arsenale di Venezia), policy (imperialism), and UA (England) that act on naval movement, and frankly combining them can lead to some serious cheese. You would be doing a community service by finding a different bonus for GL

An alternative for The beachhead mechanic is do something on the land unit side. Could give all land units a % chance to withdraw on naval ranged attack. That way, you can check only 1 domain, or only 1 unitCombatType if that is easier, instead of having to check multiple. Don’t have to check for domain land and floating that way
 
Last edited:
i totally agree... the GL mod became an obvious concession needed in a game with a very naval-skilled human england. AI navy has pretty much zero chance to ever sink an english ship w/ GL, even w/ their super-frigates at 1-range (i don't think latest VP change will make a difference in this scenario, really... here you cant get +range til battleship at least.. i will likely add back default 2-range to cruiser and battleship though, unless I hear strongly otherwise).

combined w/ earlier and cheaper "minefield" naval penalty though, things seem to be looking a little better on movement cheese, no? still there though definitely.. thoughts on treasure fleet bonus? same prob i think.. or does it fit late-game somehow?

I'm thinking that with the "friendly waters" move bonus and navigation school effect (which i may remove and leave up to the other mod mentioned.. is it same bonus there?), we could also consider -1 movement to all existing naval, possibly w/ some exceptions. either that or I might change friendly waters to a near-lighthouse only effect, for a little more variety
 
Last edited:
i had forgotten about Grande canal. Even more reason to drop from GL because that’s 2 world wonders with the same effect.

I honestly haven’t tried the new patch, I’ve been on the road for the past 2 days and have had no chance to test it. The fact that artillery now outramges battleships by 2 is just plain old distasteful to me though.

Edit: I see you also reverted great Galleass, turtle ship and galley. For full disclosure I will list all the naval UUs made/restored to civs in the 4UC modmod:
America - monitor (ironclad) - high :c5strength:, boosts dmg of adjacent city
China - xiafan guanjun (frigate) - high :c5strength:, influence when inside CS territory
Byzantium - dromon (classical era nav. rng. Unit not pentekonter) - 10 dmg on target unit on next turn
Denmark - longship (caravel) - move after attack
Korea - turtle ship (caravel) - high :c5strength:, 1/2 speed in deep ocean
Indonesia - prau (trireme) - +1 vision, +2 move
Morocco - Corsair (corvette) - bonuses on pillage/plunder/kills
Spain - Armada (corvette) - less move, ultra high :c5strength:
Venice - great galleass (galleass) - high :c5strength: galleass
Venice - fusta (unique naval rng unit, same tech level as galleass) - weak :c5strength: galleass, no maintenance
Japan - Yamato Class (battleship) - 3 range
 
Last edited:
the design idea i've implemented here, so far, is that GL is the early-game version of grande canal.. generally these effects won't stack w/ this mod, due to GL obsoletion at dynamite (though vet units retain GL promo til killed)... so in effect I've taken one +movement wonder out of the late-game, where other bonuses especially start to stack the cheese very high. leaving it in on GL provides a good reason to vote against TF too if its proposed early.. ultimately I'd consider further changes to either of these, though I'm quite certain that naval-focused players will complain if we take all their movement lol... def will try to implement the fog suggestion

the battleship range = to dromon range is the bitterest part of latest VP, to my tastes.. but i agree that the range disparity is just too AI-game-balance focused overall. ultimately, by removing the range promo from most naval ranged units here, this mod and main VP are after the same thing... here all pre-cruiser units will be 1-range, whereas main VP will have some variety w/ mostly 1's and some 2's... similarly, here all cruisers are 2 range while main VP will have mix of 1/2. In particular, I like the 2/3 range battleship mix here though, better than 1/2 in main VP (fyi I have yet to make these changes, speaking from previous VP state and this mod). I'd rather find a way to limit movement than range any further, while not making travel long and boring
 
Last edited:
i had forgotten about Grande canal. Even more reason to drop from GL because that’s 2 world wonders with the same effect.

I honestly haven’t tried the new patch, I’ve been on the road for the past 2 days and have had no chance to test it. The fact that artillery now outramges battleships by 2 is just plain old distasteful to me though.

Edit: I see you also reverted great Galleass, turtle ship and galley. For full disclosure I will list all the naval UUs made/restored to civs in the 4UC modmod:
America - monitor (ironclad) - high :c5strength:, boosts dmg of adjacent city
China - xiafan guanjun (frigate) - high :c5strength:, influence when inside CS territory
Byzantium - dromon (classical era nav. rng. Unit not pentekonter) - 10 dmg on target unit on next turn
Denmark - longship (caravel) - move after attack
Korea - turtle ship (caravel) - high :c5strength:, 1/2 speed in deep ocean
Indonesia - prau (trireme) - +1 vision, +2 move
Morocco - Corsair (corvette) - bonuses on pillage/plunder/kills
Spain - Armada (corvette) - less move, ultra high :c5strength:
Venice - great galleass (galleass) - high :c5strength: galleass
Venice - fusta (unique naval rng unit, same tech level as galleass) - weak :c5strength: galleass, no maintenance
Japan - Yamato Class (battleship) - 3 range

this is great.. my unit changes made sense in the mid-game style that they originated from, but ultimately these and others are way better. I think since *most* of my changes are focused on existing promos in current version, these should all be fine, though i'll keep them in mind next time i have modbuddy open
 
An alternative for The beachhead mechanic is do something on the land unit side. Could give all land units a % chance to withdraw on naval ranged attack. That way, you can check only 1 domain, or only 1 unitCombatType if that is easier, instead of having to check multiple. Don’t have to check for domain land and floating that way

I like this idea too.. missed it yesterday. Here's the problem, and my full defence for implementing retreats as they appear so far: the existing retreat options available in VP are rather simplistic, and I have no idea where their lua is, if thats what they fire from (I suspect dll... maybe someone can clarify this for us).
  1. retreat can be activated as a binary "heavy charge" effect.. attacking melee unit forces retreat every time it inflicts more dmg than received. the only option in existing tables here is either on or off
  2. any unit can have a % withdraw chance to withdraw before a melee attack (not ranged). this seems to be modified by defending movement vs attacking in some hidden way (ie faaster attacker will -% of base before melee withdraw). this is the only "defensive" retreat. can only assign the base % here in existing tables.
  3. any ranged attack can have % chance to force retreat.. similar to #2 you can only assign base % chance in existing tables.. i don't think there are movement mods tho, just the straight % on this one
There are no other tables that apply mods etc to this stuff (afaik). ie there isn't an *existing* withdraw from ranged ability that triggers off the defender, and w/ "no new code" in main VP now, we shouldn't expect it to be added externally. If I had an existing lua example to implement retreat, I could consider other options, but as-is I just don't know where or if this exists
 
Last edited:
i actually went hunting for this a little further.. it does appear to be .dll. that said i think it might be possible to do retreats in lua using Unit.SetXY and GameEvent.CombatResult or CombatEnded (??) I speculate only, however.. call me lazy but i'd rather play billiards than write and debug lua from scratch.. if anyone else out there is feeling ambitious and wants to write a (working) custom lua retreat object, I will try to work it in
 
Going to try this! Enginseer's community balance patch compability modpack includes a naval academy NW. Has the same bonus as the navigation school NW here. May want to make that optional without removing the entire friendly waters part, because I wanted to try that part out as well.

The bit I've borrowed for NS NW is done in .lua, so it'll take me a bit to get to this. It might be as simple as deleting those sections, however; they are in the "friendly waters" folder of this mod somewhere in case this is considered urgent by anyone...

Thx and wow
Looks nice. An other one to try...
I'm wondering if the "Battleship is only naval ranged unit type that can access +range promotion." feature, can lead to a conflict with Enhanced Naval Warfare for Vox Populi

i *think* at worst they won't be able to add +range.. I added a conditional tag for ENW when i last checked on jan 2.. at that point there was only one ship that came after battleship, so it should be provided for as long as there havent been major changes since then. MB+ has a mod reference to ENW and EE, but I havent reviewed the most recent changes to those mods, and my tags thus far are not very adaptive at all (ie direct unit refs). for best results, load this after those, just in case. modbuddy can be a real c***, i'm learning....

range shouldn't fall off any unit that gets it as battleship though... to be honest I haven't tested late-game to great degree, I've mostly loaded this mod with wooden ships so far, so I'd be interested to hear feedback where things are working etc..

anyway I'm updating the OP to v15... description up top too
 
Last edited:
added a v16 to OP:

developed the naval combat temp-movement-penalties described previously a little further. Added text in-game to hopefully help anyone make sense of these. timing is now more consistent than in v15 (now just 1 turn after combat every time).

Objective is to make most naval combat take place at near-base movement. Very experimental at this stage, but its working. In brief, naval movement works like it has for a long time, but a lot of the extra movement (ie GL and TF) is removed at combat, to be restored only after one full turn combat-free. See the feature spoiler, for longer description.

Jan 11 edit: checking new text in-game made me realize how many pedia reference tags were messed up. Cleaned these up an re-uploaded. No other changes, same v16 functionality otherwise.
 
Last edited:
Top Bottom