C2C: Promotions

I forgot that I had stuff for the Andromeda Strain. That is not your usual alien as it could just be a super virus.

Good, i have wanted this in C2C for over 2 yeas now, so lets me know what you need, i believe i have it also someplace on my PC.
 
Okay, I cannot for the life of me figure out where the code is for the promotion "Marauder", the one that gives "4% of enemy :gold: reserves on combat victory". Any ideas? :confused:
 
Okay, I cannot for the life of me figure out where the code is for the promotion "Marauder", the one that gives "4% of enemy :gold: reserves on combat victory". Any ideas? :confused:

Depends on what you want, i have it in about 3-4 different python areas.
 
I added 6 new promotions to the SVN for workers. This is about all I intend to do for terrain work modifiers. I do plan to add new tags for general work modifiers as well as potentially a tag for improvements. The latter would be quite hard though.
 
I added 6 new promotions to the SVN for workers. This is about all I intend to do for terrain work modifiers. I do plan to add new tags for general work modifiers as well as potentially a tag for improvements. The latter would be quite hard though.

Hold off on this. I've still got those edits coming in. I'm finally getting the bugs sorted out and should have them in this weekend.
 
Hold off on this. I've still got those edits coming in. I'm finally getting the bugs sorted out and should have them in this weekend.

I'm being forcibly held off by server issues at Sourceforge, but I'd like to know what you mean by 'those edits'. It seems like you want to try and take over and change what I've made without telling me what you are doing beforehand.
 
In how many posts have I addressed this issue already?

You'd asked me to review your changes. I said I would. You only made them for promotions. I said I'd show you, in code, how it should've been done since it would be easier that way and from there I figure you'll have down how to establish a tag on a unit and build onto it with a promo tag - so its basically just feedback.

Part of this involves changing the naming of the tag a little so it conforms to rather important naming conventions that helps to keep the variables nicely organized and converting it to the non-array method AIAndy insisted we utilize over array pairing, which was employed here.

While I said before that the tags as labeled wouldn't work correctly after the push, I've gone further out of the way to be courteous and make these changes compatible so that the original tag(s) can remain in use.

Due to the naming convention and load methods alone, the current implementation of those tags should be replaced eventually but I figured I wouldn't enforce the new tags to replace anything you've developed so far right away, in particular so you don't have any complaints about me messing with your files. This was also simply to show some respect for what you've done there.

However, I've added the Build Modifier (which allows you to specify given improvements for a build speed modifier) along side them so you can see a more pure example of the process that doesn't involve having to also plug in the numbers from your tags. So I'm warning here that any further effort to get that in would be a waste as its already done.

And I've found your work on the project for the most part great, so you've made anything I had to do there basically a no-brainer, particularly where the ai side of it is concerned. You did very well on a lot of this and you just seemed a bit confused on how to get the inherent value on the unit to combine with the promotion and its easier to show than it is to tell. I'm honestly just trying to be helpful here.

I told you about this before the freeze. I told you I was trying to get it in before the freeze. You asked me to hold it off but that turned out to be a moot point since it was part of a larger project that I've been struggling to debug ever since.

For the most part I have the bugs on the other sides of that project mostly confirmed as sorted out so by this weekend this should be committed to the SVN, which I had told you two weeks ago it would be but those bugs have been some of the toughest I've had to sort out yet. So this delay seems to have caused you to forget everything we've discussed on this subject so far apparently. I'm not trying to take over, just share what I've learned about the unit/promotion relationship so far.
 
I also dont like this idea. Its stops my worker when it is on automate mode. It is annoying.
 
Is there a way to switch off worker promotions?

Not at the moment. It is work in progress.

I also dont like this idea. Its stops my worker when it is on automate mode. It is annoying.

I agree. It almost makes me want to turn on auto promote for workers. It does not help that the first promotion available is for terrain that does not appear in my national borders.
 
Both reasons that a non-exp/non-selection based method for rewarding workers with promos would've been superior. Track rounds they've done particular jobs and add to pools of achievement points that directly and automatically earn promos according to what they've been used for so far. At some point I'll be happy to set that up but for those who feel as my wife does, either way we need an option to not have them at all I think.
 
In how many posts have I addressed this issue already?

You'd asked me to review your changes. I said I would. You only made them for promotions. I said I'd show you, in code, how it should've been done since it would be easier that way and from there I figure you'll have down how to establish a tag on a unit and build onto it with a promo tag - so its basically just feedback.

Part of this involves changing the naming of the tag a little so it conforms to rather important naming conventions that helps to keep the variables nicely organized and converting it to the non-array method AIAndy insisted we utilize over array pairing, which was employed here.

While I said before that the tags as labeled wouldn't work correctly after the push, I've gone further out of the way to be courteous and make these changes compatible so that the original tag(s) can remain in use.

Due to the naming convention and load methods alone, the current implementation of those tags should be replaced eventually but I figured I wouldn't enforce the new tags to replace anything you've developed so far right away, in particular so you don't have any complaints about me messing with your files. This was also simply to show some respect for what you've done there.

However, I've added the Build Modifier (which allows you to specify given improvements for a build speed modifier) along side them so you can see a more pure example of the process that doesn't involve having to also plug in the numbers from your tags. So I'm warning here that any further effort to get that in would be a waste as its already done.

And I've found your work on the project for the most part great, so you've made anything I had to do there basically a no-brainer, particularly where the ai side of it is concerned. You did very well on a lot of this and you just seemed a bit confused on how to get the inherent value on the unit to combine with the promotion and its easier to show than it is to tell. I'm honestly just trying to be helpful here.

I told you about this before the freeze. I told you I was trying to get it in before the freeze. You asked me to hold it off but that turned out to be a moot point since it was part of a larger project that I've been struggling to debug ever since.

For the most part I have the bugs on the other sides of that project mostly confirmed as sorted out so by this weekend this should be committed to the SVN, which I had told you two weeks ago it would be but those bugs have been some of the toughest I've had to sort out yet. So this delay seems to have caused you to forget everything we've discussed on this subject so far apparently. I'm not trying to take over, just share what I've learned about the unit/promotion relationship so far.

So basically you decided to take over my work and change it all when there was really nothing wrong with it (aside from my inability to remember to add save/load code)? Why was that necessary? How would you like it if I just took over one of your projects and changed it all to my liking, and then said it was better? I can understand your issues with tag-pairing, but that is already used extensively for combat and so I see no reason not to use it for work too. Honestly, are we going to rewrite all of that stuff to save a couple MBs at most of RAM?

I had started to trust your plans and judgement a little bit, but this certainly isn't helping. :(

Also, what is this other 'big project' that you speak of?
Is there a way to switch off worker promotions?

No. No more than there is a way to stop other units from getting promotions. There probably is a way though to make the workers not stop automating when a promotion becomes available.
 
So basically you decided to take over my work and change it all when there was really nothing wrong with it (aside from my inability to remember to add save/load code)? Why was that necessary? How would you like it if I just took over one of your projects and changed it all to my liking, and then said it was better? I can understand your issues with tag-pairing, but that is already used extensively for combat and so I see no reason not to use it for work too. Honestly, are we going to rewrite all of that stuff to save a couple MBs at most of RAM?

I had started to trust your plans and judgement a little bit, but this certainly isn't helping.

Sigh... When you are able to review the way I've gone about setting things up there you'll be able to see what I mean. Naming conventions matter. You basically named the promotion tags as if they were unit tags and that is incorrect. You did not set up the structure so that units can have innate ability without being assigned free promotions and that's just not the way to go about this when its avoidable.

Furthermore there are key words that should be used in establishing a tag like this that clue in those following the code to understand more things and the simplistic naming you've given it ignores these conventions. That last part is not a big deal no matter how you look at it but there is ONE part of the wording that needed to be in there to avoid the clash of assumption that the tag was for a unit rather than for a promotion. (That extra special key word btw is simply the word 'Change' at the end of the tag.) The requirement for that simple adjustment of naming on the tag in and of itself enforced the need to break from the current tag implementation. That simple.

I'm not trying to 'take over'... you asked for the review and this is how I'm giving feedback. I figure from here you'll know how to properly go about the same type of task once you understand the reasons for the changes I made, which are not truly extensive at all. You ask how I'd like it, and to be honest, Koshling has done this for me (which I've greatly appreciated), and AIAndy has tried to TELL me a lot of how I should restructure things and at times has then gone in and worked out an entirely differing method to accomplish the same thing in a superior way (which I've also greatly appreciated as humbling as it may be ;) ).

I MUCH prefer the 'go ahead and change it in code so I can SEE the difference' approach over the 'TELLING me how to completely rewrite everything I've done' approach. This makes things apparent at a much deeper level and doesn't involve a struggle to understand programmer terminology while the second is useful but extraordinarily frustrating to follow. Just relax and see what I mean on my next update, k?

Seriously... I'm trying to be a good team player here while ensuring some integrity of the conventions of the existing coding so we don't leave a mess for those who may follow in our footsteps. There's already a lot of that and although I'm sure I've added my share, where I KNOW how to avoid it I strive to.

The 'big project' is mostly just a lot of tags that will be further explained soon. Most are the requests of other members on the team.
 
Sigh... When you are able to review the way I've gone about setting things up there you'll be able to see what I mean. Naming conventions matter. You basically named the promotion tags as if they were unit tags and that is incorrect. You did not set up the structure so that units can have innate ability without being assigned free promotions and that's just not the way to go about this when its avoidable.

Furthermore there are key words that should be used in establishing a tag like this that clue in those following the code to understand more things and the simplistic naming you've given it ignores these conventions. That last part is not a big deal no matter how you look at it but there is ONE part of the wording that needed to be in there to avoid the clash of assumption that the tag was for a unit rather than for a promotion. (That extra special key word btw is simply the word 'Change' at the end of the tag.) The requirement for that simple adjustment of naming on the tag in and of itself enforced the need to break from the current tag implementation. That simple.

I'm not trying to 'take over'... you asked for the review and this is how I'm giving feedback. I figure from here you'll know how to properly go about the same type of task once you understand the reasons for the changes I made, which are not truly extensive at all. You ask how I'd like it, and to be honest, Koshling has done this for me (which I've greatly appreciated), and AIAndy has tried to TELL me a lot of how I should restructure things and at times has then gone in and worked out an entirely differing method to accomplish the same thing in a superior way (which I've also greatly appreciated as humbling as it may be ;) ).

I MUCH prefer the 'go ahead and change it in code so I can SEE the difference' approach over the 'TELLING me how to completely rewrite everything I've done' approach. This makes things apparent at a much deeper level and doesn't involve a struggle to understand programmer terminology while the second is useful but extraordinarily frustrating to follow. Just relax and see what I mean on my next update, k?

Seriously... I'm trying to be a good team player here while ensuring some integrity of the conventions of the existing coding so we don't leave a mess for those who may follow in our footsteps. There's already a lot of that and although I'm sure I've added my share, where I KNOW how to avoid it I strive to.

The 'big project' is mostly just a lot of tags that will be further explained soon. Most are the requests of other members on the team.

OK, I think there have been some misunderstandings here. I just wanted you to look at the code and tell me if it had issues, not go and rewrite it yourself. If the only thing wrong was naming then I could very easily have used Visual Studio's Refactoring tools to change that quickly, and do that before V29. Now I'll have to redo all of my XML to work around these new changes.

I'm always open to advice from the better C++ people, but I think that the amount of work needed to convert those expensive arrays into vectors is not worth IMO the small amount of memory it saves.

So I miscommunicated my request to you and misunderstood your response. It sounded to me like you wanted to also make new things for improvements and in general, which is something I since last month have been stating I'd like to do. I'm sorry for blowing up at you for this.
 
The xml changes are pretty minor and as stated, I've made the current xml completely compatible with the new tags. Nevertheless, eventually the current xml implementation should be migrated to the new tags as named. I'm happy to leave that to you so that I don't have to manipulate any of your files (though I'm updating your promotion file schema to be helpful.)

Honestly, the vector issue was not a big deal either, but with the naming being a big deal, which I hope once you see the way the promos combine onto the unit base values you'll see why it is, it precluded the need for a renaming that was going to make the xml adjustment necessary anyhow.

However, the vector issue was extremely vexing to me to learn in the first place so I was hoping to help to give you a very clear example of how to utilize it in a similar case for your modding in the future and hopefully it would be easier for you to learn it that way than it was for me to learn it through post driven conversations with AIAndy and Koshling that I underwent.

I'm not really frustrated that you've gotten irritated by this cuz I can understand where you're coming from. What frustrates me is that I explained I'd be doing this within a week of you asking for the review. So this irritation from you seems to be coming from completely ignoring every attempt I've made to communicate to you what I was doing here, even though you responded to those attempts to explain with comments that made it sound as if you understood what was going on here. It's just kinda surprising is all.

Ok, so to be very clear: I added the modifier for Builds (which you're currently calling improvements which is the result of builds. The builds are the missions, the improvements are the results of those missions.) And I added the modifier for Peaks.

These were done so you could have pure examples of the setup on such types of tags without any corruption of method appearing from the attempts I've made to make what you previously did compatible with the end result. I'm NOT trying to take over or take any ownership of this project here... if anything I see this as a team project between us and really, isn't that kinda cool that we're working together on something?

What I have NOT done and am leaving for you to flesh out is a more thorough AI evaluation for the promotions in these cases. I've left some notes for you in the dll to explain the considerations I believe should be taken into account but I'm quite happy to turn that back over to you as I really don't enjoy building these kinds of AI evaluations and I've got a lot more to do.
 
I would like to have some buttons made for these promotions I have come up with, to extend the GG promotion line. Command 1-10 and General Staff 1-10. Of course they should continue indefinitely, so your GG will not top out.
 

Attachments

Back
Top Bottom