Enhanced Goody System (Unit only Goodies and Protected Goodies) [IMPLEMENTED]

raystuttgart

Civ4Col Modder
Joined
Jan 24, 2011
Messages
9,637
Location
Stuttgart, Germany
Hi guys,

the Goody System has been enhanced. :)

It is now possible to control which Goody Huts can spawn Units and which can not.
(Treasures are excluded - there is a special logic for which Goodies can spawn treasures.)

See ImprovementInfos.xml:
bGoodyForSpawningUnits

Basically the Goodies have been spilt.
(On land and ocean the corresponding Goody Huts give different rewards.)

For Land


New Campfires: Only Units (e.g. Lost Missionaries, Lost Colonists, Native Mercenaries, ...)
Ancient Ruins / Burial Sites: No more Units but all the rest (e.g. Rumors about Eldorado, Rumors about Fountain of Youth, Treasures, Maps, Gold, Angering Natives, ...)

For Ocean:


New Shipwreck: Saved Sailor, Abandoned Ship, Treasures
Floating Ship Parts: Maps, mall amounts of Gold, Rumors about Huge Pirate Treasure (no more Saved Sailors, Abandoned Ships and Treasures)

The graphics I am taliking about:
(Created by Schmiddie)

Spoiler :



 
Last edited:
@Schmiddie:

We already discussed in a thread about "Goodies"/ "Improvemens" that can spawn Hostiles.

I was thinking about e.g. these here:
  • "Wild Animal Cave": It could spawn wild animals depending on TerrainType.
  • "Hostile Native Village": It could spawn "Hostile Natives"
  • "Raiders Camp": It could spawn "Revolting Slaves" / "Revolting Criminals"

As of now they would technically belong to faction "Wild Animals".
(Until we introduce a new Barbarian Nation - e.g. "Pirates" / "Cutthroats".)

Thus they would of course not attack Natives.

When they are destroyed, they would of course give rewards.
(e.g. a Huge Amount of Gold or a Treasure Unit)

Technically it would get new XML tags - something like:
(I most likely need 3 of them because we have 3 different cases - and it should all be XML configurable)
  • bGoodyForSpawningHostileAnimals
  • bGoodyForSpawningHostileNatives
  • bGoodyForSpawningHostileCriminals
@team:
What do you guys think about it?

(I could most likely finish it in a weekend once we have the graphcis and Improvement setup in XML.)

There are 3 possibilitie for spawning:
  1. The Hostiles are spawned only when the Improvement is entered. (50/50 chance of finding rewards or hostiles - lower chance for hostiles for AI) --> very easy to implement and very beginner / AI friendly
  2. The Hostiles are spawned only once (e.g. 2 of them) and stay immobile on the Goody to protect it (and the rewards inside) --> a bit more effort to implement but still beginner / AI friendly
  3. The Hostiles are spawned continuously (e.g. every 20 turns) and start wandering around and attack all European Units they find. --> most effort to implement and also hard to balance
Comment about "Option 3" (continous spawning):

Spoiler :

To be honest I feel that "Option 3" is a bit too much. Especially on Gigantic Maps this could become quite annoying. :dunno:
(We already have "Wild Animals" that are spawned continuously - but their spwan rate is limited and considers the "Wild Animals" that are still on the map.)

Also I feel we should leave the "continuous spawning" for "Pirate / Cutthroat Nation" once we introduce it.
(If we have it here as well, it would really get a bit too much ...)


I am of course open to suggestions. :thumbsup:

-----

Basically it is just another expansion to the "Goody" / "Improvement" Systems.
 
Last edited:
Could wild animals from dens be spawned even if I had animals turned off? (I hate that they can spawn in owned territory)
 
Could wild animals from dens be spawned even if I had animals turned off? (I hate that they can spawn in owned territory)
Yes, technically it would be a separate feature.
(The "faction" would still be there - it is not removed by "Deactivate Wild Animals" Game Option.)
 
Hm, we need to be careful with that! To my view Scouts would become useless respectively you can no longer send them on "auto explore" because if they find hostiles they will be most likely killed. You would need to explore the map with dragoons or cavalry. And scouts would loose their advantage of speed when exploring. I see currently only a possibility for alternative 2 - i.e. they stay on the goody hut and protect them but will not follow the scout/unit and the unit will not attack them automatically.

And about what graphics do you talk about? Can't we use existing ones? I do not like to create and introduce new graphics for this small feature.
 
I see currently only a possibility for alternative 2 - i.e. they stay on the goody hut and protect them but will not follow the scout/unit and the unit will not attack them automatically.
That is perfectly fine for me. :thumbsup:
(It is also quite AI friendly.)

Actually Option 1 is also really AI friendly.
(Spawning only when entered. It is basically a bit of "gambling".)
  • I was thinking about spawning only 2 hostiles (50% chance) - and otherwise just giving the reward (50% chance).
  • For AI the chance for a hostile would be a bit lower (maybe 30%) and maybe only spawning 1 hostile
  • And those hostiles are also weak - so a Scout (especially with a few XP) should easily survive (and be able to run away) or even win
  • Basically a "high risk / high reward" type of goody
And about what graphics do you talk about? Can't we use existing ones?
Maybe a Civ4BTS mod has graphics that fit. :think:

I do not like to create and introduce new graphics for this small feature.
Yes it is a small feature - otherwise I could not fully finish it in a weekend.
(But the "Camp Fire" / "Shipwreck" is also not a huge feature. It is a nice addition for flavour.)

And yes, we would have a lot less of them than for other Goodies.
(Otherwise it would destroy immersion if we have too many of them.)

But I feel it would still be nice and add a bit of flavour / immersion.
Well, let us see, maybe somebody will find nice graphics. :dunno:

@Zeta Nexus:

Since you play Civ4BTS mods, do you know existing graphics that could fit for these?
Thanks a lot in advance. :hug:
  • "Wild Animal Cave"
  • "Hostile Native Village"
  • "Raiders Camp"
 
Last edited:
Since you play Civ4BTS mods, do you know existing graphics that could fit for these?
Thanks a lot in advance.
I'll take a look when I have time. But from memory...
"Wild Animal Cave"
C2C has cave graphics and not just one. Rock and snowy IIRC
"Hostile Native Village"
This should be Indian looking, right?
"Raiders Camp"
What about this? European looking?
 
Why do we need graphics for a camp? I thought one or two hostile units will spawn?
Yes, but it is still a "Goody" - meaning that if you kill the Hostile Units, you will enter it and get a reward.
We also need something like a camp to explain to players where the Goodies come from. (For immersion.)

Basically:
It is a "Camp of Barbarians" like in Civ4BTS.
It is pretty simple actually. :dunno:
 
What I found so far:
upload_2020-11-9_16-43-48.png

upload_2020-11-9_16-44-31.png

Caves look terrible on on a Peak, and not so interesting on flat land and acceptable on hills. Unfortunately it is floating but maybe @Schmiddie can do something about it.

I think that the one south of the peak is fine for Raiders Camp.

I don't know if any of these would fit for Hostile Native Village.

(Obviously not all of these are meant to be candidates. I just forgot to delete some improvements)
 

Attachments

  • upload_2020-11-9_16-43-35.png
    upload_2020-11-9_16-43-35.png
    3 MB · Views: 51
@Zeta Nexus
Thanks a lot for your efforts. :hug:

The "Cave" (for "Wild Animal Cave") is absolutely fine for me. :thumbsup:
(It will never be placed on Peaks anyways - just on Flatland and Hills.)

The "Stockade" (for "Raider's Camp") is also absolutely fine for me as well. :thumbsup:
(I think it fits better for "Raiders" than for "Natives" - because Natives did not tend to build "Stockades".)

Could you put the graphics for them and their XML ArtDefs into a ZIP and attach it here?
(I do not have Civ4BTS or any mods for it installed.)

I could build the feature then on the weekend.
(Creating tiny features like that is actually kind of relaxing for me.)

-----

So all that would still be missing is something for Natives. :think:
("Hostile Native Village")

@Schmiddie
Do you think it is possible to have an Improvement that combines e.g. the (Building Graphic of) "Chickee" with a few "Tents" / "Huts" (e.g. from a CitySet)?
That way you would not need to create completely new graphics and it does not need to be anything extraordinary either.
Would it be a lot of work?

-----

By the way:
Since until now everybody seems to prefer this Option for Spawning, that is the one I will implement:
(By the way, there will be an XML setting in GlobalDefinesAlt.xml to define the number of protecting Hostiles.)
  • The Hostiles are spawned only once (e.g. 2 of them) and stay immobile on the Goody to protect it (and the rewards inside)
 
Last edited:
Just a quick idea:
Do Forts in WTP have a cultural influence on the nearby tiles? Maybe the Raiders Camp could also be a fort providing some small defense bonus and when captured become a regular fort.
I don't really know why that would be so good but I think it would add to the immersion.
 
Yes, forts do have a cultural radius.

Maybe keep your idea as an event? After capture and if the tile is near your borders (20,30,40 tiles away?) have the option to pay a small amount of money to convert the raider camp to a regular fort.
 
Do Forts in WTP have a cultural influence on the nearby tiles?
Yes, and they have a lot more features.

e.g. "Raiding Natives" are forced to attack "active / controled Forts"
(activation / control of a Fort however requires Units that Barbarians do not have)

Also "Barbarians" have been explicitly been coded to never be allowed to enter a "Fort" or be spawned there.
(For Safety Reasons because see "Technical Problems")

As explanation:
"Fort" is not hardcoded to the specific Improvement - it is the XML tag that defines "Fort behaviour".

Technical Problem:

Lots of "Fort Features" have never been designed and coded for "Barbarians".
So giving them to "Barbarians" is risky and might cause a lot of effort and bugs.

Gameplay Problem:
You would have way too many "Forts" in the end from capturing "Raider's Camps" ...
Bad for balancing and immersion.

Summary:
I do not really like that idea. :dunno:
(Stability, balancing, immersion, effort, ...)

...Raiders Camp could also be a fort providing some small defense bonus ...
That is absolutely no prolem (by XML) and I will most likely do that. :thumbsup:

Maybe keep your idea as an event?
After capture and ... have the option to pay a small amount of money to convert the raider camp to a regular fort.
This will not work as Python Event - and coding a DLL Event is way too much effort for a "one time thing". :nope:
I need to set this in XML already and I will not rewrite the standard Goody DLL code for a one time event.

Once the Fort is captured it either is destroyed "like a Goody" or it will always stay "like a Fort".
The Event triggers much later where the decision was already made (meaning the Improvement would not be there anymore to trigger the Event).

So sorry, this is technically way too much effort considering gameplay.

----------

Summary:

"Raider's Camp" will be just a "Goody" that has some Defense Bonus.
They are simply protected by hostiles.
 
Last edited:
Code:
        <FeatureArtInfo>
            <Type>ART_DEF_FEATURE_CAVE</Type>
            <bAnimated>0</bAnimated>
            <bRiverArt>0</bRiverArt>
            <TileArtType>TILE_ART_TYPE_NONE</TileArtType>
            <LightType>LIGHT_TYPE_SUN</LightType>
            <fScale>1</fScale>
            <fInterfaceScale>1</fInterfaceScale>
            <Button>Art/Interface/Buttons/TerrainFeatures/cave.dds</Button>
            <FeatureVariety>
                <FeatureArtPieces>
                    <FeatureArtPiece>
                        <ModelFile>Art/Terrain/Features/caves/cave.nif</ModelFile>
                        <Connections/>
                    </FeatureArtPiece>
                </FeatureArtPieces>
                <FeatureDummyNodes/>
                <bGenerateRotations>0</bGenerateRotations>
                <VarietyButton>Art/Interface/Buttons/TerrainFeatures/cave.dds</VarietyButton>
            </FeatureVariety>
        </FeatureArtInfo>
Code:
        <ImprovementArtInfo>
            <Type>ART_DEF_IMPROVEMENT_PALISADE</Type>
            <bExtraAnimations>0</bExtraAnimations>
            <fScale>1</fScale>
            <fInterfaceScale>1</fInterfaceScale>
            <NIF>Art/Structures/Improvements/Palisade/Palisade.nif</NIF>
            <KFM/>
            <Button>art/Tower/Art/palisadewall.dds</Button>
        </ImprovementArtInfo>
You may want to change the buttons but these are the ones in C2C.
 

Attachments

  • caves.rar
    119.7 KB · Views: 53
  • palisade.rar
    87.6 KB · Views: 66
  • Buttons.rar
    4.4 KB · Views: 56
@Zeta Nexus
Thanks a lot. :)

By the way:
I will implement both of the as "Improvements".
(Basically because "Goodies" are just a special type of Improvements.)
 
Top Bottom