Dancing Hoskuld
Deity
There is an quest for harbors which has been adjusted to work with the harbor upgrades. However the similar event for ports has not.
@strategyonly
Since your making new events are you going to try to make some from this thread too?
Not at the moment, i have ALOT to do ONCE i get those tags (hint hint) from TB that i need, Plus those Camps XML and python i need to work correctly(AIAndy/DH and ls612), then i have ALL those Stone Age Events also i need to do, so it might be 3-4 months from now??
Ok, I had a look at an event modding guide and I feel confident to start making some.
If there are any idea, I'd be happy to implent them.
Note that my phyton skills are... well, non-existant. I had a look at the Python used for other quests and I understand what they did there, but I can't write new code totally from scratch. So I'm limited to XML modding OR maybe use Python that is similar to already existing events.
I also found a first bug in the events"Girls best friend" require BONUS_GEMS on the map. I will change this to BONUS_DIAMOND soon. ALso, I will look at all events and check if they can trigger at all.
What I also want to bring up is that events (as some might know) have a chance that they appear in a game. I think this change is fair too low for some (iE Quests have 25% chance), since a game in Civ usually takes a few weeks - if not longer. I recommend increase these to 90% and have some balancing events like the Fire events at 100% (if they aren't already). Any problems with that?
Last but not least: I complained some time ago that "Tea trading" events gives you around 60- ALL up to the TH era. This bugs me, as well as it bugs me that Burned Forests only cost 10
then as well. I'm pretty sure that you can have a python outcome that can link +/-
events to Beakercosts of current Tech, Number of cities, number of units, gold in Treasury... This can adjust the benefits (and losses) from events as the game progresses - without creating an event multiple times!
Pretty cool hm?![]()
, as well as it bugs me that Burned Forests only cost 10then as well.
Ok I reviewed SO's and Ori's events, now I take the core events. If you don't know what an event does: Just ask me!
@DH: Do you want me to make my changes here before V34 or after the freeze?
1) Forest Fire: (Forest burned down -> Pay to save it or let it disappear)
a)Requires Tribalism -> Why? I'd remove that and make its prereqs only Forest and Flammability.
b)Trigger doesn't take Flammability of the city into account -> Should it?
c)Is only active in 70% of the games. Probably should be 100%
d)As DH said, the first choice (Replant it) should remove it and put a "New Forest" on the plot while the others should put a burned forest on the plot. I think he said this is not possible yet?
d) With Fire Suppression I think a new option should become available: "Rescue (?) the Forest" -> Forest remains.
2) City Ruins (search city ruins for technology -> Get 15% towards a random tech)
a) They have a very high iWeight (Likelyhood that this event will be picked from the event-pool) compared to others (1000 were most only have 100-200). However, I don't see this very often so it's probably ok. Opinions?
3) Best Hunter (Good Hunting Outcomes -> Give 8one-time)
a) Requires Hunting. Should we change that to Presistance Hunting?
b) Only gives 8. While this is quite much in the very early beginning, it means nothing in the later game. We could keep Hunting as Prereq and change it to 20 instead.
c) Also quite high iWeight (500). But it would be ok for me.
You can always scale the outcome with python...
DH should know![]()
def doGreatBeast3(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
(loopCity, iter) = player.firstCity(false)
while(loopCity):
if loopCity.isHasReligion(kTriggeredData.eReligion):
loopCity.changeHappinessTimer(40)
(loopCity, iter) = player.nextCity(iter, false)
def doGreatBeast3(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iDuration = 40 * (player.getCurrentEra() + 1)
(loopCity, iter) = player.firstCity(false)
while(loopCity):
if loopCity.isHasReligion(kTriggeredData.eReligion):
loopCity.changeHappinessTimer(iDuration)
(loopCity, iter) = player.nextCity(iter, false)
def doGreatBeast3(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iDuration = 40
if gc.getTeam(player.getTeam()).isHasTech(gc.getInfoTypeForString("TECH_HUNTING")):
iDuration += 20
(loopCity, iter) = player.firstCity(false)
while(loopCity):
if loopCity.isHasReligion(kTriggeredData.eReligion):
loopCity.changeHappinessTimer(iDuration)
(loopCity, iter) = player.nextCity(iter, false)
doMotherLode(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iIncome = 200
if gc.getTeam(player.getTeam()).isHasTech(gc.getInfoTypeForString("TECH_HYDRAULIC_MINING")):
iIncome += 100
doMotherLode(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iIncome = 200
if gc.getTeam(player.getTeam()).isHasTech(gc.getInfoTypeForString("TECH_HYDRAULIC_MINING")):
iIncome += 100
player.changeGold(iIncome)
doMotherLode(argsList):
kTriggeredData = argsList[1]
player = gc.getPlayer(kTriggeredData.ePlayer)
iTech = player.getCurrentResearch ()
if iTech < 0
iTech == 1000
iCost = gc.getTeam(player).getResearchCost(iTech) / 10
player.changeGold(iCost)
iCost = gc.getTeam(player).getResearchCost(iTech) / 10
iCost = gc.getTeam(player).getResearchCost(iTech) / -10