Platyping's Promotions and Traits

From the other thread, as requested:

1) CyGame().getSorenRandNum(5, "Platy Promotion")
The string inside has no meaning to my knowledge.
Just a string to remind you what it is trying to do.

2) I guess you are refering to Despair, since I changed its name as it conflicts with another new Promotion which suits the name "Curse" better.
It is boosted when you have Retribution on the same unit.
Despair and Retribution are complementary promotions.
Alone, they are not that great, together they make the unit a walking timebomb.

P.S.
Promotions go to the other thread. :D
This thread is too crowded.

If you have a pair of 2 or more promotion etc that go together, how about putting them BOTH together then and placing them in ONE modcomp then, it would make it alot easier for modders , just thinking out load is all.
 
Well, some people may want both, some people just want either one of them.
So I keep them separate, but included the text and python codes necessary for the complementary parts commented.

If they want both, just uncomment the codes will do.
Of course, XML merging I believe should not be a problem to C2C team :D
If I keep them together, then those who want single version, will have to delete the necessary codes and XML stuff as well.
Can't be pleasing both sides :D
 
Well, some people may want both, some people just want either one of them.
So I keep them separate, but included the text and python codes necessary for the complementary parts commented.

If they want both, just uncomment the codes will do.
Of course, XML merging I believe should not be a problem to C2C team :D
If I keep them together, then those who want single version, will have to delete the necessary codes and XML stuff as well.
Can't be pleasing both sides :D

OK i understand, i keep forgetting about you deal with the whole CFC, DUH:blush:

But is there anyways then, to keep the ones that DO connect right together (on top/bottom) of each other? Just thinking no biggy. And thx for answering.
 
Oh well, since there are only 30 or so Promotions, for this part I tried to arrange them in alphabetic order :D
So far python promotions seems fun as you can create:
1) Dynamic Promotions, benefits that scale with Level or Era etc
2) Complementary Promotions, benefits that are better if you have another Promotion

Anyway, attached is merged version of both promotions.

Heroic Promotion
Effects:
5% to trigger Golden Age upon Combat Victory
New:
Golden Age Length 33% of Usual
 
Are any of these trait tags done with SDK based coding or is it all done in python?

If they're done as SDK based and are well marked (I tend to find I forget to note EVERY little adjustment spot and if I was trying to extrude the code properly that would end up disastrous.) OR if they can be compared against the Base BtS code source to be easily extracted, I'd be very interested in at least grabbing them for possible eventual inclusion in C2C.

I'd want the tags themselves because our needs there would be to merge them with the traits in design. (Though you have some really good trait ideas to follow in general there too.)

Now, if they are done with python coding that's going to be problematic for us at the moment, particularly because you've stated in our threads before that most of your work in python is not compatible in BUG. Would that be true in these cases here as well?

Anyhow, looking forward to exploring our options here ;)
 
All python, lazy to edit SDK just for a trait :D

All my python works have never been a problem with BUG.
The problem was C2C alone, not BUG due to the whateveritsname function it has that wipes python effects away.
However, in general, most of the trait effects will remain even with that function.

For instance, Creative Trait makes new cities start with fledging culture.
When the city is built, the python is activated, the culture is added.
After that, whether it is BTS, BUG or C2C, it does not matter. The culture is already added.

It will be those everlasting effects that may be wiped, although DH seems to know how to get around with it.
Charismatic effects will belong to everlasting effects.
 
Thanks, just don't use Invasive Trait at the moment.
That one uses CyInterface().getHeadSelectedUnit() code which causes OOS errors.
That function is local so it will return a different value on each computer. It should only be used in UI (which is local until you give an order which is then sent through messages).
 
Since you guys like Trait so much, I produce one new one for you.

Energetic Trait


Montezuma would like this.
If he can survive till late game for this to take effect...

@AIAndy
Yup, I realised that just too lazy to modify it :D
 
All python, lazy to edit SDK just for a trait :D

All my python works have never been a problem with BUG.
The problem was C2C alone, not BUG due to the whateveritsname function it has that wipes python effects away.
However, in general, most of the trait effects will remain even with that function.

For instance, Creative Trait makes new cities start with fledging culture.
When the city is built, the python is activated, the culture is added.
After that, whether it is BTS, BUG or C2C, it does not matter. The culture is already added.

It will be those everlasting effects that may be wiped, although DH seems to know how to get around with it.
Charismatic effects will belong to everlasting effects.

So I take it in the python is defined what traits the effect goes under rather than there being a tag in the xml that activates the effect for the trait?
 
Since no SDK is involved, you definitely won't find any new XML tag :D
Lazy people use python, simple typing, no compiling :D

Take the energetic trait above as example.
It can be written in 5 mins.
After that it is just in game testing for typo errors, logic errors etc.
Adjust here and there for balance issue.
Then zip it and take a screenshot and tada, we are done with a new trait.

Not sure how many new XML tags you need to achieve the same effect.
 
And a Promotion to play as well

Firestorm II
Spoiler :



Lazy to think of new name, so just use the old Firestorm name and carry on with it.
Fire will disappear by itself just like Fallout

Used old button for Firestorm, so added new button for it, see requirement for new button
 
Might as well finish it off...

Firestorm III
Spoiler :


A.K.A. Armageddon
A pretty hard-to-balance promotion.
Just for fun.
Has the nuke effect, but can't get it to display the Mushroom Graphics though.


Destiny (Revised)
Old:
Spoiler :


New:
Spoiler :


The Old version has a 25% chance to grant a random free promotion when you choose a new promotion.
For instance, when your unit gained Combat II, there is a chance it may learn Shock or Combat III etc for free.
2 Promotions for the price of 1.

The New version does pretty much the same stuff, except the code is cut to 2 lines.
When your unit gained Combat II, instead of learning another random Promotion for free, it simply grants the Combat II for free.
Your unit gets the Combat II, gets the "Healing" due to promotion, yet it remains at the same level, and it is ready to promote again.

Pros:
1) Code simplified.
2) The 2nd free Promotion is your choice :D
3) When the 2nd Promotion is chosen, again there is a 25% chance to trigger Destiny again... but probability of it occuring twice in a row is 0.25 * 0.25...

PromoPack updated
 
I like the new destiny much better :goodjob:
 
Since no SDK is involved, you definitely won't find any new XML tag :D
Lazy people use python, simple typing, no compiling :D

Take the energetic trait above as example.
It can be written in 5 mins.
After that it is just in game testing for typo errors, logic errors etc.
Adjust here and there for balance issue.
Then zip it and take a screenshot and tada, we are done with a new trait.

Not sure how many new XML tags you need to achieve the same effect.

4 effects, 4 tags. I could do all of these in SDK but I'm wondering how transferable they'd be using your python. If it'd just be a matter of changing the name of the trait in the python module you've written then it probably wouldn't be too bad to use them as such until I can get around to adopting it into the code base.
 
Yup, anything in python is definitely doable in SDK.
The question is how easy it is to do in python VS SDK for a simple thing like promotion or SDK.

If it is just a simple trait and requires SDK for common users, they will find it difficult to merge with other mods they are using, since they have to:
1) Download a new program to do the coding and compiling
2) Merge and compile, and pray there is no compiling error
3) If there are 2 SDK mods that use the same area, then pray they can understand what the coders are writing and merge the 2 mods without conflicting each other effects.

Thus, for a mod, it is definitely OK and better to use SDK, but for simple mod components, don't really make sense.
Some common users already have difficulties using modules or python merging, SDK will kill them off :D
 
Legend
Spoiler :


Whatever you do, don't die with it.
Guaranteed to enjoy at least 12 turns of Anarchy since you get it at level 12


Cold Blooded
Spoiler :


This promotion is only available in Promotion Pack.
Because obviously it didn't make sense as standalone.
In Promotion Pack, this promotion makes the unit immune to all the negative promotions effects (Curse, Despair, Retribution)


Stupify
Spoiler :


Made a simple one just to make Cold Blooded more useful.
XP Loss is rounded up.
Unit with 3 XP for instance will still lose 1 XP


Promotion Pack updated
 
Perceptive Trait


Haven't really done a trait on espionage, so there it is.
Simple one
 
Yup, anything in python is definitely doable in SDK.
The question is how easy it is to do in python VS SDK for a simple thing like promotion or SDK.

If it is just a simple trait and requires SDK for common users, they will find it difficult to merge with other mods they are using, since they have to:
1) Download a new program to do the coding and compiling
2) Merge and compile, and pray there is no compiling error
3) If there are 2 SDK mods that use the same area, then pray they can understand what the coders are writing and merge the 2 mods without conflicting each other effects.

Thus, for a mod, it is definitely OK and better to use SDK, but for simple mod components, don't really make sense.
Some common users already have difficulties using modules or python merging, SDK will kill them off :D

Sure... I understand. I'm not asking you to SDK these tags. Following your python I should be able to for C2C at some point soon.
 
Hmm... Legend is more or less a promotion that makes a strong unit stronger. (At level 12, if it isn't strong, I not sure what kind of promotions it has chosen :D)

The extra XML boost (20% STR and 1 First Strike) comes at a cost that you better protect it well.

Of course, if players feel it is too dangerous to have this, instead of granting it as a free award at level 12, you can always set a pre-requisite instead like Combat V, then you take it only if you want the risk. :D

P.S.
That dumb frog looks cute enough
 
Top Bottom