Completely agree with you, i have more than two thirds of the map and just now i'm getting gun units.
What you said or pehaps a Real late campaing starting in 1400 or something, so you can have big gun and pikes tercio battles with other european factions.
June 26, 2014, 08:42 PM
gsthoed
Re: Stainless Steel 6.3 & 6.4 Suggestions
About "Faction Killer Workaround" section in the campaign_scripts:
a) Since papal_states and teutonic_order are indestructible, it is meaningless to have monitors and triggers for the FactionKillers of these factions. This means 4 less monitors in campaign script and two triggers in the ECDT file.
b) Withwnar has posted this tutorial http://www.twcenter.net/forums/showt...3#post13890413 about the Faction destroyed event. I like it, it is more efficient than the one in SS v6.4. I wrote and tested this script as substitute of the old one (SS v6.4):
Spoiler Alert, click show to read:
Code:
;============== FACTION KILLER WORKAROUND ===============
; Thanks to this tutorial: http://www.twcenter.net/forums/showthread.php?655272-Faction-destroyed-event&p=13890413#post13890413
declare_counter faction_is_dead
monitor_event PreFactionTurnStart TrueCondition
set_event_counter factionsdestroyed 0 ; in order to count how many factions will get destroyed until the end of each factions turn
end_monitor
set_counter faction_is_dead 1 ;default to dead=true
if I_FactionLeaderAttribute kwarezm Command < 999 ;they are alive: set dead=false
set_counter faction_is_dead 0
end_if
if I_CompareCounter faction_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
terminate_monitor
end_if
end_monitor
monitor_event IncomingMessage IncomingMessageType faction_defeated
and I_EventCounter mongols_invasion > 5
set_counter faction_is_dead 1 ;default to dead=true
if I_FactionLeaderAttribute mongols Command < 999 ;they are alive: set dead=false
set_counter faction_is_dead 0
end_if
if I_CompareCounter faction_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
terminate_monitor
end_if
end_monitor
monitor_event IncomingMessage IncomingMessageType faction_defeated
and I_EventCounter timurids_invasion > 2
set_counter faction_is_dead 1 ;default to dead=true
if I_FactionLeaderAttribute timurids Command < 999 ;they are alive: set dead=false
set_counter faction_is_dead 0
end_if
if I_CompareCounter faction_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
terminate_monitor
end_if
end_monitor
Then, in the ECDT file, the section which contains all the triggers that affect trait FactionKiller was replaced with only these four:
;------------------------------------------
Condition IsFactionLeader
and I_EventCounter factionsdestroyed > 3
Affects FactionKiller 40 Chance 100
I tested by killing all the family members of a faction via script -during the start of a turn of the local faction. A "faction destroyed" message poped up; next turn my faction leader had the "conqueror" in his traits' list.
June 27, 2014, 12:41 AM
Melooo182
Re: Stainless Steel 6.3 & 6.4 Suggestions
Hmm interesting way of scripting it, will try it out :)
June 27, 2014, 08:30 AM
Melooo182
Re: Stainless Steel 6.3 & 6.4 Suggestions
Hmmm after further inspecting that script, i think it wouldnt work good with re-emerging factions, as once it determinates a faction is dead it terminates that monitor so if that same faction comes back again later and gets killed it will not be taken in account.
June 27, 2014, 02:37 PM
gsthoed
Re: Stainless Steel 6.3 & 6.4 Suggestions
Quote:
Originally Posted by Melooo182
Hmmm after further inspecting that script, i think it wouldnt work good with re-emerging factions, as once it determinates a faction is dead it terminates that monitor so if that same faction comes back again later and gets killed it will not be taken in account.
Some tweaking is necessary in order to work with re-emerging factions. Here is an example with venice and sicily. After each re-emerge, the corresponding counter(venice_is_dead etc) should be set to zero.
Spoiler Alert, click show to read:
Code:
;============== FACTION KILLER WORKAROUND ===============
declare_counter venice_is_dead
declare_counter sicily_is_dead
; you can declare a counter for every destructible faction
if I_CompareCounter venice_is_dead = 0
set_counter venice_is_dead 1
if I_FactionLeaderAttribute venice Command < 999 ;they are alive
set_counter venice_is_dead 0
end_if
if I_CompareCounter venice_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
end_if
end_if
if I_CompareCounter sicily_is_dead = 0
set_counter sicily_is_dead 1
if I_FactionLeaderAttribute sicily Command < 999 ;they are alive
set_counter sicily_is_dead 0
end_if
if I_CompareCounter sicily_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
end_if
end_if
; you can do the same for all other destructible faction
end_monitor
Actually, this monitor could be a better idea even if we have no re-emerging factions :hmm:.
Another example: Let's say venice can re-emerge only once and an event_counter named venice_is_alive_again is set to 1 when this event takes place. Then the monitor for the destruction of venice can be this:
Spoiler Alert, click show to read:
Code:
monitor_event IncomingMessage IncomingMessageType faction_defeated
and I_CompareCounter venice_is_dead = 0
set_counter venice_is_dead 1
if I_FactionLeaderAttribute venice Command < 999 ;they are alive
set_counter venice_is_dead 0
end_if
if I_CompareCounter venice_is_dead = 1 ;yes, they are dead
inc_event_counter factionsdestroyed 1
if I_EventCounter venice_is_alive_again = 1
terminate_monitor
end_if
end_if
end_monitor
June 27, 2014, 04:41 PM
Melooo182
Re: Stainless Steel 6.3 & 6.4 Suggestions
Actually think the ceasedfactionleader and becomesfactionleader would be quite useful for setting up a global check of factions alive, AFAIK is the only true accurate way for a "real-time" check.
So instead of having them embeded within the factionkiller workaround, they could have their own section running the whole campaign and providing accurate "event counters" for external uses like EDCT/EDA/EDB/EDG
so the factionkiller workaround could look like this:
Code:
declare_counter venice_died ...etc rest of factions
if I_EventCounter Ceased_venice = 1 ; dead before player's turn, value from global faction status check
and I_CompareCounter venice_died < 1
set_counter venice_died 1
end_if
if I_EventCounter Ceased_venice = 0 ; alive again?
and I_CompareCounter venice_died >= 1
set_counter venice_died 0
end_if ...etc rest of factions
if I_EventCounter Ceased_venice = 1
and I_CompareCounter venice_died < 1 ;yes, they just died this turn
inc_event_counter factionsdestroyed 1
end_if ...etc rest of factions
end_monitor
what do you think?
June 27, 2014, 06:56 PM
gsthoed
Re: Stainless Steel 6.3 & 6.4 Suggestions
Quote:
Originally Posted by Melooo182
Actually think the ceasedfactionleader and becomesfactionleader would be quite useful for setting up a global check of factions alive, AFAIK is theonly true accurate way for a "real-time" check.
So instead of having them embeded within the factionkiller workaround, they could have their own section running the whole campaign and providing accurate "event counters" for external uses like EDCT/EDA/EDB/EDG
About the real time check, it's a matter of discussion that deserves a new thread or joining a discussion in the Mod Workshop (I'll PM you a question relevant to this). Sure thing is that the "IncomingMessage" monitor fires only when a faction gets destroyed, while the ceasedfactionleader and becomesfactionleader monitors fire more times.
Event_counters for externals uses can be included easily in the faction killer workaround. This too needs more analysis. I'll a brief example for my claim:
Venice is a living faction from the begining of the campaign until it dies (of course we can resurrect them; then they are alive from the moment of their ressurection until they die again). So, it is a matter to detect the moment of death. I'll use a event_counter to detect if they are alive or dead and a simple monitor like the ones in the "new" faction killer workaround script I described previously for detecting their death:
Code:
declare_counter faction_is_dead ; default value 0, dummy counter only used in this section, as for elsewhere we'll use the Cease_venice etc set_event_counter Cease_venice 0 ;they are alive in the begining of the campaign. We can omit it in several cases, depends on where we want to use it
monitor_event PreFactionTurnStart TrueCondition
set_event_counter factionsdestroyed 0 ; An event counter I use in ECDT for the triggers about Trait FactionKiller
end_monitor
monitor_event IncomingMessage IncomingMessageType faction_defeated
and I_EventCounter Cease_venice = 0 ; or "and not I_EventCounter Cease_venice = 1"
set_counter faction_is_dead 1
if I_FactionLeaderAttribute venice Command < 999 ;they are alive, bear in mind this is a "free" condition, can be used in several tests
set_counter faction_is_dead 0
end_if
if I_CompareCounter faction_is_dead = 1 ;yes, they are dead
So, if I_EventCounter Cease_venice = 0, this means venice faction is alive; if I_EventCounter Cease_venice = 1, then venice faction is dead. If resurrected, they need a command "set_event_counter Cease_venice 0" to be included in that script. These two values of the event_counter Cease_venice can be used externally too.
Now about the script you wrote: I suppose we set the Ceased_venice event_counter in the"Faction Killer Workaround" section, aren't we? Since we have the Ceased_venice event_counter, what is the use of the (simple) counter venice_died?
June 27, 2014, 09:49 PM
Melooo182
Re: Stainless Steel 6.3 & 6.4 Suggestions
True, I suppose emerging factions like mongols would need a monitor and condition for their Cease_faction event counter, maybe factionturnstart FactionType faction and a terminate monitor.
Yep I like it, is much more streamlined like this
will include it in the bugfix compilation after some tests
and afterward tweak VivaLaRebelion for adding the set_event_counter Cease_faction 0
1. Waiting a few turns to recruit new units: make use of those certain groups. for example: you get to recruit one militia unit and you then choose whether that should be archer milita or spear militia, then again you receive a regiment of knights, you then choose whether to bee knigths on foot or mounted knights
2. make possible for knights to obtain more titles, like duke of wessex, duke of edinburgh instead of just one
3. make those titles inherited (when general dies, his eldest son got his titles, if there is no son, king receives it)
4. make possible for muslims to have several wives (provided it is not hardcoded)
5. make possible to fund crusade (you can pay a hefty sum to avoid sending your army to crusade)
September 05, 2014, 07:45 AM
LusitanPlayer
Re: Stainless Steel 6.3 & 6.4 Suggestions
Quote:
Originally Posted by 15kol
1. Waiting a few turns to recruit new units: make use of those certain groups. for example: you get to recruit one militia unit and you then choose whether that should be archer milita or spear militia, then again you receive a regiment of knights, you then choose whether to bee knigths on foot or mounted knights
2. make possible for knights to obtain more titles, like duke of wessex, duke of edinburgh instead of just one
3. make those titles inherited (when general dies, his eldest son got his titles, if there is no son, king receives it)
4. make possible for muslims to have several wives (provided it is not hardcoded)
5. make possible to fund crusade (you can pay a hefty sum to avoid sending your army to crusade)
those sounds interesting as hell. I wonder how funding a crusade would work, it would spawn armies for a crusading faction? Crusader States perhaps?
Also, I'd like to see a unique "Magyar Huszar" for late era hungary, and Slav Levies replaced by something more Highlander style (axe and shield) Magyar levy? Hungary lacks unique units, imo. It still has, in nature, vanilla rooster :)
September 14, 2014, 07:06 PM
Grabbin_Megroin
Re: Stainless Steel 6.3 & 6.4 Suggestions
Here's a suggestion...
If possible, why not add some kind of assimilation mechanic? Once a settlement has been fully assimilated into your kingdom, you could then recruit your faction specific units from that place. It could take 10 turns or so for settlements close to your starting capital, up to a high amount like 50, for ones very far.
September 14, 2014, 07:28 PM
+Marius+
Re: Stainless Steel 6.3 & 6.4 Suggestions
What about the AI crusading armies after a successful/failed crusade?
Often it takes them 10-20 turns to get them back home...that's a lot of upkeep for all those fullstacks strolling around in Anatolia.
Is there a way for those armies to stay free upkeep until they return home or maybe if they are automatically disbanded and the AI reimbursed with straight cash?
November 09, 2014, 04:57 AM
fuzzyballs01
Re: Stainless Steel 6.3 & 6.4 Suggestions
since there's one more slot open for a faction, why not create Flanders, and use an assortment of units from other factions to fill the army?
there already are Flemish pikemen in the game... even if you don't use special units, even generic mailed knights or dismounted feudal knights would work
November 09, 2014, 12:45 PM
hrissker
Re: Stainless Steel 6.3 & 6.4 Suggestions
Eh I think volga bulgaria would be better
November 09, 2014, 01:52 PM
Grabbin_Megroin
Re: Stainless Steel 6.3 & 6.4 Suggestions
This is probably impossible (especially for trying to make it work with the AI), but what I think would be cool is if, during battles, you could only control the units that are in close proximity to your general.
The way it would work would be any soldiers in his command range could be sent wherever to do whatever, but once they've completed their order and are outside the command range they would just reform and wait until the general is close enough again for them to be issued another order. This would be a little more realistic because IRL you can't shout orders across an entire battlefield, and a little more fun because the general would play a more active role in the fight. It would also be beneficial to have multiple generals in one army because if you spread your line really far or decide to separate your forces you would need another general to command the distant units.
As this has never been tested I have no idea how large the range should be so maybe it could be bigger or smaller, but here's a rough idea of what the command range would look like, the red box being the general, and the blue bar being about 8 units wide, if each unit was spread at 20 men wide and 4 men deep:
So as long as you kept your men fairly close by you could command the entire army with one general, but anymore spread out than that you would have to use another general, or be comfortable with leaving men doing whatever they were doing in one area while you gallop to issue orders to men in another.
If your general died then perhaps the next strongest unit could take over as the commander, or something (not too sure about this part).
November 11, 2014, 03:47 AM
Jakkka123
Re: Stainless Steel 6.3 & 6.4 Suggestions
Quote:
Originally Posted by Grabbin_Megroin
This is probably impossible (especially for trying to make it work with the AI), but what I think would be cool is if, during battles, you could only control the units that are in close proximity to your general.
The way it would work would be any soldiers in his command range could be sent wherever to do whatever, but once they've completed their order and are outside the command range they would just reform and wait until the general is close enough again for them to be issued another order. This would be a little more realistic because IRL you can't shout orders across an entire battlefield, and a little more fun because the general would play a more active role in the fight. It would also be beneficial to have multiple generals in one army because if you spread your line really far or decide to separate your forces you would need another general to command the distant units.
As this has never been tested I have no idea how large the range should be so maybe it could be bigger or smaller, but here's a rough idea of what the command range would look like, the red box being the general, and the blue bar being about 8 units wide, if each unit was spread at 20 men wide and 4 men deep:
So as long as you kept your men fairly close by you could command the entire army with one general, but anymore spread out than that you would have to use another general, or be comfortable with leaving men doing whatever they were doing in one area while you gallop to issue orders to men in another.
If your general died then perhaps the next strongest unit could take over as the commander, or something (not too sure about this part).
This would actually be an awesome idea
February 15, 2015, 08:49 PM
Kataphractos
Re: Stainless Steel 6.3 & 6.4 Suggestions
The game's likely too hard-coded for this to be possible, but what about a new victory type? Something like "Glorious Triumph", which is achieved by winning a battle against sheer impossible odds, or winning with an army that is, say, 1/5 or 1/8th the size of the enemy's (properly coded so a couple units of feudal knights can't just mow down ten peasant units and get the victory, or your army of three units steamrolling a 20-stack of depleted units, for example). On the map, instead of a pair of crossed swords, there would be a statue icon to mark the achievement. And in your capitol city, a new building would be available, such as a statue or triumphal arch-type building that increases disposition across your kingdom or increases command of all generals by 1 or something. Or it could have an affect where morale is boosted by a certain number for several turns.
This would be balanced by a new loss type, like "Fateful Defeat" (where a battle that you should have been guaranteed victory went south on you because that peasant unit ended up kicking your butts), where such a loss causes huge faction-wide morale problems that last for several turns because your armies have lost faith in their king's abilities in making sound decisions on what to go up against, and may cause unit desertion (think idle crusade desertion) or outright mutiny. Region revolt might be a thing as well.
April 02, 2015, 11:21 AM
Used2BRoz
Re: Stainless Steel 6.3 & 6.4 Suggestions
Quote:
Originally Posted by Marius Marich
What about the AI crusading armies after a successful/failed crusade?
Often it takes them 10-20 turns to get them back home...that's a lot of upkeep for all those fullstacks strolling around in Anatolia.
Is there a way for those armies to stay free upkeep until they return home or maybe if they are automatically disbanded and the AI reimbursed with straight cash?
Yes I actually wrote a script that does this. It requires minor edits to the EDU and a similar use of the destroy_units command.
It could be incorporated into the campaign script if necessary.
Not sure if the lack of trading monopolies (and thus, the entire merchant monopoly trait line) is going to be fixed any time soon. I myself just added a few triggers for ending turn on resources or exotic resources while < or >= 100 from capital, with exotic and >= 100 from capital with higher chances.
Condition AgentType = merchant
and TradingExotic
and DistanceCapital < 100
Affects Monopolist 1 Chance 30
May 15, 2015, 01:11 PM
EgyptianWarLord
Re: Stainless Steel 6.3 Suggestions!
Perhaps you can change the name of the "Late Campaign" to High Campaign (in reference to the High Middle Ages) and make the Late Campaign into a third campaign (perhaps making the Timurids playable)