Friday, September 9, 2011

Working on Items...

I'm knee deep in items right now, raiding the thesaurus for Diablo style prefix's and suffix's

Here's all the weapon prefix's thus far:
public function genWeaponPrefix(roll:Number, level:Number):String
        {
            if (roll > 0.90)
            {
                stats.levelReq += 1;
                stats.skillBaseDamage = 1;
                stats.skillRateOfFire = 1;
                stats.red += 1;
                stats.green += 1;
                stats.blue += 1;
                stats.value += 300;
                return "Blaster's ";
            }
            else if (roll > 0.8)
            {
                stats.levelReq += 1;
                stats.skillBaseDamage = 1;
                stats.red += 0.5;
                stats.green += 0.5;
                stats.blue += 0.5;
                stats.value += 400;
                return "Marksman's ";
            }
            //RATE OF FIRE
            else if (roll > 0.78 && level >= 20)
            {
                stats.levelReq += 5;
                stats.skillRateOfFire = 5;
                stats.red += 0.6;
                stats.green += 0.6;
                stats.blue += 0.6;
                stats.value += 1000;
                return "Hair-trigger ";
            }
            else if (roll > 0.76 && level >= 15)
            {
                stats.levelReq += 4;
                stats.skillRateOfFire = 4;
                stats.red += 0.7;
                stats.green += 0.7;
                stats.blue += 0.7;
                stats.value += 10000;
                return "Breakneck ";
            }
            else if (roll > 0.74 && level >= 10)
            {
                stats.levelReq += 3;
                stats.skillRateOfFire = 3;
                stats.red += 0.7;
                stats.green += 0.7;
                stats.blue += 0.7;
                stats.value += 5000;
                return "Automatic ";
            }
            else if (roll > 0.72 && level >= 5)
            {
                stats.levelReq += 2;
                stats.skillRateOfFire = 2;
                stats.red += 0.6;
                stats.green += 0.6;
                stats.blue += 0.6;
                stats.value += 1000;
                return "Nimble ";
            }
            else if (roll > 0.7)
            {
                stats.levelReq += 1;
                stats.skillRateOfFire = 1;
                stats.red += 0.5;
                stats.green += 0.5;
                stats.blue += 0.5;
                stats.value += 400;
                return "Quick ";
            }
            //DAMAGE
            else if (roll > 0.68 && level >= 15)
            {
                stats.levelReq += 4;
                stats.attack.minDamage += 5;
                stats.attack.maxDamage += 15;
                stats.red += 1;
                stats.green -= 0.4;
                stats.blue -= 0.4;
                stats.value += 5000;
                return "Vorpal ";
            }
            else if (roll > 0.65 && level >= 12)
            {
                stats.levelReq += 3;
                stats.attack.minDamage += 2;
                stats.attack.maxDamage += 12;
                stats.red += 0.8;
                stats.green -= 0.2;
                stats.blue -= 0.2;
                stats.value += 1000;
                return "Leathal ";
            }
            else if (roll > 0.62 && level >= 9)
            {
                stats.levelReq += 3;
                stats.attack.minDamage += 4;
                stats.attack.maxDamage += 9;
                stats.red += 0.7;
                stats.value += 1000;
                return "Deadly ";
            }
            else if (roll > 0.58 && level >= 6)
            {
                stats.levelReq += 2;
                stats.attack.minDamage += 1;
                stats.attack.maxDamage += 8;
                stats.red += 0.5;
                stats.value += 250;
                return "Savage ";
            }
            else if (roll > 0.54 && level >= 4)
            {
                stats.levelReq += 2;
                stats.attack.minDamage += 2;
                stats.attack.maxDamage += 5;
                stats.red += 0.5;
                stats.value += 250;
                return "Brutal ";
            }
            else if (roll > 0.5)
            {
                stats.levelReq += 1;
                stats.attack.minDamage += 1;
                stats.attack.maxDamage += 3;
                stats.red += 0.3;
                stats.value += 100;
                return "Strong ";
            }
            //COLD
            else if (roll > 0.49 && level >= 20)
            {
                stats.levelReq += 5;
                stats.attack.minCold += 10;
                stats.attack.maxCold += 20;
                stats.red -= 0.5;
                stats.green -= 0.5;
                stats.blue += 1;
                stats.value += 10000;
                return "Hyperborean ";
            }
            else if (roll > 0.47 && level >= 16)
            {
                stats.levelReq += 4;
                stats.attack.minCold += 4;
                stats.attack.maxCold += 13;
                stats.red -= 0.2;
                stats.green -= 0.2;
                stats.blue += 0.8;
                stats.value += 5000;
                return "Glacial ";
            }
            else if (roll > 0.46 && level >= 12)
            {
                stats.levelReq += 3;
                stats.attack.minCold += 2;
                stats.attack.maxCold += 12;
                stats.blue += 0.7;
                stats.value += 1000;
                return "Arctic ";
            }
            else if (roll > 0.45 && level >= 9)
            {
                stats.levelReq += 3;
                stats.attack.minCold += 3;
                stats.attack.maxCold += 8;
                stats.blue += 0.65;
                stats.value += 1000;
                return "Frigid ";
            }
            else if (roll > 0.44 && level >= 6)
            {
                stats.levelReq += 2;
                stats.attack.minDamage += 1;
                stats.attack.maxDamage += 6;
                stats.blue += 0.5;
                stats.value += 500;
                return "Cold ";
            }
            else if (roll > 0.44 && level >= 5)
            {
                stats.levelReq += 2;
                stats.attack.minCold += 2;
                stats.attack.maxCold += 4;
                stats.blue += 0.45;
                stats.value += 500;
                return     "Icey ";
            }
            else if (roll > 0.42 && level >= 4)
            {
                stats.levelReq += 2;
                stats.attack.minCold += 1;
                stats.attack.maxCold += 3;
                stats.blue += 0.3;
                stats.value += 150;
                return "Chilly ";
            }
            else if (roll > 0.4)
            {
                stats.levelReq += 1;
                stats.attack.minCold += 1;
                stats.attack.maxCold += 1;
                stats.blue += 0.3;
                stats.value += 50;
                return "Nippy ";
            }
            //FIRE
            else if (roll > 0.39 && level >= 22)
            {
                stats.levelReq += 5;
                stats.attack.minFire += 15;
                stats.attack.maxFire += 30;
                stats.red += 1;
                stats.green += 0.6;
                stats.blue -= 0.6;
                stats.value += 15000;
                return "Hellfire ";
            }
            else if (roll > 0.38 && level >= 18)
            {
                stats.levelReq += 4;
                stats.attack.minFire += 8;
                stats.attack.maxFire += 20;
                stats.red += 0.9;
                stats.green += 0.5;
                stats.blue -= 0.4;
                stats.value += 8000;
                return "Vulcan ";
            }
            else if (roll > 0.37 && level >= 15)
            {
                stats.levelReq += 3;
                stats.attack.minFire += 5;
                stats.attack.maxFire += 15;
                stats.red += 0.8;
                stats.green += 0.4;
                stats.blue -= 0.3;
                stats.value += 2500;
                return "Blazing ";
            }
            else if (roll > 0.36 && level >= 10)
            {
                stats.levelReq += 3;
                stats.attack.minFire += 1;
                stats.attack.maxFire += 12;
                stats.red += 0.6;
                stats.green += 0.3;
                stats.blue -= 0.3;
                stats.value += 800;
                return "Flaming ";
            }
            else if (roll > 0.35 && level >= 9)
            {
                stats.levelReq += 2;
                stats.attack.minFire += 3;
                stats.attack.maxFire += 8;
                stats.red += 0.5;
                stats.green += 0.25;
                stats.blue -= 0.25
                stats.value += 800;
                return "Scalding ";
            }
            else if (roll > 0.34 && level >= 6)
            {
                stats.levelReq += 2;
                stats.attack.minFire += 1;
                stats.attack.maxFire += 6;
                stats.red += 0.5;
                stats.green += 0.25;
                stats.value += 400;
                return "Firey ";
            }
            else if (roll > 0.32)
            {
                stats.levelReq += 1;
                stats.attack.minFire += 1;
                stats.attack.maxFire += 3;
                stats.red += 0.4;
                stats.green += 0.2;
                stats.value += 100;
                return "Hot ";
            }
            else if (roll > 0.3)
            {
                stats.levelReq += 1;
                stats.attack.minFire += 1;
                stats.attack.maxFire += 1;
                stats.red += 0.3;
                stats.green += 0.1;
                stats.value += 50;
                return "Toasty ";
            }
            //ELECTRIC
            else if (roll > 0.29 && level >= 22)
            {
                stats.levelReq += 5;
                stats.attack.minElectric += 15;
                stats.attack.maxElectric += 30;
                stats.red += 1;
                stats.green += 1;
                stats.blue -= 0.6;
                stats.value += 15000;
                return "Voltaic ";
            }
            else if (roll > 0.28 && level >= 18)
            {
                stats.levelReq += 4;
                stats.attack.minElectric += 8;
                stats.attack.maxElectric += 20;
                stats.red += 0.9;
                stats.green += 0.9;
                stats.blue -= 0.4;
                stats.value += 8000;
                return "Scintillating ";
            }
            else if (roll > 0.27 && level >= 15)
            {
                stats.levelReq += 3;
                stats.attack.minElectric += 5;
                stats.attack.maxElectric += 15;
                stats.red += 0.8;
                stats.green += 0.8;
                stats.blue -= 0.3;
                stats.value += 2500;
                return "Lightning ";
            }
            else if (roll > 0.26 && level >= 10)
            {
                stats.levelReq += 3;
                stats.attack.minElectric += 1;
                stats.attack.maxElectric += 12;
                stats.red += 0.6;
                stats.green += 0.6;
                stats.blue -= 0.3;
                stats.value += 800;
                return "Brilliant ";
            }
            else if (roll > 0.25 && level >= 9)
            {
                stats.levelReq += 2;
                stats.attack.minElectric += 3;
                stats.attack.maxElectric += 8;
                stats.red += 0.5;
                stats.green += 0.5;
                stats.blue -= 0.25
                stats.value += 800;
                return "Electric ";
            }
            else if (roll > 0.24 && level >= 6)
            {
                stats.levelReq += 2;
                stats.attack.minElectric += 1;
                stats.attack.maxElectric += 6;
                stats.red += 0.5;
                stats.green += 0.5;
                stats.value += 400;
                return "Spark ";
            }
            else if (roll > 0.22)
            {
                stats.levelReq += 1;
                stats.attack.minElectric += 1;
                stats.attack.maxElectric += 3;
                stats.red += 0.4;
                stats.green += 0.2;
                stats.value += 100;
                return "Shocking ";
            }
            else if (roll > 0.2)
            {
                stats.levelReq += 1;
                stats.attack.minElectric += 1;
                stats.attack.maxElectric += 1;
                stats.red += 0.3;
                stats.green += 0.3;
                stats.value += 100;
                return "Static ";
            }
            //KNOCKBACK
            else if (roll > 0.1)
            {
                stats.levelReq += 1;
                stats.attack.knockback = 100;
                stats.green += 0.3;
                stats.blue += 0.3;
                stats.value += 100;
                return "Gust ";
            }
            //OPTION BOT
            else if (roll > 0)
            {
                stats.levelReq += 2;
                stats.skillOptionBot = 1;
                stats.red += 0.3;
                stats.blue += 0.3;
                stats.value += 400;
                return "Helpful ";
            }
            return "Glitched ";
        }
Whew!!! I realize the way that's written right now, certain prefixes will generate far more often based on the level of the drop. For instances, drops less than level 6 would generate "Hot" weapons far more often than "Toasty" weapons. I'm not sure yet whether or not this will effect game-play negative  or become noticeably redundant... but if it is I might add a weighted modifier for level in addition to the checks or... I'm not sure... I'll figure it out.

Back to it...

No comments:

Post a Comment

Followers