Amurite +

esvath

Apprentice of Erebus
Joined
Mar 27, 2008
Messages
1,403
Hello, guys.

Finally Amurites + v.2.0 is up! This mod will put more emphasis to the QUALITY of Amurites magic, instead of quantity.

Please follow this instruction to play :

  1. Download the file on the end of this post.
  2. Unzip the file.
  3. Put the folders into your FfH/Asset (if you want to keep the old ones, copy FfH first then copy from Amurites + in one of your FfH game folder)
  4. This version is compatible with FfH2 .40z and BTS 3.17 (I know, I know but I don't intend to upgrade to 3.19 soon...)


Changelog :

version 2.0 :

  1. Wizard get spells : buff, curse and build permanent building. All build-spell will sacrifice the caster. The spells are :
    • Build Wizard Tower (req mage guild, build by Wizard with Metamagic II) : +1:) +4:science:, +10%:culture:, +10% defense, +10 resist magic, +1 slot scientist.
    • Build Naturalist Garden (req Wizard Tower, Grove UB, build by Wizard with Nature II) : +1:health:, +1:science:, +1:culture:, +10% defense
    • Build Enchanter Enclave (req Wizard Tower, Money Changer UB, Enchantment II) : +1:gold:, +1:science:, +25%:gold:, +10% defense
    • Build Mage Council (req Wizard Tower, UB, Law II) : -25% maintenance, -25% war weariness, +1:), +2:science:
    • Build Sirona Abbey (req Wizard Tower, Infirmary UB, Spirit II) : +3:health:, +10%:science:, +25% heal rate, +10% defense
    • Build Mentalist Chamber (req Wizard Tower, Alchemy Lab UB, Mind II) : +4:science:, +25%:science:, +20% maintenance
    • Build Witch Coven (req Wizard Tower, Forge UB, Shadow II) : +2:science:, +25%:hammers:, +3:yuck:, +1:) with gold, incense, reagents
    • Build Warlock Dungeon (req Wizard Tower, Dungeon UB, Entropy II) : +20%:science:, -50% war weariness, +10% maintenance, +1:mad:
    • Buff Golden Armor : (req in City with Wizard Tower, Sun II) : grant Golden Armor promotion to your Archer, Melee, Disciple, Mounted, Recon Units. Golden Armor effect similar to Stoneskins with +30% chance wearing off/turn.
    • Buff Unliving Health : (req in City with Wizard Tower, Death II) : grant Unliving Health promotion to your Undead and Demon Units. Promotion effect : march, cannibalize, +30% chance wearing off/turn.
    • Curse Paralysis : (req in City with Wizard Tower, Body II) : paralyzed all enemies in 1-tile radius. Resistable, dispellable
    • Curse Dazzle : (req in City with Wizard Tower, Chaos II) : give all enemies in 1-tile radius following effects (applied randomly) : enraged, paralyzed, charmed, fatigued, hasted, dance of blades, golden armor, slow, enervated.
    • Summon Lifespark : (req in City with Wizard Tower, Life II) : summon a Lifespark (invisible, elemental, flying, 2 move, permanent summon, can be killed to heal one of your unit)
  2. Give a big AIweight on these spells so the AI will actually cast those. I already proved it.
  3. Tweaks on various spells visual effect and sound. We have so many spectacular visual effects and I tried to use them all. So, good bye to SPELL1 and SPELL2 each time we cast a spell!
  4. Merged in Valkrionn's Dwarven Mine improvement for Khazad
  5. Add Dwarven Worker (Khazad Worker UU)
  6. Merged in Valkrionn's and Deon's Bedouin Sit improvement for Malakim
  7. Removed Malakim +2:commerce: bonus on desert
  8. Add Bedouin (Malakim Worker UU)
  9. Add Angel of Death and Seraphim new graphic
  10. Several minor changes to tweak FfH (I told you, this gonna be a FfH + eventually)
 

Attachments

  • Amurites+ 2.0.rar
    4.8 MB · Views: 88
version 1.0 changelog
Spoiler :

version 1.0 :
  1. Each Amurites Wizard get "Chanting Ritual" spell (delay : 4 turns).
  2. When casting "Chanting Ritual", the Wizard will get a Chanting promotion.
  3. There are several "Ritual" spells can only be casted by Amurites Archmage AND require several numbers of casting Wizard (done via phyton).
  4. When the Archmage cast the Ritual, he erased Chanting promotion from the assisting Wizards.

Ritual Spells added for Achmage :

  1. Life Surge : techreq Divination, 6 Chanting Wizards, effect : heal all units 25%, remove Poisoned, Diseased, Plagued, Withered.
  2. Death Wave : techreq Necromancy, 12 Chanting Wizards, effect : damage 20% death, diseased for all enemy units.
  3. Energy Blast : techreq Elementalism, 8 Chanting Wizards, effect : damage 40% lightning to best enemy stack in range : 4.
  4. Planeswalking : techreq Alteration, 6 Chanting Wizards, effect : add Planeswalking promotion to caster (invisible, flying, removed by combat and casting)


minor changes ver 1.0
Spoiler :

Also in this mod are several minor changes I made (based on other peoples ideas and code too, not exclusively mine) :) :

Events :
  1. Gaelan events trigger automatically
  2. Mary event require Way of the Wicked and Alchemy Lab, trigger automatically
Terrain :
Malakim get +2:commerce: on desert (believe me, it IS worth it!)

Religion changes :
  1. FOL, OO, ROK spread factor went down to 75
  2. Order, Veil, Empy and Esus spread factor went down to 125
  3. A city with Veil and Veil state :religion: gets +1 :science: (when and why was it changed into +1:culture:. anyway?)
Building changes :
  1. Code of Junil loses 1 merchant specialist and +2 Great Prophet :gp:but get +3 Great Commander :gp: and 1 global :)
  2. Stigmata : +10 AC
  3. Eyes and Ears req Esus as State :religion:, cost 900 :hammers:
Units :
  1. Radiant Guard gets UNITCOMBAT_DISCIPLE
  2. Shadow (and its variants) req Esus as State :religion: and will abandon if you change :religion:
  3. Gibbon gets mimic-like ability (from another thread here), marksman and +1 poison
  4. Angels and Manes get religion from their former unit (code by Magister, here)
All Illian rituals req one-another in this schema :
Samhain --> the White Hand --> The Deepening --> Stir Form Slumber​
The Deepening --> The Draw​
Slave trade resolution forces to adopt Slavery
Spell :
Destroy Undead also work on Demons and renamed as Holy Word


Future plan :

  1. Find something interesting for Wizards with Air II, Fire II, Earth II and Water II. Ideas will be very much appreciated.
  2. A Druid UU maybe? Not really sure about that.
  3. Lich will get Blood Ritual and able to summon a nuclear missile? I am not very sure about this either. Too many are against putting nuke on FfH.

Thank you all for your comments!
 
Library of Codes (maybe someone will be interested :) ):

Before we go on, I have to warn you that I have absolutely no knowledge on Phyton! All I have done in this modmod were simply reading and deconstruct the code, try to understand the logic and then use them in my code by trial-and-error and occassionaly manhandling them. Yes, this is very much barbaric so please if you are able to help, help me!

The basic mechanic to ritual spells is relatively simple (in logic, anyway) :
  1. We need an identifier to group the supporting casters. We can use a simple spell and put a promotion to the caster here.
  2. We need a function to check whether the supporting casters are adequate in numbers (for example : 6 Wizards).
    Spoiler :
    Code:
    ## this is the function to check for supporting casters. You can modify the req to suit your need.
    def reqPlaneswalking(caster):
    	pPlot = caster.plot()
    	iChanting = gc.getInfoTypeForString('PROMOTION_CHANTING')
    	iCount = 0
    	for i in range(pPlot.getNumUnits()):
    		pUnit = pPlot.getUnit(i)
    		if pUnit.isHasPromotion(iChanting):
    			if pUnit.getOwner() == caster.getOwner():
    				iCount += 1
    	if iCount < 6: ## here is the number of supporting casters needed. More will be merrier :)
    		return False
    	if caster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_PLANESWALKING')) == True:
    		return False
    	return True
  3. We need to cast the spell.
  4. We need the real spell (ie:The Ritual Spell) to erase the identifier of supporting casters.
    Spoiler :
    Code:
    def spellPlaneswalking(caster):
    	caster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_PLANESWALKING'), True) ## this is the "real" spells, you can modify it to suit your need
    
    ## this is the last portion : erasing supporting mage identifier
    	i = 0
    	i2 = 0
    	iCount = 6
    	iChanting = gc.getInfoTypeForString ('PROMOTION_CHANTING')
    	pPlot = caster.plot()
    	for i in range(pPlot.getNumUnits()):
    		pUnit = pPlot.getUnit(i)
    		if pUnit.isHasPromotion(iChanting) == True:
    			i2 += 1
    			if i2 <= iCount:
    				pUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_CHANTING'), false)
    				pUnit.finishMoves()
    		i += 1

For each Ritual Spells, I just grab them from a similar spell in FfH and modify it. If someone need it, I can post it here.

Thanks, guys!
 
Heheh, I stole the title shamelessly from Malakim + and Doviello + :D

By the way, is there any chance that you will be willing to adopt this mod and release a FF version of it (modular like the others + maybe, since I don't know how to make a modular mod-mod :lol:)

Thank you!
 
Thanks. With this mechanic we can design a ritual that need a massive amount of Mages/Wizards (say, 100 Mages?). We can even kill them all at the end of ritual :p There are some difficulties though, especially on AI issue. I doubt the AI understand how to use these rituals. Can I teach the AI to use the ritual properly? By adding code on the def req maybe?
 
Updated to ver 0.2

Several conclave spells (Wizard-only, need 4 Chanting Wizards and Wizard Tower built in city) are finished and working properly.

  1. Summon Lifespark (summon a life elemental that can detonate, heal the most wounded unit in tile and kills itself)
  2. Acumen (add Acumen building in city, reduce maintenance by -20%)
  3. Paralysis (add held promotion to every hostile units in 1 tile-range)
  4. Golden Armor (add Golden Armor promotion to friendly units in stack, basically a mass-Stoneskin)
  5. Unliving Health (add Regeneration to all friendly undead and demonic units in stack)

Still not sure about Nature2 and Shadow2 spells and need more ideas for other mana types.
 
Now, the rant part.

I think that my logic begin to fail me (or was my beginner-luck fading away? :cry:)

Here is the problem :

  1. Silence (metamagic2 conclave spell) supposed to take spellcasting ability from enemy units in 1 tile-range. I build the code like this :
  2. Write spell Silence : effect give Silenced promotion to enemy units.
  3. Write promotion Silenced : I gave a <PyPerTurn> effect as follow :

    Code:
    def effectSilenced(caster):[INDENT]caster.setHasCasted(True)[/INDENT]

Shouldn't the python enough to take spellcasting ability for any unit with Silenced promotion? Logically, yes. But actually, no. My Wizard with Silenced still able to cast spell normally. What is wrong? Do I make a coding error?

Thank you.
 
Thanks. With this mechanic we can design a ritual that need a massive amount of Mages/Wizards (say, 100 Mages?). We can even kill them all at the end of ritual :p There are some difficulties though, especially on AI issue. I doubt the AI understand how to use these rituals. Can I teach the AI to use the ritual properly? By adding code on the def req maybe?

Hmm... Maybe, if possible could add a civilization specific victory option? Like Amurites could with with a ritual that takes 20 ( 100 would be overkill...) mages and then like 100 turns to cast (when started it would be announced to every player that xxx has started casting... ritual of divination and would show the location of the mages on the map. Should also make it so that computer players start a war against the caster automatically (unless vassals or in team). Ritual could be stopped even by just killing 1 mage from the group. So it would have to be defended by a huge amount of units with guardsman trait.

Just my idea. Would be really cool to have unique victory conditions for each civilization.
 
You can use python to control Victory by creating a blank victory condition in the XML and then setting rules for it in Python. There is a base BtS mod that grants every civilization a unique Victory Condition in this manner (Rhys?) if you need to see sample code to start with.
 
("Hello, I am Corlindale. I was introduced to Lichdom a week ago. Nice to meet you?")

Corindale, as well as other World Units, can't become a Lich.
 
to install, just unzip into FFH2 assets folder?
 
I was playing an Amurite game last night and thought it would be interesting to somehow make them even more magic-focused. IE, they dont build anything with their hands, they magic it all together! How this would actually work, I have no idea, but it just felt a little weird to still be using workers and creating buildings in the standard way when I had the powers of the ether at my command!
 
Also, I noticed that you have some other game changes listed in addition to the Amurite-specific changes. I would recommend pulling those out and making this modmod a true Amurite-focused addition.
 
Sorry for the long absence, fellow Amurite fans. My hard disk just went off, died, un-repairable. I lost all of my data, including FfH. Don't know which one is more distressing for me, losing of my lifetime data or losing FfH :cry:

Since I presume that 0.41 is not stable yet, I am currently re-downloading 0.40z (thank you for 40z's link, Valkrionn! :lol:). Will be working this modmod right after finished installing FfH. Hope I can finish something by the end of next week.
 
Hmm... Maybe, if possible could add a civilization specific victory option? Like Amurites could with with a ritual that takes 20 ( 100 would be overkill...) mages and then like 100 turns to cast (when started it would be announced to every player that xxx has started casting... ritual of divination and would show the location of the mages on the map. Should also make it so that computer players start a war against the caster automatically (unless vassals or in team). Ritual could be stopped even by just killing 1 mage from the group. So it would have to be defended by a huge amount of units with guardsman trait.

Just my idea. Would be really cool to have unique victory conditions for each civilization.

You can use python to control Victory by creating a blank victory condition in the XML and then setting rules for it in Python. There is a base BtS mod that grants every civilization a unique Victory Condition in this manner (Rhys?) if you need to see sample code to start with.

Really? Hm, it would be interesting... I'll see what I can do after finishing the basic Amurite +.

Corindale, as well as other World Units, can't become a Lich.

Well, I am speaking of from lore-wise perspective, not mechanic one. I just could not emagine that noble civs like the Elohim will ever allow their Archwizards to become Liches.

I am planning to restrict Liches to Evil. Is there any interesting idea what Good and Neutral will get instead of Liches? Or should I just delete Eidolon and make Lich as Evil UU?

to install, just unzip into FFH2 assets folder?

Yes, just that. Have fun and please give me feedback :).

Also, I noticed that you have some other game changes listed in addition to the Amurite-specific changes. I would recommend pulling those out and making this modmod a true Amurite-focused addition.

Well, those were some tweaks that I think will make the game more interesting. Just consider these changes as a mini FfH + (again, stole the name from Valkrionn :goodjob:, hope he would not mind :lol:)
 
I was playing an Amurite game last night and thought it would be interesting to somehow make them even more magic-focused. IE, they dont build anything with their hands, they magic it all together! How this would actually work, I have no idea, but it just felt a little weird to still be using workers and creating buildings in the standard way when I had the powers of the ether at my command!

That was awesome idea! It should be not too hard, just adding some spells that grant building and make the building does not need the caster (so the building will not vanish as Hope and Inspiration spells).

Do you have any ideas on what building should be conjured by Amurite magic? I might add them as Wizard chanting spells for some spell spheres.

Thank you! :D
 
Top Bottom