I have started to implement some changes to the way ruins and barrows work, to suit my own tastes. (As I previously discussed in another thread, I like playing no settler/wildlands. These changes are a result of my plans aided by responders to that thread, thanks again all!)
Now, instead of just walking onto a ruin or barrow to destroy it, the player must take some effort and risk. When a unit is on the lair, they gain a spell which allows them to assult the "dungeon". Horrid monsters may emerge, or great rewards may be found.
Because this didn't seem thematically correct for the Clan, I gave them a different spell/action while they are still at peace with the barbarians, which allows them to spend money to attempt to stir up the nest of monsters. The money might be wasted, or the result might be something hostile to the Clan, so there is still a risk. Later I will add units which join the player nstead of just being Barb, and a few more intersting results.
Note, at the moment this Clan option remains even once at war, but the Clan gets the option to plunder the lair too. I left it like that for now, there may be value to risking a payment even when at war with the barbs.
Small problem at present : It is possible to build a city on a lair, and explore it repeatedly... while this is Waterdeepy fun, I think it is too abusable. I might try and make a result which makes a city turn Barb and fill it with monsters!
- Changed CIV4ImprovementInfos.xml
- Set <bPermanent>1</bPermanent> for <Type>IMPROVEMENT_BARROW</TYpe> and <Type>IMPROVEMENT_RUINS</Type>
- set <iAppearanceProbability>750</iAppearanceProbability> for each so there would be plenty to test. I will lower this, but still leave it higher than original, for play.
- Added to CIV4SpellInfos.xml :
Spoiler :<SpellInfo>
<Type>SPELL_MARNOK_DUNGEONEER</Type>
<Description>TXT_KEY_SPELL_MARNOK_DUNGEONEER</Description>
<Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
<Strategy>NONE</Strategy>
<Help>TXT_KEY_SPELL_MARNOK_DUNGEONEER_HELP</Help>
<PromotionPrereq1>NONE</PromotionPrereq1>
<PromotionPrereq2>NONE</PromotionPrereq2>
<UnitPrereq>NONE</UnitPrereq>
<UnitClassPrereq>NONE</UnitClassPrereq>
<UnitCombatPrereq>NONE</UnitCombatPrereq>
<UnitInStackPrereq>NONE</UnitInStackPrereq>
<CivilizationPrereq>NONE</CivilizationPrereq>
<ReligionPrereq>NONE</ReligionPrereq>
<StateReligionPrereq>NONE</StateReligionPrereq>
<TechPrereq>NONE</TechPrereq>
<bAllowAI>1</bAllowAI>
<bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
<bCausesWar>0</bCausesWar>
<bGlobal>0</bGlobal>
<bInBordersOnly>0</bInBordersOnly>
<bInCityOnly>0</bInCityOnly>
<iAIWeight>5</iAIWeight>
<bDisplayWhenDisabled>0</bDisplayWhenDisabled>
<bHasCasted>1</bHasCasted>
<bIgnoreHasCasted>0</bIgnoreHasCasted>
<bResistable>0</bResistable>
<iRange>0</iRange>
<iResistModify>0</iResistModify>
<iDamage>0</iDamage>
<iDamageLimit>0</iDamageLimit>
<DamageType>NONE</DamageType>
<AddPromotionType1>NONE</AddPromotionType1>
<AddPromotionType2>NONE</AddPromotionType2>
<AddPromotionType3>NONE</AddPromotionType3>
<RemovePromotionType1>NONE</RemovePromotionType1>
<RemovePromotionType2>NONE</RemovePromotionType2>
<RemovePromotionType3>NONE</RemovePromotionType3>
<bBuffCasterOnly>0</bBuffCasterOnly>
<ConvertUnitType>NONE</ConvertUnitType>
<CreateBuildingType>NONE</CreateBuildingType>
<CreateFeatureType>NONE</CreateFeatureType>
<CreateImprovementType>NONE</CreateImprovementType>
<SpreadReligion>NONE</SpreadReligion>
<CreateUnitType>NONE</CreateUnitType>
<iCreateUnitNum>0</iCreateUnitNum>
<bPermanentUnitCreate>0</bPermanentUnitCreate>
<CreateUnitPromotion>NONE</CreateUnitPromotion>
<bImmuneTeam>0</bImmuneTeam>
<bImmuneNeutral>0</bImmuneNeutral>
<bImmuneEnemy>0</bImmuneEnemy>
<bImmuneFlying>0</bImmuneFlying>
<bImmuneNotAlive>0</bImmuneNotAlive>
<bDispel>0</bDispel>
<bPush>0</bPush>
<bRemoveHasCasted>0</bRemoveHasCasted>
<bSacrificeCaster>0</bSacrificeCaster>
<iChangePopulation>0</iChangePopulation>
<iCost>0</iCost>
<iImmobileTurns>0</iImmobileTurns>
<iMiscastChance>0</iMiscastChance>
<PyMiscast></PyMiscast>
<PyResult>spellMarnokDungeoneer(pCaster)</PyResult>
<PyRequirement>reqMarnokDungeoneer(pCaster)</PyRequirement>
<Effect>EFFECT_SPELL1</Effect>
<Sound>AS3D_SPELL_SANCTIFY</Sound>
<HotKey></HotKey>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<bGraphicalOnly>0</bGraphicalOnly>
<iHotKeyPriority>0</iHotKeyPriority>
<Button>Art/Interface/Buttons/Spells/Rob Grave.dds</Button>
</SpellInfo>
<SpellInfo>
<Type>SPELL_MARNOK_BARBARIAN_ALLY_DUNGEONEER</Type>
<Description>TXT_KEY_SPELL_MARNOK_BARB_DUNGEONEER</Description>
<Civilopedia>TXT_KEY_SPELL_PLACEHOLDER_PEDIA</Civilopedia>
<Strategy>NONE</Strategy>
<Help>TXT_KEY_SPELL_MARNOK_BARB_DUNGEONEER_HELP</Help>
<PromotionPrereq1>NONE</PromotionPrereq1>
<PromotionPrereq2>NONE</PromotionPrereq2>
<UnitPrereq>NONE</UnitPrereq>
<UnitClassPrereq>NONE</UnitClassPrereq>
<UnitCombatPrereq>NONE</UnitCombatPrereq>
<UnitInStackPrereq>NONE</UnitInStackPrereq>
<CivilizationPrereq>NONE</CivilizationPrereq>
<ReligionPrereq>NONE</ReligionPrereq>
<StateReligionPrereq>NONE</StateReligionPrereq>
<TechPrereq>NONE</TechPrereq>
<bAllowAI>1</bAllowAI>
<bAdjacentToWaterOnly>0</bAdjacentToWaterOnly>
<bCausesWar>0</bCausesWar>
<bGlobal>0</bGlobal>
<bInBordersOnly>0</bInBordersOnly>
<bInCityOnly>0</bInCityOnly>
<iAIWeight>5</iAIWeight>
<bDisplayWhenDisabled>0</bDisplayWhenDisabled>
<bHasCasted>1</bHasCasted>
<bIgnoreHasCasted>0</bIgnoreHasCasted>
<bResistable>0</bResistable>
<iRange>0</iRange>
<iResistModify>0</iResistModify>
<iDamage>0</iDamage>
<iDamageLimit>0</iDamageLimit>
<DamageType>NONE</DamageType>
<AddPromotionType1>NONE</AddPromotionType1>
<AddPromotionType2>NONE</AddPromotionType2>
<AddPromotionType3>NONE</AddPromotionType3>
<RemovePromotionType1>NONE</RemovePromotionType1>
<RemovePromotionType2>NONE</RemovePromotionType2>
<RemovePromotionType3>NONE</RemovePromotionType3>
<bBuffCasterOnly>0</bBuffCasterOnly>
<ConvertUnitType>NONE</ConvertUnitType>
<CreateBuildingType>NONE</CreateBuildingType>
<CreateFeatureType>NONE</CreateFeatureType>
<CreateImprovementType>NONE</CreateImprovementType>
<SpreadReligion>NONE</SpreadReligion>
<CreateUnitType>NONE</CreateUnitType>
<iCreateUnitNum>0</iCreateUnitNum>
<bPermanentUnitCreate>0</bPermanentUnitCreate>
<CreateUnitPromotion>NONE</CreateUnitPromotion>
<bImmuneTeam>0</bImmuneTeam>
<bImmuneNeutral>0</bImmuneNeutral>
<bImmuneEnemy>0</bImmuneEnemy>
<bImmuneFlying>0</bImmuneFlying>
<bImmuneNotAlive>0</bImmuneNotAlive>
<bDispel>0</bDispel>
<bPush>0</bPush>
<bRemoveHasCasted>0</bRemoveHasCasted>
<bSacrificeCaster>0</bSacrificeCaster>
<iChangePopulation>0</iChangePopulation>
<iCost>0</iCost>
<iImmobileTurns>0</iImmobileTurns>
<iMiscastChance>0</iMiscastChance>
<PyMiscast></PyMiscast>
<PyResult>spellMarnokBarbarianAllyDungeoneer(pCaster)</PyResult>
<PyRequirement>reqMarnokBarbarianAllyDungeoneer(pCaster)</PyRequirement>
<Effect>EFFECT_SPELL1</Effect>
<Sound>AS3D_SPELL_SANCTIFY</Sound>
<HotKey></HotKey>
<bAltDown>0</bAltDown>
<bShiftDown>0</bShiftDown>
<bCtrlDown>0</bCtrlDown>
<bGraphicalOnly>0</bGraphicalOnly>
<iHotKeyPriority>0</iHotKeyPriority>
<Button>Art/Interface/Buttons/Spells/Rob Grave.dds</Button>
</SpellInfo> - Added to CvSpellInterface.py:
Spoiler :def reqMarnokDungeoneer(caster):
pPlot = caster.plot()
if pPlot.getImprovementType() != gc.getInfoTypeForString('MARNOK_HILLGIANT_STEADING') and pPlot.getImprovementType() != gc.getInfoTypeForString('IMPROVEMENT_BARROW') and pPlot.getImprovementType() != gc.getInfoTypeForString('IMPROVEMENT_RUINS'):
return False
pPlayer = gc.getPlayer(caster.getOwner())
eTeam = gc.getTeam(gc.getPlayer(gc.getBARBARIAN_PLAYER()).getTeam())
iTeam = pPlayer.getTeam()
if eTeam.isAtWar(iTeam) == False:
if pPlayer.isBarbarian():
return False
return True
def spellMarnokDungeoneer(caster):
iPlayer = caster.getOwner()
pPlot = caster.plot()
pPlot.setImprovementType(-1)
pPlayer = gc.getPlayer(caster.getOwner())
iRnd = CyGame().getSorenRandNum(100, "Rob Grave")
if iRnd < 20:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_LOW_GOLD'), caster)
if iRnd >= 20 and iRnd < 30:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_HIGH_GOLD'), caster)
if iRnd >= 30 and iRnd < 40:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_TECH'), caster)
if iRnd >= 40 and iRnd < 45:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_MAP'), caster)
if iRnd >= 45 and iRnd < 55:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_SKELETONS'), caster)
if iRnd >= 55 and iRnd < 65:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BARBARIANS_WEAK'), caster)
if iRnd >= 65 and iRnd < 75:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BARBARIANS_STRONG'), caster)
if iRnd >= 75 and iRnd < 80:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_LIZARDMEN_STRONG'), caster)
if iRnd >= 80 and iRnd < 85:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_SPIDER'), caster)
if iRnd >= 85 and iRnd < 90:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_HILLGIANT'), caster)
if iRnd >= 90 and iRnd < 99:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_SPECTRE'), caster)
if iRnd >= 99:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BONUS_GEMS'), caster)
pPlot.setBonusType(gc.getInfoTypeForString('BONUS_GEMS'))
def reqMarnokBarbarianAllyDungeoneer(caster):
pPlot = caster.plot()
if pPlot.getImprovementType() != gc.getInfoTypeForString('IMPROVEMENT_BARROW') and pPlot.getImprovementType() != gc.getInfoTypeForString('IMPROVEMENT_RUINS'):
return False
pPlayer = gc.getPlayer(caster.getOwner())
if pPlayer.getGold() < 50:
return False
if pPlayer.hasTrait(gc.getInfoTypeForString('TRAIT_BARBARIAN')):
return True
return False
def spellMarnokBarbarianAllyDungeoneer(caster):
pPlot = caster.plot()
pPlayer = gc.getPlayer(caster.getOwner())
pPlayer.changeGold(-50)
iRnd = CyGame().getSorenRandNum(100, "Rob Grave")
if iRnd < 20:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BARBARIANS_WEAK'), caster)
if iRnd >= 20 and iRnd < 30:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BARBARIANS_STRONG'), caster)
if iRnd >= 30 and iRnd < 40:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_EXPERIENCE'), caster)
if iRnd >= 40 and iRnd < 45:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_SPIDER'), caster)
if iRnd >= 45 and iRnd < 55:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_HILLGIANT'), caster)
if iRnd >= 55 and iRnd < 65:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_BARBARIANS_WEAK'), caster)
if iRnd >= 65:
pPlayer.receiveGoody(pPlot, gc.getInfoTypeForString('GOODY_MARNOK_NOTHING'), caster)
- Added to CIV4GameText_FFH2.xml
Spoiler :<TEXT>
<Tag>TXT_KEY_SPELL_MARNOK_DUNGEONEER</Tag>
<English>Assault the lair to destroy it and see what treasures can be found!</English>
<French>Assault the lair to destroy it and see what treasures can be found!</French>
<German>Assault the lair to destroy it and see what treasures can be found!</German>
<Italian>Assault the lair to destroy it and see what treasures can be found!</Italian>
<Spanish>Assault the lair to destroy it and see what treasures can be found!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_SPELL_MARNOK_BARB_DUNGEONEER</Tag>
<English>Pay 50 gold and attempt to assist the lair, or see what they can do for you.</English>
<French>Pay 50 gold and attempt to assist the lair, or see what they can do for you.</French>
<German>Pay 50 gold and attempt to assist the lair, or see what they can do for you.</German>
<Italian>Pay 50 gold and attempt to assist the lair, or see what they can do for you.</Italian>
<Spanish>Pay 50 gold and attempt to assist the lair, or see what they can do for you.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_BONUS_GEMS</Tag>
<English>You find a rich source of gems beneath the lair.</English>
<French>You find a rich source of gems beneath the lair.</French>
<German>You find a rich source of gems beneath the lair.</German>
<Italian>You find a rich source of gems beneath the lair.</Italian>
<Spanish>You find a rich source of gems beneath the lair.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_SKELETONS</Tag>
<English>You encounter skeletons!</English>
<French>You encounter skeletons!</French>
<German>You encounter skeletons!</German>
<Italian>You encounter skeletons!</Italian>
<Spanish>You encounter skeletons!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_SPECTRE</Tag>
<English>You awaken a resting spirit!</English>
<French>You awaken a resting spirit!</French>
<German>You awaken a resting spirit!</German>
<Italian>You awaken a resting spirit!</Italian>
<Spanish>You awaken a resting spirit!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_SPIDER</Tag>
<English>A gargantuan spider crawls from its lair...</English>
<French>A gargantuan spider crawls from its lair...</French>
<German>A gargantuan spider crawls from its lair...</German>
<Italian>A gargantuan spider crawls from its lair...</Italian>
<Spanish>A gargantuan spider crawls from its lair...</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_HILLGIANT</Tag>
<English>Fee, Fi, Foe, Fum!</English>
<French>Fee, Fi, Foe, Fum!</French>
<German>Fee, Fi, Foe, Fum!</German>
<Italian>Fee, Fi, Foe, Fum!</Italian>
<Spanish>Fee, Fi, Foe, Fum!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_LIZARDMEN</Tag>
<English>You disturb a group of Lizardmen.</English>
<French>You disturb a group of Lizardmen.</French>
<German>You disturb a group of Lizardmen.</German>
<Italian>You disturb a group of Lizardmen.</Italian>
<Spanish>You disturb a group of Lizardmen.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_MAP</Tag>
<English>You discover a treasure map!</English>
<French>You discover a treasure map!</French>
<German>You discover a treasure map!</German>
<Italian>You discover a treasure map!</Italian>
<Spanish>You discover a treasure map!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_GOLD</Tag>
<English>The treasure hoard is plundered!</English>
<French>The treasure hoard is plundered!</French>
<German>The treasure hoard is plundered!</German>
<Italian>The treasure hoard is plundered!</Italian>
<Spanish>The treasure hoard is plundered!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_BARBARIANS</Tag>
<English>Orcs burst forth from the lair, intent on pillage!</English>
<French>Orcs burst forth from the lair, intent on pillage!</French>
<German>Orcs burst forth from the lair, intent on pillage!</German>
<Italian>Orcs burst forth from the lair, intent on pillage!</Italian>
<Spanish>Orcs burst forth from the lair, intent on pillage!</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_TECH</Tag>
<English>Ancient tablets reveal mysterious secrets.</English>
<French>Ancient tablets reveal mysterious secrets.</French>
<German>Ancient tablets reveal mysterious secrets.</German>
<Italian>Ancient tablets reveal mysterious secrets.</Italian>
<Spanish>Ancient tablets reveal mysterious secrets.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_NOTHING</Tag>
<English>Your efforts are fruitless.</English>
<French>Your efforts are fruitless.</French>
<German>Your efforts are fruitless.</German>
<Italian>Your efforts are fruitless.</Italian>
<Spanish>Your efforts are fruitless.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_GOODY_MARNOK_EXPERIENCE</Tag>
<English>Your unit emerges victorious after many fearsome battles.</English>
<French>Your unit emerges victorious after many fearsome battles.</French>
<German>Your unit emerges victorious after many fearsome battles.</German>
<Italian>Your unit emerges victorious after many fearsome battles.</Italian>
<Spanish>Your unit emerges victorious after many fearsome battles.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_SPELL_MARNOK_DUNGEONEER_HELP</Tag>
<English>Explore the dungeon.</English>
<French>Explore the dungeon.</French>
<German>Explore the dungeon.</German>
<Italian>Explore the dungeon.</Italian>
<Spanish>Explore the dungeon.</Spanish>
</TEXT>
<TEXT>
<Tag>TXT_KEY_SPELL_MARNOK_BARB_DUNGEONEER_HELP</Tag>
<English>Explore the dungeon.</English>
<French>Explore the dungeon.</French>
<German>Explore the dungeon.</German>
<Italian>Explore the dungeon.</Italian>
<Spanish>Explore the dungeon.</Spanish>
</TEXT> - Added to CIV4GoodyInfo.xml:
Spoiler :<GoodyInfo>
<Type>GOODY_MARNOK_BONUS_GEMS</Type>
<Description>TXT_KEY_GOODY_MARNOK_BONUS_GEMS</Description>
<Sound/>
<iGold>10</iGold>
<iGoldRand1>10</iGoldRand1>
<iGoldRand2>10</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_NOTHING</Type>
<Description>TXT_KEY_GOODY_MARNOK_NOTHING</Description>
<Sound/>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_TECH</Type>
<Description>TXT_KEY_GOODY_MARNOK_TECH</Description>
<Sound/>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>1</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_BARBARIANS_WEAK</Type>
<Description>TXT_KEY_GOODY_MARNOK_BARBARIANS</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_WARRIOR</BarbarianClass>
<iBarbarianUnitProb>20</iBarbarianUnitProb>
<iMinBarbarians>1</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_BARBARIANS_STRONG</Type>
<Description>TXT_KEY_GOODY_MARNOK_BARBARIANS</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_WARRIOR</BarbarianClass>
<iBarbarianUnitProb>40</iBarbarianUnitProb>
<iMinBarbarians>2</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_LIZARDMEN_STRONG</Type>
<Description>TXT_KEY_GOODY_MARNOK_LIZARDMEN</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_HUNTER</BarbarianClass>
<iBarbarianUnitProb>40</iBarbarianUnitProb>
<iMinBarbarians>2</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_SPIDER</Type>
<Description>TXT_KEY_GOODY_MARNOK_SPIDER</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_GIANT_SPIDER</BarbarianClass>
<iBarbarianUnitProb>20</iBarbarianUnitProb>
<iMinBarbarians>1</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_HILLGIANT</Type>
<Description>TXT_KEY_GOODY_MARNOK_HILLGIANT</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_HILL_GIANT</BarbarianClass>
<iBarbarianUnitProb>5</iBarbarianUnitProb>
<iMinBarbarians>1</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_SKELETONS</Type>
<Description>TXT_KEY_GOODY_MARNOK_SKELETONS</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_SKELETON</BarbarianClass>
<iBarbarianUnitProb>20</iBarbarianUnitProb>
<iMinBarbarians>1</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_SPECTRE</Type>
<Description>TXT_KEY_GOODY_MARNOK_SPECTRE</Description>
<Sound>AS2D_GOODY_HOSTILE</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>1</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>UNITCLASS_SPECTRE</BarbarianClass>
<iBarbarianUnitProb>20</iBarbarianUnitProb>
<iMinBarbarians>1</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_EXPERIENCE</Type>
<Description>TXT_KEY_GOODY_MARNOK_EXPERIENCE</Description>
<Sound>AS2D_GOODY_XP</Sound>
<iGold>0</iGold>
<iGoldRand1>0</iGoldRand1>
<iGoldRand2>0</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>5</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_LOW_GOLD</Type>
<Description>TXT_KEY_GOODY_MARNOK_GOLD</Description>
<Sound>AS2D_GOODY_GOLD</Sound>
<iGold>20</iGold>
<iGoldRand1>21</iGoldRand1>
<iGoldRand2>21</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_HIGH_GOLD</Type>
<Description>TXT_KEY_GOODY_MARNOK_GOLD</Description>
<Sound>AS2D_GOODY_GOLD</Sound>
<iGold>20</iGold>
<iGoldRand1>51</iGoldRand1>
<iGoldRand2>51</iGoldRand2>
<iMapOffset>0</iMapOffset>
<iMapRange>0</iMapRange>
<iMapProb>0</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
<GoodyInfo>
<Type>GOODY_MARNOK_MAP</Type>
<Description>TXT_KEY_GOODY_MARNOK_MAP</Description>
<Sound>AS2D_GOODY_MAP</Sound>
<iGold>20</iGold>
<iGoldRand1>101</iGoldRand1>
<iGoldRand2>101</iGoldRand2>
<iMapOffset>4</iMapOffset>
<iMapRange>4</iMapRange>
<iMapProb>100</iMapProb>
<iExperience>0</iExperience>
<iHealing>0</iHealing>
<iDamagePrereq>0</iDamagePrereq>
<bTech>0</bTech>
<bBad>0</bBad>
<UnitClass>NONE</UnitClass>
<BarbarianClass>NONE</BarbarianClass>
<iBarbarianUnitProb>0</iBarbarianUnitProb>
<iMinBarbarians>0</iMinBarbarians>
</GoodyInfo>
Now, instead of just walking onto a ruin or barrow to destroy it, the player must take some effort and risk. When a unit is on the lair, they gain a spell which allows them to assult the "dungeon". Horrid monsters may emerge, or great rewards may be found.
Because this didn't seem thematically correct for the Clan, I gave them a different spell/action while they are still at peace with the barbarians, which allows them to spend money to attempt to stir up the nest of monsters. The money might be wasted, or the result might be something hostile to the Clan, so there is still a risk. Later I will add units which join the player nstead of just being Barb, and a few more intersting results.
Note, at the moment this Clan option remains even once at war, but the Clan gets the option to plunder the lair too. I left it like that for now, there may be value to risking a payment even when at war with the barbs.
Small problem at present : It is possible to build a city on a lair, and explore it repeatedly... while this is Waterdeepy fun, I think it is too abusable. I might try and make a result which makes a city turn Barb and fill it with monsters!