Typhlomence's Civilizations

Did you get the unique airship model in too? Either way, really psyched about the update! Will probably finally play a game as Bowser soon to check it out.
 
Louis XIV looks such an odd inclusion amongst all those fictional characters...

Well, David Xanatos gave me a unique greeting line where Dr. Wily mistakes Pedro for Dr. Light, and I still need to someday add some lines for Marisa where she complains about Christian IV's prejudice against witches. :p
 
I completely forgot to mention this anywhere, but Bowser's update includes a bit of dynamic city naming based on terrain for those few cities names I included that would only fit in certain environments. This has the side effect of randomising the other city names as well.
Can we have screenshots of the Bullet Bill?
I'll see what I can do; it's tricky to get good shots of missiles in action because they have such a quick animation.
Louis XIV looks such an odd inclusion amongst all those fictional characters...
Have you seen the sort of things that JFD had Louis say? Bowser wouldn't stand for him. Seriously:
Spoiler :
 
So, Typhlomence, I've got a project I'm working on currently that I've written a truckload of unique responses for, but, either due to some kinks still needing to be worked out or some error in how it's been programmed thus far, hardly any of it is showing up. How did you go about getting Bowser to use his unique lines so frequently? I'm mostly asking this for the benefit of the person doing all the programming stuff right now, as we're running into quite a few issues with it lately.
 
Well, if you've added the responses to the Diplomacy_Responses table correctly, all you should need to do is add a bias like so:
Code:
<Row LeaderType="LEADER_BOWSER">
    <ResponseType>RESPONSE_FIRST_GREETING</ResponseType>
    <Response>TXT_KEY_LEADER_BOWSER_FIRSTGREETING%</Response>
    [COLOR="Red"]<Bias>500</Bias>[/COLOR]
</Row>
As you've already noticed, CiV will throw the generic responses into the rotation for any response types that have them (as it turns out, that's everything but the first greeting and probably the defeat message as well). Adding a bias like this means that it will appear almost always.
 
Another question about the diplomacy responses; how do you get a specific response with a specific civ?

I'm seeing in your code, for example:
Code:
<Row Tag="TXT_KEY_LEADER_BOWSER_PEACH_FIRSTGREETING_1">
            <Text>Well hello there Princess Peach! Good to see you as well on this brand new world. But don't think that you won't be by my side eventually!</Text>
        </Row>

Is that literally all that's needed, so long as
Code:
<Row LeaderType="LEADER_BOWSER">
			<ResponseType>RESPONSE_FIRST_GREETING</ResponseType>
			<Response>TXT_KEY_LEADER_BOWSER_FIRSTGREETING%</Response>
          <Bias>500</Bias>
is defined? Or is there something I'm missing?
 
Or is there something I'm missing?

You'll need the UniqueDiplomacyUtils and a lua function to make the necessary replacements. Typhlomence updated to UniqueDiplomacyUtilsV2 in his recent Bowser release, but his unique diplomacy lua file is pretty complex. X3

Using the older UniqueDiplomacyUtils in my Wily mod, the unique diplomacy lua looks like this:

Spoiler :

Code:
include("UniqueDiplomacyUtils.lua");

-- This function will look at the civilization the player is playing as, and make changes to the necessary lines using the above functions
function WilyUniqueResponses()
	local currentIndex = 1;
	local locale = "Language_" ..Locale.GetCurrentLanguage().Type;

	for iPlayer = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
        local pPlayer = Players[iPlayer]
        if pPlayer ~= nil and pPlayer:IsAlive() and pPlayer:IsHuman() then
			-- Brazil
			if (GameInfoTypes["CIVILIZATION_BRAZIL"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_BRAZIL.ID) then
				print ("The player is playing as Dr. Light... er, Pedro. Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_PEDRO_FIRSTGREETING%", 500);
			end
			-- Dr. Eggman
			if (GameInfoTypes["CIVILIZATION_EGGMANEMPIRE"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_EGGMANEMPIRE.ID) then -- Dr. Eggman
				print ("The player is playing as fellow roboticist! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_EGGMAN_FIRSTGREETING%", 500);
			end
			-- Rosalina
			if (GameInfoTypes["CIVILIZATION_TYPH_LUMAS"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_TYPH_LUMAS.ID) then -- Rosalina
				print ("The player is playing as a magical girl FROM SPACE! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_ROSALINA_FIRSTGREETING%", 500);
			end
			-- Yumemi
			if (GameInfoTypes["CIVILIZATION_TH_YUMEMI"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_TH_YUMEMI.ID) then -- Yumemi
				print ("The player is playing as a scientist FROM THE FUTURE! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_YUMEMI_FIRSTGREETING%", 500);
			end
			-- Big Boss
			if (GameInfoTypes["CIVILIZATION_MSF"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_MSF.ID) then -- Big Boss
				print ("The player is playing as the inventor of the Metal Gear! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_BIG_BOSS_FIRSTGREETING%", 500);
			end
			-- Bowser
			if (GameInfoTypes["CIVILIZATION_KOOPA_TROOP"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_KOOPA_TROOP.ID) then -- Bowser
				print ("The player is playing as a mutant turtle! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_DEFEATED", "TXT_KEY_LEADER_BM_DR_WILY_DEFEATED%", "TXT_KEY_LEADER_BM_DR_WILY_BOWSER_DEFEATED%", 500);
			end
			-- Neptune
			if ((GameInfoTypes["CIVILIZATION_VV_PLANEPTUNE_NG"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_VV_PLANEPTUNE_NG.ID) or
			 (GameInfoTypes["CIVILIZATION_VV_PLANEPTUNE_PS"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_VV_PLANEPTUNE_PS.ID)) then -- Nepgear
				print ("The player is playing as a a murderous CPU candidate! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_DEFEATED", "TXT_KEY_LEADER_BM_DR_WILY_DEFEATED%", "TXT_KEY_LEADER_BM_DR_WILY_NEPGEAR_DEFEATED%", 500);
			end	
			break
		end
	end
end

-- Attach the above function to the correct event so that the diplomacy responses are set immediately, but only if the player IS NOT Wily...
for iPlayer = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
	local pPlayer = Players[iPlayer]
	if pPlayer ~= nil and pPlayer:IsAlive() and not pPlayer:IsHuman() and (pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_BM_DR_WILY.ID) then
		Events.SequenceGameInitComplete.Add(WilyUniqueResponses);
		print("Wily is present but not as the player... we'll check if the diplomacy responses need to be changed at game start.");
		break
	end
end
 
You'll need the UniqueDiplomacyUtils and a lua function to make the necessary replacements. Typhlomence updated to UniqueDiplomacyUtilsV2 in his recent Bowser release, but his unique diplomacy lua file is pretty complex. X3

Using the older UniqueDiplomacyUtils in my Wily mod, the unique diplomacy lua looks like this:

Spoiler :

Code:
include("UniqueDiplomacyUtils.lua");

-- This function will look at the civilization the player is playing as, and make changes to the necessary lines using the above functions
function WilyUniqueResponses()
	local currentIndex = 1;
	local locale = "Language_" ..Locale.GetCurrentLanguage().Type;

	for iPlayer = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
        local pPlayer = Players[iPlayer]
        if pPlayer ~= nil and pPlayer:IsAlive() and pPlayer:IsHuman() then
			-- Brazil
			if (GameInfoTypes["CIVILIZATION_BRAZIL"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_BRAZIL.ID) then
				print ("The player is playing as Dr. Light... er, Pedro. Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_PEDRO_FIRSTGREETING%", 500);
			end
			-- Dr. Eggman
			if (GameInfoTypes["CIVILIZATION_EGGMANEMPIRE"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_EGGMANEMPIRE.ID) then -- Dr. Eggman
				print ("The player is playing as fellow roboticist! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_EGGMAN_FIRSTGREETING%", 500);
			end
			-- Rosalina
			if (GameInfoTypes["CIVILIZATION_TYPH_LUMAS"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_TYPH_LUMAS.ID) then -- Rosalina
				print ("The player is playing as a magical girl FROM SPACE! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_ROSALINA_FIRSTGREETING%", 500);
			end
			-- Yumemi
			if (GameInfoTypes["CIVILIZATION_TH_YUMEMI"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_TH_YUMEMI.ID) then -- Yumemi
				print ("The player is playing as a scientist FROM THE FUTURE! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_YUMEMI_FIRSTGREETING%", 500);
			end
			-- Big Boss
			if (GameInfoTypes["CIVILIZATION_MSF"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_MSF.ID) then -- Big Boss
				print ("The player is playing as the inventor of the Metal Gear! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_FIRST_GREETING", "TXT_KEY_LEADER_BM_DR_WILY_FIRSTGREETING%", "TXT_KEY_LEADER_BM_DR_WILY_BIG_BOSS_FIRSTGREETING%", 500);
			end
			-- Bowser
			if (GameInfoTypes["CIVILIZATION_KOOPA_TROOP"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_KOOPA_TROOP.ID) then -- Bowser
				print ("The player is playing as a mutant turtle! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_DEFEATED", "TXT_KEY_LEADER_BM_DR_WILY_DEFEATED%", "TXT_KEY_LEADER_BM_DR_WILY_BOWSER_DEFEATED%", 500);
			end
			-- Neptune
			if ((GameInfoTypes["CIVILIZATION_VV_PLANEPTUNE_NG"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_VV_PLANEPTUNE_NG.ID) or
			 (GameInfoTypes["CIVILIZATION_VV_PLANEPTUNE_PS"] and pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_VV_PLANEPTUNE_PS.ID)) then -- Nepgear
				print ("The player is playing as a a murderous CPU candidate! Setting diplomacy responses.");
				ChangeDiplomacyResponse("LEADER_BM_DR_WILY", "RESPONSE_DEFEATED", "TXT_KEY_LEADER_BM_DR_WILY_DEFEATED%", "TXT_KEY_LEADER_BM_DR_WILY_NEPGEAR_DEFEATED%", 500);
			end	
			break
		end
	end
end

-- Attach the above function to the correct event so that the diplomacy responses are set immediately, but only if the player IS NOT Wily...
for iPlayer = 0, GameDefines.MAX_MAJOR_CIVS - 1, 1 do
	local pPlayer = Players[iPlayer]
	if pPlayer ~= nil and pPlayer:IsAlive() and not pPlayer:IsHuman() and (pPlayer:GetCivilizationType() == GameInfo.Civilizations.CIVILIZATION_BM_DR_WILY.ID) then
		Events.SequenceGameInitComplete.Add(WilyUniqueResponses);
		print("Wily is present but not as the player... we'll check if the diplomacy responses need to be changed at game start.");
		break
	end
end

Awesome, thank you so much! I'm assuming that both Lua files are set as InGameUIAddins?
 
My last update in this thread was two months ago? Jeez, I'm sorry about that - I'm not dead, don't worry!

I have just had a temporary lack of motivation for working on Rosalina, primarily because she's such a behemoth and deciding what are good bonuses for her special trait buildings is tricky. Throw in my indecesiveness about just trying things myself to see what happens and you get to the point where I don't feel like working on her.

That's not to say that I won't, of course! I want Rosalina in CiV some time, and I'm sure the two people who actually pop in to check if I've updated do as well. However, I've decided that I'm not going to force myself to make Rosalina the next civ I'll put out. I'm going to try to have a policy of doing whatever I can think up the abilites for next, rather than aiming for some sort of order. The only exception to this right now is Girls und Panzer - I want to get something GuP related out by November 21st, the release date of the movie.

So, what am I planning to do now, other than keep dabbling with Rosalina? Well, some of you might remember that I posted a design for Daisy and Wario as well. Daisy I still haven't quite figured out yet, so she probably won't be next. Instead, I want to forge ahead with my Wario design, since that's pretty concrete right about now:

WarioWare, Inc. - led by Wario
UA: Game & Wario Gain bonus :c5gold: Gold per turn for every :greatwork: Great Work of Art or Artifact that you own that was created by another civilization. +5% offensive :c5strength: Combat Strength for all units for every +50 :c5gold: Gold per Turn, up to 25%.
UU: Treasure Hunter (Archaeologist) Has a chance* of finding Treasure when digging up an archaeology site, which gives a large bonus to :c5gold: Gold per Turn for several turns*. Can melee attack.
UB: Microgame Producer (Stadium) Produces +2 :c5gold: Gold for every culture building in the city that has its :tourism: Theming Bonus in effect.
*I'm not sure how many turns it should be yet, or whether it should scale with gamespeed. Thanks to Vicevirtuoso for the suggestion so that it works better with the UA.

Also, here's some preliminary icons as well:

---------------------------------------

I have done something with Rosalina that I can show off, namely, her new UI, the Launch Star. This is a model straight from SMG. The Grand Star uses a SMG model as well, now.
Spoiler :
Launch Stars are unlocked at Mathematics, and any unit that enters the tile they are on gains an extra two movement points for the turn. If someone owns the tile that the Launch Star is on, then only the owner's units can use it; otherwise, anyone can use them. They also produce +1 :c5food: Food when worked, which is increased by 2 when you discover Rocketry. Finally, they will gain extra yields depending on what trait buildings you own.

Also, there was a tiny update to the Koopa Troop on the 14th of July. Nothing much, just a little fix that means that my provisions for Bowser Airship movement don't break units that use the helicopter unit combat class, like the Capsule in bouncymischa's Dr. Wily civ (he was the one who told me about the issue in the first place; thank you!). Get it here.

I'll try to update the OP over the next couple of days as well.
 
My Childhood!

I used to play Wario Land and Wario Ware games nonstop constantly when I was kid and I thoroughly enjoyed them, and I like the design encouraging a high Gold Income while at the same time powering up your units in the process, although just a few suggestions:
- I like the Microgame Producer so could it possibly generate a small science boost of sorts, after all the Microgame series pretty much emphasized a new retro advanced society and technology
-Could it be possible to have some sort of Science side focus possibly?
 
My Childhood!

I used to play Wario Land and Wario Ware games nonstop constantly when I was kid and I thoroughly enjoyed them, and I like the design encouraging a high Gold Income while at the same time powering up your units in the process, although just a few suggestions:
- I like the Microgame Producer so could it possibly generate a small science boost of sorts, after all the Microgame series pretty much emphasized a new retro advanced society and technology
-Could it be possible to have some sort of Science side focus possibly?
I could add some small Science focus, but I don't want to add too much. I'll have a think about this.

Also, I confess I've never played any of the Wario Land/Ware games before, so please suggest to me any things such as music or dialogue that you feel should be included. I've been searching around for the latter by looking on YouTube and TV Tropes' Awesome Music entries, but I might miss something that Wario fans would want to hear.

Love the design of that Wario civ as well as the models for Rosalina's UI and Resource.

Looking forward to both releases however far away those may be.
It shouldn't be too long, it might be nice to get them both finished and releasable at the same time, but I'll see how it goes.

Those Wario icons are looking slick as Hell.
Thanks! :) I enjoy doing icons a lot, and I feel that getting the aesthetics done well is as important as the actual abilities and coding. First impressions count, after all!

Looking forwards to seeing Wario! I need more Typhlomence civs to play against! :D
No pressure, then... :p
 
Top Bottom