Jump to content

leadership and efficiency for single player C&C95/Tiberian Dawn


tommytarzan

Recommended Posts

hi! i know there has been a lot of confusion over the internet concerned with this but i was wondering if anyone can shine light on how best to get maximum scores (100%) for both leadership and efficiency for both GDI missions and for NOD missions on C&C95/Tiberian Dawn. i have formulated SOME of my own theories but if anyone has come to a confirmed solution to achieving maximum scores it would be very helpful to me if they share their wisdom. :D thanks!

Link to comment
Share on other sites

  • 1 month later...

it seems this has not yet been conclusively determined, which is a shame... in other threads, Nyerguds wrote:

 

it's quite different for GDI and Nod... if I remember correctly, for Nod you get higher scores by destroying as few enemy structures as possible to complete the mission goal. I remember playing Nod Death Squad and (after dozens of tries) getting the maximum possible score for it, which was still not 100% because I had to destroy the Advanced Comm Center as mission objective. I really noticed that if I destroyed some extra guard towers the score got lower.

 

I know Efficiency is simply ending with at least as much money as you started with, at least for GDI.

 

BTW, speaking of scores, I noticed that I can only get the 100% economy only if I sell the construction yard in the first GDI mission - I wonder why?

100% = ending with at least as much as you started with.

 

Actually, Nod loses Efficiency score for every enemy building they destroy, for some reason. I noticed this when trying to get maximum score on Nod Death Squad.

 

I have no idea. The information I got is purely from observation, not from looking into the code.

Link to comment
Share on other sites

So my theory for GDI would be:

 

 

Efficiency: credits owned at end of mission compared to credits owned at start of mission. (more or equal to starting money = 100%)

 

Leadership: Units lost compared to units (ever) owned. (no units lost = 100%)

 

 

apparently, it's more complicated for NOD...

 

 

i envision some experiments to try and verify or falsify that theory for GDI and also to get a clue on how it works for NOD.

 

 

considering, these are somewhat strange measurments, maybe you shouldn't even care to get high scores ... because it's not a good measure of skill anyway.

Link to comment
Share on other sites

Hmm, I've never heard of Nod score getting lower with destroyed enemy structures. Actually, this would make sense considering that there's the Engineer unit in the game and that it would be more effective to appropriate enemy materials rather than destroy them.

 

On the other hand, I wonder if it could be a glitch in the code that reduces the score whereas it was intended to increase it?

Link to comment
Share on other sites

but then there's still the concept of carrying over money in a number of missions, which is cool because playing NOD 8 I had saved so much money from NOD 7 (I had like 24000) that I actually didn't need to sell the cy, and so i could spam turrets + guard towers which was cool

Link to comment
Share on other sites

Capturing also counts as destroying. For the Triggers system anyway, so I doubt the score screen would count them differently.

Yeah, I remember that for the triggers "destroyed" actually means "no longer in possession by the original party (either by destruction or capture)". It's just that in Dune II the score screen doesn't count captured enemy structures as destroyed, so I thought that maybe there's something similar in C&C as well.

 

but then there's still the concept of carrying over money in a number of missions

I never realised that the CarryOverMoney thing in the INI files actually works in-game. I've always thought this was some kind of a feature that was never fully implemented and the devs got it right only in Red Alert (where entire missions can saved to continue playing later).

Link to comment
Share on other sites

but then there's still the concept of carrying over money in a number of missions, which is cool because playing NOD 8 I had saved so much money from NOD 7 (I had like 24000) that I actually didn't need to sell the cy, and so i could spam turrets + guard towers which was cool

What about it? It's just an option in the mission file.

Link to comment
Share on other sites

  • 6 years later...

so now we can teel for sure. this is from tib dawn source

    /*
    **    Determine leadership rating.
    */
    unsigned leadership = 0;
    int index;
    for (index = 0; index < Logic.Count(); index++) {
        ObjectClass * object = Logic[index];
        if (object->Owner() == house) {
            leadership++;
        }
    }

    HouseClass *houses[3];
    for (index = 0; index < 3; index++) {
        houses[index] =(HouseClass::As_Pointer((HousesType)(HOUSE_GOOD+index)));
    }

    GKilled  = (HouseClass::As_Pointer(HOUSE_GOOD))->UnitsLost;
    NKilled  = (HouseClass::As_Pointer(HOUSE_BAD))->UnitsLost;
    CKilled  = (HouseClass::As_Pointer(HOUSE_NEUTRAL))->UnitsLost;
    GBKilled = (HouseClass::As_Pointer(HOUSE_GOOD))->BuildingsLost;
    NBKilled = (HouseClass::As_Pointer(HOUSE_BAD))->BuildingsLost;
    CBKilled = (HouseClass::As_Pointer(HOUSE_NEUTRAL))->BuildingsLost;

    /*
    ** New  - ST 6/12/96 2:40PM
    */
    GHarvested = (HouseClass::As_Pointer(HOUSE_GOOD))->HarvestedCredits;
    NHarvested = (HouseClass::As_Pointer(HOUSE_BAD))->HarvestedCredits;

    if (!leadership) leadership++;
    leadership = Cardinal_To_Fixed(GKilled+GBKilled+leadership, leadership);
    leadership = Fixed_To_Cardinal(100, leadership);
    if (leadership > 100) leadership = 100;

    /*
    **    Determine efficiency rating.
    */
    int gharv = GHarvested;
    int init = PlayerPtr->InitialCredits;
    int cred = PlayerPtr->Available_Money();

    unsigned efficiency = Cardinal_To_Fixed( (house == HOUSE_GOOD ? GHarvested : NHarvested) + (unsigned)PlayerPtr->InitialCredits+1, (unsigned)PlayerPtr->Available_Money()+1);
    if (!efficiency) efficiency++;
    efficiency = Fixed_To_Cardinal(100, efficiency);

    if (efficiency > 100) efficiency = 100;
    /*
    ** Calculate total score
    */
    long total = ((leadership * 40) + (4600) + (efficiency * 14))/100;
    if (!total) total++;
    total *= (BuildLevel+1);

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...