View Full Version : Modders Guide to Orbis
Ahwaric Jul 12, 2009, 07:24 AM I guess I should started this thread a long time ago. Anyway, here are descriptions of new tags and overall changes to Orbis code that can be of use to modders.
Remeber there is a xlsm editor that comes with every Orbis patch. It can make your modding much easier. It is an edited version of FfH editor, so if you have used it, you will know how it works.
You may recognize many of the tags from Fall Further. That is because they come from FF :)
First, GlobalDefinesAlt.xml (Global Defines sheet in editor)
RANGE_COMBAT_DAMAGE: affects damage from ranged combat
RANGE_COMBAT_XP_PERCENTAGE : % damage done needed for granting 1 xp from ranged combat
PROMOTION_INVISIBLE_SHROUD: promotion granted by Nox Nocis
TERRAIN_TEMPERATURE_TOLERANCE: Number of turns after which terrain changes to colder/hotter.
WITHDRAW_PROMOTION: Promotion granted to units on withdrawal
ORC_CIVILIZATION, ORC_LEADER, ANIMAL_CIVILIZATION, ANIMAL_LEADER, DEMON_CIVILIZATION, DEMON_LEADER: define barbarian factions leaders and civilizations
EVIL_TILE_THRESHOLD
MAX_ANIMAL_ESCALATIONS: Max extra strength for ancient animals
MAX_ORC_STACK_SPAWN_SIZE: Number of units that spawn in one stack for Orc barbarians
GONE_TO_HELL_THRESHOLD_PERCENTAGE: % of hellish tiles required for Gone to Hell victory
Ahwaric Jul 12, 2009, 07:24 AM Tags and fields from files included in the editor:
CIV4LeaderHeadInfos.xml (Leader sheet)
FLAVOR_MAGIC: Science and magic flavours got separated for more flexibility, this field is also listed for techs, units etc.
ERA_RENAISSANCE: music for renaissance era added in Orbis
bMinorLeader: marks unit as a minor, independantly from the minor trait; used for colony creation
iHatedCivicAttitudeChange
iHatedCivicAttitudeDivisor
iHatedCivicAttitudeChangeLimit: max negative relations from running a civic
HatedCivic: hated civic
Image: leader popup, used for defeat popup
DefeatQuote: quote, as above
RELIGION_CULT_OF_THE_DRAGON: religion weigth for cult of the dragon, set to -100 for every leader (so can't be adopted)
CIV4CivilizationInfos.xml (Civilizations sheet)
bUnique Buildings: buildings with bUnique tag, allowed for this civilization
bUnique Unit: same as above but for units; both are editor only for easy use (in actuall file contionues unique building and unit list)
bLimitedSelection: Only units listed for the civ are allowed, other blocked
iTemperatureChangePerTurn: 1 towards desert, -1 towards snow
FeatureHealthPercentChanges: modifies health from features for the civ
FeatureYieldChanges: as above, but for feature yields
ImprovementYieldChanges: as above, but for improvement yields
TerrainYieldChanges: as above, but for terrain yields
CIV4TechInfos.xml (Techs sheet)
CommerceFlexible: Espionage allows tech to adjust espionage rate
CIV4BuildingInfos.xml (Buildings Sheet)
PowerYieldModifiers: allows to modify food, production and trade if the city has power (exclusively used by Mechanos)
CIV4BonusInfos.xml (Bonus Sheet)
FeatureBooleans FEATURE_KELP FEATURE_SWAMP: to allow bonuses to spawn on new features
CIV4ImprovementInfos.xml (Improvement Sheet)
SpawnUnitCiv
bSpawnOnlyForOwner
iSpawnAtOnceLimit
bExplorable
iLairCreationWeight
iBasePlotCounterModify
CIV4PromotionInfos.xml (Promotions Sheet)
iPromotionDuration
iPromotionRandomApplyChance
iGroupSizeChange
iDamageOnRemove
iChanceMiscast
iNoBadExplore
bIgnoreTerrainCosts
bMoveImpassable
bFlatMoveCost
bNoDefenseBonus
bAllowDefenseBonuses
TempUnitCombat
bNonWarWeariness
iExtraSupport
bFreeUnit
bIndependant
iSlaveGenerationChance
iAirCombat
iAirCombatLimitBoost
iCombatDmgCapBoost
iExtraDropRange
iCombatExtraDuration
iChangeDuration
iDurationAlter
iDurationPerTurn
iSpyEscape
iSpyDeception
iSpyIntercept
iSpyPreparation
bSpyLoyal
iSpyPoison
iSpyUnhappy
iSpyUnrest
PrereqInBorderEnemy
PrereqInBorderNone
PrereqInBorderRival
PrereqInBorderTeam
PrereqInBorderSelf
PrereqInCity
PrereqTier
PrereqWeaponTier
PrereqPermission
bAutoAcquire
bMustMaintain
bNoXP
iGoldCost
PrereqbAllowNULLUnitCombat
bEffectProm
PythonPostCombatLost
PythonPostCombatWon
PythonOnRemove
PrereqUnits
PrereqUnitClassesOnTile
PrereqUnitClassesNOTOnTile
PrereqUnitTypesOnTile
PrereqUnitTypesNOTOnTile
PrereqPromotionsOnTile
PrereqPromotionsNOTOnTile
PrereqCivics
PrereqCivilizations
PrereqTraits
PrereqReligions
PrereqCorporations
PrereqBonusORs
PrereqFeatures
PrereqTerrains
PrereqImprovements
PrereqBuildingANDs
PrereqBuildingORs
PromotionOverwrites
PromotionReplacedBy
PromotionDegradesTo
PromotionAllows
PromotionExcludes
CIV4SpellInfos.xml (Spells Sheet)
bSummonMaster
iPromotionDuration
Quote
CIV4UnitInfos.xml(Units Sheet)
iSpyEscapeProb: base modifier to spy escape after mission chances
iSpyDeceptionProb: base modifier to spy avoiding discovery
iSpyInterceptProb: base modifier to chances to reveal a spy
PythonOnDeath: "Function run any time that the unit attempts to be killed. If the function returns a 1, the kill process will not continue (like Immortality). This call is made AFTER Immortal rebirth stops the kill function. There is a python exposed command to disable this call from being made by the unit anymore (PyUnit.setDisablePyDeath(true)), and this function will not run when the unit is killed at the end of converting."
Images: for great people, list of pictures for birth popup
Quotes: for great people, list of quotes for birth popup (use the same number as image)
DenyPromotions: Unit is uncapable of having any promotion listed in these fields
AllowPromotions "Grants the unit permission to gain listed promotions regardless of unit-centric prerequisites (PrereqUnitClass, PrereqUnits, PrereqTier, PrereqWeaponTier). Also the unit must list any promotion in this field if the promotion is flagged as <bRequiresPermission>"
more to come...
Ahwaric Jul 12, 2009, 07:25 AM CIV4BuildingClassInfos.xml
bUnique: building is unavaliable unless allowed in civ entry
CIV4UnitClassInfos.xml
bUnique: as above, but for unit
CIV4TraitInfos.xml
TerrainExperienceModifiers: changes experience (%) from cobat on specific terrain
PeakYieldChanges: sets yields for peak tiles (i.e. for Khazad)
GlobalSeaPlotYieldChanges: extra yields from water tiles
FeatureChangeYields: extra yield from feature
FeatureProductionChanges: extra production (%) from chopping forests
FeatureGrowthChanges: modifies chances for feature spread
iHurryPopulationModifier: modifies hammers from population rush (extra hammers applied for next item in queque)
PeaceCommerceModifiers: commerce modifer applied only when at peace
SpecialistYieldChanges: extra yields from specialists
SpecialistCommerceChanges: extra commerce from specialists
iModReligionSpreadChance: modifies religion spread chances; -100% disables religion founding
CIV4CorporationInfo.xml
FreeBuildingClass: free building acquired on guild spread
FreePromotion: free promotion applied for valid units in cities with the guild
UnitCombatFreeExperiences: free xp for specific unit combats
iDefense: extra defense applied in cities with the guild (building type, so ignored by cannons)
iUpgradeCostModifier: upgrade cost modifier (%) in cities with guild
CIV4HandicapInfo.xml
iUnownedWaterTilesPerGameAnimal: self explanatory, used in water animals generation
iAnimalEscalationTurnsElapsed: defines number of turns for strenght enhancements on wild animals
iLairsPerCycle: number of lairs created by every lair creation cycle (defined in gamespeedinfo.xml)
iPercentDemonsPerUnownedEvilPlot: demon creation
iDemonGlobalCountSpawnBoostInterval
iDemonGlobalCountSpawnBoostRate
iDemonSpawnRateGlobalCounterEnhancementPercent
iDemonGlobalCounterFreeXPPercent: free xp granted for demon civ units on creation (% of AC)
iDemonPerTurnKnownTechsPercent
iDemonBonus
iAIDemonBonus
CIV4GoodyInfo.xml
iMaxTurnsElapsed: max game turns that the goody is valid
BarbarianCivilization: for spawned barbarians, sets which civ they spawn for
Ahwaric Jul 12, 2009, 07:26 AM this one too
Pazyryk Jul 12, 2009, 12:31 PM I'm changing the Armageddon counter in python using CyGame().changeGlobalCounter(integer). The counter changes just fine, but the responsible civilization doesn't seem to get credit/blame for the change. Is there a python function to assign blame/credit for Armageddon changes?
xienwolf Jul 12, 2009, 12:52 PM You have to change through the player to get it assigned to them (and ONLY through the player, they will update the global themselves)
Pazyryk Jul 12, 2009, 01:37 PM Ah! so there is a pPlayer function that changes the counter? Is it python accessible and can you tell me what it is?
xienwolf Jul 12, 2009, 03:19 PM Yes, it is python accessible, only in FF, Orbis and those who use our code or that part of it in their mods. It should be the exact same command, but do it on pPlayer instead of CyGame()
Pazyryk Jul 12, 2009, 06:22 PM Maybe it's not accessible in Orbis?
Here is the code that works partially. It changes global counter (in either direction as intended) but does not give credit to player:
def onUnitPromoted(self, argsList):
'Unit Promoted'
pUnit, iPromotion = argsList
player = PyPlayer(pUnit.getOwner())
(snip)
# Elohim start
pPlayer = gc.getPlayer(pUnit.getOwner())
# Diamond Soul
if iPromotion == gc.getInfoTypeForString('PROMOTION_MONK_14'):
if pPlayer.getAlignment() == gc.getInfoTypeForString('ALIGNMENT_GOOD'):
CyGame().changeGlobalCounter(-1)
if pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_OCTOPUS_OVERLORD S') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_COUNCIL_OF_ESUS' ) or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL') :
pUnit.setReligion(-1)
elif pPlayer.getAlignment() == gc.getInfoTypeForString('ALIGNMENT_EVIL'):
CyGame().changeGlobalCounter(1)
if pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_RUNES_OF_KILMORP H') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_RUNES_OF_KILMORP H') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_THE_ORDER'):
pUnit.setReligion(-1)
Here is my changed code. This just gives a callback error "CyPlayer does not have attribute changeGlobalCounter()"
def onUnitPromoted(self, argsList):
'Unit Promoted'
pUnit, iPromotion = argsList
player = PyPlayer(pUnit.getOwner())
(snip)
# Elohim start
pPlayer = gc.getPlayer(pUnit.getOwner())
# Diamond Soul
if iPromotion == gc.getInfoTypeForString('PROMOTION_MONK_14'):
if pPlayer.getAlignment() == gc.getInfoTypeForString('ALIGNMENT_GOOD'):
pPlayer.changeGlobalCounter(-1)
if pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_OCTOPUS_OVERLORD S') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_COUNCIL_OF_ESUS' ) or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL') :
pUnit.setReligion(-1)
elif pPlayer.getAlignment() == gc.getInfoTypeForString('ALIGNMENT_EVIL'):
pPlayer.changeGlobalCounter(1)
if pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_RUNES_OF_KILMORP H') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_RUNES_OF_KILMORP H') or \
pUnit.getReligion() == gc.getInfoTypeForString('RELIGION_THE_ORDER'):
pUnit.setReligion(-1)
Using "player" didn't work either (I always get CyPlayer and PyPlayer confused).
xienwolf Jul 12, 2009, 06:37 PM Ah, I hadn't actually checked it, but assumed I would have kept to the same name as the game version, it appears I did not. Use pPlayer.changeGlobalCounterContrib(iChange)
Pazyryk Jul 12, 2009, 08:08 PM Thanks xienwolf! It works!
xienwolf or Ahwaric,
Please ignore if you don't like feature requests, but two things that would have made my life easier:
1. pCity.setOriginalOwner(iNewOriginalOwner) - I sure wish there was such a python function (for my modified Tolerant implementation)
2. bRivalTerritory - Can this be made changeable by promotion?
xienwolf Jul 12, 2009, 09:03 PM Explore Rival Territory? It is already available through promotion, just has a different name.
Pazyryk Jul 12, 2009, 09:51 PM And what's that name? (I looked in schema and Ahwaric's post above for likely suspects...but can't find anything)
xienwolf Jul 12, 2009, 10:26 PM <bRivalTerritoryExplore>1</bRivalTerritoryExplore>
Used for Freelancer promo in FF, may not have been imported.
arcticnightwolf Jul 19, 2009, 01:52 PM i have a question ... is there any function which returns all sub-entities of entity ??
i mean something like (py) listUnits = getAllEntities(UNIT_UNITTYPE) (/py) ...
or i have to do it one by one
xienwolf Jul 19, 2009, 02:05 PM for i in range(gc.getNumUnitTypes()):
list.asppend(gc.getUnitInfo(i))
or something along those lines. If you mean to list everything in an XML file. If you mean all units currently in the game, you would have to loop all players and loop their individual unit lists.
arcticnightwolf Jul 19, 2009, 02:19 PM for i in range(gc.getNumUnitTypes()):
list.asppend(gc.getUnitInfo(i))
oh, thanks a lot! ... :D
Pazyryk Aug 03, 2009, 12:51 PM Is there such a thing as pPlayer.getGlobalCounterContrib() or equivalent function? Basically, I want access in python to the player's contribution to the global counter. (I already know how to change it. I want to know how to get it.)
Opera Aug 03, 2009, 02:05 PM Yes, getGlobalCounterContrib() exists and you can use it with a player :)
Pazyryk Aug 04, 2009, 09:25 AM Thanks Opera! Sometimes you just know the answer without needing to ask.
Ahwaric implemented my AC credit change for spells. Yea me!
It's interesting that he didn't change this for onSetPlayerAlive. I tried changing this in my modmodmod and it had mixed results:
1. When I eliminated the evil Sheiam, I did get credit for the resulting AC drop (balanced in part by an increase from razing a RoK city).
2. When good Banner built Mercurian Gate, it seems that both Banner and Mercurians got blamed for big AC increases (I think 5 for Mercs).
I'm not absolutely sure that #2 came from my change, but I suspect it has something to do with Ahwaric's "various reasons" for not changing onSetPlayerAlive. Does anyone know what is going on here?
Opera Aug 04, 2009, 09:31 AM Hm, I don't know. To be honest, I'm not sure how the Contrib thing works. I'd have to look at it.
Valkrionn Aug 05, 2009, 12:18 AM Actually, summoning the Mercs causes the AC to rise 5 points. Something to do with them not caring about innocent bystanders? :lol:
Pazyryk Aug 05, 2009, 08:43 AM OK. So if my code change gives +5 AC credit to Mercs then it is probably working correctly. (I'm not sure if the Merc effect is appropriate. However, I do think it is good for the active player to get AC credit/blame for killing evil/good civs.)
arcticnightwolf Aug 06, 2009, 12:15 PM just to be sure: if I kill civ, it's contribution to AC is annulled ??
Pazyryk Aug 06, 2009, 01:52 PM arcticnightwolf,
No, not if I understand your question correctly. Whatever a civ did in the past stays done. If an evil civ is eliminated, that causes -5 at that moment (in addition to possible - or + changes if you raze the city). If good civ eliminated, that causes +5 at that moment. My code change works exactly the same, except credit for the AC change is given to the "active player" (whoever's turn it is). So if evil Sheiam die during your turn, -5 to AC and you get credit for that change.
arcticnightwolf Aug 07, 2009, 11:59 AM arcticnightwolf,
No, not if I understand your question correctly. Whatever a civ did in the past stays done. If an evil civ is eliminated, that causes -5 at that moment (in addition to possible - or + changes if you raze the city). If good civ eliminated, that causes +5 at that moment. My code change works exactly the same, except credit for the AC change is given to the "active player" (whoever's turn it is). So if evil Sheiam die during your turn, -5 to AC and you get credit for that change.
i mean generally in Orbis modmodmodwhatever,
When I kill civilization, number of civs changes therefore RAW value cap of AC lowers therefore if I destroy Sheaim AC percentage will rise
xienwolf Aug 07, 2009, 04:32 PM Raw cap should be set at the start of the game for the number of Civs selected, it should not dynamically adjust to the number of civs currently active.
sputnik323 Sep 03, 2009, 11:59 AM After seeing some of the yields of some of the improvements I decided to look into doing some custom tweaking on the improvements. Example: Ivory has kind of crappy yields compared to other improvements, and its rare. So... to my question.
If I were to use the editor to change some of the yields, and allow some bonuses to give happiness, and I wanted to send those changes to a friend, what files would I send? Should I just send the whole Assets folder to be safe?
Thanks I'm new to all of this...
Opera Sep 03, 2009, 12:15 PM The files you'd modify would likely be ImprovementInfos.xml and/or BonusInfos.xml, both of which you can find in Assets/XML/Terrain ;)
thursday Sep 05, 2009, 12:36 AM What files would I mess around with to change the percent-based chances of Scion awakened and Grigori heroes to a counter that builds over time (like a separate GP counter). With both civs, it annoyed me when I got a whole lot at the very beginning and basically won from turn 40 and also when I'd only get, say, 1 awakened for the whole first 70 turns. Or is it even possible to change this?
Opera Sep 05, 2009, 03:00 AM You'd need to mess with Assets/python/CustomFunctions.py for the mechanics and Assets/Screens/CvMainInterface.py for the percentage display.
What you plan to do is doable; not sure how yet, but it is.
thursday Sep 05, 2009, 04:23 AM Thanks a bunch--both for the tip and for all the hard work you've put into modding! I might take a stab at it sometime tomorrow.
xienwolf Sep 05, 2009, 11:24 AM You'll have to read some of Lutefisk Mafia's old posts about pickles since this would require that you save data in python to load up between savegames, and pickles are the keyword for saving python data (or scripting)
Schwarzbart Sep 10, 2009, 01:26 AM How can I reduce the number of Vulcano events or if not posible disable his event? Because in my last Orbis b/c games nearly every NPC city with some Peak next to it haved a Vulkano at a time wenn the NPCs at max haved 2 or 3 citys.
Belizan Sep 12, 2009, 03:38 PM Is there no Orbis DLL source for modmods?
Opera Sep 12, 2009, 03:55 PM It comes with each installer ;)
Pazyryk Sep 17, 2009, 10:36 AM There is a unitCannotMoveInto function in CvGameUtils.py. Does any one know whether this works with AI path finding? I'm afraid that if I tried to use this then the AI would just walk up to an un-allowed tile and sit there.
Opera Sep 17, 2009, 10:38 AM What do you want to do? Such a callback seems like a performance eater.
Pazyryk Sep 17, 2009, 01:30 PM Isn't it already a performance eater? It's just sitting there empty right now in GameUtils. If it's getting called all the time anyway, it doesn't seem like a couple if statements would add much time.
def unitCannotMoveInto(self,argsList):
ePlayer = argsList[0]
iUnitId = argsList[1]
iPlotX = argsList[2]
iPlotY = argsList[3]
return False
Opera Sep 17, 2009, 01:35 PM You have to check the Assets/XML/PythonCallbacks.xml file to see if it's set to 1 so it's called. If it's set to 0, then it isn't called.
Ahwaric Sep 17, 2009, 03:24 PM It is a high time I start answering some questions here...
Not that I mind other people doing it ;)
How can I reduce the number of Vulcano events or if not posible disable his event? Because in my last Orbis b/c games nearly every NPC city with some Peak next to it haved a Vulkano at a time wenn the NPCs at max haved 2 or 3 citys.
You need to change iWeight for EVENTTRIGGER_VOLCANO in CIV4EventTriggerInfos.xml
If you have office 2007 it can easily be done from orbis editor, too.
The weight is currently set to 100, so not so high. There are just not so many events in early game. I really need to review what events we do have and when do they fire...
You have to check the Assets/XML/PythonCallbacks.xml file to see if it's set to 1 so it's called. If it's set to 0, then it isn't called.
True. There are some functions that are better avoided. Well, too much python is better avoided ;)
I really need to add a tag for minimum distance between improvements to get rid of that canbuild callback...
Pazyryk Sep 17, 2009, 04:01 PM Thanks! I'm not sure that I ever even looked in PythonCallbackDefines.xml. So if I turn on CANNOT_MOVE_INTO_CALLBACK it's going to be a huge performance hit?
I wish I could handle movement restrictions in a more dynamical way. It's very limiting to only have "passable" and "impassible", with units that either can or can't enter impassible. I know that there is TerrainImpassables and FeatureImpassables in the unit XML, but this doesn't help much because I can't change it in game (e.g., with level prereq, promotion, spell, event, etc.). Actually, I could do everything I want if I could just change TerrainImpassables and FeatureImpassables via promotions (then I could giveth and taketh away the promos for whatever I wanted).
Pazyryk Sep 18, 2009, 07:16 PM If I change tile yields using a python command, do I need to do anything (like recalculate areas) to make the AI aware of the changes for the purpose of finding best city locations?
If it matters, I'm using eTeam.changeImprovementYieldChange to alter a Unique Feature yield for a particular AI player. It seems to work (mousing over the tile shows the new yield). But the yield graphics shown when a settler is selected don't update even after several turns. Also, the "blue circle" city placement suggestions don't seem to update (or maybe they are too stupid to see a 30/30/30 yield tile as a good thing), but I'm not clear if that has anything to do with AI city placement.
xienwolf Sep 19, 2009, 01:26 AM To update the icons on the map you need to run .updateSymbols, not sure if that is a map or plot function. You would also need the AI to recalculate their ideal found locations, I am almost certain that the function required to do so is not exposed to python
Ahwaric Sep 28, 2009, 05:06 AM Some quick update here - and I really need to find time to update the first post, too :)
Next version of Orbis will bring some big changes on the modder side. The most important are:
added functional traits sheet in editor
Spells tags rearranged (including editor and schema files) - I have grouped reladed ones together. The same is planned for promotions & units.
Tags removed:
explorable - was influencing exploring units too much so I have not been using it
promotionreplacedby - all it added was a nice description, all that it was supposed to do can be done by promotionexcludes
pythonondeath - with removing alcinus mechanics, no other unit uses it now. Also, the tag is quite 'persistent' regarding when to fire so I have decided to remove it if not needed
So, in general, the changes are big and updating can be hard as some things will have to be manually rewriten.
To make things brighter, if you have any complains, let me know.
Also, if there is a tag that would make you happy if existed in Orbis, please let me know. I do not promise anything, but will see what can be done.
Opera Sep 28, 2009, 05:18 AM The onCombatVictoryYields or something similar that you can find in FF ;)
civ_king Oct 02, 2009, 11:08 PM I could make some buildings in SketchUp?
Opera Oct 26, 2009, 04:14 AM Ahwaric, could I request some tags from FF? I may import them myself but, well...
Two promotion tags: NewName and bStackEffect.
Also, the commander system would be nice. I looked into it but I'm not sure how it works yet... I'll wait till I grasp it more to see if I'm able to import it.
Ahwaric Oct 26, 2009, 04:51 AM Ahwaric, could I request some tags from FF? I may import them myself but, well...
Two promotion tags: NewName and bStackEffect.
It is easier to ask :p
I can always use your code after you improt them ;)
Well, I have already tried with newname - and did not succeed. But maybe this time... will see.
Stack effect - another tag that scares me.
Will see what I can do (time, more time please ;) ). I remeber of the yields from kills, too. But that one has to be rewritten to suit your needs.
Also, the commander system would be nice. I looked into it but I'm not sure how it works yet... I'll wait till I grasp it more to see if I'm able to import it.
Says the woman that said "Orbis needs more original stuff and less imports" :p
Sorry, just beying playful today. Sun and all that nice weather circumstances...
Opera Oct 26, 2009, 04:57 AM You're picking on me! Like everyone else! :lol:
Anyway, I'm willing to write an all new and shiny "commander system" but I don't know where to start, what we want and if I would have time & energy for it... I just know I could use FF's one (or HoTK's one, more complex) for the Ngomele's Kha.
WilliamOfOrange Nov 02, 2009, 12:58 PM I have a question about adding units. Opera has been very helpful in answering my questions, but I thought I would share my problem in case others have seen and also need help or they can help me.
I have added one unit to the Orbis editor and this is the error message that I get. has anyone seen this?
Ahwaric Nov 02, 2009, 01:53 PM Looks like tags are in wrong order - in unitinfo the order is different than in schema file.
Schema seems fine, but I will have to test it.
Could you share the file please? It will help me with debuging if I can use it.
WilliamOfOrange Nov 02, 2009, 03:36 PM Yeah, and the weird thing is that even if you add the unit not at the end of the units in the xlsm file, it still happens. You'll have to create an entry in the UnitClassInfos to match the one I added. Here it is.
Ahwaric Nov 03, 2009, 01:22 PM Sorry for the delay, I had little time...
But found it. You did not add -1 in iMinAreaSize for the new unit. Fields with -1 as default value have to be filled.
Fortunately it is easy to fix :)
It is one of the few tags that are still required. On the other hand, you can get rid of all fields with just 0 inserted - it will be added by schema file anyway.
WilliamOfOrange Nov 04, 2009, 10:42 AM Brilliant! I thought I had put that one in there. All the zeroes were part of my test. Thank you very much.
WilliamOfOrange Nov 30, 2009, 09:12 AM New Question here:
I have been adding some "spells" such as Land and Take Off to units with a Ability to Fly promotion. The spell for Take Off adds the Flying promotion and removed a Landed Promotion. I have the Landing spell do the opposite. Everything works great! I noticed that The unit could still land on water terrain (as I gave the water walking ability to the flying promotion as well..or maybe it was already there?).
I tried to make a promotion called Above the Water that the unit gains when it is flying over Coast and Ocean tiles and which blocks the Land spell. I also have divised some spells and promotions which work for a unit with the On Water promotion that I added so that a unit can Dive underwater or Swim back to the surface.
Now, here is the problem. Everything works fine in the editor with the spells, when I give the unit the promotion needed, such as Above the Water or On Water. For some reason, the units are not auto-acquiring the promotions they need. I have modelled those promotions the same as Forest Stealth, except that they do not turn invisible and instead of requiring Forest or Jungle Features, they need Coast or Ocean Terrain.
Could someone else try this and see if it works, because I have fiddled around with things and can't find the error. I have checked spelling, and other silly errors, and redone it once or twice, but I can't seem to get it to recognize it's on a water tile and adopt the promotion like the Forest Stealth works. Any ideas?
Thanks.
xienwolf Nov 30, 2009, 10:26 AM You aren't using the Forest Stealth too closely are you? Forest = feature. Ocean = terrain.
Also ensure that the promotion works without any terrain required first. That checks things like Unitcombat and minlevel for you. Both easily forgotten
WilliamOfOrange Dec 01, 2009, 07:22 AM I do have the ocean in the terrain part. I will try testing it without the terrain prereq....good idea. Does UNITCOMBAT need to be stated? Also, I haven't used the minlevel for a lot of the promotions that I have added. I have seen that some use it and some don't. I certainly could use it to help ensure only certain units will use it, but does it really matter?
xienwolf Dec 01, 2009, 09:16 AM Minlevel needs to not be -1, and yes, you must list unitcombats for AutoAcquire to work
WilliamOfOrange Dec 02, 2009, 02:51 PM Turns out that I did have the unitcombats set and did not have the min level at -1. I wrote the question at work and didn't have the file in front of me.I tested without the terrain prereq and still nothing. I will try again on the weekend. Thanks for you help though. :goodjob:
EDIT: I've figured it out. I have bValidate set to 1. It's weird because another spell I added didn't work without it, but I noticed that Forest Stealth didn't have it. Works now.
arkham4269 Jan 13, 2010, 10:40 AM Semi-stupid n00b question here. My wife is doing all this creative writing stuff and that has got me thinking about stuff (especially since my college classes are about as exciting as watching oatmeal harden - going back to college in your 40's is a trial) and so I feel it is time to earn my Orbis court writer name again.
Yet I'm having trouble finding all the entries to see what's there and what isn't. I poke around the assets folder and found things like the CIV4GameText_Orbis.html but it looks old to me like it hasn't been updated. Till I get my laptop repaired, I'm using my wife's machine where I play via Steam so I don't know if I'm getting all the files. Right now I want to be able to look at things like buildings, units, resources, and stuff like that. I just hate it when I see a entry that is missing text. Since Ahwaric is going to be busy till February, I figure this gives me lots of time to get stuff done.
Ahwaric Jan 13, 2010, 01:07 PM Yeah, unfortunately I really do not have much time to work on Orbis, so it is probably a month before I release 0.30 version.
CIV4GameText_Orbis.html? You mean xml file, right?
I update it every time I change any text entry. But it is old anyway, as I have imported all the ffh text entries to my new text editor.
I can share my current version if you want, but you first have to tell me if you have access to microsoft excell, preferably 2007 version. If not, I will try to find another way.
arkham4269 Jan 13, 2010, 03:10 PM Yeah, unfortunately I really do not have much time to work on Orbis, so it is probably a month before I release 0.30 version.
CIV4GameText_Orbis.html? You mean xml file, right?
I update it every time I change any text entry. But it is old anyway, as I have imported all the ffh text entries to my new text editor.
I can share my current version if you want, but you first have to tell me if you have access to microsoft excell, preferably 2007 version. If not, I will try to find another way.
Yeah, I meant xml. I wasn't looking at the file. As for my system, I have access to Excel 2003, 2007 and the OpenOffice version of Excel. Personally I prefer 2003 but that's because I know it better.
Anyway, I figure since it's going to be awhile before 0.30 it gives more time to get a lot of the text stuff worked out.
Ahwaric Jan 13, 2010, 06:09 PM Ok, I have attached the current text editor to the first post of this thread - happy hunting for empty entries, there are a lot.
If you add anything, please mark it with a different color, a list would not hurt either. Or just post the entry somewhere...
Thanks for doing this :)
arkham4269 Jan 13, 2010, 06:19 PM Ok, I have attached the current text editor to the first post of this thread - happy hunting for empty entries, there are a lot.
If you add anything, please mark it with a different color, a list would not hurt either. Or just post the entry somewhere...
Thanks for doing this :)
Hey, don't think it's all out of the goodness of my heart. I'm anal retentive (can't spell analyst without anal) and I just hate seeing 'empty' spaces.
I am going to kvetch at the good folks at PC Gamer that they too often don't feature the modding community enough. I have seen A LOT of people commenting on Orbis (or Planetfall or Dune Wars) saying, "THIS FREAKIN' ROCKS DUDE!"
I mean I haven't played vanilla BTS since about a week after it came out and I think a lot of games are like that. Just focusing on the new games really is an insult to all the people (like you) who put forth a lot of effort (and don't get paid for it) because you love the genre so to speak. Magazines like PC Gamer should highlight work like yours more often because it IS worth showing.
Valkrionn Mar 18, 2010, 12:33 AM Hey, don't think it's all out of the goodness of my heart. I'm anal retentive (can't spell analyst without anal) and I just hate seeing 'empty' spaces.
I am going to kvetch at the good folks at PC Gamer that they too often don't feature the modding community enough. I have seen A LOT of people commenting on Orbis (or Planetfall or Dune Wars) saying, "THIS FREAKIN' ROCKS DUDE!"
I mean I haven't played vanilla BTS since about a week after it came out and I think a lot of games are like that. Just focusing on the new games really is an insult to all the people (like you) who put forth a lot of effort (and don't get paid for it) because you love the genre so to speak. Magazines like PC Gamer should highlight work like yours more often because it IS worth showing.
Unfortunately, it won't happen. Or at least, not often. Mainly because magazines like PC Gamer make a large portion of their profits from advertisements... Which mods can not pay for. It sucks, but that's the way the system works, and they have a finite number of pages available... I'd focus on the big names that pay the bills too, if I were them.
Websites, however, are different; They have no page limit, and make money just for people visiting the site. I'd be focusing on them. ;)
Ignus Apr 27, 2010, 07:24 AM I tried a map in vanilla ffh 2, and I liked it.... seeing ozzy's map of erebus ported from ffh2
too orbis, I wanted to do the same with THIS map but I crashed into some difficulties:badcomp:
I am a total newbie(the most I ever changed was the civilization leaders in the old ozzy's map for erebus, I did it because I thougt lanun was better off with falamar;),and Alexis sucked:mischief:)
But please, do help me Experienced modders! :salute:
A_Hamster Aug 18, 2010, 09:45 PM I'm trying to add more names for great generals in Orbis since the game seems to run out early. I edited both Civ4GameTextOrbUnits and Civ4GameTextOrbpopups, yet the game is still producing generic great generals after the "official" names have run out. What other XML file needs editing? Or is it something else that needs changing?
Valkrionn Aug 18, 2010, 11:40 PM You want to add the new names to the unit itself. There should be a list under the UniqueNames tag.
A_Hamster Aug 19, 2010, 10:56 PM You want to add the new names to the unit itself. There should be a list under the UniqueNames tag.
Thank you. I'll make the changes.
|
|