Goody Islands

Here a renewed version of my goody island mod, using hrochland's island graphic.http://forums.civfanatics.com/downloads.php?do=file&id=14182

A Galeon next to one island...
attachment.php

...first Island gives gold to us, but it is next to another island...
attachment.php

...we found a settler on this island.
attachment.php
 

Attachments

  • Civ4ScreenShot0003.JPG
    Civ4ScreenShot0003.JPG
    67 KB · Views: 425
  • Civ4ScreenShot0004.JPG
    Civ4ScreenShot0004.JPG
    78 KB · Views: 424
  • Civ4ScreenShot0005.JPG
    Civ4ScreenShot0005.JPG
    81.5 KB · Views: 429
I already fit your feature to the world of odysseus for some time past. Please it really needs a new island art. look at the cliffs, they are a little bit under water.

attachment.php
 
now i changed the z=1.000. i guess the coastline is much better now, but i cant catch the palms with nifskope. You could use blender, or?

attachment.php
 
I can't use blender, sorry, it does not work properly on my PC. But Valkrionn offered me another island graphic, perhaps you can use this.
I am trying to get a result with another z.

dit: Sorry, there was no better result. I will test Valkrionn's island, perhaps it is better.
 
oh sorry, i am untalented! But the island is fantastic, thank you very much

attachment.php
 

Attachments

  • beach_isle.JPG
    beach_isle.JPG
    153.9 KB · Views: 474
I have converted this to BUG/WoC format so I could use it with RevDCM based mods. In particular "Rise of Mankind" and "A New Dawn".

Mod here.

I fixed one bug - sometimes the original would put a goody island on ice which you can't get to.

It still does not work if you regenerate a map. The next version of AND will probably fix this problem as it is SDK related and there is nothing you can do in the python to fix it. ;)

Installation instructions are in the link.
 
I have reworked my Python script because of some problems: AI could not really use it, when it finds a land unit on an island, it leaves it on the ocean. This should be avided with this small script. Thanks to The_J, who helped mit with this.

To use it, just add the text between the #### in your CvEventManager.py, as shown below.
PHP:
    def onGoodyReceived(self, argsList):
        'Goody received'
        iPlayer, pPlot, pUnit, iGoodyType = argsList

####An Land gehen start
        if pPlot.isWater():
            if iGoodyType in (gc.getInfoTypeForString("GOODY_WARRIOR"), gc.getInfoTypeForString("GOODY_SETTLER"), gc.getInfoTypeForString("GOODY_ENTDECKER"), gc.getInfoTypeForString("GOODY_SCHRIFTSTUECKE"), gc.getInfoTypeForString("GOODY_KUNSTWERK"), gc.getInfoTypeForString("GOODY_ARTEFAKT"), gc.getInfoTypeForString("GOODY_RELIC"), gc.getInfoTypeForString("GOODY_SCHATZ"), gc.getInfoTypeForString("GOODY_SCOUT"), gc.getInfoTypeForString("GOODY_WORKER"), gc.getInfoTypeForString("GOODY_SLAVE")):
                iMaxPlotUnit = pPlot.getNumUnits ()-1
                for i in xrange(iMaxPlotUnit,-1,-1):
                    pPlotUnit = pPlot.getUnit(i)
                    if pPlotUnit.getDomainType () == gc.getInfoTypeForString("DOMAIN_LAND"):
                        pPlotUnit.jumpToNearestValidPlot()
###An Land gehen end
### barb transform start
        if iGoodyType in (gc.getInfoTypeForString("GOODY_BARBARIANS_WEAK"), gc.getInfoTypeForString("GOODY_BARBARIANS_STRONG")):
            iX = pPlot.getX()
            iY = pPlot.getY()
            for iXLoop in xrange(iX-1,iX+2,1):
                for iYLoop in xrange(iY-1,iY+2,1): 
                    NewPlot = CyMap().plot(iXLoop,iYLoop)
                    if NewPlot.isUnit() and NewPlot.isWater():
                        iMaxPlotUnit = NewPlot.getNumUnits ()-1 
                        for i in xrange(iMaxPlotUnit,-1,-1):
                            pPlotUnit = NewPlot.getUnit(i)
                            if pPlotUnit.isBarbarian() and pPlotUnit.getDomainType () == gc.getInfoTypeForString("DOMAIN_LAND"):
                                newUnit = gc.getPlayer(gc.getBARBARIAN_PLAYER ()).initUnit(gc.getInfoTypeForString("UNIT_TRIREME"), iXLoop,iYLoop, UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_NORTH)
                                pPlotUnit.setDamage(100, False)
###barb transform end
        if (not self.__LOG_GOODYRECEIVED):
            return
        CvUtil.pyPrint('%s received a goody' %(gc.getPlayer(iPlayer).getCivilizationDescription(0)),)
 
Back
Top Bottom