PDA

View Full Version : Last ditch defense of starting Capital settlements



JMRC
06-20-2007, 11:20
Hi.

My goal with the following changes in EBBS_SCRIPT.TXT is to keep the factions alive, thus promoting diversity and fun in the game. Since the Capital settlement is normally the most developed in the faction, its loss can be a fatal blow to that faction.

So, I'm developing some code to create a large army (under certain conditions) near the capital settlement to help defend it against a potencial attacking army. If the defending army is successful, it can also help in the faction's recovery.

I've just made code to create armies to defend Rome (Romanii) and Nisa (Parthians):


;--------------------------------------------------
;Section 7m: Roma Defense
;--------------------------------------------------

declare_counter CreateRomanArmy
declare_counter RomanArmyExists

;-------------------------------------------------------------------
;Check if ready for another army to be created (2 years)

monitor_event FactionTurnStart FactionType seleucid
and not FactionIsLocal
if I_CompareCounter RomanArmyExists = 9
set_counter RomanArmyExists 0
end_if
if I_CompareCounter RomanArmyExists > 0
inc_counter RomanArmyExists 1
end_if
end_monitor

;====================================================================
;
; A faction other than Romani has moved an army adjacent to Rome:
; the Romani declares war and a large Roman army is created.
;
;====================================================================

;Epeiros threat
monitor_conditions I_CharacterTypeNearTile thrace named_character, 1 95,127 ; Family members and named generals
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid thrace war
end_monitor

monitor_conditions I_CharacterTypeNearTile thrace general, 1 95,127 ; Captains
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid thrace war
end_monitor

;Carthage threat
monitor_conditions I_CharacterTypeNearTile egypt named_character, 1 95,127 ; Family members and named generals
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid egypt war
end_monitor

monitor_conditions I_CharacterTypeNearTile egypt general, 1 95,127 ; Captains
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid egypt war
end_monitor

;Aedui threat
monitor_conditions I_CharacterTypeNearTile gauls named_character, 1 95,127 ; Family members and named generals
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid gauls war
end_monitor

monitor_conditions I_CharacterTypeNearTile gauls general, 1 95,127 ; Captains
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid gauls war
end_monitor

;Sweboz threat
monitor_conditions I_CharacterTypeNearTile germans named_character, 1 95,127 ; Family members and named generals
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid germans war
end_monitor

monitor_conditions I_CharacterTypeNearTile germans general, 1 95,127 ; Captains
and I_SettlementOwner Rome = seleucid
and not I_LocalFaction seleucid
and I_CompareCounter RomanArmyExists < 1
if I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_if
console_command diplomatic_stance seleucid germans war
end_monitor



;-------------------------------------------------------------------
; Create a Camillan Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 0
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesextraordinarii, exp 2 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher leves, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher leves, exp 1 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs CommandExperience 6
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -28170

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Polybian Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 1
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesextraordinarii, exp 2 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher velites, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher velites, exp 1 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs CommandExperience 6
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -34000

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Marian Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 2
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equiteshispanorum, exp 2 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesgallorum, exp 2 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry legionary first cohort i, exp 4 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry evocatae, exp 3 armour 0 weapon_lvl 0
unit roman infantry evocatae, exp 3 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs CommandExperience 6
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -40000

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Imperial Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 3
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry ala imperatoria, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia eqvitesthracum, exp 2 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesgermanorum, exp 2 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry legionary first cohort ii, exp 4 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman missile archer auxilia, exp 3 armour 0 weapon_lvl 0
unit roman missile archer auxilia, exp 3 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs CommandExperience 6
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -40000
console_command add_money seleucid, -7661

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor


;--------------------------------------------------
;Section 7n: Nisa Defense
;--------------------------------------------------

declare_counter CreateParthianArmy
declare_counter ParthianArmyExists

;-------------------------------------------------------------------
;Check if ready for another army to be created (2 years)

monitor_event FactionTurnStart FactionType parthia
and not FactionIsLocal
if I_CompareCounter ParthianArmyExists = 9
set_counter ParthianArmyExists 0
end_if
if I_CompareCounter PArthianArmyExists > 0
inc_counter ParthianArmyExists 1
end_if
end_monitor

;====================================================================
;
; A faction other than Parthian has moved an army adjacent to Nisa:
; the Parthian declares war and a large Parthian army is created.
;
;====================================================================

;Seleucid threat
monitor_conditions I_CharacterTypeNearTile romans_julii named_character, 1 291,157 ; Family members and named generals
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_julii war
end_monitor

monitor_conditions I_CharacterTypeNearTile romans_julii general, 1 291,157 ; Captains
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_julii war
end_monitor

;Saka Rauka threat
monitor_conditions I_CharacterTypeNearTile pontus named_character, 1 291,157 ; Family members and named generals
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia pontus war
end_monitor

monitor_conditions I_CharacterTypeNearTile pontus general, 1 291,157 ; Captains
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia pontus war
end_monitor

;Baktrian threat
monitor_conditions I_CharacterTypeNearTile romans_brutii named_character, 1 291,157 ; Family members and named generals
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_brutii war
end_monitor

monitor_conditions I_CharacterTypeNearTile romans_brutii general, 1 291,157 ; Captains
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_brutii war
end_monitor

;Hayasdan threat
monitor_conditions I_CharacterTypeNearTile romans_scipii named_character, 1 291,157 ; Family members and named generals
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_scipii war
end_monitor

monitor_conditions I_CharacterTypeNearTile romans_scipii general, 1 291,157 ; Captains
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia romans_scipii war
end_monitor

;Sauromatae threat
monitor_conditions I_CharacterTypeNearTile armenia named_character, 1 291,157 ; Family members and named generals
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia armenia war
end_monitor

monitor_conditions I_CharacterTypeNearTile armenia general, 1 291,157 ; Captains
and IsBesieging
and I_SettlementOwner Nisa = parthia
and not I_LocalFaction parthia
and I_CompareCounter ParthianArmyExists < 1
if I_CompareCounter CreateParthianArmy = 0
set_counter CreateParthianArmy 1
end_if
console_command diplomatic_stance parthia armenia war
end_monitor

;-------------------------------------------------------------------
; Create a Parthian Army

monitor_conditions I_CompareCounter CreateParthianArmy = 1
spawn_army
faction parthia
character Artaxerxes, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 284, y 161
unit steppe cavalry parthian general, exp 4 armour 0 weapon_lvl 0
unit steppe cavalry grivpanvar, exp 3 armour 0 weapon_lvl 0
unit steppe cavalry grivpanvar, exp 3 armour 0 weapon_lvl 0
unit eastern cavalry zradha pahlavans, exp 3 armour 0 weapon_lvl 0
unit eastern cavalry zradha pahlavans, exp 3 armour 0 weapon_lvl 0
unit eastern missile cavalry zradha shivatir, exp 3 armour 0 weapon_lvl 0
unit eastern missile cavalry zradha shivatir, exp 3 armour 0 weapon_lvl 0
unit steppe missile cavalry pahlava shivatir, exp 2 armour 0 weapon_lvl 0
unit steppe missile cavalry pahlava shivatir, exp 2 armour 0 weapon_lvl 0
unit eastern missile cavalry azad asavaran, exp 2 armour 0 weapon_lvl 0
unit eastern missile cavalry azad asavaran, exp 2 armour 0 weapon_lvl 0
unit eastern missile cavalry dehbed asavara, exp 2 armour 0 weapon_lvl 0
unit eastern missile cavalry dehbed asavara, exp 2 armour 0 weapon_lvl 0
unit eastern infantry babylonian heavy infantry, exp 2 armour 0 weapon_lvl 0
unit eastern infantry babylonian heavy infantry, exp 2 armour 0 weapon_lvl 0
unit eastern infantry babylonian heavy infantry, exp 2 armour 0 weapon_lvl 0
unit eastern infantry babylonian heavy infantry, exp 2 armour 0 weapon_lvl 0
unit steppe infantry voinu spearmen, exp 2 armour 0 weapon_lvl 0
unit steppe infantry voinu spearmen, exp 2 armour 0 weapon_lvl 0
unit steppe infantry voinu spearmen, exp 2 armour 0 weapon_lvl 0
end
console_command give_trait Artaxerxes Temperament 5
console_command give_trait Artaxerxes Selflessness 3
console_command give_trait Artaxerxes Loyalty 4
console_command give_trait Artaxerxes PahlavanDaha 1
console_command give_trait Artaxerxes Nomad 4
console_command give_trait Artaxerxes CommandExperience 5
console_command give_trait Artaxerxes GoodCavalryGeneral 6
console_command give_trait Artaxerxes TurnsAlive 6
console_command give_ancillary Artaxerxes aged_retainer_eastern
console_command give_ancillary Artaxerxes armourer_eastern
console_command give_ancillary Artaxerxes bodyguard_nomad
console_command give_ancillary Artaxerxes doctor_eastern
console_command give_ancillary Artaxerxes master_of_horse_eastern
console_command give_ancillary Artaxerxes mercenary_captain_eastern
console_command give_ancillary Artaxerxes drillmaster_eastern

console_command add_money parthia, -40000
console_command add_money parthia, -10000

set_counter CreateParthianArmy 0
set_counter ParthianArmyExists 1
end_monitor

Redmeth
06-20-2007, 12:18
Very nice, I was trying to do something along the lines of a massive money bonus when Rome or Carthage is down to the last 2 provinces a sort of last stand, screw debts we're melting everything to pay for troops thing.
This could be an interesting addition to EB.

JMRC
06-22-2007, 10:34
Very nice, I was trying to do something along the lines of a massive money bonus when Rome or Carthage is down to the last 2 provinces a sort of last stand, screw debts we're melting everything to pay for troops thing.
This could be an interesting addition to EB.

Hi. The money bonus won't come in time to save them, I reckon. So that's why I made them create the best army they can get at that time, while still paying for it.

BTW, there is a bug, which I will correct immediately: the add_money command only accepts values between -40000 and 40000, so I'll have to make a second add_money in the case of later armies.

LorDBulA
06-22-2007, 10:41
monitor_conditions I_CharacterTypeNearTile germans general, 1 95,127

You also have to change distance value. 1 is good if enemy comes directly from north,south,east or west. But if army attacked city from lets say North-East then it wont catch it. Change 1 to 2 to remedy this.

Edit: Also drop out war declaration:

console_command diplomatic_stance seleucid thrace war
What if I am the ally and come to realeave sige? This will couse war betwean me and my ally.
When You attack enemy city You go in to war automatically so I dont think this part of code is neccessary.

JMRC
06-22-2007, 12:11
monitor_conditions I_CharacterTypeNearTile germans general, 1 95,127

You also have to change radius. 1 is good if enemy comes directly from north,south,east or west. But if army attacked city from lets say North-East then it wont catch it. Change 1 to 2 to remedy this.

Thanks for the info. I'll do that.


Edit: Also drop out war declaration:

console_command diplomatic_stance seleucid thrace war
What if I am the ally and come to realeave sige? This will couse war betwean me and my ally.
When You attack enemy city You go in to war automatically so I dont think this part of code is neccessary.

Yes, this part of the code is not good. An ally can pass through and it means war. On the other hand, I don't want to create an army if an ally is passing through...

What do you think about the following changes? I haven't tested yet, but will do so later today.



monitor_event CharacterTurnEndInSettlement SettlementName Roma
and FactionType seleucid
and IsUnderSiege
and not I_LocalFaction seleucid
and I_SettlementOwner Rome = seleucid
and I_CharacterTypeNearTile thrace named_character, 2 95,127
and DiplomaticStanceFromFaction thrace > Allied
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

This way, I can use some important conditions like IsUnderSiege and DiplomaticStanceFromFaction.

LorDBulA
06-22-2007, 14:37
After very quick look.


CharacterTurnEndInSettlement
Not the best monitor. What if there is no character in settlement?


DiplomaticStanceFromFaction thrace > Allied
You should reverse the sign. But I am not sure if this command works. You should test it before You use it.

Warmaster Horus
06-22-2007, 19:56
Ah, just to mention, it's also for First Cohort mod, right?

JMRC
06-24-2007, 00:55
Ah, just to mention, it's also for First Cohort mod, right?

Yes, I use the First Cohort Mod.

JMRC
07-04-2007, 21:41
Hi.

After a few tests I came up with this code which is much improved, since it relies on a Trait to make sure that it works regardless if the player saved the game and loaded it later. Also, the code now uses the event SettlementTurnEnd and prevents the situations where the "threat" is an allied army.

The Trait DefendingArmy is defined in the usual way and has only 1 level.


;--------------------------------------------------
;Section 7m: Roma Defense
;--------------------------------------------------

declare_counter CreateRomanArmy
declare_counter RomanArmyExists

;-------------------------------------------------------------------
;Check if ready for another army to be created

monitor_event CharacterTurnStart FactionType seleucid
and Trait DefendingArmy = 1
and not I_LocalFaction seleucid
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
;Check threats

;Epeiros threat
monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile thrace named_character, 2 95,127 ; Family members and named generals
and not DiplomaticStanceFromFaction thrace = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile thrace general, 2 95,127 ; Captains
and not DiplomaticStanceFromFaction thrace = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

;Carthage threat
monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile egypt named_character, 2 95,127 ; Family members and named generals
and not DiplomaticStanceFromFaction egypt = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile egypt general, 2 95,127 ; Captains
and not DiplomaticStanceFromFaction egypt = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

;Aedui threat
monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile gauls named_character, 2 95,127 ; Family members and named generals
and not DiplomaticStanceFromFaction gauls = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile gauls general, 2 95,127 ; Captains
and not DiplomaticStanceFromFaction gauls = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

;Sweboz threat
monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile germans named_character, 2 95,127 ; Family members and named generals
and not DiplomaticStanceFromFaction germans = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor

monitor_event SettlementTurnEnd SettlementName Roma
and FactionType seleucid
and not I_LocalFaction seleucid
and I_CharacterTypeNearTile germans general, 2 95,127 ; Captains
and not DiplomaticStanceFromFaction germans = Allied
and I_SettlementOwner Rome = seleucid
and I_CompareCounter RomanArmyExists < 1
and I_CompareCounter CreateRomanArmy = 0
set_counter CreateRomanArmy 1
end_monitor


;-------------------------------------------------------------------
; Create a Camillan Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 0
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesextraordinarii, exp 2 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry triarii early, exp 3 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes early, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati early, exp 2 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher leves, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher leves, exp 1 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs DefendingArmy 1
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs CommandExperience 5
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -28170

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Polybian Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 1
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesextraordinarii, exp 2 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry polybian triarii, exp 3 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry auxilia peditesextraordinarii, exp 4 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry principes, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 3 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman infantry hastati, exp 2 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman missile accensi, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher velites, exp 1 armour 0 weapon_lvl 0
unit roman skirmisher velites, exp 1 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs DefendingArmy 1
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs CommandExperience 5
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -34000

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Marian Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 2
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry eqvites consvlares, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia equiteshispanorum, exp 2 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesgallorum, exp 2 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry marian antesignani, exp 3 armour 0 weapon_lvl 0
unit roman infantry legionary first cohort i, exp 4 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort i, exp 2 armour 0 weapon_lvl 0
unit roman infantry evocatae, exp 3 armour 0 weapon_lvl 0
unit roman infantry evocatae, exp 3 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs DefendingArmy 1
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs CommandExperience 5
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -40000

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

;-------------------------------------------------------------------
; Create a Imperial Period Roman Army

monitor_conditions I_CompareCounter CreateRomanArmy = 1
and I_CompareCounter Romanii_Reform = 3
spawn_army
faction seleucid
character Titvsartorivs, named character, command 0, influence 0, management 0, subterfuge 0, age 66, x 100, y 122
unit roman cavalry ala imperatoria, exp 3 armour 0 weapon_lvl 0
unit roman cavalry auxilia eqvitesthracum, exp 2 armour 0 weapon_lvl 0
unit roman cavalry auxilia equitesgermanorum, exp 2 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry praetorian cohort i, exp 3 armour 0 weapon_lvl 0
unit roman infantry legionary first cohort ii, exp 4 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman infantry legionary cohort ii, exp 2 armour 0 weapon_lvl 0
unit roman missile archer auxilia, exp 3 armour 0 weapon_lvl 0
unit roman missile archer auxilia, exp 3 armour 0 weapon_lvl 0
end
console_command give_trait Titvsartorivs DefendingArmy 1
console_command give_trait Titvsartorivs Selflessness 3
console_command give_trait Titvsartorivs Loyalty 4
console_command give_trait Titvsartorivs CommandExperience 5
console_command give_trait Titvsartorivs TurnsAlive 6
console_command give_trait Titvsartorivs Patrician 1
console_command give_trait Titvsartorivs GoodTactician 4
console_command give_trait Titvsartorivs GoodLeader 4
console_command give_trait Titvsartorivs GoodDefender 4
console_command give_ancillary Titvsartorivs family_retainer
console_command give_ancillary Titvsartorivs armourer
console_command give_ancillary Titvsartorivs bodyguard
console_command give_ancillary Titvsartorivs chirurgeon
console_command give_ancillary Titvsartorivs military_tribune
console_command give_ancillary Titvsartorivs veteran_centurion
console_command give_ancillary Titvsartorivs mercenary_captain_roman
console_command give_ancillary Titvsartorivs drillmaster_roman

console_command add_money seleucid, -47661
console_command add_money seleucid, -7661

set_counter CreateRomanArmy 0
set_counter RomanArmyExists 1
end_monitor

LorDBulA
07-05-2007, 08:46
Very nice. Looks good.
Only one question when DefendingArmy trait vanishes?
You remove this trait when character is not under siege?
Is there any time limit? ( to prevent situation when defending army is spawned many times in one year for example )

Or is this script one time deal untill Titvsartorivs dies?

JMRC
07-05-2007, 10:33
Very nice. Looks good.
Only one question when DefendingArmy trait vanishes?
(...) Or is this script one time deal untill Titvsartorivs dies?

That's exactly. Titvsartorivs has 66 years old, so usually he dies after a few turns. Normally it's enough time before another army is needed. One place where this is critical is in Athenai, since the proximity of Chalkis assures many sieges.
So, the generals in command of these defensive armies must be very old.

mrtwisties
12-04-2007, 12:48
Hi JMRC. Hate to dredge up the ghost of Christmas past, but did you do any more work on this?

JMRC
12-04-2007, 13:01
Hi JMRC. Hate to dredge up the ghost of Christmas past, but did you do any more work on this?

Hi. I did implement a few other defending armies but in the meantime I joined the EB team, so I concentrated attention on the EB1 release and now EB2.

I got very good results with this modification, because it helped to change the tide when a faction was just about to be annihilated and it did recover and even get back some settlements.

The only problem I had was that this used up many lines of code and the EBBS was already big.

mrtwisties
12-04-2007, 13:36
Is there any chance you'd be willing to share the code? I was planning on knocking up something similar as an option for my year jump mod, and it looks like what you've done is much better than what I had planned to do.

Markus_Aurelius
01-10-2008, 02:35
This mod is really interesting to me, how do i incorporate it in my game, just copy and paste into the ebbs script file?

Mouzafphaerre
01-10-2008, 04:49
.
I'd be interested to use this mod in EB 1.x. :yes:
.

Janus2
01-12-2008, 16:51
If this works it would be great, and that makes three of us :yes:

ps : Just wondering if this mod is not contraproductive for the Greek scene cause those attacks on Pella and Athens are constant..