Jump to content

Difficulty settings what do they mean?


Drunkwolf

Recommended Posts

From stomynz

 

int @int = GameStats.GetInt(EnumGameStats.GameDifficulty);
   if (_attacker.IsClientControlled() && !_target.IsClientControlled() && EntityClass.list[_target.entityClass].bIsEnemyEntity)
   {
       switch (@int)
       {
       case 0:
           _strength = Mathf.RoundToInt((float)_strength * 2f);
           break;
       case 1:
           _strength = Mathf.RoundToInt((float)_strength * 1.5f);
           break;
       case 3:
           _strength = Mathf.RoundToInt((float)_strength * 0.83f);
           break;
       case 4:
           _strength = Mathf.RoundToInt((float)_strength * 0.66f);
           break;
       case 5:
           _strength = Mathf.RoundToInt((float)_strength * 0.5f);
           break;
       }
   }
   else
   {
       switch (@int)
       {
       case 0:
           _strength = Mathf.RoundToInt((float)_strength * 0.5f);
           break;
       case 1:
           _strength = Mathf.RoundToInt((float)_strength * 0.75f);
           break;
       case 3:
           _strength = Mathf.RoundToInt((float)_strength * 1.5f);
           break;
       case 4:
           _strength = Mathf.RoundToInt((float)_strength * 2f);
           break;
       case 5:
           _strength = Mathf.RoundToInt((float)_strength * 2.5f);
           break;
       }
   }

Link to comment
Share on other sites

From stomynz

 

int @int = GameStats.GetInt(EnumGameStats.GameDifficulty);
   if (_attacker.IsClientControlled() && !_target.IsClientControlled() && EntityClass.list[_target.entityClass].bIsEnemyEntity)
   {
       switch (@int)
       {
       case 0:
           _strength = Mathf.RoundToInt((float)_strength * 2f);
           break;
       case 1:
           _strength = Mathf.RoundToInt((float)_strength * 1.5f);
           break;
       case 3:
           _strength = Mathf.RoundToInt((float)_strength * 0.83f);
           break;
       case 4:
           _strength = Mathf.RoundToInt((float)_strength * 0.66f);
           break;
       case 5:
           _strength = Mathf.RoundToInt((float)_strength * 0.5f);
           break;
       }
   }
   else
   {
       switch (@int)
       {
       case 0:
           _strength = Mathf.RoundToInt((float)_strength * 0.5f);
           break;
       case 1:
           _strength = Mathf.RoundToInt((float)_strength * 0.75f);
           break;
       case 3:
           _strength = Mathf.RoundToInt((float)_strength * 1.5f);
           break;
       case 4:
           _strength = Mathf.RoundToInt((float)_strength * 2f);
           break;
       case 5:
           _strength = Mathf.RoundToInt((float)_strength * 2.5f);
           break;
       }
   }

 

I appreciate the help but i dont know what any of that means.

Link to comment
Share on other sites

Oh, sorry. It was the most info I had handy at the time.

 

Basically the different levels apply a different multiple to different aspects, like zombie hit points.

 

Easy is half of normal, hardest is 2.5 times normal.

 

nevermind i had to mouse over it and it told me ! haha ok thanks for trying to help me

Link to comment
Share on other sites

Oh, sorry. It was the most info I had handy at the time.

 

Basically the different levels apply a different multiple to different aspects, like zombie hit points.

 

Easy is half of normal, hardest is 2.5 times normal.

 

O-o nomad is not 100% dmg? Intersting.

Link to comment
Share on other sites

Oh, sorry. It was the most info I had handy at the time.

 

Basically the different levels apply a different multiple to different aspects, like zombie hit points.

 

Easy is half of normal, hardest is 2.5 times normal.

 

 

Does game difficulty affect the numbers of randomly spawning zombies ..or are we just stuck with very many?

Link to comment
Share on other sites

I'm not 100% sure, but I don't think so.

 

When you look at say, the trailer parks sleeper volume spawns, you see this:

 

<?xml version="1.0" encoding="UTF-8"?>
<prefab>
   <property name="CopyAirBlocks" value="True" />
   <property name="AllowTopSoilDecorations" value="False" />
   <property name="Zoning" value="ResidentialOld" />
   <property name="RotationToFaceNorth" value="2" />
   <property name="AllowedTownships" value="city,town,rural,wilderness" />
   <property name="YOffset" value="-1" />
   <property name="TraderArea" value="False" />
   <property name="ExcludeDistantPOIMesh" value="False" />
   <property name="SleeperVolumeSize" value="44, 8, 44#15, 6, 7#15, 5, 7#15, 6, 7#15, 6, 7#15, 7, 7#15, 6, 7" />
   <property name="SleeperVolumeStart" value="0, 0, 0#3, 1, 6#3, 1, 20#26, 1, 3#26, 1, 17#3, 0, 34#26, 1, 31" />
   <property name="SleeperVolumeGroup" value="S_-Group_Generic_Zombie,5,6,S_-Group_Generic_Zombie,3,4,S_-Group_Generic_Zombie,3,4,S_-Group_Generic_Zombie,3,4,S_-Group_Generic_Zombie,3,4,S_-Group_Generic_Zombie,3,4,S_-Group_Generic_Zombie,3,4" />
   <property name="SleeperVolumeGameStageAdjust" value=",,,,,," />
   <property name="SleeperIsLootVolume" value="False,True,True,True,True,True,True" />
   <property name="DistantPOIYOffset" value="0" />
   <property name="EditorGroups" value="house old" />
   <property name="SleeperIsBossVolume" value="False,False,False,False,False,False,False" />
   <property name="DifficultyTier" value="1" />
   <property name="ExcludePOICulling" value="False" />
</prefab>

 

...so it has 7 volumes (separated by the # sign) designating their size, then coordinates. If you're facing north towards the prefab, 0,0,0 is the lowest corner on the southwest of the prefab. So the volume that starts there goes x 44, y 8 and z 44 (y is up/down).

 

What's KEY is the line that talks about which groups to call, in this case, each volume uses "S_-Group_Generic_Zombie".

 

THAT group calls SleeperGSList, which is a generic list of zombies that you'll get, depending on your gamestage.

 

Now, what's new are those numbers next to the group name, and my best guess is the min/max count. Gazz hasn't updated that section of xml.txt yet.

 

Bottom line, I don't see anything that would make difficulty level affect the NUMBER of zombies in a volume, just the type, due to the gamestage calculation, which is:

 

gameStage = ( playerLevel + daysSurvived ) * gameDifficultyMultiplier

 

used with:

 

daysAliveChangeWhenKilled="2"

 

scavengerGameDifficultyBonus="1.0"

adventurerGameDifficultyBonus="1.2"

nomadGameDifficultyBonus="1.5"

warriorGameDifficultyBonus="1.7"

survivalistGameDifficultyBonus="2.0"

insaneGameDifficultyBonus="2.5"

 

startingWeight ="1"

diminishingReturns ="0.2"

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...