Reign of the Undead - Revolution
Pink ORB - MIxed - Printable Version

+- Reign of the Undead - Revolution (https://modszombies.com)
+-- Forum: Reign of the Undead (https://modszombies.com/forum-Reign-of-the-Undead)
+--- Forum: Bugs (https://modszombies.com/forum-Bugs--23)
+--- Thread: Pink ORB - MIxed (/thread-Pink-ORB-MIxed)



Pink ORB - MIxed - Forau - 08-23-2016

These pink fuckers aint targeting just 1 player ....?
Standing on a med kit and still after 20 seconds play i died (still on medkit)

Just left the game due to it


RE: Pink ORB - MIxed - Soldier . . . - 08-23-2016

The Pink indicate that they are ladylike.
And ladies just love a handsome doctor... Forau Wink

Now seriously.
I do agree/have the feeling that medics are targeted more by the blue and the pink balls.


RE: Pink ORB - MIxed - fashion - 08-23-2016

The pink lights attacks on 1 player and when hit u pink lights u gonna die dont care if u stay on medkit u die
Medkit is weak .... u need to stay on 2 medkit 1 if no u die Smile


[Image: a59e50ff67.jpeg]


RE: Pink ORB - MIxed - fabio - 08-24-2016

(08-23-2016, 10:41 PM)Soldier . . . Wrote: I do agree/have the feeling that medics are targeted more by the blue and the pink balls.

You're feeling is wrong then.. The balls always target a random player..


RE: Pink ORB - MIxed - West - 08-24-2016

Yep, Fabio is right. They target random players, so if you're unlucky you'll have 2 or 3 balls following you (that means you'll die anyway). BTW they can stuck so they'll look like one (talking about those pink balls).


RE: Pink ORB - MIxed - Forau - 08-24-2016

How come i died of 3 of them at once this morning after 60 sec of mixed?

Suggestion :
1 zomb can only shot out 1 orb, not 2, not 3... then one can take multiple hits in a row,
not at once.


@ Soldier,
Im making a sex transplant
1



Regards Mr F(ed up).


RE: Pink ORB - MIxed - Soldier . . . - 08-24-2016

I have completely lost the faith in the randomness of the random generator of CoD a long time a go already.

Here a better algorithm to generate a random value.
You can try to implement this one and use it instead of the one of CoD.
If you have time and like to do it of course Wink

Code:
static unsigned int m_z = 12434;
static unsigned int m_w = 33254;


// random generator -----------------------------------------------
unsigned int random (unsigned int iSize)
{
    static unsigned int iRandOld = 0;
    
    m_z = 36969 * (m_z & 65535) + (m_z >> 16);
    m_w = 18000 * (m_w & 65535) + (m_w >> 16);
    
    if (iRandOld == (((m_z << 16) + m_w) % iSize))
    {
        m_z = 36969 * (m_z & 65535) + (m_z >> 16);
        m_w = 18000 * (m_w & 65535) + (m_w >> 16);
    }
    
    iRandOld = ((m_z << 16) + m_w) % iSize;
    
    return (iRandOld);
}

examples:
Quote:number of random generator function calls checked: 2000000
number of unique values that can be created: 4

first 2 numbers match to start: 156345
first 3 numbers match to start: 48804
first 4 numbers match to start: 15167
first 5 numbers match to start:  4740

first 2 numbers are equal: 124969,   6.25%
first 3 numbers are equal:   7858,   0.39%
first and third are equal: 593289,  29.66%

  0 = 499519,  24.98%
  1 = 500641,  25.03%
  2 = 499703,  24.99%
  3 = 500137,  25.01%
Quote:number of random generator function calls checked: 2000000
number of unique values that can be created: 5

first 2 numbers match to start: 96245
first 3 numbers match to start: 23215
first 4 numbers match to start:  5652
first 5 numbers match to start:  1361

first 2 numbers are equal:  79299,   3.96%
first 3 numbers are equal:   3070,   0.15%
first and third are equal: 464242,  23.21%

  0 = 399637,  19.98%
  1 = 400140,  20.01%
  2 = 400008,  20.00%
  3 = 400391,  20.02%
  4 = 399824,  19.99%
Quote:number of random generator function calls checked: 4000000
number of unique values that can be created: 7

first 2 numbers match to start: 93256
first 3 numbers match to start: 15404
first 4 numbers match to start:  2533
first 5 numbers match to start:   414

first 2 numbers are equal:  81555,   2.04%
first 3 numbers are equal:   1741,   0.04%
first and third are equal: 641392,  16.03%

  0 = 571390,  14.28%
  1 = 571488,  14.29%
  2 = 571107,  14.28%
  3 = 572189,  14.30%
  4 = 571982,  14.30%
  5 = 570435,  14.26%
  6 = 571409,  14.29%
Quote:number of random generator function calls checked: 4000000
number of unique values that can be created: 21

first 2 numbers match to start:  9555
first 3 numbers match to start:   492
first 4 numbers match to start:    32
first 5 numbers match to start:     3

first 2 numbers are equal:   9047,   0.23%
first 3 numbers are equal:     17,   0.00%
first and third are equal: 198405,   4.96%

  0 = 190227,   4.76%
  1 = 190142,   4.75%
  2 = 190308,   4.76%
  3 = 191151,   4.78%
  4 = 190740,   4.77%
  5 = 189281,   4.73%
  6 = 190797,   4.77%
  7 = 190227,   4.76%
  8 = 190962,   4.77%
  9 = 190001,   4.75%
 10 = 190175,   4.75%
 11 = 190247,   4.76%
 12 = 190459,   4.76%
 13 = 190224,   4.76%
 14 = 191017,   4.78%
 15 = 190687,   4.77%
 16 = 190621,   4.77%
 17 = 190686,   4.77%
 18 = 191104,   4.78%
 19 = 190438,   4.76%
 20 = 190506,   4.76%



RE: Pink ORB - MIxed - fabio - 08-26-2016

Uuuuh this looks cool.

I'm going to implement this. Let's see if we can see a difference..


RE: Pink ORB - MIxed - Soldier . . . - 08-26-2016

It is based on a Multiply With Carry generator and I added a extra, which makes the chance that the value is the same as the previous one, a lot smaller.
Do note that the constant and (sometimes) the start numbers can make or brake the randomness!

The variable iSize is the max value  - 1 it can select from.
So if iSize = 16, the return value will be between 0 and 15.

Made a little change: If both variable "m_z" and "m_w" become 0 at the same time. The output will always be 0. (something that we don't want Wink )

Code:
unsigned int random (unsigned int iSize)
{
    static unsigned int m_z = 12434;
    static unsigned int m_w = 33254;
    static unsigned int iRandOld = 0;
    
    m_z = 36969 * (m_z & 65535) + (m_z >> 16);
    m_w = 18000 * (m_w & 65535) + (m_w >> 16);
    
    if (iRandOld == (((m_z << 16) + m_w) % iSize))
    {
        m_z = 36969 * (m_z & 65535) + (m_z >> 16);
        m_w = 18000 * (m_w & 65535) + (m_w >> 16);
    }
    
    if ((m_z == 0) && (m_w == 0))
        {m_z = 12434;}
    
    iRandOld = ((m_z << 16) + m_w) % iSize;
    
    return (iRandOld);
}

note:
The variable "m_z", "m_w" and "iRandOld" need to be saved in a way that they wont get cleared.
(in 'c/c++' static enables you to save the declared variable outside the function)


RE: Pink ORB - MIxed - fabio - 08-26-2016

Thanks Soldier, I think I know how to implement it.

Actually I'm a C++ Developer in my Company, so this shouldn't be a problem hehe Tongue

Additionally CoD UO GSC is based on C++... Should work 1


Thanks!