Merging BTS Modcomps

Which brings us to your first point. I could definitely see limiting it to 1 xp per kill and 1 xp per interception - on both sides. "1 xp per kill and 1 xp per Destroyer" is more or less how it works now, modulo strange cases like Battleships and Starbases. In particular, it seems really bad to give XP for destroying warp lanes, as happens by default.

I'd be content to leave out gaining XP for destroying trade routes/jump Gates/lanes. Within the B5 universe destroying Jump Gates/Lanes wasn't the most sensible thing to do and trade routes aren't really physical things in space unless you count merchant ships as what the trade route represents. However, for destroying improvements/units or reducing the defences of planets I'd be happy for the fighters/bombers to gain XP.
 
mechaerik's War Prizes would be good.
NOTE: A version for BUG 4.4 is here

Allowing you to capture spaceships after a successful combat. I may consider adding the code in myself, and if I do I'll post an example of the modified code.
 
It should not be too hard. I added it in my mod as well.
 
I used version for BUG 4.4 is here.

The modified code is as follows;
Spoiler :
Code:
##Basic War Prizes 1.1 by modifiedA4
##Basic War Prizes 1.11 by KiwiTT for Final Frontier Plus 1.8

from CvPythonExtensions import *
import CvUtil
import PyHelpers
import CvAdvisorUtils
import CvTechChooser
import BugCore
import BugUtil
import CvEventInterface

gc = CyGlobalContext()
localText = CyTranslator()
PyPlayer = PyHelpers.PyPlayer
PyInfo = PyHelpers.PyInfo
PyCity = PyHelpers.PyCity
PyGame = PyHelpers.PyGame

class BasicWarPrizesEvent:

	def __init__(self, eventMgr):
		self.eventMgr = eventMgr
        	eventMgr.addEventHandler("combatResult", self.onCombatResult)
			

	def onCombatResult(self, argsList):
		'Combat Result'
		pWinner,pLoser = argsList
		playerX = PyPlayer(pWinner.getOwner())
		unitX = PyInfo.UnitInfo(pWinner.getUnitType())
		playerY = PyPlayer(pLoser.getOwner())
		unitY = PyInfo.UnitInfo(pLoser.getUnitType())
		iBBonus=25 # 25% chance of capture
## mechaerik/modifieda4/KiwiTT War Prize ModComp START##
		pPlayer = gc.getPlayer(pWinner.getOwner())
		pPlayerLoser = gc.getPlayer(pLoser.getOwner())		
		if (unitX.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_CAPITAL_SHIP")) or (unitX.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_STARBASE")):
			if (unitY.getUnitCombatType() == gc.getInfoTypeForString("UNITCOMBAT_LIGHT_SHIP")):
				if not (unitX.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_I") or unitX.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_II") or unitX.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_III")):
					if not (unitY.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_I") or unitY.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_II") or unitY.getUnitClassType() == gc.getInfoTypeForString("UNITCLASS_SCOUT_III")):
						if playerX.isBarbarian():
							iBBonus=10 # barbarian bonus 10%
						if CyGame().getSorenRandNum(100, "modifieda4") <= iBBonus:
							iUnit = pLoser.getUnitType()
							newUnit = pPlayer.initUnit(pLoser.getUnitType(), pWinner.getX(), pWinner.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.NO_DIRECTION)
							newUnit.finishMoves()
							newUnit.setDamage(90, pWinner.getOwner())
							if (pPlayer.isHuman()):
								CyInterface().addMessage(pWinner.getOwner(),false,20,CyTranslator().getText("TXT_KEY_MISC_WARPRIZES_SUCCESS",(pLoser.getName(),)),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_BLUE")), pWinner.getX(), pWinner.getY(), True,True)
							elif (pPlayerLoser.isHuman()):
								CyInterface().addMessage(pLoser.getOwner(),false,20,CyTranslator().getText("TXT_KEY_MISC_WARPRIZES_FAILURE",(pLoser.getName(),)),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), pLoser.getX(), pLoser.getY(), True,True)  
		## War Prize Modcomp END##
Essentially I modified the code so that only Starbases and Capital Ships can capture Light Ships, implying that the larger ships have tractor beams. 25% for players and 10% for pirates, plus the captured unit only has 10% strength left.

POST number 3,000 !!!!
 
I have considered adding ship capture on some victories. Currently you do capture a sensor station (and construction ships, and colony ships are captured as construction ships) if you attack it (although the Pirates don't, same as barbarians and workers/settlers in BtS since it uses the same XML tag in the unit info) - I think it has been that way since TC01 first added them.

The problem is that this can result in a somewhat overwhelming buildup. If I attack you and win more often that I lose (or just get lucky with the capture randomness) I just get stronger and stronger compared to you, reducing your chances of resisting even more than usual. Not only do I get your star system, I get some of your ships too.

In the regular version of this modcomp it is only valid for a subset of units, the naval units. The types of units affected are somewhat restricted in the things they can do. None of them can directly capture, or defend, a city. Controlling the oceans is very valuable on some maps but it does not generally lead directly to a military victory. The units you capture in FFP would, however, be directly usable to attack or defend star systems just like any other unit.

So I'm not sure if this is a good idea. Maybe if the odds are very low (5% or less), making it more of an occasional surprise bonus than something you can count on happening on a regular basis. I'd also be tempted to allow the Pirates to use it, perhaps at about half the chance. If adding it at all.

Another possibility: a game option you can use to activate it.

As for the Super Forts, I don't think there is anything in there for us.
 
OK. I have modified the code above so that you have a 25% chance to capture a light ship if you win the combat with your capital ship or starbase. The pirates have a 10% chance.

Also changed the damage to 90 hitpoints. This means you will have to heal the unit before it is effective.

I will now play test and see how this goes.
 
Maybe if the odds are very low (5% or less), making it more of an occasional surprise bonus than something you can count on happening on a regular basis. I'd also be tempted to allow the Pirates to use it, perhaps at about half the chance.
That would be what I would aim for, capturing ships was not something commonly done in Babylon 5. However, capturing a Starbase was something that was attempted on at least two instances on the TV show. So I would raise the chance for the capturing of a Starbase to maybe 15 or 20% but keep the chances for capturing ships down at around 5%, 2 % for pirates/barbs.
 
For me Starbases are less likely to be captured as I consider them like in Star Wars and Star Trek (e.g. Deep Space 9).

However, feel free to modify the variables as you see fit, in the code. I am currently playtesting; Capture 25% (Barbarians 10%), Damage 90 hit points.

I also think limiting it to Capital Ships and Starbases should limit the impact on the overall game as well.
 
Top Bottom