Guarantee polearm for polearm troops

Users who are viewing this thread

Droidekafan

Recruit
Hi, I made a mod of the troop trees for Floris expanded which guarantees polearms are given to certain troops at the start of a battle. It should stop frustrating situations in which many of your troops do not have polearms like they should. A full list of troops that are guaranteed polarms is in the readme. This is not savegame compatible. Nexus Link: http://www.nexusmods.com/mbwarband/mods/6175?
 
I've also come up with something that may fix the issue with lords being pardoned and returning from exile, but never actually spawning or appearing on the list of vassals for that faction despite being named as part of that faction on their character page.

You will need to open your scripts.txt and look for the line that says dplmc_lord_return_from_exile -1. Below that line will be this line of code:
Code:
 78 21 1 1224979098644774912 22 1 1224979098644774913 4 0 33 3 1224979098644774912 360287970189640549 360287970189640824 33 3 1224979098644774913 432345564227567631 432345564227567638 2147483679 2 1224979098644774912 360287970189639680 522 3 1224979098644774914 1224979098644774913 11 2173 2 1224979098644774915 1224979098644774912 2147483681 3 1224979098644774915 432345564227567631 432345564227567638 4 0 1073741855 2 1224979098644774914 360287970189639680 31 2 1224979098644774913 432345564227567631 1 3 936748722493063402 1224979098644774912 1224979098644774913 500 3 1224979098644774912 2 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1106 1 1585267068834415845 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 5 0 1 3 936748722493063685 1224979098644774912 1224979098644774914 2121 3 1224979098644774917 0 72057594037927936 2111 2 1224979098644774917 5 1 4 936748722493063684 1224979098644774912 1224979098644774914 1224979098644774917 6 3 1224979098644774918 360287970189640549 360287970189640703 2133 2 1224979098644774917 0 4 0 2173 2 1224979098644774919 1224979098644774918 31 2 1224979098644774913 1224979098644774919 2133 2 1224979098644774917 1 3 0 1 3 936748722493063879 1224979098644774912 1224979098644774918 2133 2 1224979098644774920 72057594037927936 4 0 32 2 1224979098644774920 1 2123 3 1224979098644774921 72057594037927936 3 2105 2 1224979098644774917 1224979098644774921 3 0 2147483679 2 1224979098644774917 0 1 4 936748722493063684 1224979098644774914 1224979098644774918 1224979098644774917 4 0 31 2 144115188075856163 1 2322 2 17 1224979098644774918 2322 2 18 1224979098644774914 2133 2 72057594037927939 1224979098644774917 1106 1 216172782113786601 3 0 3 0 1 3 936748722493063402 1224979098644774912 1224979098644774913 4 0 2147483679 2 1224979098644774913 432345564227567631 1073742364 3 1224979098644774912 2 0 540 3 1224979098644774912 2 11 500 3 1224979098644774912 2 2 3 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1105 1 1585267068834415846 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 3 0 5 0 2322 2 5 1224979098644774912 2335 2 7 1224979098644774913 1106 1 1585267068834415847 3 0

Replace that line with this line:
Code:
 76 21 1 1224979098644774912 22 1 1224979098644774913 4 0 33 3 1224979098644774912 360287970189640549 360287970189640824 33 3 1224979098644774913 432345564227567631 432345564227567638 2147483679 2 1224979098644774912 360287970189639680 522 3 1224979098644774914 1224979098644774913 11 2173 2 1224979098644774915 1224979098644774912 2147483681 3 1224979098644774915 432345564227567631 432345564227567638 4 0 1073741855 2 1224979098644774914 360287970189639680 31 2 1224979098644774913 432345564227567631 1 3 936748722493063402 1224979098644774912 1224979098644774913 500 3 1224979098644774912 2 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1106 1 1585267068834415845 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 5 0 1 3 936748722493063685 1224979098644774912 1224979098644774914 2121 3 1224979098644774917 0 72057594037927936 2111 2 1224979098644774917 5 1 4 936748722493063684 1224979098644774912 1224979098644774914 1224979098644774917 6 3 1224979098644774918 360287970189640549 360287970189640703 2133 2 1224979098644774917 0 4 0 2173 2 1224979098644774919 1224979098644774918 31 2 1224979098644774913 1224979098644774919 2133 2 1224979098644774917 1 3 0 1 3 936748722493063879 1224979098644774912 1224979098644774918 2133 2 1224979098644774920 72057594037927936 4 0 32 2 1224979098644774920 1 2123 3 1224979098644774921 72057594037927936 3 2105 2 1224979098644774917 1224979098644774921 3 0 2147483679 2 1224979098644774917 0 1 4 936748722493063684 1224979098644774914 1224979098644774918 1224979098644774917 4 0 31 2 144115188075856163 1 2322 2 17 1224979098644774918 2322 2 18 1224979098644774914 2133 2 72057594037927939 1224979098644774917 1106 1 216172782113786601 3 0 3 0 1 3 936748722493063402 1224979098644774912 1224979098644774913 4 0 2147483679 2 1224979098644774913 432345564227567631 500 3 1224979098644774912 2 2 3 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1105 1 1585267068834415846 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 3 0 5 0 2322 2 5 1224979098644774912 2335 2 7 1224979098644774913 1106 1 1585267068834415847 3 0

That should, at least through my testing, fix the issue and it should be save compatible. It won't bring back lords that are already in limbo though, so you'll need to use a save editor to fix them.
 
You would need to find the source files for the mod. Once you've done that, find the header_troops.py file and open it. In there, find the bit that says:
Code:
tf_guarantee_boots            = 0x00100000
tf_guarantee_armor            = 0x00200000
tf_guarantee_helmet           = 0x00400000
tf_guarantee_gloves           = 0x00800000
tf_guarantee_horse            = 0x01000000
tf_guarantee_shield           = 0x02000000
tf_guarantee_ranged           = 0x04000000
tf_unmoveable_in_party_window = 0x10000000

You just need to add "tf_guarantee_polearm          = 0x08000000" without quotes to that list. You can then add it to any troop under the module_troops.py file. For example;
Code:
["mercenary_r_burgmann","I5 Mercenary Burgmann","I5 Mercenary Burgmanner",tf_guarantee_polearm|tf_guarantee_armor|tf_guarantee_boots|tf_guarantee_helmet|tf_guarantee_gloves|tf_guarantee_shield,0,0,fac_commoners,
Then you just need to compile the mod and the troops you added it to will be guaranteed a polearm. It isn't save game compatible so you would need to start a new save to see the effects.

EDIT: I forgot to say that you need to make sure you are on the latest version of Warband. Older versions won't be able to use guarantee polearm as it was introduced with Viking Conquest.
 
Hi Droidekafan,
I'm modding the Floris Mod Pack and trying to implement your polearm fix but it doesn't seem to be working.

Here is the header_troops.py:
Code:
tf_guarantee_boots            = 0x00100000
tf_guarantee_armor            = 0x00200000
tf_guarantee_helmet           = 0x00400000
tf_guarantee_gloves           = 0x00800000
tf_guarantee_horse            = 0x01000000
tf_guarantee_shield           = 0x02000000
tf_guarantee_ranged           = 0x04000000
tf_guarantee_polearm          = 0x08000000
tf_unmoveable_in_party_window = 0x10000000

And here is module_troops.py:
Code:
["swadian_n_extra1", "Swadian Champion", "Swadian Champions", tf_guarantee_polearm | tf_guarantee_horse | tf_mounted | tf_guarantee_helmet | tf_guarantee_gloves | tf_guarantee_boots | tf_guarantee_armor, 0, 0, fac_kingdom_1,

But it does not seem to change anything, still only about half of the troops have lances.
Do you know what am I doing wrong?
 
First I would try it on another (preferably already existing) troop to make sure that it works elsewhere. Try changing the Rhodok Sergeants to this;
Code:
["rhodok_n_veterano","Rhodok Sergeant","Rhodok Sergeants",tf_guarantee_polearm|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield|tf_guarantee_gloves,0,0,fac_kingdom_5,
Once you've tried that, get back to me.
 
I tried that on the Floris Source Kit v2.55.
Out of 20 Rhodok Sergeants only 11 had spears.
Code:
["rhodok_n_veterano","Rhodok Sergeant","Rhodok Sergeants",tf_guarantee_polearm|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_shield|tf_guarantee_gloves,0,0,fac_kingdom_5,

However, if I install your mod on Floris, it works.
When I edit the code I only modify header_troops.py and module_troops.py.
Do I maybe need to change some other file or are these two should be enough?
 
No, you only need to modify the header_troops.py and the module_troops.py. I just tested it myself on a newly compiled, otherwise unedited version of the floris dev suite and all of my troops had polearms, including the troop that you created (Swadian Champion). Are you creating a new save game? Are you sure you are compiling the mod to the right folder? Are you on the newest version of Warband?
 
Also, make sure that you are using the correct troop tree when you start a new save game. The troops have labels for what troop tree they are in. For example, you used swadian_n_extra for your custom troop. There is also swadian_r_extra and the swadian_e_extra. The letter in the name, n, r, or e, represents the same troop for each troop tree, native, reworked, and expanded. That means if you edit swadian_n_extra, it will only affect that troop in the native troop tree.
 
It seems that the older version is the issue.
I do all the modding on 1.153 and this fix does not work there, but I tested it on 1.172 and it works fine.
I'll do a more thorough testing tomorrow.
Thanks for mentioning the version, I would not have thought of that.
 
SupremeLemon said:
It seems that the older version is the issue.
I do all the modding on 1.153 and this fix does not work there, but I tested it on 1.172 and it works fine.
I'll do a more thorough testing tomorrow.
Thanks for mentioning the version, I would not have thought of that.

The tf_guarantee_polearm was added in the 1.168 version of the engine, so the fix  will not work in any version lower than that.
 
Yep, works perfectly on 1.172.

Also, does anybody know if there are flags to guarantee one- and two-handed weapons specifically?
I know it was not a thing in 1.153 but maybe it was added later?
Basically, I want some troops to have both one- and two-handed weapons.
Right now I'm creating 10 copies of each weapon so that troops have 20 weapons in the inventory and usually most of them have both one- and two-handers, but that's a mess and surely there is a better way to achieve that.
 
SupremeLemon said:
Yep, works perfectly on 1.172.

Also, does anybody know if there are flags to guarantee one- and two-handed weapons specifically?
I know it was not a thing in 1.153 but maybe it was added later?
Basically, I want some troops to have both one- and two-handed weapons.
Right now I'm creating 10 copies of each weapon so that troops have 20 weapons in the inventory and usually most of them have both one- and two-handers, but that's a mess and surely there is a better way to achieve that.

no flags to guarantee 2 handed weapons, but there is a script that does that https://forums.taleworlds.com/index.php/topic,143195.0.html
 
Droidekafan said:
I've also come up with something that may fix the issue with lords being pardoned and returning from exile, but never actually spawning or appearing on the list of vassals for that faction despite being named as part of that faction on their character page.

You will need to open your scripts.txt and look for the line that says dplmc_lord_return_from_exile -1. Below that line will be this line of code:
Code:
 78 21 1 1224979098644774912 22 1 1224979098644774913 4 0 33 3 1224979098644774912 360287970189640549 360287970189640824 33 3 1224979098644774913 432345564227567631 432345564227567638 2147483679 2 1224979098644774912 360287970189639680 522 3 1224979098644774914 1224979098644774913 11 2173 2 1224979098644774915 1224979098644774912 2147483681 3 1224979098644774915 432345564227567631 432345564227567638 4 0 1073741855 2 1224979098644774914 360287970189639680 31 2 1224979098644774913 432345564227567631 1 3 936748722493063402 1224979098644774912 1224979098644774913 500 3 1224979098644774912 2 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1106 1 1585267068834415845 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 5 0 1 3 936748722493063685 1224979098644774912 1224979098644774914 2121 3 1224979098644774917 0 72057594037927936 2111 2 1224979098644774917 5 1 4 936748722493063684 1224979098644774912 1224979098644774914 1224979098644774917 6 3 1224979098644774918 360287970189640549 360287970189640703 2133 2 1224979098644774917 0 4 0 2173 2 1224979098644774919 1224979098644774918 31 2 1224979098644774913 1224979098644774919 2133 2 1224979098644774917 1 3 0 1 3 936748722493063879 1224979098644774912 1224979098644774918 2133 2 1224979098644774920 72057594037927936 4 0 32 2 1224979098644774920 1 2123 3 1224979098644774921 72057594037927936 3 2105 2 1224979098644774917 1224979098644774921 3 0 2147483679 2 1224979098644774917 0 1 4 936748722493063684 1224979098644774914 1224979098644774918 1224979098644774917 4 0 31 2 144115188075856163 1 2322 2 17 1224979098644774918 2322 2 18 1224979098644774914 2133 2 72057594037927939 1224979098644774917 1106 1 216172782113786601 3 0 3 0 1 3 936748722493063402 1224979098644774912 1224979098644774913 4 0 2147483679 2 1224979098644774913 432345564227567631 1073742364 3 1224979098644774912 2 0 540 3 1224979098644774912 2 11 500 3 1224979098644774912 2 2 3 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1105 1 1585267068834415846 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 3 0 5 0 2322 2 5 1224979098644774912 2335 2 7 1224979098644774913 1106 1 1585267068834415847 3 0

Replace that line with this line:
Code:
 76 21 1 1224979098644774912 22 1 1224979098644774913 4 0 33 3 1224979098644774912 360287970189640549 360287970189640824 33 3 1224979098644774913 432345564227567631 432345564227567638 2147483679 2 1224979098644774912 360287970189639680 522 3 1224979098644774914 1224979098644774913 11 2173 2 1224979098644774915 1224979098644774912 2147483681 3 1224979098644774915 432345564227567631 432345564227567638 4 0 1073741855 2 1224979098644774914 360287970189639680 31 2 1224979098644774913 432345564227567631 1 3 936748722493063402 1224979098644774912 1224979098644774913 500 3 1224979098644774912 2 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1106 1 1585267068834415845 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 5 0 1 3 936748722493063685 1224979098644774912 1224979098644774914 2121 3 1224979098644774917 0 72057594037927936 2111 2 1224979098644774917 5 1 4 936748722493063684 1224979098644774912 1224979098644774914 1224979098644774917 6 3 1224979098644774918 360287970189640549 360287970189640703 2133 2 1224979098644774917 0 4 0 2173 2 1224979098644774919 1224979098644774918 31 2 1224979098644774913 1224979098644774919 2133 2 1224979098644774917 1 3 0 1 3 936748722493063879 1224979098644774912 1224979098644774918 2133 2 1224979098644774920 72057594037927936 4 0 32 2 1224979098644774920 1 2123 3 1224979098644774921 72057594037927936 3 2105 2 1224979098644774917 1224979098644774921 3 0 2147483679 2 1224979098644774917 0 1 4 936748722493063684 1224979098644774914 1224979098644774918 1224979098644774917 4 0 31 2 144115188075856163 1 2322 2 17 1224979098644774918 2322 2 18 1224979098644774914 2133 2 72057594037927939 1224979098644774917 1106 1 216172782113786601 3 0 3 0 1 3 936748722493063402 1224979098644774912 1224979098644774913 4 0 2147483679 2 1224979098644774913 432345564227567631 500 3 1224979098644774912 2 2 3 0 2322 2 4 1224979098644774912 2335 2 5 1224979098644774913 2322 2 6 1224979098644774914 1105 1 1585267068834415846 520 3 1224979098644774916 1224979098644774912 10 4 0 132 1 1224979098644774916 2147483679 2 1224979098644774916 648518346341351424 1232 1 1224979098644774916 500 3 1224979098644774912 10 -1 3 0 3 0 5 0 2322 2 5 1224979098644774912 2335 2 7 1224979098644774913 1106 1 1585267068834415847 3 0

That should, at least through my testing, fix the issue and it should be save compatible. It won't bring back lords that are already in limbo though, so you'll need to use a save editor to fix them.
Hi, Droidekafan,
Old post, I know but...
It would be possible to get the source code of the script with your fix?

Edit:
My tests with this code are pretty bad. For my the lords not return from exile and I have error in script "troop_change_relation_with_troop".
My solution to this big problem is this...
 
Dj_FRedy said:
Hi, Droidekafan,
Old post, I know but...
It would be possible to get the source code of the script with your fix?

Sure, this is the code I used. It works fine for me:

Code:
#script_dplmc_lord_return_from_exile
# INPUT: arg1 = troop_id, arg2 = new faction_no
# OUTPUT: none
	("dplmc_lord_return_from_exile",
		[
			(store_script_param_1, ":troop_no"),
			(store_script_param_2, ":faction_no"),
			#Check validity
			(try_begin),
				(is_between, ":troop_no", heroes_begin, heroes_end),
				(is_between, ":faction_no", kingdoms_begin, kingdoms_end),
				(neq, ":troop_no", "trp_player"),
				(faction_get_slot, ":faction_liege", ":faction_no", slot_faction_leader),
				#The lord definitely should not already belong to a kingdom
				(store_troop_faction, ":old_faction", ":troop_no"),
				(neg|is_between, ":old_faction", kingdoms_begin, kingdoms_end),
				(try_begin),
				#Handle separately for adding to the player's faction
				#The player may decide to accept or reject the return
				(this_or_next|eq, ":faction_liege", "trp_player"),
				(eq, ":faction_no", "fac_player_supporters_faction"),
				#(eq, 1, 0),#<-- temporarily disable
				#Lord comes to petition the player instead of automatically returning
				(call_script, "script_change_troop_faction", ":troop_no", ":faction_no"),
				(troop_set_slot, ":troop_no", slot_troop_occupation, slto_inactive),
				#Show event (no log without actual faction change)
				(str_store_troop_name, s4, ":troop_no"),
				(str_store_faction_name, s5, ":faction_no"),
				(str_store_troop_name, s6, ":faction_liege"),
				(display_message, "@{s4} has returned from exile, seeking refuge with {s6} of {s5}."),
				#Remove party
				(troop_get_slot, ":led_party", ":troop_no", slot_troop_leaded_party),
				(try_begin),
					(party_is_active, ":led_party"),
					(neq, ":led_party", "p_main_party"),
					(remove_party, ":led_party"),
					(troop_set_slot, ":troop_no", slot_troop_leaded_party, -1),
				(try_end),
				(else_try),
					#NPC king auto-accepts
					#Normalize relation between NPC and king
					(call_script, "script_troop_get_relation_with_troop", ":troop_no", ":faction_liege"),
					(store_sub, ":relation_change", 0, reg0),#enough to increase to 0 if negative
					(val_max, ":relation_change", 5),
					(call_script, "script_troop_change_relation_with_troop", ":troop_no", ":faction_liege", ":relation_change"),
					#Perform reverse of relation change for exile
					(try_for_range, ":active_npc", active_npcs_begin, active_npcs_end), #all lords in own faction, and relatives regardless of faction
					(assign, ":relation_change", 0),#no change for non-relatives in other factions
					(try_begin),
						(store_faction_of_troop, ":active_npc_faction", ":active_npc"),
						(eq, ":faction_no", ":active_npc_faction"),
						#Auto-exiling someone at -75 relation to his liege gives a -1 base
						#relation penalty from other lords, so the gain is 1 by default.
						(assign, ":relation_change", 1),
					(try_end),
					##(call_script, "script_troop_get_family_relation_to_troop", ":troop_no", ":active_npc"),
					(call_script, "script_dplmc_troop_get_family_relation_to_troop", ":troop_no", ":active_npc"),
					(assign, ":family_relation", reg0),
					(try_begin),
						(gt, ":family_relation", 1),
						(store_div, ":family_modifier", reg0, 3),
						(val_add, ":relation_change", ":family_modifier"),
					(try_end),
										
					(neq, ":relation_change", 0),
										
					(call_script, "script_troop_change_relation_with_troop", ":faction_liege", ":active_npc", ":relation_change"),
					(try_begin),
						(eq, "$cheat_mode", 1),
						(str_store_troop_name, s17, ":active_npc"),
						(str_store_troop_name, s18, ":faction_liege"),
						(assign, reg3, ":relation_change"),
						(display_message, "str_trial_influences_s17s_relation_with_s18_by_reg3"),
					(try_end),

				(try_end),#end try for range :active_npc
									 
				#Now actually change the faction
				(call_script, "script_change_troop_faction", ":troop_no", ":faction_no"),
				(try_begin), #new-begin
					(neq, ":faction_no", "fac_player_supporters_faction"),
					#(this_or_next|troop_slot_eq, ":troop_no", slot_troop_occupation, slto_inactive),
					#(troop_slot_eq, ":troop_no", slot_troop_occupation, slto_retirement),
					(troop_set_slot, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
				(try_end), #new-end
									
	#Log event
	(str_store_troop_name, s4, ":troop_no"),
	(str_store_faction_name, s5, ":faction_no"),
	(str_store_troop_name, s6, ":faction_liege"),
	(display_log_message, "@{s4} has been granted a pardon by {s6} of {s5} and has returned from exile."),
	(troop_get_slot, ":led_party", ":troop_no", slot_troop_leaded_party),

	(try_begin),
		(party_is_active, ":led_party"),
		(neq, ":led_party", "p_main_party"),
		(remove_party, ":led_party"),
		(troop_set_slot, ":troop_no", slot_troop_leaded_party, -1),
	(try_end),

	(try_end),#end NPC king auto-accepts

	(else_try),
		#Failure.  Perform string register assignment first to avoid differences
		#between debug and non-debug behavior.
		(str_store_troop_name, s5, ":troop_no"),
		(str_store_faction_name, s7, ":faction_no"),
		#(ge, "$cheat_mode", 1),#<-- always show this
		(display_message, "@{!}DEBUG : failure in dplmc_lord_return_from_exile((s5}, {s7})"),
	(try_end),

]),

Sorry for the late reply, i've been moving houses.
 
Thanks for answering, I hope the move didn't cause you too much trouble :grin:

From what I see.... It's not the same code, I mean, you haven't modified anything as I see it. In your previous post, it seems that the code already encoded in scripts.txt that you post is not the same as the one you just put in. Are you sure it's the same one?

Maybe I have expressed myself badly and you didn't understand my request, anyway, you can see that modifying a value and commenting on two lines seems to work for me.

Greetings, and I hope I haven't wasted your time.
 
Nah my bad I posted the wrong one. Edited to be correct now. All I did really was comment out 2 lines of code and that fixed the problem for me. Seems we came up on the same solution.
 
Back
Top Bottom